Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1
Лекция 14. MS Access: запросы, формы, отчеты, макросы.
Запрос — это объект базы данных, являющийся основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Запрос на выборку позволяет сформировать пользовательское представление о данных, Не обязательно отвечающее требованиям нормализации. Результат выполнения запроса на выборку — это новая, чаще всего временная, таблица, которая существует до закрытия запроса. Структура такой таблицы определяется выбранными из одной или нескольких взаимосвязанных таблиц полями. Записи формируются путем объединения записей таблиц, участвующих в запросе. Способ объединения записей различных таблиц указывается при определении их связи. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц. Простейшие запросы могут быть созданы с помощью мастера. Любой запрос можно создать в режиме конструктора. Конструктор предоставляет удобное для пользователя диалоговое графическое средство формирования, с помощью которого легко может быть построен сложный запрос.

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



Назначение и виды запросов

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

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

-сформировать на основе объединения записей взаимосвязанных таблиц новую виртуальную таблицу;

-включить в результирующую таблицу запроса заданные пользователем поля;

-выбрать записи, удовлетворяющие условиям отбора;

-произвести вычисления в каждой из полученных записей;

-сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, в одну запись с одновременным выполнением над другими полями статистических функций;

-добавить в результирующую таблицу запроса строку итогов;

-произвести обновление полей в выбранном подмножестве записей;

-создать новую таблицу базы данных, используя данные из существующих таблиц;

В Access может быть создано несколько видов запроса:


-запрос на выборку — выбирает данные из взаимосвязанных таблиц базы данных и таблиц запросов. Результатом является таблица, которая суще­ствует до закрытия запроса. На основе такого запроса могут строиться за­просы других видов;

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

- запрос на создание таблицы — также выбирает данные из взаимосвязан­ных таблиц и других запросов, но в отличие от запроса на выборку ре­зультат сохраняется в новой постоянной таблице базы данных;

-запросы на обновление, добавление, удаление — являются запросами, в результате выполнения которых изменяются данные в таблицах.

Для создания запроса может быть использован либо режим конструктора, либо мастер. Если пользователь знаком с созданием инструкций SQL (таких как SELECT, UPDATE или DELET, включающих предложения, например WHERE, ORDER BY или GROUP BY), можно создать запрос в режиме SQL.



Вычисляемые поля

В запросе для каждой записи могут производиться вычисления с числовыми, строковыми значениями или значениями дат с использованием данных из одного или нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое поле. В исходных таблицах базы данных новых полей не создается. При каждом выполнении запроса производится вычисление на основе текущих значений полей.

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

Имя вычисляемого поля становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить. Для вычисляемых полей допускается сортировка, задание условий отбора и расчет итоговых значений, как и для любых других полей.



Групповые операции в запросах Назначение групповых операций

Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для этих групп одну из сташ стических функций. В Access предусматривается девять статистических функций:

Sum — сумма значений некоторого поля для группы;

Avg — среднее от всех значений поля в группе;

Max, Min — максимальное, минимальное значение поля в группе;

Count — число значений поля в группе без учета пустых значений;

StDev – среднеквадратичное отклонение от среднего значения поля в группе.

Var -дисперсия значений поля в группе;

First, Last — значение поля из первой или последней записи в группе.

Результат запроса с использованием групповых операций содержит по одной записи для каждой группы.



Многотабличные запросы

Многотабличный запрос позволяет сформировать записи результата путем объединения взаимосвязанных записей из таблиц базы данных и выбора т них нужных полей и записей. Многотабличный запрос часто осуществляет объединение данных, которые на этапе проектирования были разделены им множество объектов в соответствии с требованиями нормализации. Разделение на объекты обеспечивает, прежде всего, отсутствие дублируемости данных и базе, повторяются только значения ключевых полей. В результате выполнения запроса формируется таблица с повторяющимися данными, в которой каждая запись собирает необходимые данные из разных объектов — таблиц.

Например, при объединении двух нормализованных связанных 1-М отношениями таблиц, для которых обеспечивается связная целостность, результирующая запись образуется на основе записи подчиненной таблицы, в которую добавляются поля из связанной записи в главной таблице Подобное объединение формирует ненормализованную таблицу, в которой число записей равно числу записей в подчиненной таблице. При этом данные главной таблицы дублируются в различных записях результирующей таблицы.

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



