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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

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

2019-08-04 95
Создание составного отчёта, содержащего диаграмму. Группировка и сортировка в отчётах 0.00 из 5.00 0 оценок
Заказать работу

 

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

Отчеты предоставляют возможность группировать выводимую информацию с помощью окна сортировка и группировка. В окне сортировка и группировка можно определить до 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-иерархическая форма.

 

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

 

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


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

 


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

 

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

 

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

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

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

 

Разработка программы на 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

'присваиваем объекту cat наше соединение

cat. ActiveConnection = cnn

'удаляем таблицу TovaryADO

cat. Tables. Delete ("TovaryADO")

'закрываем соединение

Set cat. ActiveConnection = Nothing

'освобождаем переменную

Set cat = Nothing

End Sub

В результате выполнения данного программного кода таблица "TovaryADO" будет удалена.

5) Создание, изменение и выполнение запросов программными средствами

Public Sub CreateQueryDAO ()

Dim db As Database, qd As QueryDef, rs As DAO. Recordset

Set db = CurrentDb

'создаем новый запрос и сохраняем его в базе данных

Set qd = db. CreateQueryDef ("DAO-запрос (Цена >500)")

qd. SQL = "SELECT [Товар], [Категория], [Марка (производитель)], [Модель], [Цена,$] FROM [2_Товары] WHERE ([2_Товары]. [Цена,$]) >500"

'создаем набор записей на базе нового запроса

Set rs = qd. OpenRecordset (dbOpenDynaset)

Set rs = Nothing

End Sub

Результат выполнения запроса представлен на рисунке 3.2.3.

 

Рисунок 3.2.3-запрос, созданный программными средствами.

 

Разработка функций на VBA

 

Рассмотрим разработка функций на VBA на примере создания диалогового окна для ввода имени и пароля. При создании форм и элементов управления Access устанавливает большинству свойств значения по умолчанию. Изменимзначение свойства Модальное окно (Modal) формы в диалоговом окне Свойства (Properties). Для открытия формы как диалогового окна свойству Модальное окно необходимо присвоить значение Да (Yes) до открытия формы.

Первое свойство, которое мы изменим, - это Caption. Далее присвоим свойству ScroLLBars (Полосы прокрутки) значение 0, это означает, что на форме не будет полос прокрутки. Нам необходимо изменить внешний вид формы, чтобы она была как можно больше похожа на стандартные диалоговые окна Windows. Для этого изменим на противоположные значения по умолчанию значения следующих свойств: DividingLines (Разделительные линии), NavigationButtons (Кнопки перехода), RecordSelectors (Область выделения).

Существуют такие свойства формы, которые нельзя установить из диалогового окна Свойства - они изменяются только программно. Примером такого свойства является свойство Visible (Вывод на экран), которое использовали в приведенной ниже программе. У элементов управления тоже есть свойство Visible, но его значение можно изменять не только программно, но и из окна Свойства.

Создание формы ввод пароля

Private Sub cmdOk_Click ()

Dim strFrm As String, blnOk As Boolean

strFrm = "Ввод пароля"

If Forms (strFrm). txtName = "prise" And _

Forms (strFrm). txtPassword = "3331" Then

'Имя и пароль введены верно,

'закрываем диалоговое окно

DoCmd. Close acForm, strFrm

MsgBox "Добро пожаловать!", vbInformation _

, "Ввод пароля"

blnOk = True

Else

'Имя и пароль введены неверно,

'подготавливаем диалоговое окно к новому запросу

MsgBox "Имя или пароль введены неверно!", _

vbExclamation, "Ввод пароля"

blnOk = False

End If

strFrm = "Кнопочная форма"

If blnOk Then

'Дальнейшие действия

DoCmd. OpenForm strFrm,,,,, acDialog

End If

End Sub

Private Sub cmdCancel_Click ()

CloseCurrentDatabase

End Sub

Предварительно создадим само окно формы с соответствующими полями и кнопками. В итоге получим форму, представленную на рисунке 3.3.1.

 

Рисунок 3.3.1-окно формы ввода пароля.

 

Для облегчения доступа к таблицам, отчетам, запросам и т.д., а также наилучшего представления базы данных используют кнопочную форму. Создают её с помощью Конструктора форм. На ней создают кнопки, нажатию которых соответствует вызов различных процедур.

 


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.102 с.