Excel VBA не открывает набор записей - PullRequest
0 голосов
/ 01 октября 2019

У меня есть набор записей ADODB, который до последнего дня работал отлично. Теперь он не откроется даже для одной строки кода. Я дважды проверил, что данные должны быть извлечены. Я должен получить только одну запись при каждом запуске. У меня есть несколько других наборов записей, которые просто отлично извлекают данные из одной и той же таблицы, и они настроены для работы точно так же, поэтому я не уверен, в чем проблема. Это настроено, как показано ниже:

Dim Vals as new adodb.recordset
Dim StrSql as string
Dim MN as string

StrSql = "SELECT DISTINCT [SampleWorksheet].[Price] WHERE [SampleWorksheet].[Model] = '" & MN

If Vals.State = 1 Then Vals.Close
vals.Open strSQL, cnn, adOpenKeyset, adLockOptimistic


Vals.close

Я пытался открыть с помощью set vals = cnn.execute, но набор записей отказывается открываться. Он не выдает ошибку, он просто зацикливается навсегда, поскольку он находится внутри Do While Not Vals.EOF и никогда не достигает EOF, потому что он не открыт. Соединение настроено для работы против себя и работает корректно во всех моих файлах.

Буду признателен за любой совет.

1 Ответ

1 голос
/ 01 октября 2019

может попробовать

Dim Vals as adodb.recordset

StrSql = "SELECT DISTINCT Price FROM SampleWorksheet WHERE Model = '" & MN & "'"
Set Vals = cnn.execute(StrSql)
...