BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
|
|
Среда, 21 Февраля 2018 г. 10:18
+ в цитатник
Есть код, который работает чётко:
Private Sub Кнопка23_Click()
Dim d As Dictionary
Dim s As String
Dim rs As ADODB.Recordset
Dim sSql As String
sSql = "SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=" & sPath & ";pwd=" & sPass & "];"
Debug.Print sSql
Set rs = CurrentProject.Connection.Execute(sSql)
rs.MoveFirst
Do Until rs.EOF
s = rs.Fields("Наименование проекта")
Set d = GetKust2(s)
For Each a In d
If Len(a) > 4 Or a = "Нет" Then
фЧтоКорректировать.AddItem a & " - " & s, 0
End If
Next a
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
Сам SQL запрос получается таким:
SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=C:\Art\МАКРОСЫ\MS_Access\ПроблеммныеВопросыИльнура\serv_BD.accdb;pwd=rf];
Но если SQL запрос немного откорректировать (строка 6):
Private Sub Кнопка23_Click()
Dim d As Dictionary
Dim s As String
Dim rs As ADODB.Recordset
Dim sSql As String
sSql = "SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=" & sPath & ";pwd=" & sPass & "] WHERE [Наименование проекта] LIKE " & sMask1 & ";"
Debug.Print sSql
Set rs = CurrentProject.Connection.Execute(sSql)
rs.MoveFirst
Do Until rs.EOF
s = rs.Fields("Наименование проекта")
Set d = GetKust2(s)
For Each a In d
If Len(a) > 4 Or a = "Нет" Then
фЧтоКорректировать.AddItem a & " - " & s, 0
End If
Next a
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
То он почему-то перестаёт работать, выскакивает ошибка:
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.На строке:
rs.MoveFirst
Сам SQL запрос выглядит так:
SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=C:\Art\МАКРОСЫ\MS_Access\ПроблеммныеВопросыИльнура\serv_BD.accdb;pwd=rf] WHERE Проекты.[Наименование проекта] LIKE '*бустройств*уст*кважи*#*';
И выполняется без проблем, если его выполнить, через создание запроса, пользовательскими средствами MS Access. Возвращает следующее:
см. КАРТИНКА
В чём ошибка не могу понять? http://www.sql.ru/forum/1285928/bof-ili-eof-imeet-znachenie-true-libo-tekushhaya-zapis-udalena-dlya-vypolnyaemoy-operacii
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-