2016-09-16 4 views
0

Следующая SQL-запрос дает эту ошибку:Сравнение строк с помощью драйвера ODBC Excel

"[Microsoft] [ODBC Excel Driver] Слишком мало параметров Ожидаемые 1."

Dim adoRS As New ADODB.Recordset 

adoRS.Open "SELECT CStr(BOX) AS 'STRBOX',SLOT FROM [BIOSAMPLES$] WHERE STRBOX = '" & CStr(nBoxID) & "'" & " ORDER BY SLOT", adoConn 

Что не так?

+2

вы буквально хотите передать "ПРМ (Box)" в БД? Разве вы не должны сначала оценивать это в vba? – User632716

+0

Привет. Нет, потому что драйвер ODBC Excel не понимает функции CAST или CONVERT, но только CStr. Проблема заключается в том, что псевдоним STRBOX не найден, когда вычисляется предложение WHERE. – user2641103

+0

Это все ваш код? Вы сначала открываете «ADODB.Connection»? – Jordan

ответ

0

Хорошо, я нашел обходное решение этой глупой проблемы с Excel. Это мое решение:

Dim adoRS As New ADODB.Recordset 

adoRS.Open "SELECT BOX,SLOT FROM [BIOSAMPLES$] WHERE CStr('B' & BOX) = 'B" & CStr(nBoxID) & "'" & " ORDER BY SLOT", adoConn 

Cheers.-

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