Смекни!
smekni.com

Разработка элементов информационной системы средствами СУБД MS Access и языка программирования VBA (стр. 2 из 3)

Рисунок 2.2.4 1-запроса на обновление в режиме “конструктор".

После выполнения запроса таблица "2_Товары" будет иметь вид, представленный на рисунке 2.2.4.2.


Рисунок 2.2.4 2-таблица "2_Товары" после выполнения запроса на обновление.

5) Запрос на удаление

Этот вид запросов служит для удаления из базы данных группы записей, удовлетворяющих определенным условиям.

Необходимо удалить все товары из таблицы "2_Товары", чья марка (производитель) Samsung.

Для этого в режиме “конструктор” необходимо создать запрос на удаление и в строке “условие отбора” поля “марка (производитель) ” внести запись ”Samsung". Запрос в режиме “конструктор” будет иметь вид, представленный на рисунке 2.2.5.1.


Рисунок 2.2.5 1-запрос на удаление в режиме “конструктор".

После выполнения запроса таблица "2_Товары" будет иметь вид, представленный на рисунке 2.2.5.2.

Рисунок 2.2.5.2-таблица "2_Товары" после выполнения запроса на удаление.

6) Запрос на добавление

С помощью запроса на добавление записей можно скопировать выбранные

записи и поместить их в другую таблицу.

Поместим данные только о товарах телевизорах с черным (Black) цветом в таблицу "Black телевизоры (на добавление)". Для этого можно воспользоваться запросом на добавление. В котором необходимо указать имя таблицы, в которую будут помещены данные и соответствующие поля. Пример создания запроса на добавление в режиме “конструктор” представлен на рисунке 2.2.6.1.

Рисунок 2.2.6.1-запрос на обновление в режиме “конструктор”.

После выполнения запроса таблица "Black телевизоры (на добавление)" будет иметь вид, представленный на рисунке 2.2.6.2.

Рисунок 2.2.6.2-таблица "Black телевизоры (на добавление)" после выполнения запроса на добавление.

7) Перекрёстный запрос

С помощью перекрестного запроса можно более наглядно представить данные запросов, предусматривающих группировку по нескольким признакам.

Необходимо составить структуру перекрёстной таблицы в качестве заголовка строк можно указать товар, в качестве заголовка столбцов можно указать марку (производитель). На пересечении получить количество товара каждой марки.

Для этого составим перекрестный запрос, который в режиме “конструктор” будет иметь вид, представленный на рисунке 2.2.7.1.

Рисунок 2.2.7.1-перекрестный запрос в режиме “конструктор".

После выполнения запроса получим таблицу, имеющую вид, представленный на рисунке 2.2.7.2.

Рисунок 2.2.7.2-таблица, полученная после выполнения перекрестного запроса.

2.3 Создание составного отчёта, содержащего диаграмму. Группировка и сортировка в отчётах

Отчеты представляют собой наилучшее средство представления информации из базы данных в виде печатного документа. В основном отчеты применяются для просмотра "картины в целом", поэтому часто базируются на многотабличных запросах.

Отчеты предоставляют возможность группировать выводимую информацию с помощью окна сортировка и группировка. В окне сортировка и группировка можно определить до 10 полей или выражений, которые будут использоваться в отчете для группировки данных. В данном отчете группировка проведена по категории, товару, марке и модели. Отчет создан при помощи мастера создания отчетов и откорректирован при помощи конструктора отчетов. Вид отчета, открытого в режиме “конструктор” представлен на рисунке 2.3.1, а группировка в отчете на рисунке 2.3.2.

Рисунок 2.3.1-отчет в режиме “конструктор".


Рисунок 2.3.2-группировка в отчете в режиме “конструктор".

Сам отчет имеет вид, представленный на рисунке 2.3.3.


Рисунок 2.3.3-отчет по таблице "2_Товары".

В Microsoft Access предусмотрена возможность построения графиков и диаграмм для более наглядного представления данных. График, приведенный на рисунке 2.3.4, показывает информацию о годе основания производителя.

Рисунок 2.3.4-график, который показывает информацию о годе основания фирмы-производителя.

2.4 Создание иерархической формы по двум связанным таблицам

