In der Zeit der mobilen Kommunikation kann man gar nicht genügend Felder für die verschiedenen Kommunikationskanäle vorsehen. Früher reichten Felder für die private und die geschäftliche Telefonnummer sowie gegebenenfalls noch für Fax aus, heute soll es Menschen geben, die gleich mehrere Mobiltelefone mit sich tragen. Zeit, ein kleines Modul für die Verwaltung der Kommunikationsdaten zu bauen, dass Sie beliebigen Datenbanken hinzufügen können.
Im Prinzip speichert man die verschiedenen Kommunikationsdaten immer in den entsprechenden Feldern einer Tabelle. Diese erhalten dann Namen wie TelefonPrivat, TelefonGeschaeftlich, MobilPrivat, MobilGeschaeftlich und das Gleiche für weitere Kommunikationsarten wie Fax oder E-Mail. Allerdings kommen Sie damit nicht zwingend aus: Manch einer arbeitet nicht nur zu Hause und beim Arbeitgeber, sondern vielleicht auch noch bei der Freundin oder in der Ferienwohnung. Klar, dass es da eine Menge Nummern zu speichern gibt – aber wieviele Felder sieht man dafür in seiner Adresstabelle vor
Wer wirklich flexibel sein will, benötigt eine ganze Menge davon – oder er befreit sich von der Idee, die Kommunikationsdaten direkt in der Adresstabelle zu speichern. Das geht ganz einfach, indem Sie eine weitere Tabelle anlegen, in der Sie alle Kommunikationsdaten wie Telefon-, Fax- und Handynummern sowie E-Mail- und Internetadressen (nachfolgend schlicht mit “Kommunikationsdetails” zusammengefasst) speichern. Diese muss natürlich ein Fremdschlüsselfeld enthalten, um die Rufnummer der entsprechenden Adresse zuordnen zu können. Außerdem soll die Tabelle eine Information darüber enthalten, welche Kommunikationsart die Rufnummer bedient. Dies erfordert eine weitere Tabelle mit den Kommunikationsarten, die wiederum per Fremdschlüsselfeld mit der Tabelle der Kommunikationsdetails verknüpft wird.
Aber lassen sich Kommunikationsarten überhaupt noch so kategorisieren, wie es früher einmal üblich war – also ganz einfach in Privat/Dienstlich Wenn man einen Zweitwohnsitz, wechselnde Kunden mit Vor-Ort-Tätigkeit und so weiter mit einbezieht, wohl eher nicht. Wie fängt man so etwas ab Mit einem Feld für eine genauere Beschreibung Mit einem Nachschlagefeld zur Auswahl verschiedener Möglichkeiten wie Privat, Dienstlich, Freundin Bei aller Liebe zum Detail: Die üblichen Kombinationen wie Telefon privat, Telefon dienstlich et cetera sollen per Nachschlagefeld auswählbar sein (auch mehrfach). Für notwendige zusätzliche Hinweise wie “Freundin” oder “vom 1. bis 6. März” fügen wir der Tabelle der Kommunikationsdetails einfach ein Bemerkungsfeld mit dem Datentyp Text hinzu.
Halten wir also fest: Wir benötigen die übliche Adresstabelle, allerdings ohne jegliche Telefonnummer oder Mail-Adressen (s. Bild 1). Diese heißt beispielsweise tblAdressen und enthält Felder wie AnredeID (samt Lookuptabelle), Vorname, Nachname, Strasse, PLZ, Ort und Land (bei dieser Gelegenheit fällt auf, dass Personen ja auch mehrere Adressen haben können – aber wir belassen es vorerst bei der optimierten Ablage der Kommunikationsdaten …).
Bild 1: Basis-Adresstabelle
Die zweite Tabelle heißt tblKommunikationsarten und speichert die Kommunikationsarten wie Telefon, Telefax, Mobil, E-Mail und Internet. Die üblichen Einträge finden Sie in Bild 2
Bild 2: Tabelle der Kommunikationsarten
Die dritte Tabelle schließlich führt Adressen und Kommunikationsarten zusammen und ergänzt die nötigen Details. Deshalb heißt sie auch tblKommunikationsdetails. Im Datenmodell sehen die Tabellen sich wie in Bild 3 aus. Die Tabelle tblKommunikationsdaten dient dabei prinzipiell als m:n-Verknüpfungstabelle zwischen den Adressen und Kommunikationsarten und steuert auch noch die Detailinformationen zu den jeweiligen Kombinationen bei.
Bild 3: Datenmodell für die Verwaltung von Adressen und Kommunikationsdetails
Wenn Sie die Felder AdresseID und KommunikationsartID als Nachschlagefelder auslegen, können Sie die Zuteilung von Adressen und Kommunikation bequem wie in Bild 4 erledigen. Die Eigenschaft Datensatzherkunft für das Feld AdresseID wurde im Entwurf auf den folgenden Ausdruck eingestellt, um den Namen in der Form Nachname, Vorname darzustellen:
SELECT [tblAdressen].[AdresseID], [Nachname] & ", " & [Vorname] AS Adresse FROM tblAdressen;
Verwaltung der Kommunikationsdetails
Bild 4: Die Tabelle zur Zuweisung der Kommunikationsdetails
Die Kommunikationsdetails verwalten Sie in einem Unterformular, dass sich in dem Formular mit den übrigen Adressdaten befindet. Dieses Hauptformular heißt frmAdressen. Es verwendet die Tabelle tblAdressen als Datenherkunft. Die einzelnen Felder dieser Tabelle ziehen Sie einfach an den linken Rand des Formularentwurfs, sodass dieses wie in Bild 5 aussieht.
Bild 5: Dieses Formular zeigt zunächst nur die Standard-Adressdaten an.