Die einen lieben sie, die anderen hassen sie: Nachschlagefelder in Tabellen. Sie sind ein Werkzeug, mit dem sich Daten aus anderen Tabellen oder auch aus Wertlisten einfach auswählen lassen. Nachschlagefelder erstellen Sie entweder mit dem Nachschlage-Assistent oder auch manuell über die entsprechenden Eigenschaften des als Nachschlagefeld auszulegenden Tabellenfeldes. Dieser Artikel liefert das Know-how, dass Sie zum Erstellen per Assistent, aber auch von Hand benötigen – oder zum Anpassen von Nachschlagefeldern, die auf die eine oder andere Art erstellt wurden.
Glaubenskrieg
Viele Datenbankentwickler schwören darauf, im Tabellenentwurf keine Nachschlagefelder einzurichten. Dabei meinen wir mit Nachschlagefeldern solche Felder, die eigentlich als Fremdschlüsselfeld zum Herstellen einer Beziehung zwischen zwei Tabellen dienen.
Wenn Sie also eine Tabelle namens tblKunden mit einem Primärschlüsselfeld namens KundeID verwenden, und in einer weiteren Tabelle namens tblProjekte ein Feld namens KundeID einrichten, in das Sie den Primärschlüsselwert des Kundendatensatzes eintragen wollen, der mit dem Projektdatensatz verknüpft werden soll, wäre das ein Fall zum Anlegen eines Nachschlagefeldes.
Für die Gegner der Nachschlagfelder reicht es hierbei aus, die Beziehung zwischen den Tabellen im Beziehungen-Fenster einzurichten.
Dazu zieht man das zukünftige Fremdschlüsselfeld KundeID aus der Tabelle tblProjekte auf das Primärschlüsselfeld KundeID der Tabelle tblKunden (siehe Bild 1).
Bild 1: Herstellen einer Beziehung zwischen zwei Tabellen
Anschließend definieren Sie die Eigenschaften der neu erstellten Beziehung. Dazu aktivieren Sie beispielsweise die Option Mit referenzieller Integrität oder Löschweitergabe an verwandte Datensätze (siehe Bild 2).
Bild 2: Bearbeiten einer Beziehung
Anschließend erscheint die Beziehung dann wie in Bild 3 im Beziehungen-Fenster.
Bild 3: Eine Beziehung mit referenzieller Integrität
Damit ist der Fall für den Nachschlagefeld-Gegner erledigt – wenn er beispielsweise in einem Formular ein Kombinationsfeld einrichten soll, mit dem der Benutzer den Kunden für ein Projekt auswählen kann, wird er die notwendigen Eigenschaften manuell für das Kombinationsfeld festlegen.
Der Nachschlage-Assistent
Eine Beziehung einzurichten ist bei Verwendung des Nachschlage-Assistenten bereits integriert.
Den Nachschlage-Assistenten starten Sie, indem Sie für die Spalte Felddatentyp eines Feldes den Eintrag Nachschlage-Assistent… auswählen (siehe Bild 4). Wichtig ist, dass das Feld zuvor bereits einen kompatiblen Datentyp aufweist. Wenn Sie also ein Nachschlagefeld für eine Tabelle mit einem numerischen Primärschlüsselfeld herstellen wollen, sollte das Nachschlagefeld den gleichen Datentyp haben. In der Regel handelt es sich dabei um den Datentyp Zahl.
Bild 4: Aufrufen des Nachschlage-Assistenten
Welche Datenquelle
Der Nachschlage-Assistent fragt im ersten Schritt, ob das Nachschlagefeld Daten aus einer Tabelle enthalten soll oder ob Sie selbst Werte in eine Liste eingeben wollen (siehe Bild 5). Letzteres ist beispielsweise interessant, wenn Sie ein Feld mit wenigen, festen Werten einrichten möchten. Auf diesen Fall gehen wir jedoch in diesem Artikel nicht ein. Uns interessiert das Erstellen eines Nachschlagefeldes für die Auswahl aus einer anderen Tabelle, in diesem Fall tblKunden.
Bild 5: Auswählen der Art der Datenquelle für das Nachschlagefeld
Nachschlage-Tabelle auswählen
Diese Tabelle wählen wir dann im zweiten Schritt des Assistenten aus (siehe Bild 6). Hier finden wir eine Liste der verfügbaren Tabellen vor. Gegebenenfalls können Sie hier auch noch die in der Datenbank enthaltenen Abfragen einblenden oder auch beide Objekttypen. Wir wählen die Tabelle tblKunden aus und wechseln zum nächsten Schritt.
Bild 6: Auswahl der Tabelle mit den Daten für das Nachschlagefeld
Auswählen der Felder
Hier wählen wir aus der Liste aller verfügbaren Felder die Felder aus, die das Nachschlagefeld enthalten soll. Wir sagen bewusst nicht anzeigen, denn es sollen nicht alle auszuwählenden Felder angezeigt werden.
Hier ist ein wenig Hintergrundwissen erforderlich: Ein Nachschlagefeld soll immer einen Wert anzeigen, über den der Benutzer den auszuwählenden Datensatz zuverlässig selektieren kann. Wir wollen dazu beispielsweise das Feld Firma verwenden.
Andererseits wird in einem Fremdschlüsselfeld immer der Wert gespeichert, der dem Primärschlüsselfeld des zu verknüpftenden Datensatzes entspricht. Wir benötigen also für die Definition des Nachschlagefeldes zwei Felder: das Feld mit dem Primärschlüssel und das anzuzeigende Feld. Beide wählen wir wie in Bild 7 aus.
Bild 7: Auswählen der Felder für das Nachschlagefeld
Sortierung im Nachschlagefeld festlegen
Im nächsten Schritt haben wir die Möglichkeit, bis zu vier Felder für die Sortierung der angezeigten Daten im Nachschlagefeld zu definieren. Da wir nur ein Feld anzeigen wollen, nämlich das Feld Firma, wählen wir dieses im ersten Kombinationsfeld aus und behalten für die Sortierung die Reihenfolge Aufsteigend bei (siehe Bild 8).
Bild 8: Einstellen der Sortierung
Schlüsselspalte ausblenden
Der nächste Schritt im Assistent hält nur ein Kontrollkästchen mit der Beschriftung Schlüsselspalte ausblenden (empfohlen) bereit (siehe Bild 9).
Bild 9: Ausblenden der Schlüsselspalte
Diese ist standardmäßig aktiviert und gibt an, dass das erste angegebene Spalte, hier also KundeID, ausgeblendet werden soll.
Neben dieser Einstellung können Sie auch noch festlegen, welche Breite die verbleibenden Felder bei der Anzeige im Nachschlagefeld einnehmen sollen. Da wir noch keine Daten eingegeben haben, behalten wir die aktuell eingestellte Breite bei.
Durch die Aktivierung der Option Schlüsselspalte ausblenden sorgen wir dafür, dass die erste Spalte mit einer Breite von 0cm angezeigt wird und die zweite mit der hier festgelegten Breite.
Beschriftung festlegen
Im folgenden Schritt des Assistenten legen wir unter anderem fest, welche Beschriftung für das Nachschlagefeld festgelegt werden soll. Hier müssen wir erstmals überlegen, wie auf Basis des Nachschlagefeldes angelegte Kombinationsfelder in Formularen später aussehen sollen. Standardmäßig wird hier der Name des ersten ausgewählten Feldes eingestellt, in diesem Fall KundeID.
Sie werden aber im Formular eher ein Bezeichnungsfeld mit der Beschriftung Kunde nutzen wollen. Allerdings wird diese Beschriftung auch als neuer Feldname im Entwurf der Tabelle verwendet. Da wir Fremdschlüsselfelder über den Feldnamen erkennen wollen, der meist das Präfix ID aufweist, behalten wir als Beschriftung den Feldnamen KundeID bei (siehe Bild 10).
Bild 10: Weitere Eigenschaften festlegen
Bei Verwendung von Kombinationsfeldern auf Basis des Nachschlagefeldes in Formularen müssen wir dann gegebenenfalls das Bezeichnungsfeld von KundeID auf Kunde ändern – aber auch hier gibt es noch einen Workaround, den wir später erläutern.
Referenzielle Integrität
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: