automatische Berechnung bei Eingabe in ein Formular
Moderator: Moderatoren
automatische Berechnung bei Eingabe in ein Formular
Hi @ All.
Ich habe eine Datenbank für Rechnungsdaten und nun stehe ich vor den Problem, dass einige Werte aus meinen Eingaben automatisch berechnet werden sollen. Diese automatisch berechneten Daten sollen dann gleich in das Formular und später in die Tabelle eingetragen werden. Zum Beispiel die Mehrwertsteuer, die automatisch aus der Summe aller Artikel errechnet werden soll.
Habe schon einiges über ähnliche Probleme gelesen, aber nichts hat mir weitergeholfen.
Hat jemand eine Idee?
Danke uns Gruß
Prof.
Ich habe eine Datenbank für Rechnungsdaten und nun stehe ich vor den Problem, dass einige Werte aus meinen Eingaben automatisch berechnet werden sollen. Diese automatisch berechneten Daten sollen dann gleich in das Formular und später in die Tabelle eingetragen werden. Zum Beispiel die Mehrwertsteuer, die automatisch aus der Summe aller Artikel errechnet werden soll.
Habe schon einiges über ähnliche Probleme gelesen, aber nichts hat mir weitergeholfen.
Hat jemand eine Idee?
Danke uns Gruß
Prof.
Hallo Prof
Base kann nur in Abfragen rechnen. Du musst also erstmal eine Abfrage in der Entwurfsansicht (ohne Assistent) auf der Grundlage deiner Tabelle erstellen. Wichtig dabei ist ,dass du auch die Spalte mit dem Primärschlüssel in die Abfrage hineinnimmst. In einer freien Spalte (in der Entwurfsansicht) schreibst du jetzt in der Zeile "Feld" deine Berechnungsformel. Wenn z.B. dein Rechnungsnetto in der Spalte "Netto" steht und Base jetzt das Brutto ausrechnen soll ist die FormelWenn bei der Berechnung Kommabeträge entstehen können, müssen die Spalten mit denen gerechnet wird in der Tabelle als Typ "Float" deklariert sein
Ob die Formel funktioniert kannst du (immernoch in der Entwurfsansicht) unter "Bearbeiten"=>"Abfrage ausführen" prüfen.
Wenn du jetzt das Formular erstellst musst du die Felder, in die du etwas eingeben willst, direkt mit der Tabelle verbinden (aus Abfragen heraus kann man keine Daten manipulieren), das Ergebnisfeld jedoch mit der entsprechenen Spalte in der Abfrage. Dazu für die Abfrage ein Subformular erstellen und es in das Hauptformular (das mit der Tabelle verbunden ist) einhängen. Wie das im Prinzip geht steht hier viewtopic.php?t=5800&highlight= .
Bei "Verknüpfen von / Verknüpfen nach" gibst du jeweils die Primärschlüsselspalte an.
Wenn du dann Daten eingibst musst du den Datensatz erst speichern bevor das Rechenergebnis angezeigt wird.
Die errechneten Daten werden bei dieser Vorgehensweise allerdings nicht in die Tabelle geschrieben, sondern stehen nur in der Abfrage zur Verfügung, aber vielleicht hilft's ja trotzdem.
Gruss Bernd
Base kann nur in Abfragen rechnen. Du musst also erstmal eine Abfrage in der Entwurfsansicht (ohne Assistent) auf der Grundlage deiner Tabelle erstellen. Wichtig dabei ist ,dass du auch die Spalte mit dem Primärschlüssel in die Abfrage hineinnimmst. In einer freien Spalte (in der Entwurfsansicht) schreibst du jetzt in der Zeile "Feld" deine Berechnungsformel. Wenn z.B. dein Rechnungsnetto in der Spalte "Netto" steht und Base jetzt das Brutto ausrechnen soll ist die Formel
Code: Alles auswählen
"Netto" + "Netto" / 100 * 16
Ob die Formel funktioniert kannst du (immernoch in der Entwurfsansicht) unter "Bearbeiten"=>"Abfrage ausführen" prüfen.
Wenn du jetzt das Formular erstellst musst du die Felder, in die du etwas eingeben willst, direkt mit der Tabelle verbinden (aus Abfragen heraus kann man keine Daten manipulieren), das Ergebnisfeld jedoch mit der entsprechenen Spalte in der Abfrage. Dazu für die Abfrage ein Subformular erstellen und es in das Hauptformular (das mit der Tabelle verbunden ist) einhängen. Wie das im Prinzip geht steht hier viewtopic.php?t=5800&highlight= .
Bei "Verknüpfen von / Verknüpfen nach" gibst du jeweils die Primärschlüsselspalte an.
Wenn du dann Daten eingibst musst du den Datensatz erst speichern bevor das Rechenergebnis angezeigt wird.
Die errechneten Daten werden bei dieser Vorgehensweise allerdings nicht in die Tabelle geschrieben, sondern stehen nur in der Abfrage zur Verfügung, aber vielleicht hilft's ja trotzdem.
Gruss Bernd
Hallo Bernd.
Ich habe jetzt eine Abfrage erstellt, die mir alles berechnet. Das funktioniert auch wunderbar. Nun bleibt nur noch das Problem, dass ich die Daten aus der Abfrage nicht von Hand in die Datenbank eintragen wollte. Gibt es nicht eine Möglichkeit die Daten aus der abfrage direkt in die Datenbank zu übernehmen?
Danke und Gruß
Prof.
Ich habe jetzt eine Abfrage erstellt, die mir alles berechnet. Das funktioniert auch wunderbar. Nun bleibt nur noch das Problem, dass ich die Daten aus der Abfrage nicht von Hand in die Datenbank eintragen wollte. Gibt es nicht eine Möglichkeit die Daten aus der abfrage direkt in die Datenbank zu übernehmen?
Danke und Gruß
Prof.
Hallo Prof
Warum brauchst du die errechneten Daten in der Tabelle/Datenbank? Vielleicht gibt's ja noch 'ne andere Lösung.
Gruss Bernd
Daran hab' ich gestern schon eine Weile herumprobiert, bin aber zu keiner Lösung gekommen. Ist ja eigentlich auch garnicht nötig; mit den Daten aus der Abfrage kann man doch auch schön weiterarbeiten.Gibt es nicht eine Möglichkeit die Daten aus der abfrage direkt in die Datenbank zu übernehmen?
Warum brauchst du die errechneten Daten in der Tabelle/Datenbank? Vielleicht gibt's ja noch 'ne andere Lösung.
Gruss Bernd
Hallo Bernd
Wie ich es oben schon beschrieben habe, ist es eine Datenbank für Rechnungsdaten, wo halt alle Daten möglichst übersichtlich eingetragen werden sollen. Außerdem sollen später anhand der Datensätze Rechnungen erstellt werden. Habe auch schon an andere Wege gedacht und werde da noch ein bischen rumprobieren.
Danke und gruß
Prof.
Wie ich es oben schon beschrieben habe, ist es eine Datenbank für Rechnungsdaten, wo halt alle Daten möglichst übersichtlich eingetragen werden sollen. Außerdem sollen später anhand der Datensätze Rechnungen erstellt werden. Habe auch schon an andere Wege gedacht und werde da noch ein bischen rumprobieren.
Danke und gruß
Prof.