Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Встроенный SQL в VBA.




Операторы SQL в VBA Access выполняются посредством метода RunSQL объекта DoCmd. Эти запросы не должны возвращать никаких значений, поэтому в инструкции DoCmd.RunSQL аргументом макрокоманды является строковое представление запроса на изменение (обновление, добавление, удаление записей) или запроса на создание/модификацию таблицы или индекса. В запрос можно передавать значения переменных VBA, что делается с помощью конкатенации строк. Например, следующий фрагмент программы выполняет запрос на удаление из таблицы Заказы всех записей, для которых в поле Город содержится введенное пользователем название города:

Dim Town as String
Town = Inputbox(“Введи название города:”)
DoCmd.RunSQL “Delete From Заказы Where Город=’” & Town & “’”

Для работы с данными на уровне записи в VBA используется объект доступа к данным Recordset (набор записей), который может являться объектом библиотеки DAO (data access objects) или ADO (ActiveX data objects).

В DAO cуществуют объекты Recordset пяти типов:

· Объект Recordset типа таблицы — программное представление основной таблицы; используется для добавления, изменения или удаления записей из отдельной таблицы базы данных

· Объект Recordset типа динамического набора записей — набор обновляемых записей, полученный в результате выполнения запроса. Объект Recordset типа динамического набора записей позволяет добавлять, изменять или удалять записи в основной таблице или таблицах. Этот тип объектов соответствует указателю ключевого набора записей ODBC.

· Объект Recordset типа статического набора записей — статическая копия набора записей, используемая для поиска данных или создания отчетов. Этот тип объектов соответствует указателю статического набора записей ODBC.

· Объект Recordset типа статического набора записей с последовательным доступом — аналогичен статическому набору записей с тем лишь исключением, что в нем отсутствует указатель. Этот тип объектов соответствует указателю набора записей с последовательным доступом ODBC.

· Объект Recordset динамического типа - результирующий набор записей запроса по одной или нескольким основным таблицам, в котором допускается добавление, изменение или удаление записей. Этот тип объектов соответствует динамическому указателю ODBC

При создании нового объекта Recordset тип объекта определяется с помощью аргумента тип метода OpenRecordset.

Для перехода по записям используются методы объекта Recordset: MoveNext, MoveLast, MoveFirst, MovePrevious. Кроме того, существуют методы поиска записей - FindNext, FindLast, FindFirst, FindPrevious.

Для обновления записи используется метод Edit, а для добавления новой записи – метод AddNew. После обновления или добавления записи следует использовать метод Update, фиксирующий сделанные изменения. Заметим, что изменения вносимые с помощью объектов Recordset можно выполнять в рамках транзакции, которая начинается оператором BeginTrans (методом), а завершается оператором CommitTrans. Отмена текущей транзакции осуществляется с помощью метода RollBack.


Поделиться:

Дата добавления: 2015-04-18; просмотров: 71; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты