Я пытаюсь запросить таблицу .xls с помощью VBScript, но у меня возникла проблема при попытке создать поле.
Я подключаюсь к электронной таблице следующим образом.Поле поиска проблем при запросе электронной таблицы
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataSource & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Затем я пытаюсь запросить таблицу. Поле, которое меня интересует, содержит десятичные значения, но также может содержать символ * в качестве подстановочного знака. Так что я пытаюсь сделать, это указать поле в varchar, чтобы я мог проверить *.
Set objRecordset = CreateObject("ADODB.Recordset")
StrQuery = "SELECT * FROM [Sheet1$] WHERE F1 >= 2.3456 OR CAST(F1 AS VARCHAR) = '*'"
objRecordset.Open StrQuery, objConnection, adOpenDynamic, adLockOptimistic
Это вызывает неуказанную ошибку 80004005. Что я здесь делаю неправильно?
ПРИМЕЧАНИЕ. Я также попробовал CONVERT, но получил ошибку Undefined Function.
Мне также нужно сравнить числовые значения в поле, поэтому их преобразование вызовет больше проблем. Скажем, у меня есть запрос вроде SELECT * FROM [Sheet1 $] WHERE F1> = 2.34 И CAST (F1 AS VARCHAR) = '*' – Tester101
Прочитайте весь лист и выполните фильтрацию в vbscript? – Andomar
Это то, чего я пытаюсь избежать, так как я думаю, что запрос будет работать намного быстрее, чем фильтр, который я бы написал. – Tester101