Freigeben über


Anführungszeichen in Zeichenfolgenausdrücken

In Situationen, in denen Sie Zeichenfolgen verketten müssen, müssen Sie eine Zeichenfolge vielleicht in eine andere Zeichenfolge oder eine Zeichenfolgenvariable in eine Zeichenfolge einbetten. In den folgenden Situationen kann es erforderlich sein, eine Zeichenfolge in einer anderen Zeichenfolge zu verschachteln:

  • Beim Angeben von Kriterien für Domänen-Aggregatfunktionen.

  • Beim Angeben von Kriterien für die Find-Methoden.

  • Beim Angeben von Kriterien für die Filter- oder die ServerFilter-Eigenschaft eines Formulars.

  • Beim Erstellen von SQL-Zeichenfolgen.

In all diesen Fällen muss Access eine Zeichenfolge an das Access-Datenbankmodul übergeben. Wenn Sie z. B. das criteria-Argument für eine Aggregatfunktion für Domänen angeben, muss Microsoft Access alle Variablen auswerten, sie zu einer Zeichenfolge verketten und schließlich die ganze Zeichenfolge an das Access-Datenbankmodul übergeben.

Wenn Sie eine numerische Variable einbetten, wertet Access die Variable aus und verkettet den Wert einfach in der Zeichenfolge. Handelt es sich bei der Variablen jedoch um eine Textzeichenfolge, dann enthält die sich ergebende Kriterienzeichenfolge eine Zeichenfolge innerhalb einer Zeichenfolge. Eine Zeichenfolge innerhalb einer Zeichenfolge muss durch Zeichenfolgen-Trennzeichen gekennzeichnet werden. Andernfalls kann das Access-Datenbankmodul nicht feststellen, welcher Teil der Zeichenfolge den Wert darstellt, den Sie verwenden möchten.

Die Zeichenfolgen-Trennzeichen sind eigentlich kein Bestandteil der Variable, aber sie müssen in die Zeichenfolge für das Argument criteria eingeschlossen werden. Es gibt drei Möglichkeiten, um die Zeichenfolge für das Argument criteria zusammenzusetzen. Jede Methode führt zu einem criteria-Argument, das wie eines der folgenden Beispiele aussieht.

"[LastName] = 'Smith'"
"[LastName] = ""Smith"""

Verwenden von Hochkommas

Einfache Anführungszeichen sollten so in das criteria-Argument eingeschlossen werden, dass der Wert (wenn der Wert der Variablen in die Zeichenfolge verkettet wird) innerhalb der einfachen Anführungszeichen eingeschlossen wird. Nehmen wir beispielsweise an, das criteria-Argument muss eine Zeichenfolgenvariable namens strName enthalten. Erstellen Sie das criteria-Argument wie im folgenden Beispiel:

"[LastName] = '" & strName & "'"

Wenn die Variable strName ausgewertet und mit der Zeichenfolge criteria verkettet ist, sieht die Zeichenfolge criteria folgendermaßen aus:

"[LastName] = 'Smith'"

Hinweis

Bei dieser Syntax sind keine Hochkommas im Wert der Variablen selbst zulässig. Wenn der Wert der Zeichenfolgenvariable ein Hochkomma einschließt, dann generiert Access einen Laufzeitfehler. Wenn Ihre Variable Werte mit Hochkommas darstellen kann, sollten Sie die Verwendung einer der anderen Syntaxformen in Betracht ziehen, die in den folgenden Abschnitten beschrieben werden.

Verwenden von Anführungszeichen

Doppelte Anführungszeichen sollten so in das criteria-Argument eingeschlossen werden, dass der Wert (wenn der Wert der Variablen ausgewertet wird) innerhalb der doppelten Anführungszeichen eingeschlossen wird. Innerhalb einer Zeichenfolge müssen Sie zwei Paar Anführungszeichen verwenden, um ein Paar Anführungszeichen darzustellen. Erstellen Sie das criteria-Argument wie im folgenden Beispiel:

"[LastName] = """ & strName & """"

Wenn die Variable strName ausgewertet und mit dem criteria-Argument verkettet wird, wird jedes Paar Anführungszeichen durch ein einzelnes Anführungszeichen ersetzt. Sie erhalten das folgende criteria-Argument:

"[LastName] = 'Smith'"

Diese Syntax erscheint vielleicht komplizierter als bei der Verwendung von Hochkommas, aber sie ermöglicht das Einbetten einer Zeichenfolge, die ein Hochkomma innerhalb der Zeichenfolge Kriterien enthält. Außerdem haben Sie die Möglichkeit, mehrere Zeichenfolgen in der eingebetteten Zeichenfolge zu verschachteln.

Verwenden einer Variablen, die Anführungszeichen darstellt

Sie können eine Zeichenfolgenvariable erstellen, die Anführungszeichen darstellt, und diese Variable zusammen mit dem Variablenwert mit der Zeichenfolge für das criteria-Argument verketten. Die ANSI-Darstellung für doppelte Anführungszeichen ist Chr$(34); Sie können diesen Wert einer Zeichenfolgenvariablen mit dem Namen strQuote zuweisen. Sie könnten dann das criteria-Argument wie im folgenden Beispiel erstellen:

"[LastName] = " & strQuote & strName & strQuote

Wenn die Variablen ausgewertet und mit dem Argument criteria verkettet werden, wird das Argument criteria wie folgt angezeigt:

[LastName] = "Smith"

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.