Auf Rechnungen und Briefen steht die Anschrift in mehreren Zeilen: Firma, Name, Straße, Postleitzahl und Ort, bei Auslandsadressen auch das Land. Nicht jede Adresse hat alle Bestandteile. Privatkunden haben keine Firma, und bei Firmen fehlt manchmal der Ansprechpartner. Legen wir für jede Zeile ein eigenes Textfeld in den Bericht, bleiben ohne weitere Maßnahmen Lücken. Wie Du die Anschrift mit einer einzigen Formel zusammenstellst und fehlende Teile samt Zeilenumbruch weglässt, liest Du in diesem Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank BerichteBasics_Adressblock.accdb. Sie enthält die Tabelle tblAdressen und die Berichte rptAdressenEinzeln und rptAdressen.
Die Tabelle tblAdressen
Die Tabelle tblAdressen enthält die Felder AdresseID (Autowert), Firma, Anrede, Vorname, Nachname, Strasse, PLZ, Ort und Land. Bild 3 zeigt den Entwurf der Tabelle.
Bild 1: Entwurf der Beispieltabelle
Die Tabelle hat sieben Datensätze (siehe Bild 4).
Bild 2: Beispieltabelle mit einige Datensätzen
Die Adressen 1 bis 4 und 7 liegen in Deutschland, die Adresse 5 in Österreich und die Adresse 6 in der Schweiz. Die Adressen decken die Fälle ab, auf die wir achten müssen:
- Adresse 1: Firma mit Ansprechpartner.
- Adresse 2: Firma ohne Ansprechpartner. Anrede, Vorname und Nachname haben den Wert Null.
- Adresse 3: Privatperson mit Anrede, Vorname und Nachname. Firma hat den Wert Null.
- Adresse 4: Privatperson, von der nur der Nachname bekannt ist.
- Adresse 5: Firma in Österreich. Das Land soll in der Anschrift stehen.
- Adresse 6: Privatperson in der Schweiz ohne Vorname.
- Adresse 7: Privatperson. Firma enthält eine leere Zeichenfolge statt Null. Diesen Fall behandeln wir im Abschnitt Sonderfälle.
Der Bericht mit einzelnen Textfeldern
Zuerst bauen wir die Anschrift mit einem Textfeld je Zeile. Wir legen über Erstellen|Berichte|Berichtsentwurf einen neuen Bericht an und stellen die Eigenschaft Datensatzquelle auf tblAdressen ein.
Im Detailbereich legen wir über Berichtsentwurf|Steuerelemente|Textfeld fünf Textfelder untereinander an. Jedes Textfeld erhält in der Eigenschaft Name den folgenden Namen und in der Eigenschaft Steuerelementinhalt den dahinter genannten Wert:
- txtFirma: Firma
- txtName: =[Anrede] & “ “ & [Vorname] & “ “ & [Nachname]
- txtStrasse: Strasse
- txtOrt: =[PLZ] & “ “ & [Ort]
- txtLand: Land
Ein Ausdruck beginnt mit dem Gleichheitszeichen (=), und Feldnamen setzen wir in eckige Klammern ([ ]). Das Und-Zeichen (&) verknüpft die Teile zu einem Text, und die Anführungszeichen („) fassen das Leerzeichen als Text ein. Wir speichern den Bericht als rptAdressenEinzeln.
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)

