Поделиться через


Кавычки в строковых выражениях

В ситуациях, когда необходимо создать строки для объединения, может потребоваться внедрить строку в другую строку или строковую переменную в строку. Ситуации, в которых может потребоваться вложить одну строку в другую, включают:

  • При указании условий для агрегатных функций домена.

  • При указании условий для методов Find .

  • При указании условий для свойства Filter или ServerFilter формы.

  • При создании строк SQL.

Во всех этих экземплярах Access должен передавать строку ядру СУБД Access. Например, при указании аргумента условия для агрегатной функции домена Access необходимо оценить все переменные, сцепить их в строку, а затем передать всю строку в ядро СУБД Access.

При внедрении числовой переменной Access вычисляет переменную и просто объединяет значение в строку. Однако если переменная является текстовой строкой, результирующая строка условия будет содержать строку в строке. Строка в строке должна быть определена разделителями строк. В противном случае ядро СУБД Access не сможет определить, какая часть строки является нужным значением.

Строковые разделители на самом деле не являются частью самой переменной, но они должны быть включены в строку в аргументе условия . Существует три разных способа создания строки в аргументе условия . Каждый метод приводит к подобию аргумента условия , который выглядит как в одном из следующих примеров.

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

Включить одинарные кавычки

В аргумент условия следует включить одинарные кавычки таким образом, чтобы при сцеплях значения переменной в строку оно заключалось в одинарные кавычки. Например, предположим, что аргумент условия должен содержать строковую переменную с именем strName. Аргумент условия можно создать, как показано в следующем примере:

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

Когда переменная strName вычисляется и объединяется в строку условия , строка условия становится:

"[LastName] = 'Smith'"

Примечание.

Этот синтаксис не позволяет использовать апострофы (') в значении самой переменной. Если значение строковой переменной содержит апостроф, Access создает ошибку во время выполнения. Если переменная может представлять значения, содержащие апострофы, рассмотрите возможность использования одной из других форм синтаксиса, описанных в следующих разделах.

Включить двойные кавычки

Следует включить двойные кавычки в аргумент условия таким образом, чтобы при вычислении значения переменной оно заключалось в кавычки. В строке необходимо использовать два набора двойных кавычек, чтобы представить один набор двойных кавычек. Аргумент условия можно создать, как показано в следующем примере:

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

Когда переменная strName вычисляется и объединяется с аргументом условия , каждый набор из двух двойных кавычек заменяется одной кавычки. Аргумент условия становится следующим:

"[LastName] = 'Smith'"

Этот синтаксис может показаться более сложным, чем синтаксис одной кавычки, но он позволяет внедрить строку, содержащую апостроф, в аргумент условия . Он также позволяет вложить одну или несколько строк во внедренную строку.

Включение переменной, представляющей кавычки

Можно создать строковую переменную, представляющую двойные кавычки, и объединить эту переменную в аргумент условия вместе со значением переменной. Представление ANSI для двойных кавычек : Chr$(34)это значение можно присвоить строковой переменной с именем strQuote. Затем можно создать аргумент условия , как показано в следующем примере:

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

Когда переменные вычисляются и объединяются в аргумент условия , аргумент условия становится следующим:

[LastName] = "Smith"

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.