48717 (Разработка элементов информационной системы средствами СУБД MS Access и языка программирования VBA), страница 2
Описание файла
Документ из архива "Разработка элементов информационной системы средствами СУБД MS Access и языка программирования VBA", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48717"
Текст 2 страницы из документа "48717"
Рисунок 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)
'Добавляем поле "Категория" в семейство Fields таблицы
td. Fields. Append fld
'Создаем 4-ое поле с именем "Марка" и типом Текстовый
Set fld = td. CreateField ("Марка", dbText)
'Добавляем поле "Марка" в семейство Fields таблицы
td. Fields. Append fld
'Создаем 5-ое поле с именем "Модель" и типом Текстовый
Set fld = td. CreateField ("Модель", dbText)
'Добавляем поле "Модель" в семейство Fields таблицы
td. Fields. Append fld
'Создаем 6-ое поле с именем "Цвет" и типом Текстовый
Set fld = td. CreateField ("Цвет", dbText)
'Добавляем поле "Цвет" в семейство Fields таблицы
td. Fields. Append fld
'Создаем 7-ое поле с именем "Кол-во на складе" и типом Числовой
Set fld = td. CreateField ("Кол-во на складе", dbInteger)
'Добавляем поле "Кол-во на складе" в семейство Fields таблицы
td. Fields. Append fld
'Создаем 8-ое поле с именем "Цена" и типом Денежный
Set fld = td. CreateField ("Цена", dbCurrency)
'Добавляем поле "Цена" в семейство Fields таблицы
td. Fields. Append fld
'Добавляем таблицу к семейству TableDefs базы данных
base. TableDefs. Append td
'Обновляем количество объектов семейства TableDefs
base. TableDefs. Refresh
End Sub
Результат, выполнения программы представлен на рисунке 3.2.1.
Рисунок 3.2.1-таблица “TovaryDAO”
2) Создание таблицы в объектной модели ADO.
Public Sub Tovary_NewTable_ADO ()
'Соединение с текущей базой данных
Dim cnn As New ADODB. Connection
Dim cat As New ADOX. Catalog
'Используется объект модели объектов ACCESS
Set cnn = CurrentProject. Connection
cat. ActiveConnection = cnn
Debug. Print cat. Tables (0). Type
Dim Table
'Создаем таблицу в ADO
Set Table = CreateObject ("ADOX. Table")
'Название таблицы
Table. Name = "TovaryADO"
'Создаем столбец с именем "Код товара"
Table. Columns. Append "Код товара"
'Создаем столбец с именем "Товар"
Table. Columns. Append "Товар"
'Создаем столбец с именем "Категория"
Table. Columns. Append "Категория"
'Создаем столбец с именем "Марка"
Table. Columns. Append "Марка"
'Создаем столбец с именем "Модель"
Table. Columns. Append "Модель"
'Создаем столбец с именем "Цвет"
Table. Columns. Append "Цвет"
'Создаем столбец с именем "Кол-во на складе"
Table. Columns. Append "Кол-во на складе"
'Создаем столбец с именем "Цена,$"
Table. Columns. Append "Цена,$"
'Добавляем таблицу к семейству Tables
cat. Tables. Append Table
Set cat = Nothing
End Sub
Результат, выполнения программы представлен на рисунке 3.2.2.
Рисунок 3.2.2-таблица “TovaryADO”
3) Удаление таблиц в объектных моделях DAO.
Sub Del_table ()
' Удаление таблицы средствами DAO
Dim db As Database
'Устанавливаем ссылку на текущую базу данных
Set db = CurrentDb
db. TableDefs. Delete "TovaryDAO"
db. TableDefs. Refresh
'Освобождаем объектную переменную
Set db = Nothing
End Sub
В результате выполнения данного программного кода таблица "TovaryDAO" будет удалена.
4) Удаление таблиц в объектных моделях ADO.
Public Sub delete_ADO ()
'Удаление таблицы средствами ADO
'Объявляем объектные переменные Connection и Catalog для связи данных
Dim cnn As New ADODB. Connection
Dim cat As New ADOX. Catalog
'Устанавливаем ссылку на текущую базу данных, используя объект connection ADODB
Set cnn = CurrentProject. Connection