Heutzutage ist es längst nicht damit getan, je ein Feld für Telefonnummer und Telefax in einer Kundentabelle zu reservieren. Jeder Kunde hat zusätzlich noch mindestens eine Handynummer, ist unter der privaten Nummer zu erreichen und bietet eine oder mehrere E-Mail-Adressen an. Wer solche Daten flexibel in seiner Datenbank speichern möchte, braucht zwei Zusatztabellen und einige Formularanpassungen. Wie die Lösung aussieht, erfahren Sie in diesem Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1202_Kommunikationsdaten.mdb.
Kommunikationsdaten einfach
In vielen Fällen dürfte es ausreichen, in der Kundentabelle jeweils ein Feld für Telefon-, Telefax- und Mobilnummer sowie E-Mail zu reservieren und diese Felder im Formular zum Bearbeiten der Kundendaten bereitzustellen. Im Artikel Kunden per Bezeichnung verwalten haben wir dies wie in Bild 1 erledigt.
Bild 1: Einfache Variante: Die Kommunikationsdaten werden einfach in der Kundentabelle gespeichert.
Der vorliegende Artikel stellt eine alternative Methode vor, Kommunikationsdaten wie Telefonnummern, Faxnummern, Handynummern oder E-Mail-Adressen zu speichern. Dabei sollen zu jedem Kunden nur die Daten gespeichert werden, die tatsächlich anfallen, es werden keine Felder für die verschiedenen Kommunikationsarten reserviert, sondern über weitere Tabellen dynamisch hinzugefügt.
Dies wird durch zwei zusätzliche Tabellen zur Tabelle tblKunden realisiert. Die erste heißt tblKommunikationsarten und speichert eigentlich nur Lookup-Daten, nämlich die Bezeichnungen der verschiedenen Kommunikationsarten – also Telefon dienstlich, Telefon privat und so weiter. Sie besteht nur aus zwei Feldern, deren Aufbau Sie Bild 2 entnehmen können.
Bild 2: Die Tabelle tblKommunikationsarten speichert die Bezeichnungen der Kommunikationsarten.
Gefüllt sieht die Tabelle tblKommunikationsarten wie in Bild 3 aus. Sie können die enthaltenen Daten beliebig anpassen oder ergänzen.
Bild 3: Die Tabelle tblKommunikationsdaten mit einigen Beispieldatensätzen
Mit der Tabelle für die Kommunikationsarten allein können wir jedoch noch nicht viel anfangen. Wir benötigen eine weitere Tabelle, mit der wir die Kommunikationsarten und die Kunden in Beziehung bringen und die entscheidenden Daten, nämlich Telefonnummern, E-Mail-Adressen und so weiter verwalten. Diese Tabelle stellt eine m:n-Beziehung zwischen den Tabellen tblKunden und tblKommunikationsarten her und heißt tblKommunikationsdetails. Den Entwurf dieser Tabelle finden Sie in Bild 4. Neben dem Primärschlüsselfeld KommunikationsdetailID enthält die Tabelle zunächst zwei Fremdschlüsselfelder namens KommunikationsartID und KundeID, mit denen die ein Kunde mit einem Eintrag der Tabelle tblKommunikationsarten zusammengeführt wird.
Bild 4: Die Tabelle tblKommunikationsdetails stellt die Beziehung zwischen Kunde und Kommunikationsart her und nimmt die eigentlich wichtigen Daten auf.
Um diese Fremdschlüsselfelder anzulegen, tragen Sie zunächst die Feldnamen ein und wählen dann für den Datentyp jeweils den Wert Nachschlagefeld aus. Dies startet den Nachschlagefeld-Assistenten. Für das Feld KommunikationsartID wählen Sie damit die Tabelle tblKommunikationsarten als Datenherkunft aus und fügen die beiden Felder KommunikationsartID und Kommunikationsart hinzu. Die Sortierung legen Sie nicht explizit fest, daher werden die Einträge des Nachschlagefeldes nach dem Wert des Primärschlüsselfeldes sortiert. Dies ist in Ordnung, da die Einträge bereits in der gewünschten Reihenfolge hinzugefügt wurden
Für das Feld KundeID wählen Sie im Nachschlagefeld-Assistent die Tabelle tblKunden aus und fügen die beiden Felder KundeID und Bezeichnung hinzu (dies ist übrigens ein guter Einsatzzweck für das Feld Bezeichnung, über das Sie im Artikel Kunden per Bezeichnung verwalten mehr erfahren). Im Gegensatz zum Nachschlagefeld für die Kommunikationsarten sollten Sie für dieses Nachschlagefeld eine Sortierung festlegen, und zwar eine aufsteigende Sortierung nach dem Feld Bezeichnung.
Für jede Kombinationen aus KommunikationsartID und KundeID nimmt die Tabelle im Feld Kommunikationsdetail die Telefonnummer, die E-Mail-Adresse et cetera auf. Ein weiteres Feld namens Bemerkungen erfasst Informationen etwa über die Erreichbarkeit der verschiedenen Telefonnummern. Wenn jemand also beispielsweise immer nur vormittags im Büro erreichbar ist und nachmittags nur per Handy, würde man dies hier eintragen. Schließlich gibt es noch ein Ja/Nein-Feld namens Bevorzugt, mit dem Sie eine der Kommunikationsarten für den Kunden festlegen können, die primär genutzt werden soll.
Eine übersicht der Tabellen und ihrer Beziehungen finden Sie im Datenmodell aus Bild 5. Dort legen Sie, sofern Sie nicht mit Access 2010 arbeiten und dies bereits im Nachschlagefeld-Assistent erledigt haben, noch referenzielle Integrität und Löschweitergabe für die beiden neuen Beziehungen fest.
Bild 5: Das Datenmodell verdeutlicht die Zusammenhänge zwischen den Tabellen zur Verwaltung der Kommunikationsdaten.
Kommunikationsarten im Formular
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: