powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
4 сообщений из 4, страница 1 из 1
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
    #39605305
АртЮганск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код, который работает чётко:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
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 запрос получается таким:
Код: plsql
1.
SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=C:\Art\МАКРОСЫ\MS_Access\ПроблеммныеВопросыИльнура\serv_BD.accdb;pwd=rf];


Но если SQL запрос немного откорректировать (строка 6):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
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, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.
На строке:
Код: vbnet
1.
rs.MoveFirst


Сам SQL запрос выглядит так:
Код: plsql
1.
SELECT [Наименование проекта] FROM Проекты IN '' [MS Access;DATABASE=C:\Art\МАКРОСЫ\MS_Access\ПроблеммныеВопросыИльнура\serv_BD.accdb;pwd=rf] WHERE Проекты.[Наименование проекта] LIKE '*бустройств*уст*кважи*#*';


И выполняется без проблем, если его выполнить, через создание запроса, пользовательскими средствами MS Access. Возвращает следующее:
см. КАРТИНКА
В чём ошибка не могу понять?
...
Рейтинг: 0 / 0
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
    #39605315
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АртЮганск В чём ошибка не могу понять? При использовании ADODB в качестве шаблона произвольного набора символов используется совсем даже не звёздочка...
...
Рейтинг: 0 / 0
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
    #39605316
Что у вас в переменной sMask1? Подозреваю, что там не те символы шаблона.
Видимо запрос не возвращает записи, поэтому BOF или EOF имеет значение True
...
Рейтинг: 0 / 0
BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
    #39605331
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АртЮганск
Код: vbnet
1.
rs.MoveFirst

тоже не нужно, т.к. набор получаешь ForwardOnly
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции ...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]