Базы данных |
Методические указания |
Методические указания по работе с СУБД Microsoft Access 2003 Часть 1. Основы Microsoft Access 1.1 Назначение Microsoft Access 1.2 Запуск Access и завершение работы с программой 1.3 Отображение окна базы данных Access на экране 1.4 Использование предыдущих версий Access 1.6 Сознание таблицы с помощью мастера 1.7 Создание таблицы в режиме конструктора 1.8 Создание или изменение ключевого поля 1.10 Ввод данных в таблицу и ее редактирование 1.12 Выделение записей или поля Часть 2. Использование запросов для работы с данными 2.3 Создание таблицы с помощью запроса 2.4 Выбор условий отбора записей в запросе 2.5 Запрос на обновление записей Часть 3. Создание и использование форм в Access 3.1 Назначение форм при работе с базой данных 4.3 Создание отчета с помощью мастера 4.4 Сознание отчета в режиме конструктора
Часть 1. Основы Microsoft Access 1.1 Назначение Microsoft Access Access является одной из самых популярных настольных систем управления базами данных (СУБД), которая может работать с текстовыми файлами, с электронными таблицами и базами данных наиболее популярных форматов. База данных хранит совокупность данных и объектов, относящихся к определенной задаче. Она помогает нам упорядочить информацию по различным признакам и позволяет быстро делать выборку с произвольным сочетанием признаков. В качестве данных может использоваться любая информация, хранящаяся на диске компьютера; сочетания символов, слова, файлы, рисунки, объекты и т.д. Методы ввода и хранения данных определяют структуру базы данных. Access позволяет создавать реляционные базы данных, в которых данные хранятся в виде таблицы. Его можно использовать для анализа данных, для создания динамических веб-страниц, в которых автоматически будут отображаться изменения данных. С его помощью можно создавать приложения баз данных, например приложения клиент/сервер. Access может работать в качестве:
Access 2003 представляет собой мощную платформу для создания настольных приложений и приложений клиент/сервер уровня подразделения или целого предприятия. Access 2003 позволяет преобразовывать базы данных Microsoft Access в формат Microsoft SQL Server, предоставляет двухстороннюю поддержку XML. Ддя интеграции инструментария Access с базами данных MS SQL используются быстродействующие средства доступа к базам данных на основе интерфейса OLE-DB. Access хранит все данные в одном файле, несмотря на то, что они могут быть распределены по разным таблицам. Таблицы с данными, их индексы, формы, отчеты хранятся в файлах с расширением .mdb (Microsoft Access database). 1.2 Запуск Access и завершение работы с программой Для запуска Microsoft Access нажмите кнопку Пуск и в меню Программы выберите команду Microsoft Access. Для завершения работы с приложением выберите команду Выход в меню Файл. 1.3 Отображение окна базы данных Access на экране База данных Microsoft Access может содержать различные объекты: таблицы, запросы, формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Данные в связанных таблицах могут содержаться в другой базе данных Access, во внешнем источнике данных, например, в базе данных dBASE или в электронной таблице Microsoft Excel, а также в источнике данных ODBC, например, Microsoft SQL Server. После запуска Access на экране отображается стандартное окно приложения Microsoft Office 2003 (рис. 1.1), вид которого определяется установками, сделанными на вкладке Вид диалогового окна команды Параметры в меню Сервис. На этой вкладке можно установить флажок область задач при запуске, что обеспечит после запуска Access показ в правой части окна области задач Приступая к работе. Ссылки в этой области задач позволяют подключиться к веб-узлу Microsoft Office Online, получить последние сведения об использовании Access, открыть файлы, с которыми вы работали ранее или создать файл. Рис. 1.1. Окно Access, отображаемое на экране после запуска программы Для более подробного знакомства с возможностями различных объектов базы данных в Access можно воспользоваться учебной базой Борей. После ее открытия на экране видна вертикально расположенная панель Объекты (рис. 1.2). На ней расположены значки, используемые для создания новых объектов базы данных и открытия существующих: Таблицы, Запросы, Формы, Отчеты и т.д. После щелчка значка какого-либо типа объекта, в правой части окна отображается список всех объектов базы данных выбранного типа. Ярлык Группы используется для добавления ярлыка новой группы к часто используемым объектам базы данных. Для добавления группы щелкните правой кнопкой мыши строку заголовка окна базы данных, выберите в контекстном меню команду Новая группа и в появившемся окне введите имя новой группы. Рис. 1.2. Список таблиц, поставляемых с учебной базой данных Борей Выделение того или иного значка на панели Объекты меняет вид панели инструментов, перечень кнопок на ней и список имеющихся объектов. Изменить представление объектов в окне базы данных позволяют кнопки панели инструментов: Крупные значки, Мелкие значки, Список, Таблица или одноименные команды из меню Вид. Каждая таблица в Access обычно содержит данные, относящиеся к определенной теме, например, сведения о покупателях, с которыми имеет дело торговая фирмы. Какие сведения хранятся в таблицах учебной базы данных Борей можно определить по их названиям: Доставка, Заказы, Клиенты и т.д. Все объекты базы данных Access, кроме макросов и модулей, можно отображать в двух режимах: в режиме таблицы и режиме конструктора. Режим конструктора обеспечивает большие возможности при создании таблицы, запроса, формы или отчета. Например, в этом режиме можно задать ширину каждого поля с тем, чтобы сделать объект более компактной. В режиме таблицы можно добавлять, редактировать, просматривать или выполнять другую работу с данными таблицы. Каждая строка таблицы представляет собой отдельную запись, каждый столбец — поле. Поле — это наименьший элемент информации, хранящийся в базе данных, который рассматривается как единое целое. Полем также называют клетку таблицы, образуемую пересечением строки и столбца. В поле может находиться один или группа символов, текст, рисунок, звуковой файл или другая информация. Каждое поле имеет свое уникальное имя. В таблице не могут быть поля с одинаковым именем. Все поля таблицы относятся к одному объекту. Рассмотрим таблицу Клиенты (рис. 1.3). Поля базы данных Клиенты содержат сведения о клиенте: его должность, адрес, номер телефона и т.д. Рис. 1.3. Фрагмент таблицы Клиенты базы данных Борей 1 — выделение всех записей, 2 — выделение поля, 3 — выделение строки Замечание. Чтобы открыть таблицу, в окне базы данных на вертикально расположенной панели Объекты щелкните значок Таблицы. В списке имен таблиц базы выделите имя интересующей вас таблицы и нажмите на панели инструментов кнопку Открыть. Перемещение между записями Для перемещения между записями можно использовать мышь, клавиатуру, вертикальную и горизонтальную полосы прокрутки, поле номера записи внизу окна и кнопки переходов по записям (рис. 1.4). Назначение кнопок переходов по записям: Рис. 1.4. Кнопки переходов по записям 1 - Первая запись - выполняет переход к началу таблицы; 2 - Предыдущая запись - возвращает назад на одну запись; 3 - Поле номера записи или Индикатор записи - отображает номер текущей записи; 4 - Следующая запись - позволяет просмотреть следующую запись; 5 - Последняя запись - обеспечивает переход в конец таблицы; 6 - Новая запись - создает новую пустую запись. Кнопки переходов по записям дублируют команды меню Правка►Перейти. Замечание. Для перехода с помощью клавиатуры к первой или последней записи нажмите, соответственно клавиши Ctrl+Ноme или Ctrl+End, для перехода к предыдущей последующей записи - Клавиши: PageUp или PageDown, Перемещение между полями Чтобы выбрать поле, щелкните его мышью. Для перемещения по полям используются клавиши управления курсором и приведенные ниже клавиши:
При перемещении по полям с клавиатуры Access автоматически выделяет данные, содержащиеся в поле. Чтобы удалить выделение щелкните поле мышью. Перемещение между полями в больших таблицах облегчает раскрывающийся список Перейти к полю на панели инструментов Формат. Просмотр больших таблиц Горизонтальная полоса прокрутки позволяет просматривать таблицы с большим количеством столбцов. Однако в ряде случаев нам надо постоянно видеть определенные столбцы, например при просмотре таблицы заказов желательно закрепить столбцы Клиент и Код заказа. Для постоянного отображения столбца таблицы при просмотре других столбцов откройте таблицу, щелкните в любой строке столбца, который должен постоянно оставаться на экране, и выберите в меню Формат команду Закрепить столбцы. Повторите эту операцию с другим столбцом, если вы хотите постоянно видеть на экране несколько столбцов. Если потребность в постоянном отображении столбца на экране отпадет, то выберете в меню Формат команду Освободить все столбцы. Чтобы не загромождать отображение таблицы не интересующими вас столбцами, перетащите правую границу столбца в области выделения так, чтобы она совпала с левой границей, и нажмите кнопку Сохранить на панели инструментов. Столбец будет скрыт. Скрыть столбцы после их выделения можно также с помощью команды Формат►Скрыть столбцы Восстановить отображение на экране скрытых столбцов можно с помощью команды Формат►Отобразить столбцы. 1.4 Использование предыдущих версий Access В Microsoft Access 2003 был использован новый формат для баз данных, несовместимый со старыми версиями. Поэтому база данных, созданная в Access 2003, не будет работать с базами данных, которые созданы в предыдущих версиях. Предусмотрена возможность открытия баз данных, созданных в предыдущих версиях. Если все пользователи, работающие со старой версией, перешли на новую версию, то желательно произвести преобразование форматов, чтобы обеспечить использование новых возможностей. Рекомендуется создать резервную копию базы данных, подлежащую преобразованию, скопировав файл базы данных (файл MDB) на резервный носитель. После создания резервной копию закройте базу данных, которая будет преобразовываться. Храните копию до тех пор, пока не будет осуществлен окончательный переход к новой базе данных. Перед тем как начать преобразование в другой формат сетевой базы данных Access, расположенной на сервере или в общей папке, убедитесь, что она закрыта всеми пользователями. В диалоговом окне База данных для преобразования выберите базу данных и нажмите кнопку Преобразовать. В диалоговом окне Преобразовать базу данных введите с клавиатуры новое имя (без расширения .mdb) файла базы данных или укажите другую папку файла базы данных. При использовании другой папки можно оставить старое имя или задать новое. Замечание. Для преобразования базы данных Access в другой формат выберите в меню Сервис команду Служебные программы►Преобразовать базу данных, и задайте формат, в который будет производиться преобразование, например, в формат Access 97 или в формат Access 2002-2003. Приступая к созданию базы данных, необходимо знать ее назначение, какие сведения она должна содержать. Следует определить, из каких она будет состоять таблиц, какие потребуются отчеты, уточнить формы, используемые в настоящий момент для записи данных, как они будут взаимосвязаны, какие в таблицах будут поля. Запись таблицы должна полностью описывать объект в соответствии с поставленной задачей. Для отображения области задач Создание файла в окне Microsoft Access в меню Файл выберите команду Создать или нажмите одноименную кнопку на панели инструментов. С клавиатуры выбрать команду можно нажатием на клавиши Ctrl+N. Если в разделе Создание щелкнуть ссылку Новая база данных, то на экране отобразится диалоговое окно Файл новой базы данных с предложением дать имя новой базе данных db1, расширение .mdb и сохранить ее в папке Мои документы. “1” добавляется по умолчанию к присвоенному имени базе данных. Измените имя базы данных или оставьте как есть и нажмите кнопку Создать. Создание базы данных с помощью шаблона После щелчка ссылки На моем компьютере в области задач Создание файла открывается диалоговое окно Создание, позволяющее выбрать шаблон создаваемой базы данных (рис. 1.5). В правой части окна вы увидите, как будет выглядеть база данных выделенного шаблона. Однако предварительный просмотр предусмотрен не для всех шаблонов. Рис. 1.5. Шаблоны, предлагаемые для создания базы данных В качестве примера, на вкладке Базы данных выделим значок Контакты и нажмем кнопку ОК. На экране отобразится окно, предлагающее сохранить создаваемую базу данных. После выполнения этой операции появится окно Создание базы данных, с сообщением, что база данных “Контакты” будет содержать:
Нажмите кнопку Далее. В следующем окне необходимо определить, какие таблицы будут входить в базу данных, и задать их структуру, т.е. выбрать поля (столбцы) из которых будет состоять каждая запись. Например, в списке Таблицы базы данных выберите Сведения о контактах и установите флажки около тех полей таблицы, которые будут использоваться (рис. 1.6). Рис. 1.6. Выбор таблицы базы данных и ее полей В следующем окне из списка Выберите вид оформления экрана (рис. 1.7). Выбранный вид отображается в левой части окна. В следующих окнах Выберите вид оформления отчета на печати и Задайте название базы данных (рис. 1.8). Это название будет приведено во всех формах и отчетах. После установки флажка Добавить рисунок во все отчеты вы сможете выбрать растровый (bmp, dip) или векторный (wmf, emf) рисунок, который будет помещаться во все отчеты. Для отображения на экране окна Выбор рисунка нажмите кнопку Рисунок.
Рис. 1.7. Выбор вида оформления экрана Рис. 1.8. Ввод названия базы данных В последнем окне можно установить флажок Да, запустить базу данных и нажать кнопку Готово. Будет создан новый файл базы данных, а на экране отобразится Главная кнопочная форма нового приложения (рис. 1.9). В окне Microsoft Access будет отображено также минимизированное окно созданной базы данных. Мастер поместил в новую базу данных различные типы объектов: таблицы, формы, отчеты и т.п. Назначение кнопок показанной на рисунке главной кнопочной формы:
Рис. 1.9. Главная кнопочная форма новой базы данных В качестве примера на рис. 1.10 показана форма к базе данных, отображенная на экране после нажатия кнопки Ввод/просмотр формы “Контакты”. 1.6 Сознание таблицы с помощью мастера При создании таблицы следует руководствоваться следующими принципами:
Таблицу можно создать несколькими способами: 1. С помощью мастера таблиц. 2. В режиме конструктора таблицы. 3. За счет импорта данных из внешних источников. 4. За счет связи с внешней таблицей. Рис. 1.10. Форма для новой базы данных Контакты, созданная с помощью главной кнопочной формы Мастера в Access являются удобным и эффективным средством построения базы данных, таблиц, запросов, форм и т.д. Окно мастера таблицы можно отобразить на экране несколькими способами: 1. В окне базы данных на панели Объекты выбрать значок Таблицы и дважды щелкнуть значок Создание таблицы с помощью мастера. 2. В окне базы данных на панели инструментов нажать кнопку Создать и в диалоговом окне Новая таблица выбрать Мастер таблиц (рис. 1.11). Рис. 1.11. Выбор мастера таблиц в окне Новая таблица После выбора в окне базы данных на панели Объекты значка Таблицы и двойного щелчка значка Создание таблицы с помощью мастера, на экране отобразится окно мастера таблиц. В этом окне положением переключателя выберите область использования создаваемой таблицы Деловое применение или Личное применение (рис. 1.12). Очевидно, что от области применения базы данных зависит структура таблицы, используемые в ней поля. Рис. 1.12. Выбор полей создаваемой таблицы В списке Образцы таблиц выделите, какого типа таблица будет создана, в списке Образцы полей выберите, какие поля будет иметь таблица. Кнопки мастера таблиц, расположенные между списками имеют следующее назначение:
Выбранные поля переместятся в список Поля новой таблицы. Переместить поле из одного списка другой можно не только кнопками, но и двойным щелчком мыши. При желании вы можете нажать кнопку Переименовать поле и ввести новое имя поля в появившееся на экране окно. В одну таблицу можно последовательно ввести поля, предназначенные как для делового, так и для личного применения и из разных образцов таблиц. Имена полей не должны повторяться. Если среди образцов полей нет нужного вам поля, то его можно создать. Нажмите кнопку Далее и в следующем окне положением переключателя выберите способ определения ключа (рис. 1.13):
Рис. 1.13. Задание имени таблицы и выбор способа определения ключа Назначение ключевого поля будет рассмотрено ниже. Введите имя таблицы или согласитесь с тем именем, которое предлагается автоматически в поле Задайте имя для новой таблицы. Замечание. Имя таблицы, также как и имена полей, может содержать не более 64 букв, цифр, пробелов и специальных символов за исключением точки, восклицательного знака, прямых кавычек и квадратных скобок. Имя не должно начинаться с символа пробела, не должно включать управляющие символы (с кодами ASCII от 0 до 31). Хотя имена полей, элементов управления и объектов могут содержать пробелы и знаки препинания, их не рекомендуется включать в имена полей, особенно, если предполагается использовать данные совместно с другими программами. При некоторых обстоятельствах пробелы могут вызвать конфликты в программах на Visual Basic. В качестве разделителей слов можно использовать прописные буквы или символ подчеркивания, например, имя поля Дата рождения можно записать как Дата_рождения. В последнем окне мастера создания таблицы задайте положение переключателя, чтобы определить дальнейшие действия по созданию таблицы:
На любом этапе создания таблицы после нажатия кнопки Готово откроется новая таблица. Ключевое поле Одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице, называется первичным ключом. Ключевое поле позволяет избежать возникновения ошибок при вводе данных, так как они в этом поле не могут повторяться. В качестве ключевого поля можно использовать идентификационный номер, присваиваемый гражданам налоговой службой, серия и номер паспорта сотрудника. Ключевое поле может содержать число или последовательность символов, позволяющих идентифицировать каждую запись и избежать дублирования. Ключевое поле используется для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов. Первичный ключ не может содержать пустых значений (Null) и всегда должен иметь уникальный индекс. В любой таблице желательно иметь одно или несколько ключевых полей. Значение Null означает, что в поле нет никаких данных, например, потому, что они неизвестны. Значение Null нельзя приравнивать к строке, содержащей пробелы. Замечание В базе данных Access могут использовался три типа ключевых полей: счетчик, простой ключ и составной ключ. В специальном поле Счетчик каждой записи присваивается уникальный для этого поля номер, который автоматически увеличивается с каждой новой записью. Его можно использовать для нумерации записей по порядку. Составной ключ представляет собой комбинацию из нескольких полей. Он используется в тех случаях, когда невозможно гарантировать уникальность записи с помощью одного поля. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении “многие ко многим”. Данные ключевого поля используются для индексирования таблицы, что ускоряет поиск и обработку информации. Если не задана сортировка таблицы, то записи располагаются по значению ключа. При включении новых записей или удалении старых записи таблицы не перемещаются, изменяется только местоположение каждого индекса. Первичный ключ используется для связывания одной таблицы с другой. Если поставить переключатель в положение Пользователь определяет ключ самостоятельно (рис. 1.13), то в следующем окне в раскрывающемся списке Выберите поле с уникальными для каждой записи данными укажите ключевое поле (рис. 1.14). Положение переключателя в этом окне определяет, какие данные будут использоваться в ключевом поле:
Рис. 1.14. Выбор ключевого поля и используемых в нем данных 1.7 Создание таблицы в режиме конструктора Для создания таблицы в режиме конструктора в окне базы данных на панели Объекты выберите значок Таблицы и дважды щелкните значок Создание таблицы в режиме конструктора. В окне базы данных в режиме конструктора таблиц вместо панели инструментов базы данных отображена панель инструментов конструктора таблиц. Для перемещения между полями используйте клавиши управления курсором: стрелка-вправо, стрелка-влево и т.д. или клавиши Tab, Shift+Tab. Свойства полей таблицы Свойства поля определяют параметры поля: размер, тип данных и т.д. Свойства полей таблицы задаются в режиме конструктора таблиц. В верхней части окна (рис. 1.15) приводится список полей, в котором обязательно указывается Имя поля и Тип данных. Информация, введенная в поле Описание, будет отображаться в строке состояния таблицы при выборе поля. Описание не должно превышать 255 символов. Это свойство можно не задавать. Рис. 1.15. Выбор типа данных для поля Тип данных определяет, какую информацию можно ввести в поле. В раскрывающемся списке ячейки предусмотрены следующие типы данных:
Замечание Для быстрого переключения между верхней областью окна конструктора таблиц и панелью свойств поля, расположенной, к нижней части окна, нажмите клавишу F6. Панель свойств содержит ряд дополнительных свойств поля. Приведем некоторые из них:
На вкладке Подстановка свойства поля может выбираться Тип элемента управления, который влияет на отображение данных при вводе. Например, если у вас тип данных: Текстовый, то вы можете отобразить его как Поле, Список или Поле со списком (рис. 1.16). Рис. 1.16. Вкладка Подстановка свойств поля Свойства таблицы Свойства таблицы позволяют более полно описать таблицу, но их можно не вводить. Чтобы задать свойства таблицы, отобразите ее в режиме конструктора и нажмите на панели инструментов кнопку Свойства или нажмите клавиши Alt+Enter. Рис. 1.17. Свойства таблицы Краткое описание свойств таблицы (рис. 1.17) дано ниже:
1.8 Создание или изменение ключевого поля Для создания в таблице ключевого поля типа Счетчик в режиме конструктора выполните следующие действия:
Другие способы создания ключевого поля в готовой таблице в режиме конструктора:
Если вы забудете создать ключевое поле, то Access напомнит об этом окном с соответствующим предупреждением (рис. 1.18). Рис. 1.18. Окно, предупреждающее, что в создаваемой таблице ключевые поля не заданы Индексы используются для ускорения поиска и сортировки данных. При поиске записи СУБД ищет сначала нужное значение в индексе, а затем отбирает записи по ссылкам. Различают простые и составные индексы. Простой индекс создаются по одному столбцу, составные — по нескольким. Например, простой индекс можно построить по столбцу Фамилия, составной — по столбцам Фамилия, Имя, Отчество. Недостаток использования индексов - после добавления или удаления записей следует обновить индекс. При большом количестве индексов это может привести к замедлению работы. Индексировать можно любые поля, кроме полей типа Мемо, Гиперссылка и Поле объекта OLE. 1.10 Ввод данных в таблицу и ее редактирование Для отображения на экране таблицы в окне базы данных выделите имя таблицы в списке и выберите команду Открыть в меню Файл или нажмите кнопку Открыть на панели инструментов. Если таблица отображена на экране в режиме конструктора, то для перехода в окно просмотра данных таблицы выберите в меню Вид команду Режим таблицы. Щелкните ячейку, в которую необходимо ввести данные. Введите данные и нажмите клавиши Enter или Tab. Для перехода к пустой записи нажмите клавиши Ctrl + (символ “плюс”) или нажмите кнопку перехода по записям Новая запись Изменение значений полей, добавление или удаление данных и поиск данных выполняется в режиме таблицы. Ввод новых данных в выделенное поле автоматически заменяет старые. Количество вводимых символов зависит от размера поля, а не от ширины столбца. Текст не может быть разорван внутри ячейки. В одной ячейке нельзя отобразить несколько строк текста. Чтобы ввести одни и те же данные в несколько ячеек, выделите ячейки, наберите данные, а затем нажмите Ctrl+Enter. Для удаления данных в выделенном поле нажмите клавишу Delete. Замечание Для ввода числа и данных так, чтобы они хранились как текстовые данные, перед началом текста введите апостроф. Например, чтобы ввести шифр компонента 06-02-11 в качестве текста, а не значения времени, введите '06-02-11. Чтобы изменить формат ячеек, выберите их и на панели инструментов листа щелкните кнопку Панель свойств. Хранящаяся в базе данных информация может быть по-разному отображена на экране. Заданный для ячейки формат чисел определяет, каким образом отображаются числа в этой ячейке. При изменении формата числа, хранимое значение для числа не изменяется. В разделе Формат на панели свойств таблицы можно выбрать следующие форматы чисел:
Форматы даты Полный формат даты отображает число как дату и/или время. Различают следующие форматы даты:
Для вставки текущей даты в режимах таблицы и формы нажмите клавиши Ctrl+;. Форматы времени Различают следующие форматы времени:
1.12 Выделение записей или поля Для выполнения некоторых операций редактирования записи: копирования, перемещения, удаления, ее необходимо выделить. В режиме таблицы запись можно выделить следующими способами: 1. щелкнуть область выделения строки; 2. переместить курсор в запись и выбрать в меню Правка команду Выделить запись; 3. переместить курсор в запись и нажать клавиши Shift+Пробел. Если надо выделить несколько записей с клавиатуры нажмите клавиши Shift+Пробел, а затем Shift+стрелка-вверх или Shift+стрелка-вниз. Для выделения всех записей выберите в меню Правка команду Выделить все записи или нажмите клавиши Ctrl+A. Для выделения поля поставьте в него курсор и нажмите клавишу F2. Повторное нажатие клавиши F2 отменит выделение поля. Для выделения поля в режиме таблицы щелкните поле в области выделения поля. Для выделения поля в режиме конструктора щелкните область выделения поля таблицы. Для выделения нескольких полей в режиме конструктора щелкните область выделения для каждого поля таблицы, удерживая нажатой клавишу Ctrl. При редактировании записи в области ее выделения появляется изображение карандаша. Для возврата в первоначальное состояние поля, в котором находится курсор, после ввода в него символов выберите в меню Правка команду Отменить ввод или нажмите клавишу ESC. Чтобы вернуть всю запись в первоначальное состояние, оставьте курсор в этой записи и выберите в меню Правка команду Восстановить текущее поле или запись или перейдите в другое поле и выберите в меню Правка команду Восстановить запись. Копирование и перемещение записи выполняется с использованием команд меню Правка так же, как и в других программах. Удалить запись можно следующими способами: 1. выделите запись и выберите в Правка команду Удалить. 2. выделите запись и нажмите клавишу Delete; 3. нажмите кнопку Удалить запись на панели инструментов; 4. поместите курсор в любое из полей записи и нажмите клавиши Ctrl+ - (минус). Команда Строки в меню Вставка в режиме конструктора позволяет вставить новую строку над той строкой, где размещается курсор. Команду дублирует кнопка Добавить строки на панели инструментов. 1.14 Изменение структуры таблицы В ряде случаев в процессе работы с таблицей обнаруживается, что следует изменить ее структуру; нужно ввести новые поля, переименовать удалить или изменить тип существующих, изменить имя ключевого поля. Изменение структуры таблицы можно выполнять в режиме таблицы или в режиме конструктора. Рекомендуется, сделать резервную копию таблицы до изменения ее структуры с тем, чтобы избежать потери части данных. Изменение структуры таблицы в режиме таблицы Чтобы добавить поле, установить курсор в поле, расположенное слева от места вставки, и выберите в меню Вставка команду Столбец. Для удаления поля выделите ячейку в поле и выберите в меню Правка, команду Удалить столбец. Для изменения имени поля дважды щелкните область выделения этого поля и введите новый текст или установите курсор в поле и выберите в меню Формат команду Переименовать столбец. Изменение структуры таблицы в режиме конструктора Если вы хотите изменить последовательность полей таблицы, ввести новые или отредактировать имена, то в окне базы данных на вертикально расположенной панели Объекты выберите значок Таблицы, выделите имя редактируемой таблицы и перейдите в режим конструктора, выбрав в меню Вид команду Конструктор. Как и таблицы созданные в других программах, таблицы Microsoft Access можно форматировать: изменять ширину поле, высоту строк, применять различные шрифты. В качестве примера укажем, что для изменения ширины столбца, поставьте курсор в этот столбец и выберите в меню Формат команду Ширина столбца. На экране отобразится одноименное окно (рис. 1.19), в котором указывается ширина столбца. Стандартная ширина столбца в американской версии равна 15,6667, в русской версии — 15,4111. Кнопка По ширине данных подгонит ширину поля по самому длинному значению поля. Рис. 1.19. Окно, используемое для форматирования столбца по ширине Сохранение таблицы Для сохранения созданной таблицы выберите в меню Файл команду Сохранить или нажмите клавиши Ctrl+S. На экране отобразится окно Сохранение. В диалоговое окно Сохранение в поле Имя таблицы введите ее название. После того как вы закончите создание таблицы, закройте окно конструктора таблицы. 1.16 Связи между таблицами в базе данных Современные базы данных обычно содержат большое количество взаимосвязанных таблиц, что позволяет избежать повторов. Например, крупные фирмы могут хранить сведения о магазинах в одной таблице, номенклатуру товаров, полученных этими магазинами в текущем месяце в другой таблице, а сведения об оптовых покупателях в третьей таблице. Access позволяет работать одновременно с несколькими таблицами, каждая из которых должна содержать записи, посвященные определенной теме. Связь между ними устанавливается по общим для нескольких таблиц полям, например, номера магазинов, через которые осуществляется реализация товара. Желательно, чтобы в одной из таблиц общее поле было ключевым. Если таблицы взаимосвязаны, то изменения, выполненные в записи одной таблицы, могут влиять на записи в другой таблице. Для сохранения полноты и целостности данных Access накладывает определенные ограничения на ввод и редактирование данных, например, невозможно удалить запись из одной таблицы, если существуют связанные с ней записи в других таблицах. Виды связей между таблицами Реляционная база данных может содержать большое количество взаимосвязанных таблиц. Связи устанавливается между двумя общими полями (столбцами) двух таблиц. Связываемые поля могут иметь разные имена, но должны иметь одинаковый тип данных за исключением случая, когда поле первичного ключа является полем типа Счетчик. Поле счетчика связывается с числовым полем, если значения свойства Размер поля обоих полей совпадают, например, если свойство обоих полей имеет значение Длинное целое. Даже в том случае, когда связываются поля типа Числовой, их свойства Размер поля должны иметь одинаковые значения. Задав связи между таблицами, можно создать запросы, формы и отчеты для отображения сведений, представленных в нескольких таблицах. Между двумя таблицами могут существовать следующие связи:
Математически такие связи можно записать 1:1, 1:m, m:1 и n:m. Более широкое распространение получили связи один ко многим, Например, один и тот же товар со склада может вывозиться в разные магазины, и одной записи в таблице Склад будет соответствовать несколько записей в таблице Магазины, Таблица Склад будет главной таблицей, а Магазины — связанной. В главной таблице для описания объекта используется одна запись. Избежать дублирования записей в этой таблице позволяет первичный ключ. Две таблицы связывает общее поле, что позволяет объединить данные из двух таблиц для просмотра, редактирования или печати. Записи из таблиц, связанных с текущей таблицей, можно отображать в подтаблицах в пределах основной таблицы. Для обеспечения целостности данных нельзя произвольно удалять или изменять связанные записи. Например, в таблицу Магазины можно включать только те записи, которые содержат сведения о товарах, поступивших со склада. Использование ключевых полей для задания связи между таблицами В большинстве случаев ключевое поле одной таблицы связывают с совпадающим полем (внешним ключом) другой таблицы. Внешний ключ — это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Поле внешнего ключа определяет способ связывания таблиц — содержимое поля внешнего ключа должно совпадать с содержимым ключевого поля, хотя имена полей могут при этом не совпадать. Например, для связывания сотрудников с заказами, за которые они отвечают, следует создать между таблицами Сотрудники и Заказы связь с помощью полей КодСотрудника. Таблица Товары в демонстрационной базе данных Борей содержит поле внешнего ключа КодПоставщика, которое ссылается на ключевое поле КодПоставщика в таблице Поставщики. Внешний ключ может иметь значение Null; если внешний ключ состоит из нескольких полей, и хотя бы одно из них имеет значение Null, то все поля должны иметь значение Null. Для установления отношения многие-ко-многим необходимо создать третью (связующую) таблицу и добавить в нее ключевые поля из обеих таблиц. Например, в демонстрационной базе данных Борей имеются таблицы Заказы и Товары. Заказ может включать несколько товаров, а товар входить в несколько заказов. Необходимо создать связующую таблицу (таблица Заказано, которая имеет связь с отношением “один-ко-многим” с каждой из таблиц Заказы и Товары. Схема данных Для управления базой данных используются связи между таблицами. Для установки связей закройте все открытые таблицы и выберите команду Схема данных в меню Сервис или нажмите одноименную кнопку на панели инструментов в окне базы данных. Если между таблицами базы данных связи не были заданы, откроется диалоговое окно Добавление таблицы. Выберите в окне требуемые таблицы и запросы и нажмите кнопку Добавить. Они отобразятся в окне Схема данных. На рис. 1.20 показаны линии связи между таблицами учебной базы данных, поставляемой с Access. В каждом небольшом окне отображены списки полей одной из таблиц. Ключевые поля выделено жирным шрифтом. Таблицы, не имеющие первичных ключей, невозможно связать и в окне Схема данных они не отображаются. Рис. 1.20. Линии связи между таблицами базы данных Символы на линиях связи показывают тип связи. Символ бесконечности используется для обозначения “много”, и если мы видим на одной линии связи символы единицы и бесконечности, то между таблицами существует связь один ко многим. Можно связывать поля с разными именами, а также запросы с таблицами или запросами. Установление связи между таблицами Если вы хотите ввести новую таблицу в окно Схема данных и установить связь между таблицами, то выполните следующие действия:
Альтернативный способ. Для задания связи можно перетащить имя поля из списка полей таблицы и поместить его в другой список. При задании связи “один ко многим” первичный ключ первой таблицы перетаскивают в такое же поле во второй таблице. Таблица, из списка полей которой перемещают ключевое поле, является главной, а таблица, куда перемещают поле — связанной. Можно связывать поля, если совпадают тип данных и размер полей. Изменение связи между таблицами Для изменения связи между таблицами, выберите в меню Связи команду Изменить связь. В диалоговом окне Изменение связей нажмите кнопку Новое, чтобы создать связь (рис. 1.21). Рис. 1.21. Изменение связей между таблицами Чтобы изменить существующую связь, дважды щелкните ее мышью. При установке связей между таблицами в диалоговом окне установите флажок Обеспечение целостности данных, если имеется возможность обеспечить полное совпадение значений в выбранных полях в обеих таблицах. Чтобы связать совпадающие поля в главной и связанной таблицах, щелкните, пустую верхнюю ячейку в столбце Таблица/Запрос. В этой ячейке появится кнопка со стрелкой, открывающая список. Выделите в списке совпадающее поле. Затем щелкните, пустую верхнюю ячейку в столбце Связанная таблица/запрос и выберите имя требуемого поля. После того, как связь между таблицами установлена, их поля можно объединить в запросе, форме или отчете. Целостность данных Чтобы поддерживать связи между записями в связанных таблицах, и обеспечить защиту от случайного удаления или изменения связанных данных используется ряд правил, который обеспечивает целостность данных. Целостность данных позволяет предотвратить появление несвязанных записей. Обе взаимосвязанные таблицы должны принадлежать одной базе данных Access. Связанные поля должны иметь один тип данных. Два исключения сделаны для поля счетчика: оно может быть связано с числовым полем, свойство которого Размер поля имеет значение Длинное целое. Для поддержания целостности данных в связанных таблицах при обновлении или удалении записи в главной таблице, обеспечивается каскадное обновление или удаление всех связанных записей в подчиненной таблице или таблицах. Упражнение 1. Создайте таблицу с помощью мастера таблиц. Выберите в окне базы данных на панели Объекты значок Таблицы и дважды щелкните значок Создание таблицы с помощью мастера. Следуйте указаниям мастера таблиц. 2. Создайте таблицу в режиме конструктора. В окне базы данных на панели Объекты выберите значок Таблицы и дважды щелкните значок Создание таблицы в режиме конструктора. Введите имена полей, задайте их тип данных. Задайте свойства полей таблицы. 3. Создайте базу данных Кадры, содержащую следующую информацию: фамилия, имя, отчество сотрудника, его табельный номер, дата рождения, адрес, семейное положение, номер отдела, должность, оклад. Разработайте структуру таблицы БД и укажите первичный ключ. 4. Проследите взаимосвязь между таблицами учебной базы данных, поставляемой с Access, С этой целью выберите в меню Сервис команду Схема данных или нажмите одноименную кнопку на панели инструментов в окне базы данных.
Часть 2. Использование запросов для работы с данными Запрос позволяет получить из одной или нескольких таблиц базы данных необходимую информацию, отвечающей заданному условию, выполнить вычисления над данными, добавить, изменить или удалить записи в таблице. Например, запрос позволяет просмотреть в таблицах Клиенты и Заказы данные о клиенте и заказы, которые он разместил, подсчитать их стоимость. С помощью запроса можно обновлять данные в таблице, добавлять и удалять записи, Он может служить основой для формы или отчета. Назначение запросов:
В Access различают следующие типы запросов:
Наиболее часто используемым типом запроса является запрос на выборку. Например, из многостраничного железнодорожного расписания, вас могут интересовать только поезда, которые направляются в определенный город в заданно отрезке времени. Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений. Внесенные в таблицу изменения автоматически отображаются в запросе. По результатам запроса создается временная таблица, которая хранится в памяти компьютера. После сохранения запроса сохраняется только описание его конструкции, а не данные, полученные в результате запроса. Сохраненный запрос можно использовать многократно. Для просмотра результатов запроса в окне базы данных на вертикально расположенной панели Объекты выберите значок Запросы и дважды щелкните имя запросов списке (рис. 2.1). Рис. 2.1. Окно базы данных после выбора значка Запросы на панели Объекты Запрос можно открыть в режиме таблицы (рис. 2.2 или в режиме конструктора (рис. 2.?). Рис. 2.2 Отображение запроса на выборку в режиме таблицы Запрос можно создать с помощью мастера или в режиме конструктора. Как обычно, наиболее простой способ построения запроса предусматривает использование мастера. Режим конструктора позволяет задавать не только условия выбора данных, но и порядок сортировки. Запросы сохраняются как отдельные объекты и отображаются в окне базы данных. Сознание простого запроса с помощью мастера Замечание. Мастер простого запроса на выборку создает запросы для получения данных из полей, выбранных в одной или нескольких таблицах или в запросах. С помощью мастера можно также вычислять суммы, количества и средние значения для всех записей или определенных групп записей, а также находить максимальное и минимальное значение в поле. Для открытия окна мастера запроса в окне базы данных на панели Объекты выберите значок Запросы и дважды щелкните значок Создание запроса с помощью мастера (см. рис. 2.1). В окне Создание простых запросов в раскрывающемся списке Таблицы и запросы выберите таблицы и запросы, поля которых будут использоваться в запросе (рис. 24.3). В списке Доступные поля дважды щелкните имена используемых в запросе полей. Эти поля переместятся в список Выбранные поля. Нажмите кнопку Далее. Рис. 2.3 Окно мастера создания простых запросов Во втором окне мастера положением переключателя вам надо выбрать подробный (вывод каждого поля каждой записи) или итоговый запрос (рис. 24.4). Рис. 2.4 Выбор типа создаваемого отчета Итоговые запросы содержат поля, по которым группируются данные, и числовые поля, по которым определяют, например, суммарное, среднее, максимальное или минимальное значение. В итоговом запросе можно произвести подсчет количества записей в группе. Для добавления вычислений в результаты запроса нажмите кнопку Итоги и выберите нужные поля или установите флажок Подсчет числа записей в Итоги. В следующем окне мастера вам будет предложено дать имя запросу и положением переключателя определить дальнейшие действия: Открыть запрос для просмотра данных или Изменить макет запроса. После того как вы нажмете кнопку Готово, откроется запрос в режиме таблицы. Создание запроса в режиме конструктора Создание запроса в режиме конструктора предоставляет большие возможности по сравнению с мастером простого запроса. Замечание. Любые изменения в запрос следует вносить в режиме конструктора. Чтобы создать запрос в режиме конструктора на вертикально расположенной панели Объекты нажмите кнопку Запросы (см. рис. 2.1), а затем щелкните кнопку Создать на панели инструментов, В диалоговом окне Новый запрос выберите в списке в правой части окна элемент Конструктор и нажмите кнопку ОК. На экране отобразится окно запроса в режиме конструктора и диалоговое окно Добавление таблицы (рис. 2.5), которое позволяет выбрать, по каким таблицам и запросам или их комбинации будет создан новый запрос. Окно запроса разделено посредине по горизонтали. В верхней части окна отображены списки доступных в запросе полей всех таблиц, в нижней — спецификация запросов. Каждый столбец отображает поле, используемое для выделения тех записей, которые будут включены в запрос. Рис. 2.5 Выбор таблицы, для которой будет составлен запрос На вкладке Таблицы диалогового окна Добавление таблицы укажите название исходной таблицы. Нажмите кнопку Добавить, чтобы добавить список полей этой таблицы в верхнюю часть окна запросов. Для добавления полей таблицы в запрос можно дважды щелкнуть ее имя, При составлении запроса по нескольким таблицам выберите необходимые таблицы, а затем нажмите кнопку Закрыть. На экране отобразится окно, позволяющее выполнить настройку запроса в режиме конструктора (рис. 2.6), В нижней части окна отображен пустой бланк запроса, который предназначен для определения запроса или фильтра в режиме конструктора запроса или в окне расширенного фильтра. Рис. 2.6 Окно структуры запроса: 1 — список полей, 2 — бланк запроса В тех случаях, когда вас интересуют записи, отвечающих определенному условию, например, фамилии клиентов, сделавших заказ дороже определенной суммы, применяют запрос по образцу. При создании запроса вы даете, как бы образец (QBE, query by example — запрос по образцу), по которому будет составлен ответ или выполнены операции. Поэтому в более версиях Access использовался термин бланк запроса по образцу (QBE). Запросы составляются в интерактивном режиме. Включите в запрос таблицы и поля, которые вас интересуют, укажите условия выбора записей и какие вычисления необходимо произвести. Включить поле в запрос можно следующими способами:
Для ввода нескольких полей из списка можно удерживать клавишу Ctrl при выделении нужных полей в списке, а затем перетащите выделенные поля мышью. Access автоматически распределит выбранные поля по ячейкам строки Поле. Если выбрать в первой строке звездочку “*”, то это означает, что в ответе должны быть представлены все столбцы таблицы. Для выполнения сортировки результатов запроса по какому-нибудь полю переместите курсор в строку Сортировка этого поля и нажмите клавишу F4, для отображения вариантов сортировки: по возрастанию, пo убыванию или отсутствует. Более подробно выбор условий сортировки дальше в этой главе. Если вы в запросе используете какое-нибудь поле для указания условий отбора, но не хотите, чтобы оно было отображено в ответе на запрос, то снимите флажок в этом поле в строке Вывод на экран. Если вы хотите использовать текстовой критерий отбора, то введите необходимый текст в строку Условие отбора. Например, введите в эту строку слово фрукты для выяснения, на какую сумму продан именно этот товар. После нажатия клавиши Enter слово будет помещено в кавычки. Для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора текст приглашения, заключенный в квадратные скобки. Это приглашение будет выводиться при запуске запроса. Текст приглашения должен отличаться от имени поля, но может включать его. При желании пользователь может изменить или уточнить запрос, построить по результатам запроса графики. Более подробно выбор условий отбора записей в запросе рассмотрен ниже. Запуск запроса В режиме конструктора запрос можно запустить следующими способами:
Результаты ответа на запрос будут представлены в таблице. Чтобы прервать запуск запроса, нажмите клавиши Ctrl+Break. 2.3 Создание таблицы с помощью запроса Копировать строки в новую таблицу можно с помощью запроса на создание таблицы. Такие запросы применяются для создания подмножества данных для работы с ними или для копирования содержимого таблицы из одной базы данных в другую. Чтобы создать таблицу с помощью запроса, выполните следующие действия:
Рис. 2.7 Создание таблицы с помощью запроса
Посмотрите список таблиц в окне базы данных, и дважды щелкните значок таблицы, созданной по результатам запроса, чтобы просмотреть ее. При выполнении запроса на создание таблицы с помощью кнопки Запуск на панели инструментов конструктора запросов появляется сообщение, показывающее сколько строк было скопировано. Рис. 2.8 Предложение подтвердить запрос на создание таблицы 2.4 Выбор условий отбора записей в запросе В Access предусмотрено большое количество вариантов отбора записей из базы данных. Разберем некоторые широко распространенные условия отбора записей, используемые в запросе. Операторы Оператор — это символ или слово, например, = или Or, указывающие выполнение операции над одним или несколькими элементами. Операторы позволяют выполнять операции над элементами формулы. Access позволяет использовать различные типы операторов для вычислений на листе:
Запрос записей в определенном диапазоне значений может выполняться с использованием следующих операторов сравнения: = - равно; > - больше, чем; < - меньше, чем; <> - не равно; >= - больше или равно; <= - меньше или равно. Допустим, вас интересуют сотрудники, зарплата которых превышает 300 рублей. В строку Условия отбора введите: >300. Как правило, операторы сравнения используются в числовых полях или полях дат, но они могут применяться и в текстовых полях. Например, если ввести в текстовое поле условие отбора < ‘П’, то будут выбраны значения поля, начинающиеся после буквы П. Оператор LIKE Если вы не уверены в написании какого-либо слова, то можете использовать оператор LIKE и подстановочный знак. Напомним, что знак вопроса заменяет один символ, а звездочка * — группу символов. Например, выражение: LIKE П* выполняет поиск слов, начинающихся с буквы П. Выражение: LIKE П?Л выполняет поиск слов, пел, пал, пол и т.п. Под выражением подразумевается любая комбинация операторов, констант, значений текстовых констант, функций, имен полей (столбцов), элементов управления или свойств, результатом которой является конкретное значение. Выполнение стандартных вычислений наl значениями поля Одним из широко распространенных методов анализа табличных данных является использование следующих итоговых функций для полей с числовыми данными:
Выполнение групповых операций Столбец итогов может содержать итоговые данные для всех записей таблицы или сгруппированных по какому-нибудь принципу. Например, нас может интересовать максимальная или средняя цена товаров (поле Цена) каждого типа (поле Тип), представленных в таблице. Для использования итоговых операторов в указанной задаче выполните следующие действия:
Расширение условий отбора Для расширения условий отбора можно использовать строку или в бланке запроса. Например, вы хотите узнать объем продаж дорогих (дороже 2500 руб.) и дешевых (меньше 500 руб.) заказов. Введите в ячейку Условия отбора: >2500, в ячейку или <500. Условия, заданные в ячейке или, будут восприниматься как дополнительные. Использование вычисляемого поля Вычисляемое поле отображает данные, полученные в запросе по результатам расчета выражения. Значение поля пересчитывается при каждом изменении выражения. При составлении запроса с использованием вычисляемого поля введите в ячейку Поле бланка запроса, имя столбца, в котором будут: представлены результаты вычислений, и после двоеточия выражение в квадратных скобках. Например, если каждый заказ стоит 5 рублей и вы хотите вычислить стоимость всех заказов, сделанных каждым покупателем, то введите в ячейку Поле выражение: Стоимость:[Количество заказов]*5. Построитель выражений Для упрощения процесса добавления в запрос функций, констант, операторов и общих выражений можно использовать Построитель выражений. Для отображения окна построителя выражений (рис. 2.9) выполните следующие действия:
Рис. 2.9 Построитель выражений В верхней части диалогового окна построителя выражений расположено поле, отображающее выражение по мере его создания. Access часто помещает в это поле прототипы, заключенные в двойные угловые кавычки, вместо которых пользователь должен подставить нужные элементы. Следует либо ввести соответствующее значение, либо выделить прототип, и заменить его на элемент из правого списка. В средней части окна построителя находится раздел, предназначенный для создания элементов выражения. В нем расположены кнопки с часто используемыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию поля выражения. Например, вы можете нажать кнопку Like, чтобы не вводить это слово с клавиатуры. В нижней части окна построителя находятся три поля. В левом поле выводятся папки, содержащие таблицы, запросы, формы, объекты базы данных, встроенные и определенные пользователем функции, константы, операторы и общие выражения. В среднем поле задаются определенные элементы или типы элементов для папки, заданной в левом поле. В правом поле выводится список значений (если они существуют) для элементов, Например, если выбрать в левом поле Встроенные функции, то в среднем поле появится список всех типов функций Microsoft Access, в правом поле будет выведен список всех встроенных функций, заданных левым и средним полями. Чтобы вывести полный список операторов, выберите папку Операторы в нижнем левом поле и нужный тип в среднем поле. В правом поле будут выведены все операторы выбранного типа. Возможен непосредственный ввод части выражения в верхнее поле. Для возвращения в бланк запроса нажмите кнопку ОК, Построенное выражение будет вставлено в то поле, где расположен курсор. Имена полей при вводе в бланк запроса следует заключить в квадратные скобки. 2.5 Запрос на обновление записей Запрос на обновление записей позволяет изменять данные в существующих таблицах. Он вносит общие изменения в группу записей одной или нескольких таблиц. Например, необходимо внести изменения в таблицу в связи с тем, что на 10 процентов увеличивается зарплата сотрудников определенной категории. Можно задать условия отбора, например, возрастает зарплата только тех сотрудников, которые проработали больше трех лет. Для изменения группs записей с помощью запроса на обновление откройте запрос в режиме конструктора и выберите в меню Запрос команду Обновление или нажмите стрелку рядом с кнопкой Тип запроса на панели инструментов и выберите команду Обновление. Название окна запроса изменится на запрос на обновление. Перетащите из списка полей в бланк запроса поля, которые нужно обновить или которые должны использоваться в условиях отбора. Задайте условие отбора в ячейке Условие отбора. Названия полей заключите в квадратные скобки. Для полей, которые необходимо обновить, введите в ячейку Обновление выражение или значение, которое должно быть использовано для изменения полей. Чтобы просмотреть список записей, которые будут обновлены, нажмите кнопку Вид на панели инструментов. Выводимый список не будет содержать новых значений. Для возврата в режим конструктора запроса снова нажмите кнопку Вид на панели инструментов. Завершите создание запроса в режиме конструктора. Нажмите кнопку Запуск на панели инструментов, чтобы обновить записи. 2.6 Сознание многотабличных запросов Запрос на базе нескольких связанных таблиц создается в той же последовательности, что и из одной таблицы, только добавляется ввод имен дополнительных таблиц. Для создания многотабличного запроса в окне базы данных на панели Объекты выберите значок Запросы и нажмите кнопку Создать на панели инструментов. В диалоговом окне Новый запрос выделите Простой запрос и нажмите кнопку ОК. Укажите сначала имя первой таблицы или запроса, на котором должен быть основан создаваемый запрос, выберите поля, данные которых нужно использовать, а затем укажите дополнительную таблицу или запрос и выберите нужные поля. Повторяйте этот шаг до тех пор, пока не будут выбраны все необходимые поля. В верхней части макета видны линии связи между таблицами, а в нижней части на бланке запроса — имена таблиц и полей (рис. 2.10). Рис. 2.10 Многотабличный запрос Редактирование запроса в режиме конструктора Режим конструктора позволяет не только создать новый запрос, но и редактировать существующий. В этом режиме можно добавлять поля, задавать порядок сортировки и условия отбора. Чтобы открыть запрос в режиме конструктора, перейдите в окно базы данных, на панели Объекты выберите значок Запросы, выделите нужный запрос в правой части окна и нажмите кнопку Конструктор на панели инструментов. Если запрос уже открыт, то для перехода в режим конструктора в меню Вид выберите команду Конструктор или нажмите кнопку Вид на панели инструментов. Если вы захотите снять в запросе какое-либо поля, то в строке Вывод на экран снимите флажок в соответствующей ячейке. Чтобы удалить поле из бланка запроса, щелкните область выделения столбца и нажмите клавишу Delete. Для изменения положения поля в запросе поместите указатель в область выделения столбца, он примет вид жирной стрелки, направленной вниз. Щелкните мышью в области выделения и переместите выделенный столбец, удерживая нажатой кнопку мыши. Печать отчета по данным, полученным в результате запроса Таблицу, полученную по результатам запроса, можно напечатать, выбрав в меню Файл команду Печать. Рекомендуется сначала просмотреть отчет в окне Предварительный просмотр. Поиск информации в базе данных путем просмотра большой таблицы, содержащей тысячи записей, займет много времени. Access предлагает несколько способов поиска или замены нужных данных при выполнении поиска конкретного значения, одной записи или группы записей:
Поиск и замена значения в поле таблицы Для поиска значения в поле таблицы выберите команды Найти в меню Правка. Команду дублируют клавиши Ctrl+F или кнопка Найти на панели инструментов. На экране отобразится диалоговое окно Найти и заменить (рис. 2.11). Рис. 2.11 Поиск информации в базе данных Выберите объект в режиме таблицы или форму для поиска по всем полям во всех записях. Для ускорения поиска поставьте курсор в поле, по которому будет проводиться поиск, или в раскрывающемся списке Поиск в выберите поле для поиска. Слово или фразу введите в поле Образец. Нажмите кнопку Найти далее. Поиск только в текущем поле, особенно в индексированном поле, обычно выполняется быстрее. Первичный ключ таблицы индексируется автоматически. Создание индексов для полей с некоторыми типами данных не допускается. Быстрее всего операция поиска выполняется по полному значению поля или по первым символам в одном индексированном поле. Если приходится часто выполнять поиск в одном и том же неиндексированном поле, для этого поля полезно создать индекс. Раскрывающийся список Совпадение содержит три позиции, определяющих тип совпадений:
Раскрывающийся список Просмотр — позволяет выбрать направление поиска: Вверх, Вниз или Все. Флажок С учетом регистра — задает поиск с учетом регистра символов при сравнении с образцом, заданным в поле Образец. Флажок С учетом формата полей — устанавливают для поиска данных в указанном формате отображения (например, дата, сохраненная в формате 05.01.92, может выводиться как 05-янв-92). Такой поиск является обычно самым медленным. Снимите флажок для поиска данных по их значению. Если требуется заменить конкретные значения, обнаруженные при поиске, откройте вкладку Заменить. Для повышения скорости сортировки и поиска записей можно проиндексировать отдельное поле или комбинацию полей. Индекс — это средство, ускоряющее поиск и сортировку в таблицы за счет использования ключевых значений, которое позволяет обеспечить уникальность строк таблицы. Первичный ключ таблицы индексируется автоматически. Не допускается создание индексов для полей с некоторыми типами данных. Первичный ключ запрещает ввод в поле повторяющихся значений, Однако запрет на ввод повторяющихся значений может потребоваться и для других полей. Например, чтобы не повторялись номера пропусков сотрудников. Для нескольких полей, ввод в которые повторяющихся значений должен быть запрещен, можно использовать составной индекс. При создании индексов можно использовать поля разных типов. Для одной таблицы Access позволяет создать до 32 индексов, из которых пять могут быть составными. Составной индекс может включать до 10 полей. С увеличением количества индексов уменьшается скорость добавления новых записей, так как каждая новая запись требует добавления к ней индексов. Создание индекса для одного поля Создание индекса для одного поля покажем на примере таблицы Товары, Откройте ее в режиме конструктора. В верхней части окна нажмите кнопку выделения поля, для которого необходимо создать индекс (рис. 2.12). В нижней части окна на вкладке Общие выделите ячейку Индексированное поле и установите значение Да (Допускаются совпадения), если допускает дублирование данных для выбранного поля. Значение Да (Совпадения не допускаются) не допускает совпадения ни для каких двух записей значения этого поля. Сознание составного индекса Для создания составного индекса откройте таблицу в режиме конструктора и на панели инструментов Конструктор таблиц нажмите кнопку Индексы. Откроется окно Индексы, содержащее информацию обо всех индексах таблицы. На рис. 2.13 это окно показано для таблицы Товары. В первой пустой строке столбца Индекс введите имя индекса. Для этой строки можно использовать либо имя одного из индексируемых полей, либо другое подходящее имя. Рис. 2.12 Выбор свойства индексированного поля В столбце Имя поля нажмите кнопку раскрытия списка и выберите первое поле, для которого необходимо создать индекс. В следующей строке столбца Имя поля укажите второе индексируемое поле. Оставьте пустым для этой строки поле Индекс. Повторите эти действия для всех полей, которые необходимо включить в индекс. Допускается использовать до 10 полей. Рис. 2.13 Выбор свойства индексированного поля В верхней части окна индексов выберите новое имя индекса. В нижней части окна индексов в ячейке Уникальный индекс выберите значение Да. Отметим, что после создания индекса по умолчанию будет использоваться порядок сортировки По возрастанию. Чтобы сортировать некоторые поля по убыванию, установите для этих полей в столбце Порядок сортировки значение По убыванию. Современные СУБД позволяют различным образом отобразить содержащуюся в них информацию без изменения действительного размещения данных. Одним из наиболее эффективных методов упорядочивания данных по заданным полям является сортировка. В процессе сортировки текстовые записи можно сортировать в алфавитном порядке. Числовые, денежные, временные данные можно сортировать по возрастанию или убыванию, например, работнику коммерческой фирмы могут потребоваться сведения, кто из клиентов сделал наиболее дорогие заказы. Записи можно сортировать в режиме таблицы или в режиме формы. Более наглядно результаты сортировки отображаются в режиме таблицы. Если вы попытаетесь закрыть таблицу после сортировки, то появится запрос: Сохранить изменения макета или структуры таблицы. После закрытия формы измененный порядок сохраняется автоматически. Сортировка записей осуществляется в соответствии с порядком ключевых полей в бланке в режиме конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала определите ключ, а затем нажмите кнопку Индексы на панели инструментов и в окне Индексы и укажите другой порядок полей для индекса с именем PrimaryKey. Для сортировки данных по одному полю в режиме формы или в режиме таблицы установите в этом поле курсор и выберите в меню Записи команды Сортировка, Сортировка по возрастанию или Сортировка по убыванию. Команды дублируют кнопки Сортировка по возрастанию или Сортировка по убыванию на панели инструментов. Сортировка по нескольким полям одновременно Вы можете выделить в таблице два или несколько соседних столбцов, а затем выполнить по ним сортировку. В форме возможна сортировка записей только по одному полю. Набор условий, применяемых для отбора подмножества данных или для их сортировки, называется фильтром. Для сортировки данных в таблице по нескольким полям выберите в меню Записи команду Фильтр, Расширенный фильтр. На экране отобразится окно, в верхней части которого отображен список всех полей таблицы (рис. 24.17). Это окно используется для выбора полей, по которым будет выполняться сортировка. Можно перетащить мышью названия полей из списка в строку Поле. Названия полей, по которым будет производиться сортировка, можно выбрать в строке Поле из раскрывающегося списка. В Access сначала сортируются записи, расположенные в самом левом столбце, затем в следующем столбце справа и т.д. Условия сортировки: по возрастанию, по убыванию и т.д. задаются в строке Сортировка, После задания условий сортировки выберите в меню Фильтр команду Применить фильтр. Для отображения не отсортированной таблицы выберите в меню Записи команду Удалить фильтр. Если фильтр создается в форме или таблице, в которой уже есть фильтр, оставшийся от предыдущего сеанса работы, то новый фильтр замещает его. Фильтром называется набор условий, применяемых для отбора или сортировки данных. Применение фильтра позволяет ограничить количество просматриваемых записей и отобрать только те записи, которые удовлетворяют заданным условиям. Фильтры не сохраняются после закрытия таблицы или формы, поэтому их приходится создавать заново после открытия таблицы или формы. Для проведения отбора по определенным условиям укажите таблицу или форму и поле, по которому будет производиться фильтрация записей. Например, вас могут интересовать сотрудники фирмы, проработавшие в ней 5 лет. В Access поддерживаются различные способы отбора записей с помощью фильтров. Ниже рассмотрены два способа фильтрации: фильтр по выделенному фрагменту и расширенный фильтр. Фильтр по выделенному фрагменту В некоторых случаях нам надо найти в базе данных только те записи, которые содержат выделенное значение и служит образцом для отбора. Например, существует большая таблица с данными об автомобилях. Выделим в таблице поле 2109 в столбце Машины ВАЗ. При фильтрации по выделенному в таблице фрагменту останутся только записи о ВАЗ 2109. Для выполнения фильтрации выделите нужное значение и выберите в меню Записи команду Фильтр, Фильтр по выделенному или нажмите кнопку Фильтр по выделенному на панели инструментов. С помощью фильтра можно также отобрать те записи, которые в данном поле не содержат выделенное значение. Для создания фильтра выделите значение, щелкните его правой кнопкой мыши и выберите команду Исключить выделенное. Применительно к рассмотренному выше примеру после проведения фильтрации с исключением выделенного в столбце Машины ВАЗ отобразятся записи обо всех моделях ВАЗ, за исключением ВАЗ 2109. Расширенный фильтр Для создания сложных фильтров выберите в меню Записи команду Фильтр, Расширенный фильтр. На экране отобразится окно, рассмотренное в предыдущем разделе Применение сортировки. В ячейку Условия отбора введите критерии, по которым будет производиться фильтрация. В качестве критерия можно использовать различные выражения. Например, если вы хотите отобразить заказы стоимостью больше 1500 рублей и меньше 500 рублей (рис. 2.14), можно использовать логическую функцию OR. Для поиска записей, имеющих в конкретном поле пустые или непустые значения, введите в это поле выражение Is Null или Is Not Null. Рис. 2.14 Окно, позволяющее выполнить фильтрацию с определенным условием отбора Для выполнения фильтрации выберите команду Применить фильтр в меню Записи. Фильтры сохраняются автоматически при сохранении таблицы или формы. Таким образом, при повторном открытии таблицы или формы можно снова применить сохраненный фильтр. При сохранении запроса фильтр сохраняется автоматически, но условие фильтра не добавляется к содержимому бланка запроса. При повторном открытии запроса можно снова применить сохраненный фильтр. После окончания работы с фильтром для отображения всей таблицы выберите в меню Записи команду Удалить фильтр или выключить на панели инструментов кнопку Применить фильтр. Упражнения 1. В окне учебной базы данных Борей выберите таблицу Клиенты и проведите фильтрацию по выделенному значению в поле Должность. Упражнение можно выполнить следующим образом:
2. В окне учебной базы данных Борей проведите сортировку записей по полю Город. Упражнение можно выполнить следующим образом:
Часть 3. Создание и использование форм в Access 3.1 Назначение форм при работе с базой данных Для более удобного отображения информации, содержащейся в базе данных, используются формы. В повседневной жизни мы обычно заполняем формы, например, когда вносим плату за квартиру или телефон. В форме можно отобразить только одну запись, что облегчает работу с таблицами, которые имеют большое количество полей. В форме можно показать информацию сразу из нескольких таблиц. Экранные формы, могут отображать сразу несколько записей. В форме можно использовать раскрывающиеся списки, флажки. Применение различных элементов интерфейса позволяет более наглядно представить запись. Добавление к форме Windows Media Player позволяет воспроизводить файлы .avi (Audio-Video Interleaved) и .asf (ActiveX Streaming Format) с тем, чтобы пользователи могли расслабиться в процессе работы. В качестве фонового изображения можно использовать графические файлы с расширением .gif и jpg. Формы обычно используют для следующих целей:
Данные, приведенные в форме, берутся из полей базовой таблицы. Связь между формой и источником данных могут обеспечивать элементы управления, например, поля. Форму можно просматривать в трех режимах:
Для переключения между режимами просмотра формы можно использовать команды из меню Вид или щелкнуть стрелку рядом с кнопкой Вид на панели инструментов и выбрать требуемый элемент списка. Картинка на этой кнопке меняется в зависимости от режима просмотра. Ознакомимся с образцом формы, поставляемым с учебной базой Борей. В окне базы данных на вертикально расположенной панели Объекты выделим значок Формы, в списке форм дважды щелкнем значок Клиенты и просмотрим данные по ним. В верхней части окна формы отображается заголовок (рис. 3.1), ниже находится область данных. Форма может содержать поясняющий текст, графические элементы и элементы управления: текстовые поля, вычисляемые поля, счетчики, раскрывающиеся списки, кнопки переключателя, флажки, автоматизирующие ввод данных. Рис. 3.1 Форма с данными по клиенту Работу с формой облегчает ее красивое оформление. Для перемещения между полями формы используйте клавиши со стрелками или Tab. Для добавления сведений о новом клиенте нажмите кнопку Новая запись 3.3 Форма для работы с несколькими таблицами Access позволяет создавать формы, которые отображают данные из нескольких связанных таблиц. Например, каждый тип товара может иметь несколько наименований, Поэтому, данные в таблице Типы будут находиться на стороне отношения один, а в таблице Товары — на стороне многие. Различают главную форму и подчиненную. В подчиненной форме отображаются только записи, связанные с текущей записью в главной форме. Например, можно создать подчиненную форму для вывода данных из таблиц Заказы и Заказано. Когда главная форма отображает список заказов, подчиненная форма отображает только те товары, которые входят в выбранный заказ (рис. 3.2). Рис. 3.2 Главная форма, содержащая подчиненную форму Главная форма основана на таблице с первичным ключом, а на связанной с ней другой таблице — подчиненная форма. Подчиненная форма располагается внутри главной. Главная форма может содержать одну или несколько подчиненных форм. Можно создавать подчиненные формы до семи уровней вложенности, т.е. можно подчиненную форму разместить внутри главной формы, а другую подчиненную форму внутри этой подчиненной формы и т.д. Например, можно иметь главную форму, отображающую сведения о клиентах, подчиненную форму, отображающую сведения о заказах, и еще одну подчиненную форму, отображающую сведения о заказанных товарах. При использовании формы с подчиненной формой для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует, что записи из таблицы на стороне многие будут иметь связанную запись в таблице на стороне один. Это также автоматически сохраняет каждую запись, добавляемую в подчиненную форму. Главная форма может отображаться только как простая форма. Подчиненная форма может отображаться в виде таблицы, или в виде простой или ленточной формы. Предусмотрено несколько вариантов создания подчиненной формы: одновременно с главной или создание сначала подчиненной формы, которую добавляют в существующую, можно создать форму с двумя подчиненными формами. При создании формы удобно пользоваться диалоговым окном Новая форма (рис. 3.3). Отобразить это окно на экране можно следующими способами:
Рис. 3.3 Выбор метода создания формы Все таблицы и запросы, доступные в качестве источников данных формы приведены в раскрывающемся списке в нижней части окна. Автоформа Автоформа - это форма, которая содержит все поля источника записей и все поля из подчиненных источников-записей. Автоформа: в столбец для таблицы Заказы показана на рис. 3.4. Рис. 3.4 Форма с полями, расположенными в столбец Автоформу можно создать следующими способами: 1. Выбрать команду Автоформа в меню Вставка. 2. На панели инструментов в раскрывающемся списке кнопки Новый объект выбрать Автоформа. 3. С помощью мастера форм. 4. Используя режим конструктора. В диалоговом окне Новая форма (см. рис. 3.3) можно выбрать следующие виды автоформы:
Создание формы с помощью мастера Использование мастера — один из наиболее простых способов создания формы. Для отображения окно мастера создания формы в окне базы данных на вертикально-расположенной панели Объекты выделите значок Формы и дважды щелкните списке значок Создание формы с помощью мастера. Другой способ отображения окна мастера — в диалоговом окне Новая форма (рис. 3.3) выбрать в списке Мастер форм. В раскрывающемся списке Таблицы и запросы выберите источник данных (рис. 3.5). Дважды щелкните мышью имена полей, которые вы хотите переместить из списка Доступные поля в список Выбранные поля. Рис. 3.5 Выбор полей формы в окне мастера Если вы захотите изменить порядок полей в списке Выбранные поля, то нажмите кнопку < и верните выделенное поле в список Доступные поля. Рассмотрим процесс одновременного создания формы и подчиненной формы. Например, вы хотите создать форму Типы, которая выводит в подчиненной форме список товаров, относящихся к конкретной категории. 1. В диалоговом окне Новая форма дважды щелкните строку Мастер форм. 2. В первом диалоговом окне мастера выберите в списке таблицу или запрос. Например, чтобы создать форму Типы, которая выводит в подчиненной форме список товаров, относящихся к конкретной категории, выберите таблицу Типы.3. Дважды щелкните поля таблицы или запроса, которые нужно включить в форму. 4. В том же диалоговом окне мастера выберите из списка другую таблицу или запрос. В рассматриваемом примере выберите таблицу Товары. 5. Дважды щелкните поля таблицы или запроса, которые нужно включить в форму. Если до запуска мастера отношения установлены правильно, то после нажатия кнопки Далее мастер предложит выбрать вид представления данных. По умолчанию, в правой области окна вверху показаны поля главной формы, взятые из одной таблицы, а ниже в углубленной области — поля подчиненной формы из другой таблицы. Например, мы можем просматривать сведения о типах товаров в главной форме, отображая в подчиненной форме цены товаров выбранного типа. В рассматриваемом примере для создания формы Типы выберите в списке строку Типы (рис. 3.6).Рис. 3.6 Выбор вида представления данных 6. В том же диалоговом окне выберите переключатель Подчиненные формы. 7. Следуйте инструкциям остальных диалоговых окон мастера. После нажатия кнопки Готово Microsoft Access создаст две формы: одну для главной формы и элемента управления Подчиненная форма, а другую для подчиненной формы (рис. 3.7).Рис. 3.7 Главная и подчиненная формы Сознание формы в режиме конструктора Режим конструктора предоставляет наибольшие возможности по созданию и редактированию формы. Для создания новой формы в окне базы данных на вертикально расположенной панели Объекты выделите Таблицы или Запросы. Щелкните нужный объект базы данных в списке объектов в правой части окна, выберите команду Форма в меню Вставка или на панели инструментов в раскрывающемся списке кнопки Новый объект выберите Форма. В диалоговом окне Новая форма выделите в списке Конструктор и нажмите кнопку OK. Форма может быть разделена на 5 частей: Заголовок формы, Верхний колонтитул, Область данных, Нижний колонтитул и Примечание формы. При выводе на печать многостраничной формы заголовок отображается только на первой странице, а примечание внизу последней страницы. Можно не использовать в форме заголовок, колонтитулы и примечание. Эти разделы могут не отображаться при создании формы. Чтобы включить их в форму выберите в меню Вид команды Заголовок/примечание формы и Колонтитулы. Элементы управления формы расположены в области данных (рис. 3.8). Вы можете перемешать вертикальную линию, показывающую расположение правого поля формы, и горизонтальную линию, отмечающую положение нижнего поля формы, В окне конструктора формы видны линии сетки, расположенные на расстоянии одного сантиметра друг от друга. По линиям сетки удобно выравнивать столбцы и, строки элементов управления. Рис. 3.8 Создание формы в режиме конструктора Для расположения по линиям сетки элементов управления выберите в меню Формат команду Привязать к сетке. Команда По узлам сетки в меню Формат изменяет размеры элементов управления так, чтобы они соответствовали шагу сетки. Для включения и выключения отображения сетки выберите команду Сетка в меню Вид. В окне создания формы в режиме конструктора видна Панель элементов. Для ее отображения или скрытия можно использовать команду Панель элементов в меню Вид. На ней размещены кнопки элементов управления. Процесс ввода в форму элементов управления упрощается, если нажата кнопка Мастера на Панели элементов. Чтобы ввести кнопку в форму, щелкните ее кнопкой мыши, переместите мышь на место расположения в форме и, удерживая нажатой кнопку мыши, задайте размеры кнопки. Если необходимо ввести одну и ту же кнопку в несколько мест формы, то дважды щелкните кнопку на панели элементов. Для прекращения работы с кнопкой нажмите клавишу Esc. Чтобы создать подчиненную форму, отображаемую в режиме таблицы, перетащите таблицу или запрос из окна базы данных в форму в режиме конструктора. При этом автоматически запускается мастер создания подчиненных форм. Чтобы применить предварительно созданные стили форматирования ко всей форме или к выбранному объекту, при просмотре формы в режиме конструктора выберите команду Автоформат в меню Формат или нажмите кнопку Автоформат на панели инструментов. На экране отобразится диалоговое окно (рис. 3.9). Рис. 3.9 Выбор стиля оформления формы с помощью команды Автоформат Стиль выбирается в списке Форма — автоформат. Его особенности можно увидеть в правой части окна. Кнопка Параметры позволяет отобразить в нижней части окна три флажка дополнительных атрибутов. Снимите флажки тех атрибутов, которые вы не хотите применять в форме. Для создания специального стиля формы нажмите кнопку Настройка. На экране отобразится окно Настройка автоформата. Положения переключателя позволяют создать новый стиль на основе стиля объекта, обновить этот стиль или удалить. 3.6 Применение в форме полей различных типов Создание вычисляемого поля В форму можно вставить поля различных типов. В качестве примера рассмотрим вставку вычисляемого поля, отображающего результаты вычислений. Откройте форму в режиме конструктора. Нажмите кнопку Поле на панели элементов, расположенной на рисунке вдоль левой вертикальной границы окна. Указатель мыши в активной области формы примет вид символа поля, в верхнем левом углу которого отобразится значок +. Щелкните мышью место, где должно располагаться название нового поля. Измените в поле надпись поле на новое имя, например, Дата/время. Щелкните рядом поле, в котором будут отображаться результаты расчетов, с надписью Свободный и введите расчетную формулу. Вводимое в вычисляемое поле выражение должно начинаться со знака равенства. Для отображения текущей даты и времени компьютерных часов введите в вычисляемое поле выражение =Now (рис. 3.10). Нажмите кнопку Вид на панели инструментов для перевода формы в Режим таблицы и посмотрите, как отобразится значение Дата/время нового поля. Рис. 3.10 Создание в форме вычисляемого поля Если вы хотите изменить формат поля Дата/время, то вернитесь в режим Конструктор. Обратите внимание, Access добавил круглые скобки в вычисляемое поле и там отобразится выражение =Now(). Щелкните правой кнопкой мыши элемент управления и выберите в контекстном меню команду Свойства. Откройте вкладку Макет и выберите в раскрывающемся списке строки Формат поля нужный вам формат (рис. 3.11). Рис. 3.11 Выбор формата поля Применение списков и полей со списком Применение в форме таких элементов управления как списки и поля со списком позволяет выбирать нужные значения, а не вводить их, что облегчает работу пользователя и уменьшает количество ошибок. Эти элементы управления особенно удобны в тех случаях, когда, например, можно выбрать в списке сложные коды товаров. Рассмотрим использование поля со списком в форме, отображающей данные из таблицы или запроса. Для создания в форме поля со списком удобно пользоваться мастером. Откройте форму в режиме конструктора и нажмите сначала на панели элементов кнопку Мастера на Панели элементов для запуска мастера, затем кнопку Поле со списком. Переместите указатель мыши в форму. В активной зоне формы он будет иметь вид знака +, рядом с которым виден значок поля со списком. Выделите место, где будет располагаться поле со списком. На экране отобразится диалоговое окно Создание полей со списком (рис. 3.12). Поставьте переключатель в положение Объект “поле со списком” будет использовать значения из таблицы или запроса и нажмите кнопку Далее. В следующем диалоговом окне Выберите таблицу или запрос со значениями, которые будет содержать поле со списком (рис. 3.13) выберите таблицу в списке и нажмите кнопку Далее.
Рис. 3.12 Выбор способа получения значений, отображаемых в поле со списком В новом окне выберите поля, которые должны быть включены в поле со списком, и нажмите кнопку со значком >, чтобы перенести их в список Выбранные поля (рис. 3.14). Рис. 3.13 Выбор таблицы или запроса, значения которой будет содержать поле со списком В следующем диалоговом окне отображены списки значений для поля со списком. С помощью мыши измените ширину столбцов, если вы считаете, что они должны быть шире или уже предлагаемой величины. Ширина столбца должна позволять полностью отобразить данные, хранящиеся в нем. По умолчанию установлен флажок Скрыть ключевой столбец и этот столбец не отображается. Он используется как источник данных для выбранного вами поля (рис. 3.15). Рис. 3.14 Выбор полей, отображаемых в поле со списком Рис. 3.15 Задание ширины столбцов со списком и скрытие ключевого поля В последнем диалоговом окне задайте подпись, которую будет содержать поле со списком. Нажмите кнопку Готово и поле со списком будет включено в форму. После окончания работы с мастером нажмите кнопку Вид на панели инструментов и проверьте работу нового поля со списком в режиме формы. Упражнения 1. Создайте автоформу для одной из таблиц, представленных в учебной базе Борей. Для создания автоформы выберите команду Автоформа в меню Вставка. 2. Создайте форму для просмотра двух взаимосвязанных таблиц базы данных Борей. Упражнение можно выполнить следующим образом:
Отчетом называется организованная и отформатированная информация, взятая из базы данных и предназначенная для вывода на печать. Он может иметь вид таблицы или оформлен по разработанной пользователем свободной форме. Отчет позволяет выбрать критерии, согласно которым извлекается информация из базы данных. Его можно дополнить рисунками, диаграммами, комментариями. В отчете можно группировать и сортировать данные, представить данные на диаграмме, вычислить итоговое значение, например, определить выручку, полученную от продажи товаров на определенную дату. Отчеты позволяют задать внешний вид отображения информации в отпечатанном виде. Их можно использовать для анализа данных и передачи их в другие организации. Отчет можно отправить по электронной почте, опубликовать в Интернете. Отчет можно создать на базе одной или нескольких таблиц или запросов. Большая часть сведений в отчете поступает из базовой таблицы, запроса или инструкции SQL, являющейся источником данных для отчета. Остальные сведения отчета хранятся в его структуре. Просмотр отчета Для просмотра отчета перейдите в окно базы данных и на вертикально расположенной панели Объекты выделите значок Отчеты. Щелкните имя отчета в списке в правой части окна. Нажмите правую кнопку мыши при просмотре отчета, выберите команду Несколько страниц, а затем задайте число страниц для отображения. В качестве примера рассмотрим отчеты, представленные в учебной базе данных Борей, поставляемой с Access. При попытке открыть некоторые отчеты, может появиться окно, предлагающее ввести условия отбора данных, например, даты, определяющие отчетный период (рис. 4.1). Рис. 4.1 Окно, предлагающее ввести начальную и конечную даты отбора данных для отчета Отчет открывается в режиме предварительного просмотра (рис. 4.2). В верхней части виден заголовок отчета: Суммы продаж по годам. Кнопки панели инструментов Предварительный просмотр позволяют распечатать отчет, отобразить одну страницу отчета, две или несколько, публикацию в Word и анализ в Excel. Степень увеличения можно выбрать от 10 до 200% в раскрывающемся списке Масштаб. Рис. 4.2 Отображение отчета на экране Чтобы создать отчет, выделите таблицу или запрос в окне базы данных и выберите в меню Вставка команду Автоотчет или на панели инструментов в раскрывающемся списке кнопки Новый объект выберите Автоотчет. В результате будет создан отчет, содержащий все поля таблицы или запроса, расположенные в столбик (рис. 4.3). Рис. 4.3 Отчет, созданный после выбора команды Автоотчет 4.3 Создание отчета с помощью мастера Для более полного контроля над формой отчета можно использовать мастера отчетов. Чтобы запустить мастера, сначала отобразите на экране окно Новый отчет (рис. 4.4), одним из следующих способов:
Назначение элементов списка окна Новый отчет:
Рис. 4.4 Диалоговое окно, позволяющее выбрать метод создания отчета В нижней части окна выберите в качестве источника данных в раскрывающемся списке таблицу или запрос. После выбора элемента списка Мастер отчетов и нажатия кнопки ОК на экране отобразится окно Создание отчетов (рис. 4.5). Выделите нужное поле щелчком мыши в списке Доступные поля и нажмите кнопку с изображением правой стрелки > между списками. Выделенное поле переместится в правый список Выбранные поля, Выбранные поля будут отображены в отчете в виде строк. Рис. 4.5 Выбор полей для отчета с помощью мастера В раскрывающемся списке Таблицы/Запросы можно выбрать несколько таблиц или запросов, из которых будут выбраны поля для отчета. В следующем окне мастера в зависимости от выбранных полей может предлагаться группировка записей (рис. 4.6). Нажмите кнопку Группировка. Рис. 4.6 Окно, предлагающее выполнить группировку записей На экране отобразится диалоговое окно Интервалы группировки (рис. 4.7). Уровень группировки определяет уровень вложенности конкретной группы в отчете. Вложенные группы образуются при группировке наборов записей по нескольким полям, выражениям или источникам данных группы. Рис. 4.7 Задание интервалов группировки Первому уровню группировки присваивается номер 0; всего допускается существование до 10 уровней группировки в отчете. Текстовые поля могут группироваться по первой букве, по первым трем буквам и т.д. Access выведет в отчете вместе поля, имеющие одинаковые значения, например, в поле Должность могут быть сгруппированы все записи, в которых представлены начальники отделов. Если не требуется создание особых интервалов группирования, то в списке Интервалы группирования выберите Обычный. На следующем этапе определяется, в каком порядке: по возрастанию или убыванию будут сортироваться поля (рис. 4.8). Поле, имеющее самый высокий приоритет сортировки, выбирается в раскрывающемся списке 1. По умолчанию поля сортируются по возрастанию. Для сортировки по убыванию нажмите кнопку справа от поля. Кнопка работает как переключатель и при повторном нажатии порядок сортировки изменится на противоположный. Рис. 4.8 Выбор порядка сортировки полей Записи в группе можно сортировать по четырем полям по возрастанию или убыванию. В списке полей отсутствует ключевое поле, в котором записи сортируются автоматически. Нажмите кнопку Итоги и на экране отобразится окно, показанное на рис. 4.9. Установкой соответствующих флажков вы можете привести в отчете в качестве итоговых значений поля сумму (Sum), среднее арифметическое (Avg), минимальное (Min) и максимальное значение (Мах). Эти поля будут добавлены в конце отчета. Положением переключателя в разделе Показать позволяет отобразить в отчете данные и итоги или только итоги. В следующем диалоговом окне (рис. 4.10) мастер предлагает выбрать один из шести предлагаемых видов макета для отчета. Выбранный вид отображается в левой области окна. По умолчанию в диалоговом окне установлен флажок Настроить ширину полей для размещения на одной странице, что обеспечит лучшее использование пространства листа. В рамке Ориентация положением переключателя предлагается выбрать расположение листа при печати. Рис. 4.9 Выбор итоговых полей для вычислений в отчете Рис. 4.10 Выбор вида макета для отчета
В следующем диалоговом окне выбирается стиль отчета. Выбранный стиль отображается в окне предварительного просмотра в левой области окна. В последнем диалоговом окне вам предлагается задать имя отчета (рис. 4.11). В зависимости от положения переключателя вы можете Просмотреть отчет или Изменить макет отчета. По умолчанию после нажатия кнопки Готово мастер отобразит отчет в окне предварительного просмотра. Рис. 4.11 Выбор вида макета для отчета Установка флажка Вывести справку по работе с отчетом приведет к отображению соответствующей темы справки. 4.4 Сознание отчета в режиме конструктора Режим конструктора предоставляет наибольшие возможности в создании отчета. Для того чтобы открыть отчет в режиме конструктора перейдите в окно базы данных, выберите значок Отчеты в списке Объекты, выберите требуемый отчет и нажмите кнопку Конструктор или в диалоговом окне Новый отчет выберите элемент списка Конструктор. Если отчет уже открыт, то для перехода в режим конструктора нажмите кнопку Вид на панели инструментов. Часть формы или отчета, например, заголовок, примечание или область данных называется разделом. В режиме конструктора размещаемые в отчете разделы видны в виде полос.
Рис. 4.12 Отображение отчета в режиме конструктора Разделы печатаются следующим образом:
Для создания связи между отчетом и его исходными данными применяются элементы управления. Ими могут быть поля, содержащие имена или числа, надписи для заголовков. Поля можно помещать в любой раздел отчета, но, как правило, их размещают в области данных. Чтобы добавить в поле рамку текста, перетащите ее из списка полей таблицы или запроса, на основании которого сделан отчет, в отчет. Способ отображения сведений в каждом разделе определяется расположением элементов управления, такие как надписи и поля. Выделите элементы управления: поле, флажок, прямоугольник или кнопка, которые будут размещены в отчете. В меню Формат выберите команду Группировать. Отметим, что для создания группы нужно выделить хотя бы два элемента управления, |