Access Anfänger: Zusammenfügen von Zeichenfolgen (String-Addition)

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte eine Zeichenfolge (String) und den Inhalt einer Variablen zu einer Gesamt-Zeichenfolge zusammenfügen (String-Addition). Die Variable kann entweder den Datentyp Text (String) oder Zahl haben. Das Zusammenfügen geschieht grundsätzlich mittels des Verkettungsoperators & (Kaufmanns-Und, engl. Ampersand).

Einfache String-Addition

Zusammenfügen einer Zeichenfolge und dem Inhalt einer Variablen

  • Addition eines Strings und einer Zahl
Dim lngZahl As Long
Dim strText As String
 
lngZahl = 15
strText = "Dies ist ein Text und die Zahl " & lngZahl
MsgBox strText

Hinweis: Access konvertiert die Zahl automatisch in einen String, wenn die Zahl zu einem String hinzugefügt (addiert) wird.

  • Addition eines Strings und eines Strings
Dim strText1 As String
Dim strText As String
 
strText1 = "Inhalt der Text-Variablen"
strText = "Dies ist ein Text und der " & strText1
MsgBox strText

String innerhalb eines Strings

Einbettung einer Long- oder String-Variablen als Argument innerhalb eines Strings

Dim strSQL As String


1. SQL-String mit einer Zahl als Argument

  • Direkte Eingabe der Zahl:
strSQL = "SELECT * FROM Kunden WHERE KundenNr = 92"
  • Übergabe der Zahl als Variable:
Dim lngKdNr As Long
lngKdNr = 92
strSQL = "SELECT * FROM Kunden WHERE KundenNr = " & lngKdNr


2. SQL-String mit einem String als Argument
Das String-Argument muss in diesem Fall in Hochkommata (einfache Anführungszeichen) gesetzt werden, da hier ein String in einen anderen Strings eingebettet wird.

  • Direkte Angabe des Strings:
strSQL = "SELECT * FROM Kunden WHERE Kontaktperson = 'Maria Anders'"
  • Übergabe des Strings mittels einer Variablen:
Dim strName As String
strName = "Maria Anders"
strSQL = "SELECT * FROM Kunden WHERE Kontaktperson = '" & strName & "'"
  • Übergabe des Strings mittels eines Steuerelementinhalts:
strSQL = "SELECT * FROM Kunden WHERE Kontaktperson = '" & Me!MeinNamefeld & "'"


3. String-Addition unter Verwendung des Like-Operators (Stern * als Platzhalter):
Beispiel: Zusammenstellung eines Formularfilters

  • Schreibweise ohne Variable:
Forms!Kunden.Filter = "Kontaktperson Like '*Maria*'"
  • Schreibweise mit einer Variablen:
Dim strSuchbegriff as String
strSuchbegriff = "Maria"
Forms!Kunden.Filter = "Kontaktperson Like '*" & strSuchbegriff & "*'"

String-Addition mit dem +-Operator

Access akzeptiert alternativ auch die Verwendung des +-Operators für die Verkettung von Strings. Das ist in bestimmten Anwendungsfällen von Vorteil.

Regel: Wenn bei einer Addition mit dem +-Operator einer der Summanden Null ist, ist die Summe (Inhalt der Klammer) auch Null.


Beispiel 1:

Dim strAdresse As String
strAdresse = Trim(Me!Straße & " " & Me!Hausnummer) & (", " + Me!Ort)

oder alternativ: Verwendung als Steuerelementinhalt:
=Glätten([Straße] & " " & [Hausnummer]) & (", "+[Ort])

Erklärung:
Wenn der Ort nicht existiert, also Me!Ort = Null ist, wird der ganze Inhalt der Klammer (", " + Me!Ort) zu Null, und wird daher nicht angezeigt. Das bedeutet, auch das Komma und das Leerzeichen vor dem Ort werden dann nicht angezeigt.
Bei der Verwendung des &-Operators würde das Komma und das Leerzeichen auch bei fehlendem Ort angezeigt.


Beispiel 2:

Dim strMitarbeiter As String
strMitarbeiter = (Me!NachnameVorname + ", ") & ("(" + Me!Abteilung + ") ")

Auch die nicht benötigten Klammern bei leerem Feld Abteilung werden nicht angezeigt.

Wiki-Links