Supportnet / Forum / Datenbanken
Access
Frage
Hallo,
ich habe folgendes Problem, als Hobby Koch habe ich mir in Access 200 eine Rezeptdatenbank angelegt. Das Formular ist unterteilt in ein Haupt,- Unterformular.
Im Hauptformular werden in einem Bezeichnungsfeld meine Personen angegeben. Im Unterformular ist eine Tabelle mit drei Spalten, Gewicht, Einheit, Name des Rohstoffs.
Wie ist es zu bewerkstelligen, das die Spalte mit den Gewichten, bei Veränderung der Personenzahl automatisch angepasst wird.
Herzlichen Dank für die Hilfe
PS. Bei Lösung des Problems meine Rezeptdatenbank gratis!!
Antwort 1 von oliverV
Hallo J.Reitsam,
ich gehe bei meiner Lösung von folgendem aus:
In deinem Hauptformular „Rezepte“ stehen allgemeine Informationen wie „Rezeptname“, „Kategorie“ usw., sowie ein ungebundenes Steuerelement „Personenanzahl“.
In deinem Unterformular „Rezeptzutaten“ stehen die 3 von dir genannten Komponenten, die sich abhängig von der „Rezepte“-Auswahl mitverändern.
Die Daten des Haupt- und des Unterformulars sind somit in zwei miteinander verknüpfte Tabellen gespeichert.
Nun zur Lösung:
Gehe in dein Unterformular, füge ein neues ungebundenes Textfeld „Gesamtgewicht“ ein, als Steuerelementinhalt trage folgendes ein:
=[Formulare]![Rezepte]![Personenanzahl]*[Gewicht]
In diesem neuen Feld wird die eingetragene Personenanzahl mit den Gewichten der Zutaten multipliziert; bei Veränderung der Personenzahl wird das neue Feld allerdings noch nicht aktualisiert.
Hierfür gehe in dein Hauptformular zu den Eigenschaften des Feldes „Personenanzahl“ zu dem Ereignis „Nach Aktualisierung“. Öffne den Code-Generator (... am Ende des Feldes).
Trage nun folgendes ein:
Private Sub Personenanzahl_AfterUpdate()
[Rezeptzutaten].Requery
End Sub
Das Feld „Rezeptzutaten“ entspricht dem Unterformularnamen.
Nun wird bei einer Veränderung (Aktualisierung) des Feldes „Personenanzahl“ das gesamte Unterformular „Rezeptzutaten“ neu abgefragt und somit das Feld „Gesamtgewicht“ neu berechnet.
Guten Appetit !
Gruß
oliver
ich gehe bei meiner Lösung von folgendem aus:
In deinem Hauptformular „Rezepte“ stehen allgemeine Informationen wie „Rezeptname“, „Kategorie“ usw., sowie ein ungebundenes Steuerelement „Personenanzahl“.
In deinem Unterformular „Rezeptzutaten“ stehen die 3 von dir genannten Komponenten, die sich abhängig von der „Rezepte“-Auswahl mitverändern.
Die Daten des Haupt- und des Unterformulars sind somit in zwei miteinander verknüpfte Tabellen gespeichert.
Nun zur Lösung:
Gehe in dein Unterformular, füge ein neues ungebundenes Textfeld „Gesamtgewicht“ ein, als Steuerelementinhalt trage folgendes ein:
=[Formulare]![Rezepte]![Personenanzahl]*[Gewicht]
In diesem neuen Feld wird die eingetragene Personenanzahl mit den Gewichten der Zutaten multipliziert; bei Veränderung der Personenzahl wird das neue Feld allerdings noch nicht aktualisiert.
Hierfür gehe in dein Hauptformular zu den Eigenschaften des Feldes „Personenanzahl“ zu dem Ereignis „Nach Aktualisierung“. Öffne den Code-Generator (... am Ende des Feldes).
Trage nun folgendes ein:
Private Sub Personenanzahl_AfterUpdate()
[Rezeptzutaten].Requery
End Sub
Das Feld „Rezeptzutaten“ entspricht dem Unterformularnamen.
Nun wird bei einer Veränderung (Aktualisierung) des Feldes „Personenanzahl“ das gesamte Unterformular „Rezeptzutaten“ neu abgefragt und somit das Feld „Gesamtgewicht“ neu berechnet.
Guten Appetit !
Gruß
oliver
Antwort 2 von JR
Danke Oliver Dein Vorschlag gefällt mir!

