Министерство образования Российской Федерации ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Использование компонентов MS Access для создания баз данных систем документооборота Часть 1 Методические указания к лабораторным работам ПЕНЗА 2004 УДК 681.3 Рассматриваются вопросы создания дружественного интерфейса пользователя с помощью средств СУБД Microsoft Access, включая требования надежности программ обработки данных, целостности данных и организации связи БД с документами Microsoft Office. Методические указания подготовлены на кафедре «Информационное обеспечение управления и производства» и предназначены для студентов специальностей 350800 очной и заочной форм обучения, изучающих дисциплину «Проектирование БД систем документооборота». Библиогр. 2 назв. Составители И.В. Усманова, Н.Н. Надеева, М.А. Катышева Рецензент И.И.Сальников, д.т.н., проф., зав.кафедрой «Вычислительные машины и системы» Пензенского технологического института (завода-втуза), филиала Пензенского государственного университета 2 Лабораторная работа 1 Разработка структуры базы данных Цель работы: научиться разрабатывать БД, ориентированные на обработку запросов конечного пользователя, в среде Мicrosoft Access,. Общие сведения Microsoft Access - это функционально полная реляционная СУБД. Основные функции: Определение данных – это определение структуры и типа данных, а также указание, как эти данные связаны между собой. Обработка данных включает поиск, фильтрацию, сортировку, вычисление, а также предусматривает объединение данных с другой связанной с ними информацией. Управление данными указывает кому разрешено пользоваться данными и актуализировать базу данных, а также определяет правила коллективного пользования данными. Microsoft Access предоставляет максимальную свободу в задании типа данных: могут использоваться текст, числовые данные, даты, время, денежные значения, рисунки, звук, документы, электронные таблицы. Имеется возможность задавать форматы хранения (длина строки, точность представления чисел и даты/времени) и представления этих данных при выводе на экран или печать. Microsoft Access является современным приложением Windows и позволяет использовать все возможности DDE (Dynamic Data Exchange): динамический обмен данными и OLE (Object Linking and Embedding) связь и внедрение объектов. DDE обеспечивает обмен данными между Access и любым другим приложением Windows. OLE устанавливает связь с объектами другого приложения или внедряет какой-либо объект в базу данных Access: в качестве объектов могут выступать картинки, диаграммы, электронные таблицы или документы из других приложений Windows. Access может работать с 3 большим числом разнообразных форматов данных, позволяя осуществлять импорт и экспорт данных из файлов текстовых редакторов и электронных таблиц. Access способна непосредственно обрабатывать файлы Paradox, dBase III, dBase IV, FoxPro и др. Для обработки таблиц Microsoft Access использует мощный язык SQL (Structured Query Language) - структурированный язык запросов. Access значительно упрощает задачу обработки данных. При любой обработке данных из нескольких таблиц Access использует связи, заданные пользователем при конструировании таблиц. В Access имеется также средство графического задания запроса - "запрос по образцу" (QBE- query by example). Microsoft Access можно использовать как в качестве самостоятельной СУБД на отдельной рабочей станции (рабочем месте), так и в сети - в режиме "клиент - сервер". Поскольку доступ к данным в Access могут иметь одновременно несколько пользователей, эта система управления базами данных (СУБД) обладает надежными средствами защиты и обеспечения целостности данных. В Access имеются средства, позволяющие легко проектировать и создавать приложения для работы с базами данных без знания языка программирования (Access имеет мощный язык программирования Microsoft Access Basic); могут быть разработаны приложения, способные работать не только с собственными форматами данных, но и с форматами других наиболее распространенных СУБД. Архитектура Microsoft Access Microsoft Access называет объектами все, что может иметь имя. Ниже перечислены основные объекты Access. Таблица - объект, используемый для хранения данных. Каждая таблица включает информацию об объекте определенного типа. Таблица содержит поля (столбцы) и записи (строки). Запрос - объект, позволяющий пользователю получать нужные данные из одной или нескольких таблиц. Для формирования запроса можно использовать или QBE (запрос по образцу), или инструкции SQL 4 (структурированный язык запросов). С помощью запросов можно осуществлять выбор, обновление, удаление или добавление данных; кроме того, можно создавать новые таблицы, используя данные уже существующих. Форма - объект, предназначенный для ввода данных, отображения их на экране или для управления работой приложения. С помощью форм могут быть реализованы требования пользователей к представлению данных из запросов или таблиц. Формы могут быть распечатаны. Отчет - объект, предназначенный для создания документа. Отчет можно просмотреть на экране, отпечатать и при необходимости включить в документ другого приложения. Макрос - структурированное описание одного или нескольких действий, которые выполняются в ответ на определенное событие, т.е. на любое изменение состояния объекта Microsoft Access. Например, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. Модуль - объект, содержащий программы на языке Microsoft Access Basic, которые позволяют разбить процесс на более мелкие действия и обнаруживать ошибки, которые нельзя найти при использовании макросов. Модули могут быть независимыми объектами, содержащими функции, которые можно вызывать из любого места приложения, но они могут быть и непосредственно привязаны к отдельным формам или отчетам для реакции на те или иные происходящие в них изменения. Access имеет мощное средство - набор "Мастеров по разработке объектов". Его можно использовать для создания таблиц, запросов, различных типов форм и отчетов, что значительно облегчает работу пользователя. Разработка структуры БД Разработать структуру БД – значит определить, какие таблицы входят в БД и из каких атрибутов состоит каждая из них, а также выяснить, каким образом таблицы БД связаны между собой. 5 Каждая БД отражает некоторые стороны реального мира. Поэтому данные в таблицах должны отвечать некоторым ограничениям, соответствующим ограничениям реального мира. Например, возраст детей, принимаемых в школу, не может превышать 8 лет. Такие ограничения называют ограничениями целостности. База данных находится в состоянии целостности, если не нарушено ни одно ограничение целостности. Набор ограничений для каждой БД отражает особенности предметной области. Но существуют два правила, которые должны выполняться для любой таблицы любой БД. Их называют общими ограничениями целостности. Они должны быть обеспечены в первую очередь при проектировании и использовании любой БД. Однако прежде чем их привести, дадим еще несколько важных определений. Любая БД должна обеспечивать возможность хранения, поиска и обработки данных. Следовательно, в ней должны присутствовать средства, позволяющие отыскивать нужную информацию и связывать воедино данные из разных таблиц. Возможность адресации данных обеспечивается за счет наличия в каждой таблице первичного ключа, а средством связи данных из разных таблиц служит внешний ключ. Первичный ключ – это столбец или группа столбцов таблицы, обладающих свойством уникальности и неизбыточности. Требование уникальности означает, что данные в пределах первичного ключа не должны повторяться. Первичный ключ не является избыточным, если из него нельзя удалить никакой столбец (столбцы) без потери свойства уникальности. Первичный ключ является частным случаем потенциального ключа. В одной таблице могут быть несколько потенциальных ключей. Например, в таблице, содержащей сведения о сотрудниках какой-либо организации, могут содержаться одновременно табельный номер сотрудника, который не должен повторяться в пределах одной организации, и его паспортные данные, уникальные в масштабах государства. При наличии нескольких потенциальных ключей в одной таблице один из них произвольно выбирается в качестве основного, первичного, ключа. 6 Внешний ключ – это столбец или группа столбцов таблицы, содержащих значения первичного ключа другой таблицы. Данные во внешнем ключе могут повторяться. Существуют два общих ограничения целостности и правило ссылочной целостности. целостности: правило Правило целостности утверждает, что среди значений потенциального ключа не должно быть null-значений. Null-значение – это неопределенное, пропущенное значение в столбце. Согласно правилу ссылочной целостности внешний ключ не должен содержать значения, не содержащиеся в первичном ключе ссылочной таблицы, и null-значения. Проектирование структуры БД до сих пор остается субъективным процессом, т.к. качество полученного результата во многом зависит от интуиции разработчика. Однако существенную помощь в решении этой проблемы могут оказать идеи семантического моделирования, основной задачей которого является выяснение смысловых взаимосвязей между элементами данных. Эти взаимосвязи должны быть отражены на диаграмме «объект/отношение». Рассмотрим некоторые положения этого метода моделирования на примере разработки структуры фрагмента БД районного архива, принимающего на хранение от организаций различные документы. Архив состоит из нескольких отделов, в каждом из которых работают сотрудники. Принятые на хранение документы направляются для использования в эти отделы. Данная ситуация отражается на диаграмме «объект/отношение» следующим образом. Сначала выделяются объекты, сведения о которых участвуют в приведенном выше описании. Как правило, они мало меняются с течением времени и не зависят от существования других объектов. Такие объекты называются правильными и изображаются на диаграмме «объект/отношение» в виде прямоугольников. К ним относятся объекты «Отдел», «Сотрудник», «Документы» (Рис. 1). 7 Нотд# Назв Табн# Фио Годрож Нотд# Руков 1 Отдел М Сотрудник ОС Долж М Дата Нотд# ДО Рег# Назв М Рег# Тип Документы Заголовок Коллист Список условных обозначений Нотд# - номер отдела; Назв – название отдела; Руков – руководитель отдела; Табн# - табельный номер сотрудника; Фио – фамилия и инициалы сотрудника; Долж – должность сотрудника; Годрож – год рождения сотрудника; Рег – регистрационный номер документа; Вид – вид документа; Заголовок – заголовок документа; Коллист – количество листов в документе; Дата – дата принятия документа в отдел; Рисунок 1 – Диаграмма «ОБЪЕКТ-ОТНОШЕНИЕ» БД «Архив» Если существование некоторого объекта зависит от существования другого объекта, то такой объект называется слабым. 8 Затем для каждого объекта указывается в виде эллипса ключевое свойство, которое в дальнейшем будет использоваться в качестве первичного ключа таблицы (см. определение выше), и помечается специальным отличительным знаком, например, «#». Для объекта «Отдел» в качестве ключевого будем рассматривать свойство «Нотд#» (номер отдела), для «Сотрудник» - «Табн#» (табельный номер), для «Документы» - «Рег#» (регистрационный номер документа). Объекты вступают между собой в некоторые смысловые взаимоотношения, отображаемые на диаграмме «объект/отношение» в виде ромбов. Ромбы соединяются отрезками прямых с прямоугольниками, которые соответствуют объектам, участвующим в отношении. Существуют несколько типов смысловых отношений. Если одному экземпляру первого объекта соответствует один и только один экземпляр второго объекта, а одному экземпляру второго объекта – один и только один экземпляр первого объекта, то говорят об отношении типа один-к-одному (1-1) между двумя объектами. Если одному экземпляру первого объекта могут соответствовать несколько экземпляров второго объекта, а одному экземпляру второго объекта – один и только один экземпляр первого объекта, то речь идет об отношении типа один-ко-многим (1-М). Например, для рассматриваемой в примере БД архива один сотрудник может работать только в одном отделе (в случае, если в организации не разрешено совместительство), но в одном отделе работают несколько сотрудников. Поэтому между объектами «Сотрудник» и «Отдел» указано отношение типа М-1 (Рис. 1). Если одному экземпляру первого объекта могут соответствовать несколько экземпляров второго объекта, а одному экземпляру второго объекта – несколько экземпляров первого объекта, то говорят об отношении типа многие-ко-многим (М-М). В рассматриваемом примере один документ, хранящийся в архиве, может использоваться для работы в разных отделах, а в одном отделе могут обрабатываться сведения из разных документов. Поэтому между объектами «Отдел» и «Документы» существует смысловое отношение типа М-М (Рис. 1). 9 После того, как на диаграмме «Объект/отношение» определены объекты данных, их ключевые свойства, смысловые отношения между объектами и их типы, для каждого смыслового отношения указываются внешние ключи для связи с соответствующими объектами. Затем для всех объектов и отношений задаются неключевые свойства (Рис. 1). На основании построенной диаграммы «Объект/отношение» выполняется проектирование структуры БД. Для этого может быть рекомендовано использование простейшего алгоритма, состоящего из пяти этапов: 1. Выделяются правильные объекты. Им ставятся в соответствие базовые отношения, для каждого из которых определяется первичный ключ. Базовое отношение – это именованная таблица, создаваемая пользователем, причем данные в этой таблице не являются результатом обработки данных из других таблиц. Для БД архива объекту «Отдел» поставим в соответствие таблицу О с первичным ключом Нотд, «Сотрудник» - таблицу С с первичным ключом Табн, «Документ» - Д(Рег). 2. Выделяются отношения многие-ко-многим. Им ставятся в соответствие базовые отношения, для каждого из которых определяются внешние ключи. После этого формируется первичный ключ отношения; как правило, он является комбинацией внешних ключей, если не возражают конечные пользователи, которые будут работать с БД. В противном случае в базовое отношение вводится дополнительный атрибут, который и будет играть роль первичного ключа. Для БД архива отношению ДО поставим в соответствие таблицу ДО с внешними ключами Нотд (для связи с таблицей О) и Рег (для связи с таблицей Д); первичным ключом таблицы будет являться комбинация внешних ключей (Нотд, Рег). 3. Выделяются отношения многие-к-одному, в которых участвуют только правильные объекты. Для них новые базовые отношения не создаются. Но в базовое отношение, соответствующее стороне «многие», добавляется внешний ключ к базовому отношению, соответствующему стороне «один». В качестве внешнего ключа используется первичный ключ базового отношения стороны «один». В БД архива для отношения 10 ОС новой таблицы создавать не будем. Но в таблицу С (сторона «многие») добавляется внешний ключ Нотд для связи с таблицей О. 4. Выделяются отношения многие-к-одному, в которых участвуют слабые объекты. Для каждого слабого объекта создается базовое отношение и определяется первичный ключ. Для отношений многие-кодному новые базовые отношения не создаются, но ставится внешний ключ со стороны «многие» к стороне «один». На диаграмме «Объект/отношение» для БД архива слабых объектов нет. 5. Каждому неключевому свойству объектов и отношений во всех созданных базовых отношениях ставится в соответствие неключевой атрибут. В БД архива добавляются неключевые атрибуты в каждую созданную таблицу. На основании всех выше приведенных рассуждений получаем следующую структуру фрагмента БД архива: О (Нотд, Назв, Руков), первичный ключ – Нотд; С (Табн, Нотд, Фио, Годрож, Долж), первичный ключ – Табн, внешний ключ – Нотд для связи с таблицей О; Д (Рег, Назв, Заголовок, Вид, Коллист), первичный ключ – Рег; ДО (Рег, Нотд, Дата), первичный ключ – (Рег, Нотд), внешний ключ – Нотд для связи с таблицей О, Рег – для связи с таблицей Д, где: Нотд - номер отдела; Назв – название отдела; Руков – руководитель отдела; Табн - табельный номер сотрудника; Фио – фамилия и инициалы сотрудника; Долж – должность сотрудника; Годрож – год рождения сотрудника; Рег – регистрационный номер документа; Вид – вид документа; Заголовок – заголовок документа; 11 Коллист – количество листов в документе; Дата – дата принятия документа в отдел. Взаимосвязь данных Microsoft Access работает с реляционными базами данных, которые получили широкое распространение благодаря способности объединять информацию из разных таблиц. Создав таблицы и определив ключи для каждой из них, можно задать взаимосвязи, которые позволяют извлекать данные из нескольких таблиц и помещать их в одну форму, отчет или запрос. В Microsoft Access есть два типа взаимосвязей: отношение «один-кодному» и отношение «один-ко-многим», которое является более распространенным. В последнем случае одной записи таблицы соответствует несколько записей в другой таблице. Например, в одном отделе могут использоваться много документов. Значит, одна запись в таблице, называемой главной таблицей, будет связана с множеством записей в таблице, которая называется связанной. Наименования полей, через которые устанавливается связь таблиц, могут быть различны, но тип содержащихся в них данных должен совпадать, а числовые поля должны иметь одинаковый размер. Если задано отношение «один-к-одному», то одной записи в главной таблице соответствует одна запись в связанной таблице. Такой тип связи используется реже. Примечание – Существуют исключения из правила об обязательном совпадении типа данных для связующих полей. Например, поле типа Счетчик можно связать с числовым полем, имеющим в свойстве Размер значение Длинное целое. Порядок выполнения работы 1. Выбрать для каждой бригады в соответствии с ее номером предметную область из приведенного ниже списка: отдел сбыта хлебозавода; кафедра; 12 экзамены; продовольственный магазин; зоопарк; библиотека; архив; отдел кадров производственной фирмы; отдел маркетинга коммерческого предприятия. 2. Для заданной предметной области построить диаграмму «Объект/отношение», содержащую 3 правильные объекта, одно смысловое отношение типа М-1, одно смысловое отношение типа М-М. Разработать структуру базы данных, включающей 4 таблицы. 3. Запустить программу MS Access 2000. 4. Выбрать из меню в правой части рабочего окна пункт Создание/Новая база данных или из основного меню Access в верхней части окна пункт Файл/Создать. 5. В открывшемся окне Файл новой базы данных (БД) выбрать по указанию преподавателя папку, в которой будет размещена новая БД, и задать имя файла БД. Щелкнуть по кнопке Создать. При успешном выполнении этой части работы на экране появится диалоговое окно <Имя файла>: база данных (формат Access 2000). 6. Создать все таблицы БД. Для этого в открывшемся окне <Имя файла>: база данных (формат Access 2000) из всех перечисленных слева Объектов БД выбрать объект Таблицы. Среди возможных способов создания таблиц, перечисленных в рабочем поле окна, выбрать курсором и щелкнуть по надписи Создание таблицы в режиме конструктора. Для каждой из таблиц, которые должны быть созданы, в диалоговом окне ТаблицаN: таблица (здесь N – номер таблицы, определяемый компьютером без участия пользователя) проделать следующую последовательность действий. a) В поле Имя поля задать имя первичного ключа. Например, в БД «Архив» для таблицы О будет задано имя Нотд. В поле Тип данных 13 выбрать из раскрывающегося списка (для этого щелкнуть по значку треугольника в правой части поля) тип данных, которые в дальнейшем будут внесены в это поле. b) В нижней части окна ТаблицаN: таблица открывается окно Свойства поля. В нем могут быть даны указания пользователя относительно некоторых свойств создаваемого поля. Прежде всего, следует выбрать вкладку Общие и свойство Индексированное поле. Определяющим признаком первичного ключа является уникальность (неповторяемость) значений. Поэтому в раскрывающемся списке следует указать значение Да (Совпадения не допускаются), щелкнув по нему мышью. c) Выбрать свойство поля Обязательное поле и в раскрывающемся списке указать значение Да. Это означает, что СУБД Access будет автоматически контролировать выполнение правила целостности объекта и в случае, если конечный пользователь оставит незаполненным поле первичного ключа, выдаст об этом предупреждающее сообщение. Если первичный ключ создаваемой таблицы является простым, перейти к пункту е). d) В случае, если в создаваемой таблице имеется составной первичный ключ, повторить пункты а) и с) для каждого из полей, входящих в состав ключа. При работе со свойством Индексированное поле следует выбирать значение Да (Допускаются совпадения), т.к. требование уникальности значений распространяется на значения первичного ключа в целом, а не на отдельные поля ключа. После этого выделить курсором названия всех полей ключа и щелкнуть мышью по значку «Ключевое поле». При заполнении таблицы СУБД Access будет автоматически контролировать выполнение правила целостности объекта. e) Создать поля внешних ключей. Для этого задать имена полей и типы данных для них, указать значение Да свойства Обязательное поле (т.к. среди значений внешнего ключа не могут быть null-значения) и значение Да (Допускаются совпадения) свойства Индексированное поле. 14 f) Создать неключевые поля. Для этого задать имена полей и типы данных для них. g) Сохранить созданную таблицу. Для этого на панели инструментов щелкнуть мышью по кнопке Сохранить. В диалоговом окне Сохранение задать имя таблицы в соответствии с результатами проектирования структуры БД. В появившемся сообщении с вопросом о том, хотите ли вы создать ключевое поле, выбрать Нет. В случае ответа Да будет создано ключевое поле с данными типа «Счетчик» и использование буквенных и буквенно-цифровых значений первичного ключа станет невозможным. h) Пункты a)-g) повторить для всех таблиц БД, которые следует создать. Результаты выполнения этапа 6 для БД «Архив» можно посмотреть, если открыть эту БД, выбрать объект Таблицы, выбрать мышью любую таблицу и кнопку Конструктор на панели инструментов окна БД. 7. Включить таблицы в окно Схемы данных. a) На панели инструментов щелкните на кнопке Схема данных. Откроется окно Схема данных. b) На панели инструментов щелкните на кнопке Добавить таблицу. Появится диалоговое окно Добавление таблицы. c) На вкладке Таблицы последовательно выделите каждую таблицу и щелкните для нее на кнопке Добавить. В окне Схема данных отобразятся все таблицы со списками полей. d) В диалоговом окне Добавление таблицы щелкните на кнопке Закрыть. 8. Создать связи между таблицами. Выберите пару связанных между собой таблиц. В одной из них должен присутствовать внешний ключ, в другой – первичный ключ, на который он ссылается. Перетащите поле первичного ключа из второй таблицы на поле внешнего ключа первой таблицы. Когда вы отпустите кнопку мыши, появится диалоговое окно Связи. Убедитесь, что связующие поля указаны для обеих таблиц. Если это не так, то щелкните в ячейке под 15 названием таблицы, затем щелкните на стрелке, чтобы выбрать из списка нужное поле. Обеспечьте возможность автоматического соблюдения правила ссылочной целостности. Для этого пометьте флажком Обеспечение целостности данных и Каскадное обновление связанных записей. Щелкните на кнопке Создать. Тонкая линия соединит связующие поля двух таблиц. Эта связь будет существовать, пока вы ее не удалите. Описанные действия повторить для всех пар связанных таблиц. После этого закройте окно Схема данных. При закрытии окна появится сообщение с запросом, хотите ли вы сохранить изменения макета Схема данных. Все созданные связи хранятся в БД. Остановимся более подробно на смысле произведенных действий. Взаимосвязи таблиц базы данных обычно отражают направления и характер деятельности фирмы. Если таблицы связаны, то изменения в одной из них влияют на данные в другой таблице. Это обеспечивается целостностью базы данных, суть которой состоит в том, что если установлено соответствие записей в связанных таблицах, нельзя произвольно менять или удалять связанные данные. Целостность базы данных достигается при выполнении ряда условий. Во-первых, поля совпадения в главной таблице должны быть ключевыми или входить в составной ключ. Во-вторых, они должны иметь одинаковый тип данных. И, наконец, обе таблицы должны входить в одну базу данных. Целостность данных возможна, только если связанные таблицы имеют формат Microsoft Access. To есть, понятие целостности не распространяется на базы данных, содержащие связанные таблицы в формате Microsoft Excel, Paradox, dBase и другие. Целостность базы данных накладывает некоторые ограничения на ввод и корректировку информации, которые способствуют правильности ввода данных. a) Нельзя ввести значение во внешний ключ связанной таблицы, если не существует совпадающий первичный ключ в главной таблице. 16 b) Запрещается удалять записи в главной таблице, если есть соответствующие записи в связанной таблице. Нельзя, например, удалить записи об отделе в таблице О, если в таблице С имеется информация о сотрудниках, работающих в этом отделе. c) Изменение значения первичного ключа в главной таблице приведет к изменению значений внешнего ключа в связанной таблице. Например, если в таблице О номер отдела изменится с 1 на 11, то в таблице С изменятся значения внешнего ключа для всех сотрудников, работающих в этом отделе. 9. Создать форму для ввода данных. Хотя информацию можно непосредственно вносить в таблицу, в большинстве случаев это делается с помощью форм. Спроектированная надлежащим образом форма облегчает ввод данных и обеспечивает их правильность. Если не требуется никакого специального форматирования или контроля данных, можно создать основу формы с помощью функции Автоформа. Для этого: a) Выберите объект базы данных Форма. b) На панели инструментов выберите Создать. c) В открывшемся диалоговом окне Новая форма выберите Автоформа: в столбец. В этом случае на экране будет присутствовать только одна запись таблицы. С другими способами представления данных в формах познакомьтесь самостоятельно. d) В нижней части окна Новая форма из раскрывающегося списка выбрать таблицу, для которой нужно создать форму. Щелкнуть по кнопке ОК. Microsoft Access создаст форму. e) Щелкните на команде Сохранить в меню Файл. f) Убедитесь, что имя таблицы выделено в поле Имя формы диалогового окна Сохранение. Щелкните на кнопке ОК. g) Закройте созданную форму. h) Повторите пункты a) – g) для всех форм, которые должны быть созданы. 17 Результаты выполнения этой части работы для БД «Архив» можно просмотреть, открыв объект Форма для этой БД. 10. Создайте поле со списком значений данных. Можно уменьшить количество ошибок при вводе данных, если не печатать их, а выбирать значения из числа возможных. Это особенно важно для задачи обеспечения общих ограничений целостности. СУБД Access будет автоматически проверять соблюдение пользователем общих ограничений целостности. Однако сам пользователь столкнется со сложной проблемой ввода данных в поля внешних ключей: в них, согласно правилу ссылочной целостности, должны содержаться только данные, которые присутствуют среди значений соответствующих первичных ключей. При большом количестве записей в таблицах запомнить все имеющиеся значения первичных ключей становится очень трудно. Существенно облегчить положение может использование комбинированного поля, позволяющего как вводить данные с клавиатуры, так и выбирать их из списка. Чтобы создать комбинированное поле, следует поместить элемент управления поле со списком в форму и через его свойства определить источник, содержащий возможные значения данных. Для этого необходимо выполнить следующую последовательность действий. a) Выбрать пару форм, одна из которых содержит поле внешнего ключа, а вторая – поле первичного ключа, на который ссылается внешний. Запомнить имена таблиц, соответствующих этим формам. Для выбора нужных форм можно воспользоваться информацией Схемы данных. b) На вкладке Формы выбрать форму, содержащую внешний ключ, и перейти в режим Конструктора, щелкнув на панели инструментов по надписи Конструктор. Если размер окна формы не позволяет видеть все ее элементы управления, увеличьте его, протащив угол окна в нужном направлении. c) Освободить место для поля со списком, удалив поле внешнего ключа и его надпись. Для этого выбрать нужное поле, щелкнув по нему мышью, и нажать клавишу Delete. Если панель элементов закрывает обзор формы, щелкните на заголовке панели и перетащите ее в другое место 18 экрана. Можно вообще убрать панель с поверхности формы, если дважды щелкнуть на ее заголовке. d) Если значения, которые вводятся в поле со списком, должны быть занесены в таблицу, необходимо связать это поле с соответствующим полем таблицы или запроса, чтобы Microsoft Access внес данные в базу данных. Такой элемент управления называется присоединенным. Дальнейшие действия выполняются с помощью Мастера создания полей со списком. e) Убедитесь, что на экран выведена панель элементов. В противном случае щелкните на кнопке Панель элементов на панели инструментов Конструктор форм. Убедитесь, что кнопка Мастера нажата на панели элементов. f) Щелкните по кнопке Поле со списком на панели элементов, перетащите значок поля со списком на свободное место формы и снова щелкните мышью. После этого откроется первый диалог Мастера. g) В первом диалоговом окне мастера Создание полей со списком убедитесь, что выбран вариант Поле со списком использует значения из таблицы или запроса. Затем щелкните на кнопке Далее. h) В области Показать щелкните на варианте Таблицы и выделите в появившемся списке таблицу, содержащую первичный ключ, на который ссылается интересующий Вас внешний ключ. Щелкните на кнопке Далее. i) В списке Доступные поля поочередно дважды щелкните на имени поля первичного ключа. Так как в качестве первичного ключа часто используются буквенные и цифровые коды, то целесообразно показывать пользователю не только значение самого первичного ключа, но и данные, расшифровывающие это значение. Например, в БД «Архив» при создании поля со списком для внешнего ключа Нотд в таблице С имеет смысл показывать пользователю как кодовые обозначения номеров отделов из таблицы О, так и значения из поля Назв, определяющие полное название отдела архива. Поэтому, после того, как в списке Доступных полей выбран первичный ключ, желательно еще выбрать и одно или несколько полей, расшифровывающих значение первичного ключа. Это можно 19 сделать, дважды щелкнув мышью по нужному полю, или после выбора поля щелкнуть по стрелке вправо. Эти поля будут столбцами списка. Щелкните на кнопке Далее. j) Щелкните по флажку Скрыть ключевой столбец, т.к. данные во внешний ключ должны выбираться из значений первичного ключа. Щелкните дважды на правых границах заголовка каждого столбца, чтобы подогнать ширину колонок под размер данных. Щелкните на кнопке Далее. k) Выберите имя первичного ключа. Щелкните на кнопке Далее. l) Убедитесь, что активизирован вариант Сохранить в поле. Из раскрывающегося списка выберите имя внешнего ключа. Щелкните на кнопке Далее. m) Имя внешнего ключа предлагается по умолчанию в качестве надписи поля со списком. Если эта надпись вас устраивает, щелкните на кнопке Готово. Теперь форма содержит поле со списком, присоединенное к полю внешнего ключа. n) При необходимости измените размеры поля со списком и надписи, потянув за угол нужные поля. o) Сохраните созданную форму. p) Пункты а) – о) повторите для всех форм, содержащих внешние ключи. 11. Ввести в каждую таблицу с помощью форм 8-12 записей. 12. Создать простой запрос для разработанной БД. Связав таблицы БД, можно посмотреть, как работают установленные отношения, когда нужно получить данные из нескольких таблиц. Информацию из таблиц можно извлекать с помощью фильтра или запроса. При работе с фильтрами задается критерий выбора данных из одной таблицы и отсутствует возможность сохранения полученных данных. Запрос дает возможность использовать связи между таблицами для получения и сохранения информации из двух и более таблиц. 20 a) В окне базы данных щелкните на вкладке Запросы, чтобы вывести список запросов, и затем щелкните на кнопке Создать. Появится диалоговое окно Новый запрос. b) В диалоговом окне Новый запрос щелкните дважды на пункте Простой запрос. Откроется диалоговое окно Создание простых запросов. По Схеме данных выберите пару связанных таблиц. c) В списке Таблицы и запросы выберите таблицу, содержащую внешний ключ. Затем в списке Доступные поля щелкните дважды на всех полях, которые считаете нужным включить в запрос. d) В списке Таблицы и запросы выберите вторую таблицу. Затем в списке Доступные поля щелкните дважды на всех нужных полях, кроме поля первичного ключа, т.к. данные из этого поля уже содержатся во внешнем ключе, вошедшем в запрос. При необходимости можно задать условие отбора записей, если в бланке запроса щелкнуть в строке Условие отбора. Щелкните на кнопке Далее. e) Убедитесь, что выбран вариант Подробный (вывод каждого поля каждой записи) и щелкните на кнопке Далее. f) Введите имя запроса в качестве заголовка. Убедитесь, что выбран вариант Открытие результатов выполнения запроса и щелкните на кнопке Готово. В окне запроса появятся связанные данные из обеих таблиц. g) Закройте окно запроса. Microsoft Access автоматически сохраняет запрос, и его наименование (заголовок) появится в списке запросов в окне базы данных. h) Разработать еще два запроса для своей БД. 13. Продемонстрировать разработанную БД преподавателю. 14.Оформить отчет. Отчет должен содержать: название, цель работы, диаграмму «Объект/отношение», описание структуры БД, таблицы БД, окна форм и запросов БД, окно схемы данных с указанием ключей, выводы. 21 Контрольные вопросы 1 Дайте определение объекта, таблицы, запроса, формы, макроса и модуля. 2 Перечислите этапы проектирования структуры БД. 3 Что такое целостность БД? 4 Перечислите общие ограничения целостности БД. 5 Как создать структуру таблицы? 6 Как обеспечить выполнение средствами СУБД Access? правила целостности объекта 7 Как обеспечить выполнение правила ссылочной целостности средствами СУБД Access? 8 Какие два типа взаимосвязей таблиц есть в MS Access? 9 Как создать поле со списком с помощью Мастера? 10 Как используется поле со списком для обеспечения общих ограничений целостности? 11 Как создать простой запрос? Лабораторная работа 2 Частные ограничения целостности данных БД Цель работы: овладеть приемами обеспечения частных ограничений целостности данных при проектировании БД и при ее использовании. Общие сведения Частные ограничения целостности распространяются только на некоторые таблицы созданной базы данных и отражают специфику ее предметной области. Порядок выполнения работы 1 Изучить теоретическую часть работы. 2 Запустить учебную БД «Архив». Инструкцию по запуску учебной 22 БД получить у преподавателя. 3 Проделать подготовительные упражнения. Контроль данных через элементы управления форм Каждое поле формы, предназначенное для ввода и отображения данных, в сущности, представляет собой элемент управления. Элементами управления называются графические объекты, в которых осуществляется ввод, вывод и поиск информации. Все компоненты Microsoft Access, включая таблицы, формы, запросы и отчеты, содержат те или иные элементы управления, такие как надписи, списки, переключатели, кнопки, текстовые поля. При построении формы с помощью мастера элементы управления создаются автоматически. Можно добавить новые элементы управления или изменить свойства, существующих в режиме Конструктора. Как задать условие проверки данных при вводе Часто требуется, чтобы значения данных находились в допустимых пределах. С помощью свойств элемента управления для любого поля можно задать условия, которым должны отвечать вводимые в него значения. Если заданное условие нарушается, ввод блокируется и на экран выдается сообщение об ошибке. Откройте форму ОД, чтобы ввести ограничение на значение в поле Дата. Очевидно, что дата принятия документа в отдел должна быть больше или равна текущей дате: в окне базы данных щелкните на вкладке Формы. Вкладка переместится на первый план; выделите форму ОД и щелкните на кнопке Конструктор; форма ОД откроется в режиме Конструктор; если на экране нет окна свойств, выберите в меню Вид/Свойства или на панели инструментов щелкните на кнопке Свойства, чтобы его открыть. Открывается окно, где указаны свойства выделенных объектов. Если выделена форма, то на ней представлены свойства, определяющие поведение формы в целом. Когда выделен раздел или элемент управления формы, то отображаются его свойства; 23 в разделе Область данных выделите поле Дата, щелкнув на нем, и затем щелкните на вкладке Данные в окне свойств; щелкните в поле свойства Условие на значение, введите =Date() и нажмите клавишу ОК. Это правило контроля означает, что дата принятия документа в отдел должна быть равна текущей дате. Функция Date() возвращает текущую дату; щелкните в поле свойства Сообщение об ошибке, чтобы поместить в него курсор и введите: Недопустимое значение даты! Дата принятия документа в отдел должна быть равна текущей дате! нажмите клавишу Enter; закройте окно свойств. Проверьте действие нового условия Рекомендуется всегда проверять, добились ли вы желаемого эффекта, изменив свойства объекта. В следующем упражнении введите неправильные данные и посмотрите, как работает новое правило контроля: щелкните на стрелке кнопки Вид и выберите Режим формы; щелкните в поле Дата, чтобы поместить в него курсор, введите любую дату, отличную от текущей, и затем нажмите клавишу Enter. Появится сообщение об ошибке с заданным вам текстом; щелкните на кнопке ОК, измените дату на текущую и нажмите клавишу Tab. Теперь дата соответствует заданному условию и будет введена в поле; закройте форму. Создание поля со списком значений данных Можно уменьшить количество ошибок при вводе данных, если не печатать их, а выбирать значения из числа возможных. Для этих целей больше всего подходят поля со списком значений данных, создание которых рассматривалось в лабораторной работе № 1. Использование полей подстановок для точного ввода данных 24 Ввод данных в такое поле сводится к выбору нужного значения из ограниченного списка, что позволяет ускорить ввод и исключить возможность ошибок. Создайте поле подстановки В таблице Д создайте поле подстановок для видов документов с помощью Мастера подстановок, который создаст поле со списком, содержащим допустимые значения. При создании поля подстановок нужно ввести список допустимых значений. Для этого выполните следующее: в окне базы данных щелкните на вкладке Таблицы и затем дважды щелкните на таблице Д; перейдите в режим Конструктор; в поле Вид в типе данных выберите тип Мастер подстановок; открывается диалоговое окно Создание подстановки. Так как вам нужен фиксированный столбец значений, выберите второй вариант; щелкните на кнопке Далее. Мастер запрашивает, сколько столбцов должно быть в поле подстановки. Оставьте значение, принятое по умолчанию; щелкните на ячейке под заголовком Столбец 1 и введите опись № 1. Нажмите клавишу Tab. Курсор переместится в новую пустую ячейку; добавьте значения опись № 2, опись № 3, фотокопии и картотека и щелкните на кнопке Далее. Мастер запрашивает заголовок для столбца подстановок; введите Вид и щелкните на кнопке Готово; перейдите в режим Таблица; щелкните на стрелке в поле Вид. На экране в поле Вид включен столбец подстановок. Теперь, чтобы ввести значение, достаточно щелкнуть на стрелке вниз и выбрать значение из списка. Более того, в любой форме, созданной на базе этой таблицы, для поля Вид автоматически будет создано поле со списком; выберите любые значения для всех записей из поля подстановок; 25 закройте таблицу Документы и щелкните на кнопке Да, чтобы сохранить изменения. 4 Для созданной БД обеспечить выполнение частных ограничений целостности. Задать условие проверки данных при вводе для всех таблиц, созданных в лабораторной работе 1. Создать поля подстановок для тех таблиц, где это необходимо. Получить электронные копии результатов работы и диалоговых окон Конструктора форм, показывающих параметры Свойств выделенных объектов; 5 Оформить отчет. Отчет должен содержать: название и цель лабораторной работы; краткое описание основных параметров, определяющих частные ограничения целостности данных; результаты работы, подготовленные разделе 4. Контрольные вопросы 1 Что такое частные ограничения целостности? 2 Как задать условие проверки данных при вводе? 3 Для чего задаются условия проверки данных при вводе? 4 Для чего задаются поля подстановок? 5 Как создаются поля подстановок? Лабораторная работа 3 Надежность программ обработки данных Цель работы: овладеть приемами создания программ обработки данных, дружественных по отношению к конечному пользователю. Общие сведения Интерфейсом пользователя называется комплекс программных средств, обеспечивающих взаимодействие пользователя с системой, например, с базой данных. Обеспечение достоверности информации является одной из важнейших задач, стоящих перед разработчиками и администраторами баз данных. Деятельность широкого круга людей - от простых граждан до государственных деятелей – зависит от надежности получаемой информации. В одних случаях ошибка в данных может стать причиной небольшого недоразумения, в других – повлечь за собой 26 тяжелые последствия. Поэтому основными требованиями к программному интерфейсу пользователя являются: 1. Простота и прозрачность для понимания пользователя, не являющегося специалистом в области информационных технологий. 2. Приемлемое для данной группы пользователей быстродействие. 3. Способность программного обеспечения сохранять работоспособность при решении всех задач, оговоренных требованиями технического задания. 4. Безопасность данных, т.е. санкционированный допуск определенных категорий пользователей к конкретным наборам данных. 5. Возможность восстановления данных при сбоях компьютера. 6. Обеспечение общих и частных ограничений целостности. 7. Надежность программного обеспечения, т.е. способность системы сохранять работоспособность в любой момент времени. Неправильная реакция пользователя может вызывать самые тяжелые последствия для целостности данных. Для повышения надежности взаимодействия пользователя и системы при разработке БД рекомендуется придерживаться следующих принципов: все меню программ и указания пользователю должны быть четкими и ясными по существу и должны демонстрироваться на заметном месте экрана, т.е. восприниматься им быстро и без напряжения; для того чтобы пользователь не забыл, какую цель действий он уже совершил к данному моменту и не “заблудился” в системе, желательно сохранить на экране предыдущие меню/окна или их следы или вообще программировать интерфейс, “управляемый событиями” (интерфейс в стиле WINDOWS); при необходимости нужно создавать специальные программные справочные экраны о разрешенном поведении пользователя в данном месте системы; обеспечивать отказ пользователя от продолжения исполняемых действий в любой момент и т.д. 27 Порядок выполнения работы 1 Запустить учебную БД «Архив». Инструкцию по запуску учебной БД получить у преподавателя. 2 Проделать подготовительные упражнения. Как изменить последовательность перехода Внешний вид формы и порядок ее заполнения существенно влияют на точность и скорость ввода данных. Поля данных должны быть упорядочены на экране в соответствии с их логической последовательностью, как это обычно делается на бумажных бланках. Под последователъностъю перехода понимается порядок перемещения курсора по элементам управления при нажатии клавиши Tab в Режиме формы. Измените последовательность перехода Откройте форму С в режиме формы, поле Табн является первым выделенным полем, куда можно вводить данные. Отредактируйте порядок перехода, чтобы поле со списком Нотд оказалось не последним, а первым. Для этого необходимо сделать следующее: щелкните на панели инструментов на стрелке кнопки Вид и затем щелкните на режиме Конструктор; щелкните в меню Вид на команде Последовательность перехода. Появится диалоговое окно Последовательность перехода; поместите указатель мыши в столбец слева от имени элемента управления Нотд. Когда указатель примет форму направленной вправо стрелки, щелкните, чтобы выделить поле; щелкните и, не отпуская кнопку мыши, перетащите элемент Нотд в начало списка; щелкните на кнопке ОК; переключитесь в Режим формы и проверьте, как работает последовательность перехода. Поле Нотд будет выделено; сохраните форму С. 28 Как присвоить управляющему элементу значение по умолчанию Еще одним способом повышения точности ввода данных является присвоение им начальных значений. Если поле почти всегда имеет одинаковое значение, можно установить его заранее при определении свойств элемента управления. Тогда нет необходимости вводить его каждый раз, так как оно будет присваиваться автоматически, исключая тем самым возможность ошибок. Начальное значение задается с помощью свойства Значение по умолчанию либо в виде выражения, либо как числовая или текстовая константа. Чтобы установить значение по умолчанию, надо задать выражение в окне свойств. Откройте форму С и выполните следующее: щелкните на стрелке кнопки Вид и затем щелкните на пункте Конструктор; щелкните в поле Долж, чтобы выделить его. Если окно свойств отсутствует на экране, на панели инструментов щелкните на кнопке Свойства; на вкладке Данные для свойства Значение по умолчанию задайте выражение: = 'инспектор'1 закройте окно свойств; переключитесь в Режим формы. Поскольку Microsoft Access задает начальное значение только для новых записей, для проверки свойства вам понадобится новая запись; щелкните на кнопке перехода Новая запись внизу формы, чтобы перейти к новой пустой записи; появится новая запись. В поле Долж задано "инспектор"; закройте форму. В ответ на запрос, хотите ли вы сохранить изменения, щелкните на кнопке Да. Как вывести на экран подсказку для пользователя при работе с полем формы Чтобы установить значение по умолчанию, равное текущей дате, в свойстве Значение по умолчанию надо задать выражение: =Date(). 29 1 откройте форму С; перейдите в режим Конструктора; выделите поле Табн левой клавишей мыши (ЛКМ); щелкните правой клавишей мыши (ПКМ) и в появившемся контекстном меню выберите Свойства; в появившемся диалоговом окне Поле выбрать вкладку Другие и в строке Всплывающая подсказка ввести текст подсказки: Табельный номер сотрудника; закройте диалоговое окно Поле; перейти в Режим формы и подведите курсор мыши к полю Табн, для которого задана подсказка. 3 Изменить последовательность перехода в формах, созданных в лабораторной работе № 1, где это необходимо. Получить электронные копии диалоговых окон для этих форм. Присвоить управляющим элементам форм значения по умолчанию. Получить электронные копии диалоговых окон Свойства для этих форм. 4 Вывести подсказку пользователю для всех полей форм, при заполнении которых может возникнуть ошибка. Получить электронные копии окон форм с подсказками. 5 Оформить отчет. Отчет должен содержать: название и цель лабораторной работы; краткое описание основных параметров, определяющих надежность разработанных программ; результаты работы, подготовленные в разделах 3, 4, 5. Контрольные вопросы 1 Какие параметры характеризуют надежность программ пользователя? 2 Как изменить последовательность перехода в формах? Какие возможности открывает такая мера в отношении надежности? 3 Для чего присваивается значение по умолчанию управляющим элементам форм? 4 Как создать подсказку для пользователя? 30 Лабораторная работа № 4 Работа с данными из внешних источников Цель работы: овладеть приемами использования гиперссылок для связи документов. Общие сведения В идеале база данных должна разрабатываться на основе одного или нескольких взаимосвязанных средств, например, из числа предлагаемых Microsoft Office. Однако реальные информационные системы в большинстве своем создаются постепенно с использованием различных программ и включают данные разных форматов. Наиболее типично такое состояние дел для организаций, которые применяют вычислительную технику в течение длительного периода. Microsoft Access позволяет использовать информацию, подготовленную другими программами (такими как Microsoft Excel, Lotus 1-2-3, dBASE, Microsoft FoxPro, Paradox, Microsoft SQL Server), а также текстовые файлы. Добавление гиперссылок в базу данных Одним из последних достижений в процессе компьютеризации является расширение Интернета, или, иначе говоря, Всемирной сети. Интернет представляет собой совокупность взаимосвязанных сетей, которые охватывают весь мир. Многие организации становятся постоянными абонентами Интернета, что позволяет им распространять и получать информацию и взаимодействовать со своими поставщиками и потребителями. Просмотр информации в Интернете осуществляется с помощью специальных программ, называемых обозревателями или броузерами. 31 Базу данных Microsoft Access очень просто связать с другими источниками информации, включая Интернет, благодаря гиперссылкам, новому типу данных, которые можно хранить в таблице. Гиперссылка является проводником от вашей базы данных до объекта информации, где бы он ни находился: в вашей базе, документе Office или узле Интернет. В этой работе вы узнаете, как создать гиперссылку на другой объект базы данных и на объекты MS Office. Использование гиперссылок для связывания документов является эффективным способом развития внутренней сети организации. Интранет — это система внутренних связей, которая использует протокол World Wide Web для обмена информацией как между соседними столами, так и со всем миром. Связывание форм базы данных с таблицами, формами и запросами этой же базы данных с помощью гиперссылки При просмотре информации в одной форме часто возникает необходимость возможности проверки каких-либо сведений, находящихся в другой форме, таблице или запросе. Можно создать форму, объединяющую эти данные, но такая форма будет слишком сложной. Поэтому для обеспечения быстрого перехода между формой и таблицей, формой и другой формой, формой и запросом можно в форму добавить гиперссылку. Эта работа выполняется в режиме Конструктора. Для связи формы с таблицей с помощью гиперссылки необходимо выполнить следующее: в окне базы данных откройте форму, в которую необходимо вставить гиперссылку в режиме Конструктора; на панели инструментов щелкните на кнопке Добавление гиперссылки. Появится диалоговое окно Добавление гиперссылки; 32 в этом диалоговом окне в области Связать с выберите опцию с объектом в этой базе данных. Появится диалоговое окно с названием Выберите объект в этой базе данных. В нем нужно выбрать объект, на который будет указывать гиперссылка. Это может быть таблица, форма или запрос; если необходимо создать гиперссылку на какую–либо таблицу, то щелчком мыши на знаке "плюс" откройте список всех таблиц этой базы данных (аналогично можно открыть список всех форм и запросов этой базы данных); в списке таблиц щелкните на имени той таблице, которую вам нужно связать с формой, и затем щелкните на кнопке ОК; в верхней части диалогового окна Добавление гиперссылки в поле Текст появится имя таблицы; щелкните на кнопке ОК. Надпись с именем таблицы будет добавлена в форму. Если надпись слишком мала, измените ее размер с помощью рукояток масштабирования; перетащите надпись под последнее поле формы; чтобы проверить гиперссылку, на панели инструментов щелкните на кнопке Вид и перейдите в Режим формы; щелчком на гиперссылке с именем таблицы откройте соответствующую таблицу (таблица откроется в режиме Таблицы); закройте таблицу; закройте форму; щелкните на кнопке Да, когда появится диалоговое окно, запрашивающее, сохранить ли изменения; аналогично создайте гиперссылку для связи двух форм или формы с запросом. 33 При создании гиперссылки при необходимости можно добавить текст подсказки, которая будет выводиться на экран при подведении курсора к гиперссылке. Для этого нужно нажать на кнопку Подсказка…, расположенную рядом с полем Текст, после чего на экране появится окно Текст подсказки. В этом окне введите текст, который должен появляться при наведении указателя на гиперссылку. Если оставить поле Текст подсказки пустым, то Microsoft Access в качестве подсказки будет показывать тип и имя объекта. Создание гиперссылки к документу Office Иногда необходимо создать гиперссылку для быстрого перехода из формы базы данных к какому-либо документу, например, к документу Microsoft Word, для того чтобы быстро открыть его, просмотреть и внести изменения. Для создания гиперссылки к текстовому документу необходимо выполнить следующее: в окне базы данных откройте форму, в которую необходимо вставить гиперссылку в режиме Конструктора; убедитесь, что кнопка Мастер на Панели элементов не нажата, и затем щелкните на элементе Кнопка; перетащите прямоугольник на форму под текущие поля, чтобы создать командную кнопку. На форме появится новая командная кнопка; если окно свойств еще не открыто, щелкните на кнопке Свойства на панели инструментов; в диалоговом окне Свойства щелкните на вкладке Все и в поле свойства Подпись введите текст Просмотр письма; чтобы установить гиперссылку щелкните на свойстве Адрес гиперссылки; затем щелкните на кнопке Построитель; 34 появится диалоговое окно Добавление гиперссылки, в котором в области Связать с выберите опцию с имеющимся файлом или Web-страницей; в области Найдите щелкните на кнопке Файл. После этого на экране появится диалоговое окно Связать с файлом, в котором нужно выбрать имя того файла, с которым вы хотите связать данную форму; щелкните на кнопке ОК, после чего в диалоговом окне Добавление гиперссылки появится путь к файлу; чтобы вернуться в режим Конструктора, щелкните на кнопке ОК; закройте окно свойств; щелкните на кнопку Вид, чтобы отобразить форму в режиме Формы; на форме щелкните по командной кнопке Просмотр письма. Откроется окно Microsoft Word, содержащее документ, который можно просмотреть и при необходимости отредактировать; закройте Microsoft Word и форму и сохраните изменения. Порядок выполнения работы 1 Изучить теоретическую часть работы. 2 Создать гиперссылку какой-либо формы, лабораторной работе 1, на соответствующую таблицу БД. созданной в 3 Получить распечатку этой формы с раскрытой по гиперссылке таблицей. 4 Создать документ WORD, отвечающий специфике предметной области БД, и установить гиперссылку одной из форм БД на этот документ. Получите распечатки формы и письма. 5 Оформить отчет. Отчет должен содержать: название и цель лабораторной работы; краткое описание способов применения 35 гиперссылок, использованных в данной лабораторной работе; распечатки, подготовленные в разделах 4,5. Контрольные вопросы 1 Что такое гиперссылка? 2 Как создать гиперссылку для связи двух форм? 3 Как создать гиперссылку для связи с документом WORD? Лабораторная работа 5 Средства пользователей автоматизации работы конечных Цель работы: овладеть приемами автоматизации работы с базами данных с помощью командных кнопок, выключателей, макросов. Общие сведения В Microsoft Access многие процедуры выполняются автоматически. Так, например, мастера форм, таблиц или отчетов выполняют последовательность шагов, необходимую для создания объекта. Одним из способов автоматизации заданной последовательности действий является создание макроса. Макрос содержит список команд Microsoft Access, которые выполняются одна за другой. Макросы представляют собой мощное средство повышения эффективности работы с данными. Другой путь создания автоматизированных процедур состоит в написании программ с помощью Visual Basic for Applications (VBA). VBA является развитым языком программирования, который позволяет расширить возможности баз данных, учесть их особенности и упростить работу с ними. 36 Порядок выполнения работы 1 Запустите учебную БД «Архив». Инструкцию по запуску учебной БД получите у преподавателя. 2 Проделайте подготовительные упражнения. Как создать кнопку просмотра Начав работать с формой Документы, сотрудники архива столкнулись с необходимостью уточнения характера использования отдельных документов в различных отделах. Макрос Использование документов позволяет быстро выполнить эту задачу. Чтобы сотрудники могли просматривать форму ДО, не выходя из формы Документы, добавьте в нее командную кнопку для запуска макроса. В этом упражнении вы откроете макрос Использование документов и ознакомитесь с ним. Для этого: в окне базы данных щелкните на вкладке Макросы; выделите макрос Использование документов и щелкните на кнопке Конструктор. В окне макроса перечислены входящие в него макрокоманды. В некоторых случаях макросу, перед его выполнением, нужно указать специальные параметры, называемые аргументами. Значения аргументов задаются в нижней части окна макроса. Макрос Использование документов использует команду Открыть Форму, чтобы открыть форму ДО. Эта команда может иметь до шести аргументов. Аргумент Условие отбора используется для отбора записей из базовой таблицы или базового запроса; закройте окно макроса Использование документов. Добавьте в форму командную кнопку В окне базы данных щелкните на вкладке Формы. Выделите форму Документы и щелкните на кнопке Конструктор. Форма откроется в режиме Конструктора. На панели элементов выделите элемент управления Кнопка и затем щелкните в нижней части формы на свободном месте (кнопка Мастер на 37 панели элементов должна быть нажата). Появится окно мастера Создание кнопок, с помощью которого можно задать ссылку на макрос или построить программу. В данном случае нужно указать макрос. В списке Категории выделите пункт Разное и затем выделите значение Запуск макроса в столбце Действия. Щелкните на кнопке Далее. Мастер Создание кнопки выдаст на экран список всех макросов в базе данных. Выделите макрос Использование документов и затем щелкните на кнопке Далее. Откроется следующее окно мастера, где можно указать текст или рисунок, который появится на командной кнопке. Выделите вариант Текст и введите в соседнее поле Использование документов. Щелкните на кнопке Далее. Появится последнее окно мастера, позволяющее присвоить имя командной кнопке. Введите имя кнопки Использование документов и затем щелкните на кнопке Готово. Испытайте командную кнопку При добавлении в базу новых объектов рекомендуется всегда проверять, насколько правильно они выполняют свои функции: переключитесь в Режим формы. На экране появится запись для первого зарегистрированного документа; щелкните на командной кнопке Использование документов. Откроется форма ДО со сведениями обо всех используемых в отделах архива документах. Воспользуйтесь кнопками перехода, чтобы детально просмотреть информацию; закройте форму ДО. Перейдите к следующему документу, щелкнув на кнопке Следующая запись подчиненной формы; щелкните на командной кнопке Использование документов. Откроется форма ДО снова со всеми записями; сохраните и закройте форму Документы. 38 При необходимости просмотра сведений об использовании только конкретного интересующего сотрудника документа может быть использован макрос Использование данного документа. Откройте его в режиме Конструктора и просмотрите. Обратите внимание, что в аргументах макрокоманды Открыть форму задано не только имя открываемой формы, но и условие отбора записей. Слева от знака «=» указывается имя поля в форме, имя которой определено в аргументе макрокоманды «Имя формы», а справа – имя связанного поля формы, в которой предполагается создать кнопку, использующую макрос. Создайте кнопку в форме Документы, повторив указанные выше действия, и испытайте ее действие. Обратите внимание, что теперь при помощи кнопки открываются не все записи формы ДО, а только те, которые характеризуют использование открытого в форме Документы документа. Аналогичный результат можно получить, используя при создании кнопки в окне мастера Создание кнопки категорию Работа с формой и действие Открытие формы. После этого следует указать имя открываемой формы и выбрать способ отбора записей – Открыть форму и показать все записи или Открыть форму для отобранных записей. В первом случае действие созданной кнопки будет аналогично действию кнопки Использование документов, во втором – Использование данного документа. Добавление в форму вычисляемого элемента управления Изменяя свойства элементов управления, можно существенно расширить возможности формы. Свойство Данные позволяет не только указать источник данных, но и задать выражения для вычисления значений полей. Выражения представляют собой математические формулы и могут включать встроенные функции Microsoft Access. Формулу для вычислений можно как непосредственно ввести в поле Данные, так и воспользоваться для этого Построителем выражений. 39 Построитель предлагает набор операторов, функций и объектов базы данных, из которых компонует сложное выражение. Форма Документы включает в себя поле, содержащее количество листов хранимого документа. Предположим, что заведующий архивным отделом хотел бы также знать среднее значение объема документа. Для этого можно добавить в форму соответствующий элемент управления. Воспользуемся Построителем выражений, чтобы задать формулу для расчета среднего значения: выделите форму Документы и затем щелкните на кнопке Конструктор; на панели элементов щелкните на элементе управления Поле, а затем щелкните в форме под созданными ранее кнопками. В форме появится текстовое поле и надпись к нему; на панели инструментов Конструктор форм щелкните на кнопке Свойства, чтобы открыть окно свойств для нового поля; выделите вкладку Данные и затем щелкните в поле Данные; щелкните на кнопке Построить или значке «…», чтобы открыть окно Построителя выражений. Окно Построителя выражений включает поле для ввода выражения, кнопки операторов и список всех объектов базы данных; в строке кнопок операторов, расположенной под полем выражения, щелкните на кнопке со знаком равенства. Знак равенства будет помещен в поле выражения; щелкните дважды на папке Функции в левом списке; затем щелкните на папке Встроенные функции в открывшемся списке; в среднем списке выберите и щелкните на группе функций Статистические; в правом списке установите курсор на функции Avg (среднее); выделите обобщенное описание аргумента функции «expr» (оно должно быть потом заменено на имя поля, для которого вычисляется среднее значение); щелкните дважды на папке Forms в левом списке. В результате этого появятся две вложенные папки: Загруженные формы и Все формы; 40 щелкните дважды на папке Загруженные формы, щелкните дважды на папке Документы. Все объекты в форме Документы появятся в среднем списке окна; прокрутите список до поля Коллист (количество листов) и выделите его; щелкните на кнопке Вставить, чтобы поместить поле в область выражения. В поле выражения появится полное описание поля: =Avg([Коллист]); щелкните на кнопке ОК. В поле Данные нового элемента управления появится созданная формула. В поле Имя введите имя созданного поля – Среднее; Щелкните на элементе управления Надпись слева от элемента, с которым вы работали. Если окно свойств мешает вам, передвиньте его. В окне свойств активизируйте вкладку Макет, в поле свойства Подпись введите Средний объем документа: и нажмите клавишу Enter. Закройте окно свойств. Если нужно, подгоните элемент с надписью «Средний объем документа:» под длину содержащегося в нем текста. Закройте форму. Если появится запрос на сохранение изменений, щелкните на кнопке Да. Откройте форму Документы. Внизу формы указано среднее значение объема хранимых документов. Если теперь изменить объем некоторых документов, то изменится и значение, указанное в поле Средний объем документа:. Закройте форму. Как добавить в форму Выключатель Руководство архива заинтересовано в улучшении качественных характеристик состава сотрудников организации. Одной из таких характеристик является относительное количество сотрудников, имеющих 41 высшее документоведческое и архивоведческое образование. Поэтому для обеспечения возможности учета уровня образования в таблицу С введено поле Высшее образование, имеющее тип данных «Логический». При наличии у сотрудника высшего образования в поле указывается значение «Да», которое помечается щелчком по значку в поле. Данные в таблицу С введены, как обычно через форму Сотрудники. Добавьте в форму выключатель Добавьте элемент управления Выключатель в форму Сотрудники, чтобы упростить ввод значения в поле Высшее образование: на панели элементов щелкните на элементе Выключатель; на панели инструментов Конструктор форм щелкните на кнопке Список полей, чтобы вывести список всех полей формы. В списке полей выделите поле Высшее образование, и не отпуская левую кнопку мыши, перетащите его в положение справа от поля Высшее образование. При перемещении по рабочим областям указатель мыши принимает форму Выключателя. Когда вы отпустите кнопку мыши, в форму будет добавлен новый элемент управления в виде квадратика, связанный с полем Высшее образование. Чтобы убедиться в этом, посмотрите свойство Данные в окне свойств нового элемента (там должно быть указано имя поля Высшее образование); на панели инструментов щелкните на кнопке Свойства. Убедитесь, что в окне свойств открыта вкладка Макет; введите Щелкните здесь при наличии высшего образования и затем клавишу Enter. Закройте окно свойств. На кнопке выключателя появится введенная подпись; выделите элемент управления поле Высшее образование, щелкнув на нем. Нажмите клавишу Del, чтобы удалить его; щелкните на созданном элементе управления Выключатель. Перетащите его к левой границе формы. Поместите указатель на среднюю 42 рукоятку масштабирования на правой границе Выключателя. Когда указатель примет форму двунаправленной стрелки, щелкните дважды, чтобы подогнать ширину кнопки Выключателя под длину текста в нем. Посмотрите на изменения в Режиме формы Изменив внешний вид формы Сотрудники, проверьте, как она выглядит в режиме формы: щелкните на стрелке поля Вид и выберите Режим формы; просмотрите несколько записей, пользуясь кнопками перехода; обратите внимание на изменение внешнего вида созданного выключателя; сохраните изменения. Измените свойства формы Microsoft Access располагает средствами, позволяющими автоматически открывать одновременно несколько форм. В некоторых практических ситуациях это может существенно облегчить работу конечных пользователей. Предположим, что форма Сотрудники отделов должна отображать: а)записи, которые имеют значение «Да» в поле Высшее образование формы Сотрудники; б)сведения о сотрудниках, не имеющих высшее образование. В следующих упражнениях вы создадите макрос для открытия этой формы и добавите его в свойство Открытие формы Отдел. При попытке открытия формы Отдел выполнится макрос и выдаст форму Сотрудники отделов, которая использует два макроса для отбора нужных записей формы Сотрудники. Создайте макрос, открывающий форму для отбора данных В окне базы данных щелкните на вкладке Макросы. Щелкните затем на кнопке Создать. Откроется окно Макрос. Первая ячейка в столбце Макрокоманды пустая. 43 Щелкните на стрелке в первой ячейке столбца Макрокоманды и выделите команду Открыть Форму. Нажмите клавишу Enter. В области открывшегося окна Аргументы представлены шесть аргументов этой команды. В ячейке Примечание введите Этот макрос открывает форму Сотрудники отделов при открытии формы Отдел. Примечание описывает назначение макроса. Щелкните в поле аргумента Имя формы и введите Сотрудники отделов. Нажмите клавишу Enter. Закройте окно Макрос и при появлении запроса на сохранение изменений щелкните на кнопке Да. Появится диалоговое окно Сохранение. В поле Имя макроса введите Сотрудники отделов. Добавьте макрос в форму Отдел Элементы управления, также как и форму в целом, можно связать с определенными событиями (примером события может служить щелчок на данном элементе). Теперь можно добавить созданный макрос в форму Отдел. Тогда при попытке открыть форму Отдел откроется форма Сотрудники отделов, которая включает две кнопки. По кнопке Да сработает фильтр и форма Сотрудники откроется только для записей, имеющих значение «Да» в поле Высшее образование. По кнопке Нет в форме Сотрудники отобразятся сведения о сотрудниках, не имеющих высшее образование. Для реализации поставленной задачи укажите макрос Сотрудники отделов в свойстве Открытие формы Отдел. Это означает, что указанный макрос будет выполняться каждый раз при попытке открыть форму: в окне базы данных щелкните на вкладке Формы. Щелкните на форме Отдел, чтобы выделить ее; щелкните на кнопке Конструктор; 44 откройте окно свойств формы и щелкните на вкладке События; щелкните в поле свойства Открытие, щелкните на стрелке поля и затем щелкните на значении «Сотрудники отделов»; щелкните на стрелке кнопки Вид и выберите Режим формы. Появится окно формы Сотрудники отделов; щелкните на имеющихся в нем кнопках. Внизу экрана на панели перехода указывается, что просматриваются отфильтрованные записи; закройте форму и щелкните на кнопке Да при появлении запроса на сохранение изменений. 3. Создать кнопки просмотра для одной из форм с помощью действий Запуск макроса и Открытие формы. Для каждого из названных действий создать по два варианта кнопок, открывающих для просмотра все записи или только отобранные связанные записи. Получить распечатки диалоговых окон, иллюстрирующих работу созданных кнопок. 4. Добавить в одну из форм вычисляемый элемент управления. Получить распечатки диалогового окна, иллюстрирующего работу созданного элемента управления. 5. Добавить в одну из форм Выключатель, упрощающий ввод значений в какое-либо логическое поле. Получить распечатку окна этой формы. 6. Создать макрос, позволяющий автоматически открыть форму для отбора нужных записей какой-либо таблицы при открытии одной из форм БД. Получить распечатку окна этой формы. 7. Оформить отчет. Отчет должен содержать: название и цель лабораторной работы; краткое описание основных параметров, позволяющих автоматизировать работу пользователя с БД; распечатки, подготовленные в разделах 3, 4, 5,6. 45 Контрольные вопросы 1 Перечислите пользователя. основные способы автоматизации работы 2 Как создать кнопку просмотра? 3 Для чего предназначен вычисляемый элемент управления? 4 Как создать вычисляемый элемент управления? 5 Что такое Выключатель? 6 Как создать Выключатель? 7 Какие возможности предоставляет использование макросов? 8 Как использование макросов помогает автоматизировать работу пользователя? Лабораторная работа №6 Обработка данных с помощью запросов Цель работы: ознакомиться с основными возможностями Microsoft Access в отношении обработки данных; приобрести практические навыки обработки данных с помощью средств Microsoft Access. Общие сведения Одним из стандартных объектов Microsoft Access является запрос. Запросы используются для просмотра, анализа и изменения данных из одной или нескольких таблиц. Например, можно использовать запрос для отображения данных из одной или нескольких таблиц и отсортировать их в определенном порядке, выполнить вычисления над группой записей, осуществить выборку из таблицы по определенным условиям. В общем случае данные, отраженные в запросах, являются результатом применения разнообразных операций реляционной алгебры над данными. Сам запрос не содержит данных, но позволяет выбирать данные из таблиц и выполнять над ними разнообразные операции. 46 Запросы могут служить источником данных для форм и отчетов Microsoft Access. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей и сортировать их. Основное сходство между запросами на выборку и фильтрами заключается в том, что в них проводится извлечение подмножества записей из базовой таблицы или запроса. Фильтр обычно используется при работе в режиме формы или в режиме таблицы для просмотра или изменения подмножества записей. Запрос можно использовать: для просмотра подмножества записей предварительного открытия этой таблицы или формы; таблицы без для объединения в виде одной таблицы на экране данных из нескольких таблиц; для просмотра отдельных полей таблицы; для выполнения вычислений над значениями полей. Основные отличия запросов и фильтров заключаются в следующем: фильтры не позволяют добавить еще несколько таблиц, записи из которых включаются в возвращаемый набор записей; фильтры не позволяют указать поля, которые должны отображаться в результирующем наборе записей; фильтры не могут быть выведены как отдельный объект в окне базы данных; запросы могут использоваться только с закрытой таблицей, запросом или формой; фильтры не позволяют вычислять суммы, средние значения, подсчитывать количество записей и находить другие итоговые значения. Создание простого запроса с помощью Мастера 47 Наиболее просто создается запрос при помощи Мастера запросов. Чтобы создать простой запрос при помощи Мастера запросов, необходимо: 1. В окне базы данных на панели объектов выбрать ярлык Запросы. 2. Выбрать значок Создание запроса с помощью мастера и дважды щелкнуть на нем левой кнопкой мыши или нажать на кнопку Создать в окне базы данных, и в появившемся диалоговом окне Новый запрос выбрать Простой запрос и нажать на кнопку ОК. 3. В появившемся окне Создание простых запросов в поле со списком Таблицы и запросы выбрать таблицу или запрос, которые будут служить источником данных для создаваемого запроса. 4. С помощью стрелок вправо и влево переместить из списка Доступные поля в список Выбранные поля те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке Выбранные поля. 5. Нажать кнопку Далее. 6. В следующем диалоговом окне Мастера в поле Задайте имя запроса ввести имя создаваемого запроса. 7. Выбрать способ открытия запроса: Открыть запрос для просмотра данных или Изменить макет запроса. 8. При необходимости можно установить флажок Вывести справку по работе с запросом? для вывода справочной информации по работе с запросами. 9. Нажать на кнопку Готово. По окончании работы Мастера простых запросов в зависимости от выбора способа дальнейшей работы с запросом откроется или окно запроса в режиме просмотра, или окно Конструктора запросов, в котором можно модифицировать запрос. Создание запроса с помощью Конструктора 48 Конструктор запросов позволяет создавать новые и изменять существующие запросы. Чтобы создать новый запрос с помощью Конструктора запросов, необходимо: 1. В окне базы данных на панели объектов выбрать ярлык Запросы. 2. Выбрать значок Создание запроса в режиме Конструктора или нажать кнопку Создать и в появившемся окне Новый запрос выбрать Конструктор, нажать ОК. 3. В окне Добавление таблицы выбрать одну или несколько таблиц или запросов для построения нового запроса и нажать кнопку Добавить. Для удобства выбора таблиц и запросов в окне существуют следующие вкладки: Таблицы, Запросы, Таблицы и запросы для отображения соответствующих объектов базы данных. 4. После добавления всех необходимых таблиц нажать кнопку Закрыть в окне Добавление таблицы. 5. Чтобы добавить поле в запрос, необходимо в таблице-источнике в верхней части окна Конструктора запросов выбрать нужное поле. Для добавления в запрос всех полей таблицы необходимо выделить поле, обозначенное звездочкой (*). 6. Дважды щелкнуть левой кнопкой мыши на выделенном поле. При этом в нижней части окна Конструктора запросов в бланке запроса появится столбец, соответствующий выбранному полю. Можно добавить поле в бланк запроса и другим способом. Для этого нужно нажать на левую кнопку мыши на выделенном поле таблицы и, перетащив его в нужное место бланка запроса, отпустить кнопку. Рассмотрим назначение строк в бланке запроса окна Конструктора запросов. В верхней части бланка запроса находится узкая область выделения. При установке курсора мыши на область выделения он принимает форму стрелки вниз черного цвета. Чтобы выделить один столбец поля запроса, нужно щелкнуть левой кнопкой мыши на области выделения над 49 соответствующим полем. Для выделения нескольких столбцов полей запроса нужно нажать на левую кнопку мыши на области выделения, затем, удерживая кнопку мыши, переместить указатель, выделив, таким образом, нужные столбцы, и отпустить кнопку мыши. После выделения нужных столбцов их можно копировать, перемещать или удалять. Строка Поле предназначена для ввода имени поля запроса и обозначения поля-источника данных или вычисляемого выражения. Обычно имя поля запроса совпадает с именем поля таблицы источника данных, но поля запроса можно переименовать, чтобы, например, точнее описать их содержимое. Это особенно полезно при определении нового вычисляемого поля или при расчетах суммы, количества записей или других итоговых значений по данным существующего поля. Указать имя поля запроса можно перед именем поля таблицы или перед выражением, разделив их двоеточием (:). Изменение имени поля в бланке запроса приводит к изменению заголовка столбца при просмотре запроса в режиме таблицы. Кроме того, если на основе запроса создать новый объект, например, новую форму или отчет, в новом объекте будет использовано новое имя поля. Имя поля базовой таблицы при этом не изменяется. Это имя также не изменяется в формах и отчетах, которые были созданы на основе запроса до изменения имени поля. Следующая строка бланка запроса Имя таблицы предназначена для задания имени таблицы – источника данных. В каждом столбце бланка запроса в этой строке распологается поле со списком, в котором указываются имен таблиц, включенных в запрос. Из списка для каждого поля запроса можно выбрать таблицу – источник данных. Для вычисляемых полей указывать базовую таблицу не обязательно. В строке Сортировка можно указать порядок сортировки в данном поле. Выбрать порядок сортировки можно с помощью поля со списком, в котором содержатся следующие значения: по возрастанию, по убыванию и (отсутствует). По умолчанию во всех полях запроса установливается значение (отсутствует). При указании порядка сортировки в нескольких 50 полях в первую очередь сортируются записи в первую очередь по крайнему левому столбцу, а затем по каждому следующему слева направо. В следующей строке Вывод на экран бланка запроса отображается флажок, который указывает на то, будет ли выводиться соответствующее поле запроса на экран при просмотре запроса в режиме таблицы или при построении на основе запроса формы или отчета. Флажок вывода на экран удобно использовать при необходимости включения в запрос полей, по которым производится отбор записей или вычисления, но данные, которые в итоговом запросе не нужны. В этом случае достаточно снять флажок в столбце соответствующего поля. В строке Условия отбора и в строке или указываются условия отбора записей. Такими условиями могут быть логические выражения. Например, (>30), (=’Иванов’), (=10) и т.п. При необходимости указания нескольких условий отбора, следующее условие указывается в строке или. После формирования бланка запроса его можно сохранить, нажав на кнопку Сохранить на панели инструментов, а затем введя имя нового запроса и нажав кнопку ОК. Запрос можно сохранить и закрыв его. Результаты выполнения запроса можно увидеть, переключившись в Режим таблицы с помощью кнопки Вид на панели инструментов или нажав кнопку Запуск на панели инструментов. В режиме Конструктора можно переключаться в режим Окно SQL, позволяющее создавать SQL запросы. Печать результатов запроса Это можно сделать несколькими способами: 1. Открыть запрос в режиме таблицы и нажать кнопку Печать на панели инструментов. При этом таблица выводится на принтер, установленный по умолчанию, и используются параметры печати, заданные по умолчанию. 2. Открыть запрос в режиме таблицы и выполнить команду Файл, Печать. В этом случае параметры печати, заданные по умолчанию, могут 51 быть изменены. Например, можно выделить в результирующей таблице только некоторые записи, а затем в диалоговом окне Печать установить переключатель Выделенные записи. Тогда будут напечатаны только выделенные записи. Использование выражений в запросах Каждое выражение может содержать один или несколько операторов и одну или несколько констант, идентификаторов или функций. Выражение может быть сколь угодно сложным. Константы – характеризуют неизменные значения. Их часто используют для создания значений по умолчанию и для сравнения значений в полях таблиц. Значения констант определяются пользователем при вводе выражения. Например, 10, ‘Иванов’. Идентификаторы – это имена объектов (например, полей таблиц или запросов), которые при вычислении выражений заменяются их текущими значениями. Любой объект Access имеет имя, по которому его можно однозначно определить в некоторой системе объектов. Кроме обозначения коротким именем объекта (например, поле STATUS таблицы S при открытой форме S), идентификатор можно обозначить квалифицированным (или полным) именем. Полное имя является составным. Оно состоит из двух коротких имен, разделяемых восклицательным знаком или точкой, и используется, например, для организации вычислений. Поэтому в выражении идентификатор упомянутого поля может выглядеть следующим образом: FORMS![S]![STATUS]. Функции – возвращают в выражение значение вместо имени функции. В отличие от идентификаторов, большинство функций требуют заключать в скобки свои аргументы – идентификаторы или значение подвыражения. Пример функции (с пустым списком аргументов): DateDiff() – функция вычисляет промежуток между двумя датами. Более 52 подробные сведения о функциях Access и их назначении можно получить из справки Access. Операторы – знаки арифметических операций (+, -, *, /) и другие символы и аббревиатуры. Большинство из них эквивалентны операторам традиционных языков программирования. Запросы с параметрами Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все ранее созданные запросы содержали в Условиях отбора конкретные значения дат, названий, имен и т.д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы этого не делать, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра, в котором пользователь может ввести конкретное значение и затем получить нужный результат. Чтобы преобразовать обычный запрос в запрос с параметрами, следует выполнить следующие действия. 1. Откройте это запрос в режиме Конструктора. 2. Для определения параметра запроса введите в строку Условие отбора вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например, [Укажите интересующий Вас год]. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса. 3. Если Вы хотите, чтобы Access проверял данные, вводимые в качестве параметра запроса, нужно указать тип данных этого параметра. Для этого щелкните правой кнопкой мыши на свободном поле в верхней панели запроса и выберите из контекстного меню команду Параметры или выполните команду меню Запрос, Параметры. Появляется диалоговое окно Параметры запроса. 53 4. В столбец Параметр нужно ввести значение параметра точно так, как он определен в бланке запроса, только можно не вводить квадратные скобки. Для приведенного выше примера следует задать: Укажите интересующий Вас год. В столбце Тип данных выберите из раскрывающегося списка нужный тип данных. Нажмите ОК. 5. Нажмите кнопку Запуск на панели инструментов, чтобы выполнить запрос. В запросе можно ввести несколько параметров. При выполнении такого запроса для каждого из параметров будут поочередно выводиться диалоговые окна Введите значение параметра в том порядке, в котором они перечислены в бланке запроса. Создание вычисляемого поля в запросе Можно создать поле, в котором будут отображаться результаты вычислений, определенных в выражении, или которое будет управлять значениями поля. Для этого необходимо выполнить следующие действия. 1. Откройте запрос в режиме Конструктора. 2. Введите выражение в пустую ячейку в строке Поле. Если выражение содержит имя поля, то это имя необходимо заключить в квадратные скобки. После нажатия клавиши Enter или перехода в другую ячейку Microsoft Access задаст имя поля по умолчанию в формате «ВыражениеN», где N представляет собой целое число, увеличивающееся для каждого нового поля в запросе, содержащего выражение. Имя находится перед выражением; после имени добавляется двоеточие. В режиме таблицы это имя служит заголовком столбца. Подстроку «ВыражениеN» можно выделить и ввести вместо нее более содержательное имя, например, «НоваяЦена». 3. При необходимости введите условие отбора. Реализация основных операций реляционной алгебры с помощью запросов 54 Некоторые документы, которые могут понадобиться конечному пользователю в ходе работы, не могут быть сформированы непосредственно с помощью разработанных на данный момент форм. Включение же всех необходимых данных в единое базовое отношение может во многих случаях привести к избыточности данных и возникновению многочисленных аномалий обновления. Выходом из создавшегося положения может стать создание разнообразных запросов, на основе которых в дальнейшем будут разработаны требуемые формы. Данные, заносимые в такие формы, будут автоматически отражаться не только в запросе, но и в соответствующих базовых отношениях. Ниже перечислены основные операции реляционной алгебры, на базе которых строятся запросы, а также программные средства для их реализации в СУБД Access. Предполагается, что предварительно открыта вкладка Запрос и выбрана кнопка Создать. 1. Естественное соединение – выбрать Простой запрос с указанием необходимых в запросе таблиц и запросов и требуемых в запросе полей. Условием выполнения операции естественного соединения служит наличие хотя бы одного одинакового поля соединяемых таблиц. В данной лабораторной работе естественное соединение производить по первичному и внешнему ключам; 2. Выборка – в режиме Конструктора указываются Условия отбора явно или в режиме параметрического запроса (в последнем случае для нужного поля в Условии отбора в квадратных скобках вводится сообщение для пользователя, в соответствии с которым он должен задать параметр для отбора). Для создания условия отбора могут быть использованы разнообразные встроенные функции; 3. Пересечение – таблицы, совпадающие по составу полей и типам данных для них, в режиме Конструктора запросов объединяют при помощи одинаковых полей этих таблиц, после чего выбирают поля, которые нужно отобразить в запросе. В данной лабораторной работе для 55 реализации операции пересечения следует использовать неключевые поля не связанных между собой отношений; 4. Вычитание – выбираются таблицы, совпадающие по составу полей и типам данных для них, и в режиме Конструктора указывают способ Записи без подчиненных; 5. Проекция – при выборе любого способа создания запроса на бланке запроса указываются любые поля, которые следует отобразить в запросе; 6. Произведение – в режиме Конструктора запросов выбираются пары таблиц, не связанные между собой, после чего задаются нужные поля из каждой таблицы; 7. Тэта-соединение – см. п.6. Затем на бланке запроса указываются Условия отбора для нужных полей; 8. Объединение – Условием применения операции служит совместимость по типу отношений. Для ее реализации создается SQLзапрос на объединение таблиц. Для этого в окне Новый запрос выбирается Конструктор, в диалоговом окне Добавление таблицы выбирается Закрыть. Затем в меню Запрос указывается SQL-запрос и задается его тип – Объединение. В появившемся окне вводится SQLзапрос. Например, если необходимо объединить поле X таблицы A и поле Y таблицы B, то задаем: SELECT [X] from [A] UNION SELECT [Y] from [B]. Порядок выполнения работы Изучите теоретическую часть. Разработайте запросы на обработку данных для созданной в ходе выполнения лабораторных работ базы данных. В случае необходимости возможно введение дополнительных полей в таблицы. В запросах на обработку данных должны быть представлены все операции реляционной алгебры, а запросы должны иметь смысл в соответствии со спецификой предметной области. 1. 2. 56 3. Реализуйте запросы, использующие операции естественного соединение и выборки, с помощью Мастера. В каждый из них включите по два вычисляемых поля, выражение для одного из которых использует встроенную функцию Microsoft Access, а для другого – некоторые арифметические вычисления. 4. Реализуйте остальные разработанные запросы с помощью средств Конструктора. 5. Оформите отчет. Отчет должен содержать: название и цель лабораторной работы, распечатки бланков всех созданных запросов, распечатки результатов запуска всех запросов, описание способа создания каждого запроса, выводы по работе. Контрольные вопросы 1. Что такое запрос? 2. Чем запрос функционально отличается от фильтра? 3. Каковы условия применения операций объединения, пересечения, вычитания, произведения, естественного соединения? 4. Что такое запрос с параметрами? Для решения каких практических задач он применяется? Как он создается? 5. Что такое вычисляемое поле? Для решения каких практических задач оно применяется? Как оно создается? 6. Как распечатать результаты выполнения запроса? 7. Каково назначение строк в бланке запроса? 8. Как создать простой запрос с помощью Конструктора запросов? 9. Как создать простой запрос с помощью Мастера создания запросов? 10. Чем функционально отличаются различные способы создания запросов? 57 Лабораторная работа № 7 Работа с отчётами Цель работы: научиться использовать Мастер отчетов для создания подробных отчетов; изменять структуру отчета; создавать отчеты с вычислениями; исключать повторение данных в отчетах. Общие сведения Одной из основных функций баз данных является предоставление информации по различным аспектам деятельности объекта, характеристики которого содержатся в таблицах базы данных. Такого рода информация должна поступать вовремя и быть надлежащим образом оформлена. Отчеты позволяют извлечь из базы нужные сведения и представить их в виде, удобном для восприятия, а также предоставляют широкие возможности для обобщения и анализа данных. При печати таблиц и запросов информация выдается практически в том виде, в котором хранится. Довольно часто, однако, возникает необходимость представить данные в виде отчетов, которые имеют традиционный вид и легко читаются. Подробный отчет включает всю информацию из таблицы или запроса, но содержит заголовки и разбит на страницы с указанием верхних и нижних колонтитулов. Структура отчета в режиме Конструктора Microsoft Access отображает в отчете данные из запроса или таблицы, добавляя к ним текстовые элементы, которые упрощают его восприятие. К числу таких элементов относятся: - Заголовок отчета. Этот раздел печатается только в верхней части первой страницы отчета. Используется для вывода данных, таких как текст заголовка отчета, дата или констатирующая часть текста документа, которые следует напечатать один раз в начале отчета. Для добавления или 58 удаления области заголовка отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. - Верхний колонтитул. Используется для вывода данных, таких как заголовки столбцов, даты или номера страниц, печатающихся сверху на каждой странице отчета. Для добавления или удаления верхнего колонтитула необходимо выбрать в меню Вид команду Колонтитулы. Microsoft Access добавляет верхний и нижний колонтитулы одновременно. Чтобы скрыть один из колонтитулов, нужно задать для его свойства Высота значение 0. - Область данных, расположенная между верхним и нижним колонтитулами страницы. Содержит основной текст отчета. В этом разделе появляются данные, распечатываемые для каждой из тех записей в таблице или запросе, на которых основан отчет. Для размещения в области данных элементов управления используют список полей и панель элементов. Чтобы скрыть область данных, нужно задать для свойства раздела Высота значение 0. - Нижний колонтитул. Этот раздел появляется в нижней части каждой страницы. Используется для вывода данных, таких как итоговые значения, даты или номера страницы, печатающихся снизу на каждой странице отчета. - Примечание отчета. Используется для вывода данных, таких как текст заключения, общие итоговые значения или подпись, которые следует напечатать один раз в конце отчета. Несмотря на то, что в режиме Конструктора раздел Примечание отчета находится внизу отчета, он печатается над нижним колонтитулом страницы на последней странице отчета. Для добавления или удаления области примечаний отчета необходимо выбрать в меню Вид команду Заголовок/примечание отчета. Microsoft Access одновременно добавляет и удаляет области заголовка и примечаний отчета. Способы создания отчета 59 В Microsoft Access можно создавать отчеты различными способами: - создание отчета с помощью Мастера автоотчетов; - создание Автоотчета; - создание отчета в режиме Конструктора. Мастер отчетов позволяет создавать отчеты с группировкой записей и представляет собой простейший способ создания отчетов. Он помещает выбранные поля в отчет и предлагает шесть стилей его оформления. После завершения работы Мастера полученный отчет можно доработать в режиме Конструктора. Воспользовавшись функцией Автоотчет, можно быстро создавать отчеты, а затем вносить в них некоторые изменения. Для создания Автоотчета необходимо выполнить следующие действия: - В окне базы данных щелкнуть на вкладке Отчеты и затем щелкнуть на кнопке Создать. Появится диалоговое окно Новый отчет. - Выделить в списке пункт Автоотчет: в столбец или Автоотчет: ленточный. - В поле источника данных щелкнуть на стрелке и выбрать в качестве источника данных таблицу или запрос. - Щелкнуть на кнопке ОК. Мастер автоотчета создает автоотчет в столбец или ленточный (по выбору пользователя), и открывает его в режиме Предварительного просмотра, который позволяет увидеть, как будет выглядеть отчет в распечатанном виде. - В меню Файл щелкнуть на команде Сохранить. В окне Сохранение в поле Имя отчета указать название отчета и щелкнуть на кнопке ОК. Изменение масштаба отображения отчета Для изменения масштаба отображения отчета пользуются указателем — лупой. Чтобы увидеть всю страницу целиком, необходимо щелкнуть в любом месте отчета. На экране отобразится страница отчета в 60 уменьшенном масштабе. Снова щелкнуть на отчете, чтобы вернуться к увеличенному масштабу отображения. В увеличенном режиме представления отчета, точка, на которой вы щелкнули, окажется в центре экрана. Для пролистывания страниц отчета пользуются кнопками перехода внизу окна. Печать отчета Для печати отчета необходимо выполнить следующее: - В меню Файл щелкнуть на команде Печать. - В области Печатать щелкнуть на варианте Страницы. - Чтобы напечатать только первую страницу отчета, введите 1 в поле с и 1 в поле по. - Щелкнуть на кнопке ОК. Прежде чем печатать отчет, целесообразно просмотреть его в режиме Предварительного просмотра, для перехода к которому в меню Вид нужно выбрать Предварительный просмотр. Если при печати в конце отчета появляется пустая страница, убедитесь, что параметр Высота для примечаний отчета имеет значение 0. Если при печати пусты промежуточные страницы отчета, убедитесь, что сумма значений ширины формы или отчета и ширины левого и правого полей не превышает ширину листа бумаги, указанную в диалоговом окне Параметры страницы (меню Файл). При разработке макетов отчета руководствуйтесь следующей формулой: ширина отчета + левое поле + правое поле <= ширина бумаги. Для того, чтобы подогнать размер отчета, необходимо использовать следующие приемы: - изменить значение ширины отчета; - уменьшить ширину полей или изменить ориентацию страницы. Для изменения ширины полей и ориентации страницы нужно выполнить следующие действия: - в меню Файл выбрать Параметры страницы; 61 - в диалоговом окне Параметры страницы, выбрав вкладку Поля, установить необходимую ширину полей; - в диалоговом окне Параметры страницы, выбрав вкладку Страница, указать ориентацию: книжная или альбомная. Если в отчете появляется слишком много пустых мест, можно уменьшить пустые места одним из следующих способов. - изменить значение ширины отчета; - сдвинуть разделы ближе друг к другу; - уменьшить размер элемента управления по размерам его содержимого. Если в отчете выводится приглашение ввести непонятные параметры, необходимо проверить, правильно ли указаны имена полей в следующих элементах макета отчета и соответствуют ли эти имена именам полей базовой таблицы или запроса: - свойство Данные присоединенного элемента управления; - столбец Поле/выражение в окне Сортировка и группировка; - выражения в элементах управления или в окне Сортировка и группировка. Необходимо проверить также, что в статистических функциях ссылки делаются на имена полей базовой таблицы или запроса, а не на имена элементов управления. Порядок выполнения работы 1. Изучить теоретическую часть. 2. Запустить программу Microsoft Access. Открыть учебную БД «Архив». 3. Создать Автоотчет: ленточный, используя в качестве источника данных таблицу Документы. 4. Перейти в режим Конструктора и проделать подготовительные упражнения. Доработайте отчет 62 Создание данного отчета потребовало незначительных усилий и минимума времени. Он содержит нужную информацию, оформленную надлежащим образом, но его можно несколько изменить. В режиме конструктора, в числе прочего, можно сделать следующее: - изменить текст надписи Д, чтобы сделать его более содержательным, и переместить поле даты в Заголовок отчета; - добавить итоговое значение в примечание отчета. Измените надпись в заголовке страницы - В разделе Заголовок отчета выделить надпись Д. - Поместить указатель мыши справа от слова Д, так чтобы указатель принял форму вертикальной черты (курсора ввода), и щелкнуть в этой позиции. - Ввести вместо Д название СПИСОК и затем нажать клавишу Enter. Переместите Надпись - В Нижнем колонтитуле выделить поле =Now() и перетащить его в Заголовок отчета под название СПИСОК. - Щелкнуть на стрелке кнопки Вид и выделить пункт Образец. Режим Образец позволяет увидеть, как будет выглядеть первая страница отчета. Дата печати отчета появится в разделе Заголовок отчета на его первой странице. Добавьте текст в Нижний колонтитул Чтобы сделать более понятным назначение отчета, внести соответствующий текст в нижний колонтитул отчета. Для этого выполнить следующие действия: - щелкнуть на кнопке Вид и выбрать режим Конструктор; - на панели элементов щелкнуть на элементе Надпись; - щелкнуть у левого края Нижнего колонтитула; 63 - в появившемся в нижнем колонтитуле элементе управления Надпись ввести Документы, поступившие в архив и затем нажать клавишу Enter. - Поместить указатель мыши на левый край нового элемента управления Надпись. Когда указатель примет форму ладони, перетащить элемент в середину нижнего колонтитула, так чтобы его левый край находился на отметке 7 см по горизонтальной линейке. Отформатируйте текст Привести вид нового текста в нижнем колонтитуле в соответствие с остальными его элементами. Для этого скопировать формат, воспользовавшись кнопкой Формат по образцу. - Выделить расположенную у правого края нижнего колонтитула надпись, содержащую номер страницы. Щелкнуть на кнопке Формат по образцу и затем щелкнуть на новой Надписи. - Выделить новую Надпись. На панели инструментов Форматирование щелкнуть на кнопке По левому краю, чтобы задать выравнивание текста в Надписи. Добавьте общий итог в примечание отчета Добавить общую сумму количества листов в примечание отчета, которое появится на последней странице: - На панели элементов щелкнуть на элементе Поле и затем щелкнуть в разделе Примечание на уровне поля Коллист в области данных. В разделе Примечание появится новое поле с надписью, а также сетка, которая позволяет позиционировать новое поле. - Выделить текст, заданный по умолчанию в надписи нового поля. Ввести Всего: и нажать клавишу Enter . - Щелкнуть дважды на новом поле, чтобы открыть окно свойств. - Щелкнуть на вкладке Данные. Щелкнуть в поле Данные и ввести =sum([Коллист]). 64 - Щелкнуть на вкладке Макет и затем щелкнуть в поле свойства Формат. Щелкнуть на стрелке, выделить Основной и нажать клавишу Enter. - Закрыть окно свойств. - Убедиться, что новое поле выделено, и щелкнуть на кнопке Полужирный на панели инструментов Форматирование. Общий итог будет выводиться в полужирном формате шрифта. - На панели инструментов Конструктор отчетов щелкнуть на кнопке Предварительный просмотр, чтобы просмотреть отчет. Воспользуйтесь кнопками перехода для перемещения по страницам. Внизу каждой страницы появился колонтитул, а в примечании отчета на последней странице - общий итог. Объедините данные в группы Отчет Документы содержит полезную информацию, но его внешний вид оставляет желать лучшего. Так, например, название заголовка дела повторяется в последовательных строках. Очевидно, что достаточно печатать его только в первой из них. Тогда каждому заголовку будет соответствовать группа записей. В отчетах эта проблема решается путем группировки данных. Для этого необходимо выполнить следующие действия: - щелкнуть на кнопке Вид и выбрать режим Конструктор; - на панели инструментов выбрать щелкнуть по кнопке Сортировка и группировка; - в диалоговом окне Сортировка и группировка, щелкнув в столбце Поле\выражение, выбрать поле Заголовок; - в появившихся Свойствах группы указать для Заголовка группы значение Да, а для Группировки свойство По полному значению; - перейти в режим Предварительного просмотра и посмотреть результат группировки. 65 Существует другой способ избавиться от повторения значений, который можно использовать в данном случае. Чтобы убрать повторяющиеся значения, измените значение свойства Не выводить повторы для поля Заголовок. Уберите повторяющиеся значения - Щелкнуть на кнопке Вид и выбрать режим Конструктор. - В Области данных щелкнуть дважды на поле Заголовок. Откроется окно свойств этого поля. - На вкладке Макет щелкнуть на свойстве Не выводить повторы, щелкнуть на стрелке и выделить значение Да. Закрыть окно свойств. - На панели инструментов Конструктор отчетов щелкнуть на кнопке Предварительный просмотр, чтобы просмотреть отчет. Теперь каждый заголовок дела появляется в отчете только один раз. - Сохранить и закрыть отчет. Измените стиль Автоотчета - Открыть Автоотчет Список сотрудников. - На панели инструментов Конструктора отчетов щелкнуть на кнопке Автоформат. Откроется диалоговое окно Автоформат. - В списке Стили объекта ‘отчет-автоформат’ щелкнуть на пункте Строгий и затем щелкнуть на кнопке ОК. Отчет будет отформатирован в стиле Строгий. - Переключится в режим Предварительный просмотр. Отчет отобразится в выбранном вами стиле. Впредь все отчеты созданные с помощью функции Автоотчет будут иметь стиль Строгий, пока вы не зададите другой стиль в окне Автоформат. - Сохранить и закрыть отчет. 5. Создать в своей БД отчет для печати внутренней докладной записки – документа, адресованного руководителю данной организации, содержащего обстоятельное изложение какого-либо вопроса с выводами и предложениями составителя. Обязательными реквизитами докладной 66 записки являются: наименование структурного подразделения, наименование вида документа, дата и номер, заголовок к тексту, подпись. Текст докладной записки состоит из двух или трех смысловых частей. В первой части излагаются факты и события, причины, послужившие поводом для ее написания. Во второй части – анализ сложившейся ситуации, в третьей части – выводы и предложения о конкретных действиях, которые, по мнению составителя, необходимо предпринять руководителю в связи с изложенными фактами. Вторая, аналитическая часть, может отсутствовать. В этом случае, текст докладной записки состоит только из вводной и заключительной частей. Внутренняя докладная записка подписывается составителем, если она представляется руководителю подразделения, и руководителем подразделения, если она представляется руководителю организации. Датой докладной записки является дата ее составления и подписания. Реквизиты и текст докладной записки должны использовать данные разработанной в ходе лабораторных работ базы данных. Текст докладной записки может затрагивать любой аспект деятельности организации, в которой предполагается использование этой БД. 6. Составить отчет в виде списка – документа, содержащего перечисление лиц, предметов, объектов в определенном порядке. Список составить в целях регистрации или информирования с использованием данных из БД. Текст списка изложить в табличной форме и подписать его должностным лицом, составившим его, или – руководителем организации. 7. Создать автоотчет на базе таблицы или запроса. 8. Получить распечатки созданных отчетов. 9. Оформить отчет. Отчет должен содержать название и цель лабораторной работы; список инструментов СУБД Access, использованных для создания конкретных элементов отчета; распечатки, подготовленные в разделах 5, 6, 7. 67 Контрольные вопросы 1. 2. 3. 4. 5. 6. 7. 8. 9. Какими способами можно создать отчет? Какова структура отчета в режиме Конструктора? Как изменить масштаб отображения отчета? Как отформатировать текст отчета? Как добавить общий итог в примечание отчета? Как объединить в отчете данные в группы? Как удалить повторяющиеся значения в отчете? Как изменить стиль Автоотчета? Как напечатать отчет? Лабораторная работа № 8 Работа с главной кнопочной формой Цель работы: приобрести навыки в создании главных кнопочных и подчиненных форм. Общие сведения Обычно при запуске приложения, вместо стандартного окна СУБД Access появляется специальная форма с кнопками – Главная кнопочная форма. Эта форма выполняет функцию главной панели управления, представляя набор кнопок или других элементов, активизирующих настройку команд или форм вывода данных для просмотра, редактирования, а также создания запросов. В то же время стандартные панели инструментов и меню, обычно доступные в Access, заменяются используемыми в приложении. Они даже могут появляться и исчезать автоматически при переключении между формами. Это сделано с целью предотвращения несанкционированного нежелательного вмешательства пользователя. При разработке главной кнопочной формы используют диспетчер кнопочных форм, который создает функционирующую кнопочную форму 68 и позволяет редактировать существующие формы. Диспетчер кнопочных форм предоставляет возможность создавать внешне привлекательные и полезные формы, которые не существенно отличаются от тех, которые создает мастер баз данных. Для создания кнопочной формы необходимо выполнить следующее: 1. Открыть учебную БД «Архив». 2. В меню Сервис выбрать команду Служебные программы, а затем Диспетчер кнопочных форм. 3. Если выводится запрос «Не удается найти кнопочную форму в этой базе данных. Создать кнопочную форму?», нажать кнопку Да. 4. В диалоговом окне Диспетчер кнопочных форм нажать кнопку Создать. 5. В диалоговом окне Создание ввести имя новой кнопочной формы – Отчеты. Нажать кнопку OK. Имя новой кнопочной формы добавляется в поле Страницы кнопочной формы (п.4, 5 повторять столько раз, сколько страниц кнопочных форм будет содержать Главная кнопочная форма). Главная кнопочная форма учебной БД «Архив» должна содержать три кнопочных формы – Отчеты, Формы, Выход. 6. Создать страницы Формы и Выход самостоятельно. 7. Выделить имя кнопочной формы – Главная кнопочная форма и задайте значение По умолчанию (нажать кнопку По умолчанию). Далее нажать кнопку Изменить. 8. В диалоговом окне Изменение страницы кнопочной формы нажать кнопку Создать. 9. В диалоговом окне Изменение элемента кнопочной формы в поле Текст ввести текст для первой кнопочной формы – Отчеты, а затем выбрать для нее в поле Команда команду Перейти к кнопочной форме и в поле Кнопочная форма указать – Отчеты. 69 10. п.8, 9 аналогично выполнить для кнопочных форм Формы и Выход. В п.9 для кнопочной формы Выход в поле Команда выбрать команду Выйти из приложения. 11. Нажать кнопку Закрыть для перехода в диалоговое окно Диспетчер кнопочных форм. 12. В диалоговом окне Страницы кнопочной формы выделить Отчеты и нажать кнопку Изменить. 13. В диалоговом окне Изменение страницы кнопочной формы нажать кнопку Создать. 14. В диалоговом окне Изменение элемента кнопочной формы выбрать в поле Команда команду Открыть отчет, в поле Отчет выбрать любой отчет (например, Документы в отделах), в поле Текст ввести текст– Документы в отделах. Нажать кнопку ОК. Аналогичные действия выполнить и для других отчетов. 15. Нажать кнопку Закрыть. 16. п. 12-15 аналогично выполнить и для кнопочной формы – Формы, только в поле Команда выбрать команду Открыть форму для изменения. Примечание. Чтобы изменить или удалить какую-либо из созданных кнопок, выберите ее имя в списке Элементы данной кнопочной формы и нажмите кнопку Изменить или Удалить. Если требуется изменить порядок элементов кнопочной формы, выберите элемент в списке и воспользуйтесь кнопками Вверх или Вниз. Примечания: Чтобы кнопочная форма открывалась при открытии базы данных, необходимо выбрать имя кнопочной формы в диалоговом окне Диспетчер кнопочных форм и нажать кнопку По умолчанию. При создании кнопочной формы с помощью диспетчера кнопочных форм создается таблица «Switchboard Items», которая описывает текст и действия кнопок формы. Если позднее внести изменения в кнопочную 70 форму в режиме конструктора формы, приложение может перестать работать. Для изменения кнопочной формы необходимо выполнить следующее: 1. Открыть базу данных. 2. В меню Сервис выбрать команду Служебные программы, а затем Диспетчер кнопочных форм. 3. В диалоговом окне Диспетчер кнопочных форм выбрать кнопочную форму, которую надо изменить, и нажать кнопку Изменить. 4. Выбрать элемент кнопочной формы, который нужно изменить, и выполните одно из следующих действий: Чтобы изменить текст подписи кнопки, команду, выполняемую при нажатии кнопки, или объект, который открывается или запускается при нажатии кнопки, нажать кнопку Изменить. Чтобы добавить кнопку, нажать кнопку Создать, ввести текст подписи кнопки и выбрать команду в поле со списком Команда. В зависимости от выбранной команды Microsoft Access может вывести еще одно поле со списком под полем Команда. При необходимости, выбрать элемент в этом поле. Например, если в поле Команда была выбрана одна из команд для работы с формой, выбрать в нижнем поле имя формы, которую нужно открыть. Для удаления кнопки нажать кнопку Удалить. Чтобы изменить порядок кнопок, пользоваться кнопками Вверх и Вниз. 5. Нажать кнопку Закрыть. Для удаления кнопочной формы необходимо выполнить следующие действия: 1. Открыть базу данных. 2. В меню Сервис выбрать команду Служебные программы, а затем Диспетчер кнопочных форм. 71 3. В диалоговом окне Диспетчер кнопочных форм выбрать кнопочную форму, которую надо удалить, и нажать кнопку Удалить. 4. Нажать кнопку Закрыть. Создание подчиненных форм Подчиненной формой называется форма, которая встраивается в другую форму. При этом форма, которая включает подчиненную форму, называется главной формой. Обычно такие формы применяются для отображения данных из связанных таблиц. Однако это бывает не всегда. Иногда главная форма содержит свободные элементы управления и различные кнопки, которые влияют на представление данных в подчиненной форме. Типичным примером такой формы является форма для отбора записей в таблице, когда главная форма содержит поля, в которых задаются критерии отбора и кнопки Фильтр или Поиск и Отмена фильтра или Показать все записи. Применение подчиненных форм обеспечивает более компактное представление на экране данных из нескольких таблиц, чем использование разных форм для каждой таблицы. Создание главной и подчиненной форм с помощью Мастера автоформ Мастер автоформ позволяет построить самые простые формы для связанных таблиц. Он сразу найдет все таблицы, которые связаны с главной отношением «один-ко-многим», и создаст для каждой такой таблицы подчиненную форму. Для этого необходимо выполнить следующие действия: 1. Открыть окно Схема данных и найти таблицы, связанные отношением «один-ко-многим». Для того, чтобы полнее познакомиться с возможностями Мастера, рекомендуется отыскать цепочку таблиц, в которой первой является таблица стороны «один», второй – таблица стороны «многие» (она же должна играть роль стороны «один» во втором 72 отношении «один-ко-многим»), третьей – таблица стороны «многие» третьего отношения. 2. Закрыть окно Схема данных. 3. Открыть страницу Таблицы окна базы данных и выделить первую таблицу цепочки. 4. Нажать стрелку вниз на кнопке Новый объект панели инструментов. Из открывшегося списка выбрать объект Автоформа. Когда Мастер закончит свою работу, на экране перед Вами появится главная и первая подчиненная форма. Чтобы открыть вторую подчиненную форму, просто щелкнуть мышью по квадратику с крестом с левой стороны подчиненной формы. Обратить внимание, что в подчиненной форме представляются только те записи, которые связаны с выбранной записью главной формы. Таким образом, Microsoft Access обеспечивает вложенность подчиненных форм, причем количество уровней вложенности велико – до 10. С другой стороны, если таблица связана отношением «один-комногим» с несколькими таблицами, то в одну главную форму можно встроить несколько подчиненных форм, насколько это позволит размер экрана. Использование Мастера форм для создания главной и подчиненной форм Сложную форму с подчиненными формами можно создать также с помощью Мастера форм. Это несколько сложнее, чем использование Мастера автоформ, но зато дает возможность выбрать в формы не все поля, а только те, что требуются. Для создания главной и подчиненной форм следует выбрать связанные отношением «многие-к-одному» в Схеме данных таблицы и выполнить следующие действия. 1. Нажать кнопку Новый объект на панели инструментов и выбрать команду Форма или нажать кнопку Создать на странице Формы окна База данных. 73 2. В диалоговом окне Новая форма запустить Мастер форм, выбрать в поле со списком таблицу для главной формы и нажать ОК. 3. В первом окне диалога Мастера форм в списке Доступные поля выбрать поля, которые вы хотите включить в главную форму. Затем в этом же окне в поле со списком Таблицы/запросы выбрать вторую таблицу (или запрос) и выбрать поля для подчиненной формы. Нажать кнопку Далее. 4. В следующем окне предлагается выбрать, какая из двух таблиц будет главной (по умолчанию устанавливается первая таблица, поля из которой были выбраны). Переключатель, определяющий вид представления иерархии форм, по умолчанию установлен в значение Подчиненные формы. Нажать Далее. 5. В остальных диалоговых окнах нужно выбрать вид подчиненной формы (ленточный или табличный), ее стиль и задать имена для главной и подчиненной форм. Нажать Готово. Добавление подчиненной формы в главную форму Подчиненная форма является элементом управления и, как и все элементы, может быть добавлена в главную форму с помощью Мастера подчиненных форм. Если форма, которая должна будет играть роль подчиненной, создана заранее, то процесс добавления ее в главную форму выглядит следующим образом. 1. На странице Формы выделить форму, которая будет использована в качестве главной. 2. Перейти в режим Конструктора. 3. При нажатой кнопке Панель элементов перетащить мышью элемент управления Подчиненная форма/отчет в нужное место области данных формы. 4. В первом диалоговом окне выбрать переключатель Имеющиеся формы, указать имя подчиненной формы и нажать Далее. 74 5. Выбрать из списка поля связи двух форм (они определяются автоматически Мастером на основании сведений из Схемы данных). 6. Задать имя подчиненной формы и нажать Готово. Защита автоматизированной системы Простейшим способом защиты является установка пароля для открытия базы данных (.mdb). После установки пароля при каждом открытии базы данных будет появляться диалоговое окно, в которое требуется ввести пароль. Только те пользователи, которые введут правильный пароль, смогут открыть базу данных. Этот способ достаточно надежен (Microsoft Access шифрует пароль, поэтому к нему нет доступа при непосредственном чтении файла базы данных), но он действует только при открытии базы данных. После открытия базы данных все объекты становятся доступными для пользователя (пока не определены другие типы защиты, описанные ниже в этом разделе). Для базы данных, которая совместно используется небольшой группой пользователей или на автономном компьютере, обычно оказывается достаточно установки пароля. Не используйте пароль базы данных, если предполагается выполнять репликацию базы данных. Реплицированные базы данных не могут быть синхронизированы, если определен пароль базы данных. Для установки пароля необходимо выполнить следующие действия: 1 В меню Сервис выбрать Защита/Задать пароль базы данных; 2 В открывшемся диалоговом окне Задание пароля базы данных задать Пароль и Подтверждение. Порядок выполнения работы 1 Изучить теоретическую часть. 2 Создать любым способом одну главную и подчиненную форму для своей базы данных. 3 Создать главную кнопочную форму для своей базы данных, включив в нее все созданные запросы, формы, отчеты. 75 4 Добавьте на каждую из страниц кнопочной формы кнопку, обеспечивающую возврат в главную кнопочную форму. 5 Подготовьте распечатки главной кнопочной формы и ее страниц. 6 Разбейте созданные запросы на две группы. В первую группу включите запросы, реализующие традиционные операции реляционной алгебры, во вторую – специальные операции реляционной алгебры. 7 Измените страницу запросов. В новой редакции на этой странице должны находиться кнопки «Традиционные операции реляционной алгебры» и «Специальные операции реляционной алгебры». При нажатии этих кнопок должны открываться страницы кнопочных форм, на которых размещаются кнопки для открытия соответствующих запросов. При выполнении этого задания следует учесть, что названия страниц всех кнопочных форм должны размещаться в окне Диспетчер кнопочных форм. Поэтому для создания новых страниц следует пользоваться кнопкой Создать в этом диалоговом окне, а обращение к вновь созданным страницам должно быть организовано с помощью изменения тех страниц, на которых будет размещаться кнопка перехода к новой странице. Элементы новых кнопочных форм создаются обычным образом. Для этого следует выделить эту форму и воспользоваться кнопкой Изменить. 8 Установить пароль для своей базы данных. 9 Оформить отчет. Содержание отчета: название и цель лабораторной работы, распечатки главной кнопочной формы и ее страниц, распечатку главной и подчиненной формы с обоснованием выбора способа создания подчиненной формы, выводы по работе. Контрольные вопросы 1 Для чего предназначен Диспетчер кнопочных форм? 2 Как создать Главную кнопочную форму? 3 Как изменить и удалить Главную кнопочную форму? 4 Что такое подчиненная форма и для чего она предназначена? 76 5 Что такое главная форма? 6 Какими способами можно создать главную и подчиненную формы? 7 Как создать главную и подчиненную форму? 8 Как добавить в главную форму подчиненную форму? 9 Как установить защиту базы данных? Библиографический список 1 Хоффбауер М., Шпильманн К. ACCESS: сотни полезных советов: Пер. с нем. - Киев: BHV. 1996. 2 Дейт К. Введение в системы баз данных.: Пер. с англ. – Киев: Диалектика, 1998.- 784 с. 77 Содержание Лабораторная работа 1 Разработка структуры базы данных.............. 3 Лабораторная работа 2 Частные ограничения целостности данных БД .......................................................................................................... 22 Лабораторная работа 3 Надежность программ обработки данных . 26 Лабораторная работа № 4 Работа с данными из внешних источников ......................................................................................................... 31 Лабораторная работа 5 Средства автоматизации работы конечных пользователей .................................................................................................... 36 Лабораторная работа №6 Обработка данных с помощью запросов 46 Лабораторная работа № 7 Работа с отчётами .................................... 58 Лабораторная работа № 8 Работа с главной кнопочной формой..... 68 Библиографический список ................................................................. 77 78