powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADODB: открыть recordset с полной функциональностью
8 сообщений из 8, страница 1 из 1
ADODB: открыть recordset с полной функциональностью
    #32560603
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Раньше я пользовался DAO. Там можно открыть таблицу аксесной базы, как recordset, ходить по ней, добавлять и изменять записи и так далее.

Теперь я хочу использовать ADO.

Но оказалось, что я не могу то одно, то другое.

Мне надо:
1) Иметь возможность ходить по таблице
2) Иметь возможность добавлять и исправлять ее данные
3) Иметь возможность искать в таблице с использованием ключа, то есть, при помощи Seek

Как надо открыть рекордсет для этого?

Сейчас я делаю так.

Открываю:

Код: plaintext
1.
2.
3.
Set con = CurrentProject.Connection
rsDest.Open strTableName, con, , , adCmdTableDirect
rsDest.Index = "PrimaryKey"

Хожу:

Код: plaintext
1.
While Not rsSorc.EOF

Ищу:

Код: plaintext
1.
rsDest.Seek key

Правлю:
Код: plaintext
1.
rsDest.AddNew

Правильно?

Димс.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560847
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dmitry S. KravchenkoПравлю:
Код: plaintext
1.
rsDest.AddNew
Правильно?

Как на мой вкус, так нет.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560882
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем несоответствие с Вашими вкусами? :-)

Димс.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560885
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Насколько я помню из DAO:

AddNew - добавить запись
Edit - начать редактирование существующей записи

Вроде и в ADO тоже так.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560895
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, в ADO не совсем так. Там для добавления новой записи надо вызывать AddNew, а для правки - вообще ничего не надо вызывать. Просто, если делал правку, то потом надо вызвать Update. Ну и после добавления тоже, разумеется, надо сделать Update.

В общем, я опечатался, конечно, при помощи AddNew я добавляют запись.

Но дело не в этом: она мне говорит, что данный метод не поддерживается провайдером. Что неверно, ведь провайдер - сам Access. Что же он, добавление записей не позволяет?

Димс.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560896
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я решил проблему: в строке, где я открывал набор записей, я опустил ряд параметров - в них-то и было дело. Предпоследний параметр - это режим блокировки, по умолчанию он adLockReadOnly, а надо, например, adLockOptimistic.

Димс.
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32560982
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открыть recordset с полной функциональностью:

Код: plaintext
rsDest.Open strTableName, con,  3 , 2 , 1 

очень легко запоминается ))
...
Рейтинг: 0 / 0
ADODB: открыть recordset с полной функциональностью
    #32561690
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКочень легко запоминается ))
У меня-то дело было не в запоминании, а в незнании ADO...
Димс.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADODB: открыть recordset с полной функциональностью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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