Проблема VBA с конкатенацией строк - PullRequest
1 голос
/ 02 сентября 2010

Я хочу создать запрос, подобный этому:

SQL = SQL + "Libelle = \"" + Me.Libelle + "\" AND "

, потому что, если у меня возникнут проблемы с моими данными, если я напишу так:

SQL = SQL + "Libelle = '" + Me.Libelle + "' AND "

, но есть проблемас \ "Я привык использовать его в Java (я не разработчик VBA: s) Как решить это? thnx

Ответы [ 3 ]

2 голосов
/ 03 сентября 2010

В VBA используйте & для объединения строк, + приведет к неожиданным результатам.Jet SQL использует две одинарные кавычки, чтобы избежать одной кавычки.Это нормально использовать Заменить, чтобы получить это.

 SQL = SQL & "Libelle = '" & Replace(Me.Libelle,"'","''") & "' AND "
0 голосов
/ 03 сентября 2010

В VB вы получаете буквальную кавычку с двумя кавычками. "abc" "def" возвращает abc "def.

То, что вы хотите:

SQL = SQL & "Libelle = """ & Me.Libelle & """ AND "
0 голосов
/ 02 сентября 2010

Решение - это конкатенация с Chr (34):)

SQL = SQL + "Libelle = " + Chr(34) + Me.Libelle + Chr(34) + " AND "
...