КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Встроенный SQL в VBA.Операторы SQL в VBA Access выполняются посредством метода RunSQL объекта DoCmd. Эти запросы не должны возвращать никаких значений, поэтому в инструкции DoCmd.RunSQL аргументом макрокоманды является строковое представление запроса на изменение (обновление, добавление, удаление записей) или запроса на создание/модификацию таблицы или индекса. В запрос можно передавать значения переменных VBA, что делается с помощью конкатенации строк. Например, следующий фрагмент программы выполняет запрос на удаление из таблицы Заказы всех записей, для которых в поле Город содержится введенное пользователем название города: Dim Town as String Для работы с данными на уровне записи в 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.
|