Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wenn Sie Daten wie Anreden, Funktionen, Abteilungen et cetera in Lookup-Tabellen speichern und diese Daten in weiteren Tabellen per Nachschlagefeld verfügbar machen, werden Sie in Formularen Kombinationsfelder zur Auswahl solcher Daten bereitstellen. Was aber, wenn der Benutzer von diesem Formular die Daten der Lookup-Tabelle bearbeiten möchte – etwa, um diese zu erweitern, zu ändern oder um nicht benötigte Einträge zu löschen Dann stellen Sie ihm ein weiteres Formular bereit, das er über eine Schaltfläche direkt neben dem Kombinationsfeld öffnen kann. Wie das funktioniert, zeigt dieser Artikel.
Beispieldatenbank
Die Beispiele zu diesem Artikel finden Sie in der Datenbank 1107_Lookupformular.mdb.
Ausgangsformular
Im Artikel Werte zu Kombinationsfeldern hinzufügen haben wir gezeigt, wie Sie neue Daten für Lookup-Tabellen direkt in das Kombinationsfeld zu ihrer Auswahl eingeben können. Der vorliegende Artikel verwendet die gleiche Grundkonfiguration, das heißt: Das Formular frmArtikel basiert auf der Tabelle tblArtikel als Datenherkunft. Das Kombinationsfeld cboKategorien ist an das Feld KategorieID dieser Tabelle gebunden und zeigt seinerseits Daten aus der Tabelle tblKategorien an. Ausführlichere Informationen etwa zum Erstellen des Formulars finden Sie im oben genannten Artikel.
Formular zum Bearbeiten von Lookup-Daten
In diesem Beispiel sollen die Daten der Tabelle tblKategorien bearbeitet werden, und davon nur die beiden Felder KategorieID und Kategorie. Dazu erstellen Sie ein Formular namens frmKategorien, das als Hauptformular dient:
- Das Formular soll ein Unterformular enthalten, das wir gleich im Anschluss erstellen.
- Außerdem weisen Sie diesem eine Schaltfläche namens cmdOK mit der Beschriftung OK zu.
- Da das Formular selbst keine Daten anzeigt, sondern diese im Unterformular dargestellt werden, legen Sie für die Eigenschaften Datensatzzeiger, Navigationsschaltflächen, Bildlaufleisten und Trennlinien den Wert Nein fest. Außerdem soll die Eigenschaft Automatisch zentrieren den Wert Ja erhalten.
Speichern Sie das Formular unter dem Namen frmKategorien und legen Sie ein weiteres Formular an, dass Sie unter dem Namen sfmKategorien speichern:
- Weisen Sie der Eigenschaft Datenherkunft des Formulars den Wert tblKategorien zu.
- Fügen Sie die beiden Felder KategorieID und Kategorie aus der Feldliste zum Formularentwurf hinzu.
- Stellen außerdem die Eigenschaft Standardansicht auf Datenblatt ein. Die Steuerelemente brauchen Sie unter dieser Einstellung nicht mühevoll anzuordnen, in der Datenblattansicht geschieht dies automatisch.
Das Unterformular sfmKategorien sieht nun wie in Bild 1 aus. Damit die Schaltfläche cmdOK das Formular schließt, fügen Sie der Eigenschaft Beim Klicken der Schaltfläche den Wert [Ereignisprozedur] hinzu, klicken auf die Schaltfläche mit den drei Punkten (…) und ergänzen die nun im VBA-Editor angezeigte Ereignisprozedur wie folgt:
Bild 1: Das Unterformular zur Anzeige der Kategorien
Private Sub cmdOK_Click() DoCmd.Close acForm, Me.Name End Sub
Nun fügen Sie das Unterformular sfmKategorien zum Detailbereich des Hauptformulars frmKategorien hinzu – wie das am einfachsten gelingt, erfahren Sie in Unterformular zu Formular hinzufügen. Das Ergebnis sieht im Entwurf etwa wie in Bild 2 aus.
Bild 2: Haupt- und Unterfomular in vereinigter Form
Kategorie-Aktionen
Es gibt mehrere Aktionen in Zusammenhang mit den Kategorien, die einem Artikel zugeordnet werden können:
- Hinzufügen einer neuen Kategorie
- Bearbeiten der Liste von Kategorien
- Löschen von Kategorien
- Zusammenführen von Kategorien
Hinzufügen einer neuen Kategorien
Dieses Thema ist bereits erledigt: Das Hinzufügen einer neuen Kategorie erfolgt schlicht durch das Eintragen des Kategorienamens und der Bestätigung der Rückfrage durch den Benutzer – genau so, wie wir es bereits in Werte zu Kombinationsfeldern hinzufügen beschrieben haben.
Bearbeiten und Löschen der Kategorien
Das Bearbeiten und Löschen der Kategorien kann nicht direkt im Artikel-Formular erfolgen. Wenn der Benutzer hier die Bezeichnung einer Kategorie ändert, erkennt die Prozedur, die durch das Ereignis Bei nicht in Liste ausgelöst wird, dass hier eine neue Kategorie vorliegt und fragt, ob diese in der Kategorientabelle angelegt werden soll – siehe Werte zu Kombinationsfeldern hinzufügen.
Zum Bearbeiten der Bezeichnungen von Kategorien soll vielmehr das Formular frmKategorien erscheinen und dem Benutzer die Eingabe der neuen Bezeichnung ermöglichen.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo