Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 63
Текст из файла (страница 63)
Отсюда — унифицированное название отдельныхинструментов (например, Подчиненная форма/отчет), а также текст справки, описывающий работу с формами и с отчетами. Более того, Access позволяет форму преобразовать в отчет (см. справочную систему в разделе «Формы» на странице «Сохранение формы в виде отчета).СозданиеотчетовПеред созданием отчета нужно открыть базу данных, в которой он будетнаходиться. Собственно создание отчета производится путем нажатия кнопки Создать (New) в окне открытой Б Д на вкладке Отчеты (Reports). Начатьсоздание отчета можно также, задав в пункте Вставка (Insert) главного менюAccess команду Отчет (Report).
В результате появляется окно, показанное нарис. 10.15.New ReportBE!Create a new report withoutusing a wizard.Report WizardAutoReport: ColumnarAutoReport: TabularChart WizardLabel WizardUChoose the table or query wherethe object's data comes from:OKIРис. 10.15. Окно создания отчетаCancel10. СУБД Access 2002301Возможны следующие варианты создания отчета:1 ) с помощью Конструктора — К о н с т р у к т о р ( D e s i g nView);2) с помощью М а с т е р а — М а с т е р отчетов (Report Wizard);3) автоматическое создание отчета стандартного вида, в котором каждаязапись базового запроса или таблицы представлена в виде названия изначения поля — А в т о о т ч е т : в с т о л б е ц ( A u t o r e p o r t : C o l u m n a r ) ;4) автоматическое создание стандартного отчета, в котором данные записи базового запроса или таблицы выводятся в одной строке — А в т о о т чет: л е н т о ч н ы й(Autoreport:Tabular);5) создание отчета с диаграммой — Д и а г р а м м а (Chart Wizard);6) создание отчета для печати почтовых наклеек — Почтовые наклейки(Label Wizard).Проще всего создать отчет по вариантам 3 и 4, требующим наименьшеечисло параметров.
В этих случаях получаются простейшие отчеты, включающие все поля источника данных (таблицы или запроса). После создания отчет доступен для просмотра или печати. В режиме Конструктора предоставляются более мощные средства, требующие больше знаний и времени дляразработки отчета.Техника работы с Конструктором отчетов мало чем отличается от работы сКонструктором форм. В частности, при этом используется такая же панельэлементов (рис. 10.14). Остановимся на важнейших особенностях разработки отчетов в сравнении с формами.При работе над отчетом используются те же области, что и при созданииформ: области заголовка и примечания, области верхнего и нижнего колонтитулов, а также область данных. Кроме того, в отчеты можно включать области группировки записей.Заголовок отчета и примечание выводятся один раз: в начале и конце отчета соответственно.
Верхний/нижний колонтитулы помещаются в начало/конец каждой страницы отчета. Содержимое области данных выводится одинраз для каждой записи исходной таблицы или запроса. Если пользовательзадал группировку записей отчета, то по каждому полю, по которому проводится группировка данных, Access формирует заголовок и примечание группы. Для создания в отчете области группировки нужно при открытом в режиме Конструктора отчете выбрать пункт меню В и д / С о р т и р о в к а и г р у п п и р о в к а( V i e w / S o r t i n g A n d G r o u p i n g ) или нажать кнопку || на панели инструментов.Существенное различие между отчетом и формой заключается в том, чтоотчеты предназначены исключительно для вывода данных на печать. Поэтому в них можно отказаться от использования (доступных для включения вотчет) управляющих элементов для ввода данных: списков, полей со списком, переключателей и т.
п.Часть 3. Современные СУБД и их применение302Отчеты могут находиться в двух режимах: Конструктора или Просмотра.Просмотреть готовый отчет можно после выделения нужного отчета при нажатии кнопки П р о с м о т р ( P r e v i e w ) в окне БД, выборе пункта меню Ф а й л /П р е д в а р и т е л ь н ы й п р о с м о т р (File/Preview) и л и н а ж а т и и к н о п к и Q j на па-нели инструментов.СозданиемакросовПеред созданием макроса нужно открыть базу данных, в которой он будетнаходиться.
Собственно создание макроса производится в окне открытой Б Дпутем выбора вкладки М а к р о с ы ( M a c r o s ) и нажатия кнопки С о з д а т ь ( N e w ) .Начать создание макроса можно также, выбрав в пункте В с т а в к а ( I n s e r t ) главного меню Access подпункт М а к р о с ( M a c r o s ) . В результате открывается окносоздания макроса (рис. 10.16).Макрос! : макросИмя макроса |_tУсловие |Я З Е 3МакрокомандаIПримечаниеЫОткрытьФормуz l показать заставкуzl—Аргументы макрокомандыИмя ФормыРежимИмя ФильтраУсловие отбораРежим данныхРежим окнаФорма1ФормаИзменениеОбычноеОткрытиеФормы врежимеФормыконструктора,таблицы илипросмотра.Для справкинажмитеК nARUIIIU F1Рис. 10.16. Окно создания макросаОкно создания макроса в общем случае содержит следующие колонки: Имямакроса (Macro Names), Условие (Conditions), М а к р о к о м а н д а (Action) иП р и м е ч а н и е ( C o m m e n t ) .
Первые две колонки не являются обязательнымипри создании макросов, поэтому их можно убрать с помощью пункта Вид( V i e w ) меню Access или соответствующих кнопок: * ( J ипанели инстру-ментов.Каждый макрос включает в себя одну или несколько макрокоманд, которые могут выполняться безусловно или в соответствии с некоторым условием. В последнем случае напротив макрокоманды указывают условное выра-10.
СУБД Access 2002303жение или многоточие «...». Если логическое выражение в строке макрокоманды истинно, то выполняется эта макрокоманда и все последующие, в полеУ с л о в и е ( C o n d i t i o n s ) которых стоит многоточие. В случае ложности логического выражения пропускается текущая макрокоманда и все непосредственно следующие за ней макрокоманды, содержащие многоточие в поле У с л о вие (Conditions).Для удобства хранения связанные по смыслу макросы можно объединятьв группы. Полное имя макроса из группы включает в себя имя группы и отделенное от него точкой имя макроса. Макрокоманды в макросах представляютсобой операции с параметрами из фиксированного в С У Б Д списка.Все множество макрокоманд Access по функциональному принципу можно условно разделить на следующие группы:• открытие и закрытие таблиц, форм и отчетов;• вывод данных;• выполнение запроса;• проверка истинности условий и управление выполнением макрокоманд;• установка значений;• поиск данных;• построение специального меню и выполнение команд меню;• управление выводом на экран и фокусом;• сообщение пользователю о выполняемых действиях;• переименование, копирование, удаление, импорт и экспорт объектов;• запуск других приложений.Ввод макрокоманд пользователем максимально облегчен, поскольку названия самих макрокоманд, а также значения многих аргументов можно нетолько вводить с клавиатуры, но и выбирать из списка (в ячейке столбцаМ а к р о к о м а н д а ( A c t i o n ) или поля аргумента макрокоманды).
Выражения вобласти аргументов и условий выполнения макрокоманд можно непосредственно вводить с клавиатуры или использовать Построитель выражений.Процесс ввода (выбора из списка) макрокоманд и их аргументов сопровождается подсказкой в правой нижней части окна создания макроса (рис. 10.17).Это существенно облегчает ввод макрокоманд. Для добавления в макрос других макрокоманд нужно в области ввода макрокоманд перейти на следующую строку.
Макрокоманды выполняются в порядке их расположения вбланке.Замечание.Существует прием быстрого создания макроса, выполняющего действиянад конкретным объектом. Он состоит в выборе объекта (таблицы, формы,макроса и пр.) в окне базы данных и перемещении его с помощью мыши вячейку макрокоманды в окне макроса. При переносе макроса в ячейку макро-304Часть 3.
Современные СУБД и их применениекоманды вводится макрокоманда, запускающая этот макрос, а при переноседругих объектов — в макрос добавляется макрокоманда открытия объекта.Завершая создание макроса, требуется задать его имя. Макрос с именемAuto Exec запускается автоматически при открытии базы данных. Временноотменить автоматический запуск этого макроса можно с помощью удержания клавиши <Shift> в момент открытия БД. Используя возможности автозапуска макроса, удобно выполнять различные подготовительные операциинад БД после ее открытия. К таким операциям относятся вывод заставки (например, формы с картинкой) и открытие главной управляющей кнопочнойформы.Созданные и хранимые в БД макросы могут запускаться пользователемлибо вызываться из других макросов или программ на Visual Basic, а такжепри возникновении определенных событий в БД.
Событие — это любое распознаваемое объектом действие, на которое можно задать реакцию. Событиявозникают в результате действий пользователя, выполнения инструкцийVisual Basic или генерируются системой Access. Типичными событиями вMicrosoft Access являются, например, нажатие кнопки мыши, изменение данных, а также открытие/закрытие формы или отчета.Автоматический вызов макросов производят в случае наступления событий в таких объектах БД, как формы и отчеты. Всего существует около 40событий.
По функциональному назначению события можно разделить на следующие группы:•события данных (Data Events) возникают при вводе, удалении или изменении данных в форме или элементе управления, а также при перемещении фокуса с одной записи на другую;• события клавиатуры (Keyboard Events) возникают при вводе с клавиатуры, а также при передаче нажатий клавиш с помощью макрокоманды«КомандыКлавиатуры» (SendKeys) или инструкции SendKeys;• события ошибки и таймера (Error and Timing Events) используются приобработке ошибок и синхронизации данных в формах;• события мыши (Mouse Events) возникают при действиях с мышью, например при нажатии кнопки мыши или при удержании кнопки в нажатом положении;•события фильтра (Filter Events) возникают при создании или применении фильтра в форме;• события печати (Print Events) возникают при печати отчета или при егоформатировании для печати;• события фокуса (Focus Events) возникают, когда форма или элемент управления теряют/получают фокус, а также в момент, когда они становятся активными/неактивными;• события окна (Window Events) возникают при открытии, изменении размеров или закрытии формы или отчета.10.
СУБД Access 2002305Для обработки событий в БД Access можно использовать макросы илипроцедуры обработки событий (на языке Visual Basic для приложений). Чтобы организовать обработку события, нужно в ячейке свойства этого событияобъекта (формы, отчета или элемента управления) ввести имя макроса иливыбрать элемент [ П р о ц е д у р а о б р а б о т к и с о б ы т и й ] и нажать кнопку | щПостроителя (рис. 10.17). В последнем случае в соответствующем окне можно написать нужную VBA-программу.ФормаМакет | Данные События | Другие |Все }Текущая записьДо вставкиПосле вставки...До обновленияПосле обновленияУдалениеДо подтверждения DelПосле подтверждения D e l .
. . . .Открытие'Процедчрэ обработки событийЗагрузкаИзменение размераВыгрузкаЗакрытие6Рис. 10.17. Создание процедуры обработки событияРазличные объекты БД имеют свой перечень событий, которые могут возникать в процессе работы с ними в различных режимах. Каждое действие может явиться причиной ряда других событий, возникающих в определеннойпоследовательности.