Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Kombinationsfelder bieten meist Daten aus Lookup-Tabellen zur Auswahl an. Das bedeutet, dass Sie damit etwa die Anrede oder den Titel einer Person festlegen können, wobei Anreden und Titel in separaten Tabellen gespeichert sind. Das ist schon hilfreich. Noch praktischer wäre es allerdings, wenn Sie neue Einträge für die separaten Tabellen direkt über das Kombinationsfeld eintragen könnten. Wie dies funktioniert, zeigt dieser Artikel.
Beispieldatenbank
Die Beispiele zu diesem Artikel finden Sie in der Datenbank 1105_KombifelderErweitern.mdb.
Lookup-Tabellen
Wie Sie Lookuptabellen anlegen, haben Sie bereits in Anreden und Co. mit Wertlisten oder -Lookup-Tabellen verwalten erfahren. Der Benutzer kann dort über ein Kombinationsfeld auf einfache Weise beispielsweise einen der Werte Herr oder Frau als Anrede für eine Person auswählen.Das ist natürlich kein besonders gutes Beispiel, wenn es darum geht, die Daten einer Lookup-Tabelle zu erweitern. Interessanter sind Kandidaten wie Abteilungen, Funktionen, Kategorien et cetera.
Im Rahmen dieses Artikels kümmern wir uns um die Artikelkategorien der Südsturm-Datenbank und wollen diese über die Benutzeroberfläche erweitern. Dabei interessieren uns besonders die beiden Tabellen tblArtikel und tblKategorien. Die Tabelle tblArtikel enthält ein Feld namens KategorieID, mit dem der Primärschlüsselwert der passenden Kategorie der Tabelle tblKategorien festgelegt werden kann (siehe Bild 1).
Bild 1: Artikel und Kategorien werden über das Fremdschlüsselfeld KategorieID verknüpft
Damit der Benutzer die Kategorie einfach per Nachschlagefeld beziehungsweise Kombinationsfeld auswählen kann, wurde das Feld KategorieID wie in ?[basics] Nachschlagefeld für eine 1:n-Beziehung einrichten beschrieben in ein Nachschlagefeld umgewandelt.
Formular zur Anzeige von Artikeln und Kategorien
Das Formular aus Bild 2 heißt frmArtikelUndKategorien und verwendet die Tabelle tblArtikel als Datenherkunft. Um das Beispiel einfach zu halten, haben wir einfach nur die drei Felder ArtikelID, Artikelname und KategorieID in den Detailbereich der Entwurfsansicht des Formulars gezogen. Dadurch, dass das Feld KategorieID bereits im Tabellenentwurf als Nachschlagefeld definiert wurde, wird es auch im Formular gleich als Kombinationsfeld ausgeführt. Wenn Sie nun in die Formularansicht wechseln, können Sie vorhandene Artikel bearbeiten oder neue Artikel eingeben und dabei die Kategorie bequem per Kombinationsfeld auswählen (siehe Bild 3).
Bild 2: Kombinationsfeldeinträge auswählen
Bild 3: Das Beispielformular in der Entwurfsansicht
Beim Anlegen der Steuerelemente, die an die Felder ArtikelID, Artikelname und KategorieID gebunden sind, vergibt Access eben diese Bezeichnungen als Steuerelementnamen. Damit wir später im Artikel besser zwischen den Feldern und Steuerelementen unterscheiden können, erweitern Sie die Namen der Steuerelemente um entsprechende Präfixe, also txtArtikelID, txtArtikelname und cboKategorieID. Mehr zu Präfixen erfahren Sie unter Konventionen.
Neue Kategorien eingeben
Was aber, wenn Sie nun einen Artikel anlegen, der sich in keine der vorhandenen Kategorien einsortieren lässt Ganz klar: Der Benutzer öffnet die Tabelle tblKategorien, trägt die neue Kategorie ein und kann diese dann nach dem Aktualisieren des Formulars frmArtikelUndKategorien auswählen … oder doch nicht Nein! Der Benutzer soll auf gar keinen Fall direkt auf die Tabellen einer Anwendung zugreifen. Sie als Entwickler dürfen natürlich in Ausnahmefällen direkt Daten in Tabellen bearbeiten, aber dem Benutzer sollten Sie geeignete Formulare zur Verfügung stellen.
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