Формы, которые можно создать средствами Microsoft Access, позволяют получать информацию, а так же корректировать ее в удобном для пользователя стиле. Microsoft Access позволяет создавать иерархические формы, в которых отображается информация из двух таблиц, связанных отношением “один - ко - многим". В случае необходимости иметь информацию о товарах и их производителе можно создать иерархическую форму. Для создания такой формы можно использовать мастер создания форм. Для корректировки вида формы используют режим “конструктора”. Для сохранения, закрытия и выхода из Microsoft Access в форме используются соответствующие кнопки, созданные при помощи мастера создания кнопок. Для перехода к отчету, содержащему информацию о всех товарах используется гиперссылка. Данная форма в режиме “конструктор” представлена на рисунке 2.4.1.

Рисунок 2.4.1-иерархическая форма в режиме “конструктор”.

После перехода в режим формы можно добавлять или корректировать данные из двух таблиц.


Рисунок 2.4.2-иерархическая форма.

2.5 Создание страниц доступа к данным

Для создания статической страницы HTML доступа к данным по таблице “2_Товары" воспользуемся соответствующим мастером. В результате получим страницу, представленную на рисунке 2.5.1.


Рисунок 2.5.1-страница доступа.

3. Использование языка программирования VBA

3.1 Создание макросов

С помощью макросов можно выполнить практически все действия над объектами Access из тех, которые были описаны в предыдущих главах.

Макрос в Access представляет собой структуру, состоящую из одной или нескольких макрокоманд, которые выполняются либо последовательно, либо в порядке, заданном определенными условиями. Набор макрокоманд в Access очень широк, с помощью макросов можно реализовать многое из того, что позволяют сделать процедуры на VBA. Каждая макрокоманда имеет определенное имя и, возможно, один или несколько аргументов, которые задаются пользователем. Например, при использовании макрокоманды ОткрытьФорму (OpenForm) в качестве аргументов необходимо задать, по крайней мере, имя открываемой формы и режим вывода ее на экран.

Макросы, созданные в данной базе данных, рассмотрим при создании главной кнопочной формы.

3.2 Разработка программы на VBA

Язык Visual Basic for Applications является объектно-ориентированным языком программирования. Стандартные объекты Visual Basic представляют собой основное средство манипуляции с данными Microsoft Access и других приложений семейства Microsoft Office. Знание технологии объектно-ориентированного программирования и состава объектных моделей Visual Basic позволяет разрабатывать профессиональные приложения, выполняющие всю необходимую обработку данных.

В Microsoft Access 2003 есть возможность двух способов работы с данными:

Посредством DAO (Data Access Objects);

Посредством ADO (ActiveX Data Objects).

Объектная модель Microsoft DAO 3.6 (DAO, Data Access Objects) - это унифицированный набор объектов для доступа к данным.

Объекты управления данными ActiveX (ADO/ ActiveX Data Objects) предназначены для обеспечения доступа к источникам данных разных видов, от текстовых файлов до распределенных баз данных. ADO представляет собой объектно-ориентированный интерфейс для приложений, использующих OLE DB. OLE DB - это программный интерфейс, удовлетворяющий спецификации COM (Component Object Model, компонентная модель объектов), который предоставляет унифицированный способ доступа к различным источникам данных. Интерфейс OLE DB разрабатывался с целью получения оптимальной функциональности для приложений разных видов и поэтому не является простым в использовании. ADO - промежуточное звено между приложением и OLE DB, предоставляющее разработчикам приложений удобный объектно-ориентированный интерфейс.

1) Создание таблицы в объектных моделях DAO.

Public Sub Tovary_NewTable_DAO ()

' Создание таблицы средствами DAO

'Объявляем объектные переменные для объектов: база данных, таблица и поле

Dim base As Database, td As TableDef, fld As Field

'Устанавливаем ссылку на текущую базу данных

Set base = CurrentDb

'Создаем новую таблицу, используя метод CreateTableDef 'объекта Database

Set td = base. CreateTableDef ("TovaryDAO")

'Создаем поле в таблице, используя метод CreateField объекта 'TableDef.

Set fld = td. CreateField ("Код товара", dbInteger)

'Добавляем поле "Код товара" в семейство Fields таблицы

td. Fields. Append fld

'Создаем 2-ое поле с именем "Товар" и типом Текстовый

Set fld = td. CreateField ("Товар", dbText)

'Добавляем поле "Товар" в семейство Fields таблицы

td. Fields. Append fld

'Создаем 3-е поле с именем "Категория" и типом Текстовый

Set fld = td. CreateField ("Категория", dbText)