Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADODB: открыть recordset с полной функциональностью / 8 сообщений из 8, страница 1 из 1
14.06.2004, 18:15:17
    #32560603
Dmitry S. Kravchenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB: открыть recordset с полной функциональностью
Привет!

Раньше я пользовался 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
14.06.2004, 23:28:21
    #32560847
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB: открыть recordset с полной функциональностью
Dmitry S. KravchenkoПравлю:
Код: plaintext
1.
rsDest.AddNew
Правильно?

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

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

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

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

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

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

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

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

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

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


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