# Access: Dateneingabe in Unterformular



## MartinLeim (15. November 2008)

Hallo zusammen!

Ich mache gerade meine ersten Gehversuche in Access und möchte damit eine Datenbankanwendung erstellen, mit der Kosten für Mahlzeiten anhand der verwendeten Zutaten berechnet werden sollen.

Dabei gibt es zunächst einmal die Zutaten, die einen Namen, eine Mengeneinheit (z.B. Stück, Liter, Kilogramm), eine Menge und einen Preis haben; des weiteren sind diese Zutaten in verschiedene Gruppen eingeteilt. Nun sollen für eine Mahlzeit bestimmte Mengen dieser Zutaten eingegeben werden, daraus sollen dann automatisch die Kosten berechnet werden.

Der Tabellenentwurf ist ja recht einfach:
- Zutaten-Tabelle mit Verweis auf Zutatengruppen-Tabelle
- Mahlzeiten-Tabelle mit Daten wie Datum und Beschreibung
- Join-Tabelle aus Mahlzeit und Zutat (m:n) mit Mengenangabe

Für die Eingabe der Zutaten und der Zutatengruppe komme ich, da es sich um tabellarische Daten handelt, mit den automatisch generierten Formularen wunderbar zurecht.

Für die Eingabe der Mahlzeiten allerdings hilft mir das vom Assistenten generierte Formular nur bedingt weiter. Ich erhalte ein Formular für eine Mahlzeit mit der Beschreibung und dem Datum sowie ein Unterformular für die verwendeten Zutaten. Allerdings hat dieses Unterformular keinen Bezug zur aktuellen Mahlzeit, d.h. es wird nicht der (automatisch generierte) Schlüssel der Mahlzeit in die Join-Tabelle eingetragen. Auch müsste ich Ereignisbehandlungscode schreiben, um die genauen Kosten exakt berechnen zu lassen. Weiterhin werden Datensätze so sofort gespeichert, eine seperate Abfrage, ob die Daten gespeichert oder verworfen werden sollen, ist nicht möglich, oder?

Lange Rede, kurzer Sinn: Ist das von mir Gewünschte mit den Formelassistenten und wenig manueller Nachbearbeitung möglich oder muss ich dafür ein ungebundenes Formular verwenden und die Datenbankanbindung selbst per VBA implementieren?


Ich verwende Microsoft Access 2002, bedanke mich im Voraus und hoffe, jemand kann mir meine Frage beantworten!


----------

