- •Л.Н. Лядова, л.Н. Ланин Основы субд Access Учебно-методическое пособие по курсу «Базы данных»
- •Глава 1.Основы субд access
- •1.1.Основные понятия
- •1.2.Проектирование базы данных
- •1.3.Создание бд в Access
- •1.3.1.Создание файла бд
- •1.3.2.Создание таблиц бд
- •1.3.3.Создание связей между таблицами бд
- •1.3.4.Ввод данных в таблицы бд
- •1.3.5.Создание форм
- •1.3.6.Работа с запросами к бд
- •1.3.7.Работа с отчетами
- •Глава 2.Организация доступа к внешним данным из приложений ms Office
- •2.1.Технологии доступа к данным
- •2.2.Доступ к данным из приложений ms Office
- •2.2.1.Интерфейс odbc
- •2.2.2.Использование dao для доступа к данным
- •Модель объектов dao
- •Создание рабочей области и открытие источника данных
- •Исследование структуры таблиц бд
- •Операции над данными
- •2.2.3.Интеграция данных и работа в сети
- •2.2.4.Доступ к данным Excel из субд Access
- •2.2.5.Выбор метода доступа к данным
- •2.3.Особенности раннего и позднего связывания
- •2.3.1.Задача связывания
- •2.3.2.Раннее связывание
- •2.3.3.Позднее связывание
- •2.4.Доступ к данным и автоматизация трудоемких операций в Word
- •2.4.1.Использование полей
- •2.4.2.Слияние документов
- •2.5.Разработка и использование макросов
- •Лабораторная работа 1. Команда слияния
- •Лабораторная работа 2. Создание макроса
- •Задания для самостоятельного выполнения
- •2.6.Доступ к данным в команде слияния с помощью ms Query
- •Задание для самостоятельного выполнения
- •Список литературы
- •Глава 1. Основы субд access 3
- •Глава 2. Организация доступа к внешним данным из приложений ms Office 52
- •Лядова Людмила Николаевна
Операции над данными
Для непосредственной работы с данными используется объект Recordset. Существует несколько типов объектов Recordset (типы обозначаются константами):
dbOpenSnapshot Статическая (неизменяемая) копия записей.
dbOpenDynaset Набор записей, полученных в результате выполнения запроса, который можно изменять произвольным образом: редактировать, добавлять и удалять данные.
dbOpenTable Набор записей, представляющий все записи одной таблицы. Набор записей этого типа можно изменять произвольным образом. Данный тип используется по умолчанию при работе с Microsoft Jet, если указать таблицу как источник записей для объекта Recordset.
dbOpenDynamic Обновляемый объект Recordset. Используется только в рабочей области ODBCDIrect.
dbOpenForwardOnly Неизменяемый объект Recordset. Используется по умолчанию в рабочей области ODBCDirect.
Для получения данных используются операторы SQL, которые передаются в качестве строковых параметров методу OpenRecordset. Например:
Dim strSQL As String Dim rsObj As Recordset . . . . . . . . . . . . strSQL = “SELECT * FROM Products WHERE Units > 100;” Set rsObj = dbObj.OpenRecordset(strSQL, dbOpenDynaset)
Если источником данных является таблица, то по умолчанию для объекта Recordset используется табличный тип. Статический набор записей используется, когда данные нужны только для просмотра (без редактирования). Если при работе с данными записи изменяются, то следует использовать динамические наборы.
Для перемещения к последней записи в наборе используется метод MoveLast. Свойство RecordCount дает возможность получить количество записей (после перемещения к последней записи). Для перемещения к предыдущей/следующей записи в таблице используются методы MovePrevious и MoveNext. Для поиска можно использовать метод FindFirst.
Процесс редактирования данных состоит из нескольких этапов: создание (открытие) изменяемого объекта Recordset; выбор записи, подлежащей редактированию (для определения записи, удовлетворяющей заданным критериям, в таблице следует воспользоваться методом Seek в сочетании с табличным индексом, можно использовать и методы перемещения к записям в наборе); использование метода Edit объекта Recordset для помещения записи в буфер для редактирования; изменение значений полей записи; вызов метода Update для сохранения обновленной записи.
Для добавления записи нужно выполнить несколько шагов: создать (открыть) изменяемый объект Recordset; вызвать метод AddNew; установить значения всех обязательных полей; вызвать метод Update для сохранения изменений в объекте Recordset.
Операции изменения данных могут быть выполнены как единая транзакция, которая может быть инициализирована и завершена (либо может быть выполнен ее откат) с помощью соответствующих методов. Для инициирования процесса изменения данных следует вызвать метод BeginTrans объекта Workspace. Вызов метода CommitTrans объекта Workspace для Recordset сохраняет изменения. В обработчик ошибок, которые могут возникнуть при добавлении/изменении записей, можно вставить вызов метода RollBack объекта Workspace для восстановления исходного состояния объекта Recordset (отката транзакции).
Для удаления записи следует открыть объект Recordset; выбрать удаляемую запись; вызвать метод Delete.
Для копирования записей (например, в массив) можно воспользоваться методом GetRows объекта Recordset.
В диапазон рабочего листа Excel можно скопировать данные объекта Recordset непосредственно с помощью метода CopyFromRecordset объекта Range.
При завершении работы все объекты типа Recordset, Database и Workspace закрываются с помощью метода Close. Объекты освобождаются присваиванием объектным переменным значения Nothing с помощью оператора Set.