Формы

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

Формы обеспечивают удобную работу с данными одной или нескольких взаимосвязанных таблиц, которые выводятся на экран с использованием ее макета, разработанного пользователем. Работая с формой, пользователь может добавлять, удалять и изменять записи таблиц, получать расчетные данные. В процессе работы может осуществляться контроль вводимых данных, могут проверяться ограничения на доступ к данным, выводиться необходимые дополнительные сведения.

Форма состоит из элементов управления, которые отображают поля таблиц, и графические элементы, не связанные с полями таблиц. Графические элементы управления предназначены, прежде всего, для разработки макета формы: надписей, внедряемых объектов (рисунков, диаграмм), вычисляемых полей, кнопок, выполняющих печать, открывающих другие объекты или задачи.

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

Макет — представляет свойства, ориентированные на определение внешнего вида формы или ее элементов;

Данные— представляет свойства для определения источника данных формы или ее элементов, режима использования формы (только разрешение на изменение, добавление, удаление и т. п.);

События — событиями называют определенные действия, возникающие при работе с конкретным объектом или элементом: нажатие кнопки мыши, изменение данных, до обновления, после обновления, открытие или закрытие формы и т. д. Они могут быть инициированы пользователем! или системой. С событием может связываться макрос или процедура обработки события на языке VBA, выполняющая некоторые действия или рассчитывающая значения. Например, в процедуре можно организовать открытие связанной формы, обновление данных таблицы расчетными значениями, печать формы, вывод отчета. Запрограммировав в процедурах вызов различных объектов базы данных, можно автоматизировать выполнение задач приложения.

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

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

Формы в Access могут быть представлены в трех режимах.



-Режим формы предназначен для ввода, просмотра и корректировки данных таблиц, на которых основана форма.

-Режим макета обеспечивает просмотр данных почти в таком виде, в каком они отображаются в режиме формы, и в то же время позволяет изменять форму. В этом режиме элементы формы становятся выделяемыми, их можно перетаскивать в другие места, редактировать содержимое надписей полей, изменять формат, размер и т. п. Режим макета позволяет удобно настраивать внешний вид формы и может использоваться для внесения большинства структурных изменений. Если некоторую часть невозможно выполнить в режиме макета, следует переключиться в режим конструктора. В ряде случаев в Access отображается сообщение о том, что для внесения изменений надо переключиться в режим конструктора.

Конструктор предназначен для разработки формы с помощью полного набора инструментов, обеспечивающего более детальную проработку структуры формы, использование всех элементов управления. В этом режиме форму можно разработать с нуля или доработать ее после создания мастером. Просмотр данных при внесении изменений в этом режиме не предусматривается.
Этапы создания интерфейса в Access



Отчеты

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

Перед началом конструирования пользователь должен спроектировать макет отчета. При этом определяется состав и содержание разделов отчета, разме­щение в нем значений, выводимых из полей таблиц (запросов) базы данных, и вычисляемых реквизитов, определяются поля, по которым нужно группировать данные. Для каждого уровня группировки определяются заголовки и примечания, вычисляемые итоговые значения. Кроме того, оформляются заголовки и подписи реквизитов отчета. Определяется также порядок вывода данных в отчете.

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

При необходимости вывода в отчете результатов решения задачи в качестве основы для отчета может быть использован многотабличный запрос, представляющий эти результаты. На запрос могут быть возложены наиболее сложные виды выборки и предварительной обработки данных. Разнообраз­ные возможности конструктора отчетов позволят легко структурировать и оформить полученные в запросе данные.

Отчеты.

Новые средства Access 2007 позволяют создать профессионально оформленные отчеты не только с помощью мастера или конструктора, но и в режиме макета. При этом простыми средствами перетаскивания в отчет нужных полей из таблиц базы данных строится запрос — источник записей отчета, а использование свойств WYSIWYG позволяет сразу видеть, как именно будут выглядеть содержащиеся в нем данные на странице, и усовершенствовать макет.

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

Назначение каждого из разделов:



-Заголовок отчета обычно включает эмблему компании, название отчета, дату. Заголовок отображается перед верхним колонтитулом только один раз в начале отчета;

-Верхний колонтитул отображается вверху каждой страницы и исполь­зуется в случае, когда нужно, чтобы название отчета и другая общая ин­формация повторялись на каждой странице;

