Hallo,
ich habe mir eine Datenbank erstellt und lasse mir die gewünschten Daten in einem Formular anzeigen. Jetzt möchte ich die Daten aus den Formularfeldern (keine Ahnung wie der Fachausdruck ist) in einer Summe anzeigen lassen. Wie bekomme ich es hin, das mir die Summe aus den Feldern in einem Extrafeld auf dem Formular angezeigt wird?
Summe aus Formularfelder bilden
Moderator: Moderatoren
Re: Summe aus Formularfelder bilden
Hallo HansFred,
SELECT "Tabelle".*, "Feld1"+"Feld2" AS "Summe" FROM "Tabelle"
Liefert Dir die Summe in einer Abfrage, die Du gleichzeitig als Eingabe nehmen kannst.
Wenn Du das Ganze direkt während der Eingabe sehen willst, dann musst Du ein Makro schreiben, das die eingegebenen Felder ausliest, das Ganze selbst berechnet und in ein leeres Feld überträgt.
Wenn Du die Summe für eine ganze Gruppe von Daten haben möchtest, dann melde Dich noch einmal. Vielleicht ist es dann das, was bei den Beispieldatenbanken des Handbuches zu LO 4.1 im Beispiel "Saldo_fortlaufend" zu finden ist.
Gruß
Robert
Kommt auf die Konstruktion des Formulars an. Wenn Du mit einem Tabellenkontrollfeld arbeitest, dann kannst Du alles mit einer Abfrage erledigen:HansFred hat geschrieben:Jetzt möchte ich die Daten aus den Formularfeldern (keine Ahnung wie der Fachausdruck ist) in einer Summe anzeigen lassen. Wie bekomme ich es hin, das mir die Summe aus den Feldern in einem Extrafeld auf dem Formular angezeigt wird?
SELECT "Tabelle".*, "Feld1"+"Feld2" AS "Summe" FROM "Tabelle"
Liefert Dir die Summe in einer Abfrage, die Du gleichzeitig als Eingabe nehmen kannst.
Wenn Du das Ganze direkt während der Eingabe sehen willst, dann musst Du ein Makro schreiben, das die eingegebenen Felder ausliest, das Ganze selbst berechnet und in ein leeres Feld überträgt.
Wenn Du die Summe für eine ganze Gruppe von Daten haben möchtest, dann melde Dich noch einmal. Vielleicht ist es dann das, was bei den Beispieldatenbanken des Handbuches zu LO 4.1 im Beispiel "Saldo_fortlaufend" zu finden ist.
Gruß
Robert
Re: Summe aus Formularfelder bilden
Danke für die Antwort.
Leider bin ich totaler laie und habe so gut wie keine Ahnung von Makroprogrammierung. Wie würde ein Makro, das sowas macht, denn aussehen?
Leider bin ich totaler laie und habe so gut wie keine Ahnung von Makroprogrammierung. Wie würde ein Makro, das sowas macht, denn aussehen?
Re: Summe aus Formularfelder bilden
Hallo HansFred,
wenn Du Dich mit Makros nicht aus kennst, warum möchtest Du sie dann anwenden? Du siehst doch das Ergebnis Deiner Eingabe mit der entsprechenden Multiplikation, wenn z.B. der Inhalt in einem Tabellenkontrollfeld liegt. Dann sind ja vohergehende Datensätze weiter sichtbar.
Das Makro, das so etwas in einem einfachen Formular macht, muss zuerst einmal einen Zugriff auf die Felder im Formular herstellen, dann die Werte aus den Feldern auslesen und miteinander multiplizieren. Das Ergebnis wird dann als Text in ein Feld geschrieben, was nicht gespeichert wird.
In etwa sieht das so aus:
Details siehe dazu auch im Handbuch. Einfach dem untenstehenden Link folgen.
Gruß
Robert
wenn Du Dich mit Makros nicht aus kennst, warum möchtest Du sie dann anwenden? Du siehst doch das Ergebnis Deiner Eingabe mit der entsprechenden Multiplikation, wenn z.B. der Inhalt in einem Tabellenkontrollfeld liegt. Dann sind ja vohergehende Datensätze weiter sichtbar.
Das Makro, das so etwas in einem einfachen Formular macht, muss zuerst einmal einen Zugriff auf die Felder im Formular herstellen, dann die Werte aus den Feldern auslesen und miteinander multiplizieren. Das Ergebnis wird dann als Text in ein Feld geschrieben, was nicht gespeichert wird.
In etwa sieht das so aus:
Code: Alles auswählen
SUB Summe
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT 'usw für alle mit o
DIM iFeld1 AS INTEGER 'für Ganzzahlen
DIM iFeld2 AS INTEGER 'für Ganzzahlen
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Name deines Formulars - meist MainForm")
oFeld1 = oForm.getByName("Name des ersten Feldes")
oFeld2 = oForm.getByName("Name des zweiten Feldes")
oFeld3 = oForm.getByName("Name des Feldes, in dem die Summe stehen soll")
iFeld1 = oFeld1.getCurrentValue()
iFeld2 = oFeld2.getCurrentValue()
oFeld3.text = iFeld1+iFeld2
END SUB
Gruß
Robert
- Dateianhänge
-
- Summe.odb
- Datenbank mit Summierung von zwei Feldern - Abfrage und Makro. Makrostart nicht an eine Eigenschaft gebunden.
- (18.48 KiB) 433-mal heruntergeladen