Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 21.09.09 |
Bedingte Textverkettung mit Trennzeichen Eine Funktion um beliebig viele Texte zu verketten mit seinem jeweiligen Trennzeichen, welches nur dann verwenden wird, wenn der Text nicht leer ist. | ||
Autor: Jean Pierre Allain | Bewertung: | Views: 11.060 |
www.abiss.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Häufig müssen Texte mit Trennzeichen Verkettet werden:
[Nachname] & ", " & [Vorname] -> "Allain, Jean Pierre"
Sollte allerdings das Feld [Vorname] null sein, erhält man folgendes:
"Allain, "
Mit IF oder IIF kann man diesen Fall abfangen.
Bei längeren Verkettung wie diese:
[Anrede] & " " & [Titel] & " " & [Vorname] & " " & [Nachname]
wird es schnell unübersichtlich.
Daher habe ich folgende Function dafür erstellt:
Public Function StrConcatDelim(ParamArray Text()) As String Dim tmp As String, i As Long tmp = Text(0) & "" For i = 1 To UBound(Text) Step 2 If tmp = "" Or Text(i + 1) & "" = "" Then tmp = tmp & Text(i + 1) Else tmp = tmp & Text(i) & Text(i + 1) End If Next i StrConcatDelim = tmp End Function
Aufrufbeispiel:
Dim sText As String sText = StrConcatDelim([Anrede], " ", [Titel], " ", [Vorname], " ", [Nachname]) sText = StrConcatDelim([Nachname], ", ", [Vorname])
Beim Aufruf der Funktion ist darauf zu achten, mindestens 3 Parameter oder 5 oder 7 oder 9 usw.. Parameter zu übergeben.