Mit Bild
Microsoft Access eignet sich vortrefflich für das Verwalten von Adressen. Früher oder später sollen diese Adressen in einem Bericht angezeigt werden - entweder in Form einer Anschrift oder auch in einem Bericht zum Erstellen von Adress-Etiketten. Mit einigen Tricks stellt der Bericht die Anschriften ganz nach Wunsch dar.
Mit Bild
Access-Berichte eigenen sich perfekt zum Erstellen von Briefen oder Adressetiketten - einzige Voraussetzung ist eine Tabelle mit den gewünschten Adressdaten. Damit lassen sich leicht Briefe an eine Reihe von Adressaten versenden oder Etikettenbögen bedrucken. Die zugrunde liegende Tabelle sieht etwa wie folgt aus:
Mit Bild
Diese Tabelle dient als Datenherkunft für den Ausdruck von Adressen per Bericht.
Mit Bild
Hat man einen neuen Bericht erstellt und diesem die passende Adresstabelle oder eine darauf basierende Abfrage als Datenherkunft zugewiesen, kann es schon losgehen:
Mit Bild
Ziehen Sie die gewünschten Felder aus der Feldliste in den Entwurf und passen Sie diese wie gewünscht an. Für zusammengesetzte Felder wie etwa Anrede/Titel/Vorname/Nachname oder PLZ/Ort verwenden Sie neue, leere Textfelder, für die Sie die in der Abbildung zu erkennenden Ausdrücke als Steuerelementinhalt festlegen:
Mit Bild
Dieser Entwurf eines Berichts könnte etwa für den Ausdruck von Adressetiketten herhalten.
Mit Bild
Das Ergebnis ist schon nicht schlecht, offenbart aber gewisse Schwächen: Sobald eines der Felder nicht gefüllt ist, entstehen entweder eine leere Zeile (wie bei der Firma oder dem Namen der Person) oder unregelmäßige Zwischenräume - etwa wenn eine Person keinen Titel trägt.
Mit Bild
Bei allzu unflexibler Berichtsgestaltung wirken sich fehlende Informationen in den zugrunde liegenden Daten unangenehm aus.
Mit Bild
Um die durch fehlende Daten entstehenden Zwischenräume zu schließen, wenden Sie folgenden Trick an: Entfernen Sie einfach die einzelnen Felder und ersetzen Sie diese durch ein großes Feld mit zusammengesetztem Steuerelementinhalt. Um die gleiche Darstellung wie mit obigem Bericht zu erreichen, verwenden Sie dabei folgenden Ausdruck und stellen die Eigenschaft Vergrößerbar des Textfeldes auf den Wert Ja ein:
Mit Bild
=[Firma] & Zchn(13) & Zchn(10) & [Anrede] & " " & [Titel] & " " & [Vorname] & " " & [Nachname] & Zchn(13) & Zchn(10) & [Strasse] & Zchn(13) & Zchn(10) & [PLZ] & " " & [Ort] & Zchn(13) & Zchn(10) & [Land]
Mit Bild
Der Bericht enthält nur noch ein Textfeld mit einem aus den benötigten Feldern zusammengesetzten Ausdruck. Die Zoom-Ansicht erhalten Sie, wenn Sie beim Bearbeiten des Steuerelementinhalts die Tastenkombination Umschalt + F2 betätigen.
Mit Bild
Der Ausdruck liefert genau das gleiche Ergebnis wie zuvor, allerdings können Sie hier durch den Einsatz der Wenn-Funktion prüfen, ob bestimmte Felder gefüllt sind und die richtigen Maßnahmen ergreifen. Der folgende Teilausdruck prüft etwa, ob der Adressdatensatz eine Firma enthält. Falls ja, ergibt der Ausdruck den Firmennamen plus angehängten Zeilenumbruch zurück, falls nein, eine leere Zeichenkette:
Mit Bild
=Wenn([Firma];[Firma] & Zchn(13) & Zchn(10);"")
Mit Bild
Unter Berücksichtigung eventuell fehlender Firmenbezeichnung, Person oder Titel sieht der komplette Ausdruck wie folgt aus (der besseren Übersicht halber mit Zeilenumbrüchen und Einrückungen versehen):
Mit Bild
=Wenn( [Firma]; [Firma] & Zchn(13) & Zchn(10); "" ) & Wenn( [Anrede] Oder [Titel] Oder [Vorname] Oder [Nachname]; [Anrede] & " " & Wenn( [Titel]; [Titel] & " "; "" ) & [Vorname] & " " & [Nachname] & Zchn(13) & Zchn(10); "" ) & [Strasse] & Zchn(13) & Zchn(10) & [PLZ] & " " & [Ort] & Zchn(13) & Zchn(10) & [Land]
Mit Bild
Das Ergebnis sieht dann auch schon viel ansprechender aus:
Mit Bild
Der Adressen-Bericht ohne störende Leerzeilen und -zeichen
Mit Bild
Vereinfachung dank Plus-Verkettung
Neben dem kaufmännischen Und (&) können Sie auch mit dem Plus-Zeichen (+) Strings verketten. Dabei muss man allerdings ein wenig aufpassen, denn: Wenn nur eines der mit + verketteten Elemente der Zeichenkette den Wert Null hat, erhält der ganze Ausdruck den Wert Null. Beispiel:
Mit Bild
[Firma] + Zchn(13) + Zchn(10)
Mit Bild
gibt den Firmennamen gefolgt von einem Zeilenumbruch aus, wenn das Feld Firma gefüllt ist, anderenfalls hat der ganze Ausdruck den Wert Null - damit fällt dann auch der Zeilenumbruch flach.
Wie verkettet man nun die Felder des Berichts so, dass wegen eines fehlenden Feldinhalts nicht direkt die komplette Adress-Zeichenkette den Wert Null enthält und dementsprechend nicht ausgegeben wird? Hier kommt wieder das kaufmännische Und zum Zuge: Die besondere "Arithmetik" der String-Verkettung lautet "+ vor &". Das heißt, dass mit "+" verkettete Strings zuerst "berechnet" werden und dann erst die Verkettung mit "&" erfolgt.
Den obigen Ausdruck mit den vielen Wenn-Bedingungen können Sie durch den folgenden Ausdruck ersetzen:
Mit Bild
=[Firma]+Zchn(13)+Zchn(10) & [Anrede]+" " & [Titel]+" " & [Vorname]+" " & [Nachname]+Zchn(13)+Zchn(10) & [Strasse]+Zchn(13)+Zchn(10) & [PLZ]+" " & [Ort]+Zchn(13)+Zchn(10) & [Land]
Mit Bild
Wichtig ist: Wenn eine Zeile aus mehr als einem Element besteht, das theoretisch den Wert Null enthalten kann, sollten Sie vorsichtig mit dem Plus-Zeichen umgehen. Der folgende Ausdruck liefert beispielsweise den Wert Null zurück, wenn nur einer der Werte Null ist:
Mit Bild
[Anrede]+" "+[Titel]+" "+[Vorname]+" "+[Nachname]
Mit Bild
Hier bauen Sie einige &-Zeichen als "Bremse" ein, damit jeweils nur das nicht vorhandene Feld inklusive nachfolgendem Leerzeichen nicht ausgegeben wird:
Mit Bild
[Anrede]+" " & [Titel]+" " & [Vorname]+" " & [Nachname]
Mit Bild
Fehlt hier etwa die Anrede, fällt nur der Teil
Mit Bild
[Anrede] + " " weg.