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
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