Access97: Leerzeichen mit Bedingung in Bericht

Hallo,
ich habe eine Adresendatenbank u. a. mit den Feldern Anrede, Vor- und Nachnamen. In einem Bericht habe ich ferner folgendes Textfeld, mit dem mir die Feldinhalte als Zeichenkette mit Leerzeichen wiedergegeben werden:
=([Anrede]) & " " & ([Vorname]) & " " & ([Nachname])
Problem: Falls das Feld Anrede leer ist, erscheint trotzdem das erste Leerzeichen und der Text ist dann dementsprechend ein Stück eingerückt.
Mögliche Lösung: Kann ich im Bericht ein Leerzeichen mit Bedingung einfügen, etwa - falls [Anrede] leer dann …
Grüße, Stefan

Hallo Stefan,

schreib´s doch einfach so:

=Glätten([Anrede]) & " " & ([Vorname]) & " " & ([Nachname])

gruss
moritzbock

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

Der Konkatenationsoperator „&“ ist erst seit der Einführung von Access Basic mit Access 2.0 hinzugekommen.
Vorher gab es nur den einfachen Konkatenationsoperator „+“, der anders mit Nullwerten umging: bei NULL auf einer oder beiden Seiten des Operators ist das Ergebnis NULL, also:

NULL + " " ist NULL
" " + NULL ist NULL

Aber:

„Herr“ + " " ist "Herr "

Das ist übrigens das Standardverhalten des Konkatenationsoperators, wie es ANSI-SQL schon seit jeher definiert.

Glücklicherweise gibt es diesen Operator nach wie vor, er wurde aber durch den „&“-Operator verdrängt, weil sich niemand wirklich gern mit NULL-Werten beschäftigt :smile:

Langer Rede, kurzer Sinn: durch geschickte Kombination von „&“ und „+“ erreichst du das gewünschte Ergebnis ganz elegant:

[Anrede] + " " & [Vorname] + " " & [Nachname]

Gruß

J.

Hallo,
der Befehl Glätten hat nicht funktioniert. Jedoch klappt folgende Bedingung:

WENN Anrede gleich Null DANN Zeichenkette aus Vor- und Nachnamen SONST Zeichenkette aus Anrede, Vor- und Nachmen

=Wenn(IstNull([Anrede]);[Vorname] & " " & [Nachname];[Anrede] & " " & [Vorname] & " " & [Nachname])

Danke für die Hilfe,
Stefan