Bei Privatkunden ist der Kunde zugleich der Ansprechpartner. Bei Firmenkunden haben wir es oft mit mehreren Personen zu tun: der Geschäftsführerin, dem Einkäufer oder jemandem aus der Buchhaltung, der die Rechnungen bearbeitet. Diese Personen wollen wir zu jedem Kunden erfassen und im Kundendetailformular auf einen Blick sehen. Eine von ihnen soll als Hauptansprechpartner markiert sein, aber nur eine. Wie wir Tabelle, Formulare und Schaltflächen dafür anlegen und wie wir die Regel mit dem einen Hauptansprechpartner durchsetzen, liest Du in diesem Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank Rechnungsverwaltung_Ansprechpartner.accdb. Sie baut auf der Datenbank aus dem Artikel Rechnungsverwaltung: Gestellte Rechnungen sperren und stornieren (www.access-basics.de/725) auf.
Die Tabelle tblAnsprechpartner
Die Ansprechpartner eines Kunden stehen zu ihm in einer 1:n-Beziehung: Ein Kunde kann beliebig viele Ansprechpartner haben, jeder Ansprechpartner gehört zu genau einem Kunden. Also brauchen wir eine eigene Tabelle mit einem Fremdschlüsselfeld, das auf tblKunden verweist.
Lege über Erstellen|Tabellen|Tabellenentwurf eine neue Tabelle an und speichere sie unter dem Namen tblAnsprechpartner. Sie erhält die folgenden Felder (siehe Bild 1):
Bild 1: Entwurf der Tabelle tblAnsprechpartner
- AnsprechpartnerID: Datentyp AutoWert, Primärschlüssel.
- KundeID: Datentyp Zahl, Feldgröße Long Integer, Eingabe erforderlich auf Ja. Dieses Feld richten wir gleich als Nachschlagefeld ein.
- AnredeID: Datentyp Zahl, Feldgröße Long Integer, ebenfalls ein Nachschlagefeld.
- Vorname: Datentyp Kurzer Text, Feldgröße 50.
- Nachname: Datentyp Kurzer Text, Feldgröße 50, Eingabe erforderlich auf Ja.
- Abteilung und Funktion: jeweils Kurzer Text mit der Feldgröße 100.
- EMail, Telefon und Mobil: jeweils Kurzer Text mit der Feldgröße 255. Für EMail tragen wir als Beschriftung den Text E-Mail ein.
- Hauptansprechpartner: Datentyp Ja/Nein, Standardwert Nein.
- Bemerkung: Kurzer Text mit der Feldgröße 255.
Die Feldgrößen von Vorname und Nachname entsprechen denen in tblKunden.
Die beiden Nachschlagefelder
KundeID und AnredeID richten wir mit dem Nachschlage-Assistenten ein, genau wie im Artikel Rechnungsverwaltung: Das Datenmodell (www.access-basics.de/719). Wähle dazu in der Entwurfsansicht beim Feld KundeID als Datentyp Nachschlage-Assistent aus und gehe wie folgt vor:
- Die Werte sollen aus einer Tabelle stammen, und zwar aus tblKunden.
- Als Felder übernimmst Du KundeID und Firma.
- Sortiere nach Firma. Die Schlüsselspalte bleibt ausgeblendet.
- Als Beschriftung trägst Du Kunde ein, aktivierst Datenintegrität aktivieren und wählst die Option Löschweitergabe. Den Grund dafür erklären wir im Abschnitt zur Löschweitergabe für die Ansprechpartner.
Für AnredeID gehst Du genauso vor, nur mit der Tabelle tblAnreden und den Feldern AnredeID und Anrede. Die Beschriftung lautet Anrede, und bei der Datenintegrität wählst Du hier Löschen einschränken. Details zu den einzelnen Schritten findest Du im Artikel Tabellen [basics]: Der Nachschlage-Assistent (www.access-basics.de/572).
Die Löschweitergabe für die Ansprechpartner
Im Datenmodell aus dem Artikel Rechnungsverwaltung: Das Datenmodell (www.access-basics.de/719) haben wir auf die Löschweitergabe verzichtet. Ein Kunde mit Rechnungen soll sich nicht löschen lassen, denn die Rechnungen müssen erhalten bleiben. Bei den Ansprechpartnern liegt der Fall anders: Ein Ansprechpartner ohne Kunde ergibt keinen Sinn. Wird ein Kunde gelöscht, sollen auch seine Ansprechpartner gelöscht werden.
Kontrollieren kannst Du das Ergebnis im Beziehungsfenster, das Du über Datenbanktools|Beziehungen öffnest. Falls tblAnsprechpartner dort noch nicht zu sehen ist, ergänzt Du sie über Tabellen hinzufügen. Ein Doppelklick auf die Verbindungslinie zwischen tblKunden und tblAnsprechpartner öffnet den Dialog Beziehungen bearbeiten. Dort müssen Mit referentieller Integrität und Löschweitergabe an verwandte Datensätze aktiviert sein. Falls nicht, holst Du das hier nach (siehe Bild 2).
Bild 2: Die Beziehung zwischen tblKunden und tblAnsprechpartner mit Löschweitergabe
Unser exklusives Angebot für Dich!
(Das Abo ist jederzeit monatlich kündbar)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)

