Я пытаюсь получить результирующий набор из базы данных MS Access с помощью VBA для Excel. В коде VBA, я построил строку, равную:Excel VBA, ошибка синтаксиса (отсутствующий оператор) в выражении запроса
strSql = "SELECT * FROM Pricing WHERE Account In (''1234'', ''ABCD'') '; "
Обратите внимание, что есть 2 одинарные кавычки вокруг строк в заявлении SQL. Существует также одна цитата перед точкой с запятой. Если я не ошибаюсь, это оценивается как:
SELECT * FROM Pricing WHERE Account In ('1234', 'ABCD') ;
Этот запрос отлично работает при запуске непосредственно в MS Access. Однако в Excel VBA, я получаю ошибку времени выполнения:
Syntax error (missing operator) in query expression 'Account In (''1234'', ''ABCD'') '; '
Обратите внимание, что эта ошибка фактически отрезать первую половину заявления SQL.
Я пробовал несколько вариантов, используя двойные кавычки, двойные кавычки, без кавычек, и т.д. и т.п.
Любые советы?
Спасибо.
Там, кажется, маркированное соответствием цитаты прямо перед вашей запятой что делать, если вы удалите что что произойдет, если вы сделаете statemen.? t '" SELECT * FROM Цена WHERE Account In ('1234', 'ABCD'); ''? – Monkpit
Добавьте 'Debug.Print strSql', запустите код и посмотрите, что он показывает вам в окне Immediate. – HansUp
@HansUp Это действительно то, что решило это для меня. По общему признанию, я довольно плохо разбираюсь в Excel VBA. Благодаря! –