2016-03-07 4 views
0

Использование доступа 2010, Windows 7, SQL ServerОпять же переменная в том, где статья

Невозможно получить это. Попросите SQL-запрос, который был сгенерирован в сетке qbe, а затем добавлен в VBA. Версия, запускаемая имеет буквальный Transaction_Table.Account_Number и выглядит следующим образом:

"WHERE (((dbo_Transaction_Table.Sku)=""Transfer"") 
    AND ((dbo_Transaction_Table.Description) Like ""%TO%"") 
    AND ((dbo_Transaction_Table.Account_Number)=""655812""));" 

Но когда я пытаюсь заменить буквальный с содержимым текстового поля:

"WHERE (((dbo_Transaction_Table.Description) Like ""%Transfer To%"") 
    AND ((dbo_Transaction_Table.Account_Number)=& Chr$(34) & Me.accntNo & Chr$(34)));"` 

Я получаю синтаксический ERR (недостающий оператор) в выражении запроса

(((dbo_Transaction_table.Description) like "%Transfer To%") 
And ((dbo_Transaction_Table.Account_Number)= & Chr$(34) & Me.accntNo & Chr$(34))))` 

ответ

0

Это звучит, как вы просто не хватаете цитаты между константной строкой и инжектированных значениями

"WHERE (((dbo_Transaction_Table.Description) Like ""%Transfer To%"") 
AND ((dbo_Transaction_Table.Account_Number)=" & Chr$(34) & Me.accntNo & Chr$(34) & "));" 

Хотя вы можете вместо этого использовать параметры. Я не специалист по работе с VBA, но там должно быть много примеров.

+0

Он отлично работал, используя ваше предложение. Что вы подразумеваете под запросом параметра? Является ли создание запроса «на лету»? – jpl458

Смежные вопросы