Supportnet / Forum / Datenbanken
Berechung im Formular in Tabelle speichern
Frage
Hallo,
ich verwende noch Access 97 und habe da eine kleine Schwierigkeit mit einem Wert, der in einem Formular durch ein ungebundenes Steuerelement angezeigt wird.
Im Formular gibt man in 4 Feldern Zahlenwerte für die Anzahl der Besuchergruppen ein. Anzahl der Kinder, Anz. d. Jugendlichen u.s.w.
In einem 5. Feld werden die 4 vorherigen summiert. Dieser Summenwert ist wichtig, weil er für eine grafische Darstellung mit einem Diagram benötigt wird.
Das Diagramm beruht auf einer Abfrage, welche die
als storniert deklarierten Datensätze aus der Verarbeitung ausschliesst.
Deshalb muss das Feld 5 im Formualr irgendwie gespeichert werden. Ungebundene Felder, die eine Berechung durchführen und das Ergebnis auf dem Formular anzeigen, kann man aber nicht speichern.
Ich habe auch schon versucht in einer Abfrage eine Berechnung durchzuführen. Das funzt aber scheinbar nur für den Inhalt einer Spalte, nicht für die Berechung einer ganzen Zeile.
Habe auch schon versucht, den Wert via Makro an ein gebundenes Steuerelement zu übergeben, habe es aber entwerder nicht richtig gemacht oder es funzt grundsätzlich nicht.
Falls jemand eine Idee hat oder eventuell auch nur einen anderen Ansatz, wie ich den Inhalt mehrerer Felder summieren und speichern kann, würde ich mich freuen, wenn ihr postet.
Viele Dank im Voraus.
Viel Grüße, D.
Antwort 1 von oliverV
Hallo D.,
speichern würde ich das Feld 5 nicht, denn es dient doch nur als Basis für ein Diagramm und kann jederzeit aus der Summe der Felder 1-4 berechnet werden.
Außerdem, wohin willst du das Feld 5 speichern, denn Feld 1-4 werden doch wenn ich dich richtig verstanden habe auch nicht gespeichert, sie dienen lediglich als Kriterium, für deine Diagramm-Abfrage, die du wahrscheinlich aus dem geöffneten Formular heraus öffnest.
Feld 5 berechnest du in der Abfrage, indem du die Abfrage neben deinen ersten 4 Feldern um ein weiteres Feld ergänzt:
Feld5: [Feld1] + [Feld2] + [Feld3] + [Feld4]
Feldnamen musst du natürlich entsprechend deiner Feldnamen anpassen.
Gruß
Oliver
speichern würde ich das Feld 5 nicht, denn es dient doch nur als Basis für ein Diagramm und kann jederzeit aus der Summe der Felder 1-4 berechnet werden.
Außerdem, wohin willst du das Feld 5 speichern, denn Feld 1-4 werden doch wenn ich dich richtig verstanden habe auch nicht gespeichert, sie dienen lediglich als Kriterium, für deine Diagramm-Abfrage, die du wahrscheinlich aus dem geöffneten Formular heraus öffnest.
Feld 5 berechnest du in der Abfrage, indem du die Abfrage neben deinen ersten 4 Feldern um ein weiteres Feld ergänzt:
Feld5: [Feld1] + [Feld2] + [Feld3] + [Feld4]
Feldnamen musst du natürlich entsprechend deiner Feldnamen anpassen.
Gruß
Oliver
Antwort 2 von Knubbel
Hallo D.
Du wirst sicherlich einen Grund haben, warum Feld 5 (berechnetes ungebundenes Steuerelemen) gespeichert werden soll.
Mein Lösungsvorschlag:
*In der Tabelle ein Feld 5A anlegen.
*In dem Formular das Feld 5A plazieren, als sichtbar:Nein formatieren.
*Makro erstellen: SetzenWert, mit den Parametern Element: Feld 5A
Ausdruck: Feld 5
*Dieses Makro binden an das Ereignis z.B. BeiVerlassen Feld 4
Ich hoffe, das bringt dich weiter.
mfg Knubbel
Du wirst sicherlich einen Grund haben, warum Feld 5 (berechnetes ungebundenes Steuerelemen) gespeichert werden soll.
Mein Lösungsvorschlag:
*In der Tabelle ein Feld 5A anlegen.
*In dem Formular das Feld 5A plazieren, als sichtbar:Nein formatieren.
*Makro erstellen: SetzenWert, mit den Parametern Element: Feld 5A
Ausdruck: Feld 5
*Dieses Makro binden an das Ereignis z.B. BeiVerlassen Feld 4
Ich hoffe, das bringt dich weiter.
mfg Knubbel
Antwort 3 von Draighton
@oliverv: Danke für die Idee, wollte es auch erst so machen. Allerdings muss das Diagramm auf einer Abfrage beruhen, weil ich dort durch die Angabe von Kriterien, einige Daten (z.B. Stornos) ausschliessen muss. Und dafür brauche ich diesen Wert abgespeichert.
@Knubbel: Danke für die Lösung. Genauso hatte ich es mir vorgestellt, habe aber bei der Deklarierung wohl einiges falsch gemacht. Aber ein wenig hin und her und nun passt's.
Danke euch beiden für die Anregungen.
Viele Grüße, D.
Antwort 4 von Knubbel
Danke D.
für die Rückmeldung
für die Rückmeldung

