Работа с СУБД Microsoft Access 2000
Общие замечания'
Ниже мы рассмотрим, как в программе Microsoft Access 2000 реализованы средства разработки основных объектов базы данных, и в упражнениях познакомимся с конкретными приемами работы. Однако прежде чем приступать к освоению системы, следует учесть ряд важных замечаний, связанных с особенностями ее автоматизации. СУБД Microsoft Access 2000 предоставляет несколько средств создания каждого из основных объектов базы. Эти средства можно классифицировать как: • ручные (разработка объектов в режиме Конструктора); • автоматизированные (разработка с помощью программ-мастеров); • автоматические — средства ускоренной разработки простейших объектов. Соотношения между этими средствами понятны: ручные средства наиболее трудоемки, но обеспечивают максимальную гибкость; автоматизированные и автоматические средства являются наиболее производительными, но и наименее гибкими. Методической особенностью изучения программы Microsoft Access является тот факт, что в учебных целях для создания разных объектов целесообразно пользоваться разными средствами. 1. При разработке учебных таблиц и запросов рекомендуется использовать ручные средства — работать в режиме Конструктора. 2. При разработке учебных форм, отчетов и страниц доступа, наоборот, лучше пользоваться автоматизированными средствами, предоставляемыми мастерами. Это связано с тем, что для данных объектов большую роль играет внешний вид. Дизайн этих объектов весьма трудоемок, поэтому его лучше поручить программе, а обучающемуся следует сосредоточиться на содержательной части работы. Запуск и завершение работы программы MS Access
В стандартном случае запуск программ MS Access выполняется с помощью команды Пуск ► Программы ► Microsoft
Access, либо с помощью значка , (если он присутствует на Рабочем столе). Завершение работы программы выполняется стандартными способами, в том числе: сочетанием клавиш Alt
+
F
4 или командой Файл ► Выход. Интерфейс Access
Access имеет характерный для всех приложений Microsoft Windows удобный графический интерфейс, ориентированный на комфортную работу пользователя (рис. 4). Для работы с таблицами базы данных и другими объектами Access предоставляет многочисленные команды меню и контекстно-зависимые панели инструментов. Поскольку интерфейс приложений Microsoft Office унифицирован, пользователю требуется меньше времени на освоение приложения. Рис. 4. Окно MS Access с окном базы данных Торговля. Строка заголовка аналогична строкам заголовков других приложений Microsoft Office. Строка меню содержит несколько пунктов, каждый из которых имеет собственное ниспадающее меню. Ниспадающее меню содержит список команд Access. Строка меню обладает той особенностью, что набор команд меняется в зависимости от того, с каким объектом в данный момент выполняется работа (с таблицей, запросом, отчетом или формой) Набор встроенных панелей инструментов обеспечивает удобный интерфейс пользователя при выполнении работ в каждом из предусмотренных режимов базы данных. Эти панели выводятся в окне Access по умолчанию в соответствии с текущим режимом работы. Список доступных панелей инструментов можно получить по команде Вид ► Панели инструментов. В Access, как и в других приложениях Microsoft Office,панели инструментов настраиваемые. В нижней части окна Access находится строка состояния. Строка состояния предназначена для вывода текста сообщения, связанного с текущим режимом работы, состоянием объекта или выполняющейся программы. Сообщение Готово означает, что Access готов принять команду пользователя. Окно базы данных
Все операции по обработке объектов БД начинаются в окне базы данных (рис. 5). Окно База данных, как и окно Access, имеет строку заголовка, которая в левой части содержит кнопку системного меню и название базы данных, а в правой части – три кнопки управления окном базы данных (как и в других приложениях Microsoft Office). В левой части окна База данных расположена панель Объекты. На этой панели вертикальным рядом кнопок представлены все объекты, которые могут быть созданы в БД: таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули. Рис. 5 . Окно Базы данных Торговля с отображением таблиц БД. Объекты различных типов могут объединяться в группы, которые представлены в разделе Группы (в нижней части панели). Раздел Группы позволяет в больших БД объединить объекты по определенному принципу, например, по функциональному назначению. Объекты в группе представляются ярлыками, ссылающимися на включенный в группу объект. Изначально в разделе Группы существует единственная группа Избранное. Рабочее поле окна базы данных предназначено для отображения списка объектов выбранного типа. При нажатии одной из кнопок на панели Объекты, в рабочем поле окна отображается список имен объектов данного типа. При создании новой базы данных список для любого выбранного типа объекта отсутствует. Кроме того, в верхней части рабочего поля размещены ярлыки, позволяющие создавать соответствующие объекты в основных режимах – в режиме конструктора или с помощью мастера. В верхней части окна расположены кнопки для выбора режима работы с предварительно выделенным объектом: q Открыть – позволяет открыть таблицу, запрос, форму или страницу. Если выбрана таблица, то ее можно просмотреть, внести новые записи или изменить те, что были внесены ранее. Если выбран объект типа Отчет, то кнопка изменяет свое название на Просмотреть и, соответственно позволяет просмотреть выбранный отчет. q Конструктор – позволяет перейти в режим доработки любого ранее созданного объекта. Кнопка Конструктор тоже открывает избранный объект, но по-другому. Она открывает его структуру и позволяет править не содержимое, а устройство. Если это таблица, в нее можно вводить новые поля или изменять свойства существующих полей. Если это форма, в ней можно изменять или создавать элементы управления. q Создать – позволяет приступить к созданию нового объекта любого выбранного типа. Справа от рассмотренных выше кнопок имеется кнопка Удалить, позволяющая удалять выбранный объект, а также четыре кнопки изменения режима представления объектов в окне базы данных: Крупные значки, Мелкие значки, Список, Таблица. Средства конструирования объектов
С помощью Access обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. В то же время работа с Access не исключает возможности программирования. При желании систему можно развивать и настраивать собственными силами. Для этого надо владеть основами программирования на языке Microsoft Visual Basic for Applications (VBA). В Access имеются средства графического конструирования, которые позволяют пользователю создавать объекты базы данных: таблиц, схем базы данных, запросов, форм, отчетов, страниц доступа к данным с помощью многочисленных графических элементов, не прибегая к программированию. К таким средствам относится Конструктор. Конструктор предоставляет пользователю набор инструментов, с помощью которых можно быстро создать и модифицировать объект. Для конструирования макета форм, отчетов и страниц доступа к данным используется панель элементов, которая появляется при вызове конструктора. В Access имеется возможность автоматического конструирования форм, запросов, отчетов, страниц и их элементов с помощью программ-мастеров и команд, начинающихся с приставки "авто". Мастера Access
Диалоговые средства представлены разнообразными мастерами, которые в режиме ведения диалога с пользователем позволяют создавать объекты и выполнять разнообразные функции по реорганизации и преобразованию баз данных. Мастер (Wizard) - специальная программа, помогающая в решении какой-то задачи или создании объекта определенного типа. Эта программа позволяет за несколько минут выполнить рутинную работу, на которую без применения этой программы может уйти несколько часов. Программа-мастер задает вопросы о содержании, стиле и формате объекта, а затем создает этот объект без какого-либо вмешательства со стороны пользователя. Мастера позволяют автоматизировать процесс создания таблиц базы данных, форм, запросов, отчетов и страниц доступа к данным; анализировать таблицы базы данных ивыполнять многие другие работы. В Access имеется около сотни мастеров, которые помогут выполнить множество разнообразных работ. Ниже рассмотрены некоторые из мастеров. Мастер подстановок создает вполе таблицы раскрывающийся список значений из полей другой таблицы для выбора иввода нужного значения. Мастера запросов позволяют создавать запросы на выборку, требующие выполнения простых операций обработки данных (простые запросы) или запросы на выборку, в которых выполняются групповые операции обработки данных из одной или нескольких таблиц. Мастера по созданию форм и отчетов упрощают и ускоряют процесс создания однотабличных и многотабличных форм и отчетов. В диалоге с мастером пользователю достаточно выбрать таблицы и поля, которые необходимо включить в форму, и выбрать источник основной и подчиненной части формы. Мастера по разработке форм и отчетов автоматически создают инструкцию SQL, описывающую источник записей для формы или отчета, что избавляет пользователя от подготовки специального запроса. Созданные в полях таблиц списки наследуются при включении этих полей в форму или отчет (поле со списком). Мастера кнопок создают командные кнопки — элементы управления в форме и на страницах доступа к данным. При создании кнопки мастера предлагают большой набор действий, которые могут быть выполнены при щелчке на кнопке. Для выбранного действия мастера строят процедуру обработки события на языке VBA.. Формы с командными кнопками, связанными процедурами Visual Basic, позволяют создать удобный интерфейс пользователя для управления приложением. Мастер анализа таблиц позволяет выполнить нормализацию данных базы. Мастер разделяет ненормализованную таблицу с дублированными данными на две или более таблицы меньшего размера, в которых данные сохраняются без повторений. Мастера импорта таблиц и объектов вызываются командой меню Файл ► Внешние данные ► Импорт и позволяют импортировать таблицы и объекты из внешнего файла в текущую базу, путем выполнения элементарные действия по выбору файла и нужных объектов. Импортировать данные можно из файла другой базы данных Access, а также из файлов Ехсеl, Lotus, Paradox, dBase и других баз данных. Возможен импорт текстовых файлов и НТМL-таблиц и списков из Internet или intranet в таблицу Access. Мастера экспорта вызываются командой меню Файл ► Экспорт и позволяют экспортировать объекты (одновременно только один объект) базы данных в другие базы данных Access, в базы данных многих других СУБД. Объекты могут быть экспортированы в текстовые файлы, различные электронные таблицы, опубликованы на статических и динамических страницах Internet или intranet. Служебная программа Сжать и восстановить базу данных реорганизует базу данных на диске с целью улучшения объемно-временных характеристик. Утилита перезаписывает фрагментированный в результате удаления и добавления объектов файл базы данных и сокращает его размер, а также восстанавливает поврежденную базу. В ней реализована функция автоматического сжатия при закрытии базы данных. Access определяет, что при попытке открыть, сжать, зашифровать или дешифровать базу данных она была повреждена и предоставляет возможность восстановить ее. Создание базы данных
Создание новой нормализованной реляционной базы данных Access осуществляется в соответствии с ее структурой, полученной в результате проектирования. Поскольку проектирование непосредственно с СУБД не связано, в учебно-методическом пособии данный этап создания базы данных не рассматривается. Создание реляционной базы данных с помощью СУБД начинается с создания и сохранения файла базы данных. Следующим шагом является формирование структуры таблиц. При этом определяется состав полей их тип и свойства. После определения структуры таблиц создается схема данных, в которой устанавливаются связи между таблицами. Access использует эти связи при заполнении таблиц и обработке данных. При создании базы данных важно задать параметры, в соответствии с которыми Access будет автоматически поддерживать целостность данных. Для этого при определении структуры таблиц должны быть указаны ограничения на допустимые значения данных, а при создании схемы данных на основе нормализованных таблиц необходимо задать параметры поддержания целостности связей базы данных. Завершается создание базы данных процедурой загрузки, т.е. заполнением таблиц конкретными данными. Особое значение имеет технология загрузки взаимосвязанных данных. Удобным инструментом загрузки данных во взаимосвязанные таблицы являются формы ввода/вывода, обеспечивающие интерактивный интерфейс для работы с данными базы. Формы позволяют создать экранный аналог документа источника, через который можно вводить данные сразу в несколько взаимосвязанных таблиц. Размещение базы данных
Все таблицы базы данных, другие объекты Access - формы, запросы, отчеты, макросы и модули, построенные для этой базы, а также внедренные объекты могут размещаться на диске в одном файле формата MDB. Это упрощает технологию ведения базы данных. Обеспечивается высокая компактность размещения всех объектов базы данных на диске и эффективность обработки данных. Страницы доступа к данным Access сохраняются в отдельных файлах, а в файле базы данных размещаются только ссылки на них. Создание файла базы данных Access
Так как Access хранит все таблицы базы данных, а также другие объекты в одном файле, поэтому прежде чем приступить к созданию таблиц базы данных, необходимо создать файл пустой базы данных. Для создания файла новой базы данных надо стандартным образом запустить СУБД Access и в окне Microsoft
Access выбрать Новая база данных (рис. 6).После этого появится окно Файл новой базы данных. В этим окне нужно выбрать папку, в которой будет размещен файл, задать имя файла новой базы данных и нажать кнопку Создать. В результате открывается окно новой базы данных <имя БД>: база данных, причем <имя БД> соответствует имени, заданному в окне Файл новой базы данных. Рис. 6 . Окно Microsoft Access Создания/Открытия базы данных Тип файла по умолчанию имеет значение Базы данных Microsoft
Access
(
Microsoft
Access
Databases
), что приводит к созданию файла базы данных, имеющего расширение *.mdb. Это расширение является зарегистрированным в Windows для данного типа файлов и связывается с программой Access. Создание таблиц базы данных
Создание таблиц БД, как и базы данных в целом, состоит из двух этапов. На первом этапе определяется ее структура: состав полей, их имена, последовательность размещения полей в таблице, тип каждого поля, размер поля, ключи, индексы таблицы и другие свойства полей. На втором этапе производится создание записей таблицы и заполнение их данными. Для создания новой таблицы в окне База данных нужно выбрать объект Таблицы. Чтобы создать таблицу вручную, следует использовать значок Создание таблицы в режиме конструктора. Определение структуры новой таблицы в режиме конструктора
При выборе режима конструктора таблиц появляется окно Таблица1: таблица (рис. 7.). То, что отображается на экране в этом режиме, фактически является графическим бланком для создания и редактирования структуры таблиц. При переходе в режим конструктора таблиц меняется состав команд меню, а панель инструментов базы данных заменяется панелью инструментов Конструктор таблиц. В верхней части окна имеются три столбца: Имя поля, Тип данных и Описание. Слева внизу расположена группа элементов Свойства поля, которые используются для задания или изменения свойств полей таблицы. Количество доступных свойств зависит от типа данных. Справа внизу находится сектор динамически изменяющейся подсказки. Для каждого поля создаваемой таблицы в окне конструктора нужно: q В столбце Имя поля ввести имя поля. Имя поля — определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц). Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов за исключением точки (.), восклицательного знака (!) и квадратных скобок ([ ]). Имя не может начинаться с пробела. Максимальная длина имени – 64 символа.Рис. 7 . Окно для задания структуры таблицы режиме Конструктора (раскрыт список типа полей, в нижней части окна представлен список свойств текстового поля)
q В столбце Тип данных нужно выбрать тип данных. Тип данных для каждого поля можно выбирать только из раскрывающегося списка, открываемого кнопкой выбора типа поля. Эта кнопка — скрытый элемент управления. Она отображается только после щелчка на соответствующем поле бланка. q В столбце Описание можно записать краткий комментарий к каждому полю. В отличие от имени поля и типа данных, описание не является обязательным элементом и может быть опущено. Текст, введенный в столбце Описание, в последующем будет отображаться в строке состояния в процессе ввода данных в соответствующее поле. Например, для поля Фамилия можно ввести в столбец Описание следующее: Использовать только кириллицу и не более 20 символов. q В группе элементов Свойства поля нужно задать свойства поля на вкладках Общие и Подстановка (в ряде случаев можно оставить те свойства, которые устанавливаются по умолчанию). После завершения формирования структуры таблицы следует назначить её первичный ключ (смотри ниже параграф Определение первичного ключа). Типы данных
Поля базы данных не просто определяют структуру базы — они еще определяют групповые свойства данных. Эти групповые свойства определяются выбранным для каждого поля типом данных. Тип данных определяется значениями, которые предполагается вводить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование девяти типов данных. Ниже перечислены основные типы данных. • Текстовый — тип данных по умолчанию. Текст или цифры, не участвующие в расчетах, например номер телефона. Число символов в поле не должно превышать 255. Максимальное число символов, которое можно ввести в поле, задается в свойстве Размер поля. • Поле МЕМО — специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда. • Числовой — для хранения числовых данных, используемых в вычислениях. Конкретные варианты числового типа и их длина задаются в свойстве Размер поля. • Дата/время — тип данных для хранения календарных дат и текущего времени. • Денежный — тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа • Счетчик — специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Значения этого поля нельзя изменить. В таблице не может быть более одного поля этого типа. Используется — для порядковой нумерации записей, а также для определения уникального ключа таблицы. • Логический — для хранения логических данных (данные в этом поле могут принимать только два значения, например Да или Нет). • Поле объекта OLE — специальный тип данных – объект (например документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный с помощью технологии OLE в таблицу Access. Реально такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них. Длина поля – не более 1 Гбайт. • Гиперссылка — специальное поле для хранения адресов гиперссылки, включающий путь к файлу на жестком диске в локальной сети (в формате UNC) или адрес Web-страницы в Internet или intranet (URL
). Кроме того, адрес может включать текст, выводимый в поле или элементе управления, дополнительный адрес – расположение внутри файла или страницы, подсказку – текст отображаемый в виде всплывающей подсказки. Если щелкнуть мышью на поле гиперссылки, Access выполнит переход на соответствующий объект, документ, Web-страницу или другое место назначения. Длина каждой из частей гиперссылки - не более 2048 знаков. Для полей типа OLE
, МЕМО и Гиперссылка не допускается сортировка и индексирование. • Мастер подстановок — это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка. Мастер подстановок удобно использовать в тех случаях, когда данные, вводимые в поле, имеют ограниченный набор значений. Мастер строит для поля список значений на основе полей из другой таблицы или же этот список задается путем ввода на одном из этапов работы Мастера. Фактически тип данных поля определяется типом данных поля списка. Свойства полей базы данных
Поля — это основные элементы структуры базы данных. Они обладают свойствами. Свойства полей определяют способ хранения и обработки их программой Access. Общие свойства задаются для каждого поля на вкладке Общие, а перечень этих свойств зависит от выбранного типа данных. Для отображения свойств того или иного поля необходимо установить курсор на строке соответствующего поля. От свойств полей зависит, что можно делать с данными, содержащимися в поле. Например, данные, содержащиеся в поле Цена, можно просуммировать, чтобы определить итоговый результат. Суммировать данные, содержащиеся в поле Номер телефона, совершенно бессмысленно, даже если номера телефонов записаны цифрами. Очевидно, что эти поля обладают разными свойствами и относятся к разным типам. Ниже приведены некоторые, наиболее важные свойства полей. Общие свойства поля
q Размер поля — задает максимальный размер сохраняемых в поле данных.
Для поля с типом данных Текстовый задается размер от 1 до 255 знаков (по умолчанию – 50 символов).
Для поля с типом данных Числовой можно задать: · Байт – позволяет хранить целые числа от 0 до 255 и занимает 1 байт памяти; · Целое – позволяет хранить целые числа от -32768 до +32767 и занимает 2 байта памяти; · Длинное целое – позволяет хранить целые числа от –2 147 483 648 до +2 147 483 647 и занимает 4 байта памяти; · Одинарное с плавающей точкой – позволяет хранить числа с точностью до 7 значащих цифр в диапазоне от –3,4×1038 до +3,4×1038 и занимает 4 байта памяти; · Двойное с плавающей точкой – позволяет хранить числа с точностью до 15 значащих цифр в диапазоне от –1,797×10308 до +1,797×10308 и занимает 8 байт памяти; · Действительное - позволяет хранить десятичные значения с заданной точностью в диапазоне от –1028 до +1028 и занимает 12 байт. Рекомендуется задавать максимально допустимый размер поля, который понадобиться для сохраняемых значений, так как сохранение таких полей требует меньше памяти, и обработка данных меньшего размера выполняется быстрее. q Формат поля — является форматом отображения заданного типа данных и задает правила представления данных в ячейках, принадлежащих полю при выводе их на экран или печать. В Access определены встроенные стандартные форматы отображения для полей с типами данных Числовой, Дата/время, Логический и Денежный. Для указания конкретного формата отображения необходимо выбрать в раскрывающемся списке одно из значений свойства Формат поля. Формат поля используется для отображения данных в режиме таблицы, а также применяется в форме или отчете при отображении этих полей. q Маска ввода — определяет форму, в которой вводятся данные в поле. Маска ввода предусмотрена для полей с типами данных Текстовый, Числовой, Дата/время, и Денежный. Например, можно сделать так, чтобы Access выводил разделители (__/__/__) для поля, предназначенного для ввода дат, или задать маску для ввода телефонного номера: (# # #) 000-0000. q Подпись — определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется Имя поля). q Значение по умолчанию — (средство автоматизации ввода данных) определяет текст или выражение, которое автоматически вводится в поле при создании новой записи. При добавлении записи в таблицу можно оставить значение, введенное по умолчанию, или ввести другое. Свойство Значение по умолчанию используется только при создании новой записи. Изменение значения свойства не влияет на существующие записи. Максимальная длина значения свойства составляет 255 знаков. Данное свойство не определено для полей с типом данных Счетчик и Поле объекта OLE. q Условие на значение — (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты) позволяет осуществлять контроль ввода данных, задает ограничения на вводимые значения, запрещает ввод при нарушении условий и выводит текст, заданный свойством Сообщение об ошибке. q Сообщение об ошибке — текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение). q Обязательное поле — свойство, определяющее обязательность заполнения данного поля при создании записи в процессе наполнения базы данных. q Пустые строки — свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым). q Индексированное поле — если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных. Допустимы следующие значения свойства “Индексированное поле” (таблица 1). Таблица 1 Значение | Описание |
Нет | Не создает индекс по данному полю (используется по умолчанию) |
Да (Допускаются совпадения) | Создает индекс по данному полю |
Да (Совпадения не допускаются) | Создает уникальный индекс по данному полю |
Индексы – это внутренние служебные таблицы, содержащие два столбца. Первый содержит значение индексируемого поля, а второй – адреса всех записей, имеющих это значение в индексируемом поле. В индексной таблице производится упорядочение строк по значениям индексируемого поля, и это позволяет использовать методы быстрого поиска строки с заданным значением индексного поля. По адресу, содержащемуся в найденной строке индексной таблицы, осуществляется прямой доступ к искомой записи данных. q Сжатие Юникод – Access хранит символьные поля в MDB-файле с использованием двухбайтного (Unicode) набора символов, что позволяет поддерживать расширенные наборы символов для тех языков, в которых они требуются. По умолчанию для новых таблиц это свойство устанавливается в значение Да. Это означает, что все символы, первый байт которых в кодировке Unicode равен 0, будут сжиматься до одного байта при сохранении и восстанавливаться при выборке. Элементы управления, созданные в формах или отчетах на основе поля таблицы, наследуют установленные для этого поля свойства. Благодаря этому не требуется определять свойства индивидуально для каждого связанного с полем элемента управления. Тип элемента управления
На вкладке Подстановка в окне конструктора таблиц задается свойство Тип элемента управления. Это свойство определяет, будет ли отображаться поле в таблице и в форме в виде Поля, Списка или Поля со списком. Таким образом, определяется вид элемента управления, используемого по умолчанию для отображения поля. Если для поля выбран тип элемента управления Список или Поле со списком, на вкладке Подстановка появляются дополнительные свойства, которые определяют источник данных для строк списка и ряд других характеристик списка. В качестве источника данных для списка выбирается таблица, с которой осуществляется постоянная связь, тем самым обеспечивается актуальное состояние списка. Если при определении типа поля выбран Мастер подстановок, то значения свойств на вкладке Подстановка будут заполнены мастером. Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказанных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например, для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видеоклипов и других объектов OLE
, большинство вышеуказанных свойств не имеют смысла. Определение первичного ключа
Если в создаваемой реляционной базе данных будет более одной таблицы, то каждая таблица должна иметь уникальный (первичный) ключ, однозначно определяющий каждую запись в соответствующей таблице. С помощью ключевых полей создаются связи между таблицами. Ключевое поле позволяет быстро найти и связать данные из разных таблиц в запросах, формах и отчетах. Ключевое поле должно содержать уникальные значения, такие как коды или инвентарные номера и не может содержать значения Null. Если для таблицы определен первичный ключ, то Access предотвращает дублирование ключа или ввод значений Null
в эти поля. Для задания ключевого поля нужно выделить соответствующее поле и нажать на панели инструментов Конструктор таблиц кнопку Ключевое поле , или можно щелкнуть на имени поля правой кнопкой мыши и в открывшемся контекстном меню выбрать пункт Ключевое поле. Если первичный ключ необходим для связи с другими таблицами, но ни одно из полей не является уникальным, то первичный ключ можно создать на базе двух или более полей. Эта операция выполняется точно так же, через контекстное меню, надо только выделить сразу несколько полей. Групповое выделение выполняют при нажатой клавише <Ctrl
> щелчками на квадратных маркерах слева от имен полей. Ключ, включающий одно поле, называется простым, а ключ, включающий два или более полей, называется составным. Для ключевого поля автоматически задается свойство – индексированное поле. В качестве первичного ключа может быть задано поле с типом данных Счетчик. В этом случае при добавлении каждой записи в таблицу в это поле автоматически вносится порядковый номер. Указание такого поля является наиболее простым способом создания первичного ключа. Если первичный ключ не установлен пользователем до сохранения вновь созданной таблицы, то Access спросит о необходимости создания первичного ключа. При ответе Да Access создаст первичный ключ с типом данных Счетчик. Сохранение таблицы
После определения структуры таблицы ее необходимо сохранить. Это можно выполнить несколькими способами: с помощью команды Файл ► Сохранить; с помощью кнопки Сохранить на панели инструментов конструктора или путем закрытия окна конструктора (при этом система выдает запрос на сохранение таблицы). Во всех случаях открывается окно Сохранение (рис. 8). Имя таблицы должно быть информативным, но не может превышать 64 знака. При сохранении таблицы происходит обновление файла базы данных, в которую помещается созданная таблица. Значок вновь созданной таблицы с ее именем появляется в основном окне База данных. Рис. 8. Окно Сохранение Аналогично обновляется файл базы данных при создании и модификации любого ее объекта. Отдельной команды сохранения файла при изменениях в базе данных не предусматривается. Упражнение 1. Создание файла базы данных и структуры таблиц
Требуется
создать базу данных для фирмы, занимающейся розничной торговлей цифровой техникой. На настоящий момент у фирмы имеются договоры с тремя оптовыми поставщиками, но количество поставщиков может увеличиться. Создаваемая база данных должна обеспечивать ведение учета имеющихся в продаже товаров с указанием наименования, марки, цены товара, а также поставщиков по каждому товару.
База данных будет создаваться путем выполнения ряда упражнений.
1. Создайте файл базы данных. Для этого: a. запустите программу Microsoft Access (Пуск ► Программы ► Microsoft
Access). b. В открывшемся окне Microsoft
Access включите переключатель Новая база данных и щелкните на кнопке ОК. c. В следующем открывшемся окне Файл новой базы данных выберите папку для сохранения файла и задайте имя файла: Цифровая техника. Затем щелкните на кнопке Создать. Откроется окно новой базы — Цифровая техника : база данных (рис.9). Рис. 9. Окно базы данных Цифровая техника (пока пустое). 2. Создание таблицы. Выполните создание таблицы ТОВАРЫ в режиме Конструктора. Для этого: a. По умолчанию при открытии окна базы данных кнопка Таблицы на панели Объекты нажата. Если нажата другая кнопка, то нажмите кнопку Таблицы. Затем выполните двойной щелчок на кнопке Создание таблицы в режиме конструктора откроется бланк создания структуры таблицы (рис.10). b. Создайте структуру таблицы ТОВАРЫ. c. Имена полей, типы данных и свойства полей указаны в таблице 2. Сначала нужно ввести имя поля, затем выбрать из списка тип данных и только затем можно указать свойства поля и его описание. Описание полей введите в соответствии с рис. 10. Рис. 10. Таблица ТОВАРЫ в режиме Структура для задания имен полей и типа данных для каждого поля d. В качестве ключевого поля укажите поле Код товара. Для этого установите курсор в это поле и нажмите на панели инструментов кнопку Ключевое поле .
Таблица 2 Имя поля | Тип данных | Ключ | Размер | Обязательное поле | Индексированное поле |
Код товара | Счетчик |
| Длинное целое |
| Да (совпадения не допускаются[1]) |
Код поставщика | Текстовый |
| 3 | Да | Да (совпадения допускаются) |
Название | Текстовый |
| 20 | Да | Нет |
Марка | Текстовый |
| 10 | Да | Нет |
Модель | Текстовый |
| 20 | Нет | Нет |
Цена | Денежный |
|
| Да | Нет |
Техн_характ | МЕМО |
|
| Нет |
|
e. Сохраните созданную таблицу, присвоив ей имя ТОВАРЫ. В окне Цифровая техника:
База данных появится значок созданной таблицы. 3. Откройте созданную таблицу в режиме Таблица. Для этого выполните двойной щелчок на значке таблицы ТОВАРЫ или нажмите кнопку Открыть при выделенном значке таблицы ТОВАРЫ. Убедитесь, что таблица пустая, т.е. не содержит записей, а заголовки столбцов таблицы соответствуют заданным именам полей. Для ускорения в последующем ввода данных структуру таблицы необходимо доработать, а именно подготовить два списка: список названий товаров и список марок товаров. Эта работа выполняется с помощью Мастера подстановок в режиме Конструктора. Для перехода в режим Конструктора, нажмите кнопку Конструктор на панели инструментов. 4. Создание списков с помощью Мастера подстановок. Для создания списка товаров установите курсор в поле выбора типа данных в строке Название. Раскройте список типов данных и выберите Мастер подстановок (при этом ранее выбранный тип данных Текстовый не изменится). Запустится Мастер подстановок. a. На первом шаге работы Мастера подстановок установите переключатель в положение Будет введен фиксированный набор значений и нажмите кнопку Далее >. b. На втором шаге введите в один столбец перечень названий товаров: Ноутбук, Накопитель HDD, Привод DVD-RW, Сканер, Цифровой фотоаппарат, Цифровая видеокамера, Плеер mp3 (рис. 11), а затем нажмите кнопку Далее >. c. На третьем шаге нажмите кнопку Готово, не изменяя подпись, которую содержит столбец подстановки. d. Находясь в режиме Конструктора, переключитесь на вкладку Подстановка и убедитесь, что параметр Тип элемента управления имеет значение Поле со списком, а Источник строк содержит перечень названий товаров. При этом название каждого товара заключено в прямые кавычки (" ") и отделено друг от друга точкой с запятой без пробела[2]. При необходимости исправить или дополнить список товаров это можно сделать в данной строке с соблюдением правил синтаксиса Access. Рис. 11. Окно мастера подстановки (шаг 2). Создание подстановки для ускорения ввода названий товаров. e. Аналогичным способом создайте список для поля Марка. Список должен содержать названия следующих фирм: ACER, ASUS, Canon, Panasonic, Samsung, Seagate, Sony. f. Переключитесь в режим таблицы с помощью команды Вид ► Режим таблицы с сохранением изменений, внесенных в структуру таблицы. 5. Установите курсор на поле Название. Убедитесь в наличии кнопки списка в этом поле.
Щелчком мыши откройте список и убедитесь в наличии списка названий товаров. В дальнейшем при ввода данных в таблицу необходимые значения нужно выбирать из этого списка. Аналогичным образом убедитесь в наличии списка в поле Марка. 6. Создайте таблицу ПОСТАВЩИКИ. Имена полей, типы данных и свойства полей указаны в таблице 3. В качестве ключевого поля укажите поле Код поставщика. 7. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Таблица 3 Имя поля | Тип данных | Ключ | Размер | Обязательное поле | Индексированное поле |
Код поставщика | Текстовый |
| 3 | Да | Да (совпадения не допускаются) |
Название фирмы | Текстовый |
| 20 | Да | Нет |
Город | Текстовый |
| 20 | Да | Нет |
Адрес | Текстовый |
| 20 | Нет | Нет |
Телефон | Денежный |
| 20 | Нет | Нет |
Создание схемы данных
После создания структур таблиц БД следует создать схему данных. Предварительно все таблицы БД должны быть закрыты. Создавать или изменять связи между открытыми таблицами нельзя. Создание схемы данных начинается в окне База данных с выбора команды Сервис ► Схема данных. После выполнения указанной команды открывается два окна: Схема данных и Добавление таблицы, при этом активным является окно Добавление таблицы (рис. 12), в котором можно выбрать включаемые в схему данных таблицы. Рис. 12. Два окна: Схема данных и Добавление таблицы После выбора нужных таблиц в окне Схема данных будут представлены соответствующие таблицы со списком своих полей. При необходимости размеры окон таблиц можно изменить, чтобы список полей был виден полностью. Далее можно приступать к определению связей между таблицами. При определении связей в схеме данных удобно использовать информационно-логическую модель, по которой легко определить главную и подчиненную таблицу каждой одно-многозначной связи, так как в такой модели главные объекты всегда размещены выше подчиненных. Одно-многозначные связи являются основными в реляционных базах данных. Для создания связи типа 1:М между парой таблиц нужно выделить в главной таблице ключевое поле (название этого поля на схеме данных отображается полужирным шрифтом), по которому устанавливается связь и, удерживая нажатой кнопку мыши переместить указатель мыши на соответствующее поле подчиненной таблицы. После выполнения указанных действий откроется окно Изменение связей (рис. 13). При этом в поле Тип отношения автоматически установится значение один-ко-многим. Рис. 13. Окно Изменение связей При создании связи по составному ключу нужно выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице. При этом в окне Изменение связей необходимо для каждого поля составного ключа в главной таблице – Таблица/запрос выбрать соответствующее поле подчиненной таблицы, названной в данном окне – Связанная таблица/запрос. Затем можно установить флажок Обеспечение целостности данных. После установки этого флажка можно установить флажки каскадное обновление связанных полей и каскадное удаление связанных записей. Если флажок Обеспечение целостности данных не установлен, то при добавлении или удалении записей и изменении значений ключевых полей пользователь должен сам отслеживать непротиворечивость данных и целостность связей, что при больших объемах данных выполнить крайне трудно. Обеспечение связной целостности данных означает, что при корректировке базы данных Access обеспечивает для связанных таблиц контроль за соблюдением следующих условий: q В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи; q В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице; q Нельзя изменить значение ключа связи в записи главной таблицы, если в подчиненной таблице имеются связанные с ней записи. Если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности, то при выполнении операции добавления и удаления записей и изменении значений ключевых полей Access автоматически отслеживает целостность этой связи. При попытке пользователя нарушить эти условия Access выводит соответствующее сообщение и не допускает выполнения операции. Так, например, если установлен только флажок Обеспечение целостности данных, то удалять данные из ключевого поля главной таблицы нельзя. Установление между двумя таблицами связи типа 1:М или 1:1 и задание для этой связи параметров целостности данных возможно только при следующих условиях: q Связываемые поля имеют одинаковый тип данных; q Обе таблицы сохраняются в одной базе данных; q Главная таблица связывается с подчиненной таблицей по первичному простому или составному ключу главной таблицы. Access не позволяет установить флажок обеспечения целостности данных для связи таблиц, если ранее в таблицы были введены данные не отвечающие требованиям целостности. Если для выбранной связи обеспечивается поддержание целостности, то можно задать режим каскадного обновления связанных полей и режим каскадного удаления связанных записей. В режиме каскадного обновления связанных полей при изменении значения данных в поле связи главной таблицы Access автоматически изменит значения данных в соответствующем поле в подчиненных таблицах. В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записей непосредственно в таблице или через форму выводится предупреждение о возможности удаления связанных записей. Образовавшаяся межтабличная связь отображается в окне Схема данных в виде линии, соединяющей два поля разных таблиц. При этом на линии связи у главной таблицы отображается символ - 1, у подчиненной таблицы символ – бесконечность (¥) (рис. 14). Рис. 14. Схема данных. Связь двух таблиц по ключевому полю Код поставщика. Таким образом, смысл создания реляционных связей между таблицами состоит, с одной стороны, в защите данных, а с другой стороны - в автоматизации внесения изменений сразу в несколько таблиц при изменениях в одной таблице. Если теперь открыть главную таблицу из двух связанных таблиц, то левее каждой записи появляется символ , как показано на рис. 15. При нажатии на этот крестик, появляется окно, показывающее связанные с ней записи из подчиненной таблицы. Этим самым появляется возможность увидеть все товары, поставляемые соответствующим поставщиком (рис. 16). Рис. 15. Таблица ПОСТАВЩИКИ является главной таблицей. Символы слева от записей указывают на наличие связанных записей в подчиненной таблице. Рис. 16. Таблица ПОСТАВЩИКИ. Показаны записи в подчиненной таблице ТОВАРЫ, поставляемые формой Кардинал (символ преобразовался в символ ) Модификация структуры базы данных
Созданную структуру базы данных можно изменить (модифицировать). К модификации структуры базы данных относятся: изменение структуры отдельных таблиц, добавление и удаление таблиц, а также изменение схемы данных. Изменение структуры таблицы выполняется (как правило) в режиме конструктора таблиц. Состав и последовательность расположения полей, которые не являются ключевыми, а также свойства и имена таких полей можно изменять независимо от наличия связей таблицы с другими таблицами. Для таблицы, в которой имеются записи, беспрепятственно выполняется изменение имени поля, добавление нового поля, удаление поля и изменение последовательности полей. При изменении типа данных, свойств поля производится преобразование данных. Однако, если преобразования недопустимы, попытка изменения типа данных может привести к потере данных. Access запрашивает у пользователя подтверждение его действий. Если требуется изменить ключевое поле таблицы, которая имеет связи с другими таблицами в схеме данных, необходимо предварительно разорвать связи. При модификации схемы данных может быть изменен состав входящих в схему таблиц, а также могут быть изменены связи между таблицами. Необходимость в изменении связей возникает при изменении ключей в таблицах. Для внесения изменений в схему данных нужно предварительно закрыть все таблицы, затем открыть окно Схема данных. Для удаления связи нужно выполнить щелчок правой кнопкой мыши на линии связи и в появившемся контекстном меню выбрать команду Удалить и затем в ответ на запрос об удалении связи ответить Да. Для изменения параметров связи в контекстном меню на линии связи нужно выбрать команду Изменить связь... При этом откроется окно Изменение связи, в котором следует установить новые параметры связи. Упражнение 2. Создание схемы данных
1. Откройте ранее созданный файл базы данных
Цифровая техника.
2. Выберите таблицы, между которыми будет устанавливаться связь. Для этого:
a. Выполните команду
Сервис ►
Схема данных. При этом одновременно с окном
Схема данных открывается окно
Добавление таблицы. Выделите таблицы (обе сразу или по очереди) и нажмите кнопку
Добавить. Обе таблицы будут представлены на схеме данных.
b. Закройте окно
Добавление таблицы.
3. Установите связь между таблицами ПОСТАВЩИКИ и ТОВАРЫ. Для этого:
a. Выделите в таблице ПОСТАВЩИКИ поле Код поставщика и мышью перетащите его на поле Код поставщика в таблице ТОВАРЫ. b. В открывшемся окне Изменение связей убедитесь, что главной таблицей для связи является таблица ПОСТАВЩИКИ, а связанной таблицей является таблица ТОВАРЫ. При этом полем для связи в обеих таблицах является поле Код поставщика. Нажмите кнопку Создать.
Если у вас в качестве поля связи оказалось другое поле, установите курсор в строку с полем связи. Справа в этой строке появится значок раскрывающегося списка. Раскройте этот список и выберите поле Код поставщика.
c. Окно Изменение связей закроется, а в окне Схема данных между двумя таблицами появится соединительная линия, свидетельствующая о наличии связи между таблицами. Обратите внимание на внешний вид этой линии. 4. Установите обеспечение целостности связанных данных и параметры целостности данных. Для этого:
a. Вновь вызовите диалоговое окно
Изменение связей. Щелчком правой кнопки мыши на линии, соединяющей таблицы, вызовите контекстное меню. В появившемся контекстном меню выберите команду
Изменить связь. Рис. 17. Диалоговое окно Изменение связей. b. Установите флажок
Обеспечение целостности данных, а затем флажки
каскадное обновление связанных полей и
каскадное удаление связанных записей (рис. 17). Нажмите кнопку
ОК.
c. Обратите внимание, как изменился внешний вид линии соединяющей таблицы.
5. Закройте окно
Схема данных с сохранением созданной схемы.
6. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Непосредственный ввод данных в таблицу
Определив структуру таблицы, можно приступить ко второму этапу создания таблицы – вводу данных в нее. Ввод данных в таблицу может быть выполнен двумя способами: путем непосредственного ввода данных в таблицу или путем ввода данных в соответствующую форму или несколько форм. Ниже будет рассмотрен первый способ. Непосредственный ввод данных в таблицу осуществляется в режиме таблицы. Переход в этот режим из окна База данных выполняется нажатием кнопки Открыть при выделенном значке соответствующей таблицы или двойным щелчком на ее значке В режиме таблицы отображается панель инструментов Таблица в режиме таблицы (рис. 18). Новая таблица не имеет записей, имеются только названия столбцов, характеризующие структуру таблицы. Заполнение таблицы данными производится обычным порядком. Сначала курсор ввода устанавливается в нужную ячейку указателем мыши, а затем необходимые данные вводятся с клавиатуры. Вводить данные в ячейки для поля с типом данных Счетчик не требуется, так как значения в этом поле появляются автоматически при вводе данных в любую другую ячейку данной записи. Данные можно вводить и копированием их из одной ячейки в другую стандартными средствами Windows. Рис. 18 . Панель инструментов Таблица в режиме таблицы При вводе данных в ячейку надо иметь в виду следующие особенности. q При помещении курсора в любую строку (запись) таблицы в поле маркировки этой записи появится маркер "стрелка вправо» (►), означающий, что данная запись является текущей. q При вводе данных в запись маркер в виде стрелки изменяется на маркер в виде карандаша, указывая на то, что в текущей записи были сделаны некоторые изменения, но эти изменения еще не сохранены. Можно отменить все изменения в текущем поле, нажав клавишу <Esc>. Повторное нажатие клавиши <Esc> отменяет все изменения, сделанные в данной записи. q При нажатии клавиши <Delete> ячейка очищается. q Можно редактировать текущее значение, меняя в нем отдельные символы. Для этого надо в ячейке таблицы дважды щелкнуть мышью или нажать клавишу <F
2>. q При нажатии клавиши <Enter> или <Таb> в ячейку заносится новое значение и выполняется переход к следующей ячейке. q Переход к очередной записи выполняется после заполнения последней ячейки. Если в свойствах тех или иных полей было установлено свойство Обязательное поле – «Да», то при внесении данных в запись такое поле должно быть заполнено обязательно. Иначе переход к следующей записи будет невозможен. Если было установлено свойство Обязательное поле – «Нет», то при отсутствии данных в таком поле переход к следующей записи возможен. q После перехода к очередной записи отменить изменения, внесенные в предыдущую запись невозможно. q Чтобы удалить запись, сначала надо выделить ее, а затем выполнить команду Правка ► Удалить, или щелкнуть мышью на кнопке панели инструментов Удалить запись или нажать клавишу <Delete>. Аналогичным способом можно удалить сразу несколько записей. При вводе информации для некоторых типов данных (числовой, денежный, дата/время, логический) Access автоматически проверяет правильность их ввода. Например, если ввести букву в ячейку с числовым типом, то Access выдаст сообщение о неправильно введенном значении и не позволит перейти к другой ячейке, пока не будут введены правильные данные. Для всех типов полей (кроме типов Счетчик и поле объекта OLE) можно самостоятельно задавать ограничения для вводимых данных. Для этого в режиме конструктора надо выбрать вкладку Общие, установить курсор в строке Условия на значение и ввести ограничение на данные. Например, для поля Стаж работы можно ввести <70. Тогда значения равные и большие 70 ввести в это поле будет невозможно. Ограничение можно вводить и на текстовое поле, Обычно в этом случае задаются слова, которые могут присутствовать в данном поле. Примечание. Вводить ограничения можно не только вручную, но и с помощью Построителя выражений. При появлении курсора в строке параметра Условия на значение справа от нее появится кнопка с тремя точками. При щелчке по этой кнопке появляется окно построителя выражений (рис. 19). Обычно им пользуются для построения сложных выражений, но разобраться в его работе довольно просто при помощи справки, расположенной в этом же окне. Рис. 19. Построитель выражений Можно использовать еще один удобный инструмент при вводе данных - параметр Значение по умолчанию (находится также на вкладке Общие). Здесь можно задать данные, которые Access будет вводить по умолчанию при заполнении таблицы. Это удобно использовать, когда большинство значений данного поля одинаковы и лишь некоторые отличаются. В нижней части таблицы расположена Панель кнопок перехода. Ее элементами управления удобно пользоваться при навигации по таблице, имеющей большое число записей. При дополнении таблицы новыми записями может быть использован режим ввода записи, при котором видна только вводимая запись. Для перехода в этот режим нужно выполнить команду Записи ► Ввод данных. Для возврата к просмотру всей таблицы нужно выполнить команду Записи ► Удалить фильтр. Очевидно, что вводимые в поля таблицы значения данных должны соответствовать заданным в структуре таблицы типам данных, а способ их записи – допустимым форматам данных. После ввода значения в ячейку поля при попытке перейти к другой ячейке Access проверяет, являются ли введенные данные допустимыми для этого поля. Если введено значение, не соответствующее типу данных поля, Access попытается преобразовать его в правильный тип данных. Если значение не является допустимым и преобразование невозможно, например, нельзя преобразовать текст в число, появляется предупреждающее сообщение. Для того чтобы выйти из ячейки, следует ввести правильное значение или отменить внесенные изменения. После наполнения таблицы данными сохранять их не надо — все сохраняется автоматически. Однако если при работе с таблицей произошло редактирование ее макета (например, изменялась ширина столбцов), СУБД попросит подтвердить сохранение этих изменений. При заполнении связанных таблиц необходимо обеспечить правильность связей между записями этих таблиц. Так, при одно-многозначных связях таблиц и вводе записей в подчиненную таблицу необходимо отслеживать наличие в главной таблице записей с соответствующими значениями ключевых полей. При изменении или удалении ключевых полей в записях главной таблицы нужно изменять или удалять связанные с ними записи в подчиненных таблицах. Если для связанных таблиц определены параметры целостности в схеме данных (см. раздел «Схема данных»), то Access не позволит ввести не соответствующую корректной связи запись. Если возникнет необходимость изменить структуру таблицы (состав полей или их свойства), таблицу надо открыть в режиме Конструктора. Для этого ее следует выделить в окне База данных и щелкнуть на кнопке Конструктор. Для повышения эффективности работы с таблицей следует запомнить и отработать следующие приемы управления с помощью мыши: 1. Каждая запись имеет слева кнопку (маркер записи). Щелчок на этом маркере выделяет всю запись и готовит ее к копированию, перемещению, удалению. 2. Щелчок правой кнопкой на выделенной записи открывает контекстное меню для операций с записью. Контекстное меню записи позволяет удалять, копировать и перемещать записи и управлять высотой строки. 3. Маркер, находящийся в левом верхнем углу таблицы, — это маркер таблицы. Щелчок на нем выделяет всю таблицу, а правый щелчок открывает контекстное меню для операций с таблицей в целом. 4. Если содержимое поля не полностью умещается в ячейке таблицы, столбец можно расширить. При наведении указателя мыши на границу между столбцами указатель меняет форму. Теперь границу можно перемещать методом перетаскивания, а двойной щелчок, выполненный в этот момент, автоматически устанавливает ширину столбца равной длине самого длинного значения в данном поле. 5. Щелчок на заголовке столбца выделяет весь столбец, а щелчок правой кнопкой на выделенном столбце открывает контекстное меню. Контекстное меню столбца позволяет сортировать записи, копировать, удалять и перемещать столбцы, управлять их шириной и режимом отображения. 6. При необходимости любой столбец или группу столбцов таблицы можно скрыть. Скрытый столбец не исчезает из базы, а только перестает отображаться на экране. Чтобы снова его отобразить, надо навести указатель на границу между столбцами в том месте, где был скрыт столбец, и выполнить двойной щелчок. Скрытый столбец опять станет видимым. Макет таблицы
Для удобства работы с таблицей можно изменить ее представление на экране. При этом можно менять ширину столбца, высоту строки, шрифт цифровых и текстовых символов, цвет текста, линии сетки и фона, оформление, которое может быть обычным, приподнятым или утопленным. Можно выводить на экран только те столбцы, которые нужны для текущей работы, или зафиксировать столбец при просмотре широких таблиц. Эти параметры отображения таблицы на экране называются макетом таблицы и сохраняются вместе с ней. Настройка макета выполняется в режиме таблицы. При этом могут быть использованы команды меню Формат или панель инструментов Формат (режим таблицы), которую можно вызвать из контекстного меню на доступной панели инструментов. Многие операции настройки макета можно выполнить непосредственно в таблице с помощью мыши. q Изменение ширины столбца. (Смотри предыдущий параграф). q Изменение высоты строки. Для изменения высоты строки указатель мыши нужно установить в область маркировки записи, расположенной слева, на границе между записями. Далее границу строки можно перетащить на требуемое расстояние. При этом изменяется высота всех строк таблицы. q Изменение порядка расположения столбцов на экране. Для этого столбец выделяется щелчком мыши на его имени, и затем выделенный столбец перетаскивается в новое место. Протащив указатель мыши поперек столбцов можно выделить несколько столбцов и соответственно переместить группу столбцов. q Скрыть столбцы, не нужные для текущей работы, закрепить столбцы, а также отменить эти действия можно при помощи соответствующих команд меню Формат. q Сохранение макета таблицы выполняется командой Файл ►
Сохранить или путем закрытия таблицы и ответа Да на запрос о сохранении макета таблицы. Упражнение 3. Непосредственный ввод данных в таблицы
1. Откройте ранее созданный файл базы данных
Цифровая техника.
2. Откройте таблицу ТОВАРЫ и попытайтесь внести в нее первую запись (смотри таблицу 4) Убедитесь, что при попытке перехода ко второй записи
Access выдает сообщение о невозможности внесения первой записи.
Это связано с тем, что в главной таблице, которой является таблица ПОСТАВЩИКИ, отсутствует запись о поставщике (коде поставщика). Таблица ТОВАРЫ является зависимой, а поскольку ранее вы установили параметр обеспечения связанной целостности данных, Access не позволит вам внести данные о поставщике в таблицу ТОВАРЫ до тех пор, пока вы не внесете соответствующие данные в таблицу ПОСТАВЩИКИ. Следовательно, необходимо сначала внести данные в таблицу ПОСТАВЩИКИ и только затем заполнять таблицу ТОВАРЫ.
3. Откройте таблицу ПОСТАВЩИКИ и внесите в нее данные в соответствии с таблицей 4
Таблица 4 Код поставщика | Название фирмы | Город | Адрес | Телефон |
101 | Байт | Москва | Кутузовский пр. 102 | (495) 233-23-23 |
102 | Кардинал | Москва | Нахимовский пр. 45 | (495) 456-56-56 |
103 | Мир | Новосибирск | Красный пр. 79 | (383) 256-60-60 |
4. Установите ширину столбцов таким образом, чтобы внесенные данные отображались полностью. Закройте таблицу ПОСТАВЩИКИ.
5. Для ускорения ввода повторяющихся данных о коде поставщиков в таблицу ТОВАРЫ создайте с помощью мастера подстановок список поставщиков для таблицы ТОВАРЫ. При этом в качестве источника данных о коде поставщиков используйте данные таблицы ПОСТАВЩИКИ. Для этого:
a. Откройте таблицу ТОВАРЫ в режиме конструктора;
b. Запустите мастер подстановок для поля
Код поставщика; c. На первом шаге работы
Мастера подстановок установите переключатель в положение
Объект «столбец подстановки» будет использовать значения из таблицы или запроса и нажмите кнопку
Далее >;
d. На втором шаге работы
Мастера подстановок выберите таблицу ПОСТАВЩИКИ и нажмите кнопку
Далее >;
e. На третьем шаге работы
Мастера подстановок выберите поле
Код поставщика и нажмите кнопку
Далее >;
f. На четвертом и пятом шагах работы
Мастера подстановок ничего не изменяйте и нажмите кнопку
Готово;
g. На свойствах поля переключитесь на вкладку
Подстановка и обратите внимание на параметр
Источник строк; h. Сохраните изменения в структуре таблицы ТОВАРЫ и откройте ее в режиме таблицы. Убедитесь в наличии списка в поле
Код поставщика. 6. Внесите данные в таблицу ТОВАРЫ в соответствии с таблицей 5. При этом значения данных, вводимых в поля
Код поставщика, Название, Марка, выбирайте из ранее подготовленного списка. Обратите внимание на формат данных в поле
Цена (не удаляйте запятую «,
00р.» и точку после буквы р). Поле
Техн_Характ не заполняйте.
Таблица
5 Код товара | Код поставщика | Название | Марка | Модель | Цена |
1 | 101 | Ноутбук | ACER | 9504WSM | 62 550р. |
2 | 102 | Ноутбук | ACER | 1642WLM | 30 350р. |
3 | 103 | Ноутбук | ACER | 3004LCM | 23 900р. |
4 | 101 | Ноутбук | ASUS | А3500 | 35 600р. |
5 | 102 | Ноутбук | Sumsung | Р-27 | 21 390р. |
6 | 103 | Ноутбук | Sumsung | Р-40 | 40 200р. |
7 | 103 | Ноутбук | Sumsung | Х-50 | 70 990р. |
8 | 101 | Накопитель HDD | Seagate | 120Gb | 2 160р. |
9 | 102 | Накопитель HDD | Seagate | 200Gb | 2 720р. |
10 | 103 | Накопитель HDD | Seagate | 300Gb | 4 360р. |
11 | 101 | Накопитель HDD | Seagate | 400Gb | 8 100р. |
12 | 101 | Привод DVD-RW | ACER |
| 1 350р. |
13 | 102 | Привод DVD-RW | ASUS |
| 1 230р. |
14 | 103 | Привод DVD-RW | Sony |
| 2 430р. |
15 | 101 | Сканер | Canon | 500F | 3 870р. |
16 | 102 | Сканер | Canon | CS4200 | 2 950р. |
17 | 101 | Цифровой фотоаппарат | Canon | EOS 350 | 25 200р. |
18 | 102 | Цифровой фотоаппарат | Canon | F410 | 3 320р. |
19 | 103 | Цифровой фотоаппарат | Sony | Т5 | 7 120р. |
20 | 101 | Цифровая видаокамера | Sony | DCR-PC-55E | 15 370р. |
21 | 102 | Плеер mp3 | Panasonic | MP100VG | 1 670р. |
Так как при попытке внести первую запись, она не сохранилась, то счетчик продолжит нумерацию кода товара со значения 2. Если вы удалите любую запись, то соответствующий номер кода будет удален, и в последующем восстановить его будет невозможно.
7. Установите ширину столбцов таким образом, чтобы внесенные данные отображались полностью. Закройте таблицу ТОВАРЫ.
8. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Поиск, сортировка и фильтрация данных
В режиме таблицы или формы можно осуществлять поиск записей, сортировку записей по одному или нескольким полям, а также фильтрацию записей в соответствии с заданными условиями отбора. Поиск и замена значений в полях
Поиск нужных значений можно проводить либо в одном поле, либо во всех полях таблицы. Если известно, в каком поле находятся искомые данные, то удобнее вести поиск по одному полю. Для этого нужно установить курсор в соответствующее поле (предпочтительнее на первой записи) и выполнить команду Правка ► Найти или нажать кнопку Найти на панели инструментов. В появившемся диалоговом окне Поиск и замена на вкладке Поиск в поле Образец вводится значение, которое требуется найти в таблице или форме. При необходимости в раскрывающемся списке Поиск в: можно указать всю таблицу в качестве области поиска. В раскрывающемся списке Совпадение можно выбрать степень совпадения значений: С начала поля, С любой частью поля или Поля целиком. Раскрывающийся список Просмотр: позволяет выбрать направление поиска, которое может пронимать значения: Все, Вверх, Вниз. Если при поиске значений требуется учитывать регистр и формат данных в поле, то необходимо, соответственно, установить флажки С учетом регистра и С учетом формата полей. После нажатия в диалоговом окне кнопки Найти далее отыскивается первое значение, удовлетворяющее условию поиска. Для получения следующего значения, удовлетворяющего условию поиска, необходимо продолжить поиск, нажимая кнопку Найти далее. Образец поиска может быть задан полным значением поля или его частью. Если выбрать в диалоговом окне вкладку Замена, то оно дополниться раскрывающимся списком Заменить на, позволяющим ввести вместо найденного значения данных новое значение. Кроме того, появляются две дополнительные кнопки, позволяющие управлять процессом замены. Сортировка записей
Сортировка записей по возрастанию или по убыванию значений одного поля (поля сортировки) может быть выполнена как в режиме таблицы, так и в режиме формы. Для этого курсор устанавливается в поле сортировки и нажимается соответствующая кнопка на панели инструментов – либо Сортировка по возрастанию, либо Сортировка по убыванию. Для сортировки записей таблицы по нескольким полям необходимо выделить соответствующие столбцы и выполнить команду сортировки. Сортируемые поля должны быть смежными, при этом старшим полем сортировки является поле, расположенное слева. Для сортировки записей формы по нескольким полям она должна быть открыта в режиме таблицы. При переходе в режим формы просмотр записей будет производиться в соответствии с произведенной сортировкой. Фильтрация записей
Фильтрация записей заключается в отображении только тех записей, которые удовлетворяют условиям фильтра и скрытии всех остальных записей. Фильтр – это набор условий, применяемый для отбора подмножества записей из таблицы, формы или запроса. В базе данных Access можно использовать четыре вида фильтров: q фильтр по выделенному фрагменту определяет, какие записи выводятся на экран. Условия этого фильтра задаются путем выделения данных в таблице. Если выделенный фрагмент отсутствует, то в качестве условия воспринимается значение той ячейки, в которой находится курсор. Каждое новое выделение значения накладывает дополнительные условия на отбор записей существующим фильтром. Таким образом, данный способ позволяет не только создать новый фильтр, но и дополнить фильтр, созданный любым другим способом, новыми условиями отбора. Для отбора записей, поля которых не содержат выделенного значения, необходимо после выделения значения выбрать команду Записи ► Фильтр ► Исключить выделенное. Если необходимо работать со всеми записями таблицы, то действие фильтра можно отменить с помощью команды Записи ► Удалить фильтр или нажать кнопку Удалить фильтр на панели инструментов. При этом фильтр снимается с таблицы, но сохраняется, и в любой момент его можно применить повторно, используя команду Записи ► Применить фильтр. q обычный фильтр вызывается командой Записи ► Фильтр ► Изменить фильтр. Данный фильтр определяет, какие записи выводятся на экран путем выбора в качестве условия значения из списка значений выбранного поля. Ввод значений в несколько полей одной строки фильтра определяют отбор записей, в которых присутствуют все указанные значения. При этом заданные значения рассматриваются как объединяемые логической операцией «И». Для указания альтернативного варианта отбора записей, включаемых в результирующий набор условий, используется вкладка Или в левом нижнем углу окна фильтра. При этом открывается новое поле фильтра для задания альтернативного варианта. Набор условий отбора, введенных в разные поля, связывается логической операцией «ИЛИ». Следующий альтернативный вариант может быть задан на следующей вкладке Или. Созданный фильтр будет отбирать записи, содержащие в полях все значения, указанные на вкладке Найти, и записи, содержащие в полях все значения, указанные на вкладке Или. Для выполнения заданной фильтрации нужно нажать кнопку Применение фильтра или выполнить команду Записи ► Применить фильтр q фильтр для (контекстного меню)вызывается нажатием правой кнопки мыши на том поле, для которого требуется определить условие фильтрации и задается непосредственно в контекстном меню. q расширенный фильтр вызывается командой Записи ► Фильтр ► Расширенный фильтр. При этом открывается окно расширенного фильтра. В верхней части этого окна выводится список полей активной таблицы. В нижней части окна выводится бланк запроса (рис. 20). Рис. 20. Окно расширенного фильтра таблицы ТОВАРЫ. В строке бланка запроса Поле указываются поля, по которым необходимо задать условия отбора записей. Эта операция может быть выполнена либо двойным щелчком мыши на имени соответствующего поля в списке полей, либо перетаскиванием поля из списка на строку Поле бланка запроса. Условия отбора вводятся в строку Условия отбора бланка запроса в столбец того поля, по которому формируются условия отбора. Кроме того, бланк запроса позволяет с помощью строки Сортировка выбрать вид сортировки отфильтрованных записей для одного или нескольких полей. Сохранение фильтра и группы фильтров
Обычный
и расширенный фильтр, также как и фильтр по выделенному сохраняется автоматически при сохранении таблицы. При повторных открытиях таблицы этот сохраненный фильтр является текущим и может использоваться по команде Записи ► Применить фильтр. Если создать новый фильтр, то он заменяет любой ранее сохраненный фильтр. Можно подготовить и сохранить несколько фильтров для таблицы. Для сохранения подготовленного фильтра нужно выполнить команду Записи ► Фильтр ► Изменить фильтр, а затем выполнить команду Файл ► Сохранить как запрос. В открывшемся диалоговом окне Сохранение в виде запроса нужно ввести имя сохраняемого фильтра. Таким образом, можно создать и сохранить несколько фильтров. В дальнейшем фильтр можно запустить при открытой таблице, для которой подготовлен соответствующий фильтр. Для этого нужно последовательно выполнить команды Записи ► Фильтр ► Изменить фильтр, а затем Файл ► Загрузить из запроса. После этого в окне Применяемый фильтр выбрать нужный фильтр и применить его. Упражнение 4. Поиск, сортировка и фильтрация данных в таблице
1. Откройте файл базы данных
Цифровая техника.
2. Откройте таблицу ТОВАРЫ. Выполните в ней поиск всех товаров фирмы
Sony.
Для этого: a. установите курсор на поле Марка в первой записи.
Затем щелкните на кнопке Найти. Откроется диалоговое окно Поиск и замена (рис. 21).
b. Введите в поле
Образец требуемый образец поиска (
Sony) и нажимая кнопку
Найти далее найдите поочередно все записи о товарах фирмы
Sony.
Рис. 21. Диалоговое окно Поиск и замена 3. Поочередно отсортируйте данные по возрастанию: по цене, по названию, по торговой марке. Для этого выделите соответствующее поле таблицы и выполните команду Сортировка по возрастанию. 4. Отобразите исходное состояние таблицы, выполнив сортировку по полю
Код товара (по возрастанию).
5. Используя фильтрацию, отобразите данные только о цифровых фотоаппаратах. Для этого найдите любую из записей о цифровых фотоаппаратах, установите курсор в поле с требуемым названием (цифровой фотоаппарат) и нажмите кнопку на панели инструментов Фильтр по выделенному . Проанализируйте полученный результат. Удалите фильтр нажатием кнопки Удалить фильтр . 6. Используя фильтрацию, отобразите данные только о цифровых фотоаппаратах и цифровых видеокамерах. Для этого в записи о цифровом фотоаппарате выделите корень слова Цифр и выполните команду Фильтр по выделенному. Проанализируйте полученный результат. Удалите фильтр. 7. Поочередно выполните фильтрацию по каждому из названий товаров (по каждому виду товара), по каждой марке товара. 8. Используя расширенный фильтр, отобразите данные о товарах, цена которых больше определенного числа, например больше 8000. для этого: a. Выполните команду Записи ► Фильтр ► Расширенный фильтр. b. В открывшемся диалоговом окне расширенного фильтра удалите ранее использовавшийся фильтр. Для этого выделите столбец (или группу столбцов) на нижней панели окна фильтра и удалите их клавишей <Delete>. c. На верней панели окна фильтра отображена таблица ТОВАРЫ в виде списка полей. Выполните двойной щелчок на поле Цена. d. На нижней панели окна фильтра в строке Поле появится выбранное поле Цена. В строке Условие отбора введите требуемое условие. В данном случае нужно ввести >8000. В строке сортировка выберите порядок сортировки по возрастанию (рис.22). Рис. 22. Формирование условия отбора по цене в окне расширенного фильтра e. Нажмите кнопку Применение фильтра (или выполните команду Записи ► Применить фильтр. f. Проанализируйте полученный результат. 9. Используя расширенный фильтр, отобразите данные о товарах, цена которых меньше 15000. Затем измените фильтр таким образом, чтобы отобразить только записи о товарах в ценовом диапазоне от 10000 до 30000. 10. Отобразите записи о ноутбуках, цена которых находится в диапазоне от 30000 до 50000. 11. Измените фильтр, созданный в предыдущем пункте так, чтобы кроме ноутбуков в ценовом диапазоне от 30000 до 50000 отображались бы все товары фирмы Sony. Отобразите записи обо всех товарах. 12. Отобразите на экране только данные полей Название, Марка и Цена, скрыв с экрана данные других полей. Для этого установите курсор в поле, которое нужно скрыть и выполните команду Формат ► Скрыть столбец
(если нужно скрыть сразу несколько столбцов, то предварительно выделите соответствующие столбцы). Проанализируйте полученный результат. 13. Вновь отобразите все столбцы. Для этого выполните команду Формат ► Отобразить столбцы. В открывшемся окне
Отображение столбцов (рис. 23) установите флажки напротив всех столбцов. Окно
Отображение столбцов можно использовать и для скрытия столбцов путем снятия соответствующих флажков.
Рис. 23. Окно Отображение столбцов 14. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Работа с запросами
Запросы являются одним из основных инструментов выборки записей и обработки данных в таблицах. Запрос может строиться на основе одной или нескольких взаимосвязанных таблиц, позволяя комбинировать в нужном сочетании содержащуюся в них информацию.
При выполнении запроса Access извлекает записи из таблиц БД и формирует набор записей, содержащий данные, отобранные из таблиц в соответствии с условиями запроса. С полученным набором записей можно работать как с обычной таблицей: можно просматривать и выбирать информацию, печатать и обновлять данные. Однако в отличие от реальной таблицы, набор записей физически в базе данных отсутствует. Access создает его из данных, содержащихся в таблицах только во время выполнения запроса. Результирующий набор данных является динамическим (или виртуальным) набором записей и не хранится в базе данных, т.е. результат выполнения запроса не сохраняется. В запросе Access хранит только инструкции о том, как должны быть организованы данные в результате выполнения запроса. Однако полученная виртуальная таблица, тем не менее, может использоваться в качестве источника данных в других запросах, а также в формах, отчетах и страницах доступа к данным. В
общем случае результирующая таблица может не соответствовать ни одной из базовых таблиц базы данных. Ее поля могут представлять набор из полей разных таблиц, а ее записи могут содержать отфильтрованные и отсортированные записи таблиц, на основе которых формировался запрос.
Access позволяет создавать и выполнять следующие типы запросов: 1. QBE-запросы (
QBE –
Query By Example – Запросы по образцу).
· Запрос на выборку;
· Параметрический запрос;
· Запрос с вычисляемыми полями;
· Итоговый запрос;
· Перекрестный запрос;
· Запрос на создание таблицы;
· Запрос на обновление;
· Запрос на добавление записей;
· Запрос на удаление записей.
После создания и сохранения соответствующего запроса
Access использует специальные обозначения в окне базы данных, указывающие на тип запроса.
2. Запросы на языке
SQL (
Structured Query Lenguage – Структурированный язык запросов). Составление таких запросов в данном учебном пособии не рассматривается.
Простейшие запросы могут быть созданы с помощью мастера, но универсальным средством создания любых запросов является конструктор. Как и в случае с таблицами, для этого есть специальный значок в окне
База данных. Он называется
Создание запроса в режиме конструктора и открывает специальный бланк, называемый
бланком запроса по образу. За этим длинным названием скрывается тот приятный факт, что, хотя запросы к таблицам баз данных пишутся на специальном языке программирования -
SQL, пользователям Microsoft Access изучать его не обязательно, а большинство операций можно выполнить щелчками кнопок мыши и приемом перетаскивания в бланке.
Бланк
запроса по образцу представлен на рис. 24. Как видно, он состоит из двух областей (панелей). В верхней области отображается структура таблиц, к которым запрос адресован, а нижняя область разбита на столбцы - по одному столбцу на каждое поле будущей результирующей таблицы.
Рис. 24. Бланк запроса по образцу Создание запроса на выборку
Запрос на выборку является самым распространенным типом запроса. Запросы других типов строятся на основе запроса на выборку.
Для создания запроса на выборку необходимо в окне
База данных выбрать объект
Запросы и затем выполнить двойной щелчок мышью на строке
Создание запроса в режиме конструктора. Далее в открывшемся окне
Добавление таблицы нужно выбрать таблицы, данные из которых должны быть представлены в запросе.
В результате появится окно конструктора запросов –
Запрос
N: запрос на выборку (рис. 24.). Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Первая строка в списке полей, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса по образцу –
QBE, который необходимо заполнить.
Бланк запроса по образцу –
QBE представлен в виде таблицы. Первоначально эта таблица пуста. Каждый столбец бланка относится к одному запрашиваемому полю. Поля могут использоваться для включения в таблицу запроса, для задания сортировки, для задания условий отбора записей, а также для выполнения вычислений в записях таблицы.
При заполнении бланка запроса:
q В строку
Поле включаются имена используемых в запросе полей;
q В раскрывающемся списке
Сортировка выбирается порядок сортировки записей результирующей таблицы;
q В строке
Вывод на экран устанавливаются флажки для полей, которые должны быть отображены на экране;
q В строке
Условие отбора задаются условия отбора записей;
q В строке
или задаются альтернативные условия отбора записей.
Для включения требуемых полей таблиц в соответствующие столбцы запроса можно воспользоваться следующими приемами:
q В первой строке бланка запроса
Поле щелчком мыши вызвать появление кнопки списка и выбрать нужное поле.
Список содержит все поля таблиц, представленных в схеме данных запроса;
q Переместить с помощью мыши требуемое поле из списка полей таблицы в схеме данных запроса в первую строку бланка запроса;
q Дважды щелкнуть на имени поля таблицы в схеме данных запроса.
В результирующей таблице, появляющейся в результате выполнения запроса расположение полей будет соответствовать их расположению в бланке запроса. При необходимости поля в бланке запроса можно перемещать так же, как это выполняется для таблицы. Возможны вставка и удаление полей стандартными для
Microsoft способами.
Использование условия отбора. Условия отбора записей могут задаваться в бланке запроса для одного или нескольких полей в строке
Условие отбора. Соответствующая строка имеется в нижней части бланка запроса по образцу. Для каждого поля в этой строке можно задать индивидуальное условие. Условием отбора является выражение, которое состоит из операторов сравнения и операндов и строится по строгим правилам с соблюдением принятого в
Access синтаксиса. В рамках данного учебного пособия рассматриваются только некоторые из правил на конкретных примерах. Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора являются: = (равно), > (больше), >= (не менее), < (меньше), <= (не более), Between, In, Like, And, Or, Not. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор = (равно). Для удобства формирования условия отбора может быть использован Построитель выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстно-зависимом меню. Предварительно курсор должен быть установлен в поле строки ввода условия отбора. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции И, заданные в разных строках – с помощью логической операции ИЛИ. Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно. Упорядочение записей в результирующей таблице. Если необходимо, чтобы данные, отобранные в результате работы запроса на выборку, были упорядочены по какому-либо полю, применяют сортировку. В нижней части бланка имеется специальная строка Сортировка. При щелчке на этой строке открывается кнопка раскрывающегося списка, в котором можно выбрать метод сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированы по тому полю, для которого задан порядок сортировки. Возможна многоуровневая сортировка — сразу по нескольким полям. В этом случае данные сначала сортируются по тому полю, которое в бланке запроса по образцу находится левее, затем по следующему полю, для которого включена сортировка, и так далее слева направо. Соответственно, при формировании запроса надо располагать поля результирующей таблицы не как попало, а с учетом будущей сортировки. Управление отображением данных в результирующей таблице. В нижней части бланка запроса по образцу имеется строка Вывод на экран. По умолчанию предполагается, что все поля, включенные в запрос, должны выводиться на экран, но это не всегда целесообразно. Например, бывают случай, когда некое поле необходимо включить в запрос только потому, что оно является полем сортировки, но, в то же время, нежелательно, чтобы пользователь базы видел его содержание. В таких случаях отображение содержимого на экране подавляют сбросом флажка Вывод на экран. После создания запроса его следует сохранить. Сохранение запроса выполняется командой Файл ► Сохранить или щелчком по кнопке Сохранить на панели инструментов. При первоначальном сохранении запроса нужно присвоить ему имя в диалоговом окне Сохранение. После сохранения запроса его значок появляется в окне База данных. Двойным щелчком на этом значке запрос можно запустить. Запрос можно запустить и до его сохранения из режима Конструктор с помощью кнопки Запуск (или команды Запрос ► Запуск). После закрытия запроса результирующий набор данных этого запроса прекращает свое существование. Хотя сам по себе динамический набор данных больше не существует, данные, которые в нем содержались, остаются в базовых таблицах. При сохранении запроса остается только структура запроса - перечень таблиц, список полей, порядок сортировки, тип запроса и т.д. При каждом последующем выполнении запрос обращается к базовым таблицам и снова создает результирующий набор данных. Поскольку сам по себе результирующий набор данных не сохраняется, запрос автоматически отображает любые изменения, происшедшие в базовых таблицах с момента последнего запуска этого запроса. Упражнение 5. Создание запросов на выборку
1. Откройте файл базы данных Цифровая техника. 2. Создайте запрос на выборку на основе таблицы ТОВАРЫ. Создаваемый запрос должен включать в себя три поля: Название, Марка, Цена. Для создания запроса: a. Нажмите кнопку Запросы на панели Объекты. Затем выполните двойной щелчок на кнопке Создание запроса в режиме конструктора. Откроется окно конструктора запросов – Запрос1: запрос на выборку а также окно Добавление таблицы. b. В окне Добавление таблицы выберите таблицу ТОВАРЫ и закройте это окно. c. Для включения требуемого поля в запрос выполните двойной щелчок на соответствующем поле таблицы ТОВАРЫ, представленной в верхней части окна конструктора запросов. После этого имя выбранного поля появляется в строке Поле бланка запроса (рис. 25). Рис. 25. Конструирование запроса на выборку. d. С целью сортировки записей в виртуальной таблице, создаваемой при выполнении запроса, в строке Сортировка в поле Цена установите вариант сортировки по возрастанию. e. Запустите запрос с помощью кнопки Запуск на панели инструментов. f. Проанализируйте полученную в результате выполнения таблицу. g. Закройте таблицу и выполните сохранение созданного запроса под именем Товары и цены. Убедитесь в появлении в окне базы данных соответствующего значка созданного запроса. При необходимости вы всегда можете вновь запустить этот запрос. 3. Создайте запрос на выборку на основе двух таблиц: ТОВАРЫ и ПОСТАВЩИКИ. Создаваемый запрос должен включать в себя следующие поля: Название, Марка, Цена, Название фирмы. Запрос должен содержать условие на отображение товаров только Sony и Panasonic. Создание запроса выполняется аналогично предыдущему, но со следующими отличиями: a. Запрос строится на основе двух таблиц: ТОВАРЫ и ПОСТАВЩИКИ. b. Поле Название фирмы включите в запрос из таблицы ПОСТАВЩИКИ. c. В строке Условие отбора в поле Марка введите - Sony, а в строке или введите - Panasonic. d. Примените сортировку по возрастанию по двум полям: Название и Цена. e. Сохраните запрос под именем Товары и поставщики. f. Запустите созданный запрос и проанализируйте полученный результат. 7. Создайте запрос для отображения названий товаров, их марок и цен, а также названий фирм, поставляющих эти товары. Запрос должен содержать условие на отображение товаров только с ценой выше 10000 и обеспечивать сортировку по возрастанию по двум полям: Название и Цена. При сохранении запроса присвойте ему имя Дорогие товары. Запустите созданный запрос и проанализируйте полученный результат. 8. Создайте запрос для отображения названий товаров, их марок и цен, а также названий фирм, поставляющих эти товары. Запрос должен содержать условие на отображение только цифровых фотоаппаратов с ценой ниже 8000 и обеспечивать сортировку по убыванию по двум полям: Марка и Цена. При сохранении запроса присвойте ему имя Недорогие фотоаппараты. Запустите созданный запрос и проанализируйте полученный результат. 9. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запрос с параметром (параметрический запрос)
Параметрический запрос является разновидностью запроса на выборку и создается в том же порядке, но отличается формированием условий отбора. Запросы с параметром можно выполнять многократно, изменяя условия (значение одного или нескольких параметров) отбора и получая при этом разные результирующие таблицы. В качестве параметра может быть задан любой текст, смысл которого определяет значение данных, которые будут выведены в запросе. Для того чтобы в процессе создания запроса определить параметр, вместо конкретного значения нужно ввести в строку Условие отбора имя или фразу, заключенную в квадратные скобки, например, [Введите название товара]. То, что находится внутри квадратных скобок, Access рассматривает как имя параметра. При выполнении запроса появляется специальное диалоговое окно с соответствующим именем параметра, а пользователь должен ввести требуемое значение параметра в поле диалогового окна (рис. 26). В рассматриваемом примере это будет название товара, например, ноутбук или сканер. Рис. 26. Диалоговое окно, появляющееся при запуске параметрического запроса. Можно также создавать запрос с несколькими параметрами, которые связываются друг с другом логическими операциями И (ИЛИ). В момент запуска запроса на выполнение Access отобразит на экране диалоговое окно для каждого из параметров. При этом порядок вывода на экран диалоговых окон для задания значений параметров определяется порядком расположения полей с параметрами в бланке запроса. В случае, когда значение выводимых данных должно быть больше или меньше указываемого значения параметра, в строку Условие отбора бланка запроса перед параметром, заключенным в квадратные скобки, ставится соответствующий знак. Access по умолчанию назначает для параметра текстовый тип данных. если параметр задает условия отбора из поля с числовым типом данных или типом данных дата/время, то целесообразно назначить тип данных, вводимых в диалоговое окно ввода значений параметра. Для этого в режиме конструктора запросов нужно выполнить команду Запрос ► Параметры. В открывшемся окне Параметры запроса ввести имя параметра, опустив квадратные скобки. В раскрывающемся списке Тип данных выбрать требуемый тип. Упражнение 6. Создание параметрического запроса и работа с ним
1. Откройте файл базы данных Цифровая техника. 2. Создайте параметрический запрос на основе таблицы ТОВАРЫ. Создаваемый запрос должен включать в себя следующие поля: Название, Марка, Модель и Цена. При каждом выполнении запроса должен отображаться только один вид товара по вашему желанию. 3. Создание запроса аналогично созданию запроса на выборку со следующими отличиями: a. После выбора необходимых полей из таблицы ТОВАРЫ в строке Условие отбора в поле Название введите выражение [Введите название товара] (квадратные скобки обязательны). b. Сохраните созданный запрос под именем Виды товаров. 4. Запустите запрос Виды товаров. В появившемся диалоговом окне введите название товара - ноутбук и нажмите ОК. Проанализируйте полученный результат. 5. Несколько раз запустите запрос, каждый раз вводя различные названия товаров. 6. Создайте параметрический запрос аналогичный ранее созданному запросу Виды товаров, но новый запрос должен обеспечивать последовательный отбор товара по названию, а затем по цене. Поскольку новый запрос будет незначительно отличаться от предыдущего, его удобно создать, используя запрос Виды товаров. Для этого: a. В окне базы данных выделите запрос Виды товаров и скопируйте его в буфер обмена. b. Вставьте созданную копию запроса в базу данных (с помощью команды Вставить). c. В открывшемся окне Вставка введите имя нового запроса Виды товаров и цены. d. Откройте вновь созданный запрос Виды товаров и цены в режиме Конструктора. e. Дополнительно к ранее заданным условиям отбора в строке Условие отбора в поле Цена введите выражение <[Ниже какой цены] (знак < перед квадратной скобкой обязателен и ставится без пробела). 7. Несколько раз запустите запрос Виды товаров и цены. В первом диалоговом окне каждый раз вводите различные названия товаров, а во втором диалоговом окне соответственно в цифровом виде значение цены, например, 12000 и т. д. 8. Измените запрос Виды товаров и цены таким образом, чтобы сначала появлялось диалоговое окно с вопросом Ниже какой цены, а затем диалоговое окно с выражением Введите название товара. Для этого: a. Откройте запрос Виды товаров и цены в режиме Конструктора. b. Выделите столбец с полем Цена и мышью перетащите это поле, поместив его перед полем Название. Соответственно в строке Условие отбора введенные ранее выражения поменяются порядком следования. c. Закройте запрос с сохранением внесенных изменений. d. Запустите измененный запрос и убедитесь, что порядок вывода на экран диалоговых окон тоже изменился. 9. Верните первоначальный порядок следования диалоговых окон, снова изменив положение поля Цена. 10. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запрос с вычисляемыми полями
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей таблице. Для выполнения вычислений с полями базовой таблицы нужно создать выражение. Выражение вводится в бланк запроса в пустое поле строки Поле. После нажатия клавиши <Enter> или перемещения курсора в другое поле строки, перед выражением в этом поле строки добавляется имя поля ВыражениеN. N – целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля, стоящее перед выражением, отделяется от него двоеточием. Например: Выражение1: [Цена]*[Количество] где Цена и Количество – имена полей. Имя вычисляемого поля - Выражение1 становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить на другое, более информативное. Для вычисляемых полей, как и для любых других, допускается сортировка, задание условий отбора и расчет итоговых значений. При создании вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически вставляет следующие символы: q квадратные скобки ([...]), в них заключаются имена элементов управления; q знаки номеров (#), в них заключаются распознанные даты; q кавычки (""), в них заключается текст, не содержащий пробелов или знаков пунктуации. Упражнение 7. Создание запроса с вычисляемыми полями
1. Откройте файл базы данных
Цифровая техника.
2. Создайте запрос для отображения цен с дилерской скидкой в 3% на каждый товар, с указанием названий и марок товаров, а также названий фирм и их адресов.
3. Создание запроса аналогично созданию запроса на выборку со следующими отличиями:
a. После выбора необходимых полей из таблиц ТОВАРЫ и ПОСТАВЩИКИ в поле
Цена измените выражение так, чтобы получилось следующее выражение
=[Цена]*0,97.
b. Закройте бланк запроса. При закрытии запроса введите его имя
Цены со скидкой.
4. Откройте запрос. Проанализируйте результат. В заголовке столбца с ценой перед словом
Цена появилось слово
Выражение1. Нужно изменить заголовок столбца. Для этого перейдите в режим
Конструктора.
5. В поле соответствующего столбца замените
Выражение1 на
Цена со скидкой. При этом двоеточие и выражение, следующее за двоеточием, не удаляйте.
6. Закройте запрос в режиме
Конструктора. Запустите запрос и убедитесь, что заголовок соответствующего столбца таблицы изменился должным образом, а цены всех товаров представлены с указанной вами скидкой.
7. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Итоговые запросы
Итоговые запросы позволяют производить итоговые вычисления. Итоговый запрос строится также как запрос на выборку, но после задания необходимых полей нужно выполнить команду Вид ► Групповые операции. После чего в бланке запроса появляется строка Групповая операция. Итоговый запрос группирует указанные пользователем поля. При этом каждое выходное поле запроса должно быть либо полем обобщенных данных, либо результатом вычисления итоговых функций. Access представляет девять функции, обеспечивающих выполнение групповых операций. При создании запроса модно задать нужную функцию, введя ее имя в строке Групповая операция бланка запроса, либо выбрав ее имя в раскрывающемся списке. Итоговые (статистические) функцииAccess представлены в таблице 6.
Таблица
6.
Функция | Описание |
Sum | Возвращает сумму всех значений данного поля в каждой группе. Используется только для числовых или денежных полей. |
Avg | Возвращает среднее арифметическое всех значений данного поля в каждой группе. Используется только для числовых или денежных полей. При вычислении функции Access исключает значение Null. |
Min | Возвращает наименьшее значение, найденное в данном поле внутри каждой группы. Для числовых полей возвращает наименьшее значение. Для текстовых полей – наименьшее из символьных значений, независимо от регистра. Access игнорирует значения Null. |
Max | Возвращает наибольшее значение, найденное в данном поле внутри каждой группы. Для числовых полей возвращает наибольшее значение. Для текстовых полей – наибольшее из символьных значений, независимо от регистра. Access игнорирует значения Null. |
Count | Возвращает количество записей, в которых значения данного поля отличны от Null. |
First | Возвращает значение данного поля из первой записи, обнаруженной в группе.
|
Last | Возвращает значение данного поля из последней записи, обнаруженной в группе. |
StDev | Возвращает среднеквадратичное отклонение всех значений данного поля в каждой группе. Эта функция применяется только к числовым или денежным полям. Если в группе меньше двух строк, Access возвращает значение Null.
|
Var | Возвращает дисперсию значений данного поля в каждой группе. Эта функция применяется только к числовым или денежным полям. Если в группе меньше двух строк, Access возвращает значение Null. |
Упражнение 8. Создание итогового запроса
1. В базе данных Цифровая техника создайте запрос для отображения средних цен на все товары, используя итоговый запрос. 2. Создание запроса выполняется аналогично запросу на выборку, но со следующими особенностями: a. Запрос составляется на базе двух полей таблицы – ТОВАРЫ, а именно Название и Цена. b. Открыв бланк запроса, выполните команду Вид ► Групповые операции. В результате в бланке запроса появится строка Групповые операции. c. Установите курсор на пересечении строки Групповые операции и столбца Название. Появится значок списка. Выберите из этого списка – Группировка. Аналогично для столбца Цена выберите из списка в этой строке - Avg (среднее значение). d. Сохраните запрос под названием Средние цены. 3. Запустите запрос и проанализируйте результаты его выполнения. 4. Аналогичным образом создайте еще два запроса Минимальные цены и Максимальные цены. 5. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запросы на изменение
Все выше перечисленные запросы относятся к запросам-выбора, которые позволяют только выбирать и просматривать данные из таблиц. В Access существует особая группа запросов, которые изменяют существующие данные. Рассматриваемые ниже запросы являются запросами-действия, и позволяют автоматизировать работу с данными базы путем одновременной модификации группы записей. Группа таких запросов носит общее называние «запросов на изменение». Возможны следующие виды запросов на изменение: · создание таблицы; · обновление; · добавление; · удаление. Конкретный вид запроса выбирается либо в пункте меню Вид, либо с помощью пиктограммы с раскрывающимся списком на панели инструментов. Запрос на создание таблицы
Запрос на создание таблицы
используется, когда результат запроса требуется сохранить. Такой запрос создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы
основан на запросе на выборку, но в отличие от него, сохраняет таблицу с результатами запроса. При этом новая таблица помещается в группу объектов Таблицы с тем именем, который задаст пользователь при выполнении запроса. Данный тип запросов следует применять, например, для сохранения резервных копий таблиц. Порядок конструирования запроса на создание таблицы приведен ниже на примере.
Упражнение 9. Запросы на создание таблиц
1. В базе данных Цифровая техника требуется регулярно создавать копии таблицы ТОВАРЫ. Для этой цели удобно использовать запрос на создание таблицы. 2. Сначала создайте запрос на выборку на основе всех полей таблицы ТОВАРЫ[3] и присвойте ему имя Таблица ТОВАРЫ. 3. Проверьте работу созданного запроса. 4. Перейдите в режим Конструктора, а затем выполните команду Запрос ► Создание таблицы... 5. В появившемся окне введите имя новой таблицы, например, ТОВАРЫ1. Создаваемая при выполнении запроса таблица может быть помещена либо в текущую базу данных, либо в другую базу данных. Установите переключатель в текущей базе данных и нажмите ОК. 6. Обратите внимание на то, как изменился значок создаваемого запроса. Выполните запрос. 7. В окне базы данных на панели Объекты выберите Таблицы и убедитесь в появлении новой таблицы ТОВАРЫ1. Если вы измените таблицу ТОВАРЫ, то запустив запрос Таблица ТОВАРЫ на создание таблицы, получите последнюю копию таблицы ТОВАРЫ (при этом нужно будет задать новое имя вновь создаваемой таблице, например, ТОВАРЫ2 и т.д.). 8. Создайте и сохраните запрос на создание таблицы ФОТОАППАРАТЫ, отображающей данные о ценах на цифровые фотоаппараты, их марке, а также о названиях фирм, их поставляющих. 9. Используйте для создания запроса Мастер запросов. Для этого: a. В окне базы данных выполните двойной щелчок на кнопке Создание запроса с помощью мастера. b. Запустится Мастер запросов. На первом шаге (рис. 27) в списке Таблицы и запросы выберите таблицу ТОВАРЫ, а затем из доступных полей выберите с помощью кнопки следующие поля: Название, Марка, Цена. При этом очередное выбранное поле появляется справа (Выбранные поля:). c. Аналогичным образом выберите таблицу ПОСТАВЩИКИ, а из этой таблицы выберите поле Название фирмы. Перейдите к следующему шагу, нажав кнопку Далее>. d. На втором шаге мастера выберите вариант отчета – подробный и перейдите к следующему шагу. e. На третьем шаге мастера укажите имя создаваемого запроса – Фотоаппараты и нажмите кнопку Готово. Рис. 27. Первый шаг работы мастера запросов. 10. Откройте созданный запрос в режиме Конструктора. Для поля Название в строке Условие отбора введите название товара – Цифровой фотоаппарат. Закройте запрос с сохранением внесенных изменений. 11. Проверьте работу запроса, запустив его. 12. Преобразуйте созданный запрос на выборку в запрос на создание таблицы ФОТОАППАРАТЫ, запустите его и убедитесь в появлении соответствующей таблицы. Для этого выполните действия, аналогичные пунктам 4 – 7. 13. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запрос на обновление
Запрос на обновление используется для обновления данных в полях базовых таблиц. Чтобы создать запрос на обновление, необходимо сначала
создать запрос на выборку, который затем преобразуется в окне конструктора запросов в
запрос на обновление с помощью команды
Запрос ► Обновление. После выполнения этой команды в бланке запроса появляется строка
Обновление. После запуска запроса открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления. Если необходимо просмотреть содержимое только обновленных полей, то после выполнения запроса следует переключиться в режим таблицы. Для этого нужно выполнить команду Вид ►
Режим таблицы. Для просмотра старого содержимого обновляемых полей в режим таблицы необходимо переключиться до выполнения запроса.
Пример создания запроса на обновление
приведен ниже. Упражнение 10. Создание запроса на обновление записей в таблице
1. В базе данных Цифровая техника создайте запрос на обновление данных в таблице ТОВАРЫ1. Требуется создать такой запрос, при выполнении которого автоматически будут обновляться данные о цене всех товаров с учетом сезонных скидок в 5%. 2. Для создания запроса используйте таблицу ТОВАРЫ1. 3. В поле 1-го столбца выберите из таблицы ТОВАРЫ1 поле Название; 2-го столбца – Марка; 3-го столбца – Цена. 4. Выполните команду Запрос Обновление. В результате в бланке запроса появится строка Обновление. 5. В строке Обновление в 3-ем столбце (поле Цена) введите выражение =[Цена]*0,95 6. Закройте бланк запроса, присвоив созданному запросу имя Сезонные скидки 5%. 7. Дайте команду на открытие запроса и ответьте Да на предлагаемые вопросы. Не делайте более попыток запустить запрос, так как при каждом запуске запроса цены будут уменьшаться на 10%. 8. Откройте таблицу ТОВАРЫ1. Убедитесь, что цены на товары уменьшились на 5%.. 9. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запрос на добавление записей
С помощью запроса на добавление производится добавление записей из таблицы результата запроса в таблицу базы данных. Поэтому поля добавляемых записей в запросе должны соответствовать полям существующей таблицы БД, в которую будут добавляться записи. В то же время в записи запроса может быть меньше полей, если на оставшиеся поля существующей таблицы БД не наложено требование обязательности их заполнения. Первоначально запрос на добавление создается как запрос на выборку. Затем в окне конструктора запросов он преобразуется в
запрос на добавление с помощью команды
Запрос ► Добавление. При этом открывается диалоговое окно
Добавление.
В этом окне в поле с раскрывающимся списком
имя таблицы нужно выбрать (или ввести) имя таблицы, в которую следует добавить записи.
Если таблица-приемник добавляемых записей находится в текущей базе данных, необходимо отметить переключатель -
в текущей базе данных. Для таблицы, находящейся в другой базе данных, нужно установить переключатель -
в другой базе данных и ввести имя файла соответствующей базы данных.
После преобразования запроса в запрос на добавление в его бланке появляется строка
Добавление.
Для указания в строке
Добавление имен полей таблицы-приемника, в которые будут добавляться значения из соответствующих полей таблицы запроса, необходимо в каждом поле с раскрывающимся списком этой строки открыть список полей и выбрать нужное имя.
Если выбранные поля имеют одни и те же имена в обеих таблицах, то имена в строку
Добавление вносятся автоматически.
Для предварительного просмотра записей, которые предполагается добавить в таблицу, следует нажать кнопку
Вид на панели инструментов. Возврат в режим конструктора запросов производится по этой же кнопке.
Для добавления записей необходимо запустить запрос на добавление. Запуск запроса можно выполнить с помощью кнопки
Запуск на панели инструментов. После этого открывается диалоговое окно с сообщением о числе добавляемых записей и с вопросом о продолжении операции добавления.
Упражнение 11. Создание запроса на добавление записей в таблице
1. В базе данных Цифровая техника создайте запрос на добавление в таблицу ФОТОАППАРАТЫ данных о цифровых видеокамерах. Сначала следует создать запрос на выборку данных о цифровых видеокамерах из таблицы ТОВАРЫ1. Создание запроса выполняется аналогично запросу на обновление (смотри Упражнение 11), но со следующими особенностями: a. В строке Условия отбора в столбце Название введите Цифровая видеокамера. b. Закройте созданный запрос. При закрытии запроса введите его имя – Видеокамеры. c. Откройте запрос и просмотрите результаты его выполнения. Убедитесь, что запрос работает корректно. d. Перейдите в режим Конструктора. Выполните команду Запрос ► Добавление. В открывшемся окне введите имя таблицы ФОТОАППАРАТЫ (или выберите это имя из списка) и нажмите ОК. 2. Находясь в режиме Конструктора выполните запуск запроса с помощью кнопки Запуск на панели инструментов. 3. Ответьте Да на подтверждение выполнения запроса и сохранения таблицы. 4. В окне базы данных переключитесь на отображение таблиц. 5. Откройте таблицу ФОТОАППАРАТЫ и убедитесь в том, что в этой таблице теперь присутствуют записи о цифровых видеокамерах. 6. Используя команду Правка ► Переименовать, измените имя таблицы ФОТОАППАРАТЫ на ВИДЕОТОВАРЫ. 7. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Запрос на удаление записей
Запрос на удаление позволяет удалить записи из одной таблицы или нескольких взаимосвязанных таблиц, для которых установлен флажок
каскадное удаление связанных записей. В запросе указываются таблицы, из которых должны удаляться записи, и задаются условия отбора удаляемых записей.
Первоначально запрос на удаление создается как запрос на выборку. Затем в окне конструктора запросов он преобразуется в
запрос на удаление с помощью команды
Запрос ► Удаление. После преобразования запроса в запрос на удаление в его бланке появляется строка
Удаление.
Затем формируется бланк запроса. Для задания таблицы, записи которой требуется удалить, нужно переместить с помощью мыши символ звездочки (*) из списка полей соответствующей таблицы в бланк запроса. В строке
Удаление в этом поле появится значение
Из. Для задания условия отбора удаляемых записей необходимо переместить с
помощью мыши в бланк запроса те поля, для которых задаются условия отбора. В строке Удаление в полях с этими именами появляется значение Условие. Строку Условие отбора для этих полей следует заполнить необходимыми условиями. Для удаления записей нужно запустить запрос нажатием кнопки Запуск на панели инструментов. Следует иметь в виду, что удаленные записи нельзя восстановить. Поэтому перед удалением целесообразно выполнить предварительный просмотр удаляемых записей. Для этого следует нажать кнопку
Вид на панели инструментов. Возврат в режим конструктора запросов производится по этой же кнопке.
Упражнение 12. Создание запроса на удаление записей в таблице
1. В базе данных Цифровая техника создайте запрос на удаление записей о самом дорогом цифровом фотоаппарате из таблицы ВИДЕОТОВАРЫ. Предварительно определите, запишите или запомните данные о самом дорогом цифровом фотоаппарате. 2. Создание запроса выполняется аналогично запросу на обновление (смотри Упражнение 11), но со следующими особенностями: a. Запрос создайте на основе таблицы ВИДЕОТОВАРЫ, используя все поля данной таблицы. b. В строке Условия отбора в столбце Название введите Цифровой фотоаппарат, а в столбце Цена введите >25000 (или другое число, меньшее хотя бы на 1 (единицу) цены самого дорогого цифрового фотоаппарата). c. Сохраните запрос под именем Дорогой фотоаппарат, а затем проверьте корректность его работы. 3. Откройте этот запрос в режиме Конструктора и преобразуйте его в запрос на удаление, выполнив команду Запрос ► Удаление. 4. Перейдите в режим Таблица и обратите внимание на изменение внешнего вида значка данного запроса. 5. Запустите запрос и ответьте Да на подтверждение выполнения запроса и удаления данных из таблицы. 6. Откройте таблицу ВИДЕОТОВАРЫ и убедитесь в том, что запись о цифровом фотоаппарате, цена которого больше 25000, удалена из этой таблицы. 7. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Перекрестный запрос
Access поддерживает особый тип итогового запроса, называемый перекрестным запросом. При выполнении перекрестного запроса формируется таблица, в которой левый столбец образует заголовки строк из значений одного поля, верхняя строка образует заголовки столбцов из значений другого поля, а на пересечении строк и столбцов размещаются итоговые значения, вычисленные по значениям третьего поля. Для получения итоговых значений записи группируются по полям, используемым в качестве заголовков строк и столбцов, а для значений третьего поля в полученных группах записей применяется одна из выбранных статистических функций. Можно предусмотреть выполнение статистической функции и получение общего итогового значения для каждой строки в целом. Упражнение 13. Создание перекрестного запроса
1. В базе данных
Цифровая техника создайте перекрестный запрос, отображающий минимальные цены на все товары от разных поставщиков, с указанием названий товаров в заголовках строк и указанием названий фирм поставщиков в заголовках столбцов. Создание запроса выполняется аналогично запросу на выборку, но со следующими особенностями:
a. запрос составляется на базе двух таблиц - ТОВАРЫ и ПОСТАВЩИКИ.
b. Открыв бланк запроса, выполните команду
Запрос ►
Перекрестный. В результате в бланке запроса появится еще 2 строки
Групповые операции и
Перекрестная таблица (рис. 28).
c. В строке
Поле в 1-ом столбце выберите из таблицы ТОВАРЫ поле
Название; во 2-ом столбце выберите из таблицы ПОСТАВЩИКИ поле
Название фирмы,
в 3-ем столбце выберите поле
Цена.
d. Щелкните мышью в 1-ом столбце строки
Перекрестная таблица и выберите из списка
Заголовки строк; во 2-ом столбце этой же строки выберите
Заголовки столбцов; в 3 –ем столбце –
Значение.
Рис. 28. Окно перекрестного запроса в режиме конструктора. e. В строке Групповые операции выберите для первого столбца «Группировка»; для второго столбца «Группировка»; для третьего столбца - Min.
f. Сохраните запрос под именем
Перекрестный.
2. Запустите запрос и проанализируйте результаты его выполнения.
3. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Работа с формами
Access предоставляет широкие возможности по конструированию графического диалогового интерфейса пользователя для обеспечения удобства работы с базой данных. Основой такого интерфейса являются формы. Формы позволяют пользователям вводить данные во взаимосвязанные таблицы базы без непосредственного доступа к самим таблицам. Кроме того, формы позволяют выполнять просмотр данных и их изменение. Форма представляет собой некий электронный бланк, в котором имеются поля для ввода данных. Формы можно строить как на основе таблиц, так и на основе запросов. Различают простые формы и сложные формы. Простой называется форма, которая основывается только на одном объекте (таблице или запросе). Сложной называется форма, которая основывается на полях нескольких связанных таблиц. Такая форма представляет собой композицию из нескольких форм. Формы могут быть выведены на экран в трех видах: в режиме конструктора, в режиме формы и в режиме таблицы. Для перехода из одного режима в другой используются команды меню Вид или кнопка Вид панели инструментов. В Access формы можно создавать тремя способами: q полностью в автоматическом режиме (автоформы); q с помощью мастера (средство автоматизации); q в режиме конструктора форм. Наибольшие возможности по созданию форм предоставляет режим конструктора. В то же время создание формы в этом режиме является наиболее сложным и трудоемким. Поэтому предпочтительнее создавать основу формы с помощью автоматических средств: автоформ или мастера форм с последующей доработкой полученной формы в режиме конструктора. Автоформы
Автоформы являются частными случаями мастера форм, т.е. они автоматически создают заданные виды форм практически без участия пользователя. С помощью автоформы можно создать только простую форму. Существует три вида автоформ: в столбец, ленточные и табличные (рис. 29). Рис. 29. Диалоговое окно, позволяющее выбрать вид автоформы. Рис. 30. Форма в один столбец Автоформа в столбец (рис. 30) отображает все поля одной записи — она удобна для ввода и редактирования данных. В нижней части формы расположена Панель кнопок перехода (такая же, как в таблице). Ее элементами управления удобно пользоваться при перемещении по записям. Ленточная автоформа (рис. 31) отображает одновременно группу записей — ее удобно использовать для оформления вывода данных. Рис. 31. Ленточная форма. Табличная автоформа по внешнему виду ничем не отличается от таблицы, на которой она основана. Поля можно упорядочить как угодно. Access дает возможность использовать большинство стандартных элементов управления Windows, которые создают привычный интерфейс при вводе данных. Линии, рамки, цвета и даже специальные эффекты (например, тени) позволяют создать удобные формы с привлекательным внешним видом. Ленточная форма и табличная форма похожи друг на друга, но в табличной форме ограничены возможности редактирования. В ленточной форме доступны все виды инструментов и способы оформления фона и ячеек с данными. Для создания автоформы в окне База данных следует выбрать объект Формы на панели Объекты и воспользоваться командной кнопкой Создать. В открывшемся диалоговом окне Новая форма выбирать тип автоформы и таблицу (или запрос), на которой она основывается. После щелчка на кнопке ОК автоформа формируется автоматически и немедленно готова к работе, то есть к вводу или отображению данных. Упражнение 14. Создание автоформ. Работа с формами
1. В базе данных Цифровая техника создайте форму в один столбец на основе таблицы ТОВАРЫ, используя инструмент Автоформы. Для этого: a. Выделите таблицу ТОВАРЫ, раскройте список кнопки Новый объект и выберите вариант Автоформа. b. Access автоматически создаст форму в один столбец. При этом форма будет открыта на первой записи. c. Закройте форму и сохраните ее под именем ТОВАРЫ. d. В окне База данных на панели Объекты нажмите кнопку Формы и убедитесь в появлении значка созданной формы. 2. Откройте полученную форму и выполните просмотр всех записей, имеющихся в таблице ТОВАРЫ. Для этого используйте кнопку перемещения по записям на Панели кнопок перехода. 3. Не закрывая созданной формы, откройте таблицу ТОВАРЫ. Разместите на экране окно таблицы ТОВАРЫ и окно формы ТОВАРЫ как показано на рис. 32. Убедитесь в соответствии записей в таблице записям, просматриваемым с помощью формы. Не закрывая таблицы ТОВАРЫ, переключитесь на форму ТОВАРЫ. Рис. 32. Таблица ТОВАРЫ и форма ТОВАРЫ. 4. Используя форму, создайте новую запись в таблице ТОВАРЫ. Для этого щелкните на кнопке Новая запись . После этого все поля формы будут пустыми. a. Введите в поля формы данные новой записи. Если в том или ином поле формы присутствует значок списка, раскройте его и новые значения данных выбирайте только из списка. b. Данные для новой записи: Код поставщика – 102, Название – Цифровая видеокамера, Марка – Canon, Модель – MV-350, Цена – 16800. c. Для завершения ввода текущей записи выполните щелчок на кнопке Новая запись . 5. Обратите внимание на последнюю запись в таблице ТОВАРЫ (при необходимости переключитесь в окно таблицы ТОВАРЫ). Последняя запись, введенная с помощью формы, в данном случае не отображается в таблице ТОВАРЫ. В таблице базы данных отображаются только те данные, которые были в таблице на момент ее открытия. Если после открытия таблицы, в нее были внесены новые данные (или изменены ранее веденные данные), то изменения в самой таблице происходят сразу, а отображение данных на экране не изменяется. Для того, чтобы увидеть изменения, произошедшие в таблице, нужно закрыть ее, а затем снова открыть. 6. Закройте таблицу ТОВАРЫ, а затем снова откройте ее и убедитесь в том, что новая запись, которую вы внесли через форму, отображается в таблице. 7. Сравните, каким способом удобнее создавать новые записи, путем непосредственного ввода в таблицу или с помощью формы. 8. Используя инструмент Автоформы создайте ленточную форму на основе таблицы ПОСТАВЩИКИ. Для этого: a. В окне База данных на панели Объекты нажмите кнопку Формы. b. Нажмите кнопку Создать. Откроется диалоговое окно Новая форма. c. Выберите вариант Автоформа: ленточная, а в качестве источника данных выберите таблицу ПОСТАВЩИКИ. Нажмите кнопку ОК. d. Access автоматически создаст ленточную форму. Сохраните ее под именем ПОСТАВЩИКИ. 9. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Создание форм с помощью мастера
Автоматизированные средства предоставляет Мастер форм — специальное программное средство, создающее структуру форм в режиме диалога с разработчиком. Результатом диалога пользователя и Мастера форм является «готовая к работе» форма. Мастер форм можно запустить из окна Базы данных щелчком на значке Создание формы с помощью мастера на панели Формы. 1. На первом этапе работы Мастера форм выбирают таблицы и поля, которые войдут; в будущую форму. 2. На втором этапе выбирается внешний вид формы. 3. На третьем этапе выбирается стиль оформления формы. 4. На последнем этапе выполняется сохранение формы под заданным именем. Здесь же можно включить переключатель Изменить макет формы, который открывает только что созданную форму в режиме Конструктора. Если форма создается на основе одной таблицы или одного запроса, то Мастер форм позволяет создать четыре виды форм: в один столбец, ленточные, табличные, выровненные. Первые три вида форм рассмотрены выше (смотри автоформы). Выровненный вид формы похож на ленточную форму, но отличается тем, что на экран выводятся все поля с одной записью, и если полей много, то они располагаются рядами - один под другим. Если форма создается на основе нескольких таблиц или запросов, то Access предложит вам создать либо подчиненные, либо связанные формы в ленточном или в табличном виде. Многотабличные формы
Составная многотабличная форма создается одновременной для работы с несколькими взаимосвязанными таблицами. Такая форма состоит из основной части и одной или нескольких подчиненных включаемых форм. В составных многотабличных формах можно одновременно отобразить информацию из двух (или более) связанных таблиц. Кроме того, такая форма позволяет выполнить редактирование данных, содержащихся в обеих таблицах. При использовании мастера форм подчиненная форма строится только для таблицы, которая является подчиненной по отношению к таблице-источнику основной части. Подчиненная форма отображает данные из всех записей подчиненной таблицы, которые связаны с записью главной таблицы, отображаемой в основной части формы. Мастер форм позволяет создать связанные формы. Связанные формы не включаются непосредственно в форму. При этом вместо подчиненной формы в основную форму включается лишь кнопка, представляющая связанную форму. Если в ходе работы необходимо просмотреть подчиненные записи, подчиненную форму можно вызвать на экран нажатием этой кнопки. Этот способ построения многотабличной формы удобно использовать, когда пользователю нет необходимости постоянно видеть связанные данные. Порядок создания многотабличной формы поясняется ниже. Упражнение 15. Создание многотабличной формы с помощью мастера
В базе данных Цифровая техника требуется поочередно создать две формы. При этом каждая из них должна быть создана на основе двух таблиц: ПОСТАВЩИКИ и ТОВАРЫ. Первая многотабличная форма должна состоять из основной части и подчиненной формы. При этом основная часть должна отображать сведения о поставщиках, а подчиненная форма – сведения о товарах. Вторая многотабличная форма должна представлять собой основную часть, а вместо подчиненной формы должна содержать только кнопку, с помощью которой может быть вызвана связанная форма. 1. Откройте файл базы данных Цифровая техника ина панели Объекты нажмите кнопку Формы. 2. Запустите Мастер форм для чего нажмите кнопку Создание формы с помощью мастера. 3. На первом шаге работы Мастера форм в качестве источника данных сначала выберите таблицу ПОСТАВЩИКИ и укажите, что все поля данной таблицы будут включены в создаваемую форму. Затем аналогичным образом выберите таблицу ТОВАРЫ и укажите, что в создаваемую форму будут включены все поля данной таблицы, кроме полей Код поставщика и Техн характ. Нажмите кнопку Далее>. 4. На втором шаге работы Мастера форм выберите вариант Подчиненные формы, включив соответствующий переключатель. Нажмите кнопку Далее>. 5. На третьем шаге выберите вариант внешнего вида подчиненной формы - Табличный. 6. На четвертом шаге выберите стиль оформления формы по своему усмотрению. 7. На пятом шаге укажите имя формы – Многотабличная ПОСТАВЩИКИ. Имя подчиненной формы не изменяйте (согласитесь с предложенным вариантом). Нажмите кнопку Готово. 8. На экране появится многотабличная форма (рис. 33). 9. Обратите внимание на внешний вид формы. Внутри основной части, содержащей данные о поставщиках, имеется подчиненная форма ТОВАРЫ, содержащая данные о товарах, которые поставляет поставщик, запись о котором отображается в основной части. Рис. 33. Многотабличная форма ПОСТАВЩИКИ. 10. Используя кнопку перемещения по записям основной части (нижняя Панель кнопок перехода), последовательно просмотрите данные о товарах, поставляемых каждым из поставщиков. 11. Закройте форму. Обратите внимание, что в окне базы данных появилось два новых значка: Многотабличная ПОСТАВЩИКИ и ТОВАРЫ подчиненная форма. Убедитесь, что каждую из этих форм можно открывать и работать с ней. 12. Создайте многотабличную форму с одной связанной формой. Для этого выполните действия, указанные в пунктах 2 – 7 со следующими отличиями: a. На втором шаге работы Мастера форм выберите вариант Связанные формы, включив соответствующий переключатель. b. На пятом шаге укажите имя Формы1 – Основная ПОСТАВЩИКИ, Формы2 – Связанная ТОВАРЫ. c. Изучите появившуюся в результате работы мастера форму (рис. 34). 13. В полученной форме нажмите кнопку Связанная ТОВАРЫ. Рис. 34. Многотабличная форма. Отображена основная форма – ПОСТАВЩИКИ. Связанная форма ТОВАРЫ представлена соответствующей кнопкой. 14. Рассмотрите список товаров. Обратите внимание, что в списке присутствуют только товары, поставляемые фирмой, которая отображается в окне формы. Для удобства работы разместите окна основной и связанной форм таким образом, чтобы они не перекрывали друг друга. 15. Используя кнопку перемещения по записям на панели кнопок перехода основной части, последовательно просмотрите данные о товарах, поставляемых каждым из поставщиков. 16. Уберите с экрана связанную форму, закрыв ее стандартным способом. 17. Закройте основную форму. Обратите внимание, что в окне базы данных появилось два новых значка: Основная ПОСТАВЩИКИ и Связанная ТОВАРЫ. Убедитесь, что каждую из этих форм можно открывать и работать с ней. 18. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Конструирование формы
Конструирование формы выполняется в режиме конструктора форм. При этом выполнение всех операций по конструированию формы полностью возлагается на пользователя (в отличие от создания формы с помощью мастера форм). Как было отмечено выше, процесс конструирования формы «с нуля» является сложным и трудоемким. Поэтому в дальнейшем будем рассматривать режим конструктора форм с точки зрения доработки форм, созданных с помощью мастера или автоформы. Для отображения ранее созданной формы в режиме конструктора нужно в окне Базы данных выделить значок соответствующей формы и нажать кнопку Конструктор. Если форма открыта в Режиме формы или в Режиме таблицы, то нужно выполнить команду Вид ► Конструктор. После перехода в режим конструктора созданная форма будет отображена в окне конструктора форм. При этом автоматически появляется панель инструментов Конструктор форм и Панель элементов, которые используются при конструировании (доработке) формы Следует обратить внимание, что в режиме конструктора отображается структура формы. Структура формы
Форма имеет три основных раздела: область заголовка, область данных и область примечания. Линии, разделяющие разделы, перетаскиваются по вертикали с помощью мыши — это позволяет изменять размеры разделов так, как требуется. В процессе конструирования разделы формы наполняются различными графическими объектами и элементами управления. Разделы заголовка и примечания имеют чисто оформительское назначение — их содержимое напрямую не связано с таблицей или запросом, на котором основана форма. Раздел данных имеет содержательное значение — в нем представлены элементы управления, с помощью которых выполняется отображение данных или их ввод. Кроме того, здесь могут размещаться дополнительные элементы управления (переключатели, флажки, списки и другие, типичные для приложений Windows элементы). Форма получает данные из базового источника записей (таблицы или запроса). Другие отображаемые в форме сведения, такие как заголовок, дата, номера страниц, сохраняются в ее макете. Объекты и элементы форм
Элементы управления, которыми можно пользоваться при конструировании формы, представлены на Панели элементов (рис. 35). Ее открывают щелчком на соответствующей кнопке панели инструментов или командой Вид ► Панель элементов Существует три основных типа элементов управления: присоединенные, свободные, вычисляемые. Присоединенные элементы управления — элементы, связанные с полем таблицы. При вводе значения в присоединенный элемент управления поле таблицы в текущей записи автоматически обновляется. Основными типами присоединенных элементов управления являются: Поле, Поле со списком, Список. Тип элемента управления, выбираемый для поля по умолчанию, определен в свойствах таблицы базы данных, с которым связано поле формы. Задается это свойство при определении типа данных поля в режиме конструктора таблиц на вкладке Подстановка. Большинство элементов управления, в том числе объекты OLE, можно присоединить к полю. Рис. 35 . Панель элементов Свободные элементы управления. Этографические элементы, несвязанные с полями таблиц или запросов и предназначены, прежде всего, для формирования макета формы. К таким элементам относится, например, Надпись, предназначенная для отображения описательного текста, заголовков формы, кратких инструкций. Свободные элементы управления сохраняют введенную величину, не обновляя при этом поля таблицы. Их можно использовать для отображения: текста; линий и прямоугольников. Кроме того, их можно использовать для хранения объектов OLE (например, рисунков), которые расположены не в таблице, а в самой форме. Вычисляемые элементы управления создают на основе выражений, например, функций или формул. Поскольку они не присоединены к полям таблицы, они не обновляют содержание полей таблицы. Эти элементы управления позволяют производить необходимые вычисления, используя данные полей таблицы, с последующим отображением в форме. Выбор объектов позволяет изменить указатель курсора на инструмент выбора объекта. Мастер элементов позволяет включать и отключать мастера по созданию элементов управления. Надпись предназначена для вывода на экран не изменяющегося текста, например, заголовков, подписей или пояснений. Надпись относится к свободным элементам управления, в которые нельзя вводить данные. Поле позволяет создать область для отображения, ввода или изменения данных. В поле можно использовать данные любого типа: текст, числа, дата/время, логические величины и MEMO. Поля могут быть как присоединенными, так и свободными. В них можно использовать поля из таблиц или запросов, а также вычисляемые выражения, поэтому такие элементы управления называют связанными полями. При создании связанного поля вместе с ним одновременно образуется еще один элемент управления — присоединенная надпись. Группа переключателей позволяет создать область настраиваемого размера для размещения набора флажков, переключателей или выключателей, представляющих набор альтернативных значений. Выключатель позволяет создать кнопку, связанную с логическим полем. Элемент может находиться в двух состояниях: ИСТИНА — кнопка нажата, ЛОЖЬ — кнопка отжата. Переключатель предназначен для создания кнопки (называемой радиокнопкой). Ее функции аналогичны функциям выключателя. Элемент находится в двух состояниях: ИСТИНА — кружок с точкой, ЛОЖЬ — пустой кружок. С кнопкой можно связать команды, например, выполняющие фильтрацию. Флажок предназначен для создания флажка, связанного с логическим полем. Действует аналогично переключателям, но в отличие от них, допускает множественный выбор. Элемент может находится в двух состояниях: ИСТИНА — квадрат с галочкой, ЛОЖЬ — пустой квадрат. Поле со списком позволяет создать составной элемент управления, объединяющий поле и раскрывающийся список значений. Для ввода значения, можно ввести значение в поле или выбрать значение в списке. Список позволяет создать список, допускающий прокрутку и предназначенный для выбора значения. Позволяет отображать список значений в форме или отчете. В списках можно также отображать заголовки столбцов. Кнопка позволяет создать кнопку, используемую для выполнения набора макрокоманд Access или процедур VBA. Кнопки являются элементами управления, используемыми для выполнения различных действий в форме: для перехода к другим записям, для работы с записями (добавить, удалить), для работы с формой в целом (открыть, закрыть, обновить). Рисунок позволяет создать рамку, в которой в форме или отчете выводится неизменяемый рисунок. Поскольку рисунок не является объектом OLE, то после помещения рисунка в форму или отчет не допускается его изменение из Access. Свободная рамка объекта позволяет создать рамку для отображения в форме или отчете объектов OLE, как правило, набор иллюстраций. Рамка не связана ни с одним полем таблиц базы данных. Присоединенная рамка объекта для отображения в форме или отчете объектов OLE, таких как набор иллюстраций. С присоединенной рамкой связано одно из полей таблиц. При переходе от записи к записи в форме или отчете выводятся разные объекты. Разрыв (конец) страницы позволяет создать элемент управления, указывающий принтеру начало новой страницы в печатной форме или новой страницы в отчете. Этот элемент управления не появляется в форме или запросе в режиме формы. Вкладка позволяет вставить элемент управления Вкладка для создания вложенных форм. Страницы элемента управления Вкладка могут содержать другие элементы управления. Подчиненная форма/отчет предназначена для добавления в основную форму или основной отчет подчиненной формы или подчиненного отчета соответственно. Добавляемые подчиненная форма или подчиненный отчет должны быть созданы заранее. Линия позволяет создать прямую линию, которую можно перемещать и размеры которой можно изменять. Цвет и толщину линии можно изменить с помощью кнопок панели инструментов Панель форматирования или окна свойств. Используется для разделения элементов формы или отчета. Прямоугольник позволяет создать прямоугольник, который можно перемещать и размеры которого можно изменять. Используется для выделения элементов формы. Дополнительные элементы. Выбор этой кнопки открывает список дополнительных элементов управления ActiveX, которые можно использовать в формах и отчетах. Выбор элемента управления выполняется одним щелчком на его значке в Панели элементов, после чего следующим щелчком в поле формы отмечается место, куда он должен быть поставлен. Вместе с элементом в поле формы вставляется его присоединенная надпись. По умолчанию эта надпись стандартная, например, для переключателей это Переключатель1, Переключатель2 и т. д. После того, как будет отпущена кнопка мыши при создании некоторых элементов (например, поля со списком или кнопки) Access выводит на экран Мастер создания соответствующего элемента управления. Так, после создания кнопки появляется мастер, предлагающий выбрать тип действий, которое будет выполняться по этой кнопке. Внешний вид, структура и режим работы элементов управления определяются значениями характеристик этих объектов. Значения характеристик объектов называются свойствами объектов. Свойства объектов и элементов. Как форма в целом, так и каждый из ее объектов и элементов обладает свойствами, которые можно просматривать и изменять с помощью команды Вид ► Свойства или команды Свойства в контекстно-зависимом меню, вызываемом щелчком правой кнопки мыши на требуемом элементе. Каждый тип элементов управления формы имеет свой набор свойств. Дизайн формы
К формам предъявляются повышенные требования по дизайну, так как именно с формами работают операторы при вводе данных и при поиске нужной информации в БД. Поэтому все элементы управления форм должны быть аккуратно выровнены. Это обеспечивается командой Формат ► Выровнять. Если нужно равномерно распределить элементы управления по полю формы, используют средства меню Формат ► Интервал по горизонтали или Формат ► Интервал по вертикали. Ручное изменение размеров и положения элементов управления тоже возможно, но редко приводит к качественным результатам. При работе вручную используют перетаскивание маркеров, которые появляются вокруг элемента управления при его выделении. Особый статус имеет маркер левого верхнего угла. Обычно элементы управления перетаскиваются вместе с присоединенными к ним надписями. Перетаскивание с помощью этого маркера позволяет оторвать присоединенную надпись от элемента.
При разработке дизайна формы удобно использовать вспомогательную сетку. Ее отображение включают командой Вид ► Сетка. Автоматическую привязку элементов к узлам сетки включают командой Формат ► Привязать к сетке. Управление последовательностью перехода. Пользователь, для которого, собственно, и разрабатывается форма, ожидает, что ввод данных в нее должен происходить по элементам управления слева направо и сверху вниз. Однако при проектировании сложных форм, когда в процессе дизайна элементы управления многократно перемещаются с места на место, очень легко перепутать их последовательность и создать неудобный порядок ввода данных. Физически последовательность перехода — это порядок перехода к следующему полю по окончании работы с предыдущим. Она легко проверяется с помощью клавиши <Та
b>. Если при последовательных нажатиях этой клавиши фокус ввода «мечется» по всей форме, значит, последовательность перехода нерациональна и ее надо править. Для управления последовательностью перехода служит диалоговое окно Последовательность перехода (рис. 36). В нем представлен список элементов управления формы. Порядок элементов в списке соответствует текущему порядку перехода. Изменение порядка перехода выполняется перетаскиванием в два приема: • щелчком на кнопке маркера слева от названия выделяется элемент управления (кнопка мыши отпускается); • после повторного щелчка с перетаскиванием элемент перемещается на новое Закончив разработку макета формы, ее следует закрыть и сохранить под заданным именем. После открытия формы в окне База данных с ней можно работать: просматривать или редактировать данные из базовой таблицы. Рис. 36. Диалоговое окно Последовательность перехода для формы, представленной на рисунке 30. Для манипулирования записями (операции поиска, замены, сортировки и фильтрации данных) в режиме формы используются те же способы, что и в режиме таблицы. Просмотр и печать форм также производятся аналогично тому, как это производится с таблицами. Упражнение 16. Доработка формы в режиме Конструктора
Требуется доработать созданную в предыдущем упражнениисоставную форму Многотабличная ПОСТАВЩИКИ таким образом, чтобы обеспечить максимальное удобство при работе с ней. Доработку формы выполните в режиме Конструктора. 1. Откройте файл базы данных Цифровая техника. 2. Откройте форму Многотабличная ПОСТАВЩИКИ в режиме Конструктора. При этом автоматически появляется панель инструментов Конструктор форм и Панель элементов (рис. 37). 3. Увеличьте область заголовка формы. Для этого с помощью мыши переместите вниз на две клеточки границу, отделяющую Заголовок формы от Области данных. Рис. 37. Форма Многотабличная ПОСТАВЩИКИ в режиме Конструктора. 4. Переместите с помощью мыши поле Название фирмы и связанную с ним надпись из области данных в область заголовка. Для этого щелчком мыши выделите поле Название фирмы (выделенное поле будет охвачено черными маркерами). Наведите на выделенное поле указатель мыши так, чтобы он приобрел вид ладони. При нажатой левой кнопке мыши переместите поле Название фирмы и связанную с ним надпись в область заголовка. 5. Переместите поле Название фирмы в правую часть области заголовка. Для этого выделите поле и наведите указатель мыши на маркер перемещения поля (большой черный квадрат, находящийся в левом вернем углу выделенного поля). Указатель мыши примет вид ладони с вытянутым указательным пальцем. Нажав и удерживая левую кнопку мыши, переместите поле в нужное место. 6. С помощью маркеров выделения увеличьте размеры окна, занимаемого полем. 7. Измените параметры поля Название фирмы. Для этого выделите поле и щелкните на нем правой кнопкой мыши. В открывшемся контекстном меню выберите пункт Свойства. Откроется диалоговое окно Поле: Название фирмы (рис. 38). Выберите в нем вкладку Макет (или вкладку Все). Рис. 38. Диалоговое окно для задания свойств поля Название фирмы. 8. Установите следующие параметры поля Название фирмы: шрифт – Arial, размер шрифта – 14, цвет текста выберите с помощью построителя выражений (кнопка ,
которая появляется справа при установке курсора в строку Цвет текста см. рис. 38). Закройте диалоговое окно Поле: Название фирмы. 9. Аналогичным образом измените размеры и параметры связанной с полем надписи - Название фирмы. 10. Переключитесь в режим формы, выполнив команду Вид ► Режим формы. Обратите внимание на изменения во внешнем виде формы. Снова вернитесь в режим Конструктора. 11. Создайте кнопку закрытия формы. Для этого: a. На Панели элементов включите Мастера с помощью кнопки , а затем щелкните мышью на значке Кнопка на Панели элементов. Указатель мыши изменит вид. Это значит, что можно с помощью мыши создать соответствующий элемент управления. b. В левой части заголовка формы создайте элемент управления – Кнопка, протягивая указатель мыши. c. При этом автоматически запустится мастер создания кнопок (рис. 39). В первом окне Создание кнопок необходимо выбрать действие, которое будет выполняться при нажатии кнопки. Сначала выберите категорию действий - Работа с формой. После чего в окне со списком Действия выберите вариант Закрыть форму. Затем нажмите кнопку Далее>. Рис. 39. Первый шаг работы Мастера кнопок. d. В следующем окне мастера создания кнопоквыберите, что будет размещено на кнопке (текст или рисунок). Установите переключатель в положение Рисунок, а затем выберите вариант – Стоп. В левой части окна Создание кнопок образец покажет, как будет выглядеть создаваемая кнопка (рис. 40). Нажмите кнопку Далее>. e. В последующем окне сразу нажмите кнопку Готово, не меняя предложенный вариант номера кнопки. f. В форме появится кнопка закрытия формы, которую при необходимости можно перемещать, изменять ее размеры и другие свойства. Рис. 40. Второй шаг работы Мастера кнопок. 12. Создайте две кнопки перемещения по записям основной формы. Для этого: a. аналогичным образом создайте элемент управления – Кнопка в правой верхней части заголовка формы. b. На первом шаге мастера создания кнопок выберите категорию действий – Переходы по записям. В окне со списком Действия выберите вариант Предыдущая запись (рис. 41). c. На втором шаге мастера создания кнопок включите переключатель Рисунок, а также установите флажок Показать все рисунки. Затем выберите один их вариантов Стрелка вверх. Обратите внимание на образец (рис. 42). Нажмите кнопку Далее>. В следующем окне номер кнопки не меняйте и нажмите Готово. Рис. 41. Создание кнопки перехода по записям. Рис. 42. Выбор рисунка, помещаемого на кнопке перехода к предыдущей записи. d. аналогичным образом создайте кнопку перехода к следующей записи, поместив ее под кнопкой перехода к предыдущей записи. 13. Переключитесь в режим формы и попробуйте выполнять переходы между записями основной формы с помощью созданных кнопок. 14. Закройте форму с помощью кнопки STOP. 15. Снова откройте форму в режиме конструктора. Объедините прямоугольником данные о фирме поставщике как показано на рис. 43, используя элемент управления Прямоугольник. 16. Переключитесь в режим формы. Обратите внимание на внешний вид формы. Закройте форму. 17. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Рис. 43. Группировка данных о поставщике с помощью элемента управления Прямоугольник Вычисления в форме
Чтобы произвести вычисления на основе данных, в форме необходимо создать вычисляемый элемент управления, в который записывается соответствующее выражение. Для создания вычисляемого элемента управления форму необходимо открыть в режиме конструктора и поместить новое поле в нужном месте этой формы (рис. 44). После чего в элемент управления Свободный нужно ввести выражение, которое будет в дальнейшем обеспечивать необходимые вычисления. Рис. 44. Элемент управления Свободный (новое поле в форме). Для ввода выражения нужно вызвать окно свойств созданного элемента управления (рис. 45) щелчком правой кнопки мыши. На вкладке Данные следует установить курсор в поле Данные. Нужное выражение можно ввести с клавиатуры или воспользоваться построителем выражений, используя кнопку Построить, находящуюся справа за полем Данные (рис. 45). Нажатие этой кнопки приводит к открытию окна построителя выражений (рис. 46). Следует заметить, что выражение всегда должно начинаться со знака равно (=). Рис. 45. Окно свойств созданного элемента управления Свободный (Поле 16). Диалоговое
окно построителя выражений состоит из трех разделов. q В верхней части окна построителя расположено поле выражения. q В средней части окна построителя находятся кнопки с часто используемыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию поля выражения. Рис. 46. Диалоговое окно построителя выражений. q В нижней части окна построителя находятся три поля. · В левом поле выводятся папки, содержащие таблицы, запросы, формы, объекты базы данных, встроенные и определенные пользователем функции, константы, операторы и общие выражения. · В среднем поле задаются определенные элементы или типы элементов для папки, заданной в левом поле. Например, если выбрать в левом поле Forms
(Формы), то в среднем поле появится список всех полей выбранной формы. · В правом поле выводится список значений (если они существуют) для элементов, заданных левым и средним полями. Например, если выбрать в левом поле Встроенные функции и тип функции в среднем, то в правом поле будет выведен список всех встроенных функций выбранного типа. Ограничения доступа к данным через форму
В форме можно защитить от изменения данные одного поля, нескольких полей или полей всей формы сразу. Для защиты данных поля от изменения используется свойство Блокировка. Чтобы защитить таким образом поле, нужно открыть форму в режиме конструктора, выделить требуемое поле и с помощью контекстно-зависимого меню вызвать окно его свойств. В окне свойств (рис. 47) на вкладке Данные в раскрывающемся списке Блокировка выбрать значение Да. После установки этого свойства поле доступно только для чтения данных. Рис. 47. Установка блокировки в свойствах поля. Для того, чтобы при работе через форму все записи были доступны только для чтения, следует в свойствах всей формы на вкладке Данные в раскрывающихся списках Разрешить добавление, Разрешить удаление и Разрешить изменение выбрать значение Нет (рис. 48). Указанные свойства могут устанавливаться независимо друг от друга. Например, при запрете на изменение записей могут быть разрешены добавление и удаление записей. Свойство Ввод данных при установленном значении Да определяет режим работы с формой, при котором разрешен только ввод новых записей, а просмотр существующих записей при этом недоступен. При открытии такой формы будет выводиться только пустая запись, которую можно заполнять. Рис. 48. Установка ограничений на корректировку всех записей формы. Упражнение 17. Создание форм с вычисляемым полем
1. В базе данных Цифровая техника дополните таблицу ТОВАРЫ1 полем Количество. Для этого: a. Откройте таблицу ТОВАРЫ1 в режиме конструктора. b. Введите имя нового поля – Количество и установите для него числовой тип данных. Оставьте для этого поля свойства, назначенные по умолчанию, изменив только свойство Число десятичных знаков на 0 т.к. число товаров может быть только целым числом. c. Сохраните произведенные изменения структуры таблицы ТОВАРЫ1. 2. Создайте автоформу в столбец на основе таблицы ТОВАРЫ1 и сохраните ее под именем Товары1. 3. Используя созданную форму Товары1, введите для каждого товара в поле Количество произвольное значение в виде двухзначного числа. 4. Откройте форму Товары1 в режиме конструктора и справа от имеющихся полей создайте новое поле используя кнопку Поле панели элементов. 5. Вызовите с помощью контекстного меню диалоговое окно свойств вновь созданного поля. 6. На вкладке Данные (или на вкладке Все) с помощью построителя выражений в поле Данные сформируйте выражение =[Цена]*[Количество] (рис. 45 и рис. 46). 7. Увеличьте размер надписи вновь созданного поля и введите в нее текст Всего данных товаров на сумму, 8. Используя панель инструментов Формат отформатируйте данные вновь созданного поля и текст связанной с ним записи таким образом, чтобы эти элементы хорошо выделялись на форме. 9. Откройте форму в режиме формы и просмотрите записи. Убедитесь, что данные в вычисляемом поле изменяются надлежащим образом. 10. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Работа с отчетами
Отчеты служат, прежде всего, для вывода данных в виде выходного печатного документа. Хотя данные можно вывести в виде таблицы или формы, ни один из этих объектов не обладает той гибкостью, которая имеется у отчетов. Средства Access позволяют создавать отчет сложной структуры, обеспечивающий вывод взаимосвязанных данных из многих таблиц, их группировку и вычисления данных. В отчете каждая группа данных и итоги по ней могут быть представлены отдельно. Для иерархического представления данных можно задать до 10 уровней группировки. Для каждой из групп можно задать отдельные заголовки и примечания и производить сложные вычисления на только внутри группы или набора строк, но и по нескольким группам одновременно. При создании отчета могут быть выполнены самые высокие требования к его оформлению. Отчет, как и форма, может быть создан одним из трех способов: q полностью в автоматическом режиме (автоотчеты); q с помощью мастера (средство автоматизации); q в режиме конструктора отчетов. Предпочтительно создавать отчет в два этапа. На первом этапе создать отчет с помощью мастера или автоотчета, на втором этапе доработать полученный отчет в режиме конструктора отчетов. Мастер отчетов работает в семь этапов. При его работе выполняется: q выбор базовых таблиц или запросов, на которых базируется отчет; q выбор полей, отображаемых в отчете; q выбор полей группировки; q выбор полей и методов сортировки данных; q выбор формы печатного макета; q выбор стиля оформления; q задание имени отчета. При необходимости вывода в отчете результатов решения определенной задачи, сначала целесообразно создать многотабличный запрос. На этот запрос могут быть возложены наиболее сложные виды выборки и предварительной обработки данных. Затем, на основе полученного запроса, создается требуемый отчет. Разнообразные возможности конструктора отчетов позволяют легко структурировать и оформлять полученные в запросе данные. Проектирование отчета состоит в создании структуры его разделов и в размещении элементов управления внутри этих разделов, а также в задании связей между этими элементами и полями таблиц или запросов базы данных. Структура готового отчета отличается от структуры формы только увеличенным количеством разделов. Кроме разделов заголовка, примечания и данных, отчет может содержать разделы верхнего и нижнего колонтитулов. Если отчет занимает более одной страницы, эти разделы необходимы для печати служебной информации, например номеров страниц. Наличие указанных выше разделов, а также их удаление или включение, определяется командами меню Вид ► Колонтитулы и Вид ► Заголовок/Примечание отчета. Для этих же целей можно использовать соответствующие кнопки панели инструментов конструктора отчетов. При необходимости группировки записей по полю в окно конструктора отчетов могут быть добавлены разделы Заголовок группы и Примечание группы. В заголовке группы, как правило, размещаются поля, по которым производится группировка. В примечании группы могут быть размещены выражения для подведения итогов по группе. Поля с неповторяющимися значениями размещают в Области данных, которой можно придать табличный вид. Поля с повторяющимися значениями, по которым производится группировка, целесообразно размещать в заголовке соответствующей группы. Ниже указано, для каких целей и как используются разделы отчета. Заголовок отчета — печатается только в начале отчета, используется на титульной странице. Верхний колонтитул — печатается вверху каждой страницы. Заголовок группы — печатается перед обработкой первой записи группы. Область данных — печатается каждая запись таблицы или динамического набора данных запроса, Примечание группы — печатается после обработки последней записи группы. Нижний колонтитул — печатается внизу каждой страницы. Примечание отчета — печатается в конце отчета после обработки всех записей. Созданный отчет может быть открыт в следующих режимах: q в режиме конструктора; q в режиме предварительного просмотра. Режимы работы с отчетом
Отчет в режиме конструктора.
Если необходимо внести изменения в структуру отчета, его необходимо открыть в режиме конструктора. Режим конструктора отчетов во многом похож на режим конструктора форм. На рис. 49 представлен отчет, созданный на основе таблицы ТОВАРЫ в режиме конструктора. Рис. 49. Отчет ТОВАРЫ в режиме конструктора. При открытии отчета в режиме конструктора автоматически должна появляться панель элементов. Если этого не произошло, то панель элементов можно вызвать на экран командой Вид ► Панель элементов. Панель элементов, которая активно используется при конструировании отчета, аналогична панели элементов, используемой при разработке форм. Отличие заключается в том, что создаваемые элементы выполняют функции элементов оформления, а не управления как в формах, поскольку печатный отчет не является интерактивным объектом, в отличие от электронных форм. Для каждого элемента, а также раздела и отчета в целом могут быть уточнены их свойства. Технология размещения элементов и определения их свойств аналогична технологии, используемой в конструкторе форм. Свойства элементов отчета мало отличаются от соответствующих свойств элементов формы. Важную роль играют свойства Расширение и Сжатие. Если для поля задать свойство Расширение, то будет гарантировано, что все данные этого поля будут отображены в отчете целиком, хотя бы и в несколько строк. Установленное свойство Сжатие ограничит выводимую часть значения поля до ранее установленных размеров элемента управления Поле. Отчет в режиме предварительного просмотра.
Для того чтобы получить представление о том, как отчет будет выглядеть в «бумажном варианте», нужно открыть отчет в режиме предварительного просмотра. Если отчет открыт в режиме конструктора, то для перехода в режим предварительного просмотра достаточно щелкнуть на кнопке Предварительный просмотр панели инструментов. Если отчет не открыт, то его нужно предварительно выделить в окне База данных, а затем щелкнуть на кнопке Предварительный просмотр. На рис. 50 представлен отчет ТОВАРЫ в режиме предварительного просмотра. Рис. 50. Фрагмент отчета ТОВАРЫ в режиме предварительного просмотра. Первоначально Access выводит левую верхнюю часть отчета. Для просмотра отчета в варианте «страница целиком» нужно выбрать соответствующий масштаб изображения. Для просмотра двух страниц, расположенных рядом, следует выбрать масштаб изображения Две страницы. Это позволит увидеть два уменьшенных изображения страниц и общую идею размещения основных областей в отчете. При перемещении указателя мыши над окном предварительного просмотра, указатель мыши принимает форму лупы. Для увеличения изображения с помощью этой лупы ее необходимо поместить в то место, которое требуется рассмотреть, и щелкнуть левой кнопкой мыши. Повторный щелчок на кнопке Масштаб панели инструментов возвращает к исходному масштабу отображения, в котором для просмотра всего отчета можно использовать полосы прокрутки. Кроме того, в стандартной панели инструментов режима предварительного просмотра имеется кнопка Связи с Office, позволяющая выводить отчет в приложение Word или в Excel. Отчеты предназначены для вывода информации на принтер, поэтому для расчета расположения данных на печатной странице Access должен «знать» все необходимое об особенностях принтера. Эти данные Access получает от операционной системы. Соответственно, если вы хотите создать отчет, то принтер в системе должен быть установлен. Сортировка и группировка в отчете
Для создания групп в отчете используется диалоговое окно Сортировка и группировка (рис. 51), в котором делаются соответствующие установки: определяется порядок сортировки, задается установка вывода заголовка группы и примечания группы, задается порядок группировки и интервал. Диалоговое окно Сортировка и группировка можно открыть либо с помощью команды Вид ► Сортировка и группировка, либо щелчком маши на пиктограмме стандартной панели инструментов. В этом окне задаются поля, по которым группируются данные, а также порядок вывода данных в отчете (по возрастанию или по убыванию). При необходимости для свойств Заголовок группы и Примечание группы устанавливается значение Да. В этом случае в отчете появляются два соответствующих раздела. В эти части отчета можно помещать вычисляемые поля. Рис. 51. Диалоговое окно Сортировка и группировка В любом отчете, группирующем и суммирующем данные, можно создать выражения для вычисления процентов от общих сумм. Упражнение 18. Создание отчетов
1. В базе данных Цифровая техника создайте автоотчет на основе таблицы ТОВАРЫ. Для этого: a. Выделите таблицу ТОВАРЫ, раскройте список кнопки Новый объект и затем выберите вариант Автоотчет. b. Access автоматически создаст автоотчет. c. Изучите структуру и содержание полученного автоотчета; d. Закройте автоотчет и сохраните его под именем ТОВАРЫ. 2. Создайте многотабличный отчет с помощью мастера. 3. На первом шаге работы мастера выберите таблицы, а в каждой таблице выберите поля, которые будут включены в отчет. В таблице ПОСТАВЩИКИ выберите только поле Название фирмы, а в таблице ТОВАРЫ выберите поля: Название, Марка, Модель и Цена (рис. 52). Рис. 52. Первый шаг работы мастера отчетов. 4. На втором шаге работы мастера выберите вид представления данных, как показано на рис. 53. Рис. 53. Второй шаг работы мастера отчетов. 5. На третьем шаге работы мастера выберите уровни группировки данных (рис. 54). Для добавления уровня группировки выделите соответствующее поле в окне Добавить уровни группировки и выполните двойной щелчок на его имени илии нажмите кнопку .
Для удаления добавленного уровня группировки выберите его и нажмите кнопку При необходимости уровни группировки можно изменить с помощью кнопок Уровень повысить или Уровень понизить .
Рис. 54. Третий шаг работы мастера отчетов. 6. На четвертом шаге работы мастера выберите порядок сортировки и вычисления, выполняемые для записей (рис. 55). 7. Для выбора способа вычислений нажмите кнопку Итоги… и в открывшемся окне установите флажки, и переключатели как показано на рис. 56. Рис. 55. Четвертый шаг работы мастера отчетов. Рис. 56. Выбор способа итоговых вычислений. 8. На пятом шаге работы мастера выберите вид макета для отчета как показано на рис. 57. Рис. 57. Пятый шаг работы мастера отчетов. 9. На шестом шаге работы мастера (рис.58) выберите стиль оформления отчета (просмотрите все предложенные варианты и выберите стиль по своему усмотрению). Рис. 58. Шестой шаг работы мастера отчетов. 10. На седьмом шаге работы мастера (рис.59) задайте имя отчета, а затем нажмите кнопку Готово. Рис. 59. Седьмой шаг работы мастера отчетов. 11. Изучите структуру и содержание полученного отчета. 12. Переключитесь в режим конструктора и доработайте полученный отчет: a. Отформатируйте поля: Название фирмы, Название (товара), Марка, Модель и Цена, а также связанные с этими полями надписи установив размер шрифта соответственно: 18пт, 16пт, 14пт, 10пт. Цвет шрифта и его начертание установите по своему усмотрению. b. Для раздела Название (товара) в области примечания дополнительно к полю Min Цена создайте поле для вывода средней цены по каждому виду товара. При необходимости обратитесь к справочной системе Access (с вопросом - Создание вычисляемого элемента управления в форме или отчете). 13. Просмотрите отчет в режиме предварительного просмотра. 14. Еще доработайте отчет таким образом, чтобы перечень товаров, поставляемых каждым из поставщиков, начинался бы с новой страницы. Для этого: a. Используя кнопку Разрыв страницы панели элементов, создайте на макете отчета Разрыв страницы для группы Поставщики. Разрыв страницы должен быть создан в разделе Примечание группы «Код поставщика». b. Переключитесь в режим предварительного просмотра и убедитесь, что название каждой фирмы с перечнем поставляемых товаров начинается каждый раз с новой страницы. 15. Предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Использование вычисляемых значений
MS Access предоставляет десятки встроенных функций, которые можно использовать для обработки данных или для добавления информации в отчет. Одним из видов информации, которая наиболее часто включается в отчет, является информация о дате подготовки отчета или номера текущих страниц. Для дат MS Access предоставляет две встроенные функции Date() и Now() возвращающие текущие системные даты. Чтобы добавить текущую дату в отчет, необходимо создать несвязанное поле и установить его свойство Данные в значение =Date() (или Now()). Чтобы добавить номер страницы, используйте свойство отчета Страница (Page), посредством создания несвязанного поля и установки его свойства Данные равным Страница (Page). Для создания вычисляемого поля с итоговым значением по группе записей нужно создать новое поле (элемент Свободный) с помощью кнопки Поле панели элементов и разместить его в разделе Примечание соответствующей группы (предварительно область раздела Примечание группынужно раскрыть, переместив мышью границу этой области). Далее нужно открыть диалоговое окно свойств создаваемого элемента и на вкладке Данные ввести в строку Данные необходимое выражение для выполнения групповой операции (суммирование, расчет среднего арифметического и т.п.). При необходимости, следует выбрать в раскрывающемся списке Число десятичных знаков нужную точность расчетов. На вкладке Макет в раскрывающемся списке Формат поля выбирается требуемый формат. Предварительный просмотр и печать отчета
Переход из режима конструктора отчетов в режим предварительного просмотра осуществляется с помощью кнопки Вид на панели инструментов. Для просмотра ранее созданного отчета нужно выбрать соответствующий отчет в окне базы данных и нажать кнопку Просмотр. Вид отчета при просмотре его на экране аналогичен его виду при печати. Для управления режимом предварительного просмотра используется панель инструментов, появляющаяся при включении этого режима. Для просмотра нужных страниц отчета можно использовать стандартное поле номера страницы в нижнем левом углу окна отчета. Кнопка Печать панель инструментов режима предварительного просмотра позволяет вывести данный отчет на печать. С помощью команды Файл ► Параметры страницы можно выбрать принтер, задать формат бумаги, размеры полей, расстояние между строками, ориентацию (книжная или альбомная) и т.д. Команда Файл ► Печать позволяет выбрать для печати отдельные страницы отчета, распечатать заданное число копий, вывести отчет в файл, который должен распечатываться в другое время. Упражнение 19. Создание отчета на основе запроса
В базе данных Цифровая техника требуется создать с помощью мастера отчет на основе запроса Ноутбуки. Для этого: 1. Предварительно создайте запрос на выборку товаров с названием Ноутбук и содержащий следующие поля: Название фирмы, Название (товара), Марка, Модель, Цена. 2. Проверьте, правильно ли работает созданный запрос. При необходимости внесите соответствующие коррективы в запрос 3. В окне базы данных переключитесь на объекты Отчеты и нажмите кнопку Создать. 4. В окне Новый отчет (рис. 60) выберите в качестве способа создания отчета Мастер отчетов, а в качестве источника данных – ранее созданный запрос Ноутбуки. Рис. 60. Окно выбора способа создания отчета и источника данных. 5. На следующем шаге работы мастера отчетов включите в создаваемый отчет все поля запроса Ноутбуки. 6. Выберите вид представления данных как показано на рис. 61. 7. Установите группировку данных как показано на рис. 62. 8. На следующем шаге работы мастера отчетов укажите способ сортировки данных как показано на рис. 63. Используя кнопку Итоги, вызовите соответствующее диалоговое окно и установите в нем вычисление минимальной цены. Рис. 61. Окно выбора вида представления данных в создаваемом отчете. Рис. 62. Окно для задания способа группировки данных. 9. Присвойте создаваемому отчету имя Ноутбуки. Вариант оформления выберите по своему усмотрению. В качестве вида макета отчета выберите вариант Структура 1 и нажмите кнопку Готово. Рис. 63. Задание способа сортировки данных. 10. Установите размеры полей для страниц отчета, ориентацию страниц и параметры столбцов, используя соответствующие вкладки диалогового окна Параметры страницы (рис. 64), которое вызывается командой Файл ► Параметры страницы. Рис. 64. Установка параметров страницы отчета. 11. Проанализируйте содержание и внешний вид отчета (рис. 65). 12. Если данные каких-либо полей отображаются не полностью, то переключитесь в режим конструктора и увеличьте размеры соответствующих полей. 13. Отформатируйте поля отчета так, чтобы он хорошо выглядел в печатном виде. Рис. 65. Отчет Ноутбуки в режиме предварительного просмотра. 14. Откройте отчет Ноутбуки в режиме конструктора и внесите в него следующие изменения: a. Отформатируйте поля отчета так, чтобы он хорошо выглядел в печатном виде. b. Обеспечьте нумерацию строк в отчете, для чего в область данных введите свободное поле и поместите его в то место отчета, где должны выводится номера строк, т.е. левее поля Марка. c. В свойстве Данные этого поля нужно ввести =1, затем в свойстве Сумма с накоплением устанавливается значение для всего, т.к. требуется обеспечить сплошную нумерацию строк отчета (рис. 66). 15. Сохраните произведенные изменения, откройте отчет в режиме предварительного просмотра и оцените произведенные изменения во внешнем виде отчета. 16. При необходимости вернитесь в режим конструктора и внесите соответствующие коррективы, если внешний вид отчета считаете хорошим предъявите результат работы преподавателю. После проверки преподавателем вашей работы перейдите к следующему упражнению или закройте файл базы данных. Рис. 66. Установка свойств поля Свободное для обеспечения нумерации строк в отчете Построение диаграмм.
Диаграмму можно создать в форме или отчете. В большинстве случаев для создания диаграммы используется мастер диаграмм. В зависимости от указанных данных мастер определит, должны ли данные из всех полей быть отображены на одной общей диаграмме, или же целесообразно создать диаграмму, связанную с записью. В последнем случае, при переходе от одной записи к другой, в диаграмме будут отображены только данные текущей записи. Диаграмму можно вставить в ранее созданную форму или отчет. Для этого форму или отчет нужно открыть в режиме конструктора. В меню Вставка выбрать команду Диаграмма и указать место в форме или отчете, в которое необходимо поместить диаграмму. Далее шаг за шагом нужно выполнить инструкции мастера диаграмм. Затем для просмотра диаграммы, отражающей текущие данные, нужно переключится соответственно в режим формы или в режим предварительного просмотра отчета. В режиме конструктора формы или отчета создаваемая диаграмма отражает данные-примеры. Чтобы увидеть реальные текущие данные, нужно переключится в режим формы или предварительного просмотра, либо закрыть форму или отчет, а затем снова открыть их. Можно создать отдельный отчет, содержащий только диаграмму. Для этого необходимо в окне БД выбрать Отчёты в группе Объекты. Затем щёлкнуть мышью по кнопке Создать. В нижней части окна Новый отчет (рис. 67) следует выбрать таблицу или запрос, в которой содержатся данные для построения диаграммы (в данном примере - это таблица Преподаватели). В верхней части этого окна - выбрать Мастер диаграмм и нажать кнопку ОК для запуска мастера диаграмм. Рис. 67. Окно выбора мастера диаграмм На первом шаге мастера диаграмм (рис. 68) необходимо выбрать поля с данными, значения которых необходимо отобразить в диаграмме (в данном примере - это Фамилия и Оклад). Рис. 68. Выбор полей с данными, которые необходимо отобразить в диаграмме На втором шаге мастера диаграмм (рис. 69) выбирается тип диаграммы. На третьем шаге мастера диаграмм (рис. 70) определяется способ расположения рядов данных в создаваемой диаграмме. На четвертом шаге мастера диаграмм (рис. 71) задается название диаграммы. После щелчка мышью по кнопке Готово формируется отчет с диаграммой (рис. 72). Рис. 69. Выбор типа диаграммы Рис. 70. Выбор расположения рядов данных в создаваемой диаграмме Рис. 71. Окно мастера диаграмм для задания названия диаграммы Обмен данными
MS Access позволяет осуществлять обмен данными с другими СУБД и с другими базами данных MS Access, с программами работы с электронными таблицами (Excel и Lotus), а также импортировать и экспортировать данные из текстовых файлов. Кроме того, с помощью этих средств можно копировать объекты из одной базы данных MS Access в другую. Рис. 72. Отчет с диаграммой. Экспорт данных
Экспорт представляет собой способ вывода данных и объектов базы данных в другую базу данных, электронную таблицу или формат файла, позволяющий другой базе данных, приложению или программе использовать эти данные или объекты базы данных. Экспорт по своей сути напоминает копирование и вставку через буфер обмена. Чаще всего для экспорта данных и объектов базы данных используется команда Экспорт из меню Файл. Данные можно экспортировать в целый ряд поддерживаемых баз данных, программ и форматов файлов. Одновременно можно экспортировать только один объект. Общий порядок выполнения действий по экспорту объектов в существующую базу данных MS Access следующий. 1. В окне базы данных нужно выделить объект, который нужно экспортировать, а затем выполнить команду Файл ► Экспорт. 2. В диалоговом окне Экспорт объекта выбрать диск и папку, где расположена база данных MS Access, в которую нужно экспортировать объект. 3. Двойным щелчком на значке базы данных выбрать базу данных, в которую экспортируется объект. 4. В диалоговом окне Экспорт ввести имя нового объекта (или использовать текущее имя). При экспорте таблицы выбрать в группе параметров Экспорт таблиц переключатель, соответствующий требуемому виду экспорта — структура и данные или только структура. Нажать кнопку OK. Общий порядок выполнения действий по экспорту объектов в файл электронной таблицы следующий. 1. В окне базы данных нужно выделить объект, который нужно экспортировать, а затем выполнить команду Файл ► Экспорт. 2. В диалоговом окне Экспорт объекта в поле со списком Тип файла нужно выбрать требуемый формат электронной таблицы. 3. На следующем шаге следует выбрать диск и папку, в которую будет экспортирован объект. 4. Затем нужно указать, в каком из существующих файлов будет сохранен экспортируемый объект. Это можно сделать путем выбора файла из списка файлов, сохраненных ранее в выбранной папке или задать имя нового файла. Если на шаге 2 был выбран тип Microsoft Excel 5-7 или Microsoft Excel 97-2000 (*.xls), то для того, чтобы сохранить используемые шрифты, данные в полях подстановок и размеры полей, следует установить флажок Сохранить формат. 5. После установки всех параметров нужно нажать кнопку Сохранить. Access создает файл электронной таблицы, содержащий данные из экспортируемой таблицы. Имена полей таблицы помещаются в первую строку электронной таблицы. Импорт и связывание данных
Access поддерживает два способа использования данных из внешних источников: q Импорт данных в новую таблицу Access. При этом данные преобразуются из другого формата и копируются в Access. Также можно импортировать объекты в текущую базу данных Access. q Связывание данных. При этом устанавливается подключение к данным другого приложения без их импорта, что позволяет просматривать и редактировать данные, как в исходном приложении, так и в базе данных Access. Возможен импорт и связывание данных из целого ряда поддерживаемых баз данных, программ и форматов файлов. Импорт данных
При импорте данных создается их копия в новой таблице базы данных Access. В ходе процесса исходная таблица или файл не изменяются. Импортируемые данные нельзя сразу добавлять в существующие таблицы (за исключением импорта электронных таблиц или текстовых файлов). Однако после импорта таблицы можно добавить данные в другую таблицу, выполнив запрос на добавление в базе данных Access. Допускается импорт не только таблиц, но и других объектов баз данных, например, форм или отчетов из другой базы данных Access. Связывание данных
В базах данных Access связывание данных позволяет читать и, в большинстве случаев, обновлять данные из внешних источников, не импортируя их. Формат внешнего источника данных не изменяется, что позволяет продолжать использование файла в программе, в которой он был создан, но, помимо этого можно добавлять, удалять или редактировать его данные с помощью Access. В Microsoft Access для обозначения связанных таблиц и таблиц, хранящихся в текущей базе данных, используются разные значки. Если удалить значок связанной таблицы, удаляется связь с таблицей, но не сама внешняя таблица. Общий порядок выполнения действий по импорту или связыванию данных в существующую базу данных MS Access следующий. 1. Откройте или создайте базу данных Access, в которой будут содержаться импортированные таблицы (или, в случае базы данных Access, связанные таблицы), а затем выполнить команду Файл ► Внешние данные ► Импорт (или Связь с таблицами). 2. В окне диалога Импорт (Связь) в поле со списком Тип файлов выберите тип импортируемых данных MS Access и укажите папку с БД Access, из которой будет осуществлен импорт (связывание) таблицы. 3. Двойным щелчком на значке базы данных выберите базу данных, из которой импортируются объекты. 4. В диалоговом окне Импорт объектов (Связь с таблицами) выберите вкладку с импортируемыми объектами (при импорте таблиц это будет вкладка Таблицы) выделите необходимые объекты. Нажмите кнопку Параметры и установите необходимые параметры импорта. При установлении связи с таблицами диалоговое окно Связь с таблицами имеет только одну вкладку и не имеет кнопки Параметры, поэтому необходимо выделить только связываемы таблицы. 5. Нажмите кнопку OK, чтобы импортировать выделенные объекты. Упражнение 20. Экспорт и импорт данных
1. Создайте в своей папке новую базу данных Торговля. 2. Выполните экспорт таблиц из учебной базы данных Борей в базу данных Торговля. Для этого: c. Откройте учебную базу данных Борей. Выделите таблицу Доставка и выполните команду Файл ► Экспорт. d. В открывшемся диалоговом окне Экспорт объекта выберите свою папку, а в ней базу данных Торговля и нажмите кнопку Сохранить. e. Во вновь открывшемся диалоговом окне Экспорт (рис. 73)выберите в группе параметров Экспорт таблиц переключатель структура и данные. Имя таблицы оставьте прежним (Доставка). Нажмите кнопку OK, чтобы экспортировать таблицу. Рис. 73. Диалоговое окно Экспорт. f. Аналогичным образом выполните экспорт всех остальных таблиц базы данных Борей, а также по одному запросу, отчету и форме (по своему выбору). 3. В базе данных Торговля создайте схему данных аналогичную схеме данныхбазы данных Борей. Для этого разместите на экране одновременно схему данных базы Борей и схему данных базы Торговля. 4. Создайте в своей папке новую базу данных Торговля1. 5. Выполните импорт таблиц из базы данных Торговля в базу данных Торговля1. Для этого: a. Откройте базу данных Торговля1 и закройте базу данных Торговля. b. Выполните команду Файл ► Внешние данные ► Импорт. c. В открывшемся диалоговом окне Импорт выберите свою папку, а в ней базу данных Торговля. d. Во вновь открывшемся диалоговом окне Импорт объектов (рис. 74) выберите вкладку Таблицы, выделите все таблицы с помощью кнопки Выделить все, нажмите кнопку Параметры и установите параметры импорта как показано на рис.74. Нажмите кнопку OK, чтобы импортировать выделенные объекты. e. Убедитесь в том, что произошел импорт таблиц с их структурой и данными, а также схемы данных. Рис. 74. Диалоговое окно Импорт объектов 6. Выполните экспорт данных таблицы ТОВАРЫ из базы данных Цифровая техника в файл MS Excel. Для этого: a. Откройте базу данных Цифровая техника и выделите таблицу ТОВАРЫ. b. Выполните команду Файл ► Экспорт. c. В диалоговом окне Экспорт объекта выберите свою папку, в поле Имя файла введите имя создаваемого файла MS Excel, например, Экспорт данных (можно выбрать для сохранения экспортируемых данных любой из ранее созданных файлов MS Excel). В поле Тип файла выберите вариант M
icrosoft
Excel
97-2000. Установите флажок Сохранить формат и нажмите кнопку Сохранить. d. Откройте файл Экспорт данных и убедитесь в том, что экспорт данных из таблицы ТОВАРЫ выполнен успешно, при этом было сохранено форматирование этих данных. 7. Выполните экспорт данных таблицы ТОВАРЫ из базы данных Цифровая техника в файл MS Word. Для этого: a. В базе данных Цифровая техника выделите таблицу ТОВАРЫ. b. Выполните команду Файл ► Экспорт. c. В диалоговом окне Экспорт объекта выберите свою папку, в поле Имя файла введите имя создаваемого файла MS Word, например, Экспорт данных (можно выбрать для сохранения экспортируемых данных любой из ранее созданных файлов MS Word). В поле Тип файла выберите вариант M
icrosoft
Excel
97-2000. Установите флажок Сохранить формат и нажмите кнопку Сохранить. d. Откройте файл Экспорт данных и убедитесь в том, что экспорт данных из таблицы ТОВАРЫ выполнен успешно, при этом было сохранено форматирование этих данных. 8. Закройте все файлы с сохранением произведенных изменений.
Литература
1. Microsoft Office Access 2003. Шаг за шагом. Официальный учебный курс +CD ROM: ЭКОМ.: 2007: 432 стр. 2. Бекаревич Ю. Microsoft Access за 21 занятие: BHV-Санкт-Петербург.: 2005. 544 стр. 3. Вейскас Дж. Эффективная работа с Microsoft Access 2000. - СПб.: Питер. 2002. 4. Дейт К.Дж. Введение в системы баз данных. –М.: Вильямс, 1999. 5. Информатика для экономистов Учебник / Под общей ред. Матюшка В.М. – ИНФРА-М.: 2006.—880 с. 6. Информатика для юристов и экономистов / Под ред. Симоновича С.В.-- СПб.: Питер, 2001.-- 688 с. 7. Информатика: Учебник / Под ред. Н.В. Макаровой.-- М.: Финансы и статистика, 2000.-- 768 с. 8. Кошелев В.Е. Access 2003. Практическое руководство Бином 2005.-- 464 стр. 9. Новиков Ф., Яценко А. Microsoft Office XP. –СПб.: Питер, 2002. 10. Практикум по экономической информатике: Учебное пособие. В трех частях. Часть 1. Под ред. Шуремова Е.Л., Тимаковой Н.А., Мамонтовой Е.А. М.: Финансы и статистика; Перспектива., 2002. 11. Пушкина Н., Бекаревич Ю. Microsoft Access 2003 BHV-Санкт-Петербург 2004.: 752 стр. 12. Сеннов А. С. Access 2003. Практическая разработка баз данных (+СD). Учебный курс: Питер 2005: 256 стр. 13. Стоцкий Ю. Самоучитель Office XP. –СПб.: Питер, 2002. 14. Харитонова И., Михеева В. Microsoft Access 2003.(+ CD) СПб.: Питер, 2004 г. 15. Шафрин Ю.А. Информационные технологии. В 2-х частях. Часть 2. Офисная технология и информационные системы. М. БИНОМ. Лаборатория знаний. 2002. 16. Экономическая информатика: Учебник / Под ред. В.П. Косарева, Л.В. Еремина.-- М.: Финансы и статистика, 2001.
[1] Данное свойство устанавливается автоматический при определении поля как ключевого при условии, что других ключевых полей в таблице нет.
[2] Таковы правила синтаксиса Access
[3] Для создания резервной копии таблицы, содержащей все те же поля и в том же количестве, что и в оригинале, чтобы не перетаскивать все поля таблицы в строку. «Поле», достаточно поместить туда символ *, заменяющий все поля таблицы и находящийся в начале списка полей таблицы.