powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Операция не поддерживается для объектов данного типа
8 сообщений из 8, страница 1 из 1
Операция не поддерживается для объектов данного типа
    #39173578
FindFirst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim db As DAO.Database
Dim rst As Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("tblPath")
rst.MoveFirst
rst.FindFirst "[PathName] = 'Base'"
rst.Edit
rst.Fields("PathName") = "Base"
rst.Fields("PathValue") = "D:\DataBase"
rst.Fields("PathNote") = "Путь к базе данных программы"
rst.Update
rst.Close



Собственно на строке rst.FindFirst "[PathName] = 'Base'" отладка и останавливается с ошибкой Операция не поддерживается для объектов данного типа. Что не так?
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39173580
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FindFirst,
Код: sql
1.
Set rst = db.OpenRecordset("select * from tblPath")
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39173584
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FindFirst,
или так 1183872
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39173614
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ошибка в том, что не указан тип рекордсета и он по умолчанию ADODB. Пробуйте
Код: vbnet
1.
Dim rst As DAO.Recordset
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39173820
Код: sql
1.
2.
Dim rst As DAO.Recordset
Set rst = db.OpenRecordset("select * from tblPath")

Еще совет - Метод rst.FindFirst может и не найти запись, поэтому рекомендуется проверить rst.NoMatch.
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39175196
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldВозможно ошибка в том, что не указан тип рекордсета и он по умолчанию ADODB. Пробуйте
Код: vbnet
1.
Dim rst As DAO.Recordset


Подозреваю, что проблема не в этом, иначе вот в этой строке произошла бы ошибка:
Код: vbnet
1.
Set rst = db.OpenRecordset("tblPath")


Наверное проблема вот в этом.
авторIf you open a Recordset in a Microsoft Access workspace and you don't specify a type, OpenRecordset creates a table-type Recordset , if possible. If you specify a linked table or query, OpenRecordset creates a dynaset-type Recordset.
Возможно "table-type Recordset" для данной таблице (надо внимательно посмотреть на свойства таблицы) не поддерживает операцию FindFirst.
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39175205
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FindFirst
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim db As DAO.Database
Dim rst As Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("tblPath")
rst.MoveFirst
rst.FindFirst "[PathName] = 'Base'"
rst.Edit
rst.Fields("PathName") = "Base"
rst.Fields("PathValue") = "D:\DataBase"
rst.Fields("PathNote") = "Путь к базе данных программы"
rst.Update
rst.Close



Собственно на строке rst.FindFirst "[PathName] = 'Base'" отладка и останавливается с ошибкой Операция не поддерживается для объектов данного типа. Что не так?
Зачем Вам MoveFirst и FindFirst? Не проще ли сразу отфильтровать?
Код: vbnet
1.
Set rst = db.OpenRecordset("SELECT * FROM tblPath WHERE [PathName] = 'Base'")


Ну и потом проверить свойство RecordCount.
...
Рейтинг: 0 / 0
Операция не поддерживается для объектов данного типа
    #39175409
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
studierenmds_worldВозможно ошибка в том, что не указан тип рекордсета и он по умолчанию ADODB. Пробуйте
Код: vbnet
1.
Dim rst As DAO.Recordset



Подозреваю, что проблема не в этом, иначе вот в этой строке произошла бы ошибка:
Код: vbnet
1.
Set rst = db.OpenRecordset("tblPath")

Конечно ошибка будет. Но на этапе выполнения. А FindFirst у ADO-рекордсета даст ошибку на этапе компиляции. До ошибки Set rst = db.OpenRecordset(...) дело просто не дойдет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Операция не поддерживается для объектов данного типа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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