-Заголовок группы (Report Headler) используется при группировке запи­сей отчета для вывода названия группы и однократного отображения по­лей, по которым производится группировка. Отображается перед каждой новой группой записей. Например, если отчет сгруппирован по покупателям, в заголовке группы можно указать название покупателя, а также адрес, телефон и другие реквизиты. Допускается до 10 уровней группировки выводимых записей;

-Область данных (Detail) отображает записи из источника данных, со­ставляющие основное содержание отчета;

-Примечание группы (Footer) используется для отображения итогов и другой сводной информации по группе в конце каждой группы записей. Если поместить в примечание группы вычисляемый элемент управления, использующий статистическую функцию Sum, сумма будет рассчитываться для текущей группы;

-Нижний колонтитул применяется для нумерации страниц и отображе­ния другой информации внизу каждой страницы;

-Примечание отчета служит для отображения итогов и другой сводной информации по всему отчету один раз в конце отчета. Если в примечании отчета поместить вычисляемый элемент управления, использующий статистическую функцию Sum, сумма рассчитывается для всего отчета.

В Access существуют два представления, в которых можно вносить изменения в отчет: режим макета и режим конструктора. Режим макета являем и наиболее удобным для внесения изменений в отчет, поскольку пользователь сразу видит данные отчета. В этом режиме предусмотрено большинство инструментов, необходимых для его настройки. В нем можно изменить шрифт столбцов, поменять их местами, добавить или изменить уровни группировки и итоги. Можно также разместить в макете отчета новые поля, а также задавать свойства отчета и элементов управления.

В режиме конструктора отображаются разделы отчета и предусмотрены дополнительные инструменты и возможности разработки. Переходите в режим Конструктора, если не удается выполнить изменения в режиме макета. В определенных случаях в Access отображается сообщение о том, что для внесения изменений следует переключиться в режим конструктора. Просматривать отчет можно в режимах Представление отчета (Report View), Предварительный просмотр (Print Preview) или Макет (Layout Preview). В режиме Представление отчета можно отфильтровать данные для отображения только заданных строк, найти нужные данные, скопировать текст отчета или его часть в буфер обмена. Режим предварительного просмотра предназначен для просмотра отчета перед печатью. В этом режиме можно увеличивать масштаб для просмотра деталей или уменьшать его для проверки размещения данных на странице, изменить параметры страницы. Режим макета позволяет, просматривая данные отчета, изменять его макет.

Макросы.

Макрос – программа, состоящая из последовательности макрокоманд (макрос от слова "макрокоманда"). Макрокоманда — это инструкция, ориентированная на выполнение определенного действия над объектами Access и их элементами.

Например, макрокомандой можно открыть форму, отчет, напечатать отчет, запустить на выполнение запрос, применить фильтр, присвоить значение, создать свое меню. Макрокоманда ВыполнитьКоманду (RunCommand) позволяет выполнить любую встроенную команду Access, которые выводятся на вкладках ленты или в контекстном меню. Имеющийся в Access набор макрокоманд (более 50) реализует практически любые действия, которые необходимы для решения задачи.

Язык макросов обеспечивает возможность выполнения большинства задач, не прибегая к программированию на VBA. Макросы предоставляют пользователю средства решения задач, не требующие знания детального программирования. Язык макросов является языком более высокого уровня, чем VBA.

Макрос может быть наряду с другими объектами представлен как отдельный объект (изолированный макрос), который отображается в области переходов в группе Макросы (Macros). В Access 2007 макрос может быть внедрен в любые события в форме, отчете или элементе управления (внедренный макрос). При этом он не отображается как объект в группе Макросы (Macros), а становится компонентом формы, отчета.

Макросы могут запускаться на выполнение прямо из области переходов. Возможно решение задач с помощью ряда взаимосвязанных макросов, первый из которых будет запускаться на выполнение из области переходов. Пользователь запускает главный макрос на выполнение и далее все управление выполнением задачи осуществляется изнутри макроса. Макрос сам открывает нужные объекты, выбирает и обрабатывает данные, вызывает другие макросы, следуя алгоритму, приводящему к решению задачи. При необходимости из макроса может быть инициирован диалог с пользователем. Для перехода по различным ветвям макроса в строке макрокоманды используется условие.

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

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

Конструирование макроса

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



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

страница 1

Смотрите также: