Hallo Jürgen, > > ich habe in Base zu einer Tabelle und einer Abfrage ein Formular als > Eingabemaske erstellt. Da ich mit den eingegebenen Daten Berechnungen > anstelle, > habe ich als Quelle die Abfrage genommen. "Im Prinzip" klappt das gut, > allerdings werden die Berechnungen erst durchgeführt, wenn ich auf den Buttom > "Datensatz speichern" klicke. Da das Prog. erst mal erfahren muß, daß die > Abfrage auch ausgeführt/aktualisiert werden soll, leuchtet mir das noch ein.
Das geht über die Abfrage nicht anders, weil die Daten ja erst hinterher bei der Datenbank landen und dann die Daten aus der Datenbank für die Abfrage wieder verwendet werden. Die Möglichkeit, hierfür eine Abfrage zu verwenden, ist nicht geeignet für Formulare, bei denen Du Daten in Einzelfelder eingibt. Dafür eignet sich bei Datenänderungen und Neueingaben am besten das Tabellenkontrollfeld. Dann siehst Du ja den gerade eingegebenen Datensatz. Du musst so einen Wert über Makros berechnen. So etwas dürfte in etwa so gehen: SUB Eingabekontrolle(oEvent AS OBJECT) oFeld = oEvent.Source oForm = oFeld.Parent oFeld2 = oForm.getByName("Zielfeldname") oFeld2.CurrentValue = oFeld.getCurrentValue / 123456 END SUB Habe ich jetzt nicht weiter ausprobiert. Das Makro schreibt dann den entsprechenden Wert in die Zelle "Zielfeldname" im gleichen Formular wie dem, in dem das Feld liegt. Das Makro sollte z.B. beim Verlassen der Zelle ausgelöst werden. Das Makro schreibt den Wert nicht in eine Datenbank. Dazu musst Du an oFeld2.BoundField.updateDouble(oFeld.getCurrentValue / 123456) gehen, da hiermit dann auch ein Wert an die darunterliegende Tabelle weitergegeben wird. Das ist aber nicht erforderlich, da letztlich doch der Wert sowieso berechnet und nicht abgespeichert wird. Ich hoffe, dass das so hin haut. Mit den direkten Wegen über das auslösende Ereignis habe ich noch nicht so viel Erfahrung. Gruß Robert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert