7. Преимущества и недостатки использования SQL vs Recordset(Все примеры тестировались в MS Access 97, для того чтобы приведенный здесь код
работал Access 2000 или XP, необходимо включить в Visual Basic поддержку
Microsoft DAO 3.6 Object Library (Tools\References...))
Для работы с данными (таблицы, запросы) при разработке программ в MS Access
можно использовать объекты RecordSet, как это было рассмотрено выше.
Кроме RecordSet для работы с данными можно использовать язык SQL
(для выполнения запросов используется DoCmd.RunSQL "текст запроса") при этом
скорость работы существенно выше чем при работе с объектами RecordSet.
Практически все что можно сделать с RecordSet можно сделать и в SQL.
Единственный недостаток который я вижу в MS Access при использовании SQL -
это не возможность использования SQL в транзациях.
Транзакция - группа действий (изменений в БД) которые выполнятся
полностью или не выполнятся вообще.
Dim DB as Database, WS As Workspace
Set DB = CurrentDb
Set WS = DBEngine.Workspaces(0)
WS.BeginTrans 'начать транзакцию
. . . Очень важные действия, которые должны
. . . выполниться полностью или не выполниться совсем
WS.CommitTrans 'завершить транзакцию
Если в программе произойдет ошибка между WS.BeginTrans и WS.CommitTrans,
то все изменения в данных произведенные объектами RecordSet будут отменены.
Если же изменения производились с помощью DoCmd.RunSQL,
то такие изменения не обратимы.
----------------------------------------------------------------------
Архив рассылки
Дополнительная информация, примеры программ http:\\use-access.narod.ru
Написать письмо: use-access@bk.ru