von WSO » Mo, 17.11.2014 11:11
Hallo RobertG,
danke für die Antwort, es ist wohl doch schwieriger, als ich dachte.
Ich muss etwas ausholen:
Das Formular ist eine Buchungsmaske für eine Finanzbuchhaltung. Keines der Felder ist an ein Datenbankfeld gebunden!
Die eigentliche Verarbeitung ist vollständig in Makros ausgelagert.
Das Formular soll von einem Anwender bedient werden, der kein Buchhalter ist und auch keinen korreten Buchungssatz im betriebswirtschftlichen Sinn formulieren könnte.
Ich habe daher eine Tabelle der vorkommenden Geschäftvorfälle angelegt. Hier ist je Geschäftvorfall der entsprechende Buchungssatz über Parameter logisch definiert.
Programm-Ablauf:
1. In der Buchungsmaske wählt der Anwender einen Geschäftsvorfall aus.
2. Auswahl per Buttom bestätigen: Makro1 wird aufgefufen, liest den Geschäftsvorfall und generiert aus den Parametern die wesentlichen Datenfelder des Buchungssatzes (Kontonummers, Soll/Haben, Kostenstelle, ...) insgesamt ca. 20 Felder.
Diese werden von Makro1 in die Formularbelder geschrieben und können jetzt vom Anwender geprüft, ergänzt, oder überschieben werden.
3. Buttom "Buchen": Makro2 liest die Formularfelder wieder aus und prüft die Daten auf korrekte Syntax.
Falls fehlerfrei, ruft Makro2 das Makro3 auf und übergibt alle Felder als Parameter.
Makro3 führt dann die Buchung durch.
Dieser modulare Aufbau soll so bleiben, insbesondere soll Makro3 unabhängig von der Oberfläche sein (wird von verschiedenen Stellen aufgerufen).
Wenn es nicht möglich sein sollte, meine von Makro1 befüllten Felder mit den korrekten Inhalten aus dem Formular erneut zu lesen brauche ich wohl einen anderen Lösungsansatz: Ich könnte eine neue Tabelle definieren, in der alle Formularfelder enthalten sind, und das Formular auf dieser Tabelle arbeiten lassen. Ich bin diesen Weg nicht gegangen, um die damit verbundenen zusätzlichen DB-Zugriffe zu vermeiden.
Muss ich diesen Weg gehen?
Dank und Gruss,
WSO
Hallo RobertG,
danke für die Antwort, es ist wohl doch schwieriger, als ich dachte.
Ich muss etwas ausholen:
Das Formular ist eine Buchungsmaske für eine Finanzbuchhaltung. Keines der Felder ist an ein Datenbankfeld gebunden!
Die eigentliche Verarbeitung ist vollständig in Makros ausgelagert.
Das Formular soll von einem Anwender bedient werden, der kein Buchhalter ist und auch keinen korreten Buchungssatz im betriebswirtschftlichen Sinn formulieren könnte.
Ich habe daher eine Tabelle der vorkommenden Geschäftvorfälle angelegt. Hier ist je Geschäftvorfall der entsprechende Buchungssatz über Parameter logisch definiert.
Programm-Ablauf:
1. In der Buchungsmaske wählt der Anwender einen Geschäftsvorfall aus.
2. Auswahl per Buttom bestätigen: Makro1 wird aufgefufen, liest den Geschäftsvorfall und generiert aus den Parametern die wesentlichen Datenfelder des Buchungssatzes (Kontonummers, Soll/Haben, Kostenstelle, ...) insgesamt ca. 20 Felder.
Diese werden von Makro1 in die Formularbelder geschrieben und können jetzt vom Anwender geprüft, ergänzt, oder überschieben werden.
3. Buttom "Buchen": Makro2 liest die Formularfelder wieder aus und prüft die Daten auf korrekte Syntax.
Falls fehlerfrei, ruft Makro2 das Makro3 auf und übergibt alle Felder als Parameter.
Makro3 führt dann die Buchung durch.
Dieser modulare Aufbau soll so bleiben, insbesondere soll Makro3 unabhängig von der Oberfläche sein (wird von verschiedenen Stellen aufgerufen).
Wenn es nicht möglich sein sollte, meine von Makro1 befüllten Felder mit den korrekten Inhalten aus dem Formular erneut zu lesen brauche ich wohl einen anderen Lösungsansatz: Ich könnte eine neue Tabelle definieren, in der alle Formularfelder enthalten sind, und das Formular auf dieser Tabelle arbeiten lassen. Ich bin diesen Weg nicht gegangen, um die damit verbundenen zusätzlichen DB-Zugriffe zu vermeiden.
Muss ich diesen Weg gehen?
Dank und Gruss,
WSO