Bestellungen in Formularen verwalten

Wer einmal einen Bestellvorgang auf Tabellenebene abgebildet und die entsprechenden Formulare und Berichte erstellt und verstanden hat, kann guten Gewissens behaupten, dass er kein Einsteiger mehr ist. Das Datenmodell erläutern wir im Artikel Bestellungen in Tabellen verwalten, die notwendigen Formulare stellt der vorliegende Artikel vor und um die Berichte kümmern wir uns im Artikel Bestellungen per Bericht ausgeben – es sind also nur noch wenige Schritte bis zum nächsten Level!

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1202_BestellungenInFormularen.mdb.

Bestellungen per Formular

Die folgenden Ausführungen beziehen sich auf das Datenmodell, dass wir im Artikel Bestellungen in Tabellen verwalten erstellt haben. Dieses enthält im wesentlichen eine Tabelle namens tblBestellungen, die grundlegende Bestellinformationen aufnimmt, eine Tabelle mit Artikeln (tblArtikel) sowie eine Tabelle namens tblBestellpositionen, mit der Sie die einzelnen Artikel einer Bestellung zuordnen können.

Für die Abbildung einer m:n-Beziehung bieten sich mehrere Konstellationen an, aber nur die Variante mit Haupt- und Unterformular ist sinnvoll. Dabei zeigt das Hauptformular die Daten der Tabelle tblBestellungen an.

Das Unterformular erfasst die bei der Bestellannahme anfallenden Bestellpositionen. Sie benötigen eigentlich noch weitere Formulare, etwa zur Verwaltung der Kunden oder der Artikel, diese beschreiben wir jedoch in weiteren Artikeln. Der vorliegende Artikel konzentriert sich auf die Eingabe der Bestelldaten.

Hauptformular

Das Hauptformular soll jeweils einen Datensatz der Tabelle tblBestellungen erfassen und auch das Unterformular zur Eingabe der Bestellpositionen aufnehmen. Legen Sie daher zunächst ein Formular namens frmBestellungen an und weisen Sie diesem die Tabelle tblBestellungen als Datenherkunft zu.

Ziehen Sie die drei Felder BestellungID, KundeID und Bestelldatum in den Detailbereich des Formulars (siehe Bild 1).

Hauptformular zur Eingabe der Bestelldaten

Bild 1: Hauptformular zur Eingabe der Bestelldaten

Ausrichten und anordnen können Sie die Steuerelemente später, wenn keine änderungen mehr vorgenommen werden sollen.

Wenn Sie das Feld KundeID der Tabelle tblBestellungen wie im Artikel Bestellungen in Tabellen verwalten beschrieben als Nachschlagefeld ausgeführt haben, legt Access beim Hinzufügen des Feldes zum Formular automatisch ein Kombinationsfeld an, dass die gleichen Eigenschaften wie das entsprechende Nachschlagefeld aufweist (siehe Bild 2).

Auswahl des Kunden per Kombinationsfeld

Bild 2: Auswahl des Kunden per Kombinationsfeld

Kundendaten anzeigen

Gegebenenfalls möchten Sie nach der Auswahl des Kunden für eine Bestellung dessen aktuelle Adressdaten einsehen. Für diesen Fall verwenden wir ein Unterformular, dass alle notwendigen Daten anzeigt. Das Formular heißt sfmKundendaten und enthält die Tabelle tblKunden als Datenherkunft. Ziehen Sie alle Felder dieser Tabelle außer KundeID in den Detailbereich des Formulars und ordnen Sie diese etwa wie in Bild 3 an – wie gesagt, optische Anpassungen nehmen wir später vor.

Unterformular zur Anzeige der Kundendaten

Bild 3: Unterformular zur Anzeige der Kundendaten

Dann schließen Sie das Unterformular sfmKundendaten, öffnen das Formular frmBestellungen in der Entwurfsansicht und ziehen das Unterformular sfmKundendaten aus dem Datenbankfenster beziehungsweise Navigationsbereich in den Detailbereich des Hauptformulars. Platzieren es etwa so wie in Bild 4.

Herstellen der Verknüpfung zwischen Haupt- und Unterformular

Bild 4: Herstellen der Verknüpfung zwischen Haupt- und Unterformular

Wenn Sie nun das Unterformular-Steuerelement markieren, zeigt das Eigenschaftsfenster auf der Registerseite Daten wahrscheinlich für die beiden Eigenschaften Verknüpfen von und Verknüpfen nach den Wert KundeID an. Sollte dies nicht der Fall sein, holen Sie diese Einstellung nach.

Damit sorgen Sie dafür, dass nach dem Auswählen eines Kunden mit dem Kombinationsfeld der entsprechende Kundendatensatz im Unterformular sfm-Kundendaten angezeigt wird (siehe Bild 5).

Synchronisieren des ausgewählten Kunden mit dem Unterformular sfmKundendaten

Bild 5: Synchronisieren des ausgewählten Kunden mit dem Unterformular sfmKundendaten

Unterformular zur Anzeige der Bestellungen

Die Bestellungen werden ebenfalls in einem Unterformular angezeigt. Allerdings liegt hier keine 1:n-Beziehung wie bei den Tabellen tblBestellungen und tblKunden vor, sondern scheinbar eine m:n-Beziehung.

Warum scheinbar Nun: Das Unterformular zur Anzeige der Bestellpositionen enthält in der Tat nur Daten der Verknüpfungstabelle tblBestellpositionen. Die Artikel, die über die Verknüpfungstabelle mit dem Datensatz der Tabelle tblBestellungen des Hauptformulars verknüpft werden, erscheinen nur in Form des im Nachschlagefeld ArtikelID der Tabelle tblBestellpositionen angezeigten Artikelnamens.

Die Datenherkunft des Unterformulars sfmBestellpositionen beschränkt sich daher auch die Tabelle tblBestellpositionen – legen Sie diese Tabelle also als Datenherkunft eines neuen Formulars namens sfmBestellpositionen fest.

Ziehen Sie die Felder ArtikelID, Einzelpreis, Mehrwertsteuersatz, Anzahl und Rabatt in den Entwurf des Formulars sfmBestellpositionen (siehe Bild 6).

Unterformular zur Eingabe von Bestellpositionen

Bild 6: Unterformular zur Eingabe von Bestellpositionen

Stellen Sie außerdem die Eigenschaft Standardansicht für dieses Formular auf den Wert Datenblatt ein. Diese Ansicht zeigt alle Steuerelemente an, die sich im Detailbereich des Formulars befinden, daher dürfen Sie Felder wie BestellpositionID oder BestellungID gar nicht erst hinzu. Es reicht, wenn diese in der Datenherkunft enthalten sind, um etwa den Inhalt des Unterformulars über das Fremdschlüsselfeld BestellungID des Unterformulars mit dem Hauptformular zu verknüpfen.

Beachten Sie, dass auch hier das Feld ArtikelID als Kombinationsfeld ausgeführt wird. Auf diese Weise können Sie später leicht den gewünschten Artikel zu einer Bestellung hinzufügen.

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar