№1
Самоучитель по СУБД Access 2003!
Microsoft ®
«ess 2003 С помощью этого дружественного руководства вы за короткое время освоите работу в среде популярной реляционной СУБД. Книга поможет вам: • оценить преимущества использования реляционных баз данных • проектировать настоящие базы данных • разрабатывать формы, облегчающие ввод и отображение данных • конструировать эффективные запросы, обеспечивающие выборку нужной информации • создавать информативные и наглядные отчеты • обмениваться информацией с другими источниками данных и готовить данные своих таблиц к публикации в Web
[дцдлЕктикд
Т.В. Тимошок
БАЗЫДАННЫХ:
ПРОЕКТИРОВАНИЕ, РЕАЛИЗАЦИЯ И СОПРОВОЖДЕНИЕ. ТЕОРИЙ И ПРАКТИКА. 3-Е ИЗДАНИЕ Томас Коннолли, Каролин Бегг
БАЗЫ ДАННЫХ Проектирование, реализация и сопровождение. Теорий и практика
Трртьв издание
www.williamspublishing.com в продаже
Авторы этой книги сконденсировали на ее страницах весь свой опыт разработки баз данных для нужд промышленности, бизнеса и науки, а также обучения студентов в университете Пейсли, Шотландия. Результатом их труда стало беспрецедентно полное справочное руководство по проектированию, реализации и сопровождению баз данных. Ясное изложение теоретического и практического материала, включающего детально разработанную методологию проектирования и реализации баз данных, а также подробное рассмотрение существующих языков и стандартов, делает эту книгу доступной и полезной как студентам, так и опытным профессионалам. Третье издание книги дополнено несколькими новыми главами, освещающими новейшие технологии в этой области — объектные базы данных, объектно-реляционные базы данных, использование СУБД в Web, использование хранилищ данных и средств комплексного анализа (OLAP), а также большим количеством новых примеров и переработанных упражнений. Ясное и четкое изложение материала, наличие двух полномасштабных учебных примеров и множества контрольных вопросов и упражнений, позволяет использовать эту книгу не только при самостоятельном обучении, но и как основу для разработки курсов обучения любых уровней сложности — от студентов младших курсов, до аспирантов, а также как исчерпывающее справочное руководство для профессионалов.
Microsoft6
ccess 2003
Microsoft
ceess 2001 T.B. Тимошок
дидлЕКПНда Москва • Санкт-Петербург • Киев 2004
ББК 32,973.26-018.2.75 T4I УДК 681.3.07 Компьютерное издательство "Диалектика" Зав. редакцией А.В. Слепцов
-
По общим вопросам обращайтесь в издательство "Диалектика" по адресу:
[email protected], http://www.dialektika.com
Тимошок, Т.В. Т41 Microsoft Access 2003. Самоучитель. : — М. : Издательский дом "Вильяме", 2004. 464 с. : ил. ISBN 5-8459-0643-I (рус.) Данное руководство предназначено для самостоятельного изучения последней версии популярной СУБД Microsoft Access 2003. В книге подробно описываются этапы проектирования таблиц реляционных баз данных, рассматриваются основы конструирования форм, запросов и отчетов, а также изложены применяемые в Access принципы форматирования и контроля данных. Отдельное внимание уделено вопросам использования макросов, операциям экспорта, импорта и связывания данных, а также подготовки данных к публикации в Web. Обсуждение ведется на практическом примере разработки базы данных для Internet-магазина. Помимо теоретических сведений книга включает подробные пошаговые инструкции и описания работы мастеров, а также врезки с полезной информацией. Благодаря лаконичному, понятному изложению книга будет доступна самому широкому кругу читателей. Для закрепления пройденного материала в коние каждой главы предлагаются тематические контрольные вопросы. ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства ''Диалектика". Copyright © 2004 by Dialektika Computer Publishing. All rights reserved including the right of reproduction in whole or in part in any form.
ISBN 5-S459-0643-I (рус.)
© Компьютерное изд-во "Диалектика", 2004
Оглавление Введение
13
Часть I. Основные понятия
17
Глава 1. Знакомьтесь — Access 2003 Глава 2. Основы интерфейса Access 2003 Глава 3. Справочная система Access 2003
18 30 46
Часть II. Создание базы данных
59
Глава Глава Глава Глава
60 77 93 116
4. Реляционные базы данных и их планирование 5. Создание новой базы данных 6. Создание и модификация структуры таблиц 7. Ввод данных в таблицу и их редактирование
Часть III. Работа с данными в базе данных Глава 8. Форматирование и контроль данных Глава 9. Создание и использование форм Глава 10. Ключи, связи и индексы таблиц Глава 11. Поиск, сортировка и фильтрация данных
127 128 155 198 216
Часть IV. Создание и использование запросов
235
Глава 12. Простые и многотабличные запросы Глава 13. Сложные запросы на выборку Глава 14. Автоматизация редактирования и управления данными
236 260 292
Часть V. Вывод данных на печать Глава 15. Подготовка простых отчетов Глава 16. Настройка и форматирование отчетов Глава 17. Создание более сложных отчетов с помощью мастеров
Часть VI. Более сложные вопросы использования Access Глава 18. Знакомство с макросами Глава 19. Работа с внешними данными Глава 20. Access и Internet Приложение. Ответы к тестам Предметный указатель
305 306 323 346
359 360 386 415 435 444
Содержание Введение Для кого предназначена эта книга Условные обозначения' Структура книги • Обратная связь Ждем ваших отзывов!
13 13 13 14 16 16
Часть I. Основные понятия
17
Глава 1. Знакомьтесь — Access 2003 Что представляет собой Access 2003 Объекты базы данных Microsoft Access Новшества Access 2003 Установка Access 2003 Резюме Глава 2. Основы интерфейса Access 2003 Запуск и завершение работы приложения Основные элементы интерфейса Access 2003 Основные типы окон Окно базы данных Окно таблицы Окно формы Окно запроса Окно конструктора Область задач, панели инструментов и меню Область задач Панель инструментов База данных Меню Access Комбинации клавиш Резюме Тесты Найдите правильный ответ Глава 3. Справочная система Access 2003 Поле Введите вопрос Вызов помощника Microsoft Office Справка об элементах интерфейса диалоговых окон Область задач Справка Access Поиск по ключевым словам Работа с оглавлением справки Поиск справочной информации в Internet Резюме Тесты Найдите правильный ответ
18 18 18 22 24 29 30 30 33 35 35 36 37 38 39 39 39 42 42 43 44 44 44 46 46 48 50 50 51 52 54 56 57 57
Часть II. Создание базы данных Глава 4. Реляционные базы данных и их планирование Немного теории Сплошные таблицы Реляционная БД Типы данных и их представление Основы проектирования баз данных Этап 1. Общее проектирование и цель создания базы данных Этап 2. Определение необходимых таблиц и полей базы данных Этап 3. Определение полей с уникальными значениями в каждой записи Этап 4. Определение связей между таблицами Этап 5, Усовершенствование структуры БД Этап 6. Ввод данных и создание других объектов БД Резюме Литература Тесты Найдите правильный ответ
Глава 5. Создание новой базы данных
59 60 60 60 61 65 67 68 69 73 73 74 74 74 75 75 75
77
Выбор способа создания и типа файла БД Способы создания базы данных Выбор формата для новой базы данных . Создание пустой базы данных Открытие и закрытие базы данных Как открыть базу данных Как закрыть базу данных Создание базы данных с помощью шаблона Резюме Тесты Найдите правильный ответ
79 80 80 83 83 91 91 91
Глава 6. Создание и модификация структуры таблиц
93
Создание таблиц с помощью мастера Построение таблиц вручную Создание таблицы в режиме конструктора Выбор первичного ключа Создание таблицы в режиме таблицы Изменение типа полей и реорганизация таблиц Изменение имен полей Изменение типов и размеров полей Добавление полей Копирование полей Перемещение полей Удаление полей Операции с таблицами Переименование таблицы Копирование таблиц в базе данных Копирование таблицы в другую базу данных Удаление таблицы
Содержание
77 77
93 98 99 101 105 106 107 107 109 109 ПО
113
7
Резюме Тесты Найдите правильный ответ Глава 7. Ввод данных в таблицу и их редактирование Добавление записей в таблицу Вводим в таблицу первую запись Вставка новых записей в таблицу Навигация по таблице Изменение существующих записей Замена содержимого поля Редактирование содержимого поля Перемещение и копирование содержимого полей Удаление и восстановление записей Резюме Тесты Найдите правильный ответ
113 113 116 116 116 117 118 119 120 121 122 124 124 125 125
Часть III. Работа с данными в базе данных
127
Глава 8. Форматирование и контроль данных
128
Форматирование данных
128
Текстовые и МЕМО-поля Числовые и денежные поля
129 130
Поля Дата/время
132
Поля логического типа Использование масок ввода и проверка значений Чему отдать предпочтение? Создание маски ввода с помощью мастера Создание маски вручную Проверка значений, вводимых в поле Другие опции области Свойства поля Изменение внешнего вида таблицы Отображение и сокрытие столбцов Закрепление и освобождение столбцов Выбор используемых шрифтов Изменение ширины столбца и высоты строк Диалоговое окно Формат таблицы Использование панели Формат Резюме Тесты Найдите правильный ответ Глава 9. Создание и использование форм Простейший инструмент — автоформа Создание форм с помощью мастера Конструктор форм Использование элементов управления Модифицирование формы Перемещение элементов управления Независимое перемещение элементов управления и их надписей 8
134 135 135 137 137 139 143 143 145 146 146 148 151 152 153 153 153 155 159 160 164 166 170 170 172
Содержание
Изменение размеров элементов управления и надписей Разделы формы Надписи Специальные элементы управления Создание списка или поля со списком Создание группы переключателей Создание элемента управления Кнопка Порядок обхода полей Когда форма радует глаз Панель инструментов Формат (форма/отчет) Форматирование текстовых элементов формы Средство Автоформат Создание и настройка линий и прямоугольников Резюме Тесты Найдите правильный ответ
Глава 10. Ключи, связи и индексы таблиц Определение связей между таблицами Обеспечение целостности данных в базе Редактирование и удаление связей между таблицами Индексация данных Многотабличные формы Отображение связанных записей в режиме таблицы Создание многотабличной формы с помощью мастера Резюме Тесты Найдите правильный ответ Глава 11. Поиск, сортировка и фильтрация данных Поиск и замена данных в таблицах Поиск данных с помощью команды Найти Использование команды Заменить Сортировка данных Фильтрация данных Поле Фильтр для Фильтр по выделенному Использование команды Исключить выделенное Фильтр по форме Расширенный фильтр Резюме Тесты Найдите правильный ответ
Часть IV. Создание и использование запросов Глава 12. Простые и многотабличные запросы Классификация запросов Создание запроса с помощью мастера простых запросов Другие типы мастеров запросов Конструктор запросов
Содержание
173 174 176 178 178 183 186 188 190 190 191 192 193 194 195 195
198 198 203 205 206 208 208 209 213 214 214 216 216 216 219 220 224 226 226
233
235 236 236 243
Многотабличные запросы Помощь мастера запросов Создание миоготабличного запроса в режиме конструктора Резюме Литература Тесты Найдите правильный ответ
Глава 13. Сложные запросы на выборку
250 250 253 257 257 257 257
260
Использование выражений 260 Компоненты выражений 260 Комбинирование условий с помощью логических операторов And и Or 264 Условие для одного поля с оператором And 264 Условие для одного поля с оператором Or 264 Условия для двух полей с оператором And 266 Условия для двух полей с оператором Or 266 Комбинация операторов Or и And 266 Групповые операции и вычисления 267 Использование строки Групповая операция в бланке запроса 268 Итоговые вычисления по всем записям таблиц 269 Группировка по одному полю 270 Условие отбора, заданное для поля группировки 272 Использование условий отбора до и после группировки 272 Группировка записей по нескольким полям 273 Вычисляемые поля 275 Формат вычисляемого поля 277 Условия отбора для вычисляемых полей . 278 Использование построителя выражений 279 Использование параметра в вычисляемых полях 280 Перекрестные запросы 282 Создание перекрестного запроса с помощью мастера 284 Резюме 288 Тесты 289 Найдите правильный ответ 289 Глава 14. Автоматизация редактирования и управления данными 292 Общая информация о запросах на изменение 292 Запрос на создание таблицы 293 Запрос на добавление записей 296 Запросы на удаление 298 Массовое обновление данных 300 Резюме 302 Тесты 302 Найдите правильный ответ 303
Часть V. Вывод данных на печать
зоз
Глава 15. Подготовка простых отчетов
306
Что такое отчет Автоотчет — простой, но мощный инструмент Использование мастера отчетов
10
306 308 309
Содержание
Режим предварительного просмотра и печать отчетов Диалоговое окно Параметры страницы Диалоговое окно Печать Печать других объектов Access Резюме Тесты Найдите правильный ответ Глава 16. Настройка и форматирование отчетов Общая структура отчета Настройка отчета в режиме конструктора Операции с элементами управления отчета Нумерация страниц и указание даты Форматирование отчета Обрамление, разделение страниц и вставка рисунков Использование линий и прямоугольников Разделители страниц Добавление рисунков в отчеты Группирование и сортировка записей в отчетах Добавление вычисляемых элементов управления Резюме Тесты Найдите правильный ответ Глава 17. Создание более сложных отчетов с помощью мастеров Генерация почтовых наклеек Использование мастера диаграмм Построение исходного запроса для диаграммы Создание диаграммы с помощью мастера Резюме Тесты
Найдите правильный ответ
Часть VI. Более сложные вопросы использования Access Глава 18. Знакомство с макросами Макросы: общие сведения Что такое макрос Когда используются макросы Создание макросов Окно конструктора макросов Ввод макрокоманд и аргументов Операции с макросами Изменение макроса Операции на уровне макросов Запуск макроса Группы макросов и их запуск Управление выполнением макросов Что такое условие Указание условия выполнения отдельной макрокоманды Указание условий выполнения нескольких макрокоманд
Содержание
315 317 319 319 320 321 321 323 325 326 326 328 328 330 330 331 331 334 339 343 344 344 346 346 350 351 352 356 357
357
359 360 360 360 362 363 363 366 368 369 373 374 375 377
11
Отладка макросов Отладка макроса в пошаговом режиме Диалоговое окно ошибки выполнения макроса Другие способы запуска макросов Запуск макроса из другого макроса Запуск макроса при открытии базы данных (макрос AutoExec) Запуск макроса с помощью комбинации клавиш (макрос AutoKeys) Резюме Тесты Найдите правильный ответ Глава 19. Работа с внешними данными Обмен данными с другими приложениями Импорт и связывание данных и объектов базы данных Чему отдать предпочтение? Работа с объектами из другой БД Microsoft Access Импорт и связывание данных из электронных таблиц Использование данных текстовых файлов Диспетчер связанных таблиц Экспорт данных и объектов БД Access Экспорт объектов в проект или другую базу данных Access Экспорт данных в текстовый файл Экспорт данных Access в электронные таблицы Использование команд Связи с Office Резюме Тесты Найдите правильный ответ
378 379 380 380 381 382 383 384 384 386 386 388 388 390 391 398 403 404 404 405 408 410 412 413 413
Глава 20. Access и Internet Поддержка Internet-технологий в Access Статические HTML-страницы Импорт и связывание HTML-документов Создание страниц доступа к данным Использование инструмента Автостраница Знакомимся с возможностями мастера страниц доступа к данным Сохранение объектов Access в виде страниц доступа к данным Гиперссылки — ввод и использование Формат гиперссылок в Access Ввод и редактирование гиперссылок Резюме Тесты Найдите правильный ответ
415 415 416 417 420 420 422 426 428 429 430 431 432 432
Приложение. Ответы к тестам
435
Предметный указатель
444
12
Содержание
Введение Причины, побудившие вас обратиться к такому программному продукту, как Microsoft Access 2003, могут быть разными. Но дель, которую вы ставите перед собой, открывая данную книгу, одна: самостоятельно, быстро и максимально эффективно освоить работу в среде Access 2003. В настоящее время Microsoft Access уверенно занимает лидирующее положение среди СУБД для настольных систем, функционирующих под управлением операционной системы Windows. Самоучитель научит вас продуктивно и с удовольствием работать, используя удобные инструментальные средства пакета Access 2003, и на практике применять теорию реляционных СУБД для создания отвечающих современным требованиям приложений баз данных. Книга включает необходимые теоретические сведения, подробные пошаговые инструкции и описания работы мастеров, иллюстрации и врезки с полезной информацией. Естественно переходя от темы к теме и применяя полученные знания на компактном, но включающем все необходимые элементы примере (разработка базы данных для Internet-магазина), вы сможете быстро разобраться с возможностями, предоставляемыми программой Access 2003, и по достоинству оценить потенциал этой системы.
Для кого предназначена эта книга Книга рассчитана на пользователей с различным уровнем подготовки. Если вам еще не доводилось иметь дело с базами данных вообще и Access в частности, — внимательно ознакомьтесь с информацией главы 4, Реляционные базы данных и их планирование, чтобы получить общее представление о той области, в которой вам предстоит осваиваться. К чести разработчиков программы Access следует отметить, что данная система как нельзя лучше подходит для тех, кто намерен изучить основы управления реляционными базами данных. Технология освоения этого нового пространства — именно то, что предлагает данный самоучитель. Если вы относите себя к специалистам в области баз данных и ранее работали с другими СУБД, книга поможет вам быстро применить свои знания в приложении к новой системе. Предлагаемый в начале книги теоретический материал познакомит вас с терминами, принятыми для управления базами данных в приложении Access 2003, а оглавление и предметный указатель помогут быстро найти интересующую вас информацию.
Условные обозначения В тексте книги с помощью специальных пиктограмм и врезок акцентируется внимание на важных моментах изложения материала. Ниже поясняется значение каждой из используемых пиктограмм. Совет. Ценные указания, позволяющие сделать вашу работу более эффективной.
На заметку'. Полезная информация по изучаемому вопросу, которую следует принять к сведению. Внимание. Информация, выделенная таким способом, заслуживает самого серьетного внимания, поскольку ее можно отнести к разряду критически важной. Выделенные этой пиктограммой сведения призваны оградить вас от неверных шагов, последствия которых могут представлять угрозу для самого ценного, что есть у вас при работе с программой Access, — непосредственно данных.
Технические подробности Дополнительные сведения, которые не только расширят ваши знания о рассматриваемом в данный момент аспекте программы Access, но и помогут эффективнее работать, а также наметят ориентиры для более глубокого изучения этой СУБД.
Помимо врезок, определенные слова и фразы в тексте книги выделены с использованием специальных шрифтов, что облегчает и делает более результативным общение с самоучителем. При оформлении книги приняты следующие соглашения. 1. Элементы пользовательского интерфейса (текстовые элементы, которые появляются на экране компьютера, например команды, кнопки, опции, имена объектов Access) выделены таким стилем. Если для выполнения какой-либо команды необходимо последовательно открыть несколько меню (как, например, в инструкции "Выберите команду Формат^ Интервал по верти кали ^Сделать равным"), то следует сначала щелкнуть на меню Формат, затем поместить указатель на элемент Интервал по вертикали и, наконец, щелкнуть на команде Сделать равным открывшегося дополнительного меню. 2. Курсивом выделены новые термины, а также наименования глав и разделов. 3. Имена и расширения файлов, а также конкретные значения данных выделены так: Борей.mdb. 4. Названия и комбинации клавиш заключены в угловые скобки, например .
Структура книги Особенность данной книги отражена в ее заголовке — Самоучитель, т.е. помощник, способный "с нуля" привести читателя к поставленной цели: эффективной работе в Access. Поэтому логика изложения материала также подчинена принципу "от простого — к сложному". Книга содержит шесть частей. Главы каждой из частей самоучителя включают несколько разделов, посвященных конкретным аспектам Microsoft Access 2003. Наряду с теоретическими сведениями обязательно приводятся примеры использования этих знаний на практике. В конце каждой главы (за исключением первой, вводной) предлагаются тесты, которые помогут вам закрепить пройденный материал. Ответы на тестовые задания приводятся в приложении в конце книги.
Часть 1. Основные понятия В этой части дается краткий обзор основных возможностей приложения Microsoft Access 2003, включая усовершенствованные средства и новинки этой последней версии. Access в первую очередь следует установить на вашем компьютере, поэтому в главе I указаны требования к аппаратному и программному обеспечению, предъявляемые этим приложением пакета Microsoft Office 2003. В этой главе также приводится подробная пошаговая инструкция для выборочной установки компонентов программы Access 2003 с дистрибутивного компакт-диска. В главе 2 вы познакомитесь с различными способами запуска программы Access и корректного выхода из нее, получите первое представление об основных элементах ее экранного интерфейса, а также основных видах окон приложения, включая окна базы данных, таблицы, формы и запроса. Отличительной особенностью системы Access является то, что набор кнопок, находящихся на панелях инструментов, число панелей, появляющихся на экране, а также список команд, предлагаемых различными меню, — все это зависит от текущего режима работы Access и востребованности тех или иных команд пользователем. Глава 2 позволяет освоить альтернативный путь выполнения многих операций и команд — использование функциональных клавиш и комбинаций клавиш, которые заметно ускоряют работу в Access.
14
Введение
В главе 3 подробно описывается, как воспользоваться интерактивной справочной системой Access, которая в версии 2003 заметно преобразилась и в еще большей степени стала Inter net-ориентированной.
Часть II. Создание базы данных Чтобы в полной мере воспользоваться всеми возможностями СУБД Access, следует в первую очередь четко определиться с основными понятиями реляционных баз данных. Поэтому в главе 4 изложены необходимые на практике сведения по теории реляционных баз данных. Применительно к СУБД Access рассматриваются такие фундаментальные понятия, как база данных, таблица, записи, поля и ключи, а также затрагиваются вопросы нормализации таблиц БД. На конкретном реальном примере (работать с которым вам предстоит на протяжении всех последующих глав) лаконично и доступно проиллюстрированы основные этапы проектирования реляционных баз данных, включая выбор структуры и типов полей для будущих таблиц. В главе 5 вам предстоит первый серьезный шаг в деле практического освоения СУБД Access — знакомство с двумя способами создания новой базы данных: по готовому шаблону или "с нуля". В приложении Access создать таблицу для последующего ввода в нее данных можно разными методами. Все эти методы, а также средства Access, позволяющие определить первичные ключи и внести изменения в структуру таблиц, будут подробно рассмотрены в главе 6. Ознакомившись с материалом, изложенным в главе 7, можно смело приступать к вводу и редактированию данных в таблицах.
Часть 111. Работа с данными в базе данных Эта часть включает следующие четыре главы. Из главы 8 вы узнаете о таких важных вещах, как форматирование данных и контроль ввода информации, а также освоите возможности программы Access по изменению внешнего облика таблицы, которые позволяют сделать работу с таблицами более эффективной и удобной. Глава 9 целиком посвящена таким объектам Access, как формы; их созданию, настройке и усовершенствованию с помощью инструментальных средств конструктора форм, а также применению визуальных эффектов, превращающих стандартную форму в удобное и эффективное средство работы с записями таблиц. В главе 10 речь пойдет о том, как создавать, редактировать и удалять связи между таблицами, указывая при необходимости опции обеспечения целостности данных. Среди основных задач, выполняемых базами данных, поиск нужной информации занимает одно из ведущих мест. Материал главы 11 большей частью будет посвящен поисковым операциям в таблицах, выполнить которые можно, не прибегая к запросам (запросы — это материал уже следующей части книги). Кроме того, в этой главе вы познакомитесь с доступным в программе Access инструментарием сортировки и фильтрации данных.
Часть IV. Создание и использование запросов Данная часть посвящена наиболее эффективному механизму получения актуальной информации из базы данных— запросам. В главе 12 рассматриваются типы запросов, поддерживаемые Access, а также на многочисленных примерах демонстрируется построение запросов как с помощью мастеров, так и в режиме конструктора запросов. В главе 13 прежде чем перейти к рассмотрению сложных запросов на выборку (в том числе с использованием логических операторов и вычисляемых полей), вам будет предложено систематизировать свои знания о выражениях, широко применяемых в программе Microsoft Access. В главе 14 речь идет о запросах на изменение, с помощью которых можно удалить записи, добавить новые, а также выполнить массовое обновление данных одной или нескольких таблиц.
Введение
15
Часть V. Вывод данных на печать Эта часть открывает новые перспективы для ваших данных, а именно позволяет освоить построение и вывод на печать самых разных отчетов. Глава 15 знакомит с типами отчетов, поддерживаемыми программой Access, и простыми инструментами создания несложных отчетов. В главе 16 будут рассмотрены основные операции, применяемые при модифицировании существующих отчетов и разработке новых отчетов "с нуля" в режиме конструктора отчетов. Глава 17 посвящена использованию двух специальных мастеров Access, под руководством которых можно создавать отчеты, отформатированные для печати почтовых наклеек, и отчеты, включающие диаграммы.
Часть VI, Более сложные вопросы использования Access В трех главах заключительной части книги обсуждаются некоторые более сложные, но необходимые в работе аспекты использования Access. Глава 18 расскажет вам о том, что представляют собой и как работают макросы — объекты базы данных, готовые взять на себя автоматизацию простых повторяющихся действий в приложении Access. Программу Access смело можно назвать в высшей степени дружественной по отношению к другим приложениям, имеющим дело со структурированными данными. Вопросам экспорта данных Access в другие программы и СУБД, а также способам получения информации из внешних источников посвящена глава 19. Кроме того, глава 20 дает общее представление о тех возможностях программы Access, которые позволяют сделать данные из таблиц базы данных, результаты выполнения запросов, а также формы и отчеты доступными через Internet и intranet. Объектами внимания этой главы будут статические HTML-страницы, гиперссылки и страницы доступа к данным. В книгу включено одно приложение, которое дает возможность ознакомиться с правильными ответами на вопросы тестов, предложенных в конце каждой главы.
Обратная связь На соответствующей странице Web-сайта издательства "Диалектика" (www.dialektika.com) доступна учебная база данных (интернет-аптека.mdb), иллюстрирующая изложенный в самоучителе материал. Она включает все рассматриваемые в примерах этой книги объекты Access: таблицы, формы, запросы, отчеты, страницы доступа к данным и макросы.
Ждем ваших отзывов! Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еше вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг. Наши координаты: E-mail: infoidialektika. com WWW: http: / / w w w . d i a l e k t i k a . com Информация для писем из: России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152
16
Введение
Основные понятия В этой части.. Глава 1. Знакомьтесь — Access 2003 Глава 2. Основы интерфейса Access 2003 Глава 3. Справочная система Access 2003 В этой части дается краткий обзор основных возможностей приложения Microsoft/ Access 2003, включая усовершенствованные средства и новинки этой последней версии. Access, в первую очередь, следует установить на вашем компьютере, поэтому в главе 1 перечислены требования к аппаратному и программному обеспечению, предъявляемые этим приложением пакета Microsoft Office 2003. В этой главе также приводится подробная пошаговая инструкция для выборочной установки компонентов программы Access 2003 с дистрибутивного компакт-диска. В главе 2 вы познакомитесь с различными способами запуска программы Access и корректного выхода из нее, получите первое представление об основных эле ментах ее экранного интерфейса, а также основных видах окон приложения, включая окна базы данных, таблицы, формы и запроса. Отличительной особенностью системы Access является то, что набор кнопок, находящихся на панелях инструме тгов, число панелей, появляющихся на экране, а также список команд, предлагаемых различными меню, — все это зависит от текущего" режима работы Access и востребованности тех или иных команд пользователем. Гдава 2 позволяет освоить альтернативный путь выполнения многих операций и команд — использование функциональных клавиш и комбинаций клавиш, которые заметно ускоряют работу в Access. В главе 3 подробно описывается, как воспользоваться интерактивной справочной ".системой Access, которая в версии 2003 заметно преобразилась и в еще большей степени стала Internet-ориентированной.
Глава 1
Знакомьтесь — Access 2003 В этой главе... Что представляет собой Access 2003 Установка Access 2003 Резюме
Что представляет собой Access 2003 Microsoft Access 2003 — это программное обеспечение, которое относится к категории систем управления базами данных (СУБД) и является одним из продуктов пакета Microsoft Office 2003. Вопросам организации данных в Access 2003 посвящена глава 4, Реляционные базы данных и их планирование, но, обобщая, можно сказать, что основная функция как Access, так и любой СУБД — это работа со структурированной в виде таблиц информацией. Программа Access позволяет обеспечить ввод данных в таблицы базы данных, их хранение и сопровождение, а также получать из совокупности этой информации нужные данные, необходимые при принятии важных бизнес-решений.
Объекты базы данных Microsoft Access Применительно к приложению Microsoft Access база данных — это совокупность объектов различного типа (и назначения), которые используются для хранения, отображения и вывода на печать ваших данных, а также содержат созданный вами программный код. СУБД Access работает со следующими типами объектов: таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули. Все они сгруппированы по категориям и отображаются в окне базы данных (рис. 1.1). Ниже мы кратко охарактеризуем основные типы объектов Access, речь о которых пойдет в этой книге. • Таблицы. Фундамент вашей базы данных и любого приложения, разрабатываемого в Microsoft Access. Все остальные объекты БД так или иначе связаны с таблицами и зависимы от них, поскольку оперируют данными, которые хранятся в таблицах. Табличные данные отображаются в привычном формате строк (записей в терминологии СУБД Access) и столбцов (полей), как это видно из рис. 1.2. При открытии таблицы в режиме просмотра (режиме таблицы) на экране можно увидеть все поля и все записи, хранимые в таблице. Правильно спроектированная база данных Access чаще всего включает несколько таблиц, объединенных между собой посредством так называемых связей. Благодаря связям информация из одной таблицы становится доступной для другой, что позволяет обеспечивать целостность данных в и упрощает поддержку всей БД. • Формы. Как правило, используются для работы с индивидуальными записями из одной или нескольких таблиц базы данных (рис. 1.3). С помощью форм можно вводить информацию в таблицы, редактировать и удалять ее, а также ограничить доступ к данным и отображать их только в режиме просмотра.
^=шш Объекты „j
Таблицы
ЗР
Запросы
П
Л Форны
1 Отчеты __J
Стр»М1Ь!
'2
Макросы
ait
Мод/пи
Создание отчета в режиме конструктора
•Список товаров;
Создание отчета с гомошью мастера
Суммы продаж по г одап
Итоги продам по объепу
Сунны продаж по квар'впэп
Каталог
Счет
Наклейки для клиентов
Товары по типач
Подчиненней для каталога Подчиненный для про да* по гадам Подчиненней для продал па типам Продажи по голая Продажи по сотрудникам и странам Ппооаии по т план
Группы JJa №6ранное
1
JJ
Рис. 1.1. Доступ ко всем объектам базы данных Microsoft Access, сгруппированным по типам, осуществляется через окно базы данных *К„„-™|:Г.6,1,Ш,
Коя клиента
|BNKf|№
• ANATR - ANTON * AROUT • BERGS - BLAUS • BLONP • BOLD • BONAP • . BOTTM • BSBEV - CACTU
Название Alfreds FutlerkistE Ana Trujillo Emparelados Anlonio Moreno Taquena Around the Horn Berglutids Enabbkop Blauer See Delikatessen 8lonrJel pere el (its Bohdo Commas pieparadas Bon app' BoHorn-Oollsr Markets 6's Beverages Cactus Corn id as para I'evar
ашсь: ИР ||
l JJiill-jK.91
L'
| Щ
Обращаться к Maria Artdeis Ana TrujiBo Antonio Moreno Thomas Hardy Christina Berglutid Harina Moos Fredenque СПеэик Martin Summer Laurence Leci>i3n Elizabeth Lincoln Victoria AsrWorth Palncio Simpson
'i
Адрес Прадстаеитель Obere SI- S7 Совладелец ,A«Ja de la Conslilucion 2222 Совладелец Maladeras 2312 Представитель 1 20 Hanover Sq. Координатор Bergiivsvagen S -Forslerslr 57 Представитель Глав ний мен еду p -24, place Kleber Совладелец C/Aiaquil.67 -12. rue des Bouchers Совладелец Byiranrep :23 Tsawassen Bh/d Предпавигепь ;Fauntleroydicus Продавец Cerrrto 333 ДОЛЖНО ЕТЬ
i
1
'
,
£
Рис. 1.2. Информация о клиентах структурирована и размещена в таблице Access 2003
Клиенты
Рис. 1.3. В форме отображается информация из одной строки таблицы Access
Запросы. Мощный инструмент управления данными, позволяющий извлекать из таблиц базы данных сведения, которые соответствуют определенному критеГлава 1. Знакомьтесь — Access 2003
19
рию (рис. 1.4). С помощью запросов можно автоматизировать процесс обновления или удаления записей из одной или нескольких таблиц, а также выполнять вычисления, основываясь на значениях, хранимых в таблице.
Rosibratmirst Mishi Kobe Niku 's Mairnalade lf 6 =^b^^^^^ Lj ^ Rp^ ?'^ — rrr^i — I1 1 I ^атарусп Cimaffmn Ti ftaecs СамыеДемгтТамеь': Марке U'«l " "[RactelleCourdav^ft l*d таблицы^ Тиары Тоач** Ссртцрикв; по УЙВ1ММШ-; Ma^imi^i Dn'ed Apples. Вывод па 5rp*i Твг1й au sucra >'(ПОВИЙ QT&Jpai Ipoh Coffee -
и
в
Рис. 1.4. Запросы позволяют выполнять статистическую обработку данных из одной или нескольких таблиц Access
Отчеты (рис. 1.5). Прочно ассоциированы со словом "печать", поскольку основное их назначение — преобразование данных из виртуальной электронной формы во вполне осязаемую, бумажную, неизменный конечный продукт любой системы автоматизированного документооборота. Средства генерации отчетов Access позволяют вывести отформатированные данные и результаты итоговых расчетов на печать в наиболее презентабельном виде, в том числе в виде графиков и диаграмм. ilBJSl
Список товаров по алфавиту
1 2 вутылсн по SSO *
ГЛ.[иж
tUirfoptuj:
£дичиан»иер(!Шй1
Cememterf Рйнч!
fJo^cMne npoflv
15\П№И№ПОЗЮГ
J-1±U
Нвскоде
if
Рис. 1.5. Информация в отчете сгруппирована по марке товара
Страницы доступа к данным (рис. 1.6). HTML-страницы, выполняющие роль своеобразного "интерфейса" к данным, которые хранятся в базах данных Microsoft Access. Обращаясь к таким страницам через Internet или intranet непосредственно из Web-браузера Internet Explorer, можно просматривать и вводить информацию в таблицы, а также генерировать отчеты. Макросы. Простейшие "программы", с помощью которых можно автоматизировать выполнение часто повторяющихся операций, например открытие одной
20
Часть I. Основные понятия
и той же формы, печать определенного отчета или выбор команды меню. Макрос представляет собой серию макрокоманд, для каждой из которых при создании макроса указывается ее имя, аргументы и условие выполнения. Родственные макросы в Access можно объединять в группы (так, на рис. 1.7 показана группа макросов Клиенты, которая включает макросы Проверка кода и Обновление списка стран). Обзор товаров
Список товаров по алфавиту
Код товара 3 66 -
Марка
Категория
Единица измерения
Alee Mutt en
Мясо/птша
20 банок по 1 кг
Aniseed SyruB
Приправы
12 бутылок по 550 мл
Марка
Категория
Единица и*нерепня
Boston Crab Meat
Рыбопродукты
24 банки по 125 г
Цена 175S,OOp, fSO.OOp,
Поставки прекращены P П
I!
Код товара
*1
Цена 823,000.
Поставки прекращены [С';
Рис. 1.6. Страница доступа к данным сочетает в себе возможности форм и отчетов 9. Клиенты:макрос Свамн с формой "Клиенты". Т Проверка кола
ГМ-ОС|Шр(Т_КодКлнента]";"[К Сообщечиб .ОтиенитьСсбытие
Обновление списка стран
Обновление
-
Свяич с соБытиеч "До обновления" [BefneLlpdate) поля KOI .Если мачение поля "КодКпиента" не является уникальчьи, Возвращает элемент управления "Кодклнента". Связан с событием форны "После обновления" (AftarUpdate)' Обновляет эяетент управления "Страна"
Аргуненты макрокоманды В поле 'Ход клиента" уже иг. Сигнал Тип Злгпповок
Д* Информационное Повтор )Н4чення кола rennet
Столбец для задания i
Рис. 1.7. Так выглядит группа макросов Клиенты в окне специального инструментария — конструктора макросов Все объекты базы данных (а речь может идти о десятках и сотнях таблиц, запросов и отчетов, так как согласно спецификациям программы Microsoft Access, в базе данных может быть определено до 32 768 объектов) хранятся в одном общем файле, фай-ie базы данных, который имеет расширение .mdb. По умолчанию в Access 2003 принят формат файла Access 2000, что позволяет обеспечить обратную совместимость с решениями, разработанными в ранних версиях этой СУБД. Более подробно вопрос выбора форматов рассматривается в главе 5, Создание новой базы данных.
Глава 1. Знакомьтесь — Access 2003
21
Новшества Access 2003 Пользователям предыдущего выпуска этой программы, Access 2002, многое в версии 2003 года покажется знакомым. Например, адаптивные меню и панели элементов (основам интерфейса Access посвящена следующая глава), а также "воплощенная" дружественность программы Access — мастера, под чутким руководством которых в подавляющем большинстве случаев эффективнее начинать создание многих объектов базы данных. Безусловно, Microsoft включила в свой обновленный продукт и ряд новшеств, кратко перечисленных ниже. • Упрощенное архивирование данных. В предыдущих версиях Access (до Access 2002 включительно) не была предусмотрена привычная для текстовых редакторов и других программ операция сохранения файла базы данных под другим именем или в другом месте. Команда Сохранить как была применима к отдельным объектам базы данных, но не к самому файлу-контейнеру *.mdb. Теперь это упущение исправлено, и в программе Access 2003 появилась команда, позволяющая создать резервную копию базы данных в папке, принятой по умолчанию, или в текущей (рис. 1.S). р^-, • Смарт-теги. В пакете Microsoft Office 2003 технология смарт-тегов доступна и для программы Access, где такие элементы можно добавить, использовав специальное свойство, к любому полю в таблице, запросе, форме, отчете или на странице доступа к данным. • Новая функция поиска ошибок в формах и структуре отчетов. Когда эти средства активизированы, при создании форм и отчетов в режиме конструктора автоматически выявляются и помечаются с помощью смарт-тегов типичные ошибки (например, новые неприсоединенные надписи или недопустимые свойства элемента управления, как эю показано на рис. 1.9). При обращении к такому смарт-тегу появляется список вариантов исправления или пропуска обнаруженной ошибки, что заметно облегчает и ускоряет разработку и тестирование приложений Access. 1 Тспс:ф «Шобэвчньй
Недопустимое свойство мемента управления: fiatme
Microsoft Access Файл [^Правка __ &Ш
•
Таюто ПОРЧ нег в списке полей
Вставка
2? Открыть...
Ctrl+O
Внещние данные
И манить свойство VCTQJHHK записеи ^правка по данной ошибке Пропустита ошибку
Резервная копня базы данных.
Рис. 1.8. В главном меню программы Access 2003 предусмотрена команда Резервная копия базы данных
Паранетры проверки ошибок,.,
Рис. 1.9. Некорректное изменение свойств элемента при разработке формы в режиме конструктора привело к появлению смарт-тега Недопустимый источник данных для элемента управления
Использование возможностей смарт-тегов для функции автоисправления. Если режим автозамены включен, то при внесении в текст изменений рядом с автоматически исправленным текстом появляется кнопка Параметры автозамены, в меню которой предусмотрены опции отмены исправлений или изменения режима автозамены. Поддержка тем Windows XP. По умолчанию программа Access 2003 применяет текущую тему операционной системы Windows XP к формам Access.
22
Часть I. Основные понятия
Рис. 1.10 демонстрирует, как будет выглядеть главная кнопочная форма учебной базы данных Борей (иллюстрация слева) при наследовании темы операционной системы (снимок справа). Чтобы отказаться от такой возможности, необходимо обратиться к настройкам параметров для базы данных или проекта Access. Я" Главная кнопочная форма
S* 1 ювнля кнопочная фэрт«
Товары
ТОРГОВАЯ КОМПАНИЯ
Заказы
Очаге, отчетов
Выход лз Mfcrosof ; Acce
Рис. 1.10. К главной кнопочной форме учебной базы данных Борей не применена (рисунок слева) и применена (рисунок справа) тема Windows XP
• Возможность варьировать шрифт и размер шрифта в режиме конструктора запросов и режиме SQL. Кроме того, в режиме SQL теперь можно простым нажатием клавиши получить контекстную справку по ключевым словам Jet SQL (используемый в программе Microsoft Access диалект языка Structured Query Language) и функциям VBA (язык структурного программирования Visual Basic for Applications), как показано на рис. 1.11. !№.,(»..
. опроси*
SELECT Типы Категория., Товары Марка, ^ Товары.Едини Товары.НаСкл Товары.Посш FROM Типы Г Предложение ORDER BY Типы КодТип Сортирует записи, попучемчые в результате запроса, в порядке WHERE возрастания или убывания иа (((Товары.Пос1 основе анэчений указанного поля или полей. ORDER BY Ts Товары. Марка, Синтаксис SELECT спнсакЛспен FROM таблица WHERE HC"0sn«O76cpa [ORDER ВУполе 1 [А5С j DESC ] [, none_2 [ASC | DESC ]][. •••]]] Ниже перечислены аргументы инструкции SELECT, содержащей гредлсржение ORDER BY: Элемент слисрк17о.яей
Описание Имена одного или нескольких печей, HJ которых отбираются данные, вместе с псеши'ш-тэня,
Рис. 1.11. В режиме SQL теперь можно изменить настройки шрифта и получить справку по ключевым слонам языка SQL
Глава 1. Знакомьтесь — Access 2003
23
Новые возможности доступа к данным из различных источников, включая экспорт, импорт и связывание со списками Microsoft Windows SharePoint Services. Усовершенствованная поддержка современного стандарта XML (Extensible Markup Language — расширяемый язык гипертекстовой разметки), благодаря чему появляется возможность публикации таблиц, отчетов и форм в Internet и intranet в виде XML-документов, непосредственно связанных с базой данных Access. В Access 2003 язык XML выступает в роли универсального стандарта, обеспечивающего обмен данными между различными серверными платформами в различных форматах. Обновленная панель Область задач, где теперь доступны такие области задач, как Приступая к работе, Справка, Поиск файлов и Зависимости объектов. Область задач Зависимости объектов позволяет визуализировать зависимости между такими объектами базы данных, как таблицы, формы, запросы и отчеты, например при переименовании или планируемом удалении объектов. В окне, аналогичном представленному на рис. 1.12, вы можете также просмотреть группы объектов, которые используются в текущий момент выбранным объектом. Улучшенная интеграция со службами поддержки Web-узла Microsoft Office Online.
Зависимости объектов
Запрос; Продала по годог О Объекты, зависящйеитданного Ф Объекты, от которых завигит данный J - Таблицы * 3 Заказы Гг" Запросы | 3 gS |
Промежуточная суммг заказа
Н J3 !*
3
1+1 [3
Тзбп^а: Заказано Таблице Закггы Таблица. Товары
:
;- формы +• S |
Продажи по годам
'•--. Отчеты Нет
Справка Ы Чтс вызывает
Рис. 1.12. Панель задач Зависимости объектов демонстрирует информацию о зависимостях для конкретного объекта базы данных
Установка Access 2003 Приложение Microsoft Access 2003 по праву можно отнести к ресурсоемким, поэтому фирма-разработчик рекомендует использовать для работы с этим программным обеспечением компьютер с процессором Pentium HI и 128 Мбайт ОЗУ, функционирующий под управлением операционной системы Microsoft Windows XP или более поздней версии. Минимальные требования к конфигурации компьютера, необходимые для. работы приложения Access 2003, представлены в табл. 1.1. Таблица 1.1. Минимальные требования к аппаратным и программным средствам Процессор
Pentium 233 МГц и более быстрый
Объем памяти
64 Мбайт ОЗУ. Для приложения Access (и любого другого компонента Microsoft Office, запускаемого одновременно) дополнительно потребуется 8 Мбайт ОЗУ
Объем свободного места на жестком диске
Зависит от выбранной конфигурации приложения и объема файлов создаваемых баз данных. При выборочной установке заметно варьируется. Общие требования: 245 Мбайт на жестком диске и 115 Мбайт на системном диске
Операционная система
Microsoft Windows 2000 с пакетом обновления 3 (SP3) или более поздней версии
Чтобы установить на свой компьютер приложение Access 2003 (отдельно или вместе с другими программами Microsoft Office 2003), вам потребуется дистрибутив этого пакета, а также подробная инструкция, предложенная ниже.
24
Часть I. Основные понятия
Как видим, приложения пакета Microsoft Office 2003 не будут работать под управлением операционных систем Microsoft Windows 98, Windows Me или Windows NT, поэтому установка Microsoft Access 2003 может потребовать перехода на более новую версию операционной системы Windows. Для инсталляции программы Microsoft Access выполните следующее. 1. Вставьте в привод CD-ROM дистрибутивный компакт-диск Microsoft Office 2003. После некоторой задержки на экране автоматически появится первоначальное окно программы установки. 2. Если опция автоматического распознавания диска в настройках операционной системы Windows не установлена, запускать программу установки Access необходимо своими силами. Щелкните на кнопке Пуск Windows и выберите команду Выполнить, а затем в открывшемся диалоговом окне Запуск программы введите букву, соответствующую приводу CD-ROM, и имя программы установки (setup.exe),- например e:\setup. Чтобы найти и выбрать привод CD-ROM и программу setup.exe, которая находится в корневом каталоге компакт-диска, щелкните на кнопке Обзор окна Запуск программы. 3. В первом окне программы установки следует указать 25-значный ключевой код продукта в одноименном поле (рис. 1.13, первое из окон). Чтобы перейти к следующему этапу инсталляции, щелкните на кнопке Далее.
.-.i.
м> Установка Mlcroteft Office 2TOS Microsoft Office - профессиональный выпуск версии 2003
On
Ключ продукта
Введите в поля 25-значмыЙ ключ гяэодукта (Product Key). Он находится на «вклейке иа обратной стороне коробкпс дискет нпи на сертификате подлинности (Certificate of fluthentiol)'). " Kntfi4 продукта;
|GWH23
j-jDGLFO
|-J4M095
[-
Установка Mkrosoft QHite ZOOS Microsoft Office - профессиональный выпуск версии 2003
Оп
Сеедгния о пользователе
Справка
j
Ина пользователя:
ИимошокТ.В.
..
[—
Орсаниэация:
Рис. 1.13. Укажите в диалоговых окнах программы установки сначала код продукта (в данном примере он выбран произвольно), а затем — сведения о пользователе 4. В следующем окне программы необходимо указать сведения о пользователе. Введите нужные данные в поля Имя пользователя, Инициалы и Организация (см. рис. 1.13, второе окно). Чтобы вызвать следующее окно, щелкните на кнопке Далее.
Глава 1. Знакомьтесь — Access 2003
25
По умолчанию в полях с информацией о пользователе отображаются данные из ключевых значений системного реестра. 5. Новое окно предлагает ознакомиться с условиями лицензионного соглашения и, естественно, согласиться с ними. В противном случае инсталляция Access 2003 на этом этапе для вас закончится. Щелкните на кнопке Я принимаю условия лицензионного соглашения, а затем — на кнопке Далее. 6. Следующий шаг — выбор типа установки пакета Office 2003. Независимо от того, инсталлируются приложения Office впервые или будут обновляться, диалоговое окно позволяет выполнить как обычную установку наиболее востребованных компонентов пакета, так и выбрать собственную конфигурацию. Поэтому, чтобы разместить все необходимые при работе с программой Access компоненты "под руками", т.е. на жестком диске, установите переключатель в положение Выборочная установка. По умолчанию папка для установки предложена как C:\Program FilesXMicrosof t O f f i c e (рис. 1.14). Примите этот путь или укажите свой собственный (щелчок на кнопке Обзор позволяет открыть окно Выбор конечной папки, где можно указать в качестве местоположения файлов уже существующую или новую папку). Щелкните на кнопке Далее. становка Microsoft Office гО83 Microsoft Offke - профессиональный выпуск версии 20ОЗ
Рекомендуемый вид установки: (~ Обновление Другие виды установки: f гьякая устаио»ка *~" Мичтлльная установи*
On
Описание Установка Microsoft Off ice с выбором устанавливаемых китонентов. Мо«но такие сохранить или уделить предыдущие версии Offke. Рекомендуется для опытных пользователей.
f Обычная установка *• Выборочная ус генсека е: для работы I требуется Microsoft Internet Explorer вероп 6.0 или более поздней. Для получения дополнительных сведен™ нажмите кнопку "Справка". Установить в:
|C.)Proojam files\Microsoft Office\
Обзор,.,
Рис. 1.14. Чтобы выбрать конфигурацию Microsoft Office 2003 или Access 2003 по собственному усмотрению, установите переключатель Выборочная установка 7. Следующее окно Выборочная установка по умолчанию предлагает инсталлировать все приложения пакета Office 2003 (рис. I.15). Сбросьте флажки с тех приложений, установка которых сейчас не требуется. Кроме того, установите флажок Расширенная настройка приложений и шелкните на кнопке Далее. 8. В новом окне Расширенная настройка щелкните на стрелке символа жесткого диска слева от пункта Microsoft Office Access, а затем выберите из раскрывающегося меню опцию Запускать все с моего компьютера, чтобы сразу установить все нужные компоненты на жесткий диск (рис. 1.16). Пиктограмма с жестким диском изменит свой цвет с серого на белый.
26
Часть I. Основные понятия
С!п
Microsoft Office - профессиональный выпуск Персии ?003 Выборочная установка Выберите устанавливаемые приложения Microsoft Office 20031
(щ f? word
jpj i? PuMsher
[KJ P' "Excel
j#} f/ Access
JSJ R PowerPoint
J5*j] p InfoPath
' '. ^ 15 Outlook Для работы InfoPath требуется Mxrosoft Internet Explorer версии 6.Q дай болеепоадней. Расширенная настройка прклояений. Требуется на дискеС^662 Ж Доступно на диске С: lufg , Индикатор текущей записи
Имя таблицы
Поля
} Код поставщика!
До/йЙость"
-Название Л QOO Экзотика 2 New Orleans Cajun Delights _3!Grandma Kelly's Homestead
Вероника Кудрявцева Shelley Burke Regira Murphy
Менеджер по закупкам Координатор Представитель __
Yoshi Nagase Главный менеджер Antonio del Valle Saaved Спэ^алист по экспорту Mayumi Ohno Директор 6 Mayurni's lar Davling 7 Payjwa.jJd.. Тлавный менеджер Peter Wilson J^Speciatty BiscyitsJJd. ! Представитель Lars Peterson _9_PB Knackebrqd AB '- Продавец Carlos Diaz Главный менеджер 10 Refrescos Arnericanas ITDA Петр Моргунов 11 АО Германия-Россия ; Менеджер по продажам 12 Pjutzer Lebensmjtteigrossmarkle AG Martin Bein ;Менеджер по_свяэям 13 Nord-Ost-FischmbH Sven Petersen ' Внешний коордннатср Elio Rossi . Представитель 14 Formaggi Fortini s.r.l. Beate Vileid Главный менеджер 15 Norske Meierier Cheryl Saylor 16 Bigfoot Breweries : Местный представитель Michael Bjorn 17 Svensk Sjofada AB Представитель Guyline Nodier 18 An* jcyeux ecdesiastiques Менеджер ло продзхэи 4 Tokyo Traders 5 Cooperative d^_Qyesps 'Las Cabras'
Большая С 'Л
P.O. Box 769: 707 Oxford Re 9-8 Sekimai Calls del Rc:i: 92 Satsuko 74 Rose_St. 29 King's Vyajy Ka!oadagatan|i Av. das Arrieri i Тверская 5 ' : Bogenallee 1 Frahmredder 1 Viale Dante Tit HatlevegenS 3400-8th Are!; Broyallavagf 1 • 203,Ruede:i s
гэ
Полосы прокрутки Рис. 2.7. Окно таблицы Поставщики
Текущая запись ®гпх£-;ч I
^
Числ > записей
I i-jd.I !*r«! кз 29
г
i
Новая запись Последняя запись Следующая запись Рис. 2.8. Навигационная панель окна таблицы Наличие слева у записи значка "плюс" (+) говорит о том, что данная таблица связана с некоторыми другими. (Понятие связей между таблицами рассматривается в главе 10, Ключи, связи и индексы таблиц.} Если взглянуть на таблицу Поставщики (см, рис. 2.7), то обнаружим, что таким значком отмечены все записи таблицы. Щелкнув на шачке "плюс" (+), можно просмотреть все данные из другой таблицы, которые соответствуют этой текущей записи. Так, в примере на рис. 2.9 для поставщика ООО Экзотика отображается список поставляемых ими товаров.
Окно формы Если окно таблицы позволяет просматривать информацию из таблиц Access в виде привычного набора столбцов и строк, то окно формы визуально напоминает бланки документов. Основное назначение формы — ввод данных или просмотр таблицы по
Глава 2. Основы интерфейса Access 2003
37
одной записи за раз. Пример такой формы приводится на рис. 2.10. В верхней строке указано имя таблицы — Заказано. Записи выводятся здесь по одной, в виде списка пар — название поля и его значение — и располагаются посередине окна формы. Нижняя строка формы — это уже знакомая вам навигационная панель. [ • Пне. гавщкки : таблица Код пос|
Название
1 000 Экзотика Код товара
> J». * _ • * * +;_ _ *. -+ — -+ + +
Обращаться к Вероника Кудрявцева
- ••
Марка
)
Должность | Адрес •* Менеджер по закупкам Большая Садов? •
Тип Напитки Напитки Приправы
31 Chai 65 Chsng 66 Aniseed Syrup
Единица измерения | !0 шробокпо 20 шт. 24 бутылки по 355 мл 12 бутылок по 550 мл
Цен 810 856... 450 '
•
(Счетчик) 2 New Orteans Cajun Dejights > 3 Grandma Kelly's Homeslead 4 Tokyo Traders 5 Cooperativa de Quesos Las Cabras' 6 Mayumi's .7 Pa-lova. Ltd. ..
•W
Shelley Burke Regina Murphy
Координатор Представитель
0 -P.O. Box 78934 707 Oxford Rd.
Yoshi Nagase Главный менеджер 9-6 Sekimai : Antonio del Valle Saavedra Специалист по этепорту Calle del Rosa! 4 WayumiOhno Директор 92 Selsuko Ian Devlir-g Главный менеджер 74 Rose SI ^i , . . ,«w «I 1 >™
Рис. 2.9. После щелчка на значке "плюс" (+) слева от выбранной записи Access отображает всю относящуюся к ней информацию из связанной таблицы
Код мкам Товар
|
ЦЯЗдГ
Camemoert Pi
Цена Количество Скидка
Рис. 2.10. Стандартная форма Access для таблицы Заказано
Подробно разработка форм в Access будет рассматриваться в главе 9, Создание и использование форм.
Окно запроса После создания базы данных, помимо выполняемой ею роли информационного хранилища, она должна, в первую очередь, обеспечивать быстрое предоставление актуальных данных. Поиск информации в таблицах базы данных осуществляется с помощью такого механизма, как запросы. В Access для запросов, как и для других объектов баз данных, предусмотрено специальное окно запроса (рис. 2.11). В окне запроса расположены уже знакомые вам строка заголовка, где отображается уникальное имя, присвоенное запросу, а также полосы прокрутки — здесь их несколько, поскольку окно запроса имеет сложную структуру. В верхней части окна вы видите таблицы, которые "участвуют" в запросе. На наличие связей между таблицами указывает линия объединения (на рис. 2.11 она отмечена знаками "1" и перевернутой восьмерки). В нижней части окна предусмотрены специальные поля для ввода значений, по которым формируется критерии запроса. Создание и использование запросов будет подробно освещено в части IV. Окно запроса, представленное на рис. 2.11, выглядит так при работе в режиме конструктора, а результаты выполнения запроса отображаются в Access в виде таблицы данных.
3В
Часть I. Основные понятия
Таблицы запроса :-! 1 [да Товары по типам
|кодТта Категория Описание £ Изображение
._ запрос на выборку
k-.,vv,
== SEE! Of
1 Марка КодПостаещика
а КодТипа
iLJ Попе; Катвгср ня - Марка Имя таблицы: Типы Товары Сортировка: ГЮЕОЗр стаыво по возрастании: „•• ЕЫвол на кран.' 3 В '. -1 Условие отбора: или:
- . _
динкц а№чвсения оваоы
НаСкпале Товары
i
0
|
П ос тар к и Пре i — Товарн — 0
f|
j
.-
^r Связанные таблицы
Поля запроса
Рис. 2.11. Основные элементы окна конструктора запросов
Окно конструктора Безусловно, знакомиться с еще одним окном системы Access — окном конструктора объектов — лучше всего в процессе работы с ним, что и будет сделано по ходу изложения материала в следующих частях книги. Как правило, при работе в режиме конструктора используется и ряд других вспомогательных окон, например, окно списка полей (Сотрудники), окно свойств (Поле: Фамилия), окна палитры (Цвет заливки/Фона) и оформления, как это показано на рис. 2.12. В режиме конструктора на экране расположена также панель элементов (на рис. 2.12 она слева внизу, сразу над горизонтальной полосой прокрутки), а стандартная панель инструментов имеет иной вид, чем при работе с окном базы данных.
Область задач, панели инструментов и меню Как уже отмечалось, для работы с объектами базы данных в Access предусмотрено большое число панелей различного назначения. Следует отметить, что строка меню в Access также относится к панелям инструментов. Таким образом, панели инструментов Access могут включать только кнопки (например, панель Оформление на рис. 2.12), только меню (главное меню Access) или комбинацию меню и кнопок (стандартная панель инструментов Access). Еще одна специальная панель, заметно преобразившая интерфейс программы Access начиная с версии 2002, — это область задач.
Область задач Заменив ряд диалоговых окон управления, область задач (рис. 2.13) представляет собой специальную панель, которая появляется в правой части окна Access при активизащш некоторых возможностей приложения. Вызвать область задач можно, выбрав команду главного меню Вид^Область задач. Область задач в программе Access 2003 стала действительно "многоликой": в одном окне, ширину которого можно настраивать, по очереди теперь открываются восемь различных панелей. Для выбора любой из них следует щелкнуть на кнопке Другие области задач (со стрелкой), расположенной в верхнем правом углу
Глава 2. Основы интерфейса Access 2003
39
файл Фаиитя
Оравка -
§вд
Встйвка
Tahoma
вСРаат
Сервис " ф. Простейшая форма помоши, которая поддерживается системой Access, — всплывающие подсказки; они появляются, если поместить курсор мыши на какую-либо кнопку или пиктограмму, и состоят из одного-двух слов. В отличие от всплывающих подсказок, команда, соответствующая комбинации клавиш <Shift+Fl>, вызывает мини-справку, которая кратко, в объеме нескольких предложений, сообщает название того или иного элемента диалогового окна, а также поясняет его задачи и функции. (Справедливости ради, отметим, что эта безымянная и недокументированная команда в версии Access 2002 имела полноценную реализацию и называлась Что это такое?.) Чтобы воспользоваться этим механизмом справки, необходимо выполнить следующее.
pjjffj
1. Нажмите комбинацию клавиш <Shift+Fl>. Рядом с курсором появится большой знак вопроса. 2. Щелкните на том элементе экранного интерфейса, о котором вам необходима справка. Появится небольшое окно с названием элемента (например, кнопка "Формы") и краткой информацией о назначении интересующего вас элемента, как показано на рис. 3.5. 3. Прочитав подсказку, еще раз щелкните в любом месте экрана, чтобы убрать с экрана мини-справку.
Кроме того, при работе в Access во многих активных диалоговых окнах получить доступ к краткой справке можно, щелкнув на кнопке с вопросительным знаком ( Ш ), расположенной в верхнем правом углу окна.
Область задач Справка Access Pip
В том случае если вы предпочитаете работать со справочной системой Access напрямую, воспользуйтесь командой главного меню Справка^Справка: Microsoft Office Access. Кроме того, область задач Справка Access можно открыть, нажав клавишу или щелкнув на кнопке Справка: Microsoft Office Access панели инструментов База данных.
50
Часть !. Основные понятия
! -Ш Со:дамие таблицы в режиме конструктора
i
.'
1
Ы
I !' Ш Создание таблицы с понощыо мастера I ] '9* Создание таблицы путем ввода дачкых з| О Доставка
' кнопка -ФормыОгобважэет все формы в текущей Сазе данных Micros о fl Ac cess или в проекте Microsafl Access. Кнопки не панели инструментов окна базы данных используются для открытия и изменения выбранной формы или создания новой формы. Избранное
Рис. 3.5. После нажатия клавиш <Shift+F1> курсор мыши превращается в курсор справки. Щелкнув на одной из кнопок панели Объекты, можно узнать о ее назначении
Как видно из рис. 3.6, на панели Справка Access представлены несколько групп. При первом вызове этой области задач в группе Помощь вы увидите поле Искать, с помощью которого возможен поиск справочных материалов по ключевым словам или фразам, а также ссылку Оглавление, щелкнув на которой вы можете ознакомиться с полным содержанием справочной системы Access. Вторая группа, Office в Интернете, содержит ссылки на различные ресурсы узла Microsoft Office Online. Использование всех этих инструментов будет подробно рассмотрено ниже. Последняя группа этой панели включает ссылки на описание новых средств, реализованных в версии Access 2003, и специальных возможностей самой справочной системы, которые делают ее доступной для более широкого круга пользователей. Кроме того, из области задач Справка Access можно сразу получить доступ к сведениям о службах поддержки продуктов Microsoft. Ссылка Параметры содержимого в сети позволяет открыть диалоговое окно Параметры служб, в котором можно установить режим функционирования справки: только автономно или с привлечением материалов Web-узла Microsoft Office Online. Назначение ряда кнопок под заголовком области задач совпадает с теми функциями, которые они выполняют в Web-браузере. Привычные кнопки Назад и Вперед позволяют переходить к ранее просмотренным разделам справки — так, как это делается при просмотре страниц в Web-браузере, а щелчок на кнопке Домашняя страница открывает область задач Приступая к работе.
Поиск по ключевым словам При поиске нужной информации в области задач Справка Access посредством поля Искать (см. рис. 3.6) вы действуете точно так же, как при использовании поля Введите вопрос или при обращении к помощнику Office. Сформулируйте свой вопрос, введите его в текстовое поле Искать, я дачее из предложенного списка тем выберите тот вариант, который вас устраивает, и щелкните на нем, чтобы просмотреть требуемую информацию.
Глава 3. Справочная система Access 2003
51
Mierosult At сим вставка
Сервис
£кно
С_превка
стааание таслиоы в режип* констоуктора Создание таблицы с помощью мастера Создание таблицы путем ввода данной _э
Доставка
3
'Заказано'
Д
Заказы
Последние сведения об использовании Access
Под-слючиться к ееб-узпу Microsoft Office Onire
3
Клиенты
Автоматически обновлятв этот список us &вба
13
Поставщики
Дополнительна...
3
Сотрудники
™
Типы
J
Товары
Новые виновности Свя*нтесь с нами Справка по специальным возможностям Параметры содео**тныс ь сети,..
Рис. 3.6. В области задач Справка Access можно сформулировать свой вопрос и воспользоваться поисковыми средствами локальной и интерактивной системы помощи
Пусть, например, в ходе работы с базой данных вам необходима подсказка о том, как изменить ширину столбца в отображаемой на экране таблице. Выполните следующие шаги. 1. Введите вопрос Как изменить ширину столбца? в поле Искать и нажмите клавишу <Enter> или щелкните на расположенной справа от поля кнопке со стрелкой. 2. В области задач Поиск появится список найденных системой разделов справки. Просмотрев его, приходим к выводу, что искомым разделом является пункт Изменение размера строки или столбца. Щелкните на нем, и в окне справочной системы появится необходимая вам информация, как видно из рис. 3.7.
Работа с оглавлением справки Щ
Ссылка Оглавление области задач Справка Access (см. рис. 3.6) полностью соответствует своему названию: открыв ее, вы можете ознакомиться с упорядоченным содержанием всей справочной системы Access. Если тема включает несколько разделов, то слева она обозначена пиктограммой книги ( S ). Такая "книга" раскрывается ( Ш) с помощью щелчка мыши и включает один или несколько пунктов справки следующего уровня. Доступные разделы справки отмечены слева пиктограммой синего кружка с белым вопросительным знаком ( Ш]). Чтобы просмотреть интересующий вас раздел, достаточно щелкнуть на нем.
52
Часть I. Основные понятия
Изменение размера строки или столбца
Дополнительное и обноЕ пенное еодбс*-™ае мепешз найти на ееб-узче Ми osoft Office Online. 'if Дс по лните. 3. Чтобы выбрать другой персонаж для помощника, следует выполнить такие действия: а) щелкнуть на помощнике и ввести в текстовое поле Выберите действие имя нового персонажа (например, Колобок), после чего щелкнуть на кнопке Найти; б) выбрать команду главного меню Справка^Скрыть помощника; в) щелкнуть правой кнопкой на ассистенте и выбрать из контекстного меню команду Выбрать помощника; затем на вкладке Коллекция диалогового окна Помощник найти для себя новый персонаж. 4. Решительно отказаться от услуг помощника можно так: а) щелкнуть на помощнике правой кнопкой мыши и выбрать в контекстном меню команду Скрыть; б) щелкнув правой кнопкой на ассистенте, выбрать из контекстного меню команду Выбрать помощника; затем на вкладке Коллекция окна Помощник сбросить флажок опции Использовать помощника; в) щелкнув правой кнопкой на ассистенте, выбрать из контекстного меню команду Выбрать помощника; далее в диалоговом окне Помощник (вкладка Коллекция) сбросить флажок опции отображать сообщения помощника. 5. Чтобы получить краткую справку об элементах интерфейса диалогового окна Access, следует поступить таким образом:
а) ввести вопрос об интересующем вас объекте в поле Введите вопрос; Глава 3. Справочная система Access 2003
57
б) выбрать команду главного меню С правка-^Справка: Microsoft Office Access; в) воспользоваться комбинацией клавиш <Shift+Fl>; г) щелкнуть на кнопке с вопросительным знаком, расположенной в верхнем правом углу диалогового окна. 6. Открыть область задач Справка Access можно следующим образом; а) нажать клавишу; б) выбрать команду главного меню Справка ^Справка: Microsoft Office Access; в) воспользоваться комбинацией клавиш <Shift+Fl>; г) щелкнуть на кнопке Справка: Microsoft Office Access панели инструментов. 7. В отношении области задач Справка Access можно утверждать следующее: а) область задач позволяет отыскать нужную информацию по ключевым словам; б) ссылки области задач адресуют вас к ресурсам только автономной справки; в) область задач включает ссылку на оглавление всей справочной системы Access; г) из области задач можно напрямую обратиться к ресурсам Web-узла Microsoft Once Online. 8. Чтобы посетить Web-узел Microsoft Office Online, достаточно выполнить такие действия (при наличии подключения к Internet): а) выбрать команду главного меню Справка^Свяжитесь с нами; б) выбрать команду главного меню CnpaBKa^Office в Интернете; в) щелкнуть на ссылке Последние сведения об использовании Access области задач Справка Access.
S8
Часть /. Основные понятия
Создание базы данных В этой части... Глава Глава Глава Глава
4. 5. 6. 7.
Реляционные базы данных и их планирование Создание новой базы данных Создание и модификация структуры таблиц Ввод данных в таблицу и их редактирование
Чтобы в полной мере воспользоваться всеми возможностями СУБД Access, следует,. в первую очередь, четко определиться с основными понятиями реляционных баз данных. Поэтому в главе 4 части II изложены необходимые на практике сведения из теории реляционных баз данных. Применительно к СУБД Access рассматриваются такие фундаментальные понятия, как база данных, таблица, записи, поля и ключи, а также затрагиваются вопросы нормализации таблиц БД. На конкретном реальном примйре (работать с которым вам предстоит на протяжении всех последующих глав) лаконично и доступно проиллюстрированы основные этапы проектирования реляционных баз данных, включая выбор структуры и типов полей для будущих таблиц. В главе 5 вам предстоит первый серьезный дшг в деле практического освоения СУБД Access — знакомство с двумя способами создания новой базы данных: по сотовому шаблону или "с нуля". В приложении Access создать таблицу для последующего ввода в нее данных можно разными методами. Все эти методы, а также средства Access, позволяющие определить первичные ключи и внести изменения -в структуру таблиц, будут подробно рассмотрены: в главе 6. Ознакомившись с материалом, изложенным в главе 7, можно смело приступать к вводу данных в таблицу и их редактированию.
Глава 4
Реляционные базы данных и их планирование В этой главе... Немного теории Типы данных и их представление Основы проектирования баз данных Резюме Литература Тесты
тобы в полной мере применять все возможности СУБД Access, начинающим пользователям (и даже тем, кто хорошо знаком с таким "родственным" инструментарием обработки данных, как электронные таблицы) следует четко определиться с основными понятиями реляционных баз данных и познакомиться с принципами создания настоящих реляционных таблиц.
Немного теории Итак, вернемся к началу начал — к данным. В терминологии компьютерных систем данные — это представленные в цифровом виде сведения об объектах окружающего нас мира. В свою очередь, база данных (БД) — это совокупность информации по определенной теме. База данных помогает систематизировать и хранить информацию из определенной предметной области, облегчает доступ к данным, поиск и предоставление необходимых сведений. Простейшей базой данных можно считать телефонный справочник или список книг в вашей домашней библиотеке. Современные базы данных оперируют информацией, представленной в самом разном формате, — от обычных чисел и текста до графических и видеоданных. Подробно история баз данных описана в книге Р. Дженнингса Использование Microsoft Access 2002. Специальное издание, вышедшей в Издательском доме "Вильяме".
Сплошные таблицы Как правило, если речь идет о табличном представлении информации в базах данных, различают два основных типа подобных систем. Привычные нам по "бумажному" офису таблицы — это так называемые сплошные таблицы БД, или неструктурированные файлы, где все данные объединены в одной единственной таблич-
ной структуре. Вероятно, не стоит прибегать к сложным ассоциациям ("черный ящик", "электронный контейнер для хранения информации" и т.п.), чтобы объяснить, что такое сплошная таблица. Самый яркий пример хранилищ такого типа электронные таблицы, содержащие информацию о ценах на товары, телефонных номерах, выписанных счетах и т.д. Чем же хороши электронные таблицы? Во-первых, они просты в создании и управлении. Во-вторых, работать с ними по силам даже начинающему пользователю. Если возникает необходимость упорядочить в электронном виде несложные списки каких-либо объектов, можно вполне обойтись возможностями таких, например, средств, как Microsoft Excel. Больше того, в электронных таблицах имеются многие основные возможности баз данных: сортировка, фильтрация, проверка достоверности вводимых данных. Можно импортировать и экспортировать данные, в том числе и в такие форматы, с которыми работают СУБД. Однако при решении сложных задач функциональные рамки электронных таблиц становятся слишком узкими. Поясним это на простом примере. Предположим, необходимо разместить в виде таблицы информацию о сотрудниках и выполняемых ими заданиях в рамках проектов. Известно, что один и тот же сотрудник может принимать участие в реализации сразу нескольких проектов. Сплошная таблица — назовем ее СОТРУДНИКИ_ПРОЕКТЫ — будет выглядеть следующим образом (рис. 4.1). •Мр: ; А ; , Б 1 "1 Номер сотрудника Номер проекта 2 1010АВ-115 3" ""Ю10"КЫ-20 4 1015 СТ-14 1036 ZT- 14 2122 АК-177 2122 ВС-18
Ё
Номер заданий Фамилия Петров LL Петров 53 Васильев 5.4 Куликов Зорин 1.2 Зорин Э.6
Должность Оклад инженер 550 инженер ""550 инженер 550 техник 450 администратор 630 администратор 630
;
G ___Н Отдел Тзяефон 1156-15 1156-15 11616-15 1105-46 105 6-88 1051&Ю i i
_tnivi j .
IJ 1 ч»
:
9 Ю м'н
» и\лист1/лист.г/ листа/
К .-:
^ .
.
1
^Щ
'
-
'..if'"
Рис. 4.1. Так выглядит сплошная таблица СОТРУДНИКИ,ПРОЕКТЫ
Теперь посмотрим на таблицу внимательнее и отметим те наблюдаются для такого представления данных.
аномалии , которые
1. Дублируется информация о сотрудниках, поскольку сотрудник может участвовать в нескольких проектах. 2. В таблицу нельзя вписать тех сотрудников, которые не заняты в проектах именно сейчас, а также тех сотрудников, которые вообше не работают над проектами. 3. Если сотрудник увольняется, запись о нем удаляется из таблицы, а вместе с ней — и проект, хотя работа над ним должна продолжаться. Подобный пример можно назвать классическим, поскольку отмеченные выше проблемы характерны для всех сплошных файлов. Снять указанные ограничения позволяет иной подход к хранению данных, — а именно реляционные базы данных.
Реляционная БД Реляционная база данных состоит из набора связанных между собой таблиц. Данные организованы в этих таблицах таким образом, чтобы обеспечить объединение разнородной информации, исключить ее дублирование, а также предоставить оперативный доступ к имеющимся сведениям и эффективное сопровождение базы данных в целом. Реляционные СУБД используют реляционную модель данных, предложенную в 1970 году Э.Ф. Коддом. Если говорить упрощенно, то Кода показал, что набор дву-
Глава 4. Реляционные базы данных и их планирование
мерных таблиц при соблюдении определенных ограничений может быть использован для хранения данных об объектах реального мира и моделирования связей между ними. В терминологии Кодда такие таблицы называются отношениями (англ, relation}, вот почему подобная база данных называется реляционной. О том, какие ограничения накладываются на таблицы реляционной базы данных и как осуществляется связь между ними, мы поговорим позднее, а пока обратимся в качестве примера к таблице Сотрудники учебной базы Борей (рис. 4.2), чтобы рассмотреть основные понятия, применяемые в реляционных БД. Текущая запись о сотруднике Вороновой Дарье
Значение поля Фамилия
ков
Б АКБ зев 7 Кралев 8 Крылова 9 Ясенева (Счетчик).
Мария I/вед ставите ль Павел С и цв- президент
08-дек-19Ва' 01-май-1992 уп. Нефтяник
Ольга /Представитель
19-фев-1952 ЗО-авг-1963
14-авг-1992.Судостронте. 01-апр-1992 Крещатик.З-:
Андреи Менеджер по поода
04-1лар-1955
17-окг-1993 Зеленый про:
Представитель Представитель нутренний коордика: г-жа едстаеитель / = г-жа
(32-и я л-1963 17-окг-1993.Студвнчеш» 2Э-май-1960 Се-янв-1994: Сиреневый 6; ОЭ-янв-1958 05-мар-19!М. Лесная уп 02-ИЮЛ-1969; 15-иоя-1ЭЭЛ Родниковый г
Рис. 4.2. Основные структурные элементы реляционной таблицы
Таблица Любая таблица реляционной БД состоит из привычных нам строк и столбцов. 8 терминологии СУБД Access строкам соответствуют записи, а столбцам — поля. Именно так они и будут упоминаться на страницах этой книги. Как правило, каждая таблица посвящена определенной "теме", а точнее определенному классу объектов, о которых вы храните информацию в базе данных. Так, например, если база данных обслуживает торговые операции вашей фирмы, такими классами могут быть клиенты, заказы, поставщики, сотрудники. А вот база данных "личного" пользования, куда вы хотели бы внести сведения о коллекционируемых предметах, могла бы включать таблицы с данными о дорогих вашему сердцу книгах, рецептах, видео- и аудиоальбомах. Важной особенностью таблиц является то, что представленная в них информация описывает, как правило, однотипные предметы, операции или их характеристики. По сути, это список, в котором перечислены аналогичные по своим признакам объекты. Далее в этой главе вы узнаете о том, какими принципами следует руководствоваться, чтобы правильно спроектировать таблицы для той информации, которой вы владеете. Поле Итак, поле составляет отдельный столбец в таблице. Например, в таблицу Сотрудники учебной базы Борей включены такие поля, как Фамилия, Имя, Должность (см. рис. 4.2). Чтобы в дальнейшем не возникало путаницы, здесь важно уяснить, что поле — это совокупность всех тех данных, которые расположены в таком "столбце". Так, для таблицы Сотрудники, показанной на рис. 4.2, полем Должность будут все те 9 наименований должностей (включая повторяющиеся значения), которые содержатся в этом столбце таблицы.
62
Часть II. Создание базы данных
Каждое поле имеет свое уникальное (в пределах таблицы) имя и содержит данные определенного типа (текстовая информация, числовые значения, даты и т.п.) и определенной длины. (Типы данных СУБД Access 2003 рассматриваются в следующем разделе этой главы.) В каждое из полей таблицы вносится некоторая атомарная часть информации об объекте, которая называется значением поля. Например, фамилия Белова, которая первой указана в поле Фамилия таблицы Сотрудники, — это и есть одно значение данных. Множества значений в одном поле быть не должно, хотя само по себе значение поля может быть достаточно большой длины (например, аннотация к книге) или объема (СУБД Access позволяет размещать в своих таблицах рисунки, аудио- и видеофрагменты). Запись Полные сведения об одном объекте (например, конкретном товаре или сотруднике) содержатся в одной записи таблицы. На рис. 4.2 темным цветом выделена запись таблицы Сотрудники, включающая всю информацию, которая относится к сотруднику Вороновой Дарье. Другими словами, запись — это совокупность значений всех полей для одного объекта. Количество записей в таблице соответствует количеству ваших объектов: если в штате компании Борей числится 9 сотрудников, в таблице Сотрудники будет 9 записей. Всем записям таблицы соответствует одно и то же множество полей, хотя в определенных полях любая запись может содержать пустые значения (Null), т.е. может не иметь значений для этих полей. При внесении данных в таблицу (о чем подробно будет сказано в главе 7, Ввод данных в таблицу и их редактирование) записи не упорядочиваются; они хранятся в той последовательности, в которой были введены в таблицу. Ключ Как уже указывалось, каждое поле в таблице уникально. Возникает вопрос: а как различать записи? Как обеспечить быстрый поиск в таблице конкретной записи? В реляционных базах данных для решения этой проблемы для каждой записи вводится уникальный идентификатор — первичный ключ. Первичный ключ — это уникальная характеристика для каждой записи в пределах таблицы. В качестве такого ключа выбирается одно или несколько полей записи. О том, каким образом реализуется в приложении Access механизм первичных ключей, речь пойдет в главе 6, Создание и модификация структуры таблиц. В качестве примера простого первичного ключа можно привести поле Код клиента в таблице Клиенты, если в данном поле нет повторяющихся значений и значений Null. Другой пример: теоретически можно использовать в качестве первичного ключа комбинацию двух полей, Фамилия и Имя, из хорошо знакомой нам таблицы Сотрудники (см. рис. 4.2), однако вполне возможно, что в компании появится еще один сотрудник с таким же именем и фамилией, как у кого-либо из уже работающих.
Понятие связей между таблицами Такой механизм, как первичный ключ таблицы, помимо однозначной идентификации записей, позволяет реализовать и связи между таблицами. Благодаря связям информация из одной таблицы становится доступной для другой. Когда база данных включает несколько таблиц, работа в такой системе становится более эффективной, упрощается ввод данных в таблицы, снижается вероятность ошибок, а кроме того, проектировать и поддерживать подобные системы значительно проще. Связи устанавливаются за счет того, что разные таблицы имеют поля с одинаковыми значениями. При этом не обязательно, чтобы эти поля имели одинаковые имена, достаточно соблюдать однозначное соответствие значений. Для одной из таблиц таким полем является первичный ключ, а поле второй таблицы в этом случае играет роль внешнего ключа. Так, например, в базе данных Борей определены связи между таблицами Заказы, Клиенты и Доставка (рис. 4.3).
Глава 4. Реляционные базы данных и их планирование
63
Предположим, что один и тот же клиент сделал три разных заказа. Если бы в базе данных Борей не были спроектированы таблицы Клиенты и Доставка, то при оформлении заказов в таблицу Заказы пришлось бы три раза вносить одну и ту же информацию о клиенте, а также название ДвтаНагначения ДагаИстталнення и телефон фирмы, осуществляющей доставку. Доставка Однако благодаря механизму связей достаточно Стоимость Даст зеки На званиеПопучателя просто указать в соответствующих записях таблиUдресПогучэтеля цы Заказы код клиента и код доставки и по этим "ссылкам" автоматически получить необходимые сведения из таблиц Клиенты и Доставка. Связующим полем для таблиц Заказы и Клиенты является поле КодКлиента, а для таблиц Заказы и Доставка — соответственно поле Доставка таблицы Заказы и поле КодДоставки таблицы Доставка. Подробнее тема определения связей между табРис. 4.3. Пример связей между таблица- ЛИ1Шми будет рассматриваться в главе 10, Ключи, ми в базе данных Борей связи и индексы таблиц. Однако уже сейчас, поскольку далее в этой главе будут обсуждаться вопросы проектирования реляционных баз данных, следует сказать несколько слов о том, каким образом на практике распределяются данные и создаются связи между таблицами. При проектировании таблиц и определении связей следуют формализованной процедуре, которая называется нормализацией и опирается на аппарат теории множеств и реляционной алгебры. Нормализация — это пошаговый процесс замены одной таблицы (или набора таблиц) другими, имеющими более простую структуру. На каждом этапе нормализации таблицы приводятся к некоторому определенному виду, который называется нормальной формой. Теория реляционных БД, и в частности нормальных форм, подробно изложена в выдержавших уже не одно издание фундаментальных трудах Дж. Мартина и К. Дейта ([1], [2]). Другие источники информации по данной теме ([3]—[6]} перечислены в разделе Литература в конце этой главы.
Правила нормализации позволяют также преобразовать данные, хранимые в электронной таблице, в набор реляционных таблиц. Не вдаваясь в детали этого процесса, просто обратимся к примеру. В подразделе Сплошные таблицы были указаны "аномалии" таблицы СОТРУДНИКИ_ПРОЕКТЫ (рис. 4.4). Чтобы исключить их, необходимо преобразовать таблицу На рис, 4.5 эта таблица уже разбита на две: ПРОЕКТЫ и СОТРУДНИКИ. Продолжим анализ и посмотрим на таблицу СОТРУДНИКИ. Несложно заметить следующие особенности. 1. В таблице дублируется информация о телефонах для сотрудников одного отдела. 2. Если изменяется телефон отдела, необходимо изменять его у всех сотрудников отдела. Аналогичная ситуация наблюдается с изменением размера окладов. 3. Нельзя включить данные о новом отделе, пока не будут набраны его сотрудники (парадоксально, но факт!). 4. При увольнении всех сотрудников не сохраняются данные о самом отделе. Поэтому, следуя правилам нормализации, необходимо выполнить декомпозицию таблицы СОТРУДНИКИ и разбить ее на три таблицы: СОТРУДНИКИ, ДОЛЖНОСТИ и ОТДЕЛЫ (рис. 4.6). Отметим, что все эти преобразования, хотя и выполняются в строгом соответствии с теорией нормализации, интуитивно, в общем-то, понятны и очевид-
Часть II. Создание базы данных
ны. С появлением опыта процесс проектирования баз данных, выбора требуемой структуры таблиц и определения оптимальных связей между ними уже не будет для вас столь загадочным и трудным, как на первых этапах освоения системы Access. СОТРУДНИКИ_ПРОЕКГЫ Номер сотрудника 1010 1010 1015 103Й 2122 2122
Номер проекта АБ-115 КН-20 ZT-14 ZT-14 АК-177 ВС-18
Номер задания 1.1 1.3 5.2 5.4 1.2 36
Фамилия
Должность
С *К' 4,1,1
Пиров Петров Васильев Куликов Зорин Зорин
инженер инженер инженер техник администратор администратор
550 550 553 450 ИЗО 630
Отдел Телефон 115 115 115
па
105 105
6-15 6-15 6-15 5-46 6-88 6-S8
Рис. 4.4. Исходная таблица СОТРУДНИКИ_ПРОЕКТЫ
СОТРУДНИКИ
ПРОЕКТЫ Номер сотрудника 1010 1010 1015 1D36 2122 2122
Номер проекта АВ-115 KN-20 2Т-14 ZT-14 АК-177 ВС-18
Номер задания 11 1.3 5.2 5.4 1.2 36
Номер сотрудника 1010 1015 1036 2122
Фамилия
Должность
Оклад Отдал Телефон
Петров Васильев Куликов Зорин
инжеш |i инженер техник администратор
550 550 450 630
115 115 110 105
6-15 6-15 5-4Й 6-88
Рис. 4.5. Таблица СОТРУДНИКИ_ПРОЕКТЫ разбита на две: ПРОЕКТЫ и СОТРУДНИКИ ДОЛЖНОСТИ
СОТРУДНИКИ Номер сотрудника 1010 1015 1036 2122
Фамилия
Должность
Отдел
Пиров Васильев Куликов Зорин
инженер инженер тежник
115 115 НО 105
администратор
Должность
инженер техник администратор
ОТДЕЛЫ Оклад 550 450 630
Отдел 115 110 105
Телефон 6-15 5-46 6-SB
Рис. 4.6. Таблица СОТРУДНИКИ разбита на три новых таблицы: СОТРУДНИКИ, ДОЛЖНОСТИ и ОТДЕЛЫ
Типы данных и их представление Люди и вычислительные машины воспринимают данные по-разному, и помнить об этом необходимо с первых минут работы с приложением Access. Безусловно, немаловажным является вопрос, в каком виде вы храните информацию в таблицах Access. Каждое поле таблицы может содержать данные определенного типа. Типы полей вводятся для того, чтобы программа Access знала, каким образом обрабатывать содержимое поля и сколько места будет выделено под вашу базу данных в целом. Всего поддерживается 10 основных типов данных. • Текстовый. Этот тип поля используется наиболее часто и принят в СУБД Access по умолчанию для новых полей. Сюда можно поместить любые алфавитноцифровые символы, включая числа. Однако данные, хранимые в таких полях, не участвуют в арифметических вычислениях. Как правило, в эти поля заносятся имена, адреса, номера телефонов, почтовые индексы.
Глава 4. Реляционные базы данных и их планирование
65
При выборе такого поля необходимо определить его размер, о чем подробнее будет сказано в главе 6, Создание и модификация структуры таблиц. Программа Access использует то значение длины поля, которое задано в свойствах поля, а все незначащие позиции заполняет пробелами. Если известно, что значения текстовых полей варьируются в широких пределах (например, у части полей их длина превышает 100 символов, а некоторые поля будут насчитывать до 20 знаков), используйте тип Поле MEMO, поскольку в этом случае для данных будет отведено ровно столько места, сколько они реально занимают. Сохраняет до 255 знаков. По умолчанию задается размер 50 знаков. Поле MEMO. Текстовое поле очень большой длины. Как правило, сюда заносятся примечания, комментарии к данным, пояснения и т.п. В отличие от полей текстового типа, для данных в полях МЕМО-типа выделяется столько места, сколько потребуется, т.е. если в одной записи в этом поле используется 2000 символов, а в другой — всего 50, именно столько и будет выделено под них в системе. Сохраняет до 65 536 знаков. Числовой. СУБД Access позволяет выполнять над полями такого типа вычисления. Чтобы указать конкретный способ хранения данных в полях числового типа, предусмотрено несколько подтипов. Если речь идет о финансовых операциях, то используется тип Денежный. Сохраняет 1, 2, 4 или 8 байт; 16 байт для кодов репликации. Технические подробности В Access 2003 предусмотрено несколько подтипов числовых данных. При выборе подтипа числового поля следует учитывать размер предполагаемых данных, однако, по возможности, использовать минимальное количество байтов, поскольку приложение Access быстрее работает с полями меньшего размера. Варианты доступных подтипов перечислены в табл. 4.J.
Таблица 4.1. Подтипы полей для типа Числовой Размер поля
Десятичные Диапазон значений знаки
Размер памяти, в байтах
Байт
Нет
От 0 до 255
1
Целое
Нет
От -32768 до +32767
2
Длинное целое
Нет
От -2147483648 до +2147483647
4
Одинарное с плавающей
7
От -3.402823Е38 до +3,402823Е38
4
Двойное с плавающей точкой
15
От ~1,79769313486231Е308 до +1 ,7976931 3486231 Е308
8
Действительное
28
От-1Е-28до1Е28-1
14
Денежный
4
От -922337203685477,5808 до +922337203685477,5807
8
Код репликации
Нет
Не применяется
16
ТОЧКОЙ
Денежный. В таком поле хранится информация о ценах, суммах счетов и т.п. Тип денежный отличается от числового, в частности тем, что предотвращает округление во время вычислений. Сохраняет 8 байт.
Часть П. Создание базы данных
• Дата/время. Специальное поле, в котором хранятся значения даты или времени, или обе эти величины одновременно. В Access 2003 предусмотрено несколько форматов для полей такого типа. Сохраняет 8 байт. • Счетчик. Уникальный идентификатор, основная функция которого — нумеровать каждую новую запись. Последовательность номеров записей может быть как с шагом 1 (при вводе каждой новой записи к уже имеющемуся максимальному значению этого поля добавляется 1) либо такой номер генерируется случайным образом. Счетчик — это целое числовое значение в диапазоне от 1 до двух с лишним миллиардов. Тип "счетчик" может быть только у одного поля в таблице, и это поле обычно используется в качестве ключевого. Сохраняет 4 байта. • Логический. Такие поля содержат значения логического типа: Да/Нет, Истина/Ложь, Вкл/Выкл и т.п. Значение Null (данные не введены) в этом поле не допускается. Значение -1 интерпретируется здесь как Да, а 0 — как Нет. Сохраняет 1 бит. • Поле объекта OLE (Object Linking and Embedding — технология связывания и внедрения объектов). В полях этого типа могут быть размещены рисунки, электронные таблицы, диаграммы, аудио- и видеофрагменты, а также другие данные в двоичном формате из другого приложения, также поддерживающего технологию OLE. Сохраняет до 1 Гбайт; на практике ограничения диктуются объемом жесткого диска. • Гиперссыпка. Обеспечивает связь с Web-странице и, которая может быть расположена в Internet, внутренней сети (intranet) или на локальном компьютере. Позволяет переходить из текущего поля к информации в другом файле. При выборе этого поля приложение Access автоматически запускает Webбраузер и отображает указанную страницу. Подробно о гиперссылках будет сказано в главе 20, Access и Internet. • Мастер подстановок. Это свойство поля, а не настоящий тип данных. Используется в программе Access для более эффективного и корректного ввода данных. При выборе этого типа данных запускается мастер подстановок, который создает поле, позволяющее выбрать значение из другой таблицы или списка. Как правило, в ходе операции подстановки выполняется запрос к другой таблице для получения подстановочных данных. Для сохранения требуется тот же размер, что и у первичного ключа другой таблицы, соответствующего полю подстановок, — обычно 4 байта. Помимо указания типа поля, в Access 2003 можно определить для каждого поля и другие свойства форматирования, в том числе размер поля, его формат, число десятичных знаков, значение по умолчанию, обязательное поле и многие другие характеристики, которые подробно будут рассмотрены в главе 6, Создание и модификация структуры таблиц, и главе 8, Форматирование и контроль данных.
Основы проектирования баз данных Для проектирования базы данных в СУБД Access достаточно одной таблицы, однако и ее создание начинается задолго до того, как вы запустите программу, даже если для организации новых таблиц вы пользуетесь такими замечательными инструментами, как мастери. Любую базу данных, даже самую "скромную" по своим размерам, необходимо правильно спроектировать.
Глава 4. Реляционные базы данных и их планирование
67
Тщательно продуманная и удачно разработанная база данных станет гарантом вашего спокойствия в будущем, поскольку гораздо лучше изначально уделить достаточно времени и создать оптимальный для конкретных целей проект, чем впоследствии заниматься реструктуризацией неудачно спланированной базы данных, в которой уже хранится не одна сотня (а возможно, и тысяча) записей. Постигая науку проектирования баз данных, основательно ознакомьтесь с уже существующей учебной базой данных Борей, внимательно изучите ее схему и попытайтесь взглянуть на нее с позиций разработчиков Microsoft. Почему выбрана именно такая схема? Какие поля играют роль связующих для таблиц этой базы данных? Какие поля выбраны в качестве первичных ключей? Рассмотрим основные этапы проектирования приложения баз данных. В качестве наглядного примера в этом разделе и в последующих главах книги будет использоваться база данных Интернет-аптека.
Этап 1. Общее проектирование и цель создания базы данных На этом этапе определяется обшая концепция создаваемого проекта. В первую очередь разработчику необходимо выполнить следующее. • Посоветоваться с будущими пользователями этой системы и выяснить назначение проектируемой базы данных. • В ходе опроса непосредственных пользователей БД следует выявить и по возможности формализовать обычную последовательность их действий при работе с той информацией, которая должна будет вноситься в базу данных. •
Внимательно ознакомиться с уже используемыми формами регистрации данных (например, бланками, справками, журналами и т.п.). • Обсудить с заказчиком эскизы будущих отчетов. Если заранее известно, как будут выглядеть отчеты новой базы данных, можно выбрать для таблиц структуру, оптимально отвечающую требованиям отчета. По мере того как будет определяться назначение БД, будут конкретизироваться и те фактические данные, которые должны храниться и обрабатываться в этой базе. На данном этапе уже выделяются отдельные предметы или объекты, которым будут соответствовать таблицы, и в первом приближении намечаются обязательные поля этих таблиц, куда будут вноситься данные об основных характеристиках объектов. Рассматриваемый далее пример иллюстрирует базу данных Интернет-аптека, которая может быть создана для Internet-аптеки, заявки в которой принимаются непосредственно через эту глобальную Сеть. В данном примере мы будем иметь дело с лекарственными препаратами, однако в целом такой подход может быть применим при разработке базы данных практически для любого виртуального магазина. Некоторые особенности, касающиеся характеристик тех или иных групп товаров, могут быть отражены в структуре таблиц как дополнительные поля, В электронной коммерции виртуальным является только прилавок (это Web-страница, которую вы просматриваете в браузере), а за ним, так же как и в реальной жизни, должны стоять реальные сотрудники, должны быть реальные склады, служба доставки и т.п. В этом разделе будет разработана структура базы данных, обусловленная теми функциональными задачами, которые возложены на приложение по обслуживанию Internet-аптеки. (В рамках рассматриваемого примера речь идет о минимальном наборе таблиц, необходимом для поддержки подобной системы.) Итак, первая категория "объектов", имеющих самое непосредственное отношение к работе с виртуальной аптекой, — это пользователи. К таковым относятся покупатели (пользователи, оформляющие заказы в аптеке), менеджеры (пользователи с допол-
68
Часть П. Создание базы данных
нительными правами) и "посетители" (анонимные пользователи, которым предоставлена возможность просматривать товар, представленный в Internet-аптеке). В первую очередь нас будут интересовать покупатели, которых условно можно разделить на две группы: разовые и постоянные (зарегистрированные). Для разовых покупателей выполняется разовый заказ. Зарегистрировавшись в системе, покупатель становится постоянным и может не только приобретать в аптеке товары, но и просматривать список своих ранее оформленных заказов и их состояние. Совершая покупки в аптеке, и разовые, и постоянные покупатели сообщают о себе некоторую информацию, необходимую менеджерам, чтобы обеспечить адресную доставку заказа. Следующая категория объектов, заслуживающая внимания, — это те формы (а в будущем — таблицы), в которых должна фиксироваться вся информация, "циркулирующая" в рамках Internet-аптеки. Для каждого типа информации будет создана одна или несколько таблиц. Список полей, их названия и типы полей будут определены на следующем этапе. Как и в любом виртуальном магазине, в аптеке имеется каталог товаров, куда включены коды предлагаемых товаров, их наименования и цены, а также, в случае необходимости, и другая информация. Как правило, в реальных Internet-магазинах с помощью каталога (сразу или по соответствующей ссылке) можно ознакомиться с подробным описанием конкретного товара и получить представление о его внешнем виде. Все покупки в виртуальной аптеке оформляются с помощью заказов. Порядок оформления заказов для разовых и постоянных покупателей будет различным, так как сведения о зарегистрированных покупателях уже хранятся в системе, а все параметры, необходимые для формирования заказа разового клиента, должны вводиться им при посещеыш аптеки и выборе требуемых товаров. Хотя в реальной жизни Internetмагазины предлагают сразу несколько способов оплаты стоимости товара (наложенный платеж, банковский перевод и т.д.), в рамках данного примера ограничимся самой распространенной формой оплаты — наличными при получении. Итак, о целях создания БД можно сказать следующее: основные функции базы данных будут заключаться в создании, удалении и обновлении записей; поиске записей по идентификатору или условию; подсчете числа записей, удовлетворяющих заданному условию, формировании текущих отчетов.
Этап 2. Определение необходимых таблиц и полей базы данных Вот краткий список тех действий, которые необходимо выполнить на данном этапе. •
Напишите список таблиц, из которых будет состоять база данных, определитесь с именами таблиц. • Для каждой таблицы определите требуемый набор полей и их положение в таблице. • Для каждого поля выберите имя и тип данных, которые будут в нем храниться. Определите размер текстовых полей и подтип числовых. • Подумайте и сформулируйте для полей правила проверки допустимости вводимых данных. Правила и рекомендации, которых необходимо придерживаться + Постарайтесь включить в базу данных всю информацию, с которой необходимо работать. # Создавайте простые таблицы, использовать которые всегда удобнее. Помните, что приложение Access обладает мощными возможностями связывания таблиц. * Иногда хорошей основой для создания таблиц служат уже знакомые вам и используемые в вашей работе бумажные носители информации — формы,
Глава 4. Реляционные базы данных и их планирование
69
бланки и т.п. Как правило, в дальнейшем на базе таблиц создаются электронные эквиваленты этих же форм. • Избегайте давать таблицам и полям базы данных имена, которые могут совпасть с зарезервированными словами самой системы Access (например, SELECT, DATE), чтобы исключить конфликты и появление ошибок при выполнении запросов. Формируя список полей таблицы, разбивайте информацию об объекте на минимальные логические компоненты. • Если данные содержат перечисления (например, типы товаров), присмотритесь к ним внимательнее. Возможно, такие поля придется выделить в отдельную таблицу. Не рекомендуется помешать в таблицу поля, значения которых являются результатом выражения (т.е. могут быть вычислены на основании данных из других полей таблицы, как в случае с известными значениями количества и стоимости заказанного товара). Сумма заказа является простым произведением этих значений. • Назначение поля, в общем случае, должно быть понятно из его названия. Например, Пользователи — таблица со сведениями о пользователях, Товары — каталог товаров. • Хорошим стилем считается использование составных названий таблиц и полей. При этом первое слово должно означать сущность информационного объекта, а второе слово (или остальные слова) — уточнение, например КодТовара, ДатаРождения. и хотя Access допускает использование пробелов в названиях полей, предпочтительнее все-таки оставлять такие имена без пробелов. Ограничения Access на имена полей и объектов
•Ф- Имя не может начинаться с пробела. •Ф- Согласно спецификациям СУБД Access, в имени поля или таблицы может быть до 64 символов. Однако на практике подобная многословность будет мешать. Не следует впадать и в другую крайность, придумывая для полей или таблиц маловразумительные, скорее напоминающие шифр, названия. •J- Имя не должно включать управляющие знаки (с кодами ASCII от 0 до 31), •Ф- Имя может включать любую комбинацию букв, цифр, пробелов и специальных знаков, за исключением точки (.), восклицательного знака (!), надстрочного знака (") и квадратных скобок {[ 1). Итак, в базе данных Интернет-аптека (учитывая требования к приложению, описанные в предыдущем подразделе) могут быть следующие таблицы: Товары, Покупатели и Заказы. Таблица Товары Учитывая тот тип товаров, который предлагается в Internet-аптеке, таблица Товары может содержать следующие поля (табл. 4.2). Забегая вперед, отметим, что поле КодТовара — это и есть первичный ключ таблицы Товары. Таблица Покупатели Как уже было сказано, в нашем приложении сохраняются данные обо всех зарегистрированных пользователях Internet-аптеки. Для этих целей служит таблица Покупатели, список полей для которой представлен в табл. 4,3.
70
Часть II. Создание базы данных
Таблица 4.2. Предполагаемые поля таблицы Товары Имя поля
Тип данных
Размер поля
Описание
КодТовара
Счетчик
Длинное целое
Идентификатор товара. Уникальное число, автоматически присваиваемое новой записи
НаименованиеТовара
Текстовый
60
Название конкретного товара
ЕдиницаИзмерения
Текстовый
30
Форма выпуска препаратов
40
Имя производителя
Производитель
Текстовый
ЦенаТовара
Денежный
Цена товара
НаличиеТовара
Логический
Признак наличия или отсутствия товара на складе. Значения: Да/Нет. Если значение поля равно Нет, это значит, что покупатели не смогут получить доступ к данному товару. Он будет виден в каталоге, но покупатель поймет, что в данный момент этого товара просто нет на складе
Актуальность
Логический
Служебное поле. Признак актуальности записи. Значения: Да/Нет. Если какойлибо товар нужно исключить из каталога, то в этом поле устанавливается признак неактуальности записи (Нет). Тогда при отображении каталога такие записи исключаются из списка, и покупатели не смогут ни увидеть его, ни заказать. Физически запись из базы данных при этом не удаляется, что полезно, например, если товар продан, но в будущем вы хотели бы возобновить его поставки
ДатаРегистрации
Дата/время
Служебное поле. Дата создания/изменения записи, т.е. добавления товара в каталог. Позволяет сортировать записи, например для поиска новых поступлений
Таблица 4.3. Предполагаемые поля таблицы Покупатели Имя поля
Тип данных
Размер поля
Описание
КодПокупателя
Счетчик
Длинное целое
Идентификатор покупателя. Уникальное число, автоматически присваиваемое новой записи
Регистра ционноеИмя
Текстовый
40
Имя пользователя, под которым он зарегистрирован в Internet-аптеке
Пароль
Текстовый
ИмяПокупателя
Текстовый
50
Ф.И.О. пользователя или название организации-заказчика
Адрес
Текстовый
SO
Адрес покупателя
Текстовый
12
Телефон покупателя
Телефон
Пароль для входа в систему. Регистрационное имя и пароль нужны для авторизации посетителя при работе с Internet-аптекой
Глава 4. Реляционные базы данных и их планирование
71
Окончание табл. 4.3 Имя поля
Тип данных
Размер поля
Описание
Эл ектронн ыйАдрес
Текстовый
30
Адрес электронной почты покупателя
Актуальность
Логический
ДатаРегистрации
Дата/время
Служебное поле. Признак актуальности
записи. Значения: Да/нет Служебное поле. Дата регистрации или изменения данных о покупателе в системе
Поле КодПокупателя является первичным ключом таблицы Покупатели. Поля РегистрационноеИмя и Пароль необходимы для процедур регистрации и доступа покупателей к системе. В процессе авторизации покупатель указывает свой идентификатор (РегистрационноеИмя) и пароль. Если в таблице Покупатели есть запись с такими параметрами, система распознает этого пользователя, предоставляет ему необходимые полномочия для работы с информацией, а в случае оформления заказа автоматически вносит необходимые сведения об этом покупателе в форму заказа. Что касается разовых покупателей, то, заказывая товар, информацию о себе они вносят сами. Таблица Заказы Проанализировав те данные, которые должны храниться в таблице Заказы, можно сделать вывод, что помешать все сведения о заказанных товарах в одну таблиду нерационально. Следуя правилам нормализации, можно разделить заголовки заказов и списки заказанных товаров. Поэтому мы будем использовать две таблицы, Заказы и Соде ржа ниеЗаказов, что позволит сократить объемы базы данных и эффективнее выполнять обработку информации. Общая информация о заказах хранится в таблице Заказы, структура которой приведена ниже (табл. 4.4). Таблица 4.4. Предполагаемые поля таблицы Заказы Имя поля
Тип данных Размер поля
КодЗаказа
Счетчик
ДатаЗаказа
Дата/время
КодПокупателя
Числовой
Длинное целое
Описание Идентификатор заказа. Уникальный номер
заказа
Дата размещения заказа Длинное целое
Идентификатор записи зарегистрированного покупателя в таблице Покупатели. Совпадает со значением поля КодПокупателя таблицы Покупатели. Для анонимных покупателей это поле не заполняется
Имя Получателя
Текстовый
50
Контактное лицо, с которым должен связаться менеджер при выполнении заказа
АдресПолучателя
Текстовый
60
Адрес получателя (может не совпадать с адресом покупателя)
Телефон Пол учател я
Текстовый
12
Телефон получателя
ЭлАдресПолучателя
Текстовый
30
Адрес электронной почты получателя
СостояниеЗаказа
Числовой
Байт
Код текущего состояния заказа: 1 — оформляется, 2 — обрабатывается, 3 — выполнен
Актуальность
Логический
Служебное поле. Признак актуальности записи. Значения: да/Нет
ДатаРегистрации
Дата/время
Служебное поле. Дата создания/изменения записи
72
Часть II. Создание базы данных
Поле КодЗаказа — это первичный ключ таблицы Заказы. Для зарегистрированных покупателей поля Имя Получателя, АдресПолучателя, ТелефонПолучателя и ЭлАдресПолучателя заполняются системой автоматически на основании содержимого полей таблицы Покупатели. В случае необходимости покупатель может изменить содержимое этих полей. Таблица СодержаниеЗаказов Списки заказанных товаров будут храниться (табл. 4.5).
в таблице СодержаниеЗаказов
Таблица 4.5. Предполагаемые поля таблицы СодержаниеЗаказов Имя поля
Тип данных
Размер поля
КодЗаказа
Числовой
Длинное целое Код заказа. Идентификатор записи заголовка заказа в таблице Заказы. Совпадает со значением поля КодЗаказа в таблице Заказы
КодТовара
Числовой
Длинное целое
ЦенаТоаара
Денежный
Количество
Числовой
Актуальность
Логический
ДатаРегистрации Дата/время
Описание
Код товара. Идентификатор записи позиции товара в таблице Товары. Совпадает со значением поля КодТовара в таблице Товары Поле содержит стоимость единицы данного товара в момент оформления заказа (может отличаться от цены на товар, указанной в таблице Товары)
Целое
Количество единиц товара Служебное поле. Признак актуальности записи. Значения: Да/Нет Служебное поле. Дата регистрации или изменения записи
Первичным ключом этой таблицы будет комбинация полей КодЗаказа и КодТовара,
Этап 3. Определение полей с уникальными значениями в каждой записи При проектировании таблиц обязательным условием является использование первого поля таблицы (или набора полей) для однозначной идентификации записей таблицы. Такое поле служит первичным ключом таблицы и на следующем этапе будет принимать непосредственное участие в организации связей между таблицами. В нашем примере в качестве первичных ключей используются следующие поля: • • • •
для таблицы Товары — поле КодТовара; для таблицы Покупатели — поле КодПокупателя; для таблицы Заказы — поле КодЗаказа; для таблицы СодержаниеЗаказов — комбинация полей КодЗаказа и КодТовара.
Этап 4. Определение связей между таблицами В нашем примере связь между таблицами Заказы и СодержаниеЗаказов обеспечивается с помощью поля КодЗаказа, а поле КодТовара связывает записи таблицы СодержаниеЗакаэов с таблицей Товары. Таблицы Заказы и Покупатели связаны между собой полем КодПокупателя. На рис. 4.7 показаны связи между таблицами базы данных Интернет-аптека.
Глава 4. Реляционные базы данных и их планирование
73
КмТовара Натенованне Т авар Единица!'змеречия Производитель ЦенаТсеэра НалнчиеТоеара Актуальность ДатаРе гисграции
] Да таРегнстрации
КодЗаказа ДатаЗакаи КодПокупателя ИмяЛолучателя АдресПопучате пя ТелефонПолучателя ЭлАдресПолучателя СостозннеЗакаэа Актуальное!в А а таРегист рации
КодПягуттеля РегистрацпоииоеИмя Пароль ИмяПокупэтеля Адрес Телефон ЭлектронныйАдрес Актуальность ДатаРе гистр ации
Рис. 4.7. Проектируемая структура базы данных Интернет-аптека и связи между таблицами
Этап 5. Усовершенствование структуры БД На этом этапе по разработанным ранее схемам создаются таблицы с необходимыми типами полей, выбираются первичные ключи и формируются связи между таблицами. Теперь, когда структурная основа базы данных готова, следует внимательно проанализировать ее, чтобы еще до заполнения таблиц данными устранить возможные недоработки. При разработке крупных проектов со сложной организацией базы данных на данном этапе обязательно проводится заполнение таблиц специально подготовленными тестовыми данными. В качестве таких данных могут использоваться как заведомо правильные данные, с помощью которьгх проверяется сама структура таблиц и корректность генерируемых отчетов, так и "ошибочные" данные, позволяющие отработать допустимые пределы значений для полей таблиц и выявить все возможные типы ошибок. На данном этапе целесообразно также создать в первом приближении будущие формы и отчеты, чтобы удостовериться в том, что в них будут заноситься именно те данные, которые необходимы. На тестовых наборах данных с помощью запросов проверяются связи, установленные для различных таблиц. Microsoft Access предлагает собственные автоматизированные средства, позволяющие усовершенствовать структуру баз данных. Мастер анализа таблиц позволяет проверить структуру таблицы и в случае необходимости разделить ее на новые связанные таблицы, что повышает эффективность хранения данных. Анализатор быстродеисщвия анализирует производительность базы данных и ее объектов, предлагая рекомендации по ее улучшению.
Этап 6. Ввод данных и создание других объектов БД После создания и успешного тестирования структуры таблиц можно заполнять их реальными данными. На этом этапе разрабатываются и создаются также все остальные необходимые объекты базы данных — запросы, формы, отчеты, страницы доступа к данным, макросы и модули.
Резюме Данную главу вполне можно было бы назвать Как объять необъятное, поскольку достаточно сложно в рамках нескольких разделов изложить основные принципы функционирования баз данных и проектирования настоящих реляционных таблиц. И тем не менее: в этой главе вы познакомились с основными понятиями реляционных 74
Часть II. Создание базы данных
баз данных, начав с общего определения базы данных как совокупности информации по определенной теме или конкретному приложению. Как правило, в базах данных используются таблицы двух типов: сплошные (неструктурированные) и реляционные, Реляционная СУБД для более эффективного выполнения вычислений и сопровождения базы данных использует несколько связанных между собой таблиц. Таблицы структурно представлены записями и полями. Поле — это поименованный столбец в таблице, а запись — это однозначно идентифицируемая строка таблицы. Значением поля является элемент данных на пересечении поля и записи в таблице. Связь между реляционными таблицами становится возможной благодаря наличию в этих таблицах полей с совпадающими значениями данных. Процесс поэтапной декомпозиции таблиц на более простые по своей структуре называется нормализацией. В этой главе вы узнали также, что в СУБД Access существует десять основных типов полей: Текстовый, Поле MEMO, Числовой, Денежный, Дата/время, Счетчик, Логический, Поле объекта OLE, Гиперссылка и Мастер подстановок. В качестве примера, иллюстрирующего основные этапы проектирования реляционных баз данных, была разработана база данных для приложения Интернетаптека, реализующего многие функции, необходимые для поддержки электронного I nternet - магазина.
Литература [1] Мартин Дж.. Организация баз данных в вычислительных системах. — М.: Мир, 1980. [2] Дейт К.. Введение в системы баз данных, 7-е издание. — М.: Издательский дом "Вильяме", 2001. [3] Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. — М.: Издательский дом "Вильяме", 2002. [4] Конолли Т., Бегт К. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 3-е издание. — М.: Издательский дом "Вильяме", 2003. [5] Риккарди Г. Системы баз данных. Теория и практика использования в Internet и среде Java. — М.: Издательский дом "Вильяме", 2001. [6] Ролланд Ф. Основные концепции баз данных. — М.: Издательский дом "Вильяме", 2002.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Приложение Microsoft Access позволяет работать: а) только с реляционными базами данных; б) со сплошными таблицами и реляционными БД; в) с электронными таблицами. 2. В терминологии Microsoft Access структура реляционных таблиц представлена: а) колонками и записями; б) полями и записями; в) полями и строками; г) столбцами и строками.
Глава 4. Реляционные базы данных и их планирование
75
3. О а) б) в) г) 4.
5.
6.
7.
8.
9.
полях таблиц Access можно сказать следующее: поле — это отдельная строка в таблице базы данных; полю присваивается уникальное имя (в пределах таблицы); значением поля может быть видеофрагмент; значение поля может содержать разнородную информацию, например текст и дату. Первичный ключ таблицы: а) это одно или несколько полей таблицы, уникально идентифицирующих запись; б) обязательно используется при организации связей между таблицами; в) в том случае если он представлен одним полем — это поле обязательно имеет тип данных Счетчик. В поля текстового типа можно поместить: а) алфавитно-символьные данные; б) числа, над которыми должны выполняться вычисления; в) числа, которые используются только в качестве символьных идентификаторов; г) рисунки. Под значения полей МЕМО-типа в памяти выделяется: а) ровно столько места, сколько реально занимают данные; б) столько места, сколько указано в значении длины поля (все незначащие позиции заполняются пробелами); в) объем памяти, соответствующий 65 536 символам. Поле объекта OLE может содержать: а) рисунки; б) электронные таблицы; в) гиперссылки. Математические вычисления можно выполнять над полями следующего типа: а) Числовой; б) Денежный; в) Поле объекта OLE; г) Дата/время. Проектируя структуру будущей таблицы, следует:
а) выбирать для полей таблицы названия, которые отражали бы их назначение; б) учитывать ее возможные связи с другими таблицами; в) помещать в таблицу поля, значения которых вычисляются на основании данных из других полей таблицы; г) продумать для полей таблицы условия проверки вводимых данных. 10. Имя поля таблицы: а) может начинаться с пробела; б) может включать цифры и пробелы; в) может включать точки (.), восклицательный знак (!) и квадратные скобки ([ ]).
76
Часть II. Создание базы данных
Глава 5
Создание новой базы данных В этой главе... * Выбор способа создания и типа файла БД 4 Создание пустой базы данных * Создание базы данных с помощью шаблона Ф Резюме Ф
Тесты
Выбор способа создания и типа файла БД Прежде, нежели создавать таблицы и вводить в них данные, необходимо вспомнить о том, что представляет собой база данных в Access. Как уже отмечалось в главе 1, Знакомьтесь— Access 2003, все объекты базы данных Access хранятся в одном файле с расширением .mdb. Файл новой базы данных занимает около 96 Кбайт дискового пространства и содержит скрытые системные таблицы, в которые в дальнейшем будет заноситься информация обо всех других объектах базы данных. По мере создания новых объектов — - таблиц, форм, отчетов — и заполнения самой базы данных размер этого файла будет расти, однако на протяжении всего периода существования базы данных вся эта совокупность элементов Access рассматривается как один физический файл, в отличие от других СУБД, где подобное представление о базе данных поддерживается только на логическом уровне. Поэтому работа с данными в Access начинается с создания файла базы данных.
Способы создания базы данных Базу данных в СУБД Access можно создать двумя способами. • •
Создать пустую базу данных. Создать новую базу данных на основе одного из шаблонов Access.
Принимая решение о том, к какому из этих способов обратиться, ознакомьтесь с предлагаемыми системой Access шаблонами. Если готовый шаблон устраивает вас — в нем есть требуемые вам типы таблиц и других объектов БД, — воспользуйтесь услугами мастера создания баз данных. Это самый простой способ создать свою базу данных, причем сразу с таблицами, формами и отчетами. Например, если вы проектируете приложение по инвентаризации для оптовой базы, то вполне возможно, что вам подойдет структура базы данных, реализованная в шаблоне Склад, поскольку предлагаемые в нем таблицы — это Сведения о товарах, Сведения о покупках и продажах, Поставщики и т.д. Помимо таблиц, в шаблонах присутствуют и другие объекты базы данных, обязательные или просто удобные для использования в рамках конкретной предметной области, что позволит вам незамедлительно приступить к работе с вашей базой данных. Если же вы не относите себя к категории новичков, уверены в своих силах и четко знаете, как должна выглядеть ваша база данных (а в предлагаемом списке шаблонов
нет ничего похожего), создайте новую базу данных "с нуля". При таком подходе, однако, вам придется самостоятельно определять каждый из ее элементов. И в том, и в другом случае вы сможете, если потребуется, реорганизовать базу данных, дополнить ее новыми объектами, а также удалить или модифицировать уже существующие.
Выбор формата для новой базы данных Чтобы обеспечить совместимость файлов баз данных Access 2002 и Access 2003 с ранними версиями этой СУБД (Access 2000 и Access 97), при создании новой базы данных в Access 2003 по умолчанию используется формат файла Access 2000. Поэтому прежде, чем создавать новую базу данных, подумайте над тем, какой формат для нее выбрать. Если еще не все ваши коллеги или будущие пользователи разрабатываемой вами БД перешли на Access 2003 (Access 2002), целесообразнее оставить формат Access 2000. Если вместе с вами с новой базой данных будут работать пользователи, у которых установлены исключительно версии Access 2002-2003, можете выбрать формат Access 2002-2003. Чтобы установить по умолчанию для файлов базы данных формат Access 2002-2003, выполните следующее. 1. Выберите команду Сервис^Параметры. Появится диалоговое окно Параметры. 2. Щелкните на вкладке Другие. 3. Выберите пункт Access 2002 - 2003 из раскрывающегося списка опции Формат файла по умолчанию (рис. 5,1) и щелкните на кнопке Применить. Й1Д
Вставка
Сервис
Окно
Справка
Режим „3
Проверка сшибок
Таблицы Запросы Фориы
. • Ферма I
пропуск коивнд DDE обновленке связе
Аргументы КОРИНдиои стрп«:.1
Режип открытия по умолчание ты ^j Избранное
Рис. 5.3. В заголовке окна новой базы данных указано ее имя и формат хранения файла Может случиться так, что на лиске уже существует файл базы данных с таким же именем, как вы пытаетесь ввести при создании новой базы данных. В этом случае программа Access поинтересуется, заменить ли прежнюю базу данных новой. Щелкнув на кнопке Нет, вы получаете возможность найти для базы данных новое имя. Ответ Да следует выбирать, только если вы действительно готовы расстаться с уже существующей БД. В строке заголовка этого окна указано имя БД (Интернет-аптека) и формат файла (формат Access 2000). На панели Объекты после создания БД по умолчанию выбрана кнопка Таблицы, ведь следующим шагом после создания базы данных станет заполнение ее необходимыми объектами, и в первую очередь таблицами. Затем можно будет расширить базу данных объектами других типов, например запросами или отчетами. Предлагаемые системой Access методы создания таблиц (в режиме конструктора, с помошью мастера и путем ввода данных), которые перечислены в рабочей области окна базы данных, будут рассмотрены в главе 6, Создание и модификация структуры таблиц.
Открытие и закрытие базы данных В отношении операций открытия и закрытия базы данных важно запомнить следующее правило: при открытии уже существующей базы данных или создании новой текущая база данных будет закрыта, поскольку приложение Access позволяет одновременно работать только с одной базой данных. Из этой ситуации, тем не менее, существует выход: на одном компьютере все-таки можно работать сразу с несколькими базами данных, однако для этого вам потребуется запустить столько же экземпляров приложения Access 2003.
Как открыть базу данных В приложении Access 2003 предусмотрено три метода открытия базы данных. • Выбрать имя базы данных из меню Файл. Применяется в том случае, если вы недавно работали с требуемой вам базой данных. Выполните следующее.
Часть II. Создание базы данных
1. Дважды щелкните в меню Файл, чтобы получить доступ к полному перечню его элементов. В нижней части меню показан список (от 1 до 4 позиций) имен файлов баз данных, которые использовались последними (рис. 5.4). Файл ! rj»BKa
Эил
1
Вставка
j Создать... ; Сткрыть...
1
^SF?? ^. Ct rl+N
&™ i
-*
Сяравк! if
.
CtrM-C
Закрыть ^ОБФЫТЬ SJ^ [инструктор JCoaiarjj
J
X ', n
!-
Резервная копия базы длины>
Сбьекты ~
Пмклк читься к ввэ-у: ИсгеиЛ Office Or*» Последние свеаемнд с^
Создание таблицы с помощью мастер Создание таблицы путем ввода дан™ Поиск файлов,,.
Ав^сиатически обновлять :-тот список из Веба
Пример: "Печать нескольких «опии "•-•"• Свойства б«ы данных
Открыть
i Интерне т-an тека, mdb
Рис. 5.4. Открыть базу данных можно либо через область задач Приступая к работе, либо из списка недавно использовавшихся файлов в меню Файл 2. Если в этом списке есть необходимая вам база данных, щелкните на ней. Файл будет открыт с теми же настройками, которые были установлены при последнем к нему обращении. Технические подробности По умолчанию такой список включает 4 недавно использовавшихся файла баз данных. Чтобы изменить это число, выберите команду Сервис^Параметры. Затем в появившемся диалоговом окне Параметры откройте вкладку Общие. Из раскрывающегося списка опции Помнить список файлов выберите удобное для вас значение (от 1 до 9) и щелкните на кнопке Применить (рис. 5.5). Щелкнуть на имени файла базы данных в области задач. Список использовавшихся последними баз данных дублируется в нижней части области задач Приступая к работе. Если в этом списке присутствует нужная вам база данных, щелкните на имени ее файла. Так, например, на рис. 5.4 в области задач (группа Открыть) отображены два имени баз данных: Интернет-аптека и Борей. Использовать команду Открыть. Если в области задач или списке файлов меню Файл имя требуемой вам базы данных отсутствует, открыть ее можно с помощью команды Открыть. Выполните следующее.
Глава 5. Создание новой базы данных
Другие | Международные Проверка ошибок Вид Общие | лравканпоиск j Клавиатура \ Р*жинтабг»«ы J ФорНыиотчеть Границы neHSTtwro поля
Формат года ю четыргя цифр
лввсеоопе:
|г,5чзс^
правое поля:
2.5+си
Г" текущая йам данных I— ertt f »
Двтоэаменз имен
верхнее поле:
Р отслеживать автоммену имен
толе;
I-' вьтопчятывтсввлвну инен
^У Помгить список файлов; Г" Звуковое сопровождение событий
Порядок сортцивкм бавы д»#*1к:
Г" . сжимать при эакрьтии
|Уии ииеерсальньй
"|-^ V делить j*i**ie сведений HI свойств файла пр сохранении ; . • Рабочий каталог; •JD; \Documentsand5etthg5\M3mcr\Mon документы! • Параметры веб- документа.,, ! Параметры с лу «б...
Рис. 5.5. В поле со списком опции Помнить список файлов можно указать любое число от 1 до 9
1. Щелкните на кнопке Открыть панели инструментов или выберите команду Файл ^Открыть. Появится диалоговое окно Открытие файла базы данных (рис. 5.6). (Открытие файла базы данным Мои oks рисунки
floH последние докуиетгы
Мое сетевое" •окружение
Имя файла:
QTKflbfTB
Ти^фЙкЖ, JMicroioft Office Access l+.mdh;*.adp;*,mdai*.mde;*.ade) _^|
J
Рис. 5.6, Зная месторасположение файла нужной базы данных, можно открыть его в окне Открытие файла базы данных
2. Если в списке тех файлов, которые отображены в этом окне (на рис. 5.6 это папка Мои документы), нет интересующей вас базы данных, воспользуйтесь раскрывающимся списком Папка, чтобы выбрать нужные диск и папку. Для этого сначала щелкните на стрелке справа в этом поле, а затем, дважды щелкнув на папке, откройте ту, в которой хранится нужная вам база данных. 3. Когда нужный файл найден, дважды щелкните на нем. Откроется окно выбранной базы данных.
82
Часть II. Создание базы данных
Как закрыть базу данных Если по каким-либо соображениям базу данных необходимо закрыть, сделать это можно одним из трех способов. • Выбрать команду Файл^Закрыть. • Щелкнуть на служебной кнопке Закрыть (ЕЕ)), расположенной в правом верхнем углу окна открытой базы данных Access. • Дважды щелкнуть на пиктограмме базы данных ( Э ), расположенной слева в строке заголовка окна текущей базы данных. В любом случае при выходе из базы данных все внесенные в нее изменения программа Access автоматически сохранит. Однако, если модификация затронула макеты и структуру объектов базы данных, система запросит у вас соответствующее подтверждение.
Создание базы данных с помощью шаблона Ну а теперь с помощью мастера можно создать уже не просто файл пустой базы данных, а попробовать построить приложение для решения определенной задачи. Итак, последовательность действий будет следующей. 1. В области задач (панель Создание файла) щелкните Создание файла на пункте На моем компьютере группы Шаблоны (рис. 5.7). Если в окне Access область задач не отображена, для ее открытия воспользуйтесь командой Файл^Создать (эта же функция продублирована на •Sg Пустая;т[энииа доступа к: ДЁНМЫМ. панели инструментов кнопкой Создать). ,£JJ Праект с ИЧЕМШИКИСЯ дзнньии... ^ Прэпст с повегрч данпыни... 2. В появившемся диалоговом окне Шаблоны щелкниid^ пчеющн-асяфайла... те на вкладке Базы данных. Здесь представлен спиШаблоны сок из 10 предлагаемых СУБД Access шаблонов баз Пожкесети: данных (рис. 5.8). Памятуя о том, какие задачи 'да Шабпонь! не vsne Office Qrtre должно решать учебное приложение Интернет3J На поен компьютере.^ аптека, можно предположить, что удачным выбором окажется шаблон Прием заказов. Попробуйте создать базу данных по этому шаблону и оцените полученный результат. 3. Дважды щелкните на пиктограмме выбранного вами шаблона (например, Прием заказов). Появится диалоговое окно Файл новой базы данных. Рис. 5.7. Для создания базы 4. В этом окне вы должны указать имя (в поле данных выбранного типа с Имя файла) и путь (с помощью раскрывающегося помощью мастера выберите списка Папка) к создаваемому файлу базы данных, пункт На моем компьютере а затем щелкнуть на кнопке Создать. Появится окно в группе Шаблоны новой базы данных, где в строке заголовка указано ее имя (в нашем случае это Прием заказов ТестоваяБД), а затем запустится мастер создания баз данных, соответствующий выбранному шаблону (рис. 5.9). №
Когда вы работаете с базой данных, открыть на экране область задач можно, щелкнув правой кнопкой мыши на фоновой поверхности панели инструментов или меню и выбрав из появившегося контекстного меню пункт Область задач. К. такому же результату приведет выбор команды Вид^Панели инструментов-^Область задач (или Вид^Область задач).
Глава 5. Создание новой базы данных
83
Общие Баян даты* j
Главная книга
Заказы на работы
Основные фондь
Ресурсы
Контакты
Мероприятия
Проекты
Расходы
ПрООЮТр
Склад
Шаблпны'на ysne Office
Рис, 5.8. Из списка существующих шаблонов выберите тот, который больше всего удовлетворяет вашим требованиям Технические подробности Файлы шаблонов приложения Access хранятся в папке \Program Files\Microsoft Offices Templates\1049. $Р Прием заказов ТегтонавйД ; баз
Объекты "3
Твбпииы
-a Формы Ш
Отчет*
*^J Страницы 12
Макросы
Создание баз данных База данной "Прием заказов' будет содержать: - Сведения а. клиентах -
Сведения о заказах Сведения о заказе Сведения об оплате Сведения е тсварах Сведения об организации -
Группы _£j И)фам«ое Для продолжения нажмите KHMwy "Далее".
Рис. 5.9. Мастер выводит на экран окно с информацией о предназначении будущей базы данных
5. В открывшемся окне Создание баз данных мастер кратко сообщает о том, какая информация будет храниться в будущей базе данных. Как видно из рис. 5.9, шаблон базы данных Прием заказов предусматривает размещение в БД сведений о клиентах, форме оплаты, товарах и т.д. Щелкните на кнопке Далее, чтобы перейти к следующему окну мастера. 6. И вот теперь мастер предоставляет вам возможность внести свою (правда, весьма небольшую) лепту в создание таблиц базы данных. Внимательно проанати-
Часть II. Создание базы данных
зируйте предложенные в новом окне мастера таблицы (рис. 5.10). Список будущих таблиц представлен в этом окне слева, а справа перечислены обязательные и дополнительные (выделенные курсивом) поля для таблицы, выбранной в левом списке. Просматривая одну за другой таблицы, вы можете установить флажки возле необходимых, на ваш взгляд, дополнительных полей каждой таблицы. Закончив процесс выбора полей, щелкните на кнопке Далее.
Для выбранной базы денньк нечотсрЫЕ поля является обямтеп&ныт. курсивам дополнительные поля чогут находиться в нескольких таблта* Создать дополнитвльные Таблицы бамя денных:
Поля тэбгаиы: ^ Город V Регион J? Индекс I? Стоана*еоюн 1 Р Должность елефон акс Г™ Зпспкраинаа почта Г" Зйштю
Сведения о заказах Сведения о заказе Сведения об оплате Сведения о товарах Доставка ~1етодь. оплаты ведения о сотрудниках Сееления об организации
Отнена
< Назад
Далее >
Готаьо
Рис. 5.10. Откорректируйте список полей для каждой из будущих таблиц базы данных
В процессе создания базы данных на основе шаблона нельзя исключить из таблицы обязательные поля. При попытке исключить такое поле появится сообщение об ошибке. Удалить обязательные поля вы сможете только после завершения работы мастера. 7. Следующее окно мастера (рис. 5.11) предлагает вам выбрать вид оформления экрана, точнее то, как будут выглядеть формы на экране. Список всех доступных стилей оформления отображается в правой части окна. Щелкнув на одном из них, в расположенной слева области предварительного просмотра можно увидеть визуальную "подсказку". Ознакомившись с доступными стилями, щелкните на наиболее подходящем (например, Официальный), а затем — на кнопке Далее. гДг^П1Яа>тж.-гл:^.:.-.:1 Выберите вид оформления: Диффузный Камень Международный Hayдачная бумага ЕЕщЭЕЙЕЯЭИ Промышленный Рисовая бумага Рисунок Суии Стандартный Чертеж
Отмена
COTOBO
Рис. 5.11. Выберите подходящий стиль для форм
Глава 5. Создание новой базы данных
85
8. Новое окно мастера создания баз данных позволяет вам выбрать вид оформления отчетов при печати (рис 5.12). Последовательность действий здесь такая же, как и на предыдущем этапе. Получив представление о предлагаемых стилях, выберите тот, который более всего вас устраивает (например, Полужирный), и щелкните на кнопке Далее.
Выберите вид оформлений отчета на гечатн. • Деловой Обычный
ЛЭЛЭГй
Сжатый
СПОКОЙНЫ!
Строгий
Намд
Далее >
Рис. 5.12. Выберите удачный, на наш взгляд, вид будущих отчетов
9. На этом этапе мастер предлагает вам указать заголовок для базы данных. Это имя будет отображаться во всех отчетах и может не совпадать с именем самой базы данных. Введите нужный вам заголовок или оставьте имя базы данных без изменений (рис. 5.13). Создание 6м данным наиюпне базы данных:
Добавить рисунок во все отчеты'
Далее >
Рис. 5.13. Укажите заголовок для будущих отчетов
10. Если вы хотите украсить свои отчеты логотипом компании или каким-либо другим графическим элементом, в этом же окне установите флажок для опции Добавить рисунок во все отчеты?, как показано на рис. 5.13. (Список поддерживаемых форматов изображений включает, например, следующие: .bmp, .gif, .eps, . cdr, .dib, .wrnf и .emf.) Теперь щелкните на кнопке Рисунок и в окне Выбор рисунка найдите требуемый графический файл. Щелкните на кнопке ОК, чтобы вернуться в окно мастера. 86
Часть //. Создание базы данных
11. Щелкните на кнопке Далее, чтобы перейти к последнему окну мастера создания баз данных, в котором система сообщает, что указаны все сведения, необходимые для создания базы данных (рис. 5.14). Вам остается только установить опцию Да, щелкнуть на кнопке Готово, и мастер приступит к созданию базы данных и ее объектов. О ходе выполнения работ мастер будет информировать вас с помощью специального окна (рис. 5.15). ГГтланнр Ьлз длннын Уклмиы все сведения, кеобюдимыв для смдагвта ба>ы данных с помощью пйстера, Запустить базу данных?
Г" Вывести справку по роботе с базой данных
Отмена
ОТЛ0СЫ1~Г
iV.Ttlfr
Всемирный У5ЛЫ ife'i
1 ^offiCe.rricrwrft.cora/o/sVotldWida.asD;.
Рис. 5.17. Страница Шаблоны русскоязычного Web-узла Microsoft Office Online, где в основном предложены шаблоны для Microsoft Word
Файл
Правка
Вид
Избранное
Сервис
- ,-.'з - _*; ;jj; •""*. ',..-• Поиск,
Справка ".именное Ч? Мед*
QI nttp:/fof Fice.niicrosofl.comrtemp]ate:ydefaiJt.aipj?CTT-6bO'ioirieEC790D20i 1 ЮН
ЦУЁЗ П*рвход -Ссыл'И
и Office Online
Wow, it's been a year already?
Dwvnlwds Offte MarVe Pf ctijtt |nf o
Birthday templates
.'„; Birthdays might sneaky * afiiiJcivportysrwii cri you, but you don't have * ftrthdav banrer to let them pounce. Be readywith some * ESrthd»vc*fd ^ templates. • . ;ou4 birB>day caendar :QL'E£T
VJHIT'S HOT
FEATUPfC' TEMPLATE
Office 2003 Edition* * About OflkE £003 Editions !•- Saascns to ijpg!*^» » Orde! a tiid Cf
' How to buy Quick links - See office demcs Office WorttKri-s
r.aTCff scneciJe
Membership dirfrctory
• Piol-eit four PC
Related Web » i Интернет
Рис. 5.18. Страница Templates, где необходимо выполнить поиск шаблонов для Access
Глава 5. Создание новой базы данных
89
On"
bOfficeOnline
Results 26- 31 of 31, sorted by be« m*ch Template
j3] Hume cDiitciili. inventory dat.ib H-sms eriri Conimijnty > Чопю and Au .•Йч (teiaurtf schedulin
Event nianaqemcnt database M^'l-ating > Public Relations Cant (net it? t I mil art management riatabaiib I-'tj'Irting > jiifcs > i-ikii ar:dQj5£ Hobble;, SJJOM.SJ aid Сомита > Hobbej and CoHectnji.i
= Clip a-t and nueclb .
Jr
,_;^. _,
Reiuti 26-31 cf$i, sorted Ijy best mar.cli
ь
Page: . [2] •,
gji bttp ^"office.ffioosoft.comrteEnpbtesJpi evtew, aspX?A«elro=TCQ 101SS 4 71133 ЗЬСТТ» 18igh-€C7«i
)B Интернет
Рис. 5.19. Страница с результатами поиска: всего найден 31 шаблон для Access a Microsoft Office Templates: tustomer outers datsbe^e - Mwrosoft internet &x?As!etro-TC010ieS471033bCTT-teOtigr^
Customer orders database Template' > Otdsra snd 'nv'entwy > Cfder D-,-.-.l--i.»J scr-L 1004 KB (3 nuns Vers«jn Requires Access 2000 Download Mow
Thino» To Da Sucjes: a template
Add 0( Delele a Cuslomel j AddanOidwandDetals Chanae SKipprig arid Payment Methods
Company Name:
|A. Datum Capoietion
Ship Address
|1234BiovmS«wl
Рис. 5.20. Страница выбранного шаблона, с которой можно инициировать его загрузку на ваш компьютер
90
Часть II. Создание базы данных
Резюме В этой главе вы сделали первый серьезный шаг по освоению СУБД Access на практике, познакомившись с двумя способами создания новой базы данных. Самый простой путь — это воспользоваться помощью мастера создания баз данных и шаг за шагом, следуя его инструкциям, выполнить процедуру создания базы данных на основе одного из 10 шаблонов, предлагаемых в Access 2003. Новая база данных, сгенерированная системой Access по такой схеме, включает не только таблицы, но и другие объекты базы данных, в том числе формы и отчеты. Если вам предстоит работать со сложной по своей структуре базой данных, то, возможно, ее создание следует начать "с нуля", т.е. создать пустую базу данных, а затем, пользуясь инструментальными средствами Access, поместить в нее все нужные объекты. Приложение Access позволяет одновременно работать только с одной базой данных, поэтому при открытии новой базы данных текушая будет закрыта. В данной главе были рассмотрены и другие предусматриваемые Access методы закрытия и открытия базы данных.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Базу данных в СУБД Access можно создать следующим образом: а) создать одну или несколько таблиц будущей базы данных; б) создать пустую базу данных; в) на основе одного из шаблонов Access. 2. Задать формат файла базы данных, принимаемый по умолчанию, можно: а) в диалоговом окне Файл новой базы данных; б) на вкладке Параметры диалогового окна Настройка; в) на вкладке Другие диалогового окна Параметры, выбрав требуемый пункт из раскрывающегося списка опции Формат файла по умолчанию. 3. Чтобы открыть на экране область задач, следует: а) щелкнуть на кнопке Создать панели инструментов База данных; б) выбрать команду главного меню Файл^Открыть; в) щелкнуть правой кнопкой мыши на фоновой поверхности панели инструментов или меню и выбрать из появившегося контекстного меню пункт Область задач; г) выбрать команду главного меню Вид^Панели инструментов^Область задач. 4. Создать пустую базу данных можно: а) выбрав пункт Новая база данных в области задач (вкладка Создание файла); б) выбрав пункт На моем компьютере группы Шаблоны в области задач; в) выбрав пункт Шаблоны на узле Office Online в области задач. 5. Открыть базу данных можно следующим образом: а) используя средства диалогового окна Открытие файла базы данных;
Глава 5, Создание новой базы данных
91
б) выбрав имя базы данных из меню Файл; в) щелкнув на имени файла базы данных в области задач (вкладка Приступая к работе); г) выбрав команду главного меню Справка^Примеры баз данных. 6. Чтобы корректно закрыть базу данных, следует: а) щелкнуть на кнопке Закрыть ( QD ), расположенной в правом верхнем углу главного окна Access; б) выбрать команду Файл^Закрыть; в) щелкнуть на кнопке Закрыть ( ШЗ ) окна открытой базы данных Access; г) дважды щелкнуть на пиктограмме базы данных ( Н ), расположенной слева в строке заголовка окна базы данных. 7. Чтобы создать базу данных под руководством мастера, необходимо: а) выбрать пункт На моем компьютере группы Шаблоны в области задач (вкладка Создание файла); б) выбрать пункт Новая база данных группы Создание в области задач; в) выбрать пункт Из имеющегося файла в области задач; г) выбрать пункт Шаблоны на узле Office Online в области задач. 8. Мастер создания баз данных позволяет: а) выбрать из предложенных мастером те таблицы, которые вам подходят; б) выбрать один из десятка преапагаемых программой Access шаблонов баз данных; в) исключить из списка предложенных мастером обязательных полей ненужные вам поля; г) указать вид оформления отчетов при печати; д) создать не только таблицы, но и другие объекты базы данных, такие как формы и отчеты.
92
Часть //. Создание базы данных
Глава 6
В этой главе.,, Создание таблиц с помощью мастера Построение таблиц вручную Изменение типа полей и реорганизация таблиц Операции с таблицами Резюме Тесты
приложении Access создать таблицу для последующего ввода в нее собственных данных можно разными способами: с помощью мастера таблиц, в режиме конструктора и путем ввода данных в пустую таблицу. В этой главе будут рассмотрены все три эти метода.
Создание таблиц с помощью мастера В отличие от мастера базы данных, который сразу создает целое приложение со множеством объектов, таких как формы, запросы или отчеты, мастер таблиц создает структуру одной таблицы (и, по вашему желанию, простейшую форму для ввода в нее данных). Такой подход адресован, в первую очередь, новичкам и полезен, прежде всего, тем, что позволяет выбрать из предлагаемых заготовок необходимые характеристики для того объекта реального мира, сведения о котором будут храниться в будущей таблице. Мастер предлагает большой набор готовых полей из 25 таблиц для делового применения (например, таблицы Контакты, Клиенты, Сотрудники, Товары, Основные фонды, Задачи) и 20 таблиц для личного пользования (например, таблицы Адреса, Рецепты, Растения, Книги, Альбомы). Многие таблицы из категории Деловые мало чем отличаются от таблиц учебной базы данных Борей. Выбрав в качестве помощника мастера создания таблиц, пользователь может сам выбрать поля, которые будут включены в таблицу, изменить имена стандартных полей, указать имя таблицы и определить первичный ключ. Теперь попробуем создать с помощью мастера одну из таблиц для базы данных Интернет-аптека, например таблицу Товары. Детальное описание всех таблиц яриводится в главе 4, Реляционные базы данных и их планирование. Напомним, что это за поля и какого они типа (табл. 6.1). Самый первый шаг при создании таблиц любым способом — открыть требуемую базу данных. В нашем случае в рабочем пространстве приложения Access открыто окно базы данных Интернет-аптека. Для создания таблицы с помощью мастера необходимо выполнить следующее.
Таблица 6.1. Поля таблицы Товары Имя поля
Тип данных
Размер поля
КодТовара
Счетчик
Длинное целое
НаименованиеТовара
Текстовый
60
ЕдиницаИзмерения
Текстовый
30
Производитель
Текстовый
40
ЦенаТовара
Денежный
НаличиеТовара
Логический
Актуальность
Логический
ДатаРегистрации
Дата/время
1. Щелкните на кнопке Таблицы окна базы данных, а затем дважды щелкните на ярлыке Создание таблицы с помощью мастера. На экране откроется первое окно мастера (рис. 6.1). 1 шл-шие габниц Выберите образцы таблиц для пршвнения при создании собственной таблицы. Выберите категорию " обраюи таблицы, а затек нужные обрлшы полей. Допускается " выбор полей us нескольких таблиц, Если заранее неясно, будет он использоваться попе или нет., лучше добавить это поле в таблицу. Его несложно будет удалить позднее^ Гизяяноввйтаб/ицы!" кш
ац
^ ->J J—
"™^""" "" " Префикс
Образцы таблиц: Отчество
Контакты Клиенты Сотрудники Товары Заказы
^ Фацелия Суффикс Прозвище ДОЛЧ1НОСТС.
ИмдОргаг1н;еции
Рис. 6.1. Мастер создания таблиц предлагает большой набор готовых таблиц и полей Для вызова мастера создания таблиц в программе Access можно воспользоваться и другими способами. -О- Щелкнуть на кнопке Создать в окне базы данных. 4- Выбрать команду Вставка ^Таблица в главном меню Access. В результате откроется диалоговое окно Новая таблица (рис. 6.2), где из списка доступных методов и режимов создания новой таблицы необходимо выбрать пункт Мастер таблиц и щелкнуть на кнопке ОК.
2. Как показано на рис. 6.1, в окне мастера на выбор предложено два типа таблиц: Деловые и Личные. Выберите подходящий вам тип таблиц, установив соответствующий переключатель. Понятно, что для таблицы Товары, которую мы создаем в качестве примера, такой категорией будет Деловые. 3. Просмотрите список стандартных таблиц (список Образцы таблиц), обращая внимание на набор полей, которые для каждой из них предусмотрены (список Образцы полей отображается на средней панели окна). Выберите из списка ту таблицу, структура которой вам больше всего подходит. Для нашего примера можно воспользоваться образцами полей одноименной стандартной таблицы Товары.
Часть II. Создание базы данных
[Решим таблицы (КЪистр
Создание навой таблицы для сохранения данных.
Импорт таблиц СЕязь с таблицами
Рис. 6.2. Диалоговое окно Новая таблица предлагает выбрать мастер или режим создания нового объекта 4. Включите в новую таблицу подходящее поле из списка Образцы полей. Чтобы сделать это, выделите нужное поле, а затем щелкните на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выбранное поле появится в списке Поля новой таблицы (рис. 6.3). Как видно из рис. 6.3, первым в таблицу Товары было добавлено поле Код Товара. (Создание таблиц Выберите образцы таблиц для применения при создании собственной таблицы. Выберите категорию и образец таблицы, а затеи нужные образны полей. Дсгускаетсв выбор полей из нескольких таблиц, Если заранее неясно, будет ли испопьэоватвся попе или нет, лучке добавить это попав таблицу. Его несложно будет удалить позднее. Поля новой таблицы:
I щ, ссвда&аемой пастерсм.
Г" Вывести справку tto работе с табяицей.
Рис. 6.8. Укажите свои дальнейшие действия после создания мастером таблицы
После завершения работы мастера новая таблица появится в рабочем пространстве Access (рис. 6.9), и в нее уже можно будет вводить данные. О том, как организован этот процесс в приложении Access 2003, речь пойдет в главе 7, Ввод данных в таблицу и их редактирование. Название созданной мастером таблицы Товары появилось также в области объектов окна базы данных Интернет-аптека (раздел Таблицы).
Построение таблиц вручную Любые мастера приложения Access 2003, безусловно, экономят ваше время, а также позволяют почувствовать себя увереннее в "общении" с базой данных, освоиться с доступными режимами программы Access и получить навыки работы с различными объектами базы данных. Однако платой за легкость использования мастера становится либо весьма скромный набор предоставляемых им функций, либо ограниченный контроль над вы-
98
Часть II. Создание базы данных
полняемыми операциями. Мастер создания таблиц в этом смысле не исключение. Вы имеете возможность выбирать поля для вашей будущей таблицы из фиксированного набора стандартных таблиц, при этом какие-либо свойства полей для вас будут недоступны. Чтобы создать требуемую вам таблицу действительно "с нуля", без использования каких-либо шаблонов и полностью контролируя все этапы разработки структуры таблицы, в Access предусмотрен режим конструктора. Кроме того, Access позволяет создавать таблицу еше одним оригинальным способом, сразу в режиме таблицы: минуя стадию разработки структуры таблицы, в нее сразу вводятся данные, а затем на основе этой информации программа Access сама определяет для них тип и формат,
Отдан» Wt Конструктор j Создать ъвкты -..
Создание таблицы в режиме конструктора Создание таблицы с поиошью мастера Создание таблицы путем ввода данных
Код товара - j Наим.еновэнив] ЁдиницаИзмер] Произвол итапьГ ЦенаТовара [ Нал
Рис. 6.9. Созданная мастером таблица Товары пока пуста
Создание таблицы в режиме конструктора В режиме конструктора вы можете создать структуру будущей таблицы в полном соответствии с разработанным ранее ее проектом. Вам предоставляется возможность определить список полей для таблицы, выбрать тип данных, настроить свойства для каждого поля, а также ввести описания полей. Рассмотрим создание таблицы в режиме конструктора на примере таблицы Покупатели базы данных Интернет-аптека. Напомним структуру будущей таблицы Покупатели (табл. 6.2). Таблица 6.2. Поля таблицы Покупатели Имя поля
Тип данных
Размер поля
КодПокупателя
Счетчик
Длинное целое
РегистрационноеИмя
Текстовый
40
Пароль
Текстовый
8
ИмяПокупателя
Текстовый
50
Адрес
Текстовый
60
Телефон
Текстовый
12
Глава 6. Создание и модификация структуры таблиц
99
Окончание табл. 6.2
Имя поля
Тип данных
ЭлектронныйАдрес
Текстовый
Актуальность
Логический
Дата Регистрации
Дата/время
Размер поля
Порядок действий будет следующим. 1. В окне открытой базы данных (Интернет-аптека) щелкните на кнопке Таблицы, а затем в области объектов дважды щелкните на ярлыке Создание таблицы в режиме конструктора. На экране появится пустая форма для проектирования таблицы в режиме конструктора (рис. 6.10).
Общие
Ипяполя можетсострить ю64. знаковс учетом гтробвпов. - Для oipaeca-i no №ten полей наймите клавишу F1, . -
Рис. 6.10. В режиме конструктора создание структуры таблицы начинается "с нуля"
2. В первой строке столбца Имя поля введите имя поля для первого поля таблицы, Код Покупателя. Затем нажмите клавишу <Enter> или , чтобы переместиться в столбец Тип данных. 3. Как только вы перейдете в ячейку столбца Тип данных, в ней появится принятое по умолчанию значение Текстовый, а справа — знакомая кнопка со стрелочкой ( Ш ), указывающая на то, что ячейка представляет собой раскрывающийся список. В этом списке, как и следовало ожидать, перечислены все доступные в Access типы полей (подробно они рассматривались в главе 4, Реляционные базы данных и их планирование). Щелкните на кнопке со стрелкой ( Ш ), чтобы выбрать из раскрывающегося списка необходимый тип данных (для поля КодПокупателя таким типом будет Счетчик, как показано на рис. 6.11). 4. Выбрав тип данных, снова нажмите клавишу <Enter> или , чтобы перейти в столбец Описание. Введите краткое и ясное описание для этого поля. Текст описания будет выводиться в строке состояния при вводе данных в поле и поможет вам выбрать допустимые значения этого поля. 5. Выполните шаги 2—4 требуемое число раз, чтобы указать в структуре таблицы все необходимые поля.
100
Часть II. Создание базы данных
If Таблица!: таблиц
Общие Resnepnons Форнатполя Маска ввода Подпнсо Значение .по уш .Условие на качение Сообщ?мне об ошибке Обязательное поле "Пусть» Строки . "1»1аексирсва*«ое попе Сжатие Синим РвжикОТЕ Режим предложений 1МЕ Сяврт-тегн. - " .
определяет течения, f. которые иожна сохранять в этоипэпе. Для ставки по типа* ллкнь х -кпавиш^ F! .•
Рис, 6.11. Выберите из списка Тип данных нужный тип данных для поля Данная операция не является обязательной и можно оставить это поле пустым, однако опыт показывает, что подобная пунктуальность никогда не оказывается излишней, причем не только для ваших коллег, которым впоследствии приходится постигать логику вашего мышления, но — с течением времени — и для вас самих. Технические подробности Здесь необходимо отметить еще один существенный момент. На шаге 3 для каждого поля можно указать не только тип данных, но и установить другие важные характеристики. Все они представлены в области Свойства поля, расположенной в нижней половине окна конструктора таблиц (см. рис. 6.11). Для каждого типа полей данных в СУБД Access предусмотрены свои свойства, и список их достаточно обширен (например, Размер поля, Формат поля, Маска ввода, Подпись, Условие на значение). Вопросы форматирования данных, использования масок ввода и проверки значений, т.е. те свойства полей, которые призваны контролировать вводимую в таблицу информацию, будут подробно обсуждаться в главе 8, Форматирование и контроль данных. А сейчас, поскольку при проектировании таблицы Покупатели уже были оговорены действительные размеры текстовых полей (см. табл. 6.2), ограничимся знакомством с одним пунктом списка Свойства поля для текстовых полей — свойством Размер поля. Как уже отмечалось, по умолчанию размер каждого нового текстового поля составляет 50 символов. Чтобы изменить это значение, выберите требуемое имя поля в столбце Имя поля окна конструктора таблицы, а затем в области Свойства поля укажите в строке Размер поля нужное значение (рис. 6.12). В структуре таблицы Покупатели такую операцию необходимо выполнить для следующих полей: РегистрационноеИмя, Пароль, Адрес, Телефон, ЭлектронныйАдрес. 6. На рис. 6.13 показана итоговая структура таблицы Покупатели. Следующий шаг — это установка первичного ключа. Рассмотрим этот этап подробнее.
Выбор первичного ключа Напомним, что первичный ключ — это поле или набор полей таблицы, которые однозначно идентифицируют каждую запись. Следуя этому определению, к полю, которое претендует на роль первичного ключа, предъявляются довольно жесткие требования, и выбрать первичный ключ из
Глава 6. Создание и модификация структуры таблиц
101
обычного набора полей, которые описывают какой-либо реальный объект, достаточно сложно. Поэтому общепринятой практикой считается создание специального идентифицирующего поля, которое выполняет функции первичного ключа (например, Код клиента, Код заказа). С добавлением каждой новой записи в таблицу в это поле заносится специальное значение (как правило, числовое), уникально определяющее запись. В приложении Access организовать такую нумерацию можно благодаря типу данных Счетчик, который присваивает каждой новой записи свой номер, генерируя последовательность чисел с шагом 1 (или случайным образом). ! В Таблица! : таблица Имя поля КодПокупателв
4
Пароль — Имя Покупателя
-1 Тип данных Счетчик Текстовый Текстовой
| . . -' -Описание Уникальное число, автоматически присваиваемое новой записи.
т
Ы
Пароль для входа в систему. ФИО пользователя млн название организации-заказчика.
AJ
Свойства поля Общие
Значение по умолчании}; Условие на значение Соо&деше ей оцибке Обянтепыюе попе пустые'строки ' Инд екеировашда поле. Скатив Юникод Режим IME Решим предложений 1МЕ Смарт-твт
максимальнее число знаков для ввода Р данное ;r\O!>t. Предеявное значение: 255. Для справки ; mразмеру поля накиите клавишу F1.
Нет контроля
Нет
Рис. 6.12. Для поля РегистрационноеИмя задан требуемый размер (40 знаков) • Таблица! : таблица КодПокупателя РегистраинонновИия Пароль ИчяПокупате^я Адрес Телефон Элех тронный Адрес Актуальность
Тип данных' Счетчик Текстовый
Псгический Дата/врепя
Олисан* Уникальное число, автоматически присваиваемое новой записи. ;Иия пользователя, под который он мрвгистрир°в*нв internet ^аптеке. Паооль для входа в систему. ФИО пользователя или название органиации-мказчика, '. Адрес покупателя. Делефоипокупателя. ^Адрес зпектронкой почты покупателя. „Случебное поле. Признак актуальности записи. Значения: "Да"/"Нет". Служебное поле. Дата регистрации или изменения данных о покупателе в снег
.|т!
Свойства поля подстановка Маска ввода Подпись -'Значение по Условие на значение Сообщение об ошибке -_:Обязвтвльнси поле |Нет "Нет Индексированное пол* Нет контроля Реким прейяожений IME Нет
; ЧесЁязательиьй параметр. Выводитеае строку i состояния при выборе поля в форме. Для i слразки па эгекаинч:" РСЛЯ н^н^нствшлавии^Р!.
Рис. 6.13. Заданы все необходимые поля и типы данных для таблицы Покупатели
Однако, если позволяют условия (точнее, информационное наполнение таблицы), программа Access готова поддерживать и два других типа первичных ключей: простой ключ и составной ключ.
102
Часть Н. Создание базы данных
В роли простого ключа может выступать одно из уже существующих полей таблицы, если оно содержит уникальные значения. Примерами таких полей могут быть номера машин, инвентарные номера, идентификационные коды. Составной ключ строится как комбинация двух и более элементов данных. Для некоторой таблицы Сотрудники, например, таким ключом могла бы стать комбинация полей Фамилия, Имя, Отчество {для небольшой организации). Однако, если в штате такой организации есть служащие-однофамильцы, имена и отчества которых также совпадают, теоретически можно включить в такой составной ключ какой-либо дополнительный атрибут, например поле ДатаРождения. На практике, однако, составной ключ определяется, как правило, только для таблицы, которая используется для связывания двух таблиц в отношении "многие ко многим". Организации связей между таблицами посвящена глава 10, а в качестве примера составного ключа можно вспомнить комбинацию полей КодЗаказа и КодТовара таблицы СодержаниеЗаказов базы данных Интернет-аптека (см. табл. 4.5 в главе 4). Таблица СодержаниеЗаказов связывает две другие таблицы этой базы данных: Товары и Заказы. В таблице СодержаниеЗаказов может содержаться как множество заказов с одинаковыми значениями поля КодЗаказа, так и множество товаров с одинаковыми значениями КодТовара. Однако каждый товар можно включить в заказ только один раз, поэтому любая пара значений полей КодЗаказа и КодТовара является уникальной. Еще один распространенный способ определения первичного ключа, реализованный, например, в базе данных Борей, — это использование простых текстовых кодов. Для заполнения поля такого идентификатора используются простые правила. Так, например, в таблице Клиенты для идентификации записей предусмотрено поле КодКлиента, однако тип этого поля— не Счетчик, а Текстовый. Поле предстаапяет собой уникальный пятисимвольный код, образуемый из названия организации. Первые четыре символа взяты из первого слова названия компании клиента, а пятый символ—это первый знак второго слова из названия компании (рис. 6.14). Использование алфавитного кода вместо цифрового имеет свои преимущества, главным образом благодаря тому, что легче воспринимается. Если есть вероятность того, что текстовые коды могут совпасть, можно дополнить алфавитную часть ключа несколькими цифрами, например FRANROOI. Ш Клиенты : таблица
- . -;Код-1спиёнг8 + + * +
EASTC ERNSH " FAMIA FISSA
FoLic -*+ FOLKO
+ FRANK И* ГРАНР + FRANS + FURIB
: Название " Eastern Connection Ernst Handel Farnilia Arquibaldo FISSA Fabnca Inter. Salchichas S A Folies gaurmandes FolkcchfaHB Frankenversand Trance restoration Frarctii S.pA Furia Bacalhau e Frutos do Mar
Galena del gastrynomo
| Обращаться Ann Devon
1
. Roland_f¥lendel i Aria Cruz Diego Roel • Marline Ranee 'Maria Larsson •Peter Franken Carme SchmitI .Paolo Accorti Lino Rodriguez Eduardo Saavedra
_
Должность
Продавец .Менеджер по продажам : Помощник менеджера ! Бухгалтер Е Помощник продавца j Совладелец Главный менеджер Главный менеджер Представитель Менеджер по продажам Главный менеджер
За пюь! И 1 ' J Г~~
л
..- -.
35 King Geoi : Kirchgassi E " RuaOros.9;..J С/ Moralzan 1B4.chausa( т Lkeigalan 24 | , Berliner Plat: '; 54.iueRov.-e Via Monte Bi Jardim das п : : Rambla de C,,i
Jj
Рис, 6.14. Каждое значение ключевого поля КодКлиента формируется из символов соответствующего значения поля Название Прежде чем выбирать первичный ключ для таблицы, ознакомимся с основными правилами, принятыми для ключей в Access. • Для одной таблицы может существовать несколько полей (или наборов полей), которые удовлетворяют требованиям первичного ключа. Такие поля называются возможными ключами. Один из возможных ключей, который будет фактически использоваться, определяется как первичный ключ.
Глава 6. Создание и модификация структуры таблиц
103
В роли первичного ключа не могут выступать поля типа Поле MEMO, Поле объекта OLE и Гиперссылка. (У поля с типом Логический есть шанс стать первичным ключом, однако либо в комбинации с каким-либо другим полем, либо в таблице, где хранятся только две записи со значениями этого поля Да и Нет.) Если для таблицы определен первичный ключ, программа Access автоматически блокирует ввод в это поле повторяющихся значений или значения Null. Access автоматически сортирует записи таблицы по первичному ключу. Поле первичного ключа является индексом (о чем речь пойдет в главе 10), с помощью которого ускоряется сортировка и поиск записей. Чтобы эти операции выполнялись действительно эффективно, желательно, чтобы поле первичного ключа имело минимальный размер. Как правило, для удобства ключевое поле указывается в структуре таблицы первым. Чтобы самостоятельно установить для таблицы первичный ключ и завершить ее создание в режиме конструктора, выполните следующее. В режиме конструктора выделите поле (или несколько полей, удерживая нажатой клавишу ), которое будет играть роль первичного ключа (для нашего примера это поле КодПокупателя). | | 1. Щелкните на кнопке Ключевое поле панели инструментов Конструктор таблиц или выберите команду главного меню Правка =>Ключевое поле. Слева возле имени поля КодПокупателя появится символ ключа ( Щ), как показано на рис. 6.15. Ш Таблица!:таблиц* Имя поля КодПокупателя Регистрационное^*! Пароль ИпяПокупатвля Адрес Телефон ЭлектронньйАдрвс Актуальность .атаРегистрацин
. Уникальное число, автоматически прке»№аа»юе новей записи, Имя пользователя, под которым он ирегистмюван в Internet-аптеке.
Логический
! ФИО пояыоеателя или Hajeawe органи)ацми-1ака**1ка. [Адрес покупателя. ^Телефон покупателя. Адрес злвстронной псмтытокупатвля, ;Служе6ноепопе. При1на. • Щелкните правой кнопкой мыши на имени таблицы и выберите команду Переименовать из открывшегося контекстного меню. • Выделите имя таблицы и выберите команду главного меню Правка 1 * Переименовать.
Глава 6. Создание и модификация структуры таблиц
111
Копирование таблиц в базе данных Чтобы создать копию таблицы и разместить ее в той же базе данных, что и оригинал, выполните следующие действия. 1. Выберите имя таблицы в окне базы данных. щ 2. Выберите команду Правка ^Копировать (или воспользуйтесь кнопкой Копировать на панели инструментов). 3. Выберите команду Правка^Вставить (или воспользуйтесь кнопкой Вставить на панели инструментов). 4. В диалоговом окне Вставка таблицы (рис. 6.21) введите имя новой таблицы. Будьте внимательны, так как если в базе данных уже есть таблица с таким именем, она будет удалена и заменена на новую. 5. Выберите одну из опций Параметры вставки (см. рис. 6.21).
"Параметры вставки V" только структура
.
.
** «руКТурв И Дате
*~~ добавление данных в таблицу
Рис. 6.21. В диалоговом окне Вставка таблицы укажите имя новой таблицы и опцию вставки Для вставки таблицы в базу данных программа Access предусматривает три опции. # Только структура. Создается пустая таблица с такими же именами полей и свойствами, как у исходной таблицы. # Структура и данные. Создается полная копия структуры исходной таблицы, в которую вносятся и все данные. # Добавление данных в таблицу. Опция используется для объединения таблиц, когда в существующую таблицу добавляются данные, скопированные в буфер обмена из какой-либо другой таблицы, имеющей такую же структуру. В этом случае в окне Вставка таблицы необходимо указать имя существующей таблицы. 6. Щелкните на кнопке ОК.
Копирование таблицы в другую базу данных Такая операция очень удобна, если необходимо создать резервную копию важной таблицы или использовать одну и ту же таблицу сразу в нескольких базах данных. При копировании таблиц в другую базу данных программа Access не копирует связи между таблицами, а только структуру таблиц и непосредственно данные. Чтобы скопировать таблицу в другую базу данных, выполните следующее. 1. Выберите имя таблицы в окне базы данных. 2. Выберите команду Правка^ Копировать (или воспользуйтесь кнопкой Копировать на панели инструментов).
112
Часть II. Создание базы данных
Ц]
3. Откройте другую базу данных. 4. Выберите команду Правка ^Вставить (или воспользуйтесь кнопкой Вставить на панели инструментов). 5. В диалоговом окне Вставка таблицы введите имя новой таблицы. 6. Выберите одну из опций Параметры вставки этого же окна. 7. Щелкните на кнопке ОК.
Удаление таблицы Независимо от количества времени, затраченного на создание таблицы, доработку ее структуры и внесение данных, удаляется таблица очень просто. g] Д
1. В окне базы данных щелкните на кнопке Таблицы и выделите таблицу, подлежащую удалению. 2. Щелкните на кнопке Удалить панели инструментов этого окна или выберите команду главного меню Правка^Удалить. 3. Программа Access выдаст сообщение, в котором попросит вас подтвердить свое намерение удалить таблицу. Если вы готовы это сделать, щелкните на кнопке Да. Помните о том, что после удаления таблицы вы уже не сможете вернуть ее с помощью команды Правка^Отменять.
Резюме В этой главе были рассмотрены три основных способа создания таблиц в программе Access. Для базы данных Интернет-аптека были созданы таблицы Товары (с помощью мастера создания таблиц) и Покупатели (в режиме конструктора таблиц). Кроме того, в качестве "экспресс-метода" был рассмотрен метод создания таблицы в режиме таблицы, необходимый, если вам нужно быстро ввести в таблицу некоторую информацию. Каждая таблица содержит поле первичного ключа, и программа Access позволяет определять первичные ключи трех типов: ключевые поля счетчика, простой ключ и составной ключ. Когда структура таблицы создана, в ней можно добавлять, удалять, переупорядочивать и переименовывать поля. Одной из самых ответственных операций является изменение типа поля таблицы. В окне базы данных можно переименовывать, удалять, копировать и вставлять таблицы, что особенно полезно при создании их резервных копий.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Новую таблицу в программе Access можно создать:
Глава 6. Создание и модификация структуры таблиц
113
а) с помощью мастера баз данных; б) в режиме конструктора таблиц; в) в режиме таблицы путем непосредственного ввода данных; г) с помощью мастера создания таблиц. 2. Мастер создания таблиц Access позволяет: а) указывать имя новой таблицы; б) указывать размер текстовых полей; в) определять тип поля; г) самостоятельно определять первичный ключ. 3. Первичный ключ таблицы обладает следующими свойствами: а) первичный ключ является индексом таблицы; б) первичный ключ используется как внешний ключ для связанной таблицы; в) первичным ключом может быть любое поле таблицы. 4. В роли первичного ключа для таблицы можно использовать: а) ключевое поле счетчика; т
б) простой ключ на базе МЕМО-поля; в) составной ключ, определенный как комбинация двух текстовых полей. 5. Структуру таблицы можно изменить: а) только на этапе "бумажного" проектирования; б) до того, как в таблицу будут введены реальные данные; в) в ходе эксплуатации таблицы, которая уже содержит данные. 6. Программа Access позволяет при реорганизации таблицы: а) добавить новые поля; б) скопировать какое-либо поле вместе с данными; в) указать новое имя для таблицы и переименовать поля. 7. Поле с типом данных Текстовый можно преобразовать в тип: а) Поле MEMO; б) Числовой; в) Счетчик. 8. Какие из перечисленных преобразований типов данных можно отнести к преобразованиям без потерь? а) Байт — в Одинарное с плавающей точкой; б) Длинное целое — в Двойное с плавающей точкой; в) Денежный — в Длинное целое; г) Двойное с плавающей точкой — в Длинное целое. 9. При копировании таблиц в другую базу данных копируется: а) структура таблиц; б) структура таблиц и связи между ними; в) структура таблиц и содержащиеся в них данные.
114
Часть И. Создание базы данных
10. Что нужно сделать, чтобы переименовать таблицу: а) щелкнуть правой кнопкой мыши на имени таблицы и выбрать команду Переименовать из открывшегося контекстного меню; б) выделить имя таблицы и выбрать команду главного меню Правка^ Переименовать; в) открыть таблицу в режиме конструктора и дважды щелкнуть на заголовке окна таблицы.
Глава 6. Создание и модификация структуры таблиц
115
Глава 7
Ввод данных в таблицу и их редактирование В этой главе... Добавление записей в таблицу Навигация по таблице Изменение существующих записей Удаление и восстановление записей Резюме Тесты
Добавление записей в таблицу Осваивая возможности программы Access, мы подошли к этапу, когда структура таблицы создана и откорректирована, поэтому можно приступить к вводу данных.
Вводим в таблицу первую запись Итак, чтобы добавить в таблицу первую запись, выполните следующее. гщ I. В окне базы данных дважды щелкните на таблице, в которую будут вводиться данные. Таблица откроется в режиме таблицы, а указатель будет помещен в первое поле первой записи (рис. 7.1). Если таблица открывается для ввода записей впервые, то в ней будет присутствовать только одна пустая запись — так, как показано на рис. 7.1 для таблицы Товары.
Наименование1! ЕдиницаИзиер| Произв
Рис. 7.1, Таблица Товары открыта в режиме таблицы для ввода записей. Поскольку для нее определена только структура, таблица представлена пока одной пустой записью
2. Щелкните в первом поле первой пустой записи и введите значение для данного поля. Как только в текущую строку будут вводиться данные, в таблице появится новая пустая запись. (Если первым в таблице стоит поле с типом данных Счетчик (как в таблице Товары), нажмите клавишу (<Enter> или или или — вставка значения из того же поля предыдущей записи. •у- — вставка текущей даты. •$• — вставка текущего времени. •Ф- — вставка в текстовое поле символа новой строки (операция часто используется в текстовых полях большой длины и эквивалентна возврату ка[>етки и последующему переводу строки). Программа Access автоматически сохраняет вводимые в поле таблицы значения, как только вы перемещаетесь в следующее поле. Если после ввода новой записи ваши планы изменились и только что введенную запись из таблицы необходимо удалить, выберите команду Правка ^Отменить запись (комбинация клавиш ) и подтвердите удаление записи, щелкнув на кнопке Да.
Вставка новых записей в таблицу Теперь рассмотрим более общий случай, когда новые записи необходимо ввести в уже заполненную таблицу. В СУБД Access новые записи "добавляются" только внизу таблицы, в так называемую временную новую запись. Разместить новую запись между уже существующими или в начале таблицы — нельзя. О том, как визуально расположить записи таблицы в другом порядке, воспользовавшись функцией сортировки, речь пойдет в главе 11, Поиск, сортировка и фильтрация данных.
Глава 7. Ввод данных в таблицу и их редактирование
117
Если таблица открыта в режиме таблицы, то временная новая запись — это последняя пустая строка таблицы, отмеченная "звездочкой" ( Э ). Чтобы быстро перейти к временной новой записи, выберите команду Вставка^Новая запись главного меню или щелкните на кнопке Новая запись ( Е*3), которая расположена на навигационной панели внизу окна таблицы. Указатель переместится в первое поле новой записи, а "звездочка" на кнопке записи изменится на значок текущей записи {Ш ). Когда в поле новой записи вводятся данные, указатель снова меняет свой вид — теперь это пишущий карандаш ( И ), ~ а в таблице снова появляется новая временная запись (рис. 7.3 иллюстрирует именно этот момент). • Товары: таблица Код товара! Наименование]ЁД иницаЩмйр 7 БЕРЕШ-ПЛЮС 100ыл капли БЕРЕШ 8 ФАЛИМИНТ" :№20 БЕРЛИН-XEMl9 ЗЕРОКОЛД "~;та6л. №200 БИОМЕДИКЕ^ 10 ДИМЕДРОЛ ^табл. 0,05 №1С БИОСТИМУЛЯ 11.АСКОРУТИН ШО _ БОРШАГОВС* 12 СТОПТУССИН I №20_ТАБЛ. ' ГАПЕНА 13 ЦИСТЕНАЛ И 0 мл ГАПЕНА 14 КАЛЕНДУЛЫ На_МЛ__ ' ГАЛЫЧФАРМ 15 БРОМГ)
Актуальность {Дата Регистрации _^ Л4,С6грн. 5,19грн. 53Д)грн. 0.2Эгрн. 0,38грн. 7,14грн. б.ЗЭгрн. 0,В1грн.
22.08.01 20.0601 30.10.01 02.02.01 14.0501
I
27.12.pjfl И.09.01
Рис. 7.3. При вводе в таблицу Товары новой записи ее значок заменяется изображением пишущего карандаша, а внизу таблицы появляется новая временная запись
Поясним теперь, почему такая новая запись называется временной. После ввода данных в эту запись можно отменить свои действия, дважды нажав клавишу <Esc>. Однако воспользоваться этой клавишей можно только в режиме ввода данных ( И ), не перемещаясь на следующую запись. Технические подробности Если вам предстоит ввести в таблицу сразу несколько новых записей, то для удобства работы можно временно "убрать" с экрана все уже существующие записи и сосредоточиться на вводе новых. Для этого выберите команду Записи&Ввод данных главного меню. Закончив ввод, восстановите прежний вид таблицы, выбрав команду Записи^ Удалить фильтр. Теперь таблица будет представлена на экране в полном объеме. Данные можно заносить в таблицу и с помощью форм. О том, как создаются формы и как, используя их, вводить данные, рассказывается в главе 9, Создание и использование форм.
Навигация по таблице Для удобства ввода данных в таблицу при перемещении между полями можно пользоваться не только клавишей (<Enter> или или («->) <End>
Переход в предыдущее поле Переход в последнее поле текущей записи Переход в первое поле текущей записи
Перемещение в то же самое поле предыдущей записи
Перемещение в то же самое поле следующей записи
Переход в то же самое поле первой записи
Переход в то же самое поле последней записи
Переход в первое поле первой записи
Переход в последнее поле последней записи таблицы
Прокрутка на один экран вниз
Прокрутка на один экран вверх
Прокрутка на один экран вправо
Прокрутка на один экран влево
В режиме таблицы можно воспользоваться и другими инструментами доступа к нужным записям. • Вертикальной полосой прокрутки окна таблицы. • Навигационной панелью с пятью кнопками перехода, расположенной внизу окна таблицы. Напомним назначение этих кнопок (слева направо). (wj # Переход к первой записи таблицы. Щ * Переход к предыдущей записи. ИЗ » Переход к следующей записи. НО » Переход к последней записи таблицы. ИИ * Переход к новой записи. 15^ Кроме того, если вам известен номер нужной записи (номер строки в таблице для данной записи), введите его в поле номера записи и нажмите клавишу <Enter>. Перейти в поле номера записи можно также, нажав клавишу -*-.•
« { « s A I и| i ^ Л
Сервис
QKHQ
Справка
|Измер| Производитель мл КРКА г в ту& ГЕДЕОН РИХТ ГЕДЕОН РИКТ г МЙС ГЕДЕОН РИХТ w r № ГЕДЕОН РИХТ ЬзАЙЕР БЕРЕШ БЕРЛИН-ХЕМ1 200 (БЙОМЕДИКЕ?
24.01.01 6.57фн !9.39грн. 11 .бТгрн. 2Э9.СОгрн. 44,ОВгри 5.19_грн. 5Э.Шгрн, ... р.2Эгрн. | 0.38ФН.
Пйспедняя запись ЦИСТеНАЛ 14 КАЛЕНДУЛЫ 1бГк6ЛДФЛЮ 17:ОКСИКбРТ : 18 АС_КОПАР 19:АСПАРКАМ 20!КЕТОТИФЕ_Н 21 НИСТАТИН"
Следующая запись габл. N^ **
Предыдущая мпись НОБЛИ записв
; 7.14ФН. : 5.3Эгрн; ! 0,61фН 63,40грн
[5,71 гри "' 0,32грн 1,26грн 4,73грн 3,86грн
""
12.03.01 i4"D4.01 27Ж01 06.12.01 16rj7
-PJ 22.06 01 20.06.01 30.10.01 0202.01 14.05.01 15.03.01 27.12.01 11.09.01 22.01.02 07.0701 21.11.01 15.03.02 22.04.02 04.06.0:
iTis.fr;
Рис. 7.4. Команда Правка Перейти предоставляет несколько вариантов перехода к записям в таблице
Замена содержимого поля Чтобы полностью заменить прежнее содержимое поля, выполните следующее. 1. Выделите содержимое нужного поля одним из перечисленных ниже способов. * Переместитесь в нужное поле с помощью клавиши (или комбинаций быстрых клавиш, указанных в табл. 7.1). + Нажмите клавишу . * Наведите указатель мыши на первый знак нужного поля. Щелкните левой кнопкой мыши и, удерживая ее нажатой, протащите указатель по всему содержимому поля. + Переместите указатель мыши на левую границу нужного поля. Когда курсор примет вид большого символа "плюс", как показано на рис. 7.5, щелкните на поле. 2. Введите новые данные вместо старых. 3. Если это необходимо, воспользуйтесь клавишей или мышью, чтобы перейти к следующему полю, которое следует изменить. Сохранить текущую запись на диске можно, выбрав команду Записи^Сохранить запись (или воспользовавшись комбинацией клавиш <Shift+Enter>). Кроме того, изменения для текущей записи сохраняются автоматически при переходе к другой записи или закрытии таблицы.
120
Часть П. Создание базы данных
_ Код...rggapajНаименавание|ЕдиннцаИзмар}Пдриз|рдител 1.ПИКОВИТ сироп 150 мл КРКА 2: АУРОБИН мзэь 20 г в ту5 ГЕДЕОН РИХТ Э'ВЕРрШШРО^табл. 25 иг №2 ГЕДЕОН РИХТ 4 ВИНПОЦЕТИН'табл. 5 мг №5С ГЕДЕОН РИХТ 5. ДОНАЛГИН капс._250 иг № ГЕДЕОН РИХТ ВНИМОТОП" ЗОмгЫИОО _;БАЙЕР 7 БЕРЕШ-ПЛЮС капли 100 мл 6ЕРЕШ ви»АЛИМИНГГ табл 9:ЗЕРОКОЛД табл. №200 ;6ИОМЕДИКЕР 10 ДИМЕДРОЛ ,га6л. 0.05 №1_ГБИОСТИМУЛЯ ПТДСКОР/ТИН табл. Nsio" БОРЦ^УОВСК 12 СТОПТУССИН табл. №00 ГАЛЕНА
6,57грн 19,39грн 11,67гр'н 23Э,ООгрн 44.06грм 5,1Эгрн 5ЭД1грн
24.01.01 12.03.01 14.04.01 27.04.01 06,12,01 16.07.01 22.08.01 20.06.01 30 10.01 0202.01 14.05.01 1503.01
Группы "jig
Набранное
Название конкретного томи.
Рис. 7.5. Курсор принимает вид символа "плюс" на левой границе нужной ячейки записи, в которой хранится значение Фалиминт. После щелчка мыши содержимое поля будет выделено
Редактирование содержимого поля Если полная замена содержимого поля не требуется, а исправить нужно всего 1-2 символа, не следует прибегать к крайностям и полностью удалять старое значение этого поля. Чтобы исправить часть данных, выполните следующее. 1. Разместите указатель мыши над тем местом в поле, где необходимо исправить данные. Указатель примет вид символа "I". 2. Щелкните один раз, чтобы точка вставки оказалась в нужном месте редактируемого поля (рис. 7.6). 3. Пользуясь клавишами и , удалите необходимые символы из поля и, если нужно, введите новые. Уже имеющиеся в поле данные при этом не уничтожаются. Позиционировать точку вставки внутри поля можно не только с помощью мыши, но и пользуясь клавиатурой. В табл. 7.2 перечислены некоторые комбинации быстрых клавиш, полезные при перемещении внутри одной ячейки таблицы. Все эти команды работают в режиме редактирования данных. Существуют поля, которые не подлежат редактированию: вычисляемые поля, поля с типом данных Счетчик, блокированные или отключенные поля, а также поля в многопользовательских блокированных записях.
Глава 7. Ввод данных в таблицу и их редактирование
121
• Гамом: таблице сироп 150 мл КРКА "мазь20 г в туб ГЕДЕОН РИХТ] табл. 25 urNs; ГЕДЕОН РИХТ! табл. 5 мг №5С ГЕДЕОН РИХТ; капе. 250 мг № ГЕШОН РИХТ' &' нмотоп ЭОнгПаЮО БАЙЕР 7\ БЁРЁШ-ПЛЮО: ^агши 100 мл . БЕРЕШ 8 ФАЛИМИНТ табл. №20 : БЕРЛИН.ХЕМ11 ~"~9 ЗЕРОКОЛД табл. №200 БЙОМЕДИКЕР ЮДИМЁДРОЛ табл. 0.05 №1СБИбсТЙМУЛЯ П'АСКОРУТИН та6л._№10 .БОРЦАГОВСН* 12 СТОПТУССЙН табл. №20 ТАЛЕНА
Рис. 7.6. Точка вставки помещена в поле ЕдиницаИэмерения 7-й записи, где необходимо исправить слово ккапли, удалив введенную по ошибке лишнюю букву V
Таблица 7.2. Комбинации быстрых клавиш для перемещения внутри поля в режиме редактирования Комбинация клавиш
Переход На один символ вправо На один символ влево
В конец поля, размещенного в одну строку
В конец поля, размещенного в несколько строк
Перемещение и копирование содержимого полей При редактировании данных в полях таблиц Access можно воспользоваться знакомыми по другим приложениям Microsoft Office командами Вырезать, Копировать и Вставить. Помощь этих команд иногда оказывается незаменимой, например, если необходимо удалить довольно "объемистую" по своим размерам часть введенного текста из символьного поля или поля МЕМО-типа и поместить эти данные в другое поле или другую запись. Кроме того, часто приходится дублировать одно и то же значение поля для целой группы записей. Для манипулирования фрагментами данных в полях таблицы выполните следующее. 1. Выделите часть или все поле, которое необходимо вырезать или скопировать. Щ/Я 2. Выберите команду Правкам Вырезать (для перемещения данных) или Правка^ Копировать (чтобы скопировать данные). 3. Поместите точку вставки в то место, куда должны быть помешены вырезанные или скопированные данные, и выберите команду Правка^Вставить, чтобы вставить данные.
722
Часть II. Создание базы данных
Команды Вырезать, Копировать и Вставить (ЫУ-^!^ ) доступны с помощью соответствующих кнопок на панели инструментов, а также представлены в контекстных меню, которые открываются, если щелкнуть правой кнопкой на выделенном поле. Кроме того, в программе Access предусмотрены комбинации клавиш для этих операций: •Ф- (для вырезания выделенного фрагмента данных с копированием в буфер обмена); вы можете безвозвратно лишиться своих данных. При удалении записей, первичный ключ которых автоматически формируется в поле с типом данных Счетчик, номера таких записей будут исключены из последовательности, генерируемой счетчиком. Например, при удалении товаров, имеющих в поле КодТовара (таблица Товары) значения 5, 6 и 7, список товаров в дальнейшем будет включать номера 1, 2, 3, 4, 8, 9 и т.д.
Резюме Ознакомившись с материалом, изложенным в этой главе, можно, наконец, ввести в ранее созданную, но до недавнего времени пустующую таблицу необходимые данные. При работе с таблицей удобно использовать комбинации клавиш для копирова-
724
Часть II. Создание базы данных
ния данных и ввода текущих значений даты и времени. В режиме таблицы для перехода к нужной записи можно воспользоваться командой Правка=*Перейти, вертикальной и горизонтальной полосами прокрутки, а также кнопками навигационной панели окна таблицы. Кроме того, для этих целей в Access предусмотрены специальные комбинации быстрых клавиш. В этой главе были рассмотрены различные способы выделения и редактирования данных в поле, а также копирования и перемещения данных. Особую осторожность следует проявлять при редактировании таблиц и удалении из них записей. Все, что было сказано в предыдущей главе о пользе резервного копирования таблиц и об опасностях, которыми чревато поспешное внесение изменений в структуру таблицы, применимо и к операциям редактирования данных. Отменить последнее действие или правку можно с помощью команды Правка^ Отменить ввод, однако если запись уже удалена, ничего другого не остается, как вводить все данные этой записи заново. Что касается редактирования, то способность программы Access восстановить измененные данные напрямую зависит от "масштабов" внесенных в таблицу корректив. Если изменения выполнялись только в одном поле, для их отмены достаточно выбрать команду Правка ^Отменить ввод Если изменения затронули несколько полей записи, но не были сохранены, вернуться к исходной точке можно, выбрав команду Правка^Восстановить текущее поле/запись. Восстановить первоначальную запись после сохраненных изменений позволяет команда Правка^Восстановить запись, но лишь в том случае, если после редактирования этой записи не корректировались другие записи таблицы. Некоторые типы полей, например с типом данных Счетчик, вообще не допускают редактирования.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Для перехода в следующее поле записи можно воспользоваться: а) клавишей ; б) клавишей <Enter>; в) клавишей . 2. Чтобы сохранить измененные данные в текущей записи, необходимо: а) выбрать команду Файл Сохранить;
б) выбрать команду Записи^Сохранить запись; в) перейти к другой записи; г) закрыть таблицу. 3. Комбинация быстрых клавиш -i,**J; J15.03.01
Да
Да
271201^
Рис. 8.24. Точно задать ширину выделенного столбца Производитель можно с помощью окна Ширина столбца
Глава 8. Форматирование и контроль данных
149
2. Диалоговое окно предлагает на выбор три варианта. # Чтобы установить ширину столбца равную точному числу символов, которые можно уместить в поле, введите нужное числовое значение в поле Ширина столбца. * Чтобы указать заданную по умолчанию ширину столбца, установите флажок для опции Стандартная. » Чтобы установить ширину столбца по наибольшему количеству введенных данных, щелкните на кнопке По ширине данных. 3. Щелкните на кнопке ОК, чтобы применить выбранные изменения. Изменение высоты строки Вероятнее всего, обратиться к этой опции вам придется, когда в таблице присутствует поле данных МЕМО-типа или вместительное текстовое поле. Увеличив высоту строки, можно, например, сразу прочитать полный адрес клиента или текст небольшого примечания, не изменяя при этом число столбцов, выводимых на экран. Кроме того, при выборе более крупного шрифта для отображения данных целесообразно увеличить и высоту строки. Необходимо помнить о том, что манипуляРис. 8.25. Чтобы указать высоту ции с высотой строки распространяются на все записи строк в таблице, можно восполь- таблицы, и "раздвинув" строки, вы тем самым уменьзоваться окном Высота строки шаете число записей, отображаемых в окне таблицы. Эту операцию можно выполнить, воспользовавшись средствами диалогового окна Высота строки. Для этого в режиме таблицы выберите команду Формат^Высота строки и в открывшемся окне Высота строки (рис. 8.25) укажите требуемую высоту (в пунктах) для строк таблицы или установите флажок опции Стандартная. Подтвердите свой выбор, щелкнув на кнопке ОК. Если вам сложно сориентироваться в выборе высоты строки, воспользуйтесь следующей простейшей формулой: высота строки— это размер шрифта для данного поля, умноженный на коэффициент 1,25.
Как и при выборе новой ширины столбца, высоту строк можно изменить прямо в таблице на экране, перетащив границу строки. Порядок действий следующий. Щ
1. Установите указатель мыши между двумя строками в области выбора записей, как показано на рис. 8.26.
пг
'овзрм : таблица
ЮИШИШШИИИ
Код тоеэра Наименавание|Лекарственная| Производитель > 1 ПИКОВИТ сироп 150 мл КРКА 2"АУРОБИН мазь 20 г в туб ГЕДЕОН РИХТ 3 ВЕРОШПИРОРтабл 25 мг №1 ГЕДЕОН РИХТ 4 ВИНПОЦЕТНН табл. 5 мг №5С ГЕДЕОН РИХТ 5 ДОНАЛГИН капе. 260 иг № ГЕДЕОН РИХТ бГнЙМОТрЛ -30мг №100 БАЙЕР 7 БЕРЕШ-ПЛЮС капли 100 мл _ БЕРЕШ G ФАЛИММНТ" .табл. №20 'БЕРЛИН-ХЕМ1 _ Э'ЗЕРОКОЛД табл. №200 "БИОМЕДИКЕ!'" 10 ДИМЕДРОЛ ;табл 005 №1С БИОСТММУЛЯ 11 АСКОРУТИН табл. №10 БОРИСОВОЙ За то: к,| * | J Г »- 1 м !»*! ю Z7
.
- - - ;..-- ^щш
Цена - | Наличие | АктуальностьЩата регистрации Ч 8.40грч Да Да 24.01.07 ВДЗфн ^_ Да Да^ 12.0301 6,57грн Да Да~ 14.04.01 d !9,Э9грн Да Да 2704.01 .11.67грн "Да "Да ~ " 06.12.01 2ЭЭ,ООгрн Да Нет 16.07.01 44.08фн Да; Да 22.0801 5,19фн Да Да 20.06.01 5Э,ООфн ДаДа "~30.10.01 0.23грн Да: Да 02.02.01 : О.ЗЭгрн Да ЦА U.05.01! jrj
Рис. 8.26. Если поместить указатель между двумя строками в области выбора записей, он принимает вид горизонтальной линии с двунаправленными стрелками
150
Часть III. Работа с данными в базе банных
2. Щелкните левой кнопкой мыши и, удерживая кнопку, перетащите указатель вниз, если необходимо увеличить высоту строки, или вверх, чтобы "сузить" строку. 3. Указав таким образом новую высоту строки, отпустите кнопку мыши. Вид таблицы изменится (рис. 8.27), причем сразу для всех ее записей. Данные в таких полях, как ЕдиницаИзмерения и Производитель, теперь не усечены и воспринимаются значительно легче. lift Гп«нфы:т^'«ица
=
Кедтовара Н»ийенование|ЛекарствёшаНПрОкЭ8одитель| >
1 ПИКОВИТ
сироп 150 мл
Ценз
КРКА
••
Наличие ( Актуальность | Дата регистра^ '|
8.40грн
Да
Да
ВДЗгрн.
Да
Да:
" 12.03.01
6.57грн.
Да;
Да!
14 04 01
19~,39гри
Да
Да-
27 04.01
1 1 :67грн. "
Да'
Да
06.12.01
239,00грн.
Да
24.01 01 1
2'АУРОБИН
"=Г
30
-мазь 20 г в . ГЕДЕОН губ. №1 РИХТЕР 3 ВЕРОШПИРО таБл. 25 мг "ГЕДЕОН iH ;№20 РИЭТЕР Д'ВИНПОЦЕТИ т а б л б м г ГЕДЕОН ! Н №50 РИ>ГШР 5- ДОНАЛГИН " " капе 250 мг " ГЕДЕОН №30 РИ>ГГЕР : Б:НИМОТОП 30 мг №100 БАЙЕР
•иь- JiLiir™
"
Her"
16.07.01
-J
~ * I " i**i и* г? ~~
Рис. 8.27. Так выглядит таблица Товары с новым значением высоты строки. Число столбцов осталось тем же, но данные в длинных текстовых полях не усечены
Диалоговое окно Формат таблицы Говоря о настройках внешнего вида таблицы, следует упомянуть диалоговое окно Формат таблицы (рис, 8.28). Чтобы воспользоваться средствами этого окна, выполните следующее. Офорнпенпе
Лннинсвткм ' „ , . К? по горнМнтаяи •
грйюдмятов
Р поввртиквям
утопленное 4вет фона; I | беПЫЙ
Цвет линий сетки;
3
3
СбраМц:
3F Hanpaenei-ne (• спвванаправо
сгяава налево
Рис. 8.28. Окно Формат таблицы позволяет выбрать оформление таблицы, цвет и вид линий сетки и фона, а также управлять отображением самой сетки таблицы
1. В режиме таблицы выберите команду Формат^Режим таблицы. 2. В группе Оформление открывшегося окна Формат таблицы выберите переключатель приподнятое или утопленное, чтобы ваша таблица стала "объемной".
Глава 8. Форматирование и контроль данных
151
В этом случае цвет фона будет серебристым. Новый "облик" таблицы после применения выбранных установок показан в области Образец. По умолчанию используется обычное оформление с белым фоном и серебристыми линиями сетки. Раскрывающиеся списки Цвет фона и Цвет линий сетки позволяют установить свое собственное цветовое решение для оформления ячеек таблицы. 3. Если вы хотите отказаться от сетки — вертикальных и/или горизонтальных линий, — выберите переключатель обычное и снимите флажки с соответствующих оппий в группе Линии сетки. Если отключен вывод линий сетки на экран, при печати они также не будут видны.
4. Выберите подходящие вам значения из раскрывающихся списков группы Вид границы и линий и, оценив будущий вид таблицы в области Образец, щелкните на кнопке ОК.
Использование панели Формат Многие команды при настройке способа отображения таблицы можно выполнить, воспользовавшись панелью инструментов Формат {режим таблицы). Чтобы вывести ее 1 на экран, выберите команду Вид^Панели инструментов ^Формат (режим таблицы) или щелкните правой кнопкой мыши на фоновой поверхности панели инструментов окна Access и в открывшемся контекстном меню выберите команду Формат (режим таблицы). На рис. 8.29 показано, как выглядит сама панель, а также приведено краткое описание расположенных на ней кнопок. Кнопка Сетка выводит на экран четыре дополнительные кнопки, с помощью которых можно указать подходящий вариант отображения линий сетки: только горизонтальные, только вертикальные, и те и другие, отсутствие сетки. Кнопка Оформление также скрывает три дополнительных кнопки для выбора стиля оформления ячеек таблицы: обычное оформление, приподнятое и утопленное. В Microsoft Дел L'SI - f Utn jpM ; таблица] 'JD Файл
КолТомрв
[£аека
&Ш
вставка
цат
^аписи
Сервис
Окно
^правка
ж X
- ; Arial
Код товара На ДПИКОВИТ сироп 150 мл КРКА 2 АУРО&ИН мазь 20 г в туб ГЕДЕОН РИХТ " Э ВЕРОШПИРОг табл 25 мг №2 ГЕДЕОН РИХТ 4 ВИНГТОЦЕТИК табл. 5 мг №5С ГЕДЕОН РИХТ" БДОНАЛГИН. -, капе. 250мг Ns ГЕДЕОН РИХТ б" НИМОТОП 30 мг N4100 . БАЙЕР 7 БЁРЕШ-ПЛЮС капли 100 мл БЕРЕШ 8 ФАЛИМИНТ 'табл. №20 " " БЕРЛИН-ХЕШ 9 ЗЕРОКОЛД .табл. №200 БИОМЕДИКЕ!'' 10 ДИМЕДРОЛ ;табл. OflS'telC БИОСТИМУЛЯ 11 АСКОРУТИН 'табл. №10 12,СТОПТУССИН.табл. №20
Перейти к попо;
Дорнат, " (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Ниже указано назначение остальных кнопок для работы с полями окна Создание форм. •у- Кнопка "»" — позволяет включить в список Выбранные поля сразу все элементы из списка Доступные поля. * Кнопка "". Затем переносите поля в список Выделенные поля в той последовательности, в которой они должны будут располагаться в готовой форме.
Глава 9. Создание и использование форм
161
Допускается выбор («скольких таблиц или запросов.
ыбранные под»! КадТоелра Н аипемовани еТс в ара ЕдиницаИэме рения Производитель Цена Товара
Далее >
Рис. 9.11. Выбраны формы Товары
все требуемые поля
для
будущей
5. Новое окно мастера предлагает выбрать внешний вид формы (рис. 9.12). Список доступных опций макета представлен справа, в виде группы переключателей: в один столбец, ленточный, табличный, выровненный, сводная таблица, сводная диаграмма. Слева расположена область предварительного просмотра, в которой при выборе соответствующего переключателя схематично отображается вид будущей формы. Чаше всего при использовании мастера применяется тип в один столбец. Ознакомившись с предлагаемыми типами макетов, щелкните на переключателе наиболее подходящего, а затем — на кнопке Далее. Что касается нашего примера, то в качестве типа макета для будущей формы выбран тип выровненный, ранее нам не встречавшийся.
Выберите внешний вид формы;
f go»* столбец "~ ленточный С~ таблиш-ый
f~ сводная таблица *~ сводная днаграгчпа
< Назад
Рис. 9.12. Диалоговое окно мастера форм предлагает иллюстрированный список типов макетов
6. Следующее окно мастера (рис. 9.13) предлагает вам выбрать стиль для формы. Список всех доступных стилей представлен в правой части окна. Щелкнув на одном из них, в расположенной слева области предварительного просмотра
762
Часть III. Работа с данными в базе данных
можно увидеть, как будет выглядеть новая форма. Ознакомившись с доступными вариантами, щелкните на наиболее подходящем (например, Официальный), а затем — на кнопке Далее. рите требуемый стипь.
Диффузный Мелм унаро дньй Наждачная бумага _ Прсныиленный Рисовая бумага Рисунок Сумн Стандартный Чертеж
Отмена
|
tfНазад
!
"Далее >
I
Готово
Рис. 9.13. Выберите подходящий стиль оформления При следующем запуске мастера (или автоформы) выбранный вами на данном этапе стиль будет использован как стиль по умолчанию.
7. На заключительном этапе мастер предлагает вам указать заголовок для формы. Введите нужный заголовок в соответствующее текстовое поле диалогового окна (рис. 9.14) или оставьте предложенное мастером имя без изменений (по умолчанию это название таблицы, на основе которой создавалась форма). Кроме того, необходимо сообщить мастеру о своих дальнейших действиях. Согласитесь с предложенной по умолчанию опцией Открыть форму для просмотра и ввода данных и щелкните на кнопке Готово. (Если вам необходима помощь, установите в последнем окне мастера флажок Вывести справку по работе с формой?, и в окне справки будет открыт раздел Способы работы с данными в форме.) Создание форм Задайте имя форны:
Указаны все сведения, необходимые для создания форсы с попоиыр мастера, Дальнейшие действия:' " фткрытьфориу для прооитра и ввода д*кы>;. Иэмечпъ чакет формы,
Г" Вывести ^правку поработи с формой?
Рис. 9.14. Укажите заголовок новой формы
Глава 9. Создание и использование форм
163
Мастер создает форму с учетом всех указанных вами настроек, сохраняет ее под именем, заданным в последнем окне мастера, и открывает форму на экране (рис. 9.15). |Р Товары_Мастер -.
! ' Г"
[Кпдтвяч а - - • [Наимеирвамяе геПИКОВИТ , . :|П • гняая форяя' Йюгевэда*."» J ~ = сироп 150 мл 'КРКА [Нмкчие_]
Запись: и \_ J[
Г .»._j >jjj*j re 27 ,
„
-
. ' llfena
..."'"
-
.
." | 8,40грн. •
. . , . ; ,
Рис. 9.15. Так выглядит новая форма (тип макета выровненный), созданная мастером. В окне формы отображается одна запись, поля которой расположены в виде нескольких строк
Если внешний вид вашей новой формы далек от совершенства, заголовки полей оказались усеченными и еще очень многое в форме требует, на ваш взгляд, доработки, внести изменения в макет формы можно в режиме конструктора форм, о чем речь пойдет в следующем разделе. Тем не менее такие формы вполне готовы к использованию, а благодаря помощи мастера вы существенно сэкономите время.
Конструктор форм Несмотря на то, что создание форм "с нуля" в режиме конструктора — это самый сложный путь, но именно он позволяет реализовать весь потенциал, который заложен разработчиками Access 2003 в такие объекты базы данных, как формы. Тем более что пугающая пустота окна конструктора новой формы — это только видимость, так как, вопервых, основа для формы у вас уже есть (это таблица базы данных или соответствующий запрос), а во-вторых, для создания форм конструктор предоставляет массу инструментальных средств и мастеров, работать с которыми действительно удобно и приятно. Итак, чтобы инициировать режим конструктора для создания новой формы, выполните следующее. |f] 1. В окне базы данных щелкните на кнопке Формы панели Объекты. jjw 2. Щелкните на кнопке Создать окна базы данных. На экране появится диалоговое окно Новая форма (см. рис. 9.8). 3. В списке, предложенном в окне Новая форма, щелкните на пункте Конструктор. 4. Из раскрывающегося списка, расположенного в нижней части окна, выберите имя таблицы (или запроса), для которой вы хотите создать форму, и щелкните на нем, а затем — на кнопке ОК. На экране появится окно конструктора формы (рис. 9-16), а также панель элементов и окно списка полей. В списке указаны все поля таблицы, для которой создается форма (на рис. 9.16 это таблица Покупатели). Панель элементов и список полей — это тот минимальный набор инструментов, с которого начинается создание формы в режиме конструктора. Первое, что должно обязательно присутствовать в форме, — это поля таблицы, в которые заносятся данные. В терминологии форм полям соответствуют элементы управления. О том, как с помощью панели элементов и списка полей создать элементы управления для простейшей формы, речь пойдет в следующем подразделе.
164
Часть Iff. Работа с данными в базе данных
Рис. 9.16. В окне конструктора форм вы увидите окно списка полей и панель элементов Если в режиме конструктора не отображаются панель элементов и/или список полей, щелкните на кнопках Панель элементов и/или Список полей панели инструментов Конструктор форм. Вероятно, вы уже обратили внимание, что в окне базы данных (вкладка Формы) есть ярлык Создание формы в режиме конструктора. Дважды щелкнув на нем, можно также ниииировать процесс создания формы в режиме конструктора. Однако в этом случае список полей будет пуст, так как, в отличие от доступа к конструктору с помошью окна Новая форма, имя таблицы, для которой разрабатывается форма, еще не указывалось. Сделать это необходимо, уже находясь в режиме конструктора. Следуйте таким инструкциям. Щ
1. Щелкните правой кнопкой на заголовке окна конструктора и выберите из открывшегося контекстного меню команду Свойства. Появится диалоговое окно свойств формы (рис. 9.17).
Макет I Данные ) Со&гтия ] Другие Источник мписей
, . . . |
;вотировки. . . Применение фильтров , . Да Подпись.,;,;,,.,.,.,. ... Одиночная фориз Режим по умолчанию ,. . Да Режим фоОмьт' режим таблицы Да Решим сводной таблицы ". Да Режим сводной диаграммы •"•••••- Да разрешитьшнепение •. •"• --"".; • "Да Разрешить /дапеиие ..Да Разрешить добавление . Да Ввод данных , . Нет Тип набора записей Динамический набор
Рис. 9.17, Диалоговое окно свойств формы Окно свойств можно также открыть, щелкнув на кнопке Свойства панели инструментов Конструктор форм или выбрав команду Вид^Свойства () главного меню. 2. На вкладке Все окна свойств щелкните в поле свойства Источник записей, а затем — на появившейся спрпвл кнопке раскрывающегося списка (Ы ). В этом
Глава 9. Создание и использование форм
165
списке выберите имя таблицы, которая станет источником данных для новой формы (например, таблица Покупатели). У окна списка полей появится заголовок (Покупатели), а сам список заполнится именами полей указанной таблицы (рис. 9.18). 3. Закройте окно свойств формы.
Макет j Данные j События ] другие Источник записей . Фильтр. Порядок сортировки Применения фильтров Подпись РЕИЛШ по умолчанию Режим формы Режим таблицы Режим сводной таблицы. , . Ре*ии сводной диаграммы . Разрешите гоиенениг Разрешить уааднние . Разрешить добавление Ввод датых....... Тип набора'записей
Пскупатега
Да Одиночная форм Да ,. . Да
РегистрэциснчоеМмя Пароль ИняПокупатвля Адрес Телефон Электрошын Адрес Актуальность ДатаРегистрации
Рис. 9.18. Источник данных для формы (таблица Покупатели) указан а диалоговом окне свойств
Использование элементов управления Теперь необходимо поместить в форму некоторые элементы, которые соответствовали бы полям таблицы и позволяли работать с данными. Но прежде уточним терминологию. Элементами управления в приложении Access называются отдельные конструктивные элементы, которые размещаются в окне формы. Такие элементы могут быть разного типа и выполнять различные функции: отображать данные из полей таблицы, хранить определенный текст (например, заголовки и надписи) или использоваться для декоративного оформления. Так как при создании формы в нее включается множество самых разных объектов, знакомство с которыми нам предстоит в этой главе (например, списки, поля со списками, надписи, флажки, переключатели, кнопки, линии и т.д.), каждый из этих элементов управления необходимо каким-то образом идентифицировать. Поэтому как только объект помещается в форму, ему присваивается уникальное имя элемента управления. Каждый элемент управления (как и сама форма) обладает набором свойств, доступ к которым возможен через уже упоминавшееся ранее диалоговое окно Свойства (см. рис. 9.18). В заголовок окна выносится имя выделенного в данный момент элемента управления. Есть несколько способен, позволяющих вызвать окно свойств элемента управления. •С- Выделите элемент управления, а затем выберите команду Вид ^Свойства.
*>• Щелкните на элементе управления, а затем — на кнопке Свойства панели инструментов. •О- Дважды щелкните на элементе управления. •ф- Щелкните правой кнопкой на элементе управления и выберите из контекстного меню RVHKT Свойства. 166
Часть III. Работа с данными в базе данных
Все элементы управления разделены на три основных типа: присоединенные, свободные и вычисляемые. Присоединенные элементы управления связаны с полем исходной таблицы и используются для отображения данных, а также ввода и обновления записей в таблице. Чаще всего полям таблицы соответствуют присоединенные элементы управления типа Поле. Для полей логического типа применяются такие присоединенные элементы управления, как переключатели, флажки и выключатели. Все присоединенные элементы управления применяются, как правило, с соответствующей им надписью, которая отображает значение свойства Подпись этого элемента управления. Свободные элементы управления, как и следует из их названия, существуют независимо от источников данных — таблиц или запросов — и позволяют выводить на экран текст, прямоугольники, линии, а также объекты OLE, например, рисунки, которые содержатся не в таблице, а в самой форме. Вычисляемые элементы управления используют в качестве источника данных выражения (например, функции и формулы). В выражении могут участвовать данные из исходной таблицы, однако элементы управления такого типа не обновляют поля таблиц. Примером выражения для вычисляемого элемента управления может служить следующая формула: =[ЦенаТовара]*[Количество], применяемая при подсчете общей стоимости товара. В выражениях также могут быть использованы данные из других элементов управления формы. Панель элементов Как уже отмечалось, в режиме конструктора с помощью панели элементов Access можно включить в форму самые разнообразные элементы управления. Всего их 17, и создать каждый из них можно, щелкнув на соответствующей кнопке панели элементов. Внешний вид панели показан на рис. 9.19, а краткое описание кнопок панели и создаваемых с их помощью элементов управления приведено в табл. 9.1. Выбор объектов Надпись Группа переключателей Переключатель Поле со списком Кнопка Свободная рамка объекта — Разрыв страницы Подчиненная форма/отчет Прямоугольник
Мастера я!!]—Поле —Выключатель Флажок Список Рисунок 11J— Присоединенная рамка объекта Вкладка Линия Другие элементы
Рис. 9.19. Панель элементов Access
Таблица 9.1. Кнопки панели элементов Access Кнопка Имя
Назначение
Выбор объектов
Позволяет использовать указатель мыши для выделения элемента управления, раздела или формы. Отключает ранее выбранный на панели элементоа инструмент. Кнопка по умолчанию акта визирован а
Мастера
Включает и отключает мастера по созданию элементов управления. Следуя инструкциям мастеров, можно создать такие сложные элементы управления, как Список, Поле со списком, Группа переключателей или Кнопка
Глава 9. Создание и использование форм
167
Продолжение табл. 9.1 Кнопка
Имя
\Щ
Надпись
Создает элемент управления, который отображает в форме некоторый поясняющий текст, например заголовок или подпись
[5>П
Поле
Создает элемент управления Поле (вместе с присоединенной к нему подписью) для отображения значений из источника данных, а также для ввода и изменения записей в таблице. Кроме того, используется для вывода результатов вычислений
JS]
Группа переключателей
Создает элемент управления Группа переключателей, реализующий возможность выбора только одного из предложенных вариантов. Включает группу флажков, переключателей или выключателей
\Щ
Выключатель
Создает отдельный элемент управления Выключатель, который может быть присоединен к логическому полю таблицы. Внешне отображается в виде кнопки, которая в состоянии "включено" (утопленное положение) соответствует значению да (-1), а в состоянии "выключено" (приподнята) — значению Нет (о). При использовании выключателей в элементе управления Группа переключателей выбор одной из таких кнопок переводит ранее включенную кнопку в состояние "выключено". На выключатель можно поместить небольшой рисунок или пиктограмму, а также варьировать размеры и оформление этого элемента
Переключатель
Создает отдельный элемент управления Переключатель, который может быть присоединен к логическому полю таблицы. Другое название переключателя — радиокнопка, так как он отображается в виде круглой кнопки и строки с поясняющим текстом. Если переключатель активизирован, то внутри кнопки появляется черная точка. Выполняет те же функции, что и выключатель; как правило, используется в группах переключателей
Флажок
Создает элемент управления Флажок, аналогичный по своим функциям выключателю. Отображается в виде строки текста и маленького квадрата. Если результат истинный, в квадратике ставится отметка в виде "галочки", если ложный — квадратик пуст. Как правило, в Windows-приложениях используется вне группы переключателей, предоставляя возможность множественного выбора
Поле со списком
Создает элемент управления Поле со списком, в котором объединены поле для ввода значения и раскрывающийся список с заранее определенными значениями
Список
Создает раскрывающийся список допустимых опций выбора. Ввод других значений невозможен
Кнопка
Создает кнопку, щелчок на которой активизирует выполнение определенных действий, например, печать текущей формы или запуск другого приложения
УЦ
Рисунок
Позволяет добавить в форму рисунок, который не является объектом OLE
Щ]
Свободная рамка объекта
Позволяет добавить в форму свободный обьект OLE, созданный приложением-сервером OLE, например Microsoft Graph или Excel. Такой объект не связан с полем таблицы. При переходе от записи к записи этот объект остается неизменным
Щ]
Присоединенная рамка объекта
Позволяет отображать в форме графические объекты, сохраненные в поле объекта OLE источника данных. Если объект не является графическим, то отображается его значок. При переходе от записи к записи в форме выводятся разные объекты
Разрыв страницы
Контролирует печать формы, указывая на начало новой страницы
(^ I
[LS]
168
Назначение
Часть III. Работа с данными в базе данных
Окончание табл. 9,1 Кнопка
Имя
Назначение
Вкладка
Позволяет создавать формы или диалоговые окна с несколькими вкладками. На каждой вкладке могут размещаться свободные и присоединенные элементы управления, в том числе Подчиненная форма/отчет
Подчиненная форма/отчет
Позволяет включить в главную форму подчиненную форму для вывода данных из нескольких таблиц. Прежде чем добавить этот элемент управления, следует создать подчиненную форму
Линия
Создает прямую линию, которая помогает визуально отделить родственные данные или разделы формы. Толщину и цвет линии можно изменить с помощью панели инструментов форматирования
Прямоугольник
Создает прямоугольник произвольного размера, который используется для создания графических эффектов. Размеры и цвет прямоугольника можно изменить с помощью панели инструментов форматирования
Другие элементы
Щелчок на этой кнопке открывает список дополнительных элементов управления, которые не входят в Access, но могут быть использованы в формах
Добавление элементов управления Поле Элементы управления, эквивалентные указанным в списке полям, размешаются в разделе формы, которая называется Область данных. Пока в окне конструктора форм отображен только этот раздел. Существуют и другие разделы, которые будут рассмотрены позднее. Чтобы добавить в форму элемент управления, соответствуюший полю, выполните следующее. 1. В окне списка полей щелкните на нужном поле и, удерживая кнопку мыши нажатой, перетащите поле в раздел Область данных формы. Указатель мыши при этом принимает вид микрополя ( Б! ). Когда кнопка отпущена, в форме появится элемент управления типа Поле, а слева от него — присоединенный оголовок. Такой заголовок является элементом управления Надпись и отображает либо имя поля таблицы, либо (если оно указано) значение свойства Подпись данного поля, дополненное справа двоеточием (:) (рис. 9.20). Между полем таблицы и элементом управления Поле в форме теперь установлена связь. 2. Повторите шаг 1 требуемое число раз*, чтобы перенести в форму все необходимые поля. Перенести в форму сразу несколько полей можно, предварительно выделив их в списке с помошью следующих приемов. [Жзй , щелкните на последнем поле. •> Если необходимо выделить несколько несмежных полей, щелкните на первом поле, а затем, удерживая клавишу , щелкайте на каждом нужном поле.
3. Когда все элементы управления размещены в форме, сохраните структуру формы, щелкнув на кнопке Сохранить панели инструментов Конструктор форм. В открывшемся диалоговом окне Сохранение укажите имя формы и щелкните на кнопке ОК.
Глава 9. Создание и использование форм
169
КодГЬжупателя Per ис г Пароль [имяПокупателя
Рис. 9.20. В форму переносится поле Адрес Создать элемент управления Попе можно также с помощью панели элементов (кнопка Попе), однако в этом случае в форме будет создан свободный элемент управления, и для привязки его к конкретному полю таблицы придется отдельно устанавливать необходимые свойства элемента.
Модифицирование формы Режим конструктора форм позволяет вносить изменения в структуру формы, независимо от того, каким способом она была создана: "с чистого листа" или с помощью автоформы или мастера. Поводов к тому, чтобы освоить приемы работы в режиме конструктора может быть много: вас не устраивает тип, внешний вид или расположение элементов управления; хочется изменить шрифт или содержание надписи, сопровождающей поле; или, быть может, просто украсить форму некоторыми декоративными элементами и применить другие цветовые схемы.
Перемещение элементов управления Простейшее действие — это перемещение элемента управления, например, для перегруппировки существующих элементов в форме или выделения места для нового элемента. Как уже отмечалось, при создании элемента управления, который относится к одному полю таблицы, на самом деле в форму помешается два объекта: надпись и элемент управления типа Поле. Перемещать их можно как вместе, так и независимо друг от друга. Чтобы переместить элемент управления вместе с надписью, выполните следующее. 1. Выделите имя нужной формы на вкладке Формы окна базы данных, а затем щелкните на кнопке Конструктор панели инструментов окна. Форма откроется в режиме конструктора. Если форма уже открыта в режиме формы, перейти в режим конструктора можно, щелкнув на кнопке Конструктор панели инструментов Режим формы или выбрав команду главного меню Вид ^Конструктор. 2.
770
Щелкните на надписи элемента управления. Вокруг нее появятся маркеры выделения, или маркеры изменения размеров (маленькие черные квадраты), а в левом верхнем углу как надписи, так и самого элемента управления — маркеры перемещения (черный квадрат покрупнее).
Часть III. Работа с данными в базе данных
3. Поместите указатель мыши на верхнюю или нижнюю границу надписи элемента управления. Указатель принимает вид раскрытой ладони (рис. 9.21). Нажмите левую кнопку мыши и, удерживая ее, переместите элемент управления и его надпись в новую позицию. После того как элемент управления переместился, отпустите кнопку мыши.
Регистра циси ноеимя Пароль ЛчяПокупатепя Ларк Телефон ЭпеятрсиныйАдрес /апьность гаР*гпстраиии
Рис. 9.21. Указатель, помещенный на границу выделенной надписи элемента управления, принимает вид раскрытой ладони. Теперь элемент управления можно переместить на новое место
4. Сохраните внесенные изменения, щелкнув на кнопке Сохранить панели инструментов Конструктор форм или выбрав команду главного меню Фай л* Сохранить. Отменить последнее перемещение можно, воспользовавшись комбинацией клавиш (или кнопкой Отменить панели инструментов Конструктор форм). В режиме конструктора форм можно отменить до 20 последних изменений.
Чтобы выделить сразу несколько элементов управления, существует ряд способов, проиллюстрированных ниже. • Нажмите клавишу <Shift> и, удерживая ее, щелкните на надписи каждого нужного элемента управления (рис. 9.22, слева). В этом случае для перемещения группы элементов управления указатель можно поместить на любую выделенную надпись (рис. 9.22, справа).
Рис. 9.22. Два рисунка иллюстрируют последовательность действий при перемещении группы элементов управления
Глава 9. Создание и использование форм
171
Если элементы управления, которые необходимо выделить, являются смежными, перетащите указатель вокруг нужных элементов, заключая их в рамку (рис. 9.23, слева). Каждый элемент, который заключен в рамку или касается ее, будет выбран (рис. 9.23, справа). \Ш Форма! : форма
•
Код janasa
1•
КОЯ гокупа
|сед :дказа
: -
3
#^?^С~ . . ,1 ! !
Р— 1 §аатаЗака^а Й1Т •„•'•'•• ' г -8~™ У.С-Л пок^ла гел*-1 [КодПокупателя
(ДатаЗаклза _.. A _L [КодПскупатепя
г :.,. . -
. | ' l ' | . 2 - i ' 3 ' i ' * - i ' 5 ' i ' 6 - i '
! •f Обпэсть. данных
* Область данных
&-4Л
Рис. 9.23. Группу смежных элементов управления можно выделить с помощью ограничивающей рамки Щелкните на вертикальной или горизонтальной линейке окна конструктора (рис. 9.24, слева) и, не отпуская левой кнопки мыши, перетащите указатель в нужном направлении (рис. 9.24, справа). На экране при этом появятся две линии (горизонтальные или вертикальные, соответственно), и все элементы, которые окажутся между ними, будут выбраны. Форма! :форма
[If Фирма! ; Форма
."
и
: •" 1
• "' ' ' - г - "'• ' • « • " 5 " • * • ' ' * Область данных . ~~
- 'I
В itssKai 1Дл :
: :
а: :
Ко вгокут ателя:
)КодЭакв5а I \ |Дат а Заказа I |КодПокупателя I
I
I 1
'
I
Рис. 9.24. Два рисунка иллюстрируют последовательность действий при выборе группы элементов управления с помощью линейки окна Выделив необходимый элемент управления, можно перемешать его, пользуясь не мышью, а клавиатурой, нажимая для перемещения элемента в нужном направлении клавиши >, и. удерживая ее, выполните следующие действия: -Ф- нажимайте клавишу , чтобы увеличить длину (ширину) элемента управления или надписи (правая граница элемента управления перемешается вправо); - Принечание формы
Перетащите указатель вниз или вверх Рис. 9.28. Так можно изменить высоту раздела
Глава 9. Создание и использование форм
175
Для каждого из разделов можно установить свою собственную высоту, однако следует помнить о том, что изменение ширины одного раздела автоматически влечет за собой изменение ширины всех остальных разделов в форме. В режиме просмотра формы полоса вертикальной прокрутки позволяет прокручивать только раздел Область данных. Чтобы изменить ширину раздела, поместите указатель мыши на правую границу раздела и перетащите ее вправо или влево (рис. 9.29). Перетащите указатель влево или вправо
Рис. 9.29. Так можно изменить ширину раздела
Чтобы одновременно изменить и высоту, и ширину раздела, поместите указатель мыши в правый нижний угол раздела (указатель принимает вид перекрестия) и перетащите его по диагонали в любом направлении (рис. 9.30).
Перетащите указатель по диагонали в нужном направлении Рис. 9.30. Так можно изменить размер раздела сразу по двум параметрам
Когда форма создается с помощью мастера, вместе с разделом Область данных в режиме конструктора появляются также разделы Заголовок формы и Примечание формы, однако они пусты. Чтобы поместить в них какие-либо элементы управления, следует выделить под эти разделы некоторое пространство. Так, чтобы освободить, например, некоторую область для раздела Заголовок формы в форме Товары, щелкните на заголовке раздела Область данных, выделял ее. Затем поместите указатель мыши на границу между заголовками разделов Заголовок формы и Область данных (указатель принимает вид двунаправленной стрелки, как показано на рис. 9.31, исходное окно формы). Теперь нажмите левую кнопку мыши и перетащите нижнюю полосу вниз (см. рис. 9.31, второе окно). После того как кнопка мыши будет отпущена, макет формы примет вид, аналогичный представленному в третьем, самом нижнем окне рис. 9.31.
Надписи Элементы управления Надпись можно разместить в любом разделе формы для отображения 3ai '-MJRKOB, подзаголовков иди поясняющего текста. Надписи являются свободными элементами управления, и в них не вводятся данные, хотя использоваться они могут как отдельно, так и вместе с другими элементами управления. Используя надписи в качестве заголовков для других элементов управления, следует придерживаться нескольких общепринятых рекомендаций. Так, для флажка или переключателя надпись должна располагаться справа; для поля, поля со списком или списка — над элементом управления или слева от него, а для группы переключателей — в верхней части рамки с заменой части верхней линии.
Часть III. Работа с данными е базе данных
Рис. 9.31. Последовательность действий при выделении рабочего пространства для раздела Заголовок формы: заголовок раздела Область данных необходимо перетащить вниз
Рассмотрим, как добавить в форму (например, Товары) заголовок с некоторой обшей информацией. Пусть раздел Заголовок формы уже имеет достаточный размер для внесения надписи. Следуйте таким инструкциям. 1. Отобразите на экране {если ее там нет) панель элементов, выбрав команду главного меню Вид^Панель элементов или щелкнув на кнопке Панель элементов панели инструментов Конструктор форм. И 2. Щелкните на инструменте Надпись панели элементов. Указатель мыши примет вид прописной буквы А со знаком "плюс" (+) слева вверху. 3. В разделе Заголовок формы теперь необходимо создать прямоугольник для ввода текста. Для этого поместите указатель в том месте раздела, где должен располагаться левый верхний угол прямоугольника, нажмите левую кнопку мыши и, удерживая ее, перетащите указатель по диагонали, создавая элемент нужного размера (рис. 9.32). 4. Отпустите кнопку мыши. В рабочей области раздела появится поле надписи (белый прямоугольник с точкой вставки внутри). Введите в него текст надписи, например Лекарственные препараты. 5. Нажмите клавишу <Enter> или щелкните в любом месте формы (вне надписи). Если в созданную надпись не ввести ни одного символа, после щелчка мышью элемент управления исчезнет. О 6. Чтобы сохранить внесенные изменения, щелкните на кнопке Сохранить панели инструментов Конструктор форм. Чтобы изменить текст надписи или поля, выделите его, а затем щелкните на нем, чтобы указатель мыши принял I-обраэный вид. Отредактируйте текст и нажмите клавишу <Enter>.
Глава 9. Создание и использование форм
177
Рис. 9.32. Надпись можно разместить в любом разделе формы, воспользовавшись инструментом Надпись панели элементов
Специальные элементы управления Данные в формы можно вводить не только непосредственно с клавиатуры, но и с помощью так называемых специальных элементов управления, обеспечивающих возможность выбора вводимых значений из ограниченного набора опций, а также контроль данных при вводе. В главе 8 в качестве примера уже был создан простой список подстановки для поля таблицы. Такой метод ввода информации, безусловно, очень удобен и, кроме того, гарантирует проверку правильности вводимых и редактируемых данных, так как в поле может быть помещена только указанная информация, и никакая другая. Программа Access предусматривает реализацию подобных решений для ввода данных и в режиме формы. Помимо списка, для формы могут быть созданы такие специальные элементы управления, как поле со списком, переключатели, флажки, выключатели, группа переключателей и кнопки. Правила контроля допустимости ввода, которые были заданы для полей таблицы, автоматически применяются к подсоединенным элементам управления при использовании форм.
1Й 13
Обязательньш инструментарий при создании специальных элементов управления — это панель элементов. В следующих подразделах рассказано о мастерах, которые помогут создать элементы управления каждого из указанных выше типов. При вызове мастера следует убедиться, что кнопка Мастера на панели элементов активизирована (более темный цвет фона, сама кнопка заключена в рамку).
Создание списка или поля со списком Элементы управления Список и Поле со списком используются в тех случаях, когда заранее известно, что данное поле будет содержать некоторые повторяющиеся значения и для их ввода достаточно будет просто просмотреть список предложенных вариантов и выбрать необходимый. Как списки, так и поля со списком могут содержать несколько столбцов или строк. Между двумя этими аналогичными типами элементов управления существует и ряд различий.
178
Часть III. Работа с данными в базе данных
Список (рис. 9-33) всегда отображается уже открытым, и та его часть, которая умещается в окне с заданными размерами, видна на экране постоянно, поэтому список занимает в форме больше места, чем такие элементы управления, как поля или поля со списками. Пользователь может выбрать только те значения, которые перечислены в списке. Для выбора нужного элемента из списка его следует выделить, поместив на него указатель, а затем выбрать, нажав клавишу <Enter> или щелкнув мышью. Чтобы выбрать требуемый элемент из списка, можно ввести его первый символ.
Поле со списком {рис. 9.34) выглядит как обычное поле формы, в правой части которого расположена кнопка со стрелкой. В отличие от списка, поле со списком позволяет помимо предложенных вариантов вводить и другие значения. Для выбора значений поле со списком следует открыть. № т чг ты о прпляшвн
Щ£ Наклейки дпя клиентов Печать наклеек: - -
С Продажи гта сотрудникам и странам Г
Итоги продаж по использовать по значение в дальнейшем для выполнения ~ действия. Какое действие будет выполняться при вьйоре значения га объекта "пола со списком4? (~ Запомнитьаначенив. ю утэппенно*
Рис. 9.43. Выберите тип элементов управления и подходящее оформление группы переключателей Технические подробности Справедливости ради, следует отметить, что согласно стандартам программирования Windows, несколько флажков используются тогда, когда одновременно можно выбрать несколько огший, поэтому применение флажков в группе переключателей — не очень удачный вариант. Если необходимо создать набор элементов управления, которые выглядели бы как группа флажков, но функционировали независимо и допускали выбор вариантов, которые'не являются взаимоисключающими, заключите их в рамку, а не используйте в группе. 9. В заключительном окне мастера укажите текст надписи для группы переключателей (например, Состояние заказа) и щелкните на кнопке Готово. В форме Заказы появится новый элемент управления Группа переключателей. Открыв окно свойств этого элемента, можно указать для него более содержательное имя, например грпСостояниеЗаказа, как показано на рис. 9.44.
Глава 9. Создание и использование форм
185
[} 3
*
л
'1
{Травка
Цид
Вставка
(Вернет
Сервис
Окно
Справка
Ввешчтз ьэгро*
- ^ в X
г
fT] ~\] Е--..] Ая
' abt
Q
J
1гргСостодниеЗака5а
* Заголовок формы * Область данных Код:*
***э
• 1Я-
1 . Имя г ^лучаггиц]:
•Aapednoivie еля
^ Элем ЗОННЫЙ
J ,:
^« заквм
1
и СОСТОЯНИЙ
_J Коя Покупателя 1 - (ИмяПоличагвлй 1 -Г • 1 JAapedl ол^зтеля
-- *
ГЛ. ; ,.
! '
•т* рбраба bieaerte1 *
.
.-Текст строки состояния Режнмвывода Доступ, ,..,..,,.. - блокировка Переход по lab
]Э п^дресП опучателя
яетея
1} №
Данные ..,,,,, ,....., СостояииеЭакам • Значение по умзлчанво ; 1 •ж . ; Уию»1е на змачсхне
ГратаЗа-аи Кед ГУ
!
"
0,1ЭЭсм 5. 593см 2,245™ Прозрачный 16777215 вдввпенное
ЦВЕТ гранты .
0
| Контекстное ивню КБ всплывающая подштка _ . Иданти4«катор сгравки
о
1 -
,,
Всегда Да __ ;Нет Да
Высота •••!.тип фона . , , Цветфона.., ,,..,,,.... Офорклвние ...... .".-
Д iraPi
т* рыто ли
* Примечание форт
"
От левого края От верхнего края
™'" """'" .— н 'Дягв регистр
- :
1
Имя 1 Л' нтнфикзторо, использованного е вьражвнии, макросе, пр щедуре
_J_J f*A«
Рис. 9.44. Элемент управления грпСостояниеЗаказа формы Заказы позволяет выбрать нужное значение из списка доступных опций
Создание элемента управления Кнопка Кнопка помещается в форму как механизм запуска некоторого определенного процесса. Примеры таких процессов приведены ниже. • Переходы по записям. Щелкнув на кнопке, можно перейти к следующей, предыдущей, первой или последней записи. • Обработка записей. Кнопки этого типа позволяют удалить, добавить, продублировать, сохранить, восстановить или напечатать запись. • Работа с формой. С помощью этих кнопок можно открыть или закрыть форму, распечатать ее или открыть страницу в многостраничной форме. • Работа с отчетом. Используя такие кнопки, можно отправить отчет в файл или по почте, просмотреть или распечатать его. • Приложение. Кнопки этого типа позволяют запустить некоторые другие приложения, например Microsoft Word или Microsoft Excel, а также выйти из приложения Access. • Разное. С помощью кнопок можно выполнить запрос или макрос, инициировать автонабор указанного в форме телефонного номера или распечатать таблицу. Кнопки чаще всего размещают в разделах заголовка или примечания формы. В качестве примера создадим элемент управления Кнопка для формы Товары, который позволил бы распечатывать текущую форму.
186
Часть (П. Работа с данными в базе данных
Чтобы создать в режиме конструктора формы элемент управления Кнопка, выполните следующее. Удостоверьтесь, что кнопка Мастера на панели элементов активизирована, Щелкните на инструменте Кнопка панели элементов. Указатель примет вид, напоминающий пиктограмму кнопки. Щелкните указателем в том месте формы, где будет размешаться новый элемент управления Кнопка. Запустится процесс создания кнопки под руководством мастера. В нашем примере самое удачное место для размещения кнопки — раздел Примечание формы. (Если в режиме конструктора этот раздел не отображается, выберите команду Вид^Заголовок/примечание формы и при необходимости установите достаточную для размещения кнопки ширину раздела, поместив указатель мыши на нижнюю границу раздела и перетащив ее вниз.) В первом окне мастера в области Категории щелкните на требуемой категории действия (например, Работа с формой), а затем выберите в списке Действия подходящее действие (в нашем случае это Печать текущей формы), которое будет выполнено, если щелкнуть на кнопке (рис. 9.45). Чтобы перейти к следующему окну мастера, щелкните на кнопке Далее.
Выберите действие, которое йудет выюлияться при нажат» иноки. Каждвиюлегориясодержит собствб*«ньй набор действий. Дейггвид: Закрыть форму И5нен»1ть фильтр фориы Обновить данные фориы Открыть страницу Открыть форму
твпгаииеяд
Печать формы Применить фильтр формы
Далее
Рис. 9.45. Выберите категорию и действие, которое будет выполнено после щелчка на новой кнопке
5. В следующем окне мастера необходимо указать, что будет отображаться на кнопке: текст или рисунок. В первом случае выберите переключатель Текст и введите в расположенное правее поле нужный текст (например, согласитесь с предложенным по умолчанию вариантом Печать формы, как показано на рис. 9.46). Чтобы разместить на кнопке некоторое изображение, щелкните на переключателе Рисунок, а затем либо выберите стандартный рисунок Принтер, либо установите флажок опции Показать все рисунки и выберите из предложенного списка какой-либо другой рисунок. (Кроме того, можно воспользоваться и собственными изображениями. Чтобы найти их на диске, щелкните на кнопке Of5sop.) Затем, чтобы продолжить работу, щелкните на кнопке Далее. 6. В заключительном окне мастера укажите имя новой кнопки (например, ПечатьТекущейФормы) и щелкните на кнопке Готово. В форме появится новый элемент управления Кнопка (рис. 9.47).
Глава 9. Создание и использование форм
187
1
11
iTr^' -'^''" ^ разместив на кнопке? Введите текст иди выберите нужный рисунок, Дня поиска рисунка на лиске восполззуйтесь кнотсой "С*»ср". !Текст! ]
!Печать формь
Г Рисунок
Далее >
Рис. 9.46. Выберите текст или рисунок для создаваемой кнопки
Лркавствекздав
Рис. 9.47. В форме Товары теперь появилась кнопка, позволяющая распечатать форму
Порядок обхода полей После того как все необходимые элементы управления уже размещены в форме и ее, казалось бы, можно использовать для ввода данных, часто возникает необходимость откорректировать порядок обхода полей формы. Поясним, почему этот момент требует особого внимания. Тот порядок, в котором вы обходите элементы управления в форме, пользуясь клавишей , называется последовательностью перехода. По умолчанию последовательность перехода выполняется слева направо и сверху вниз. Однако если элементы управления вы переносили в форму в ином порядке (например, из списка полей или при создании специальных элементов управления), то последовательность перехода будет в точности совпадать с тем порядком, в котором элементы управления добавлялись в форму в режиме конструктора. В итоге такой порядок не всегда оказывается удачным, так как при создании, например, специального элемента управления Поле со списком для поля Производитель формы Товары при использовании клавиатуры фокус ввода в поле Производитель будет попадать последним, уже после служебных полей Актуальность и Дата Регистрации. Больше того, даже при перемещении элементов управления исходная последовательность перехода остается неизменной.
188
Часть III. Работа с данными е базе данных
Чтобы изменить последовательность перехода для элементов управления формы, следует обратиться к другим средствам программы Access. Выполните следующее. 1. Выделите имя нужной формы на вкладке Формы окна базы данных, а затем щелкните на кнопке Конструктор панели инструментов окна. Форма откроется в режиме конструктора. Щ 2. Выберите команду главного меню Видеопоследовательность перехода. Откроется диалоговое окно Последовательность перехода (рис. 9.48). 3. В группе переключателей Раздел щелкните на том разделе, в котором вы хотите измеПос тедсеательноств: нить последовательность перехода. (По умол- ;• .Ра>дел Кол Товара чанию установлен переключатель область ; *~ заголовок Натек ован не Товар ;i лвьиых ЕдиницаМзмерения данных.) Справа в области Последователь- ;.\ ((*" область примечание ЦенвТооара ность появится список элементов управлеНапичиеТовара Выделчгеодну пял Актуальность ния выбранного раздела в той очередности, несколько строк с |таРегнстр иыши н в которой эти элементы можно обойти поиощьга расставьте выбранные поля в нужной в форме, пользуясь клавишей . последовлтвгьности. 4. Измените последовательность перехода, для ос, чего сначала выделите нужный элемент управления в списке, щелкнув на его облас9.48. Диалоговое окно Последоти выделения ( Ш ). Затем снова щелкните Рис. вательность перехода позволяет изна области выделения этого элемента (рядом менить порядок обхода попей в форс указателем мыши появится темно-серый ме (например, в форме Товары прямоугольник) и, удерживая левую кнопку "вернуть" фокус ввода в поле Произмыши, перетащите элемент управления вверх водитель непосредственно за полем ЕдиницаИэмерения) или вниз, в нужную позицию списка. Можно выделить сразу несколько смежных элементов управления: щелкните на области выделения первого из них и, не отпуская кнопки мыши, протащите указатель по смежным элементам. Чтобы установить стандартную последовательность перехода (слева направо в каждом ряду, а затем сверху вниз в соответствии с расположением элементов управления в форме), шелкните на кнопке Лето диалогового окна Последовательность перехода. Порядок отображения столбцов формы в режиме таблицы также будет изменен: теперь они будут размещаться слева направо в соответствии с новым порядком перехода. 5. Выполните шаг 4 требуемое число раз и щелкните на кнопке ОК. 6. Сохраните внесенные изменения, щелкнув на кнопке Сохранить панели инструментов Конструктор форм или выбрав команду главного меню Файл1* Сохранить. (Если необходимо отказаться от изменений и вернуть исходную последовательность перехода, щелкните на кнопке Отмена.) Технические подробности Чтобы исключить элемент управления из последовательности перехода, выберите: этот элемент в режиме конструктора, затем откройте его окно свойств на вкладке Другие и установите для свойства Переход no Tab значение Нет. Теперь при использовании кпавиши для перехода между элементами управления формы данный элемент будет недоступен, однако его можно выбрать, щелкнув на нем кнопкой мыши.
Глава 9. Создание и использование форм
189
Когда форма радует глаз Итак, в форме размешены все необходимые элементы управления и надписи, т.е. в функциональном отношении форма готова к использованию, однако ее можно заметно преобразить. Инструментальные средства, доступные в режиме конструктора, позволяют выделить элементы управления, разделы или группы элементов, добавить линии и прямоугольники, изменить цвет, применить такие эффекты, как затенение, объемное представление элементов или фоновые рисунки -
Панель инструментов Формат (форма/отчет) В режиме конструктора при выборе элементов управления или разделов активизируется специальная панель инструментов Формат (форма/отчет), куда вынесены кнопки команд всех опций форматирования текста, линий, цвета и оформления. На рис. 9.49 показана панель инструментов Формат (форма/отчет) (сразу под главным меню) и пять окон палитр (окон форматирования}, которые были открыты и перемещены в рабочую область окна. Краткое описание кнопок панели Формат (форма/отчет) представлено в табл. 9.2. J Microsoft Ac се» - [Формат: форма] Jjj Файл
Главка
НадписьО
т
Jii'
-J
Д
§нд
Отрав**
Bcrs
- ж -г ч
LuckJa Console *л1 -i ' в
"il
* 06 пасть дажых
палитр
тт mm
mmmmm*m mnsmm mm т ^:
П ГГ Г Г Г
Oil
Конструктор
Рис. 9.49. Панель инструментов Формат (форма/отчет) и окна палитр
Таблица 9.2. Кнопки панели инструментов Формат (форма/отчет) Кнопка Имя
Назначение
[ж]
Полужирный
Форматирует текст в выделенном элементе управления полужирным
[F]
Курсив
Форматирует текст в выделенном элементе управления курсивом
[а]
Подчеркнутый По левому краю
790
Форматирует текст в выделенном элементе управления подчеркиванием В выделенных элементах управления выравнивает текст по левому краю
Часть III. Работа с данными в базе данных
Окончание табл. 9.2 Кнопка Имя По центру Щ
Назначение В выделенных элементах управления выравнивает текст по центру
По правому краю В выделенных элементах управления выравнивает текст по правому краю Цвет заливки/фона
УУ-] р£^]
Отображает цветовую палитру фоновой заливки выделенного объекта. Фон элемента управления можно сделать прозрачным, выбрав кнопку Прозрачный в окне Цвет заливки/фона (см. рис. 9.49) Цвет текста Отображает цветовую палитру, позволяющую выбрать цвет для текста выделенного объекта Цвет Отображает цветовую палитру, позволяющую выбрать цвет для линии/границы границы выделенного элемента управления, линии или прямоугольника Толщина Отображает раскрывающийся список для выбора ширины линии, линии/границы прямоугольника или границы выделенного элемента управления. Ширина может принимать значения: Сверхтонкая линия или линия шириной от 1 до 6 пунктов Обычное Задает оформление для выделенных элементов управления. Допустимые оформление опции: Обычное, Приподнятое, Утопленное, Вдавленное, С тенью и Рельефное
Панель инструментов Формат (формат/отчет) программы Access можно перемещать по экрану, изменять ее размер и форму, а кроме того, закрепить на любой границе экрана. Крайним слева на панели Формат размещен раскрывающийся список Объект, который отображает выделенный в данный момент элемент управления, а также позволяет быстро выделить другой элемент управления, раздел или форму, указав его имя в списке. Даиее расположены списки Шрифт и Размер шрифта, с помощью которых можно изменить шрифт и размер шрифта для выделенного элемента управления. Далее следуют кнопки форматирования, описанные в табл. 9.2. Окна палитр можно перемещать по экрану, но изменить размер или прикрепить к одной из границ экрана нельзя. Чтобы открыть такое окно форматирования, следует щелкнуть на стрелке справа от кнопки нужного инструмента форматирования (например, Цвет заливки/фона), а затем — на заголовке раскрывшегося окна палитр (указатель мыши принимает вид диагональных двунаправленных стрелок) и перетащить окно палитры в новую позицию на экране.
Форматирование текстовых элементов формы Для текста в элементе управления можно выбрать шрифт и размер шрифта, а также выделить его полужирным, курсивом или подчеркиванием. Покажем на примере формы Товары, как можно отформатировать текст надписи.
[днГ~~ leTTp Гг]
1. Щелкните на надписи (Лекарственные препараты) в разделе Заголовок формы. ""ПР. Откройте список Шрифт на панели инструментов Формат (форма/отчет) и выберите нужный шрифт, например Arial. 3. Откройте список Размер и выберите требуемый размер, например 16 пунктов. 4. Щелкните на кнопке Курсив панели инструментов Формат. Теперь для корректного отображения в надписи текста с укрупненным шрифтом необходимо изменить размеры самого элемента управления. 5. Выберите команду Формат^Размер^по размеру данных. Access изменит размер надписи в соответствии с ее содержимым (рис. 9.50).
Глава 9. Создание и использование форм
191
[Ш loeapbi: форма 9 • I • 13 • I • 11 • I • 12 • I -13 • > • 14 • I •«
•# Заголовок фирмы
* Область данны* ;КодТоЕэрз
[наиценоезниеТсвара
[Луьфс-гае^ояф^за .Един^цаИзмвреяия
Г
±3
f '^торяадиу-ль f ]Пронзесдитель
№из j --:1'.'..-?.}' -|ЦенаТовара
Рис. 9.50. Отформатированный текст надписи (Лекарственные препараты) формы Товары
Средство Автоформат Быстро и кардинально изменить внешний вид формы можно с помощью команды Автоформат, которая предлагает несколько базовых схем форматирования. Автоформат автоматически изменяет шрифты, цвета, границы и фоновые рисунки. Чтобы применить средство Автоформат ко всей форме, выполните следующее. щ
1. Щелкните на кнопке выбора всей формы, расположенной на пересечении вертикальной и горизонтальной линеек в левом верхнем углу окна формы. Если будет выбран элемент управления (или их группа), Автоформат будет применен только к выбранным объектам. gj 2, Выберите команду Формат^Автоформат или щелкните на кнопке Автоформат панели инструментов. Появится диалоговое окно Автоформат (рис. 9.51). Форма - автсформатДиффузный Наждачная бумага Официальный Прояышленньй Риссеая бумга Рисунск Суни
II., ,-„,, .,
I
атрибуты
Рис. 9.51. Средство Автоформат позволяет применить ко всей форме или выделенным элементам управления один из предварительно заданных стилей
192
Часть III. Работа с данными в базе данных
3. В списке Форма - автоформат указаны предварительно заданные стили. Справа, в области предварительного просмотра, показан внешний вид формы после использования выбранного стиля. (Если щелкнуть на кнопке Параметры, в нижней части диалогового окна появится группа Атрибуты с флажками шрисрт, цвет и границы. Снимите флажки с тех атрибутов, которые не следует сейчас форматировать.) Ознакомившись с доступными опциями, щелкните на подходящем стиле, а затем — на кнопке ОК, чтобы применить выбранный стиль к форме.
Создание и настройка линий и прямоугольников Линии и прямоугольники, которые позволяют визуально выделить родственные данные в форме или акцентировать внимание на отдельном элементе управления, можно поместить в форму, воспользовавшись кнопками Линия и Прямоугольник панели элементов, В качестве примера создадим ограничивающую рамку для элементов управления формы Товары, соответствующих служебным полям Актуальность и ДатаРегистрации. Чтобы создать в режиме конструктора формы линию или прямоугольник, выполните следующее.
2
ы * IQ]
з.
Удостоверьтесь, что кнопка Мастера на панели элементов активизирована. Щелкните на инструменте Линия или (для нашего примера) Прямоугольник на панели элементов. Указатель примет вид, напоминающий пиктограмму выбранного элемента. Поместите указатель в то место формы, где должна начинаться линия или размещаться угол прямоугольника, щелкните левой кнопкой мыши и, удерживая ее, переместите указатель туда, где будет заканчиваться линия или находиться противоположный угол прямоугольника. На экране появится линия или прямоугольник (рис. 9.52).
Лекарственные препараты ^твиард. ' _ _ "
(Йянмеиовакнй
В*пиковит J 1*кар ["Ш?кцд5г форма 'сироп 150 мл
В,40грн
Даст
24.01.01
Рис. 9.52. Служебные поля формы ограничены прямоугольником. Оба поля логического типа в данном макете формы представлены флажками
Оформление линий и прямоугольников К таким элементам формы, как линии, прямоугольники или ограничивающие рамки группы переключателей, можно применить специальные эффекты форматирования. • Оформление ( и ). Для линии предлагается Обычное или Приподнятое оформление. Для прямоугольника — Обычное, Приподнятое, Утопленное, Вдавленное,
Глава 9. Создание и использование форм
193
Рельефное или Оформление с тенью. IE" F1|J lit юу голыми: Иромоугол1.ник35 Чтобы применить эффект оформления, |ПрямоугольникЗЗ ' щелкните на линии или прямоугольнике Макет „j Данные j События Другие j Bed I правой кнопкой мыши, выберите из отВывод на экран,.,.,, , Да крывшегося контекстного меню пункт Режим вывода Всегда От левого края 6,998см Оформление, а затем — подходящий вам От веохнего края г, 499см Ширина, ь,б98см вариант форматирования. Высота 1,799см Tin фона . Прозрачный Настройки для макета. На вкладке Макет Цвет фона. .,,.,..,., 16777215 диалогового окна свойств линии или Оформление , щелкнуть на каждом нужном элементе управления; в) перетащить указатель вокруг нужных элементов, заключая их в рамку; г) щелкнуть на вертикальной или горизонтальной линейке окна конструктора и, не отпуская левой кнопки мыши, перетащить указатель в нужном направлении. 7. Чтобы изменить высоту выделенного элемента управления, следует выполнить следующие действия: а) перетащить маркер изменения размера в середине верхней границы элемента управления вверх или вниз; б) поместив указатель на маркер перемещения выделенного элемента, перетащить его вверх; в) перетащить маркер изменения размера в середине нижней границы элемента управления вниз или вверх; г) удерживая нажатой клавишу <Shift>, воспользоваться клавишами или . 8. При отображении формы в режиме формы на экран выводятся следующие разделы: а) область данных; б) верхний колонтитул; в) нижний колонтитул; г) заголовок формы. 9. Специальный элемент управления Поле со списком позволяет следующее: а) выбирать данные только из фиксированного набора значений; б) в дополнение к списку возможных вариантов вводить новые значения; в) использовать значения из таблицы или запроса. 10. Элемент управления Кнопка позволяет выполнить следующие действия: а) напечатать текущую запись; б) создать новый элемент управления; в) запустить или закрыть приложение; г) просмотреть отчет. П. Порядок обхода элементов управления в форме можно изменить при следующих условиях: а) если в режиме конструктора поменять расположение элементов управления, переместив их на новые позиции;
196
Часть III, Работа с данными в базе данных
б) воспользовавшись средствами диалогового окна Последовательность перехода; в) изменив порядок следования полей в исходной таблице. 12. Чтобы изменить тип и размер шрифта для элементов управления в форме, следует выполнить такие действия: а) воспользоваться кнопкой Надпись панели элементов; б) воспользоваться инструментами панели Формат (форма/отчет); в) изменить значения соответствующих свойств элемента управления в диалогом окне Свойства; г) выбрать новый формат в диалоговом окне Автоформат.
Глава 9. Создание и использование форм
197
Глава 10
Ключи, связи и индексы таблиц В этой главе... 4 Определение связей между таблицами + Обеспечение целостности данных в базе Ф Редактирование и удаление связей между таблицами * Индексация данных ф
Многотабличные формы
4
Резюме
Ф Тесты
Определение связей между таблицами В главах 4, Реляционные базы данных и их планирование, и 6, Создание и модификация структуры таблицы, были даны определения таких важных понятий, как первичный ключ, внешний ключ и составной ключ, а также подробно рассматривался вопрос выбора первичного ключа для таблиц базы данных. Напомним, что в главе 4 был сформулирован основный принцип, позволяющий реализовать связь между реляционными таблицами: такая связь становигся возможной благодаря наличию в этих таблицах полей с совпадающими значениями данных. В роли таких полей в одной из таблиц выступает ее первичный ключ, в во второй таблице — так называемый внешний ключ. Согласовав значения первичного ключа одной таблицы и внешнего ключа второй, связанной таблицы, можно связать между собой две записи. Так, например, зная код поставщика, указанный в поле КодПоставщика (поле внешнего ключа) записи из таблицы Товары, благодаря механизму связей можно обратиться к таблице Поставщики и, отыскав в поле первичного ключа известный нам код, получить всю информацию, имеющую отношение к поставщику данного товара. Благодаря связям осуществляется процесс, обратный нормализации, в ходе которого выполняется "сборка" необходимой информации, хранимой в отдельных таблицах реляционной базы данных. Связи позволяют создавать формы, запросы и отчеты, в которых одновременно отображается логически связанная информация из нескольких таблиц. Связи устанавливают между таблицами отношения различных типов. Всего их четыре: "один к одному", "один ко многим", "многие к одному" (обратное к "один ко многим") и "многие ко многим".. Отношения — это способ объяснить программе Access, каким образом следует выполнять выборку информации из таблиц базы данных. Ниже приводится краткая характеристика основных типов отношений. • "Один к одному". Каждой записи первой таблицы соответствует одна (и не более) связанная запись второй таблицы (и, соответственно, наоборот). Такой тип отношений используется редко, так как фактически все данные могут быть помещены в одну таблицу. Он полезен, когда, например, целесообразно разделить одну громоздкую таблицу, содержащую множество полей, на две, в которых поля будут логиче-
ски сгруппированы. Другой вариант применения отношений такого типа — когда в отдельную таблицу выносятся сведения, имеющие статус критически важных или секретных. Кроме того, возможно использование отношений "один к одному" для хранения данных, которые относятся к подмножеству записей главной таблицы. Как правило, такая необходимость возникает, когда среди покупателей, сведения о которых хранятся в таблице Покупатели, есть и такие, у которых имеется юридический адрес, и расчет с ними должен происходить с учетом этих данных. В таком случае создается отдельная таблица, в которую включается поле КодПокупателя и набор полей, отличающихся от "адресных" полей таблицы Покупатели. "Один ко многим". Одна запись первой таблицы связана со множеством записей другой таблицы, однако одной записи второй таблицы не может соответствовать несколько записей первой таблицы. Например, один покупатель (одно значение первичного ключа в таблице Покупатели) может сделать несколько заказов (множество экземпляров этого же значения в поле внешнего ключа таблицы Заказы), но заказ с определенным кодом может быть оформлен только одним покупателем. "Многие ко многим", или непрямая табличная связь. В качестве примера рассмотрим отношение между таблицами Заказы и Товары. Каждой записи таблицы Заказы может соответствовать много записей таблицы Товары, так как при оформлении одного заказа можно вписать в него несколько лекарственных препаратов, а каждой записи таблицы Товары соответствует много записей таблицы Заказы, так как один и тот же товар может использоваться в нескольких заказах. На практике отношение "многие ко многим" реализуется через связующую таблицу. В нашем примере в роли связующей выступает таблица СодержаниеЗаказов, в которой первичный ключ является составным и включает первичные ключи первой и второй таблиц (КодЗаказа + КодТовара). Существуют условия, которым должны соответствовать типы данных связываемых полей. • Общие или связываемые поля должны быть одинакового типа. • Если оба связываемых поля имеют числовой тип, они должны иметь и одинаковые значения свойства Размер поля. • Поле с типом данных Счетчик можно, кроме того, связать с числовым полем, у которого свойство Размер поля имеет значение Длинное целое. Поскольку при проектировании базы данных Интернет-аптека сразу предполагалось, что все таблицы этой БД будут связаны между собой, рассмотрим в качестве примера создание таких связей. Первое, что необходимо сделать, создавая межтабличную связь, — это открыть окно Схема данных и добавить в него те таблицы, которые будут связаны. Окно Схема данных — это удобное и наглядное графическое представление связей для открытой базы данных, куда можно добавить таблицы, определить тип связи и установить параметры целостности данных между таблицами. |3|]
1. Откройте базу данных и выберите команду главного меню Сервис^ Схема данных или щелкните на кнопке Схема данных панели инструментов. Откроется диалоговое окно Схема данных. Если база данных уже открыта, убедитесь в том, что таблицы, для которых создается связь, закрыты. 2. В том случае если в окно Схема данных еще не добавлены никакие таблицы, сразу откроется диалоговое окно Добавление таблицы (рис. 10.1). (Если окно не появится, выберите команду Связи^Добавить таблицу или щелкните на кнопке Отобразить таблицу панели инструментов Связь.)
Глава 10. Ключи, связи и индексы таблиц
199
Рис, 10.1. Диалоговое окно Добавление таблицы отображает список объектов (например, таблиц на вкладке Таблицы), которые можно добавить в окно Схема данных
3. Дважды щелкните на имени таблицы (например, Заказы), которая должна быть включена в окно Схема данных (или щелкните на имени таблицы в списке, а затем — на кнопке Добавить). 4. Выполните шаг 3 требуемое число раз, чтобы включить в рабочую область окна Схема данных все необходимые таблицы. Затем щелкните на кнопке Закрыть. Для нашего примера таких таблиц будет четыре, и в итоге все они появятся в окне Схема данных в виде отдельных окон, где перечислены поля, содержащиеся в таблице (рис. 10.2).
-.jote
Производите |ЦеиаТсеара ^|
ш Рис. 10.2. В окне Схема данных теперь отображаются четыре таблицы базы данных Интернет-аптека Вид окна Схема данных можно настроить по своему усмотрению, так как таблицы после их размещения в этом окне имеют очень компактное предстаатение. Можно увеличить каждое из индивидуальных окон таблиц, чтобы видны были все их поля, а также расположить таблицы в более удобном порядке (рис. 10.3).
5. Создадим теперь связь между таблицами, .например Покупатели и Заказы. Как отмечалось ранее, это связь типа "один ко многим". Одна из таблиц называется родительской, или главной (общее поле КодПокупателя является в ней первичным ключом), а вторая — дочерней, или подчиненной (поле КодПокупателя в ней — это внешний ключ). Выберите таблицу, в которой общее поле выполняет роль первичного ключа (в нашем примере это таблица Покупатели). Щелкните на этом поле и, удерживая левую кнопку мыши, перетащите его на другую таблицу, поместив точно над тем полем, которое является общим (в таблице Заказы это одноименное поле КодПокупателя), как показано на рис. 10.4. Переместив поле, отпустите кнопку мыши.
200
Часть /Я. Работа с данными в базе данных
Наине новани еТсеэра Единии аИзмерения Производитель ЦенаТовара НаличиеТовара Актуальность ДатаРегкетрацич
КодЗжан КодТовара ЦенаТовара Количество Актуальность ДатаРегистрации
КодЗакаи Да таЗаказа КсдПокупателя Ht-иПо луча теля АдресПолучателя Т в пефонПолучателя ЭлАдресПопучателя СоетояниеЭаказа Актуальность ДатаРегис трении
ШЗЗТ нс т рационноеУМ) Пароле ИмяПокупателя и деве Телефон Электр онпьйА дрес Актуальность ДатаРегистрации
Рис. 10.3. Окна таблиц в диалоговом окне Схема данных теперь выглядят иначе Перетащите поле одной таблицы на соответствующее поле другой таблицы
Поле внешнего ключа таблицы Заказы
ДатаЗакэм КодПокупатеШШЭ"" ^яПолучателя йдресПолучаг епя ТелефонПолучателя ЭлДдсесПолуч ателя СостояниеЗаказа Актуальность ДатаРегистрации
Первичный ключ таблицы Покупатели Пароль ИмяПокупателя Адрес Телефон ЭпектронныйДдрес Актуальность ДатаРег петиции
Рис. 10.4. Перетащите ключевое поле одной таблицы (Покупатели) и поместите его над соответствующим полем другой таблицы (Заказы) Чтобы перетащить несколько полей, нажмите клавишу и, удерживая ее, щелкните на каждом из нужных полей.
6. После того как поле перенесено, появится диалоговое окно Изменение связей (рис. 10.5). В этом окне представлено несколько параметров. В верхней части окна отображены имена связываемых таблиц и их общие поля. Также в этом окне доступна опция обеспечения целостности данных (она подробно рассматривается в следующем разделе), с помощью которой обеспечивается корректность связи между таблицами. Если порядок связывания таблиц задан неверно, щелкните на кнопке Отмена окна Изменение связей и повторите шаг 5 заново. Если требуется изменить поле связи дня одной из таблиц, выберите его из раскрьшающегося списка, расположенного сразу под именем таблицы.
Убедившись, что параметры заданы корректно, установите связь между таблицами, щелкнув на кнопке Создать. В окне Схема данных между двумя связываемыми полями появится линия объединения (рис. 10.6).
Глава 10. Ключи, связи и индексы таблиц
201
Таблица/запрос:
К/-.'- * КодПокупатеяя
Связанная таблица/запрос:
"Ч--,'. ""'"'•—3 _~я .: . 1 "•ДКодПокупателя
Отмена
|
Объединение,.. ( Г Г" "Обеспечение целостности данных
}Г
•
'Г •
.
Тип отношения:
! од№нзмиоп-т
Рис. 10.5. Диалоговое окно Изменение связей позволяет определить параметры для создаваемой связи
КодЗакаэз КодПокупателя ИияЛолучатепя АдресПолучатегя! ТелефонПолучателя Э пА дресГЪ лучвтеля Сое тояниеЗак а за Дктуангность ДатаРегистрации
J
КодЛокупатеяя Регистра ц«01иоеИмя Пароль ИяяПокугителя Адрес Телефон Электроннь*)Адрес Актуальность ДатаРегистрации
Рис. 10.6. Таблицы Покупатели и Заказы теперь связаны между собой
7. Теперь необходимо повторить шаги 5-6 для каждой пары таблиц, которые необходимо связать между собой. Для нашего примера следует установить связь "многие ко многим" между таблицами Заказы и Товары. На практике отношение между таблицами такого типа реализовано посредством двух связей "один ко многим", а в роли связующей таблицы выступает созданная по правилам нормализации таблица СодержаниеЗаказов. Составным первичным ключом в ней является комбинация полей КодЗаказа и КодТовара, каждый из которых становится полем внешнего ключа. Поэтому на данном этапе следует определить связь типа "один ко многим" для каждой пары этих таблиц. # Товары и СодержаниеЗаказов. Общее поле у этих таблиц — КодТовара. Для установления связи необходимо перетащить это поле таблицы Товары на одноименное поле таблицы СодержаниеЗаказов. * СодержаниеЗаказов и Заказы. Общим полем является поле КодЗаказа. Следует перетащить это поле таблицы Заказы на одноименное поле таблицы СодержаниеЗаказов. Технические подробности Если в составном первичном ключе порядок полей должен отличаться от реального порядка полей в таблице, щелкните на кнопке Индексы на панели инструментов и укажите в открывшемся окне Индексы другой порядок следования полей для индекса PrimaryKey.
202
Часть III. Работа с данными в базе данных
В результате этих операций в окне Схема данных появятся еще две линии объединения (рис. 10.7). \ • i Схема Длины ч
КодТовара ЦенэТсвара Количества Актуальность ДатаРегистрацни
]ДатаЭакв>а ЖодПокупатели IИмдПолучателя ] А дресПолучателя Телеф опПолуча теля Эп АдресПолуча теля СостояннеЭакаэа Актуальность ДэтаРегнс трацни
КодПокупатми РегистрационноеИмя Пароль ^("Покупателя Адрес Телефон ЭлектроннэЙДдрес Актуальность ДатаРегис трацни
Рис. 10.7. В окне Схема данных отображены все связи между таблицами базы данных Интернет-аптека I 8. Сохраните созданные связи, щелкнув на кнопке Сохранить панели инструментов Связь или выбрав команду главного меню Файл ^Сохранить. (Программа Access предложит вам сохранить созданные связи и при закрытии окна Схема данных.)
Обеспечение целостности данных в базе Определяя связь между полями двух таблиц в диалоговом окне Изменение связей, мы впервые упомянули об опции Обеспечение целостности данных. Целостность данных — это система правил, регулирующих взаимодействие между связанными таблицами и обеспечивающих корректность хранимых в таких таблицах данных. База данных — весьма динамичный механизм с точки зрения обновления информации, и главная задача средств обеспечения целостности данных заключается в том, чтобы база данных постоянно содержала точную и актуальную информацию. Целостность данных подразумевает, что данные, введенные в общее поле двух связанных таблиц, должны совпадать. Как уже отмечалось, из двух связанных таблиц одна называется родительской, а вторая — дочерней, поэтому правильнее будет сказать, что данные, вводимые в поле внешнего ключа дочерней таблицы, должны совпадать с данными, хранимыми в поле первичного ключа родительской таблицы. "В фокусе" условий целостности всегда находятся ключевые поля связанных таблиц, поэтому при любых попытках их модификации программа Access автоматически проверяет их значения. Если такое изменение нарушает установленную между таблицами связь, выдается сообщение о нарушении целостности данных. Обязательными условиями поддержки целостности данных в приложении Access являются следующие. • Обе таблицы должны принадлежать одной базе данных. • Связанное поле родительской таблицы должно быть ключевым или иметь уникальный индекс (индексация данных рассматривается ннже). • Должно поддерживаться соответствие между типами связанных полей.
Глава 10. Ключи, связи и индексы таблиц
203
Рассмотрим правила, которые будут поддерживаться программой Access, если используются условия целостности данных. • В поле внешнего ключа дочерней таблицы нельзя ввести значение, не содержащееся в поле первичного ключа родительской таблицы. Таким образом, если попытаться указать в поле КодПокупателя таблицы Заказы код покупателя, о котором отсутствует запись в таблице Покупатели, при сохранении записи программа Access выдаст сообщение об ошибке. • Однако в поле внешнего ключа можно ввести значение Hull, чтобы показать, что данная запись не является связанной ни с какой другой записью родительской таблицы. Так, например, в поле КодПокупателя таблицы Заказы можно ввести значение Null для разовых клиентов Интернет-аптеки, информация о которых не заносится в таблицу постоянных покупателей (Покупатели). • Программа Access не позволяет удалить запись родительской таблицы, если в дочерней таблице имеются связанные с ней записи. Например, нельзя удалить из таблицы Покупатели сведения о покупателе, если в таблице Заказы имеются записи об оформленных им заказах. • Нельзя изменить значение первичного ключа в родительской таблице, если для данной записи существуют связанные записи в дочерней таблице. Например, если в качестве первичного ключа некоторой таблицы Товары используется числовое поле, то невозможно изменить код товара в этой таблице, если в связанной таблице Заказы существуют заказы, в которых фигурирует данный товар. При установленном флажке опции Обеспечение целостности данных рядом с полем родительской таблицы на связи появится символ "1", а рядом с полем дочерней таблицы -— символ перевернутой восьмерки. Таким образом в окне Схема данных будет отмечена связь "один ко многим" (рис. 10.8).
КмПгулпеля Регктсацио мнде Пароль ИпчПэк угитепя йдаес
Рис. 10.8. Для связей между таблицами обеспечивается целостность данных
Кроме того, при выборе опции обеспечения целостности в окне Изменение связей (см. рис. 10.5) доступными становятся еще две опции, которые позволяют активизировать автоматическое выполнение каскадного удаления и каскадного обновления данных. • каскадное обновление связанных полей. Когда флажок этой опции установлен, при любом изменении данных первичного ключа в родительской таблице (например, кода клиента в таблице Клиенты) автоматически будут обновляться соответствующие значения в поле связанной таблицы (поле КодКлиента таблицы Заказы). Благодаря внесению необходимых изменений в связанную таблицу целостность данных не будет нарушена. Если эта опция не включена, изменить значение ключевого поля первичной таблицы не удастся.
204
Часть III. Работа с данными в базе данных
В рассматриваемом нами примере для связи между таблицами Покупатели и Заказы устанавливать этот флажок не следует, так как поле КодПокупателя в таблице Покупатели имеет тип Счетчик. Если ключевое поле родительской таблицы— это поле счетчика, то нет смысла устанавливать флажок каскадное обновление связанных полей, так как значение поля счетчика изменить невозможно. Если поле первичного ключа таблицы участвует сразу в нескольких связях с другими таблицами, то для корректной работы базы данных флажок каскадное обновление связанных полей следует установить для всех связанных таблиц. •
каскадное удаление связанных записей. Когда установлен флажок этой опции, при удалении записи в родительской таблице автоматически будут удаляться все соответствующие записи в дочерней связанной таблице. Так, например, если попытаться удалить из таблицы Покупатели базы данных Интернет-аптека запись о конкретном покупателе, программа Access сначала удалит все связанные записи о заказах данного покупателя из таблицы Заказы (а кроме того, и все связанные с удаляемыми заказами записи в таблице СодержаниеЗаказов), а затем удалит исходную запись в родительской таблице Покупатели.
Если не включить эту опцию, Access не позволит удалить запись родительской таблицы при наличии связанных записей в дочерних таблицах. Чтобы все-таки разрешить эту проблему, придется сначала удалить все записи в дочерних таблицах и только потом — запись в главной таблице. Если поле первичного ключа таблицы используется сразу для нескольких связей с другими таблицами, то флажок каскадное удаление связанных записей следует установить для всех связанных таблиц. В нашем примере можно было бы установить флажок для данной опции, тем самым исключив возможность появления в таблице Заказы записей-сирот при удалении записей из таблицы Покупатели. Однако делать этого не стоит по двум причинам Вопервых, в таблице Заказы предусмотрено служебное поле Актуальность, и с его помощью запись можно "удалить" из таблицы. Во-вторых, — и это существенный момент — в реальной практике для связей между таблицами такого типа (например, Сотрудники/Заказы, Покупатели/Заказы, Клиенты/Счета) каскадное удаление не включается, так как информация о счетах или заказах, хранимая в связанных таблицах, сама по себе является критически важной для работы предприятия или банка.
Редактирование и удаление связей между таблицами Любая связь, установленная между таблицами, может быть отредактирована. Чтобы изменить существующую связь, выполните следующее. га 1. Если таблицы, между которыми необходимо изменить связь, открыты, закройте их, так как изменять параметры связи между открытыми таблицами нельзя. Ш 2. Удостоверьтесь, что окно требуемой базы данных открыто, и щелкните на кнопке Схема данных панели инструментов (или выберите команду главного меню Сервис^ Схем а данных). 3. В окне Схема данных дважды щелкните на линии объединения, которую необходимо откорректировать. Откроется диалоговое окно Изменение связей (см. рис. 10.5), в котором можно изменить опции связей между таблицами и настроить режим обеспечения целостности данных.
Глава 10. Ключи, связи и индексы таблиц
205
4. Внесите необходимые изменения и щелкните на кнопке ОК. После закрытия окна Изменение связей вы вернетесь в окно Схема данных Необходимость удалить межтабличную связь возникает, например, если вы хотите изменить тип данных поля, участвующего в связи. Поэтому прежде, чем выполнить такое преобразование, приходится удалить связь. Чтобы сделать это, следуйте таким инструкциям. I. Щелкните на требуемой линии объединения в окне Схема данных (линия при этом станет более жирной) и нажмите клавишу . Есть и другой способ: шелкните правой кнопкой мыши на нужной линии связи и выберите из появившегося контекстного меню команду Удалить. 2. На экране появится диалоговое окно Access, в котором вы должны будете подтвердить удаление связи (рис. 10.9). Для утвердительного ответа шелкните на кнопке Да. Mirtosofl (IfTirp Artr« t\
Подтнерпите удаление выделенной свеви из базы данмьи.
Рис. 10.9. Программа Access требует подтвердить удаление связи между таблицами Будьте внимательны, выполняя операции по обновлению или удалению связей в схеме базы данных, так как на их основе осуществляется выборка информации в запросах, формах или отчетах.
Индексация данных Как уже отмечалось, программа Access автоматически создает индексы только для первичных ключей. Однако индекс является мощным средством, обеспечивающим более эффективную работу с таблицами, поэтому остановимся на вопросах индексации подробнее. Индекс — это внутренняя служебная структура Microsoft Access, которая упорядочивает записи таблицы согласно некоторой схеме и выполняет роль "предметного указателя" для содержимого определенного поля (или полей). Аналогично тому, как нужные сведения в книге можно отыскать, заглянув в предметный указатель и сразу открыв требуемую страницу, Access осуществляет поиск запрашиваемых данных по индексу, обращаясь затем непосредственно к нужной записи, а не просматривая всю таблицу полностью. Индексы ускоряют поиск, сортировку и фильтрацию данных в таблицах. Поэтому, если часто приходится выполнять, например, сортировку по какому-либо полю, целесообразно создать для этого поля индекс. Индексы нельзя создать для полей с типом данных Поле MEMO, Гиперссылка или Поле объекта OLE.
В качестве примера создадим индекс для поля ДатаЗакаэа таблицы Заказы. Чтобы проиндексировать поле, выполните следующее. 1. Откройте таблицу в режиме конструктора. 2. Выделите поле, для которого необходимо создать индекс, щелкнув на кнопке выбора этого поля. 3. В области Свойства поля на вкладке Общие щелкните в поле ввода опции Индексированное поле.
206
Часть III. Работа с данными в базе данных
L*]
Справа от этой строки появится маленькая кнопка раскрывающегося списка. 4. Выберите из раскрывающегося списка одну из опций Да... (вариант Совпадения не допускаются, если содержимое поля должно быть уникальным для каждой записи, и значение Допускаются совпадения, если значения поля могут повторяться), как показано на рис. 10.10. ГИ Заказы -'таблица Имяпс.лй 9 КодЭаказа
НШБ! 1
КодПокупателя ИияПалучатепя АдресПолучателя Теле 4юнПо/1учат в ля ЭлАдр есПолучате ля Состс яниеЗака за Актуальность ДатгРегистрации
Тип данных Счетчик
Числовой Текстовый Текстовый Текстовый Текстовый Числовой Логический Дата/время
Г - ' Списание Идент™)»*атор заказа. Уникальное число, автоматически присванеленое ново § Идентификатор записи зарегистрированного покупателя в таблице Покупатет Контактное лицо, с которым должен садиться менеджер при вьголненин закл Адрес получателя (чокет ив совпадать с адресом покупателя). Телефон получателя. Адрес электронной почты получателя. Код текущего состояния заказа: 1 — оформляется, 2 — обрабатывается, 3 — в Служебное попе. Признак актуальности записи. Значения: "Да"/'Мет", Служебное попе. Дата соэдачия/иэменешя записи. Свойства полн
Общие
] Подстаи яка
Формат по ля Маска ввода Подпись Значение по улолчанню ИЯоеие на значение Обяиге льнов поле • 1*щексированное попе Режин1МЕ Оирт-теги
-1
'
Средний формат даты 9Э.99.00;0 Дата заказа 1
Индекс ускоряет поиск исорт>1рсек¥В • данчоп noiie, НС замедляет обновление. .
~г
Нет Я!
павторйющнхея значений, выберите • _»ачсмис "Да (Совпадения ие^
-
Inter | Да (Совпадения не допускаются!
HMfleKOpo&aHKtif полям наймите 1
Рис. 10.10. В режиме конструктора можно определить индекс по одному полю, задав для свойства Индексированное поле значение Да (Допускаются совпадения) или Да {Совпадения не допускаются) Поскольку в поле ДатаЗаказы значения могут дублироваться (в один день может быть принято любое число заказов), при индексировании этого поля следует выбрать опцию Да (Допускаются совпадения). 5. Чтобы сохранить изменения в структуре таблицы, щелкните на кнопке Сохранить панели инструментов Конструктор таблиц или выберите команду главного меню Файп^Сохранить. Для одной таблицы можно определить до 32 индексов, однако не стоит увлекаться созданием множества индексов, так как они замедляют ввод данных. Каждый рач при вводе новой записи, удалении существующей или модификации содержимого индексного поля требуется обновление индекса. В программе Access можно создать индексы как по одному полю (простой индекс), так и по нескольким полям (составной индекс). Составные индексы используются, например, с целью ускорить одновременную сортировку или поиск в нескольких полях. Если составной индекс создан для полей Фамилия и Имя, то при сортировке таблицы по такому индексу программа Access сначала сортирует записи по первому полю (Фамилия), а в том случае, если в таблице встречается несколько записей с одинаковыми значениями первого поля, выполняется сортировка по второму полю (Имя). ИЗ В отличие от простых индексов, составные индексы следует определять в специальном диалоговом окне программы Access. Окно Индексы (рис. Ю.П) позволяет просматривать, создавать или изменять индексы. Чтобы просмотреть список ин-
Глава 10. Ключи, связи и индексы таблиц
207
дексов таблицы, откройте ее в режиме таблицы и щелкните на кнопке Индексы панели инструментов. В окне Индексы можно определить для индекса и ряд других опций, например, порядок сортировки (по возрастанию или по убыванию).
КодТовара _ КолЗакэза + 1 ПИКОВИТ + 2 АУР06ИН 3 ВЕРОШПИРОН * 4 БИНПОЦЕТИН 5 ДОНАЛГИН
ШШ^Д
[Лекарственная форма! .Производитель L^ha |Налич|Акг^й Дата •сироп 150 мл 8.40грн. : т . и КРгС^ И '"0 -мазь 20 г втуб. №1 ; ГЕДЕОН РИХТЕР В.ВЗгрн. "' В табл:_25 мг №20 ГЕДЕОН РИХТЕР 6.57грн. ; Н табл. 5 мг Ма50 ГЕДЕОН РИХТЕР 19,39грн. 0 , капе 250 мг №30 ГЕДЕОН РИХТЕР 11^7грн. .п 30 мг №100 "БАЙЕР * б" нимртоп " 2Э9Д)грн. ; Н + 7 БЕРЕШ-ПЛЮС капли 100 мл БЕРЕШ 4^ЛВгрн. " ! Ж~ + ' 8.ФАЛИМИНТ дабл. №20 БЕРЛИН-ХЕМИ = б^Эгрн • * 9 ЗЕРОКОЛД 'табл. 1*200 6ИОМЕДИКЕЙР ; бз.согрн. ; п В \ 0,2Эгрн * 10 ДИМЕДРОЛ табл. 0.05 №10 БИОСТИМУЛЯТОР ; 0 ' + П АСКОРУТЙН табл. №10 БОРЩ^ГОВСКЙЙ ХФЗ 0,38грн. : табл. №20 ГАЛЕНА * : 12 СТОПТУССИН 7,14ГРН. : ; И _ + 'тЗЦИСТЕНАЛ 10мл ГАЛЕНА 5 ,33грч. • Н КАЛЕНДУЛЫ НАСТ 5D мл ГАПЫЧФАРМ 0 .81 грн. а + 1Б КОЛДФЛЮ табл. №200 ДЖЕНОМ 63.1ргрн. ; в'Г" + 17 ОКСЙКОРТ мазь 10 г ЕЛЬФА С.А 5,71гр«. а ;' 'Н ' *, 1ВАСКОПАР табл. №10 ЗДОРОВЬЕ ФАРМФИРМА 0,Э2грн. 0! + 19АСПАРКАМ .табл. №50 ЗДОРОВЬЕ ФАРМФИРМА 1 ,26грн. сироп 100 мл * 20 КЕТОТИФЕН ЗДОРОВЬЕ ФАРМФИРМА 4,73грн. ; ! 0 * " 21 НИСТАТИН ЗДОРОВЬЕ ФАРМФИРМА "бООт.вд. №20 " 3.85грн. В * 77 НПРФППКГАИИН П 4 ЫаШ ЧЛОРПНКР ФАРМФИРМА JLJ.»*| из 129 -. • : M'*iro 129 " . JJ ^ » *
В9 ФЕСТАЛ 6 НИМОТОП
Цена -"М 1Э.87грн 239.00грн. 7,ЭОгрн. 1 1 ,43грн. 56.90грн. 44,08грн. 16.20грн. 5,19грн. 57.18грн. Д2,94грн. 1Э.ЭЗгрн 9 ,60грн 6.19ФИ. 9,44грн. .11,53грн. 5,00грн. 6,26грн. 30,16грн. 31,!2грн 72,74грн. 11 ?Ягпн
,
;
0
г в
§j»j д
и п
16-И1
И
10-и(Я
и ' 0 0 в
и 0 в 0 п
0 :
0 0""0 0
В " "0
и
в
0
'В i
0 в 0 в " 0 В
в
0
этарегисИ 13-м
:
в" 0 в 0 в и! 0 в
10-И1 10-И1 22-г 16-н 20-И1 !
13-г ; 13: 15- = 15- j 15-
15- ;
15- 'i 15- •• 31 -ш. 31 -и 31-UHJ
31-И1!| 31 -ис]
2J
Рис.11.6. Записи таблицы Товары отсортированы в порядке возрастания по полю Производитель Если возникает необходимость отсортировать числа, которые хранятся в полях текстового типа, следует помнить о том, что программа Access воспринимает эти значения как строки символов. Поэтому условием корректной сортировки таких значений является их одинаковая длина (для сравнения таких "чисел", как. например, 2 и 11, следует дополнить строковое представление числа 2 незначащим нулем: 02). 3. Чтобы восстановить первоначальный порядок размещения записей в таблице, выберите команду главного меню Записи^Удалить фильтр. Технические подробности Командой Сортировка можно воспользоваться и при просмотре в режиме таблицы связанных записей из подчиненной таблицы. Чтобы отсортировать связанные записи, выберите нужное поле дочерней таблицы, а затем щелкните на кнопке Сортировка по возрастанию или Сортировка по убыванию. На рис. 11.7 связанные записи дочерней таблицы СодержаниеЗаказов, которые можно просмотреть в окне открытой родительской таблицы Заказы, отсортированы в порядке возрастания по полю Цена.
Фильтрация данных Рассмотренная выше функция сортировки позволяет только упорядочить записи таблицы, например по дате регистрации заказов, при этом в окне таблицы попрежнему будут отображены все записи. Чтобы просмотреть заказы за определенный
222
Часть Iff. Работа с данными в базе данных
день, вам придется воспользоваться полосой прокрутки и работать с этими записями наряду со всеми остальными. Такая возможность программы Access, как фильтрация, позволяет выделить группу записей (например, за определенный день), благодаря чему вы можете сосредоточить свое внимание исключительно на требуемых вам данных. г~ЕТЧ9ЧИ!Т;ЛЧ?^НН^ВНВН1ЯНННИ^^В^МННН1МНВВ@Ш^^Н^^ВШ^^^ВШ1^&^£Ш^:: ' (ni X ' Код заказа] Дата заказа |Код лш| Имя получателя) Адрес получателя | Телефон Электронный адрес] С +•[ * 14 14-ИЮЛ-2001 12 Андрейченко И.Е ул. Бассейная 3 кв. 15 ip44) 221-5413
[email protected] *___ 15 02-авг-2001 13 Петровский И.А ул. Саксаганского 88 к (044) 2294571 pelrovsky@mail ш +" 16 Ю-авг-2001 14 Половцев Д.С. ул. Потапова 45 кв. 70 (044) 443-3491 polovtse^maii ru +; 17 17-авг-2001 15 Валерианов С.А ул. Герцена 23 кв. 15 (044) 224-1816
[email protected] 16 24-авг-2001 КупченкоА.В. ул Кутузова 15 кв. 25 (044)296-3451 Код товара Цена -| Количество | Актуальность ! ДатаРегнетрации 95 ЯШЗ 5 И 24-аег-2001 94 " ЭЭЭгрн. 10В 24-аег-2001 40 15,94грн. 5 В 24-аег-2Ю1 54 59.86грн. ' " ~3| И """ 24-аег-2001 : 16 63.40грн. 2! 24-авг-2001 7Э: 72,74грн. 5 И " 24-аег-2001 6i 2Э9,ООгрн. 1! 0 24-авг-2001 ; •0 • 19 25-аег-2001 1 Тимофеев А С. уя Верхняя 12 кв. 27 (044) 412-4523
[email protected] иа '. 20 ОЗ-сен-2001 2ГорцинВ.П. уя Радужная 13 кв. 8' (044)542-1823 gorc@rrail ru 21 Ю-окт-2001 3 Васильева Н И. ул Петровского 23 кв (044) 228-2030
[email protected] •, За 11' С j
Рис. 11.7. Записи дочерней таблицы СодержаниеЗаказов отсортированы в порядке возрастания по полю Цена
Говоря обобщенно, основная задача фильтрации — выделить из таблицы поднабор записей, соответствующих некоторому заданному критерию отбора. Примерами использования фильтров могут служить список фирм-поста вши ков из одной страны, список видеофильмов по одной тематике, список товаров определенных категорий и т.д. Записи, которые не соответствуют критерию фильтра, временно скрываются из поля зрения пользователя. Хотя фильтры могут применяться в таблицах, формах и запросах, далее работа с ними рассматривается на примере таблиц. Существует несколько способов фильтрации при работе с записями таблицы: поле Фильтр для, команда Фильтр по выделенному, так называемый фильтр по форме (команда Изменить фильтр) и использование расширенного фильтра. Поле Фильтр для, которое доступно в контекстном меню любого столбца таблицы, используется, чтобы быстро отфильтровать записи по конкретному значению или выражению, вводимому для текущего поля. Команда Фильтр по выделенному помогает быстро решить задачу фильтрации, если в поле таблицы можно легко найти и выделить то значение, которое станет условием отбора. Фильтр по форме позволяет в удобном диалоговом окне указать сразу несколько условий отбора. Для создания сложных фильтров следует использовать расширенный фильтр.
Поле Фильтр для Поле Фильтр для позволяет быстро выделить записи, удовлетворяющие некоторому критерию фильтрации, заданному по одному полю. В качестве примера выполним в таблице Товары отбор записей о товарах, цена которых превышает 100 грн. Чтобы использовать для этих целей поле Фильтр для, выполните следующее. 1. Откройте таблицу, в которой необходимо выполнить поиск, в режиме таблицы и щелкните правой кнопкой мыши на нужном поле (например, поле Цена). Появится контекстное меню, в котором содержится поле Фильтр для.
Глава 11. Поиск, сортировка и фильтрация данных
223
2. Введите в поле Фильтр для требуемый критерий фильтрации. Таким критерием может быть как конкретное значение, так и некоторое выражение. Для нашего примера необходимо ввести условие >100, как показано на рис. 11.8. 1 It Товары : габякца
AjMBi
| Код | Наименование * * ...
[Лекарственная- форма сироп 150 мл мазь 20 г в туб. №1 табл. 25мг №20 табл. 5 мг №50
• ПИКОЗИТ 2 АУРОБИН 3 ВЕРОШПИРСН Л ВИНПОЦЕ7ИН
8 ФАЛИМИНТ 9 ЗЕРОКОЛД 10.ДИМЕДРОЛ 1 1 АСКОРУТИН 12 СТОПТУССИН 13 ЦИСТЕНАЛ 14 КАЛЕНДУЛЫ НАСТ 16 КОЛДФЛЮ 17 ОКСИКОРТ *(1
II г-.1Г/-\--1 л п
Запись; И| < \\
1 _>_
ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР
капли 100 мл табл. N220
БАЙЕР БЕРЕШ БЕРЛИН-ХЕМИ
та 5л №200 табл. 0.05 №10
5ИОМЕДИКЕЙР БИОСТИМУЛЯТОР
30 мг №100
6 НИМОТОП 7 БЕРЕШ-ПЛЮС
| Производитель КРКА
табл. Na1Q
БОРЩАГОВСКИЙ хо:
табл. Ne20
ГАЛЕНА ГАЛЕНА ГАЛЫЧФАРМ ДЖЕН ОМ
10 мл 50 ил :таВл. №200 !маэь 10 г --С-
Мр.*П
LtUi±l«»
12Э
ельФА с. А
и
1
->П.-.П^»Г1* Г
*** * П»ЯрТ%Г'
1 lei. a
!Нялич{АкгЦ Д а т а j^i"^riL.w . лл_д1.г,:юа 8,4Сгрн . _И_____га 8,ВЭфн £; Фильтр по выдвпе*ному Б.5_7фн --. Искпщ^ть вь.леленпов |s 1Э,39фн
Фи*й£дда:-!>1Ю1
|:
'•& делить Лш фильтр 23Э.ООфн 44.08ФН §t"; Сортировка по воямсташю
':
5,19фн g4 Сортировка го убывание 53,00фн „; " 0.23ФН 0,Э8грн Чй- Коп^ооать 1 L 7,14грн 5,ЭЗгрн £ot CM 0,В1фн БЗ.ЙОгрн 5.71грн |__НГГН
Ш t-'j- -'
f
,-
-v
1ьЛ
^J__^_
l»^l
: * "-
"
• '
•:
07-иш-200 ^ \
_
п»
-»-^-> .T.l
^J
Рис. 11.8, Указав условие поиска для поля Фильтр для, можно быстро отфильтровать записи таблицы по значениям текущего поля
3. Нажмите клавишу <Enter>, чтобы выбрать команду Фильтр для. Теперь в таблице будут отображены только те записи, которые удовлетворяют заданному условию отбора. Щ 4. Чтобы удалить фильтр, щелкните на кнопке Удалить фильтр (она активизирована на панели инструментов Таблица в режиме таблицы) или выберите команду главного меню Записи^Удалить фильтр.
Фильтр по выделенному Еще один способ фильтрации данных, команда Фильтр по выделенному, находит в таблице те записи, которые соответствуют некоторому выделенному фрагменту данных таблицы. Поэтому первое, что необходимо сделать, используя фильтр по выделенному, — это найти в таблице запись, в поле которой содержится значение, принимаемое в качестве критерия отбора. Так, возвращаясь к примеру, рассмотренному в разделе Сортировка данных, чтобы отфильтровать записи о лекарственных препаратах по конкретному производителю, следует найти в таблице Товары запись, у которой в поле Производитель указано, например, значение БЕРЛИН-ХЕМИ. Итак, чтобы применить фильтр по выделенному, выполните следующее. 1. Щелкните на столбце, по которому будет выполняться фильтрация, и прокручивайте его до тех пор, пока не найдете ячейку с нужным значением. (При необходимости примените операции поиска или сортировки.) Для нашего примера следует найти любую запись, у которой в поле Производитель содержится значение БЕРЛИН-ХЕМИ. 2. Выделите в ячейке те данные, которые должны присутствовать и в полях результирующего набора записей (т.е. строку БЕРЛИН-ХЕМИ). g] 3. Щелкните на кнопке Фильтр по выделенному панели инструментов или выберите команду главного меню Записи^Фильтр^Фильтр по выделенному.
224
Часть III. Работа с данными в базе данных
Записи исходной таблицы будут отфильтрованы, и в окне таблицы появятся только те из них, которые имеют в указанном поле значение, совпадающее с выделенным образцом (рис. 11.9). Обратите внимание, что в строке состояния окна таблицы справа появился индикатор ФЛТР. Кроме того, кнопка Применение фильтра теперь активизирована и имеет другое название — Удалить фильтр. 1И Microsoft Access Файл
Qua.
Правка
Вставка
е ФАЛИМИНТ 91 БЕРЛИТИОН 92:БЁРЛИТИОН ! 93 ЛИСТОМ " 94 МАНИЛ И Н 95 МАНИЛИН 96 ФАСТУМ 97.ФАСТУМ 98 ЭСПУМИЗАН
Формат
Записи
С&юие
Цкло
Справка
табл №20 .табл. 3DO мг№30
5,19гри. 57.16грн."
БЕРЛ_ИН-ХЕМИ 300edaMn. 12мл N95 БЕРЛИН^ЕМИ 1000 гель 50 г БЕРЛИН-ХЕМИ "табл. 35 мг N2120 БЕРЛИН-ХЕМИ ,табл. 5мг №120 БЕРЛИН-ХЕМИ •БЕРЛИН-ХЕМИ ; гель 30.0 _ .БЕРЛИН-ХЕМИ гель 50,0 ;капс. Na25 БЕРЛИН-ХЕМИ
1Э,ЭЗгрн. 9.60ФН.
а,19грк.
3.44ФН. 11.5Эгрн"
20-ИЮН-2002 13-381-2002 1Э-ЭВГ-2002 15-аег-2002 15-авг-2002 15-авг-2б02 1Б-авг-2002 15-aer-2fXI2 15-авг-2С02
(Счетчик) Зэткы н Имя производителя.
ФПТР
HUM
Рис. 11.9. Фильтрация для таблицы Товары выполнена по выделенному значению в поле Производитель Технические подробности
Критерием поиска при использовании фильтра по выделенному могут служить HI: все значения поля иеликом, а лишь ряд символов или, наоборот, несколько выделенных ячеек. Результат фильтрации зависит от того, какие данные выделены в качестве образца. •$• Ряд символов в начале (в конце) поля. Результирующими будут записи, в которых начальные (конечные) символы текущего поля совпадают с выделенным образцом. Например, выделив начальный символ Б в имени фирмы-производителя в поле Производитель какой-либо записи таблицы Товары, можно просмотреть записи обо всех производителях, название фирмы которых начинается с буквы в. Несколько смежных ячеек одной записи. Результирующими будут записи, в которых значения всех соответствующих полей совпадают с выделенными значениями (простейшая форма реализации условий с логическим оператором And (Логическое И)). Предположим, что в одной из записей некоторой таблицы Продукты в смежных полях Поставщик и Тип содержатся значения Petrova, Ltd. и Кондитерские изделия. Выделив эти смежные ячейки и применив фильтр по выделенному, можно получить сведения обо всех кондитерских изделиях, поставляемых фирмой Petrova, Lid. •Ф- Несколько смежных ячеек одного поля. Результирующими будут записи, в которых значение соответствующего поля совпадает с одним из выделенных значений (простейшая форма реализации условий с логическим оператором Or (Включающее ИЛИ)). Так, выделив блок из трех смежных ячеек поля Производитель таблицы Товары (например, значения БАЙЕР, ЕЕРЕШ и БЕРЛИН-ХЕМИ), в результате применения фильтра по выделенному можно отобразить сведения о товарах трех этих фирм.
Глава 11. Поиск, сортировка и фильтрация данных
225
fe 1авары ; габлиц-а 1 Кед | ЬДаименовэние 1 2 3 4
ПИКОВИТ АУРОБИН ВЕРОШПИРОН ВИНПОЦЕТИН
5ДОНАЛГИН 6 НИМОТОП
_
7 БЕРЕШ-ПЛЮС 8 ФАПИМИНТ 9 ЗЕРОКОЛД
Проиэеояитель сироп 150 мл
КРКА
мазь 20 г в туб. Нз1 табл. 25 мг №20 "табл. 5 мг №50" 'капе 250мгИзЗО Э0мг№100
1ГЬТ
ГЕДЕОН РИХГЁ "'^ ^
Р"°выдме»«иу
ГЕДЕОН РИХТВ[-=_2_ Щй&^ъ выдвп«июе ГЕДЕОН РИХТЕ: " ^пьтрдля БАЙЕР БЕРЕШ БЕРЛИН-ХЕМИ I* Ссртировкапоиограстанию
капли Тш мл табл. Ыа20 "таВл" №200 .табл. 0,05~№l6 ;табл. №10 'табл. №20
БИОМЕДИКЕЙР ^ I Сортировка по убывание БИОСТИМУЛЯТ
10 ДИМЕДРОЛ 11 АСКОРУТИН 12 СТОПТУССИН 13 ЦИСТЕНАЛ 10 мл 14 КАЛЕНДУЛЫ НАС 50 мл 16 КОЛДФЛЮ таВл №200
БОРШАГОВСКИ f ГАЛЁНА !^* Копировать ГАЛЕНА
ГАЛЫЧФАРМ ДЖЕНОМ
12-марU-arip-2002 27-апр-2002 Оз-дек-2002 16-итл-2002 22-авг-2002 20-июн-2002 ЗО-оет-2002 02-фев-2002 14-май-2002 15-мар-2002 27-дек-2002 11-сен-2002 2Э-ЯНВ-2002
~г » 1_и|>*|м 1Z9 Рис. 11.11. Команда фильтрации Исключить выделенное позволяет исключить из таблицы записи, соответствующие выделенному образцу
Чтобы применить фильтр по форме, выполните следующее. 1. Откройте таблицу в режиме таблицы. 2. Щелкните на кнопке Изменить фильтр панели инструментов или выберите команду Записис>Фильтр^>Изменить фильтр. На экране откроется окно фильтра по форме, которое позволяет указать условия отбора записей при фильтрации (рис. 11.12). При открытии окна фильтра по форме под главным меню появляется новая панель инструментов Фильтр, в строке состояния программы Access выводится надпись Режим формы, а кнопка раскрывающегося списка находится в том поле, которое было активным непосредственно перед открытием этого диалогового окна. 1Б MttfOiolt Access - [Товары: фильтр] Фидьтр
СЕРВИС.
X
Окно
Сшивка
V
Наименование | Лекарствен на a~iформа [7 Протоеодитель ]
Цвка
| Налич|Акгуд ГДата регистрации
Рис. 11.12. При открытии окна фильтра по форме на экране появляется новая панель инструментов — Фильтр
гл
3. Чтобы задать условие отбора, перейдите к нужному полю и щелкните на нем. В правой части поля появится знакомая кнопка раскрывающегося списка. Щелкните на этой кнопке и выберите из списка искомое значение. Для нашего примера следует переместиться в поле Производитель и выбрать из списка пункт БАЙЕР (рис. 11.13). Программа Access автоматически заключает выбранное значение в кавычки. В диалоговом окне фильтра по форме условия отбора можно также вводить с клавиатуры или указывать с по.мошью выражений.
Глава 11. Поиск, сортировка и фильтрация данных
227
Вереш берлин-хеми биогал БИОМЕДИКЕЙР биостимулятор йсрщзгсбский хфэ
Рис. 11,13. В окне фильтра по форме установите условия отбора, воспользовавшись раскрывающимися списками или вводя значение прямо в поле
4. Повторите шаг 3, если необходимо задать для фильтра дополнительные условия отбора. В этом случае фильтрация будет производиться по значениям нескольких полей, и результирующими будут лишь те записи, в которых каждое из этих полей содержит заданное значение. Так, чтобы выполнить первую из операций фильтрации (выбрать записи о товарах указанной фирмы, стоимость которых превышает 50 грн), следует в поле Цена ввести >50, как показано на рис. 11.14.
Код Наименование 1 Лекарственна^форма| Производитель
Рис. 11.14. Б окне фильтра по форме критерий поиска включает два условия: для поля Производитель и поля Цена
5. Щелкните на вкладке Или, расположенной в левом нижнем углу окна фильтра, если необходимо указать альтернативный критерий поиска. Откроется новый бланк фильтра, в котором следует выполнить шаги 3-4, чтобы указать значения для нового набора условий поиска. Программа Access комбинирует критерии, указанные на отдельных вкладках, с помощью логического оператора Or (ИЛИ). При вводе нового критерия на вкладке Или внизу окна добавляется следующая аналогичная вкладка. Для нашего примера следует указать два условия поиска; для поля Производитель (фирма ГЕДЕОН-РИХТЕР) и Цена (>50), как показано на рис. 11.15.
Рис. 11.15. Чтобы указать альтернативный критерий поиска, воспользуйтесь вкладкой Или
225
Часть Ш. Работа с данными в базе данных
Если при формировании критерия поиска допущена ошибка или возникла необходимость начать весь процесс работы с бланком фильтра сначала, ранее введенные в бланк условия можно отменить. [X] •*• Если необходимо сразу удалить все предыдущие условия фильтрации (включая указанные на вкладках Или), щелкните на кнопке Очистить бланк панели инструментов Фильтр или выберите команду главного меню Правка ^Очистить бланк. Сохранить как запрос. Откроется небольшое диалоговое окно сохранения. 3. Введите имя, под которым будет сохранен новый запрос, и щелкните на кнопке ОК. В дальнейшем воспользоваться им можно будет, открыв вкладку Запросы в окне базы данных.
Расширенный фильтр Последняя и самая мощная по своим возможностям команда фильтрации — это Расширенный фильтр, который вполне можно рассматривать как некое промежуточное звено между простыми операциями поиска и упорядочения данных в таблицах и настоящими запросами, созданию которых посвящены следующие главы этой книги. Однако уже сейчас подробное знакомство с последовательностью действий при использовании команды Расширенный фильтр может дать первоначальное представление о том, как в программе Access создаются подлинные запросы. При всех своих преимуществах расширенный фильтр остается, тем не менее, фильтром и не позволяет, например, производить анализ данных одновременно из нескольких таблиц, ука-
Глава 11. Поиск, сортировка и фильтрация данных
229
зывать поля, которые будут отображаться на экране для результирующего набора записей, а также выполнять вычисления на основе значений полей. Для построения расширенного фильтра используется специальный инструмент — конструктор, доступный с помощью команды главного меню Записи^ Фильтра Расширенный фильтр. Окно конструктора выглядит аналогично представленному на рис. 11.17. Как несложно догадаться, фильтр применяется к таблице Товары и отображает в результирующей таблице записи о товарах, стоимость которых превышает 20 (грн). В верхней области окна конструктора расположен список полей, в котором перечислены все поля текущей таблицы. Нижняя панель окна — это бланк, в который вносятся условия отбора записей при применении расширенного фильтра.
КодТовврс) НаименоваииеТ овара ЕдиницаИялерения Производитель ЦенаТовара НэлнччеТовара Актуальность ДатаРегистрации
Попе: Псокзвплитель Сортировал: по возрастанию Условие отбора:
ЦенаГовара
»
,*
• ;5
ИЛИ!
-
-
••
«LJ Рис. 11.17. Окно конструктора расширенного фильтра
В качестве примера создадим расширенный фильтр, который формировал бы список товаров стоимостью более 50 грн, зарегистрированных в период с 15 марта по 15 сентября 2002 года. Чтобы построить простейший запрос (или расширенный фильтр), выполните следующее. |Щ 1. Откройте таблицу в режиме таблицы. \^ 2. Выберите команду главного меню Записи^Фильтр^Расширенный фильтр. На экране появится диалоговое окно конструктора расширенного фильтра. (Если в бланке фильтра уже указаны какие-либо условия выбора (сохраненные программой Access для ранее применявшегося фильтра), удалите их, выбрав команду главного меню Правка^Очистить бланк.) |Т| 3. Щелкните в первой ячейке строки Поле нижней панели окна. В правой части выбранного поля появится кнопка раскрывающегося списка. Щелкните на этой кнопке и выберите из списка нужное имя поля, по которому будет задано условие отбора. Для нашего примера следует выбрать поле ЦенаТовара, как показано на рис. 11.18. Программа Access поместит название выбранного поля в текстовое поле Поле. Название поля, по которому будет выполняться фильтрация, можно переташить из списка полей таблицы, расположенного в верхней области окна конструктора, или дважды щелкнуть на имени поля в этом списке.
4.
230
Если результирующие записи необходимо отсортировать по выбранному полю, щелкните в поле Сортировка этого же столбца и выберите из раскрывающегося списка пункт По возрастанию или По убыванию.
Часть III. Работа с данными в базе данных
.=10x1
Товары Obi ль rpl; фияыр
КодТовара НанменоеаниеТ овара Единицам з мере ни я Производитель
iLJ -Г. Условие отбора; или;
Тоегры.' * Ко дТ свара Наиненов анчеТ ов Е диншаи з иерет Производитель
----- •••
-t !
:
-
-----
.
р| :
:
идяияни^и
ЧапичиеТовара Актуальность
«и
*
±г
Рис. 11.18. В окне конструктора фильтра условие отбора будет задано для поля ЦенаТовара
5. Щелкните в поле Условия отбора и введите нужное значение или выражение. В нашем примере следует ввести >50. 6. Чтобы ввести альтернативные условия поиска (объединенные логическим оператором Or (ИЛИ)), щелкните на поле Или, расположенном ниже поля Условие выбора, и укажите дополнительное условие. Каждая новая строка позволяет ввести еще одно условие Или. 7. Чтобы задать условия отбора для нескольких полей, повторите шаги 3—6. Для нашего примера следует выбрать имя поля ДатаРегистрации и указать критерий отбора записей. В данном случае таким критерием станет выражение >#15.03.Q2# And *15.03.02* And
Рис. 11.19. В окне расширенного фильтра указаны условия отбора для полей ЦенаТовара и ДатаРегистрации
Fg 8. Когда все условия отбора заданы, щелкните на кнопке Применение фильтра, расположенной на панели инструментов Фильтр, или выберите команду Фильтр^Применить фильтр. В окне таблицы появится результат применения расширенного фильтра (рис. 11.20).
Глава 11. Поиск, сортировка и фильтрация данных
231
[Код Т Наименование 54 КАЛИПСОЛ 89 МИКОСПОР 91 БЕРЛИТИОН 73 ИЗОПРЙНОЗИН 6 НИМОТОП гчик'
I Лекарстаемная форма фл. 50 мл 500 мг№5 крем Юмг/г 15 п табл. 300 мг №30 габл. 500 мг №50 30мг №100
ГЕДЕОН РИХТЕР БАЙЕР БЕРЛИН-ХЕМИ БИОГАЛ БАЙЕР
57.13грн 72,74грн 239.00грн
29-злр-2002 10-ИЮЛ-2002 13-аег-2002
Рис. 11.20. Результаты использования расширенного фильтра: в таблице отображаются отсортированные записи о товарах стоимостью более 50 грн, зарегистрированные в базе данных в указанный период времени
Как и фильтр по форме, расширенный фильтр можно сохранить в виде запроса, воспользовавшись командой главного меню Файл^Сохранить как запрос. Чтобы вернуть записи таблицы к первоначальному виду, щелкните на кнопке Удалить фильтр панели инструментов Таблица в режиме таблицы или выберите команду главного меню Записи ^Удалить фильтр.
Резюме В данной главе были затронуты вопросы поиска, сортировки и фильтрации данных в таблицах Microsoft Access. Быстрый поиск и замену данных можно выполнить с помошью команд Найти и Заменить, доступных в диалоговом окне Поиск и замена. В программе Access предусмотрены различные средства сортировки и фильтрации, с помощью которых можно, не обращаясь к механизму запросов, настроить отображение нужных сведений в таблице. Так, воспользовавшись кнопками Сортировка по возрастанию и Сортировка по убыванию, можно быстро изменить порядок следования записей в таблице. Сортировка записей с помощью этих команд позволяет упорядочить записи по одному или нескольким смежным полям. Чтобы выделить из всех записей таблицы только те, значения полей которых удовлетворяют определенным условиям, в программе Access применяется несколько способов фильтрации: поле Фильтр для (работает по одному полю), команда Фильтр по выделенному (выделить можно часть содержимого поля или всю ячейку) и фильтр по форме (критерии отбора можно ввести в пустой "бланк" фильтра, отображающий структуру таблицы). Самый мощный инструментарий, близкий по своим возможностям к настоящим запросам, — это так называемый расширенный фильтр, с помощью которого можно указать порядок сортировки нужных полей в результирующей таблице, а также ввести в качестве условия отбора не только значения полей, но и сложные выражения, включающие логические операторы. Знакомство с расширенным фильтром — это последний шаг на пути к освоению запросов, тем более что сохраненный в виде запроса расширенный фильтр вполне может стать основой для построения полноценного запроса. .
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
232
Часть lit. Работа с данными в базе данных
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Вызвать диалоговое окно Поиск и замена можно следующим способом: а) выбрать команду главного меню Правка^Найти; б) воспользоваться комбинацией клавиш ; в) щелкнуть на кнопке Найти панели инструментов; г) воспользоваться комбинацией клавиш . 2. Чтобы заменить все вхождения строки 5 0 ш т . на Ы'50, следует выполнить следующее: а) воспользоваться поисковыми средствами вкладки Поиск диалогового окна Поиск и замена; б) щелкнуть на кнопке Заменить все вкладки Замена диалогового окна Поиск и замена; в) выбрать из раскрывающегося списка опции Совпадение пункт С любой частью поля. 3. При открытии таблицы ее записи отображаются на экране в таком порядке: а) в порядке, определяемом индексом, который создан на основе первичного ключа таблицы; б) в том порядке, в котором записи вводились в таблицу; в) упорядоченными по первому полю таблицы. 4. Чтобы выполнить сортировку записей таблицы по двум полям, необходимо следующее: а) отсортировать записи сначала по первому полю, а потом — по второму; б) если эти поля не располагаются рядом, сделать их смежными, соблюдая правильный порядок следования, затем выделить их и выполнить сортировку; в) отсортировать записи сначала по второму полю, а затем — по первому; г) если поля являются смежными, проверить порядок их расположения, а затем выделить их и выполнить сортировку. 5. Чтобы отобразить все записи таблицы, у которых значение одного из полей соответствует некоторому конкретному образцу, необходимо следующее: а) выбрать команду главного меню Правка^ Найти; б) щелкнуть правой кнопкой мыши на нужном поле и воспользоваться полем Фильтр для, которое содержится в открывшемся контекстном меню; в) выделить искомые данные в одной из ячеек указанного поля и применить фильтр по выделенному; г) задать критерий поиска в указанном поле диалогового окна фильтра по форме и щелкнуть на кнопке Применение фильтра. 6. При использовании фильтра по выделенному в качестве критерия поиска можно выделить следующее: а) все содержимое ячейки столбца; б) несколько последних символов значения поля; в) две произвольных ячейки одной записи; г) несколько смежных ячеек одного поля таблицы; д) две произвольные ячейки одного поля.
Глава 11. Поиск, сортировка и фильтрация данных
233
7. Чтобы задать условие отбора в диалоговом окне фильтра по форме, следует выполнить такие действия: а) выделить нужную ячейку в строке бланка; б) выбрать искомое значение из раскрывающегося списка нужного поля; в) ввести конкретное значение с клавиатуры; г) указать критерий отбора в виде выражения. 8. Чтобы удалить из окна фильтра по форме все ранее введенные условия отбора, следует выполнить следующее: а) выбрать команду главного меню Правка ^Удалить вкладку; б) щелкнуть на кнопке Очистить бланк панели инструментов Фильтр; в) щелкнуть на кнопке Удалить фильтр панели инструментов Таблица в режиме таблицы или выбрать команду Загшси^Удалить фильтр; г) выбрать команду главного меню Правка^Очистить бланк. 9. Выбрать поле, по которому будет задано условие отбора для расширенного фильтра, можно следующими способами: а) щелкнув на ячейке строки Поле нижней панели окна конструктора и выбрав из раскрывающегося списка имя нужного поля; б) перетащив в бланк фильтра имя нужного поля из списка полей таблицы, расположенного в верхней части окна конструктора; в) щелкнув на ячейке Условие отбора и выбрав из раскрывающегося списка нужный пункт; г) дважды щелкнув на имени поля в списке полей таблицы, расположенном в верхней части окна конструктора. 10. Фильтр по выделенному позволяет выполнить следующие действия: а) отсортировать записи, полученные в результате применения фильтра; б) указать те поля, которые будут выводиться на экран при отображении результирующего набора записей; в) выполнить фильтрацию сразу для нескольких таблиц; г) указать несколько условий поиска, объединенных логическим оператором Or (ИЛИ).
234
Часть III. Работа с данными в базе данных
Создание и использование запросов В этой части... Глава 12. Простые и многотабличные запросы Глава 13. Сложные запросы на выборку Глава 14. Автоматизация редактирования и управления данными Часть IV включает три главы и посвящена наиболее эффективному механизму получения актуальной информации из базы данных— запросам. В главе 12 рассматриваются типы запросов, поддерживаемые Access, а также на многочисленных примерах демонстрируется построение запросов как с помощью мастеров, так и в режиме конструктора запросов. В главе 13 прежде чем перейти к рассмотрению сложных залро; сов на выборку (в том числе с использованием логических операторов и вычисляемых полей), вам будет предложено систематизировать свои знания о выражениях, широко применяемых в программе Microsoft Access. В главе 14 речь идет о запросах на изменение, с помощью которых можно удалить записи, добавить новые, а также выполнить массовое обновление данных одной или нескольких таблиц.
Глава 12
Простые и многотабличные запросы В этой главе... + Классификация запросов • Создание запроса с помощью мастера простых запросов +
Конструктор запросов
f Многотабличные запросы Ф Резюме Ф
Литература
4 Тесты
Классификация запросов Напомним, что впервые мы заговорили о запросах, работая с расширенными фильтрами- Расширенный фильтр является упрощенным вариантом полноценного запроса, и базовые знания, полученные в холе изучения этого инструмента, подводят нас к наиболее мошному и эффективному способу извлечения полезной информации из базы данных — запросам. Запросы особенно ценны тем, что, в отличие от фильтров, могут не только отображать необходимые данные из таблиц, но и производить некоторый анализ данных. Например, можно построить запрос, который будет выводить сведения о наиболее активных покупателях или формировать алфавитный перечень товаров, пользующихся по результатам продаж наибольшим спросом. Кроме того, запросы готовы взять на себя сложные операции манипулирования данными: так называемые запросы на изменение позволяют, например, удалить сразу несколько записей, удовлетворяющих определенному условию, создать новую таблицу по результатам запроса или скопировать данные из одной таблицы в другую. Однако список преимуществ запросов этим далеко не ограничивается. • Запросы позволяют собирать воедино информацию из нескольких таблиц, учитывая связи, установленные между таблицами в базе данных. • При разработке запроса можно выбрать, какие поля исходных таблиц и в какой последовательности будут включены в таблицу результатов. • Больше того, можно указать, какая часть результирующих записей будет отображена. Так, можно задать вывод на экран только 10% записей или ввести конкретное число (например, 10 или 25). • Запросы позволяют выполнять вычисления, основываясь на значениях полей таблицы. Результат работы запроса — это группа записей, которые удовлетворяют заданному критерию запроса. Совокупность этих записей называется динамическим набором записей и отображается в виде таблицы. Это временная таблица, которая не является объек-
том базы данных и хранится только в памяти компьютера. Если с момента последнего запуска запроса данные в исходной таблице были изменены, при выполнении запроса динамический набор данных, вполне соответствуя своему громкому имени, будет включать уже обновленные данные. Чтобы оценить спектр возможностей, которые открываются для обработки данных при использовании запросов, кратко ознакомимся с типами запросов, поддерживаемых в программе Microsoft Access 2003. •
Запрос на выборку. Тип запроса, принятый по умолчанию. Осуществляет выборку данных, соответствующих указанным условиям отбора, из одной или нескольких таблиц. Результат выполнения такого запроса — это набор записей, который отображается в режиме таблицы. Кроме того, применяя при использовании запроса на выборку групповые операции, можно группировать данные или, например, вычислять суммы, средние значения или количество записей, удовлетворяющих критерию отбора. • Запрос на изменение. Группа запросов, объединенных одним общим свойством: как и следует из названия, с помощью таких запросов можно сразу изменить целый набор записей, например, обновить, добавить в таблицу или удалить данные, а также создать на основе результирующего набора новую таблицу. Ниже перечислены четыре подтипа запросов на изменение. Подробно они будут рассматриваться в главе 14, Автоматизация редактирования и управления данными. » Запрос на обновление. Позволяет обновить данные для группы записей одной или нескольких таблиц. Например, с помощью такого запроса можно быстро задать новые значения для цен на товары определенного типа, снизив их на 10% в связи с сезонной распродажей. * Запрос на добавление. Результаты выполнения запроса добавляются в конец одной или нескольких таблиц. Например, записи из таблицы, содержащей сведения о сотрудниках нового филиала, необходимо добавить в-таблицу Сотрудники, в которой хранятся записи обо всех сотрудниках компании. + Запрос на удаление. Записи, соответствующие определенному критерию, удаляются из одной или нескольких таблиц. С помощью такого запроса можно, например, удалить из таблицы записи о товарах указанного поставщика * Запрос на создание таблицы. Записи результирующего набора становятся основой для новой таблицы, структуру которой определяет структура самого запроса. Как правило, такие запросы используются для создания таблицы при экспорте данных в другие базы данных Microsoft Access или для резервного копирования существующих таблиц. • Перекрестный запрос. Результаты, полученные при выполнении такого запроса, организованы в специальном формате, напоминающем электронную таблицу. Они группируются по двум наборам данных: первый выводится в столбце слева (это заголовки строк, например, наименования товаров), а второй — в верхней строке (заголовки столбцов, например, порядковые номера кварталов). Итоговая таблица может, таким образом, отображать поквартальные итоги продаж определенных товаров. Подробнее перекрестные запросы рассматриваются в главе 13. • Запросы с параметрами. Специальный "интерактивный" тип запроса: прежде чем запрос будет выполнен, на экран выводится диалоговое окно с приглашением ввести один или несколько параметров, например условие отбора записей по определенному полю. Запрос, таким образом, допускает некоторую модификацию при каждом своем запуске, что очень удобно, например, при генерировании месячных или квартальных отчетов о доходах предприятия. Запросы с параметрами могут быть отнесены к отдельному типу условно, так как ввод
Глава 12. Простые и многотабличные запросы
237
параметра можно организовать для запросов на выборку, запросов на изменение и перекрестных запросов. Технические подробности При построении запроса в режиме конструктора программа Access автоматически генерирует соответствующую запросу инструкцию на языке SQL (Structured Query Language — язык структурированных запросов), который используется для создания запросов, манипулирования данными в таблицах, а также управления базами данных. Инструкции SQL можно просматривать и редактировать в режиме SQL окна запроса. Так, например, запрос на языке SQL, позволяющий отобразить отсортированные по наименованию товара записи таблицы Товары о имеющихся в наличии препаратах, выпущенных фирмой Байер, будет выглядеть так: SELECT * FROM Товары WHERE (Товары.Производитель-•"Еайер") AND (Товары.НаличиеТовара=Yes) ORDER BY Товары.Наиме.чозаниеТовара; Ключевое слово SELECT инициирует выборку данных, в частности всех полей (символ "звездочки"), из таблицы Товары (на источник записей указывает предложение FROM). Предложение WHERE определяет условие отбора, а следующее предложение— ORDER BY— порядок сортировки (по умолчанию это сортировка по возрастанию). Красиво, не правда ли? Подробнее о языке SQL можно узнать в [I]—[3], указанных в разделе Литература данной главы. Фактически для большинства свойств запроса, разрабатываемою в режиме конструктора, существуют эквивалентные инструкции и параметры языка SQL. Между тем, можно выделить отдельный тип запросов — так называемые запросы SQL, —создание которых требует непосредственного ввода инструкций SQL в окне запроса в режиме SQL. К этому типу относятся запрос на объединение, запрос к серверу и управляющий запрос.
Создание запроса с помощью мастера простых запросов В названии этого мастера Access совсем неслучайно присутствует определение "простых" — мастер и в самом деле создает самые элементарные запросы на выборку. Условия отбора для операций фильтрации и сортировки в этих запросах указать нельзя. Однако, в отличие от ранее рассматриваемых средств фильтрации, главное преимущество мастера простых запросов заключается в том, что с его помощью вы можете выбрать для отображения в результирующей таблице только те поля, которые вам необходимы. Назовем и другие возможности, реализуемые этим мастером. В качестве источников данных для запроса можно указать мастеру поля из одной или нескольких таблиц или запросов. Если в запросе участвуют числовые поля, мастер позволяет создать итоговый запрос, в который можно включить вычисляемые данные, например средние или суммарные значения для определенных полей. Кроме того, в таком запросе можно определить минимальные или максимальные значения полей, а также подсчитать количество записей в результирующем наборе. Если в запрос включено поле (поля) с типом данных Дата/время, мастер позволяет выполнить в итоговом запросе группирование данных по некоторым интервалам даты и времени: дню, месяцу, кварталу или году. В качестве примера создадим с помощью мастера запрос к таблице Товары, который формировал бы список наименований товаров с указанием их лекарственной формы, названия фирмы-производителя и цены, т.е. на экране должны отображаться только значения полей НаименованиеТовара, ЕдиницаИзмерения, Производитель и ЦенаТовара. При создании простого запроса с помощью мастера последовательность действий должна быть следующей.
238
Часть IV. Создание и использование запросов
1.
В окне открытой базы данных (Интернет-аптека) щелкните на кнопке Запросы, а затем в области объектов дважды щелкните на ярлыке Создание запроса с помощью мастера. На экране появится первое диалоговое окно мастера (рис. 12.1). Создание просты» запросов Выберите пол» для запроса. Допускается выбор нескольких тебпш или запросов.
![в6пицы и запросы
ДдстуГ
Рис. 12.13. В бланк запроса будут помещены сразу все поля таблицы \ff Запрос! : nanpor на выборку
-
~~ ™
"
" " " ""'
'"
'.fc^
\i 1 1 1 •lilplllli' • 1 Наименование Товара | Ел нницаИ)мер гния .. [производитель ЩенаТоварэ | Н апичиеТовара
j*j
_^j
. .
^JJ Попа: Наиненова ниеТоваоа ЕдипииаИэнерення kfc« таблицы; Товары Товары Товары , Сортировка: ^__^_^ Вывод на экран: 0 Условие отбора: ИН^ШЛ'""^^^^'' | или: (отсутствует)
*м
Производитель Товары @
.»Г' ЦенаТовара Товары
НапичнеТоеэра :—
Е
;
0
. |
*• —~
• .»J
Рис. 12.14. Найденные в результате выполнения запроса записи будут отсортированы (условие сортировки по возрастанию задано для поля Наименование товара) Чтобы реорганизовать полл в бланке запроса, выполните следующее. 1. Поместите указатель на область выделения нужного столбца (тонкая серая панель, расположенная над именем поля). 2. Когда указатель примет вид направленной вниз стрелки, щелкните на области выделения, чтобы выделить весь столбец. 3. Щелкните еше раз и, удерживая левую кнопку мыши нажатой, переместите выбранное поле в новую позицию. Чтобы выделить сразу несколько полей, щелкните на области выделения крайнего столбца и, удерживая левую кнопку мыши, переместите указатель по соседним столбцам.
6. Введите условия запроса для одного или нескольких полей. Для этого щелкните в поле Условия отбора соответствующих столбцов и введите требуемые значения или выражения. В нашем примере простое условие отбора (>50) следует ввести в поле ЦенаТовара, как показано на рис. 12.15. Чтобы цвести альтернативные условия поиска (объединенные логическим опера юром Or (ИЛИ)), щелкните на поле Или, расположенном ниже поля Условие выбора, и укажите дополнительное условие. Каждая новая строка позволяет ввести еще одно условие Или. Более подробно вопросы использования логических операторов и выражений при построении запросов рассматриваются в главе 13, Сложные запросы на выборку.
Глава 12. Простые и многотабличные запросы
247
Поде. На нчено&аниеТоел ра Имя таблицы томры Сортировка. по воарастанию Вывод нажран 0 Условие отбора ИЯЙ!
•
Е д нницаИ э м еренип Товары
Поошводитель Товары
ЦенаТсеара Товары
.--
г
В
&
3
>50
.—
|
НапичиеТомра Товары
-----
^! 1
»
-
.
-
- -
!
•
Рис. 12.15. Условие запроса задано для поля ЦенаТовара Чтобы удалить поле из бланка запроса, выделите его и нажмите клавишу . Можно воспользоваться и другой возможностью: щелкните в любой ячейке столбца, подлежащего удалению, и выберите команду главного меню Правка ^Удалить столбцы. Когда все параметры запроса указаны, щелкните на кнопке Запуск, расположенной на панели инструментов Конструктор запросов, или выберите команду 1 Запрос ^ За пуск. Мгновение — и результаты выполнения запроса отображаются в режиме таблицы, порядок столбцов в которой соответствует порядку полей в бланке запроса (рис. 12.16).
ЗЕРОКОЛД ЗОВИРАКС ЗОВИРАКС" ЗОВИРАКС 1У ИЗОПРИНОЗИН КАЛИПСОЛ КОЛДФЛЮ
микрспрр_ нимотоп ФЕРРУМ-_Л_ЕК ЭНЗАПРОСТ
табл. 300 иг NB3Q табл. NB2~00 гл. мээьЭ% 4,5г табл. 2DO мг 1*25 инф.250 мг № табл. 5DO ыг №50 табл Na20D крем 10 мгУг 15 п 3D мг telOO амп 5 мг 1 мл №5
БЕРЛИН-ХЕМИ БИОМЕДИКЕЙР ЛАКСО БЕЛКОМ ГЛАКСО БЕЛКОМ ГЛАКСО БЕЛКОМ БИОГАЛ _ ГЕДЕОН РИХТЕР ДЖЕМОМ
БАЙЕР
БАНЕР ЛЕК СЛОВЕНИЯ
хинойн
57,18грн 53,00грн _50,57грн " 117,59грн 21В,70грн _ 72,74грн 63.40грн 56,90грн 239ЯОгрн 1Э1,40грн
Рис. 12.16. Результаты выполнения запроса: записи о товарах стоимостью более 50 грн отсортированы по наименованию товара 8. Чтобы сохранить новый запрос, щелкните на кнопке Сохранить панели инструментов Конструктор запросов или выберите команду главного меню Файл^ Сохранить как. Откроется небольшое диалоговое окно, где необходимо ввести имя, под которым будет сохранен новый запрос, и щелкнуть на кнопке ОК. Просмотрев результаты выполнения запроса, можно вернуться в режим конструктора и внести в запрос необходимые изменения. Для этого щелкните на кнопке Вид (режим Конструктор) панели инструментов Запрос в режиме таблицы. Технические подробности Если, выполнив запрос, вы обнаружите в таблице результатов "лишние" столбцы (и при этом в бланке запроса флажки Вывод на экран у этих полей сняты), проверьте, снят ли флажок для опции Вывод всех попей на вкладке Таблицы и запросы окна Параметры (рис. 12.17). Чтобы открыть это диалоговое окно, выберите команду главного меню Сервиса Параметры и перейдите на вкладку Таблицы и запросы. В случае необходимости снимите флажок опции Вывод всех попей и щелкните на кнопке Применить. Теперь при создании новых запросов в таблице результатов выполнения запроса будут отображаться только
248
Часть IV. Создание и использование запросов
поля, указанные в бланке запроса. (Для уже сохраненных запросов следует также внести соответствующие изменения в окне свойств запроса, о чем говорится ниже.) Еще одной причиной появления всех полей исходной таблицы в результирующем наборе записей может стать значение Да, заданное для опции Вывод всех попей в окне свойств запроса. Такая ситуация возможна, например, при редактировании запроса, который изначально создавался как фильтр, а затем был сохранен в виде запроса. Программа Access в этом случае автоматически устанавливает для свойства запроса Вывод всех полей значение Да. Чтобы изменить его, выполните следующее. 1. Щелкните правой кнопкой на заголовке окна конструктора и выберите из открывшегося контекстного меню команду Свойства (или щелкните на кнопке Свойства панели инструментов Конструктор запросов). Откроется диалоговое окно свойств запроса. 2. Щелкните в поле свойства Вывод всех полей, а затем выберите из раскрывающегося списка значение Нет, как показано на рис. 12.18. 3. Закройте окно свойств запроса. Отметим, что, установив для данного свойства значение Да, в бланк запроса можно включать только те поля, для которых задается условие отбора или сортировки.
Вид ] Общие | Правка и поиск | Юменвтура | Ре »м твбмин ! оорны и отчеты 1 Страницы Орфографмн Таблицы М ипросы Другие Международные Проверка ошибок Конструктор таблиц - Размеры попей по умолчанию ~=" ' текстовой: ;
.
— Тип поля по умолчанию: - Тек товый
Щ г
—
-
-"
-j
•«деке при импорте и создании: , р; ключ; к од; номер
]
& кнопки параметров обновления свойств
- -
Конструктор запросов
" :.. " " " -
Р Быводннвнтзбпиц
.' При запуске предоставляются прмэ
Г~ Вывод всех попей .,
• " (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Для создаваемого в качестве примера запроса в список Выбранные поля должны быть перенесены такие поля таблицы Товары, как КодТовара, НаименованиеТовара, ЕдиницаИзмерения и Производитель (рис. 12.20).
быберте поля АЛЯ мпрос*. Допускается выбор наског*мок таблиц пли
Таблицы н игтросы
Рис. 12.20. Для итогового запроса выбраны все требуемые поля из таблицы Товары
4. Данные о том, какие препараты и в каком количестве были оформлены в том или ином заказе, хранятся в дочерней таблице СодержаниеЗаказов, поэтому ее также необходимо включить в запрос. Откройте раскрывающийся список Таблицы и запросы и выберите таблицу СодержаниеЗаказов. 5. Включите в запрос необходимые поля таблицы СодержаниеЗаказов, а точнее одно поле, по которому будут производиться итоговые расчеты, — Количество (рис. 12.21). Теперь список Выбранные поля полностью сформирован. Щелкните на кнопке Далее, чтобы перейти к следующему этапу создания запроса. Тиб лица: С о держание Заказов поля:
Доступные поля: КодЭакам КодТовара Ll&jaTocapa ВЩЯЯВЯ ДатаРегистрац ии
Рис. 12.21. Список сформирован
6.
КодТовара Наименование!овара ЕдиницаИзмерения Проиэеодитв£ь
Выбранные
поля
полностью
Новое окно мастера предлагает выбрать тип создаваемого запроса: подробный (вывод на экран всех записей, соответствующих условию отбора) или итоговый (отображается только итоговая информация), как показано на рис. 12.22. Выберите опцию итоговый.
Глава 12. Простые и многотабличные запросы
Глава 12. Простые и многотабличные запросы
251
253
3. Включите в запрос все необходимые поля из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" {или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Для создаваемого в качестве примера запроса в список Выбранные поля должны быть перенесены такие поля таблицы Товары, как КодТовара, НаименованиеТовара, ЕдиницаИзмерения и Производитель (рис. 12.20). Гочдаиие простым запросов J Вымрите гюпядпя запроса. • Дипушаегся вьбор нескольких таблиц Таблицы и запросы
~ГЗ";
| Таблица:Товары Доступные поля: НаличиеТовара Актуальность Да таРегистрации
Ву5ранные norm;
Ml
КодТовара Ь а именоеаниеТсвара Единицамэмерения
Далее >
Рис. 12.20. Для итогового запроса выбраны все требуемые поля из таблицы Товары
4, Данные о том, какие препараты и в каком количестве были оформлены в том или ином заказе, хранятся в дочерней таблице СодержаниеЗаказов, поэтому ее также необходимо включить в запрос. Откройте раскрывающийся список Таблицы и запросы и выберите таблицу СодержаниеЗаказов. 5. Включите в запрос необходимые поля таблицы СодержаниеЗаказов, а точнее одно поле, по которому будут производиться итоговые расчеты, — Количество {рис. 12.21). Теперь список Выбранные поля полностью сформирован. Щелкните на кнопке Далее, чтобы перейти к следующему этапу создания запроса. 1аблиаы и запросы (Таблица: СодержаниеЭаказав Доступные поля:
Выбранные поля: КодТовара НаимеиованнеТовар Q Е динииаИ змерения Производителе
Рис. 12.21. Список сформирован
Выбранные
поля
полностью
6. Новое окно мастера предлагает выбрать тип создаваемого запроса: подробный (вывод на экран всех записей, соответствующих условию отбора) или итоговый (отображается только итоговая информация), как показано на рис. 12.22. Выберите опцию итоговый.
Глава 12. Простые и многотабличные запросы
251
ание просили запрогое
^
Выберите подробный или итоговый отчет; Г
гтааро^й(вьиодкаждогопапякаждсймписи)