№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 <Намд
Долее
Рис. 1.15. Чтобы инсталлировать по сноему выбору компоненты будущих приложений, установите флажок Расширенная настройка приложений ы? Установка Microsoft ОНк р ЛЮЗ
On
Microsoft Office - профессиональный выпуск версии 2003 Распиренная настройка Выберите параметры установки приложении и средств. l-JMicrosof tOff ice S 'аДД.Д1м»:.1и»яидаи Запускать с моего компьютера Запускать все с коего кшчпьютера D_J
X
Кояпонеит недоступен
Описание Установка Microsoft Office Access выбранной конфигурации, Требуетср на диске О 707 МБ Доступно на диске С: 10 ГБ Справка
< Назад
I
Далее > J
Оччена
Рис. 1.16. Выберите опцию Запускать все с моего компьютера для элемента Microsoft Office Access, и вам не придется вставлять компакт-диск с дистрибутивом всякий раз, когда программе Access необходимы будут компоненты, по умолчанию устанавливаемые как Устанавливать при первом вызове
9. Выберите режим установки компонентов для остальных приложений Microsoft Office. Для этого щелкните на значке "плюс" (+) каждого из приложений и укажите для компонентов этого приложения подходящий режим установки.
Глава 1. Знакомьтесь —Access 2003
27
10. Щелкните на значке "плюс" (+) пункта Общие средства Office, чтобы удостовериться, что элемент Веб-компоненты Office 2003 также будет доступен с жесткого диска (о чем должен свидетельствовать белый фон пиктограммы диска). Если "имеет место быть" серый цвет — выберите для каждого из этих элементов опцию Запускать все с моего компьютера. 11. Укажите опцию Запускать все с моего компьютера для элемента, доступ к которому выполняется по схеме Средства О!Исе^Редактор для языка НТМ[_^Веб-сценарии. 12. Убедитесь, что можно будет работать с компонентом Microsoft Graph, не обращаясь к приводу CD-ROM. В случае необходимости также измените настройку установки Средства Off ice ^Microsoft Graph на Запускать все с моего компьютера. Чтобы перейти к следующему окну программы установки, щелкните на кнопке Далее. 13. Выбрав конфигурацию ваших будущих приложений Office 2003, в новом диалоговом окне Сводка щелкните на кнопке Установить. Далее стартует процесс копирования файлов, о ходе выполнения которого вас будет извещать полоса индикатора в специальном окне Установка Office программы установки. 14. Закончив установку, программа известит вас об этом в заключительном окне (рис. 1.17). Здесь же, установив флажок Проверить наличие обновлений в Интернете, вы сможете запустить свой Web-браузер и обратиться на официальный Web-узел Microsoft Office Online, чтобы выбрать и загрузить доступные на текущий момент обновления Office. Установка второго флажка (Удалить установочные файлы) в этом окне позволяет вам удалить сгенерированные программой установки временные файлы, освободив тем самым место на жестком диске. Однако правильнее будет сохранить их (если, конечно, упоминаемый в сообщении объем в две с лишним сотни мегабайт не критичен для вашего диска), что в будущем облегчит операции обновления и поддержки пакета Office. Наконец подтвердите прием сообщения о том, что процесс инсталляции завершен, щелкнув на кнопке Готово. l^f Установка Microsoft Omce ZOH3
Оп
Microsoft Office - профессиональный выпуск версии 2003 Установка завершена
Установка (iforosoft Office 2003 успешно
Всетипогут быть доступны дополнительные компоненты или обновления. Чтобы открыть веб-умш Office та окончании установки, установите этот фпвжок, Г" Проверить на П№»« обновлен** в ("Ьтернете
Во время установки установочные файлы Office были скопированы па диск С:. Удаление этих файлов позволит освободить на этой диске л^инерно 239 Мб, но рекомендуется сохранить их для облегчения последующего обнов тения и сопровождения Office. Г Увалить>>становачные файлы
Рис. 1.17. В последнем окне программы установки вы можете проверить наличие обновлений на Web-узле Microsoft Office и "решить судьбу" установочных файлов
28
Часть I. Основные понятия
По окончании установки в меню Пуск^Все программы операционной системы Windows появится папка Microsoft Office, куда будут включены пиктограммы программы Access и других приложений пакета Office 2003. Первый запуск программы Access 2003, а также знакомство с основными элементами ее интерфейса — это темы следующей главы. Технические подробности Начиная с версии Office XP, для пакета Microsoft Office была введена такая процедура, как активизация установленных приложений. По умолчанию этот процесс выполняется автоматически no Internet, но можно уладить все форматьности и по телефону. Окно мастера активизации появляется через 30 секунд после первого запуска любого приложения Office 2003. В противном случае следует выбрать команд)' Справка ^Активировать продукт главного меню активного приложения, например Access 2003. Без активизации приложения Office запускаются до 50 раз, после чего вступает ь силу режим ограниченной функциональности, в котором вы сможете только просматривать документы или другие объекты пакета Office, без внесения в них каких-либо изменений. Более подробные сведения о процедуре активизации можно найти в разделе справки Активация продуктов Microsoft Office.
Резюме Microsoft Access — одна из самых распространенных и популярных в настоящее время реляционных СУБД. Новая версия этой программы, Microsoft Access 2003, вряд ли дотягивает до уровня глобального "апгрейда" программных средств, однако многие полезные усовершенствования этого приложения не могут не порадовать пользователей и разработчиков баз данных. Так, например, в Access 2003 теперь реализована технология смарт-тегов, а отследить связи между объектами базы данных можно с помощью специальной панели. Благодаря поддержке в Access 2003 по умолчанию формата файлов Access 2000 существующие разработки без проблем переносятся в новую среду. (Файл базы данных Access, имеющий расширение .mdb, представляет собой совокупность всех объектов конкретного приложения: таблиц, запросов, форм, отчетов, страниц доступа к данным, макросов и модулей.) Расширенная поддержка языка XML обеспечивает совместное использование XML-документов в intranet и Internet и создает основу для интеграции Access с другими системами. В главе приводится подробная пошаговая инструкция для выборочной установки компонентов программы Microsoft Access 2003 с дистрибутивного компакт-диска.
Глава 1. Знакомьтесь — Access 2003
29
Глава 2
Основы интерфейса Access 2003 В этой главе... + Запуск и завершение работы приложения • Основные элементы интерфейса программы Access 4 Основные типы окон Ф Область задач, панели инструментов и меню Ф
Резюме
Ф Тесты
Запуск и завершение работы приложения Программу Microsoft Access 2003 можно запустить несколькими способами: • с помощью меню Пуск операционной системы Windows; • с помощью ярлыка Access на рабочем столе Windows; • через программу Проводник Windows. Классический способ запуска Access — через меню Пуск. Щелкните на кнопке Пуск и выберите из меню Все программы папку Microsoft Office, а затем — пункт Microsoft Office Access 2003, как показано на рис. 2.1. Если ранее это приложение уже запускалось, на левой панели меню Пуск (в списке часто используемых программ) вы увидите пункт Microsoft Office Access 2003 (см. рис. 2.1). А что делать, если Microsoft Access отсутствует в меню Все программы? Создайте новый ярлык! Для этого необходимо выполнить следующее. 1. Щелкните на кнопке Пуск и выберите команду Поиск. 2. В открывшемся окне Резупьтаты поиска шелкните на ссылке Файлы и папки списка Что вы хотите найти? 3. Введите имя файла (msaccess.exe) в текстовое поле Часть имени файла или имя файла целиком окна поиска. Затем укажите область, в которой будет происходить поиск, выбрав из раскрывающегося списка Поиск в пункт Мой компьютер, и щелкните на кнопке Найти. В окне результатов поиска появится требуемый программный файл. 4. Щелкните левой кнопкой мыши на пиктограмме файла msaccess.exe и, удерживая кнопку, перетащите пиктограмму из окна Результаты поиска на кнопку Пуск. В итоге откроется меню Пуск. 5. Перетащите пиктограмму файла на элемент Все программы, затем на свое усмотрение разместите его среди пунктов данного подменю и отпустите кнопку мыши (рис. 2.2). В меню появился новый ярлык — стартовая площадка для вашего приложения Access. (Вместо присвоенного по умолчанию имени —
Ярлык для MSACCESS -• можно Microsoft Office Access 2003.)
указать другое,
например,
стандартное
WmttowsUpdate • Активация windows It. Выбор тограян по унолчаи|« i- Каталя- vfodowj Й Internet Explore
* Овдытьда«.лв"тС*Р«:
-JMfcroioftOfriM! iJ Создать документ С« 33 DECo C •J urWebforWInc
* WcrosoH Office E>;cd 20ОЭ
«• f*to«*( office Выбор rtporpa*! n
MPcrcsof I Qftfce Po«f rPw* 3»!
MSNExptoTH
Miciosrft «Псе P^Ashe.
H
L ^ ГЬс*грымтел> * :-С
I Office Ward 2ЮЭ
^Hictta^(^«esjJ^paint£iODPfoJ
jj
Рис. 2.1. Как правило, запустить Microsoft Access можно из меню Все программы
эпроградаг Internet Ewplqit ii Ката/DT WAndcue "ШсгояЛ: Offite • ^ Открыть дмумнг Crtice
DISCO ConmandH tTWeb f« Wiitloif V Капькупитав
j-
*J выбср програя" n £
Рис. 2.2. Воспользуйтесь средствами поиска Windows, чтобы отыскать файл запуска Access, а затем создайте для него новый ярлык в меню Пуск
Глава 2. Основы интерфейса Access 2003
31
Точно таким же образом можно создать ярлык программы Access на рабочем столе Windows, перетащив пиктограмму найденного файла запуска на рабочий стол. В этом случае, чтобы начать работу с Access, дважды щелкните на ярлыке программы. Если вы предпочитаете использовать программу Проводник Windows, то после двойного щелчка на любом файле с данными Access приложение Microsoft Access запускается автоматически, открывая указанный файл. Файлы баз данных Access имеют расширение .mdb и отмечены знакомой пиктограммой "ключика" на фоне голубой страницы. При первом запуске программы Access на экране появляется главное окно приложения, в правой части которого открыта специальная панель — область задач Приступая к работе (рис. 2.3), позволяющая получить доступ к справке Access, открыть базу данных, с которой вы работали ранее, или создать новую базу данных. (О том, каким образом реализована область задач в версии Access 2003, речь пойдет в разделе Область задач, панели инструментов и меню этой главы.) : 83 Microsoft Access Д
Вставка
Сервис
fitm
Справка
Приступая к работе
Office в Интернете i
Подклочтьсе к беб-уллу Micrraar t Office Online
* Послбдни* сведения сё использовании Access * ДЕТ статически обисьлать этот стчсок и 5 Бе&э Al'iT3JiWfTi?'!L>if<. .
Искать:
Пример: "Печать нескольких Копий"
Открыть Boiiert.mdb ^ Дополнительно,.. •J Создать файл,..
Рис. 2.3. Так выглядит окно программы Access 2003 при первом запуске приложения Пожалуй, нет необходимости объяснять, что кнопка POWER системного блока вашего компьютера не предназначена для выхода из Access. Сделать это можно (и нужно!) более цивилизованно. Чтобы корректно завершить работу программы Access, существует несколько возможностей. • Выбрать команду Файл^Выход. Если была открыта база данных и в нее вносились изменения, Microsoft Access при выходе сохранит их автоматически, однако, если эти операции затронули структуру каких-либо объектов базы данных, программа дополнительно запросит подтверждение для всех внесенных изменений. • Щелкнуть на кнопке Закрыть ( E H I ) , расположенной в правом верхнем углу главного окна Access. • Использовать комбинацию быстрых клавиш .
Часть \. Основные понятия
Основные элементы интерфейса Access 2003 Итак, приложение Microsoft Access запушено, и пора познакомиться с его главным окном. Согласитесь, что выглядит интерфейс программы вполне привычно. Легко узнаваемые панели и меню внушают вам чувство уверенности в своих силах, а не растерянности перед множеством незнакомых кнопок и меню, с которыми, как правило, приходится иметь дело в новых программах. Секрет разработчиков Access 2003 из Microsoft прост — весь интерфейс приложения выдержан в знакомом формате всех "оконных" пакетов семейства Microsoft Office, которые работают под управлением операционных систем Windows.
В
Тем пользователям, кому приходится постигать азы Access параллельно с освоением Windows, рекомендуем обратиться к соответствующим книгам из серии ...для "чайников "или Самоучитель, выпущенным издательством "Диалектика".
На рис. 2.4 показаны основные элементы окна Access. О каждом из них ниже будет сказано несколько слов. (Отметим, что в рабочем пространстве Access в это время открыта уже существующая учебная база данных Борей, которая иногда будет использоваться в примерах этой книги. Самый простой способ открыть эту базу данных — выбрать команду главного меню Справка^Примеры баз данных^Учебная база данных "Борей".) В рабочем пространстве главного окна Access при работе с базой данных будет появляться и разворачиваться множество других окон и панелей. Все они выполняют различные функции и используют свои элементы интерфейса. Основные типы окон Access будут кратко рассмотрены далее в этой главе. Итак, в нескольких словах охарактеризуем основные элементы интерфейса Access. гя
• Пиктограмма системного меню. Доступ к системному меню Access можно получить, щелкнув на расположенной в левом верхнем углу окна пиктограмме символа Access — ключа. С помощью этого меню можно выполнять стандартные операции с главным окном программы: свернуть/развернуть его, переместить, вернуть к прежнему размеру, выбранному пользователем, или закрыть. Кроме того, изменять размер окна (от полноэкранного режима до выбранного пользователем) можно, дважды щелкнув на строке заголовка. Справедливости ради, стоит отметить, что основные операции с окном все-таки проще выполнять, используя служебные кнопки. Двойной щелчок на пиктограмме системного меню Access приведет к автоматическому выходу из приложения. • Служебные кнопки ( ЕГа ). Являются обязательными элементами всех основных окон и расположены в правом верхнем углу окна. Перечислим те функции, которые они выполняют (в порядке слева направо). * Кнопка Свернуть ( И ). Сворачивает активную программу в кнопку на панели задач Windows. * Кнопка Восстановить/Развернуть. Выполняет две функции: когда окно занимает весь экран, щелчок на этой кнопке ( Ш ) восстанавливает окно до размеров, ранее заданных пользователем, после чего кнопка принимает новый вид (Ш ), и щелчок на ней позволяет раскрыть окно на полный экран. * Кнопка Закрыть ( Ш ). Закрывает окно, а вместе с ним и программу Access. • Главное меню. Располагается между строкой заголовка и панелью инструментов. Содержит несколько элементов — пунктов меню, — каждый из которьк, в свою очередь, имеет собственное подменю. Общий вид и доступность пунктов главного меню и соответствующих им подменю напрямую зависят от режима работы системы. Для удобства использования многие команды меню Access дублируются кнопками на панелях инструментов.
Глава 2. Основы интерфейса Access 2003
33
Пиктограмма системного меню Главное меню
Поле Введите вопрос
Строка заголовка
Служебные кнопки
!• Борей База данных (формат ACCESS 2000) ~i Создать Объекты Таблицы Запросы
НО Формы Я
Отчеты
*У Стр»«цы 3
Макросы
.ЕЁ]-я
£у Создаше таЬпищ>| в ретине конструктора &Ц
Создание таблицы с. помощью мастера
щ] Со)даннв таблчоы путем ввода данные ИЗ 'Доставка! Ш) Заказано ОН
Заказы
Щ
Клиенты
Ш
Книги
ОШ Поставщики
«V
Группы
Щ
Типы
Щ
Товары
_SJ Избранное
Строка состояния
Окно базы данных
Помощник
Рис. 2.4. Основные элементы главного окна программы Access
• Панель инструментов. На рис. 2.4 показана панель инструментов главного окна Access, которая позволяет быстро инициировать выполнение различных команд. Для каждого объекта базы данных и для разных режимов работы в приложении предусмотрены различные виды панелей инструментов. Подробнее о панелях речь пойдет далее, в разделе Область задач, панели инструментов и меню. • Строка состояния. Располагается в самом низу окна программы. Система выводит сюда свои сообщения, информируя пользователя о текущих операдиях, а также отображает подсказки. На рис. 2.4 отображено стандартное сообщение Access о готовности к работе (Готово). В правой части этой строки расположен ряд индикаторов режимов работы клавиатуры, как, например, включенного режима Num Lock (см. рис. 2.4). • Окно базы данных. Отображается на экране при открытии базы данных и позволяет координировать и выполнять все действия с объектами базы данных, включая таблицы, запросы, формы, отчеты. Подробнее окно базы данных будет рассмотрено в следующем разделе. • Помощник. Интерактивный ассистент, готовый выслушать ваши вопросы и предоставить необходимую справочную информацию. Несмотря на неоднозначное отношение к этому "элементу" интерфейса Access со стороны пользователей, Microsoft не отказывается от включения его во все программы пакета
34
Часть I. Основные понятия
Office (хотя по умолчанию помощник не активизирован). Подробный рассказ о нем можно найти в главе 3, Справочная система Access 2003. Поле Введите вопрос. Одно из новшеств, предложенных в версии Access 2002. Как и следует из его названия, оно открывает доступ к интересующей вас информации справочной системы Access (см. главу 3).
Основные типы окон Как уже говорилось, окон в программе Access — великое множество. В рамках данного раздела будут рассмотрены особенности интерфейса тех окон, которые соответствуют основным объектам Access (таблицам, формам, запросам) и с которыми вам обязательно придется работать. Обстоятельное знакомство с базами данных и таблицами вам предстоит в части II, формами — в части III, а с запросами — в части IV.
Окно базы данных Работа в Access начинается с открытия уже существующей базы данных или создания новой. При этом на экране появляется окно базы данных (рис. 2.5). В строке заголовка выводится имя открытой базы данных (на рис. 2.5 это название учебной базы данных Борей). Открыть
Конструктор
Создать
Удалить •(йвБс.рвй : база данных (формат AccessiUOO) ] 1 " гп""]","^"™
..-. '
Объекты 5 Щ Таблицы
" _&\
" QI запросы ЁЦ
* Щ '
В
£ ] 'Сдала*** таблицы в режиме конструктора!
: . Е]
Создание таблицы путен ввода данных
J Щ Доставки
ООРИЫ
- Щ Зака)ано '. Д Клиенты
Э . Макросы
>
| [> | Союами* таблицы с помощью иастерл
Отчеты
V) Страницы
•rff
ВВЕЗ
-=-
[nj Поставщики Щ
Типы
Ц Щ
Товары
Модули
ЦЩ
Заказы
Группы
И Сотр/дн^и
j*J Иафаннов
Панель Объекты
Список объектов
Рис. 2.5. Окно демонстрационной базы данных Борей
Структурно такое окно разделено на три области. В левой части окна расположена панель Объекты, куда включены кнопки объектов базы данных: таблиц, запросов, форм, отчетов, страниц, макросов и модулей. После щелчка на такой кнопке открывается вкладка соответствующих объектов базы данных. Так, например, на рис. 2.5 уже открыта вкладка Таблицы, и на экран выводится список всех существующих таблиц открытой базы данных. Здесь же можно создать новый объект выбранного типа или модифицировать существующий. Панель инструментов, которая позволяет работать с этими объектами, просматривать данные о них, а также выбирать, в каком виде будет отображаться список объектов, расположена в верхней части окна, сразу под строкой заголовка. Вот назначение первых четырех кнопок этой панели.
Глава 2. Основы интерфейса Access 2003
35
• Кнопка Открыть — открывает для просмотра или запускает на выполнение выбранный объект. • Кнопка Конструктор — позволяет изменить выбранный объект в режиме конструктора. • Кнопка Создать — создает новый объект выбранного типа. • Кнопка X — удаляет текущий объект. Оставшиеся четыре кнопки справа дублируют группу команд из меню Вид и отвечают за то, как будет выглядеть в основной области окна список объектов. Вы можете выбрать здесь стандартное представление списка, указать, крупными или мелкими значками будут отмечены объекты или выбрать вывод списка объектов в виде таблицы с дополнительными сведениями, включая имя объекта, описание, дату последнего изменения, дату создания, тип, имя владельца. В режиме табличного представления списка объектов базы данных можно менять ширину любого столбца (перетаскивая соответствующий разделитель столбцов), а также выполнить сортировку данных по любому столбцу таблицы. Для этого достаточно просто щелкнуть на заголовке требуемого столбца. Еще один щелчок— и порядок сортировки изменится на обратный. На рис. 2.6 список страниц доступа базы данных Борей отсортирован по дате изменения (точнее сказать, времени изменения страниц). $В Ьорей: база данный (формат Access 2000} •ть ?Eb!£DHt1'PyKTOP ^Сомать Объекты
f
[Опк^уе_J .Дата»
| to™ Здание станицы до-'.тула к двнньш в режиме KOKCTB
,jjjp Запросы' уЖ Форы-
Страницы .3
Макросы
4$"
Модули
Создание страницу доступа к данныч с помяцью мастера ! sl Изменение существуюшек веб-страницы | ifj Анализ продаж
04.03.2001 14'.16i41
C.
f JjJ Обзор 1аказее
04.03,2001 14:16:50
C,
! аТУ Обзор товаре*
04.03.2001 14:16:58
C.
04.03.2001 14:17:05
C..
04.03.2001 14:17:12
C..
Группы '.& Избранное
Рис. 2.6. Список объектов Страницы отсортирован по дате последней модификации
Окно таблицы Просмотреть данные в привычном для нас, "табличном", виде и выполнить необходимые операции с записями таблицы можно, используя специальное окно таблицы (рис. 2.7). Верхняя строка окна таблицы содержит имя таблицы (в нашем примере — Поставщики). В следующей строке перечислены названия "колонок" таблицы, или, согласно терминологии Access, имена полей таблицы. Каждая строка такой таблицы называется запись. Все эти понятия подробно будут рассмотрены в главе 4, Реляционные базы данных и их планирование. Навигация по таблице в таком режиме возможна с помощью двух полос прокрутки: вертикальной (расположенной вдоль правого края окна), которая служит для прокрутки записей, и горизонтальной (в правой нижней части окна), которая позволяет просматривать те поля таблицы, которые не поместились в окно. Внизу слева находится навигационная панель окна таблицы. Рис. 2.8 поясняет назначение всех ее кнопок. Используя их, можно сразу переместиться в начало или ко-
Часть I. Основные понятия
нец таблицы, перейти на следующую или предыдущую запись, а также создать новую запись. Чтобы быстро перейти к записи с известным вам порядковым номером, просто укажите его в поле Текущая запись и нажмите <Enter>, Индикатор текущей записи
Имя таблицы
Поля
} Код поставщика!
До/йЙость"
-Название Л 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
вСРаат
Сервис " ф<но
£<равка
•:В
Слуивбиывданмьв (Личные д»»*в]
•жжяпа»
Фами пил; _ Тоамиj Дапшнасть: [Должность
Макет j Длнные-(.СобЬпж] Другие Имя, Данные.;,..... Формат г»пя . • - Число десятичны* Маска ввода Значение по Сохранение Рахим INE .' -. Условие на яичение . . об ошибке-,
Подчиняется Дата найма:. |ЛатаНайм£ т
добдвить/идиииггь
Удавить Обращение ДатаРождочип ДатаНайма йдоес
Имя идвнУифтечатора, испопькзваннпго в вьрэжении/накроее,
Рис. 2.12. Окно конструктора Microsoft Access
Файл
Правка - Бип
Вставив
Сарвис - QKMO
Приступая к работе
i Office в Интернете * (.огданив базы данньи Microsoft Дссеи ' Контрольные вопросы по Office * Создание почтових наклеек Дополштельно... Искать: Пример: напечатать несколько
Бореи. чкЬ Интернет-ап така. mob аполиитепьно...
Рис. 2.13. Область задач Приступая к работе позволяет быстро обратиться на Web-узел Microsoft Office Online, отфыть существующую базу данных или перейти к панели создания новой БД
Часть I. Основные понятия
(рис. 2.14). Назначение основных панелей этой области приводится ниже.
{Приступая к работе \*\ Приступая к работе
•* -X
/- Справка • Приступая к работе (см. рис. 2.13). Включает ги" Поиск перссылки на материалы Web-узла Microsoft Office Online, а также позволяет найти нужные сведения 1 Поиск файлов в локальной справочной системе Access. Группа —- Буфер обмена Открыть этой панели отображает ссылки на ранее ис^ Создание фвйла пользуемые базы данных, дает возможность открыть существующую базу данных или создать новую. I Зависимости объектов • Справка. Открывает доступ к справочным материалам, инсталлированным на ваш локальный диск Рис. 2.14. Щелкнув на кнопке вместе с Access 2003, а также к интерактивной Другие области задач, можно службе помощи на Web-узле компании Microsoft, выбрать панель, соответствую(Подробнее использование этой панели будет обсу- щую вашим текущим задачам ждаться в следующей главе.) Создание файла. Позволяет создать новую базу данных, проект Access или страницу доступа к данным, в том числе используя готовые шаблоны (как поставляемые вместе с программой Access, так и доступные на Web-узле Microsoft Office Online). Буфер обмена. Включает 24 ячейки, в каждую из которых можно поместить текстовые и графические данные из таблиц Access, а затем вставить нужный элемент не только в Access, но и любое другое приложение Microsoft Office. Поиск файлов (рис. 2.15). Предоставляет доступ к поисковым средствам Access и может использоваться в двух вариантах: Обычный поиск файлов (поиск по ключевому слову в файлах указанного типа) и Расширенный поиск файлов (поиск файлов с учетом их свойств и некоторых дополнительных параметров). Найденные файлы будут отображены в окне Результаты поиска. Зависимости объектов (см. рис. 2.15). Показывает связи, установленные в базе данных для выбранного вами объекта.
Распаренный поиск файлов
Зависимости объектов
Таблица: Поставщики Свсйство: Гтвкст илисаойство Условие: (содержит
,'•*!! Объекты, зависящие от данного О Объекты, от которых зависит данный
-Значение: Э
[3
Товары
Е! Запросы Нет •^ Формы SJ 2Ш >! Ё§
Другие параметры поиска: Область поиска: •Выбрапньв размещения
Товары
'.т. Отчеты Нет -•• Пропущен**!* объекты Н Неподдерживаемые объекты др Зарос: Клиенты и пост •Я
Типы файлов результатов 1
Поставщики
Запрос: Товары'. ценой
Выбранные типы файлов айпов
Обычный поиск файлов
'
Справка бНияание; некоторые объекты были пропущены Что вызывает
Рис/2.15. Панели Поиск файлов (в режиме Расширенный поиск файлов) и Зависимости объектов {для таблицы Поставщики)
Глава 2. Основы интерфейса Access 2003
41
Панель инструментов База данных Стандартная панель инструментов База данных располагается прямо под строкой главного меню и представляет собой ряд кнопок, после щелчка на каждой из которых выполняется то или иное действие (рис. 2.16). На панели инструментов выносятся наиболее часто используемые команды, что избавляет пользователя от необходимости искать их в лабиринтах меню. Дать
Сохранить
орфс графия
Печать
Отменить Анализ
— г^ # в *i & ;. • ткрыть — 1 Найти
прогрг мма
Копировать Справка
Щ1
,-- '- ,
Вырезать
Предварительный просмотр
Схема да иных
0 ойства
Связи с Office
Вставить
Редактор сценариев
Новый объект
Рис. 2.16. Стандартная панель инструментов Access Учитывая огромное разнообразие кнопок на панелях Access, запомнить сразу их назначение довольно сложно. Воспользуйтесь встроенными всплывающими подсказками Access, которые появляются, если навести указатель мыши на интересующий вас элемент. О том, как получить более содержательную справку об элементах интерфейса, вы узнаете в следующей главе. Технические подробности Стандартную панель инструментов, которая, согласно терминологии Access, относится к закрепленным панелям инструментов, можно, тем не менее, перемещать по экрану. Для этого щелкните на фоновой поверхности между кнопками панели и, удерживая нажатой левую кнопку мыши, перетащите панель на новое, более удачное, на ваш взгляд. место. В том случае если вы "пришвартуете" ее к нижней границе окна приложения, к левому или правому краю, вид панели останется неизменным. Однако если не закреплять панель у границ окна, она пере идет в категорию плавающих и примет вид обычного окна со строкой заголовка и перемещаемыми границами (так. как она изображена на рис. 2.16). Такая панель всегда отображается поверх уже открытых окон базы данных. Вернуться к стандартному виду панели можно, дважды щелкнув на ее строке заголовка.
Меню Access Все меню в программе Access являются контекстно-зависимыми и включают набор элементов, необходимый для конкретного режима или операций с базой данных. В раскрывающемся списке меню для отдельных элементов слева отображается пиктограмма той кнопки панели инструментов, которая дублирует данную команду, а справа — комбинация клавиш, с помощью которой можно выбрать эту команду, не обращаясь к меню. При первом запуске в главном меню отображаются сокращенные списки элементов меню, включающие лишь основные и наиболее часто используемые команды; полное меню появляется после короткой паузы. Чтобы сразу развернуть весь список команд меню, дважды щелкните на нем. Развернутое меню в этом случае отображается на экране до тех пор, пока не будет выбрана какая-либо команда или выполнено другое действие. По ходу работы система дополняет сокращенный вариант меню теми командами, к которым обращался пользователь, и исключает из этого списка редко используемые элементы меню. 42
Часть I. Основные понятия
Технические подробности Чтобы выбрать для себя оптимальный вариант отображения меню, достаточно щелкнуть правой кнопкой мыши на панели инструментов или главного меню и выбрать из контекстного меню пункт Настройка. Как видно из рис. 2.17, появляется вкладка Параметры диалогового окна Настройка (она доступна также при выборе команды главного меню Сервис ^Настройка), где можно установить или снять флажки для опций, задающих режим отображения полных меню, вывода подсказок для кнопок и т.д.
Панели инетру1*нто8 ] К,ша«ды
Параметры
Настранваеньи явно и панели инструиентов Г Всегда показывать полные ченю Р Показьвать полные ченго после короткой задержки
] Другие Г~ Крупный значки ]у Отображать названия шрифтов теп «в шрифтси !? Отображать подсказки аля кнопок Р* |Вклю1*1п ь подсказки еочетаиич клавиш! Эффект при выводе меню: ][Поупопчанп
»j
Рис. 2.17. Вкладка Параметры позволяет выбрать оптимальный режим отображения меню и панелей инструментов
Комбинации клавиш Доступ к пунктам меню можно получить не только с помощью мыши, но и клавиатуры. Называется он доступом с помощью быстрой клавиши: нажмите клавишу и, удерживая ее, нажмите одновременно клавишу с таким же названием, как и подчеркнутая буква в названии нужного пункта меню. Например, чтобы открыть меню Сервис в главном окне Access, воспользуйтесь клавиатурной комбинацией . В таких комбинациях клавиш, которые ускоряют выполнение специфичных функций Access, активно используются и функциональные клавиши (). Вместе с тем, существует ряд комбинаций клавиш, зарезервированных для глобальных операций системы Windows. Эти комбинации клавиш несут одинаковую функциональную нагрузку во всех приложениях пакета Microsoft Office. Список таких клавиатурных комбинаций приведен в табл. 2.1. Таблица 2.1. Функциональные клавиши, общие для пакета Microsoft Office Клавиши
Действие Вызывает контекстно-зависимую справку или справочную систему Access
<Shift+F1 > Вызов всплывающей подсказки. После нажатия этих клавиш рядом с курсором мыши появляется вопросительный знак. Если щелкнуть таким курсором на интересующем объекте экрана, появляется мини-справка с названием и описанием этого объекта
Закрытие активного окна
Выход из Microsoft Access
Циклический переход между открытыми окнами
Глава 2. Основы интерфейса Access 2003
43
Окончание табл. 2.1 Клавиши
Действие
Делает активным окно базы данных Открывает диалоговое окно Сохранение. Дублирует команду меню Файл^Сохранить как <Shift+F12> Сохраняет открытую базу данных. Дублирует команду Файл=>Сохранить Не забывайте о том, что у мыши активной является и правая кнопка. Access 2003 позволяет во многих случаях сделать работу более эффективной за счет обращения к контекстным меню. Вызвать такое меню можно, щелкнув правой кнопкой мыши на элементе окна или объекте базы данных (зарезервированная комбинация клавиш — <Shift+F10>). В ответ появится контекстное меню со списком всех или наиболее полезных действий, доступных в данный момент для выбранного объекта.
Резюме В этой главе вы познакомились с разными способами запуска Access, среди которых самые распространенные — с помощью меню Пуск или ярлыка Access на рабочем столе. Для корректного выхода из Access следует воспользоваться предложенными способами, поскольку простое отключение компьютера чревато серьезными последствиями, а самое печальное — потерей ваших данных. Были даны краткие характеристики основным элементам экранного интерфейса Access, а также представлены основные типы окон программы, включая окна базы данных, таблицы, формы, запроса. В режиме конструктора работа с объектами базы данных выполняется в специальном окне — окне конструктора, которое обычно используется вместе со вспомогательными окнами и панелями. В целом, всю систему Access можно смело назвать контекстнонастраиваемой, поскольку то, какие кнопки расположены на панелях инструментов, сколько панелей появляется на экране и какой набор команд предлагают меню, зависит от текущего режима работы Access и востребованности тех или иных команд пользователем. Диалог с приложением возможен как с помощью мыши, так и клавиатуры. Для многих операций и команд в Access предусмотрены так называемые быстрые клавиши — клавиатурные комбинации, которые заметно ускоряют работу с этим приложением.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Программу Microsoft Access можно запустить следующими способами: а) с помощью ярлыка Access на рабочем столе Windows; б) с помощью меню Пуск операционной системы Windows; в) дважды щелкнув на ярлыке Мой компьютер рабочего стола Windows; г) через программу Проводник Windows. 2. Корректно завершить работу программы Access можно, выполнив следующие действия: а) выключив компьютер (с помощью кнопки POWER); б) выбрав команду главного меню Файл^Выход;
44
Часть I. Основные понятия
в) щелкнув на кнопке Закрыть { Ш ) окна открытой базы данных Access; г) щелкнув на кнопке Закрыть ( Ш ), расположенной в правом верхнем углу главного окна Access. 3. Изменить размер главного окна программы Access с полноэкранного режима на заданный пользователем можно такими способами: а) воспользовавшись служебной кнопкой Восстановить ( Ш ); б) перетащив угол главного окна программы в нужную позицию на экране; в) щелкнув на пиктограмме программы Access (S } и выбрав команду Восстановить. 4. Доступ к справочной системе Access обеспечивают следующие элементы интерфейса программы: а) помощник Microsoft Office; б) служебные кнопки главного окна программы Access; в) поле Задать вопрос;
г) главное меню Microsoft Access. 5. Просмотреть данные, которые хранятся в таблице Access, можно такими способами: а) в окне базы данных; б) в окне таблицы; в) в окне формы. 6. Изменить способ отображения значков в окне базы данных можно так: а) воспользовавшись одной из четырех специальных кнопок панели инструментов окна базы данных; б) щелкнув правой кнопкой мыши на свободном пространстве в области объектов и выбрав требуемый вариант из контекстного меню Вид; в) выбрав команду Вид1^Упорядочить значки главного меню. 7. Чтобы перейти в окне таблицы к записи с известным порядковым номером, следует выполнить следующие действия: а) воспользоваться вертикальной полосой прокрутки; б) воспользоваться горизонтальной полосой прокрутки; в) указать номер требуемой записи в поле Текущая запись навигационной панели окна и нажать клавишу <Enter>. 8. В отношении стандартной панели инструментов программы Access можно утверждать следующее: а) на панель инструментов вынесены наиболее часто используемые команды; б) панель инструментов всегда имеет неизменный вид; в) панель инструментов можно свободно перемешать по экрану. 9. Доступ к командам меню в программе Access можно получить таким образом: а) с помощью мыши, щелкнув на требуемом пункте меню; б) с помощью комбинаций клавиш, зарезервированных для команд Access; в) с помощью соответствующей кнопки панели инструментов. 10. Для вызова контекстного меню со списком доступных в данный момент для объекта базы данных действий следует выполнить следующее: а) дважды щелкнуть леаой кнопкой мыши на нужном объекте базы данных; б) щелкнуть правой кнопкой мыши на объекте; в) воспользоваться комбинацией клавиш <Shift+F10>; г) щелкнуть на кнопке Свойства панели инструментов Access.
Глава 2. Основы интерфейса Access 2003
45
Глава 3
Справочная система Access 2003 В этой главе... Поле Введите вопрос Вызов помощника Microsoft Office Справка об элементах интерфейса диалоговых окон Область задач Справка Access Резюме Тесты
езависимо от того, на каком этапе освоения Microsoft Access вы находитесь, в процессе работы с этой программой зам может понадобиться помощь. Найти ответы на возникающие у вас вопросы помогает справка Access. Поисковые средства этой мощной информационной системы позволяют быстро получить необходимые сведения, касающиеся всех аспектов разработки и использования баз данных, — от назначения кнопок меню и элементов диалоговых окон до описания различных режимов функционирования Access. Доступ к справочной системе можно получить разными способами. • Сформулировать свой вопрос в поле Введите вопрос • Вызвать помощника Microsoft Office • Использовать всплывающие подсказки • Получить справку об элементах интерфейса диалоговых окон с помощью комбинации клавиш <Shift+Fl> • Обратиться к области задач Справка Access • Воспользоваться справочными ресурсами на Web-узле Microsoft Office Online
Поле Введите вопрос Начиная с версии 2002, программа Microsoft Access предлагает доступ к справочной системе с помощью специального поля, расположенного в правом верхнем углу окна приложения, под служебными кнопками. В Access 2003 это поле называется Введите вопрос. Следуя подсказке, вы просто вводите с клавиатуры свой вопрос на естественном языке и нажимаете <Enter>. Справочная система анализирует введенный текст и подбирает темы, которые могут помочь решить вашу проблему. Появляется область задач Поиск со списком тех разделов справки, которые соответствуют введенной фразе или ключевому слову. Выбрав подходящий вариант справочного раздела,
щелкните на этой ссылке. Слева от области задач откроется окно Справка Microsoft Office Access, где представлена информация по интересующему вас вопросу. Чтобы получать конкретные ответы, формулируйте свой вопрос в виде законченного предложения, а не одного-двух слов по нужной вам тематике. Допустим, чтобы выяснить, как переместить сразу несколько элементов управления, введите Как переместить несколько элементов управления, а не просто словосочетание элементы управления. Так, например, введя вопрос Как создать форму?, из списка предложенных вариантов вы можете выбрать пункт Создание формы (рис. 3.1). В открывшемся окне Справка Microsoft Office Access будет отображаться раздел справки, описывающий различные способы создания такого объекта, как форма. Кзк создать форму
Создание формы Форму можно создать тремя различными способами . Дсталннтепьчое и обно&ле»н>.те содержание мокко най-и на веб-узле Microsoft Office Qrrfir«.
При помощи авто формы на основе таблицы или запроса С помощыо автоформ мохно создавать формы, в которых выводятся все попя и записи базовой таблицы или загрсса. Если выбранный источник записей имеет связаннее таблицы или запросы, то в форме также будут присутствовать все поли и лписи этих источников записей,
•**, Дополппельные сведения Результаты {20} , Сохранение cote-fa как страницы дзетк дэнньи
При помощи мастера на основе одной или нескольким таблиц или запросов. Мастер задает подробные всгросы сб источника! записей, полях, иг к ere, требуемых форматах и создает форм/ на основании полученных
ф£> Копирование и перемещение зпеч управления или другого злйпента ЭЙ> Создание ЛЧЭЛОГОБОГО окнд =)Й' О СВОЙСТ63'ФЭЙЛ1Ж
ПС Тру Eli""
41 Ог.здание Фчриы
Вручную в режиме конструктора. Сначала создается базовая форма, которая затем изменяется в соответствии с требованиями в релтк* конструктора.
3$ Изнеиенив Hah-n*K, -о:дзниыч с мастера чак.пе en 'lif' Подчиненные фориь.
Поиск [Автономная справка •Как создать фосчу J& Не удается найти?
_j
Рис. 3.1. После того как выбран подходящий раздел справки, его содержимое отображается в открывшемся окне справочной системы Access j
Для терминов и фраз, выделенных синим цветом в окне Справка Microsoft Office Access, имеется дополнительная информация. В действительности это ссылки, щелкнув на которых можно либо развернуть данный подраздел (такие заголовки отмечены слева пиктограммой треугольника), либо ознакомиться с описанием термина прямо внутри строки (в строку добавляется выделенное зеленым цветом описание). Шелчок на ссылке Показать все в правом верхнем углу этой панели позволяет раскрыть все подразделы и описания терминов на текущей странице. Окно справки организовано таким образом, что можно оставить его открытым, сверяясь с предлагаемыми инструкциями непосредственно в ходе работы с базой данных. Для этих целей служит кнопка Автомозаика/Разобрать на панели инструментов окна.
Глава 3. Справочная система Access 2003
47
Если ни одна из рекомендуемых тем вас не устраивает, воспользуйтесь самой последней ссылкой в области задач Поиск, а именно: Не удается найти?. Выберите этот вариант, чтобы ознакомиться с предложенными программой Access советами по получению лучших результатов поиска. Если повторный поиск также не даст результатов, обратитесь к другим методам получения справочной информации, описанным далее (в частности, к поиску нужных сведений на Web-узле Microsoft Office Online). Если в глобальной Сети вы чувствуете себя не слишком уверенно, воспользуйтесь книгами серии ...для "чайников" по данной тематике, выпушенными издательством "Диалектика", и прежде всего, книгой Дж. Левин, К. Бароди, М. Левин-Янг Internet для "чайников" 9-е издание.
Вызов помощника Microsoft Office Для тех пользователей, кто спокойно воспринимает сторонние советы и допускает наличие у серьезного офисного пакета неких "неформальных" элементов, в Access предусмотрен другой способ доступа к справочной системе — вызов помощника Office. Принцип его работы — такой же, как и для поля Введите вопрос. Ваш диалог с помощником может строиться по следующему сценарию. 1. Выберите в меню Справка команду Показать помощника. На экране появится помощник Microsoft Office — Скрепыш (рис. 3.2). 2. Щелкните на нем мышью и введите свой вопрос в текстовое поле рядом с помощником. На рис. 3.3 помощнику задан вопрос Как распечатать раздел справки? 3. Щелкните на кнопке Найти или нажмите клавишу <Enter>. В ответ помощник выводит в области задач Поиск список соответствующих вашему вопросу разделов справки. Если ни один из предоставленных разделов вам не подходит, попро- рис 3 2 Помощ буйте перефразировать свой вопрос. н и к ' office гатов 4. Щелкните на теме, которая ближе всего по смыслу к инте- прийти на помощь ресующему вас вопросу. (В нашем примере такой темой является Печать раздела справки, как видно из рис. 3.3.) Появляется стандартное окно справочной системы Access с информацией по выбранному вами разделу. Дальнейший поиск вы можете производить, уже пользуясь средствами этого окна. Выбрать другой персонаж для помощника очень просто: щелкните правой кнопкой на ассистенте и выберите из контекстного меню команду Выбрать помощника. Вкладка Коллекция появившегося диалогового окна Помощник позволяет вам познакомиться с другими персонажами, например, забавной Муркой, Колобком или Эмблемой Office. Пользуясь кнопками Далее и Назад, просмотрите доступные варианты и, выбрав подходящий, щелкните на кнопке ОК. Так как помощник является общим для всех программ Microsoft Office, изменения в работе помощника в одной программе становятся "прозрачными" и при работе в других приложениях Office. Если щелкнуть правой кнопкой на помощнике и выбрать из контекстного меню пункт Мотор', ваш ассистент вмиг "оживет", причем в арсенале каждого персонажа предусмотрено от 10 до 30 микросюжетов.
45
Часть I. Основные понятия
Micro soft ACCESS Вставка
CSPBHC
QKHQ
Как распечатать разд'-п i •.
£npae«a
Дополнительнее и OD-»:пленное сздер и™.-^ чияпо найти па ьеб-узпг- Mieiosoft Office Ол!пс 1б( логэлнительныесвед* Создание таблицы с помощью мастера Создание таблицы путем ввела Доставка Заказано
Выберите действие:
Заказы
Начали parjotu пользователей, работы '.
Получение спрэе к и по свойствам i г 1 rt • i:t::-.. спээеки чри написаиик
Сотоудчики | I]
Типы ГОБ-ЭРЫ
Поиск [Автономная спраекг Как распечатать раздел справки Не УДЗЕТСЯ найти'
Рис. 3.3. В списке разделов справки, предложенных помощником, как правило, уже есть нужный вам вариант
Временно скрыть помощника Office можно, щелкнув на нем правой кнопкой мыши и выбрав в контекстном меню команду Скрыть. Если же понятие "дружественный интерфейс" никак не ассоциируется у вас с присутствием помощника-мультяшки и вы хотите обращаться к справочной системе без посредников, выполните следующие действия. 1. Щелкните правой кнопкой на помощнике. 2. Выберите в контекстном меню ассистента команду Параметры, чтобы открыть диалоговое окно Помощник (рис. 3.4). 3. На вкладке Параметры этого окна сбросьте флажок опции Использовать помощника и щелкните на кнопке ОК. Теперь помощник отключен. Снова воспользоваться услугами ассистента Office можно, выбрав команду главного меню Справка^Показать помощника. Технические подробности
Несмотря на частые упреки в навязчивости, помощник, тем не менее, может быть полезен пользователя м-новичкам, осваивающим Access. Вкладка Параметры окна Помощник (см. рис. 3.4) позволяет задать для помощника наиболее оптимальный режим работы. Так, например, если установить флажок отображать полезный совет при запуске в группе Отображать советы, помощник будет выводить Совет дня при запуске приложения. Кроме того, помощник может отображать подсказки о комбинациях клавиш, информировать о различных возможностях Access и методах их более эффективного использования и т.д.
Глава 3. Справочная система Access 2003
Шшейшй
Параметры |
15* Йспепь1овать поющника 1~ отображать справку для мастеров
Р це закрывать
!•• етсбракать сообцения помощники
iР? звуковое grrr. сопр
i
просиатривать две справочных системы при работе с VBA -
Отображать советы Р^ об nmoabjoeartw возможностей грограмиы Г" отобраЛатьтольковаанывсоветы Г" об операциях t пьщью Р о «материях клати
Г" отображать полезиь^ сов*т при \Mlyoce Оактнть журнал I
Рис. 3.4. Оптимальный режим работы помощника (в том числе и "спящий") можно выбрать в диалоговом окне Помощник
Справка об элементах интерфейса диалоговых окон [§?]
Еше один способ, позволяющий в ряде случаев сэкономить время и получить краткую информацию об элементах экранного интерфейса Microsoft Access, — воспользоваться комбинацией клавиш <Shift+Fl>. Простейшая форма помоши, которая поддерживается системой 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 Дс по лните<1бные сведения
1. Сткройте таблицу, запросили форму в рекюте таблицы, 2. Выполните одно или оба следующих действия.
Рв5ультаты (7)
v Изменение painty столбца
j «$• MSMSHeHUB СПИСКа, ПОЛЯ СО СПИСКОМ К1
рлскмнвггещегося сгатаа
!
А Щ Рагрешвнк* sorpotOBj сьязаинькс отчетами 10000 French! E.р.А. : 10001 MerePailord 10003 Fokoeh'faH ! Выберите прадый край и и дваэеды нажмите кнопку мыши для настройки ширины по размеру да иных.
"] *6 Свойстеа спис1:э,по.пя со списком, ^закрывающегося owo;a н поли подстановок I ^ №мемемие ширины столбца в бланке I" запроса (МОЕ)
,
$t! Изменение рээмерое Поиск
выполните одно т следующих действий.
Д в топочная справка
Чтобы идать конкретную ширину столсиа, установите уклмтель на правую границу столбца, как показано не рисунке, и перетащите границу столбив до нужной ширины,
Как изпемнте ширину столбца?
Для Vpro чтобы ЧЭИЕНЧТЬ ширину столбца по размеру
1
Ц Не удается найти?
шм
Рис. 3.7. Сформулируйте свой вопрос и воспользуйтесь поисковыми средствами, доступными в области задач Так, например, если вам требуется подробная информация о том, как создать запрос к данным, выполните следующее. gg 1. Щелкните на ссылке Оглавление области задач Справка Access. 2. Из списка "книг", предложенных в оглавлении, выберите ту тему, которая ближе всего по смыслу к интересующей вас проблеме. Очевидно, что такой темой для рассматриваемого примера является Создание баз данных и объектов и работа с ними. 3. Щелкните на пиктограмме книги или непосредственно на выбранной теме, чтобы появился список доступных разделов справки. Изменится и пиктограмма темы: теперь книга "открыта". 4. Выберите подходящий раздел (Объекты баз данных) и повторите шаг 3 еще два раза, поскольку необходимо раскрыть еще два вложенных списка разделов. Как видно из рис. 3.8, требуемый справочный документ нижнего уровня называется Разработка запросов (MDB). Щелкните на этом пункте, чтобы отобразить в окне справки нужную вам информацию. 5. Ознакомившись с предложенным справочным материалом, вы можете перейти по ссылкам самого текста к новым страницам справки, выбрать другой раздел оглавления в области задач Справка Access или закрыть окно справочной системы, щелкнув на кнопке Закрыть ( ШЗ) в правом верхнем углу окна. Чтобы напечатать текущий раздел справки, щелкните на кнопке Печать (см. рис. 3.8) на панели инструментов окна Справка Microsoft Office Access и укажите в открывшемся диачоговом окне Печать нужные параметры печати.
Глава 3. Справочная система Access 2003
Справка Access
cs<Ti«f oe сглаЕге-eie.
Разработка запросов (MDB) Примечание. Сведения в данном раадепе относятся только к бааам данных Mcrosoft Access (.mdb). Еспн открыть запрос в режипе конструктора «пи если открыть форму, отчет ипи таблицу, а ;атем открыть окно расширенного фильтра, отображается 5лан*; запроса, в которого пользователь мо*ет изменить запрос длч по-пучршя нужных результата!
'jif Дополнительные сведения
Оглавление •& Запуск и параметры fl?* Печать фанпсе (jJCoiWHMe баз даты* и объектов и работа с ними •адбаэы данных Access (г* Разработка базы данных ^'Создание базы данных Microsoft Setess *f Улучивьи* проивЕодительчосгн базы д»-ны>: Micro I -(» № пользование анзпизаторв быстродействия дня ra_L ;'"Pa6ciTa с файпаин Microsoft Access - Преобразование 6ai данных Microsoft Access _ ;Обьекть1 6а) данных --^Работа с тайпицани •^Работа с формами •Ж Работа с отметят ^Работа с мпросами -^Открытие, просмотр и выполнение janpocoe
^ Типы запросов (Мэв^Ц; Отображение s залросе только
Рис. 3.8. Ссылка Оглавление позволяет выбрать и просмотреть различные разделы справки
Поиск справочной информации в Internet С выходом каждой новой версии приложения Access все четче прослеживается тенденция к интеграции средств этой программы с ресурсами, доступными через Internet. Организация справочной системы Access 2003 служит тому ярким примером. При работе со справкой в версии 2003 любого приложения Microsoft Office существует единое правило: если в текущий момент времени у вас есть соединение с Internet, по умолчанию все поисковые операции будут проводиться не только в автономной (локальной) справочной системе, но и среди ресурсов Web-узла Microsoft Office Online. В этом случае в области задач (панель результатов Поиск) будут отображаться как разделы автономной справки, так и обновления разделов справки и шаблонов, имеющих отношение к введенному вопросу. В списке найденных подходящих разделов могут также присутствовать ссылки на дополнительные статьи, опубликованные на Webсайте Microsoft (рис. 3.9), учебные курсы и многие другие ресурсы. Автономное оглавление справочной системы в этом режиме также становится интерактивным. Технические подробности Настройка подобных возможностей осуществляется с помощью диалогового окна Параметры служб, обратиться к которому можно, щелкнув на ссылке Параметры содержимого в сети области задач Справка Лссезз. Как видно из рис. 3.10, по умолчанию флажок опции Показать содержимое и ссылки с Web-узла Microsoft Office Online установлен. Если этот флажок снять, при любых условиях поиск будет автономным, а с панелей области задач исчезнут любые ссылки на Web-узел Microsoft. Также по умолчанию при наличии подключения к Internet в списке Область поиска области задач Поиск установлена опция Office в Интернете. При такой конфигурации результаты поиска на Web-узле будут включать все типы содержимого (например, ссылки на интерактивные курсы). Чтобы ограничиться ссылками только на справочные материалы, выберите пункт Помощь в списке Область поиска.
Часть I. Основные понятия
Результаты (УЗ) с веб-уэпа Office Onlne "<£
1 &У Задание параметра печати га*-дои записи, гр/ппы или раздела на огдельной странное Печать глписч, таблицы или сёъекта базы данных j ;g Приложение rtocsoft Office Document Imaging
О данны« XML и программе Microsoft
I 0 ReportML e Access го
Поиск как распечатать раздел справки •шй hie '/дается найти?
Рис. 3.9. В список рекомендуемых справочных материалов включены ссылки на статьи Webузла Microsoft Office Online
Теперь при выборе раздела, ссылка которого "ведет" в Internet, автоматически запускается программа Microsoft Internet Explorer, обеспечивая доступ к нужным материалам на Web-узле Microsoft Office Online. Посетив этот интерактивный справочный центр Microsoft, можно получить ответы на наиболее часто задаваемые вопросы по всем продуктам Office 2003, ознакомиться с обзорными статьями по этим приложениям, пройти интерактивный курс обучения, найти полезные ссылки, а также свободно загрузить последние обновления, советы, рисунки и шаблоны. (О том, как загрузить новые шаблоны с Web-узла Microsoft, вы узнаете в главе 5, Создание новой базы данных) Параметры служб Параметры! Параметры содержимого в сети U Веб-узел Microsoft Office Online годер*нт тысячи шаблонов, разделов 9 справки н клипов мультимедиа, котяры* вы можете использовать при райоте над своими проекгвгп.
W Показать :адеруимое и ссылки с веб-уэла Microsoft Office Online (? Двтематический псмск в сетевси содержимая при чэпичии подключен! я Г~ Автоиатнческн отображать справу по шаблону (при ее наличии) I? Показывать ссыпки на матернэоы веб-yjna MKrosoft Office OrJine
Рис. 3.10. В диалоговом окне Параметры служб можно установить режим функционирования справки
Глава 3. Справочная система Access 2003
55
Если вести поиск информации на Web-страницах Microsoft вы намерены самостоятельно, выберите команду главного меню Справка^ОгПсе в Интернете или обратитесь к ссылкам группы Office в Интернете области задач Справка Access. В этой группе доступны гиперссылки, обеспечивающие переход к следующим ресурсам. • Начальная страница Web-узла Microsoft Office Online (ссылка Подключиться к Web-узлу Microsoft Office Online). Чтобы сузить область поиска и работать с материалами, относящимися непосредственно к программе Access, щелкните на одноименной ссылке в колонке Microsoft Office (так, как показано на рис. 3.11). ;j|Mitri»oft Office ОчЬле - домашня н страница - Mkrosirfl lirfentet ЬФ(Е*
.com/bo™
Домашняя страница .£ СОВвТЫ ПО ПрОвКТИрОВЗНИЮ
базы данных Как получить от своей ба*ы данных то, что нужно
На этой неделе на веб-узпе OfTite Online • Саэд•>»*«? cBfui/ собстинньл фигя*нлкий • Днчь-э^ия т^еттэ Е ппипожения word • гмчаяо работы е фдачулая! 11
Создан:'^ подпоен для re^t/ гоо&иенц!
Обновление С важные .-: обиоевеш Клипы по тем..
t,
Советы па работе с £';>:.!.Юм-ости '1 10 причин дач шч'юпыиили^ 1 Visio 2003
Microsoft Office
Испольгование в расписаниях ограничений, сроков окончания и ресурсов Учебный лч рс по PowerPoint
Решения пару
Использование анимаций в презентациях №«>явозможности Project StervJsrd _00: Свщие сеегенич о приложе-**! 4'ofl ЗХ'З Вопросы и спзвты о nportaiMe CneNotf
аюэ
Испопьэ)'йте Word для с oi дани я фирменной шапки писем
LJ Рис. 3.11. Начальная страница службы Microsoft Office Online
• Web-страница Microsoft Office Access 2003<=>Помощь (ссылка Последние сведения об использовании Access). Здесь представлен постоянно обновляемый список ссылок на справочные материалы по программе Access 2003, куда включены как разделы, доступные в автономной справке, так и многие дополнительные сведения. • Конкретное тематическое содержимое Web-узла Microsoft Office Online (ссылки Помощь, Учебный курс, Сообщества, Загрузка).
Резюме В этой главе дано описание справочных средств программы Microsoft Access, а также рассмотрены различные способы доступа к этой справочной системе, включал вызов помощника Office, поиск информации средствами поля Введите вопрос и работу с инструментами области задач Справка Access. Для обращения к справке Access традиционно используется клавиша , однако теперь при ее нажатии появляется не окно справки, а новая область задач — Справка Access.
Часть I. Основные понятия
В Access 2003 справочная система претерпела заметные изменения, отношение к которым у многих пользователей остается достаточно неоднозначным. Большой акцент сделан на интеграции автономной справки с интерактивными ресурсами специализированного справочного Web-узла Microsoft Office Online. Получить доступ к интерактивной службе помощи Microsoft можно как с помощью ссылок областей задач, так и с помощью команд главного меню.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Обратиться к автономной справочной системе Access можно с помощью следующих инструментов: а) помощника Microsoft Office; б) области задач Справка Access;
в) поля Введите вопрос; г) команды главного меню Справка^ОгЙсе в Интернете. 2. Вызвать помощника Microsoft Office можно такими способами: а) нажать клавишу ; б) выбрать команду главного меню Справка^Показать помощника; в) выбрать команду главного меню Справка^Справка: Microsoft Office Access; г) воспользоваться комбинацией клавиш <Shift+Fl>. 3. Чтобы выбрать другой персонаж для помощника, следует выполнить такие действия: а) щелкнуть на помощнике и ввести в текстовое поле Выберите действие имя нового персонажа (например, Колобок), после чего щелкнуть на кнопке Найти; б) выбрать команду главного меню Справка^Скрыть помощника; в) щелкнуть правой кнопкой на ассистенте и выбрать из контекстного меню команду Выбрать помощника; затем на вкладке Коллекция диалогового окна Помощник найти для себя новый персонаж. 4. Решительно отказаться от услуг помощника можно так: а) щелкнуть на помощнике правой кнопкой мыши и выбрать в контекстном меню команду Скрыть; б) щелкнув правой кнопкой на ассистенте, выбрать из контекстного меню команду Выбрать помощника; затем на вкладке Коллекция окна Помощник сбросить флажок опции Использовать помощника; в) щелкнув правой кнопкой на ассистенте, выбрать из контекстного меню команду Выбрать помощника; далее в диалоговом окне Помощник (вкладка Коллекция) сбросить флажок опции отображать сообщения помощника. 5. Чтобы получить краткую справку об элементах интерфейса диалогового окна Access, следует поступить таким образом:
а) ввести вопрос об интересующем вас объекте в поле Введите вопрос; Глава 3. Справочная система Access 2003
57
б) выбрать команду главного меню С правка-^Справка: Microsoft Office Access; в) воспользоваться комбинацией клавиш <Shift+Fl>; г) щелкнуть на кнопке с вопросительным знаком, расположенной в верхнем правом углу диалогового окна. 6. Открыть область задач Справка Access можно следующим образом; а) нажать клавишу<Р1>; б) выбрать команду главного меню Справка ^Справка: 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
Режип открытия по умолчание <* общий доступ 1~~ «ююпопьный доступ
Время юнидами! QlEiDDE (с) д обновпения
Бляо-роака по ^ отсутствует
Чисто повторов обновления; Период обновления ODBC (с): Период повтор* оставления (мс'1
Блокировка загисеи три открытии БД
Отмена
I
Применить
Рис. 5.1. Теперь при создании новой базы данных по умолчанию будет использован формат Access 2002-2003
78
Часть II, Создание базы данных
Как видно из рис. 5.1, чтобы получить доступ к диалоговому окну Параметры, в Access должна быть открыта база данных (в данном случае это учебная база данных Борей)
Создание пустой базы данных С точки зрения пользователя, создание пустой базы данных — это некая формальная процедура, извещающая систему о ваших намерениях в дальнейшем заполнить этот файл базы данных реальными таблицами, формами, отчетами и другими объектами. Будем считать, что приложение Access уже запущено. Чтобы создать файл новой базы данных, выполните следующее. 1. Если в окне программы Access у вас уже открыта область задач (в рамках этой главы речь идет о вкладке Создание файла), выберите пункт Новая база данных. Если область задач не отображена, открыть ее можно, щелкнув на кнопке Создать панели инструментов База данных. Появится диалоговое окно Файл новой базы данных (рис. 5.2). файл
Правка
Вид
--
Вставка
-
Сервис
QKHO
. - - • " > •
^правка
';•.
Рис. 5.2. Укажите имя и место хранения файла новой базы данных 2. В текстовом поле Имя файла укажите имя нового файла базы данных (расширение .mdb система Access добавит автоматически) и выберите место его хранения. Для этого шелкните на стрелке раскрывающегося списка Папка в верхней части окна и выберите в дереве каталогов нужную папку. По умолчанию программа Access помещает файлы в папку Мои документы и предлагает для базы данных имя dbl (db2, если файл dbl.mdb уже существует, и т.д.), которое можно изменить, введя, например, Интернет-аптека. При создании базы данных на основе шаблона (эта процедура будет описана ниже в этой главе) мастер создания БД присваивает ей имя, добавляя "Г' к имени выбранного шаблона, например Склад1.
Глава 5. Создание новой базы данных
79
3. Указав все необходимые параметры для файла базы данных, щелкните на кнопке Создать. В рабочем пространстве программы Access открывается окно новой базы данных (рис. 5.3). в Ш Интерне г-аптек*: база дзмнЫк! ^Конструктор _J Создать
т
." .;_-тн|-е табякод е ре "Симе конструктора ' Таблицы у
Запросы
Coiaanne таблиць! с помощью гчастера Со*д«ние табжцы путем ввода данных
•J3 ворча Ш
Отчеты
"j| Страницы j
Макросы
..«£, Модули Гр>ты ^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дачная бумага ЕЕщЭЕЙЕЯЭИ Промышленный Рисовая бумага Рисунок Суии Стандартный Чертеж
Отмена
<йамд
flanee>
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). ГГтланнр Ьлз длннын Уклмиы все сведения, кеобюдимыв для смдагвта ба>ы данных с помощью пйстера, Запустить базу данных?
Г" Вывести справку по роботе с базой данных
Отмена
<Намд
Рис. 5.14. Все готово для создания мастером новой базы данных и ее объектов Создание баз д-энный СоэДвние базы данных.,.
Создание отчета; Продажи по товаран.
Рис. 5.15. Идет процесс создания мастером новой базы данных
Когда база данных будет создана, на экране откроется окно Главная кнопочная форма (рис. 5.16). В дальнейшем кнопочная форма будет автоматически появляться при открытии этой базы данных. С таким объектом, как кнопочная форма, вы уже, скорее всего, знакомы — подобная форма появляется и при открытии учебной базы данных Бореи. Назначение ее кнопок объясняют отображаемые справа подписи. Основная функция такой формы — помочь пользователям, особенно начинающим, ориентироваться в пространстве объектов базы данных и управлять ими. Чтобы закрыть кнопочную форму, щелкните на служебной кнопке Закрыть ( 03 ), расположенной в правом верхнем углу формы. Технические подробности Если вы не нуждаетесь в "услугах" кнопочной формы, отключите ее запуск при открытии базы данных. Для этого выберите команду Сервис ^Параметры запуска и в открывшемся окне Параметры запуска из раскрывающегося списка Вывод формы/ страницы выберите пункт (отсутствует). Затем шелкните на кнопке ОК.
Глава 5. Создание новой базы данных
87
Рис. 5.16. Окно Главная кнопочная форма навигации по новой базе данных
это инструмент
По окончании работы мастера окно новой базы данных (Прием заказов ТестоваяБД) минимизировано в левом нижнем углу окна программы Access. Разверните его, дважды щелкнув на заголовке окна, и ознакомьтесь с теми объектами базы данных, которые создал мастер. Чтобы сделать это, выберите на панели Объекты в левой части окна интересующий вас тип объектов и щелкните на соответствующей кнопке, например Таблицы. Теперь можно приступить непосредственно к работе с данными. Таблицы, созданные мастером, пусты. Заполнить их можно либо в режиме таблицы, либо воспользовавшись формами. Когда в таблицах появятся данные, можно выполнять запросы и генерировать отчеты. О том, как это сделать, речь пойдет в следующих главах. Технические подробности
Приложение Microsoft Access предусматривает еще одну возможность найти подходящий вам шаблон — обратиться на Web-узел компании Microsoft. Однако путь к требуемому шаблону (а точнее говоря, коллекции баз данных, которые уже содержат некоторые демонстрационные записи) может оказаться весьма тернистым и запутанным. Чтобы все-таки добиться желаемого результата (пусть даже и "англоязычного"), следуйте приведенным ниже инструкциям. 1. В группе Шаблоны области задач Создание файла выберите пункт Шаблоны на узле Office Online, чтобы попасть на начальную страницу шаблонов Web-узла Microsoft Office Online (рис. 5.17). Аналогичная по своим функциям кнопка доступа предусмотрена также в диалоговом окне Шаблоны (см. рис. 5.8). 2. Шаблоны русскоязычной Web-странииы, показанной на рис. 5.17, в основном предназначены для приложения Microsoft Word, поэтому следует сменить региональные настройки и обратиться к ресурсам исходного (нелокализованного) Webузла Microsoft Office Online. Для этого щелкните на ссылке Узлы Office на разных языках (см. рис. 5.17, группа Всемирный в левой части страницы). 3. На новой Web-странице Microsoft Office Online на разных языках щелкните на ссылке Соединенные Штаты Америки, чтобы перейти к странице Templates (рис. 5.18). 4. В поле поиска Search справа от указанной категории Templates введите слово Access и щелкните на кнопке Go, как показано на рис. 5.18. 5. Появится страница Searched templates for: "Access" со списком шаблонов для Access. В нашем примере таких страниц оказалось две (рис. 5.19). Щелкните на нужном вам шаблоне (на рис. 5.19 это позиция Customer orders database). 6. На странице выбранного шаблона щелкните на кнопке Download Now, как показано на рис. 5.20, а затем на появившейся странице с лицензией щелкните на кнопке Accept внизу страницы, чтобы инициализировать процесс загрузки шаблона на ваш компьютер.
Часть П. Создание базы данных
То? Не отказывали себе в удовольствии?
' Обсчете . Шаблоны
Успокойтесь. Шаблоны помогут подобрать
Картинки и «.гя-ги*
Клипы по ем
Другие наблоны ь Расписание UiSix'-Mii
Загрузи г
Л
• Уввдоял»** о профосе платежей • Объявпен^е о грол^чах
Решения партнеров Office Сьедення эттрадуктазе
ССЫЛКИ ДГ 'I б
доступа
ига пч Свяжитесь 1_нэми Лр*дя«'ить uafinoH Подписаться ги &ОЧ1етеи!> ОТЛ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£<::ri<M
seas (ti tps- for tetter r*s:j£s Cthw places to bokfor "Access": • The ler.C of Microsoft Office Onbe
] Recipe collet tion database Hume aridCiwnrjiiity > 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 &
Главке
Назад -
Вид *i
№6ранное г-
Сервис
Справке
• i i J Поиск
Адрес; J»http:/yoffice.i^rcrtoft.cc«^en4«es/pfe¥*^.aa>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 <•" Ледовые f Ли|Л1ые Образцы таблиц: Список рассыпки Контакты Клиенты Сотрудники Заказь
гисаннеТоеарл КодТипа КодПоставщнка СерийныйНомев НаСкяаде Заказано Цена Mi
Рис. 6.3. Таблица Товары будет включать поле Код Товара Ниже указано назначение остальных кнопок для работы с полями будущей таблицы. •4* Кнопка "»" — включает в новую таблицу сразу все поля из списка Образцы попей. s- Кнопка "<" —исключает из списка полей новой таблицы ранее включенное туда поле. -С* Кнопка "«"— позволяет начать процесс выбора полей сначала (щелчок на этой кнопке удаляет из списка Образцы полей вес ранее выбранные поля). •Ф- Кнопка Переименовать поле — если вы хотите назвать поле как-то иначе, щелкните на этой кнопке, введите в открывшемся окне Переименование поля свой вариант и вернитесь в окно мастера, щелкнув на кнопке ОК. 5. Чтобы включить в таблицу все необходимые вам поля, повторите шаг 4 требуемое число раз. Мастер позволяет включать в новую таблицу поля из других таблиц. Когда все поля выбраны, щелкните на кнопке Далее, чтобы перейти к следующему этапу создания таблицы. Вернемся к нашему примеру. На этапе проектирования для таблицы Товары была разработана структура, которая содержит 8 полей (включая поле Код Товара).
Глава 6. Создание и модификация структуры таблиц
95
Опишем последовательность действий при работе с мастером таблиц для оставшихся 7 полей. * Поле НаименованиеТовара. В списке образцов полей мастера есть поле ОписаниеТовара. Выберем его, включим в список полей будущей таблицы, а затем переименуем, как показано на рис. 6.4.
Выберите rfpasuw таблиц для применения лрк. создан™ собственной таблицы, „ Быбеонтекатвгспиюг обол»цтабг-*.ы s >ати1 нужные обоа цыгопей. Допускается I • ли-исттопь^оваться гшлв. ,ет /делить по!дней. ОК
Поля твой таблицы;
Рис. 6.4. Мастер позволяет переименовать только что добавленное поле
» Поле ЕдиницаИзмерения. В качестве исходного выбрано поле ОписаниеТовара (оба поля имеют текстовый тип), а затем переименовано в ЕдиницаИзмерения. * Поле Производитель. Для него смысловым эквивалентом вполне может стать поле текстового типа {поскольку это "название", а не "код") НазваниеПоставщика таблицы Поставщики. Поле также необходимо переименовать. * Поле ЦенаТовара. Тип поля — денежный, поэтому здесь подойдет поле Цена таблицы Товары, которое следует переименовать в ЦенаТовара. * Поля НаличиеТовара и Актуальность должны иметь логический тип. В принципе можно выбрать для них любой образец текстового типа, а по завершении работы мастера изменить свойства этих полей, указав логический тип. Однако в таблице Товары есть поле ПоставкиПрекращены, и хотя мастер не информирует нас о том, какого типа поля предлагаются, можно предположить, что данное поле — логическое (Поставки прекращены? — Да/Нет). Поэтому можно воспользоваться именно этим полем в качестве базового, соответственно переименовав его один раз как НаличиеТовара, а второй — как Актуальность, 4 Поле ДатаРегистрации. В качестве базового можно выбрать, например, поле ДатаРазмещения таблицы Заказы и переименовать его в ДатаРегистрации. * Когда все поля добавлены, диалоговое окно мастера будет иметь такой вид, как показано на рис. 6.5. 6. Следующее окно мастера создания таблиц предлагает задать имя для новой таблицы (оно может отличаться от указанного в образдах таблиц) и выбрать способ определения первичного ключа. Так как на этапе планирования было решено, что в качестве первичного ключа используется поле КодТовара, выберите опцию Пользователь определяет ключ самостоятельно (рис. 6.6) и щелкните на кнопке Далее. Если при создании таблицы выбор первичного ключа вызывает у вас затруднения, поручите это дело мастеру, выбрав опцию Microsoft Access автоматически определяет ключ. Выбор первичного ключа будет подробно рассмотрен в следующем разделе этой главы.
Часть II. Создание базы данных
[Создание таблиц
-
Эыберите обрыщи таблиц для применения при создании собственной таблицы, Выберите категорио и образец таблицы, а затаи нужные образцы полей. Допускается выбс» полей wнвстолыотетв6я№.Ее№1зар«яе неявно, будет ян использоваться лолз -:ияинет, лучше добавить это попе в таблиц?. Его несложно будет удалить позднее. - Обра«ыпопей:.
Оэля новой таблицы; КодТовара Нанменов ашеТоварэ ЕднницаИэлерения Проиэвсчитгель Цен-зТовэра НалитчиеТовара актуальность
.'А
Лвжииеновать поле. Далее >
Рис. 6.5. В таблицу Товары добавлены все поля
Задайте имя для новой таблицы:
поле однозначно определяет каждую запись |ы подобна тому, «ж нонерной знак аанпзнвчко вляет автомобиль.
Выберите способ определения ключа .
определяет клгоч ыиоетотепьно.
Рис. 6.6. Мастер предлагает указать имя будущей таблицы и способ определения ключа 7. В том случае если ключ вы задаете самостоятельно, мастер предложит вам выбрать нужное поле, а также указать, какие данные должны в нем содержаться (рис. 6.7). Поэтому из раскрывающегося списка в верхней части окна мастера выберите поле Код Товара, а в качестве значений данного поля — автоматически генерируемую последовательность номеров (первый из трех предложенных вариантов, как показано на рис. 6.7). Щелкните на кнопке ОК, чтобы перейти к заключительному окну мастера. Если в базе данных, для которой создается новая таблица, уже есть другие таблицы, после установки первичного ключа мастер предложит вам организовать автоматическую связь с другой таблицей. Вопросы определения связей между таблицами будут рассмотрены в главе 10, Ключи, связи и индексы таблиц. 8. Итак, мастер готов создать для вас новую таблицу. Выбрав одну из трех предложенных опций, вы можете сразу же проанализировать и изменить структуру таблицы, открыть таблицу и непосредственно ввести в нее данные или дать указание мастеру создать форму, с помощью которой будете вводить данные в таблицу. Кроме того, если вам необходима помошь, установите флажок Вывести справку по работе с таблицей, и в окне справки будет открыт раздел Работа
Глава 6. Создание и модификация структуры таблиц
97
с данными таблицы. Чтобы увидеть результат работы мастера под вашим чутким руководством, оставьте принятую по умолчанию опцию Ввести данные непосредственно в таблицу (рис. 6.8) и щелкните на кнопке Готово. Создание таблиц выберите поле с уникальными для каждой мписи да***и:
Кжив ленные должны содержаться в Ключевочтюяв?
<• Праидонатвпьные числа, автоматически присваиваемые каждой новой гаписи. ;
" ~
'
''~"~^-'
-
-
Умела, вводимые лошзсватвлвм гч* добавлении новых мписей, -
^
доЁаопонн-1 новых записей.
Одаенл
[. " <Н»аД
j iansei |
Рис. 6.7. Выберите поле для первичного ключа и способ формирования его уникальных значений Юпданив таблиц Ука>веы все сведения, необходимые для сззлопия таблицы с лонощью на стера. квйыие действия после создания таблицы;
С Льненить cтpylпl^'py т<Й1*»1Ы.
f* BefCT" дэиньв р таблицу е понощью фор>щ, ссвда&аемой пастерсм.
Г" Вывести справку 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на<актуальности записи. Значения: "Д"ГП^Т'' юге. Дата регистрации или изменения данных о покупателе в системе.
Рис. 6.15. Ключевое поле КодПокупателя отмечено слева символом ключа 2. Теперь, когда указаны все поля таблицы и определен первичный ключ, таблицу необходимо сохранить. Для этого щелкните на кнопке Сохранить панели инструментов Конструктор таблиц, в открывшемся диалоговом окне Сохранение введите имя таблицы (Покупатели) и щелкните на кнопке ОК. При работе с базой данных все вносимые в таблицу записи, а также любые изменения уже существующих в таблице данных сохраняются программой Access автоматически. Однако если в режиме конструктора создается или модифицируется структура объектов Access (таблиц, форм, запросов или отчетов), перед выходом из режима конструктора эти изменения необходимо обязательно сохранить. 3. Сохранив таблицу, можно либо сразу вводить в нее данные, щелкнув на кнопке Вид панели инструментов, либо закрыть таблицу, щелкнув для этого на служебной кнопке Закрыть ( Ш ), расположенной в правом верхнем углу окна конструктора.
104
Часть И. Создание базы данных
Если первичный ключ не определен, то при выходе из режима конструктора появится соответствующее предупреждение, и программа Access предложит вам создать ключевое поле до закрытия таблицы. Щелкнув на кнопке Да в окне сообщения, вы оставляете выбор ключевого поля за Access, и если в таблице определено поле с типом данных Счетчик, Access сделает это поле ключевым. Если такого поля нет, в таблице появится новое поле с типом данных Счетчик, выполняющее функции первичного ключа.
Создание таблицы в режиме таблицы Пожалуй, единственным "показанием" к использованию именно этого метода создания таблицы является необходимость срочно ввести в табличную структуру некоторые данные. В режиме таблицы (напоминающем создание рабочего листа в приложении Microsoft Excel) программа Access сразу предоставляет в ваше распоряжение табличную структуру, состоящую из 10 полей и включающую 21 пустую запись. Чтобы создать таблицу в режиме таблицы, выполните следующее. Щ
1. В окне базы данных щелкните на кнопке Таблицы, а затем дважды щелкните на ярлыке Создание таблицы путем ввода данных. В рабочем пространстве приложения Access появится новая таблица — Таблица"! — в режиме таблицы (рис. 6.16).
Рис. 6.16. В таблицу, создаваемую в режиме таблицы, можно сразу вводить данные 2. Укажите имена полей для новой таблицы. Для этого достаточно дважды щелкнуть на заголовке нужного столбца (Поле1, Поле2 и тл.) и ввести имя поля. 3. Задав имена полей, можно вводить в таблицу данные. Чем больше данных будет введено, тем точнее программа Access сможет определить тип данных для полей и размеры полей. 4. Закончив ввод, сохраните новую таблицу, щелкнув на кнопке Сохранить панели инструментов (или выберите команду Файл "^Сохранить) и в открывшемся окне Сохранение введите имя новой таблицы и щелкните на кнопке ОК. При сохранении таблицы все пустые столбцы, которые не были переименованы, удаляются. Быстро и легко? Несомненно. Больше того, по окончании ввода данных программа Access анализирует содержимое полей таблицы и сама задает для них тип данных, который более всего им соответствует. Однако рано или поздно вам все равно придется перейти в режим конструктора, чтобы уточнить типы полей (если Access их неверно истолкует), задать требуемые свойства полей, определить первичный ключ и выполнить другие важные операции, касающиеся структуры таблицы.
Глава 6. Создание и модификация структуры таблиц
105
в
Чтобы переключиться в режим конструктора из режима таблицы, щелкните на кнопке Вид панели инструментов Таблица в режиме таблицы или щелкните правой кнопкой на заголовке окна таблицы и в открывшемся контекстном меню выберите пункт Конструктор таблиц.
Изменение типа полей и реорганизация таблиц Прежде чем приступить к такой важной операции, как модификация структуры таблицы, следует сделать два важных замечания. • Настоятельно рекомендуется выполнять все рассматриваемые ниже изменения структуры таблицы в режиме конструктора (рис. 6.17). Хотя в режиме таблицы также можно активно "вмешаться" в структуру объекта, добавив или удалив столбцы, при этом для вас не доступны все те средства контроля, которые есть в режиме конструктора и которые служат гарантией сохранности ваших таблиц и, в конечном счете, ваших данных. Е Microsoft ftccess - [Товары : таблица] Правка
Инд
Встфка
Справка
Сервис
КодТооард ЕдиницаИзмерення Производитель ЦенаТовара Наличие!овара Актуапьность _ ДагаРеГистрации
"•«41 I n ' U.I
Текстовый Денежный Погическлй
1
Общие
Свойства ПоШ
Пбдстановг* \
255
• Размер поля > Формат поля
Маска ввода "Подпись . Эчачениелм ужиманию. s Условие на значение Сообщение об ошибке Обязательное попе Пустьи стрски Индексированное попе ."Сжатие Юннкод.
Режим If* ;•>'-
;
ч попя нижет СОСТОИТЕ из 6^ гн учетом пробелов. Для спраёкн ло попей тзжяп
.
Режим предложений 1МЕ
: Конструктор,- F6• переключение окси. Fl-cf»ee«a,
Рис. 6.17. В режиме конструктора можно модифицировать структуру уже созданной таблицы
• Будьте очень внимательны, и применительно ко всем "структурным" операциям придерживайтесь золотого правила: семь раз отмерь... Чтобы уверенно чувствовать себя, не поленитесь создать резервную копию изменяемой таблицы. (Копирование таблиц рассматривается в следующем разделе этой главы.) Приложение Access позволяет добавлять новые поля, удалять уже сушествуюшие, изменять порядок следования полей в таблице, а также модифицировать сами поля и их свойства. Нежелательно вносить изменения в структуру таблицы (особенно удалять поля) уже после ввода в нее данных. Некорректное редактирование структуры таблицы может привести к потере данных.
706
Часть II. Создание базы данных
Открыть уже существующую таблицу в режиме конструктора можно по-разному. Ц] • При активизированной кнопке Таблицы в окне базы данных выберите интересующую вас таблицу, а затем щелкните на кнопке Конструктор на панели инструментов этого окна. • В окне базы данных щелкните правой кнопкой на имени нужной таблицы и выберите команду Конструктор в открывшемся контекстном меню. • Если в режим конструктора необходимо перейти из режима таблицы, щелкните на кнопке Вид панели инструментов Таблица в режиме таблицы.
Изменение имен полей Напомним, что в режиме конструктора все изменения, касающиеся структуры объектов, необходимо сохранять. Чтобы изменить имя поля вашей таблицы, дважды щелкните на текущем имени поля и введите новое имя.
Изменение типов и размеров полей Потребность изменить тип поля для хранимых данных может возникнуть, например, в процессе тестирования будущей базы данных на пробных наборах. Другой случай — когда при импортировании таблиц выясняется, что не установлен нужный тип данных. Наименее серьезной с точки зрения последствий является ситуация, когда такое преобразование выполняется на этапе проектирования таблицы, еще до ввода к нее данных; наиболее сложной — когда уже созданы формы, отчеты, запросы, определены выражения для вычисления некоторых данных и в таблицу уже помещены данные. Если необходимо изменить тип данных для уже существующего поля, в строке, соответствующей данному полю, щелкните в ячейке столбца Тип данных, а затем, щелкнув на кнопке раскрывающегося списка ( И ), выберите новый тип данных. Изменение типов полей может повлечь за собой потерю данных. Программа Microsoft Access предупреждает об этом в специальном сообщении, прежде чем сохранить внесенные изменения. На данном этапе можно отказаться от изменений структуры таблицы, щелкнув на кнопке Отмена диалогового окна. Если вы уверены в своем выборе, щелкните на кнопке ОК. Поля, тип которых —Поле объекта OLE, не допускают никаких преобразований.
В приложении Access нельзя преобразовать данные какого-либо другого типа (даже числового) к типу Счетчик. Поля типа Счетчик — это служебные поля, которые хранят номера записей и не доступны для привычной операции ввода данных в ячейку поля. Преобразования для типа Текстовый Поле с типом данных Текстовый без колебаний можно преобразовать в Поле MIEMO, так как максимальный размер для текстового поля составляет 255 знаков, а для поля МЕМО-типа — 65 536. Понятно, что это преобразование без потерь. Обратная операция также допустима, но следует учесть, что программа Access автоматически отсечет все "лишние" (начиная с 256-го и дальше) символы тех данных, которые прежде хранились в МЕМО-поле. Поэтому такой шаг уместен, если при работе с полем МЕМО-типа выяснилось, что нет необходимости хранить в нем более 255 символов. Помните также о том, что по умолчанию Access устанавливает для текстовых полей размер 50 символов, поэтому, выполняя преобразование для МЕМО-поля, обязательно укажите достаточную для хранения данных длину поля в свойстве Размер поля.
Глава 6. Создание и модификация структуры таблиц
107
Если в текстовом поле хранились символьные представления числовых или денежных величин, а теперь возникла потребность выполнять с такими данными вычисления, можно изменить тип Текстовый на Числовой или Денежный. Программа Access правильно воспринимает символы разделителей разрядов и десятичной части чисел, учитывает символы денежной единицы и пропускает пробелы после числа, учитывая настройки, заданные в окне Язык и региональные стандарты панели управления операционной системы Microsoft Windows. При условии, что текстовые данные имеют подходящий формат представления даты и/или времени (например, 23-апр-98 или 23.04.98), поле типа Текстовый можно преобразовать в поле типа Дата/время. Текстовое поле может быть преобразовано в логическое в том случае, если в нем в текстовом виде представлены логические величины (например, логическое Да — это значения Да, Истина, Вкл; логическое Нет — это Нет, Ложь или Откл). Если текстовое поле содержит корректно отформатированную гиперссылку, то его можно преобразовать в поле типа Гиперссылка (отображаемый текст и адрес).
Преобразование других типов данных в текст Общее замечание для такого типа преобразований будет следующим: чтобы исходные значения не оказались после реорганизации усеченными, правильно указывайте длину будущего текстового поля в свойстве Размер поля. В тип Текстовый могут быть преобразованы, например, данные типа Счетчик, Числовой или Денежный. Числовые и денежные данные после этой операции будут отображаться без знаков валют и разделителей, но дробные десятичные знаки у этих данных сохраняются. Согласно спецификациям СУБД Access, числовые данные будут преобразованы в текстовые с помощью основного числового формата, а данные типа Дата/время — с помощью полного формата даты (дд/мм/тт чч:мм:сс). Вопросы форматирования данных будут рассмотрены в главе 8, Форматирование и контроль данных. Вид логических данных после преобразования остается неизменным, для прежних гиперссылок отображаемый текст выводится на экран без подчеркивания, а указатели на Internet-ресурсы становятся видимыми.
Преобразования для типа Числовой В главе 4 (см. табл. 4.1) рассматривались различные подтипы полей для типа Числовой. Для хранения значений каждого подтипа выделяется то или иное число байтов — от 1 до 16. Поэтому замена подтипа данных на подтип, для которого выделен больший объем памяти — Байт на Целое, потом на Длинное целое, далее на Одинарное с плавающей точкой и на Двойное с плавающей точкой, — как правило, не грозит потерей данных. Внимания в этой цепочке требует преобразование из Длинного целого в Одинарное с плавающей точкой, так как число байтов для хранения данных остается тем же, но изменяется точность представления чисел. Преобразование в обратной последовательности, строго говоря, не всегда возможно, так как велика вероятность потери данных. Если исходное число, имеющее дробную часть (указан, например, подтип Двойное с плавающей точкой), преобразовать в подтип Длинное целое, то в результате округления до целых дробная часть числа будет отброшена. Эти правила справедливы и по отношению к полям типа Денежный, которые преобразуются в тип Числовой. Числовой тип данных можно преобразовать в логический тип, при этом ненулевые значения преобразуются в.Да, а нулевые и пустые (Null) значения — в Нет.
108
Часть II. Создание базы данных
Свойство Размер поля Как уже отмечалось в разделе Создание таблицы в режиме конструктора, для каждого поля таблицы в области свойств Свойства поля можно определить различные свойства. Такую процедуру, как правило, приходится выполнять, когда таблица была создана в режиме таблицы или с помощью мастера создания таблиц. Вспомним знакомый для нас по разделу Создание таблиц с помощью мастера пример, когда была определена структура для таблицы Товары базы данных Интернет-аптека. Свойства для всех полей таблицы устанавливались исключительно мастером, исходя из свойств стандартных полей из списка образцов. Так, если взглянуть сейчас на структуру созданной мастером таблицы Товары, то размеры полей текстового типа будут следующими. • Поле НаименованиеТовара — 255 символов (однако проектируемое значение должно быть равным 60). • Поле Единица Измерения — 255 символов (проектируемое значение: 30). • Поле Производитель — 50 символов (проектируемое значение: 50). Поэтому для полей НаименованиеТовара и ЕдиницаИзмерения необходимо установить новые значения для свойства Размер поля. Выберите необходимое имя поля в столбце Имя поля, а затем в области Свойства поля укажите в строке Размер поля нужное значение.
Добавление полей Можно сказать, что в режиме конструктора структура таблицы, по сути, также представлена таблицей, в которой каждому полю соответствует отдельная строка. Поэтому, чтобы включить в таблицу новое поле, достаточно добавить новую строку в список полей. Порядок действий должен быть следующим. Выделите поле, над которым вы хотите поместить новое поле таблицы. Для этого щелкните на кнопке выбора записи (серый квадратик слева от имени поля; указатель мыши приобретает при этом вид направленной вправо стрелки: Ш ). 1. Выберите в главном меню команду Вставка^Строки или щелкните на выделенной строке правой кнопкой мыши и выберите из открывшегося контекстного меню команду Добавить строки. Над выделенной строкой появится пустая строка (рис. 6.18). 2. В пустой строке введите имя для нового поля, тип данных, описание (необязательно) и задайте нужные значения свойств поля.
Копирование полей При копировании полей копируется только их структура, а не сами значения. Чтобы скопировать в режиме конструктора описание некоторого поля, выполните следующее. Выделите поле, которое хотите скопировать, щелкнув на кнопке выбора записи ( Ш ) . Для выделения нескольких полей протащите указатель по кнопкам выбора этих полей.
g|
1. Выберите команду Правка^Копироватъ (или воспользуйтесь кнопкой Копировать на панели инструментов). 2, Щелкните на первой пустой строке и выберите команду ПравкаОВставить (или воспользуйтесь кнопкой Вставить на панели инструментов).
3. Укажите новое имя для скопированного поля. Глава 6. Создание и модификация структуры таблиц
109
т Товары : тдбпиц<» Имя попя КодТовара Каименоеа ннеТовара ЕднницаИэнерениЯ__ _ Производите^
>|ЦенаТовара
-1аличиеТовэра Актуальность Да таРе г истрации
Счвтнис _Твкстовый Текстовый •Текстсеый Денежный Логический Логический Лат а/время
Идентификатор товара, Уникальное число, автоматически присваиваемое повой записи. Название конкретного товара. Форма выпуска препарате». Имя производителя^ Цена товара. Признак напи1**! ипи отсутствия товара на складе. Значения: "Да"/Пвт". Служебное попе. Признак актуальности записи. Значения: "Да'УНет". Служебное поле, Дата соманнй/иаченения записи. Свойства поля •
Имя поля мо*ет состеятьшб-! знаков t учвток прсбзпоо. Для справки по темам полей нажмите "
Рис. 6.18. Над ранее выделенной строкой появилась новая пустая строка, куда необходимо внести сведения о новом поле
Перемещение полей Чтобы реорганизовать поля в таблице в режиме конструктора, выделите нужное поле, щелкнув на кнопке выбора записи @, а затем, удерживая нажатой левую кнопку мыши, перетащите поле на новое место в списке полей. Сохраните сделанные изменения. Так как операцию перемещения полей можно отнести к вполне безопасным, для полноты картины опишем, как можно выполнить ее в режиме таблицы. Щ
1. Откройте таблицу в режиме таблицы. 2. Щелкните на области выделения того поля, которое необходимо переместить. Областью выделения поля называется кнопка серого цвета с именем поля. Поле окажется полностью выделенным. 3. Наведите курсор на имя выделенного поля, щелкните на левой кнопке мыши. У левого края перемещаемого поля появится белая вертикальная черта, а вид курсора изменится так, как показано на рис. 6.19 (верхнее окно). На этом рисунке в таблице Товары поле ЕдиницаИзмерения переносится в новую позицию, перед полем ЦенаТовара.
Рис. 6.19. Последовательность действий при перемещении поля ЕдиницаИэмерения непосредственно перед полем ЦенаТовара
110
Часть //. Создание базы данных
Чтобы выделить несколько соседних полей, щелкните на области выделения поля в одном из крайних полей и, удерживая нажатой кнопку мыши, протащите указатель по соседним столбцам. 4. Удерживая левую кнопку мыши нажатой, переместите выбранное поле в нужную позицию. Когда поле окажется в требуемом месте, отпустите кнопку мыши. Поля в таблице теперь расположены в новом порядке (рис. 6.19, нижнее окно). 5. Сохраните внесенные изменения сразу, щелкнув на кнопке Сохранить панели инструментов, либо подтвердите свои действия при закрытии таблицы, щелкнув на кнопке Да открывшегося диалогового окна Access.
Удаление полей Чтобы удалить поле из таблицы, выполните следующее. Щ
1. Вьщелите поле, которое хотите удалить, щелкнув на кнопке выбора записи ( Э ). 2. Нажмите клавишу на клавиатуре или выберите команду главного меню Правка ^Удалить строки. 3. Если в таблицу уже внесены данные, Access попросит вас подтвердить свое намерение удалить выделенное поле (рис. 6.20). Для удаления поля щелкните на кнопке Да.
Уд а пить выделенные паяя л все содержащиеся в ник данные? - Для удалений полей нажмите кнопку "Да*1,
Да
Нет
Рис. 6.20. Программа Access дает вам шанс еще раз подумать, стоит ли удалять поле
Если вы удалили поле, но еще не сохранили это изменение, то вернуться к исходному виду таблицы можно, выбрав команду Правка ^Отменить удаление. Поле будет восстановлено.
Операции с таблицами В окне базы данных можно выполнить различные операции с таблицами, включая их переименование, копирование и удаление.
Переименование таблицы Даже для такой простой операции, как переименование таблицы, в программе Access предусмотрено несколько вариантов ее выполнения. • В окне базы данных выберите имя нужной таблицы. Щелкните один раз на имени таблицы. Введите новое имя и нажмите клавишу <Enter>. • Щелкните правой кнопкой мыши на имени таблицы и выберите команду Переименовать из открывшегося контекстного меню. • Выделите имя таблицы и выберите команду главного меню Правка 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> или <—»), чтобы перейти в следующее поле и ввести данные. Поле счетчика заполняется автоматически.) В таблице Товары на этом шаге вводится текстовое значение для второго по счету поля, НаименованиеТовара.
3. Нажмите клавишу (<Enter> или <—»), чтобы переместиться в следующее поле (например, для таблицы Товары это будет текстовое поле ЕдиницаИзмерения), и введите значение для этого поля. 4. Повторите шаги 2-3, пока не будут введены данные для всех полей таблицы. Когда введено значение в последнее поле записи и нажата клавиша <ТаЬ> (<Enter> или <-»), точка вставки перемещается в первое поле новой записи, как показано на рис. 7.2. вс Товары : табпица Код товар а | И аи ы в но ванне"! ЕдиййцаШм ер|Г| р оизв'ОД1ята щ Це нi аТова pajHlaл ичи аТо в ар | Акту ял ьн ост ь ] Вага Ре ги стра цу и] 11 ПИКОВИТ : сироп 150 мл КРКА 8.40грн. Да, _ Дэ 2401.lit
Рис. 7.2. В таблицу Товары уже введена первая запись
i
Что касается рассматриваемой здесь в качестве примера таблицы Товары, то при вводе в нее данных следует обратить внимание на следующие моменты. • В поле ЦенаТовара вводится только числовое значение, а видимая на экране денежная единица ("грн.") добавляется в поле автоматически, благодаря средствам форматирования поля, которые будут описаны в главе 8, Форматирование и контроль данных. • Для полей логического типа НаличиеТовара и Актуальность могут быть введены только два значения: Да или Нет. • Для поля Дата Регистрации также предусмотрен формат ввода даты: дд.мм.гг, Если при вводе информации в таблицу возникает необходимость дублировать некоторые данные сразу в нескольких записях, в Access предусмотрены специальные комбинации быстрых клавиш. <• или — вставка значения из того же поля предыдущей записи. •у- — вставка текущей даты. •$• — вставка текущего времени. •Ф- — вставка в текстовое поле символа новой строки (операция часто используется в текстовых полях большой длины и эквивалентна возврату ка[>етки и последующему переводу строки). Программа 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> или <—») или мышью, помещая точку вставки в нужное поле той же записи или какой-либо другой. В табл. 7.1 включены предлагаемые программой Access комбинации быстрых клавиш, освоив которые можно упростить и ускорить просмотр и ввод информации в таблицы. Когда таблица включает большое число полей и записей, ряд специальных клавиатурных комбинаций позволяет просматривать "полотно" таблицы поэкранно, используя тот же режим, который обеспечивают полосы вертикальной и горизонтальной прокрутки окна таблицы.
118
Часть II. Создание базы данных
Таблица 7.1. Комбинации быстрых клавиш для навигации по таблице Комбинация клавиш
Действие
(<Enter> или <-»}
Переход в следующее поле
<Shift+Tab> («->) <End> <Ноте>
Переход в предыдущее поле Переход в последнее поле текущей записи Переход в первое поле текущей записи
<Т>
Перемещение в то же самое поле предыдущей записи
<.i>
Перемещение в то же самое поле следующей записи
Переход в то же самое поле первой записи
Переход в то же самое поле последней записи
Переход в первое поле первой записи
Переход в последнее поле последней записи таблицы
Прокрутка на один экран вниз
Прокрутка на один экран вверх
Прокрутка на один экран вправо
Прокрутка на один экран влево
В режиме таблицы можно воспользоваться и другими инструментами доступа к нужным записям. • Вертикальной полосой прокрутки окна таблицы. • Навигационной панелью с пятью кнопками перехода, расположенной внизу окна таблицы. Напомним назначение этих кнопок (слева направо). (wj # Переход к первой записи таблицы. Щ * Переход к предыдущей записи. ИЗ » Переход к следующей записи. НО » Переход к последней записи таблицы. ИИ * Переход к новой записи. 15^ Кроме того, если вам известен номер нужной записи (номер строки в таблице для данной записи), введите его в поле номера записи и нажмите клавишу <Enter>. Перейти в поле номера записи можно также, нажав клавишу
Изменение существующих записей Данные, заносимые в таблицы, редко остаются неизменными. По ряду причин рано или поздно их приходится корректировать. Например, после ввода информации обнаруживаются ошибки или неточности или с течением времени необходимо уточнять хранимые сведения, обеспечивая достоверность данных и их актуальность. Данные нужной записи можно отредактировать или полностью изменить. В программе Access предусмотрено два режима изменения данных в ячейках таблиц: режим редактирования данных и режим выделения данных. Переключение между этими режимами выполняется с помощью клавиши . Важно запомнить, что в режиме редактирования указатель показывает на место вставки вводимых символов. Текущее поле при этом не выделено. В режиме выделения операции выполняются сразу для целого поля. Текущие поля, группы полей или записей выделяются цветом.
Глава 7. Ввод данных в таблицу и их редактирование
119
Вставка
ФОреет
Записи
исй№%
•..:>-*-.•
« { « 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. Комбинации быстрых клавиш для перемещения внутри поля в режиме редактирования Комбинация клавиш
Переход На один символ вправо На один символ влево
На одно слово вправо
В начало поля, размещенного в несколько строк
На одно слово влево В начало поля, размещенного в одну строку
<End>
В конец поля, размещенного в одну строку
В конец поля, размещенного в несколько строк
Перемещение и копирование содержимого полей При редактировании данных в полях таблиц Access можно воспользоваться знакомыми по другим приложениям Microsoft Office командами Вырезать, Копировать и Вставить. Помощь этих команд иногда оказывается незаменимой, например, если необходимо удалить довольно "объемистую" по своим размерам часть введенного текста из символьного поля или поля МЕМО-типа и поместить эти данные в другое поле или другую запись. Кроме того, часто приходится дублировать одно и то же значение поля для целой группы записей. Для манипулирования фрагментами данных в полях таблицы выполните следующее. 1. Выделите часть или все поле, которое необходимо вырезать или скопировать. Щ/Я 2. Выберите команду Правкам Вырезать (для перемещения данных) или Правка^ Копировать (чтобы скопировать данные). 3. Поместите точку вставки в то место, куда должны быть помешены вырезанные или скопированные данные, и выберите команду Правка^Вставить, чтобы вставить данные.
722
Часть II. Создание базы данных
Команды Вырезать, Копировать и Вставить (ЫУ-^!^ ) доступны с помощью соответствующих кнопок на панели инструментов, а также представлены в контекстных меню, которые открываются, если щелкнуть правой кнопкой на выделенном поле. Кроме того, в программе Access предусмотрены комбинации клавиш для этих операций: •Ф- (для вырезания выделенного фрагмента данных с копированием в буфер обмена); <• (для копирования фрагмента); •Ф- (для вставки фрагмента). Технические подробности Пользуясь буфером обмена Windows, можно также скопировать данные из таблицы Access для последующей их вставки в рабочие листы Microsoft Excel или таблицы Microsoft Word. Чтобы выделить прямоугольный блок ячеек данных и скопировать его в буфер обмена целиком, выполните следующее. 1. Разместите указатель мыши над левой границей левой верхней ячейки в том блоке данных, который вы хотите выделить. Указатель примет вид большого символа "плюс". 2. Удерживая левую кнопку мыши, переместите указатель в правый нижний угол выделяемого блока, как показано на рис. 7.7. Когда нужный блок ячеек выделен, отпустите кнопку мыши. 3. Выберите команду Правка ^Копировать главного меню (или воспользуйтесь комбинацией клавиш ), чтобы скопировать выделенный фрагмент данных в буфер обмена. Через буфер обмена можно скопировать одну или сразу группу записей и поместить их в ту же таблицу, например, при вводе анатогачных по своему содержанию записей. В этом случае выделенные записи копируются в буфер обмена с помощью команды Правка*? Копировать (), а затем добавляются в таблицу после выбора команды Правка*? Добавить из буфера. -JDJM 1 ПИКСВИТ сироп 150 мл КРКА 2 АУРОБИН *«азь 20 г в туб ГЕДЕОН РИХТ ВЕРОШПИР01 таил 25 мг Не: ГЕДЕОН РИХ.7. ВЙН1 ЮцеТИН таЬл Ь мг №5С ГЕДЕОН РИХТ; ДОНАЛГИН капе 250 мг № ГЕДЕОН РИХТ
нимотоп
3DMJjteioq
'БАЙЕР__
БЕРЕШ-ПЛЮС'капли 10Q мл" btPEm ФАПИМИНТ таблГнаЗО ] БЕРЛИН-XEMl' ЗЕРОКОЛД jrin Na200 "^ БИОМЕДИКЕ£_ ДИМЕДРОЛ ~тз6л_0,К №1С.БИОСТИМУЛЯ' АСКОРУТИН 'табл. №10_^БОР1ЦЛГ6ВСИ' СТОПТУССЙН гз5л"№20__ ТАПЕНА_, ЦИСТЕ НАЛ Юг^л_ ;ГАЛЕНА ' "
В,40грн. 8.83гон 6.57 грн
_19.3Угрн 11.6" грн
23Э.ООгрн_ 4Л.08грн 5.19грн 5Э.ООгрн 0.23грн_ 0.36грн 7,14грк 5".33грк _ 0.81 грн.
G3.40rm 5,71 гЖ
18 АСКОПАР
19 'АСПАРКАМ 20 КЁТОТИФЕН
табл. №10___ .табл. №50 сироп 100 мл
ЗДОРОВЬЕ Ф, ЗДОРОВЬЕ Ф, ЗДОРОВЬЕ Ф,
0,32грн. 1,26гр_н. 4,73грн.
Да Да Да Дя Да Да & Да Дв Да fla Да ,'Ь Да Дв Да Df Л^ Да
Да; ..Да1 Да^ Да; Да; Нет Да Да; Да Да Да Да Да .Ж Да Да Да Да Да
24.01.01 1203.01 14.04.01 27.04.01 06.12.01 16.0701 22.08.01 20.0Б.01 30.10.01 O2.p_2.pi 14.05.01 15.03.01 27.12.01 11.09.01 22.01.02
07 07.01 21.1101 15.03.02 22.04 02
2?
Рис. 7.7. В таблице Товары выделен прямоугольный блок ячеек, который можно скопировать в буфер обмена Windows и использовать затем в других приложениях
Глава 7. Ввод данных в таблицу и их редактирование
123
Удаление и восстановление записей Жизненный цикл таблицы, безусловно, предусматривает и такие этапы, как удаление записей. Выполнить эту операцию можно как применительно к одной записи, так и сразу к нескольким. Чтобы удалить запись из таблицы, выполните следующее. 1. Выделите запись, которую хотите удалить, щелкнув на кнопке выбора записи. Для выделения нескольких последовательно расположенных записей, не отпуская кнопки мыши, проташите указатель по кнопкам выбора этих записей. 2. Нажмите клавишу на клавиатуре или выберите команду системного меню Правка "^Удалить запись. Если удаляется одна запись, то достаточно поместить указатель в любое ее поле и выбрать команду Правка ^Удалить запись. Программа Access выведет сообщение, в котором предупредит вас о том, что предпринимается попытка удалить запись (записи) и последующая отмена этого действия будет невозможна (рис. 7.8).
Предпринимается гапмтна удалить следующее числе записей 1, Для удаления зеписей нажните кнсятку "Дй". Отмена вдменеиий будет "г мевоэкожна> ,;| г . - -Ч' / Удалить иписи" : !:
Рис. 7.8. Программа Access предупреждает о том, что в случае вашего утвердительного ответа восстановить запись вы уже не сможете Access вовсе не лукавит, выдавая вам столь устрашающее предупреждение: в дальнейшем запись действительно невозможно будет восстановить. Поэтому, если вы не уверены в том, стоит ли удалять эти данные, выбирайте отказ от изменений и еще раз все обдумайте. 3. Для удаления записи щелкните на кнопке Да. По умолчанию в диалоговом окне (см. рис. 7.8) установлено значение Да, поэтому при случайном нажатии клавиши <Enter> вы можете безвозвратно лишиться своих данных. При удалении записей, первичный ключ которых автоматически формируется в поле с типом данных Счетчик, номера таких записей будут исключены из последовательности, генерируемой счетчиком. Например, при удалении товаров, имеющих в поле КодТовара (таблица Товары) значения 5, 6 и 7, список товаров в дальнейшем будет включать номера 1, 2, 3, 4, 8, 9 и т.д.
Резюме Ознакомившись с материалом, изложенным в этой главе, можно, наконец, ввести в ранее созданную, но до недавнего времени пустующую таблицу необходимые данные. При работе с таблицей удобно использовать комбинации клавиш для копирова-
724
Часть II. Создание базы данных
ния данных и ввода текущих значений даты и времени. В режиме таблицы для перехода к нужной записи можно воспользоваться командой Правка=*Перейти, вертикальной и горизонтальной полосами прокрутки, а также кнопками навигационной панели окна таблицы. Кроме того, для этих целей в Access предусмотрены специальные комбинации быстрых клавиш. В этой главе были рассмотрены различные способы выделения и редактирования данных в поле, а также копирования и перемещения данных. Особую осторожность следует проявлять при редактировании таблиц и удалении из них записей. Все, что было сказано в предыдущей главе о пользе резервного копирования таблиц и об опасностях, которыми чревато поспешное внесение изменений в структуру таблицы, применимо и к операциям редактирования данных. Отменить последнее действие или правку можно с помощью команды Правка^ Отменить ввод, однако если запись уже удалена, ничего другого не остается, как вводить все данные этой записи заново. Что касается редактирования, то способность программы Access восстановить измененные данные напрямую зависит от "масштабов" внесенных в таблицу корректив. Если изменения выполнялись только в одном поле, для их отмены достаточно выбрать команду Правка ^Отменить ввод Если изменения затронули несколько полей записи, но не были сохранены, вернуться к исходной точке можно, выбрав команду Правка^Восстановить текущее поле/запись. Восстановить первоначальную запись после сохраненных изменений позволяет команда Правка^Восстановить запись, но лишь в том случае, если после редактирования этой записи не корректировались другие записи таблицы. Некоторые типы полей, например с типом данных Счетчик, вообще не допускают редактирования.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Для перехода в следующее поле записи можно воспользоваться: а) клавишей <ТаЬ>; б) клавишей <Enter>; в) клавишей <Т>. 2. Чтобы сохранить измененные данные в текущей записи, необходимо: а) выбрать команду Файл <=> Сохранить;
б) выбрать команду Записи^Сохранить запись; в) перейти к другой записи; г) закрыть таблицу. 3. Комбинация быстрых клавиш позволяет: а) перейти к предыдущему полю записи; б) вставить в поле текущую дату; в) вставить в текущее поле значения из того же поля предыдущей записи; г) вставить в поле текущее время.
Глава 7. Ввод данных в таблицу и их редактирование
125
4. Новая запись вводится в таблицу: а) в любом месте таблицы (для этого необходимо просто "раздвинуть" уже имеющиеся записи таблицы); б) в начало таблицы (при открытии таблицы самая первая строка становится временной новой записью); в) в конец таблицы. 5. Данные можно ввести в таблицу: а) в режиме таблицы; б) в режиме конструктора; в) с помощью форм. 6. В режиме таблицы для доступа к нужной записи можно воспользоваться: а) полосами прокрутки окна таблицы; б) навигационной панелью с кнопками перехода; в) служебными кнопками окна таблицы; г) специальными комбинациями быстрых клавиш. 7. Чтобы отредактировать содержимое поля, необходимо: а) в первую очередь выделить все содержимое поля и удалить его; б) поместить точку вставки в нужном месте редактируемого поля и внести требуемые поправки; в) удалить запись и ввести все данные заново. 8. Нажатие клавиши <^> в режиме редактирования позволяет переместиться: а) в следующее поле записи; б) на одно слово вправо; в) на один символ вправо. 9. Следующие поля можно отредактировать: а) тестовые и МЕМО-типа; б) поля с типом данных Счетчик; в) вычисляемые поля; г) числовые и денежные поля. 10. Если запись была удалена, восстановить ее можно: а) выбрав команду Правкам Отменить ввод; б) выбрав команду Правка ^Восстановить запись; в) запись восстановлению не подлежит (содержимое всех полей придется вводить снова).
126
Часть II. Создание базы данных
Работа с данными в базе данных В этой части,.. Глава 8. Форматирование и контроль данных Глава 9. Создание и использование форм Глава 10. Ключи, связи и индексы таблиц Глава 11. Поиск, сортировка и фильтрация данных Часть III включает следующие четыре главы. Из главы 8 вы узнаете о таких важных вещах, как форматирование данных и контроль ввода информации, а также освоите возможности программы Access по изменению внешнего облика таблицы, которые позволяют сделать работу с таблицами более эффективной и удобной. Глава 9 целиком посвящена таким объектам Access, как формы: их созданию, настройке и усовершенствованию с помощью инструментальньк средств конструктора форм, а также применению визуальных эффектов, превращающих стандартную форму в удобное и эффективное ^средство работы с записями таблиц. В главе 10 речь пойдет о том, как создавать, редактировать и удалять связи между таблицами, указывая гри необходимости опции обеспечения целостности данных. Среди основных задач, выполняемых базами данных, поиск нужной информации занимает1 одно из ведущих ;мест. Материал главы 11 большей частью будет посвящен поисковым операциям в таблицах, выполнить которые можно, не прибегая к запросам (запросы — это маге:риал уже следующей части книги). Кроме того, в этой главе вы познакомитесь с доступным в программе Access инструментарием сортировки и фильтрации данных.
Глава 8
Форматирование и контроль данных В этой главе... 4 Форматирование данных Ф Использование масок ввода и проверка значений * Изменение внешнего вида таблицы 4 Резюме *
Тесты
Форматирование данных В предыдущих главах книги ссылки на эту главу встречались очень часто. Наконец, пора подробно остановиться на таких важных операциях, как форматирование данных и контроль ввода информации. Общая цель, которая преследуется при их выполнении, — обеспечить достоверность и корректность данных в таблицах, а также представить их в максимально удобном для эффективной работы виде. Ключевая роль в решении этой задачи принадлежит таким свойствам полей, как Формат поля, Маска ввода и Условие на значение. Все те возможности, о которых повествуют два первых раздела этой главы, можно определить, когда таблица открыта в режиме конструктора. Напомним, что список свойств полей представлен в области Свойства поля в нижней части окна конструктора (рис. 8.1) и включает две вкладки: Общие и Подстановка. Имя ПОЛЯ '
iСодТовара t Наине и эван иеТова ра| : линии аИзи ерения Производитель ^енэТовара Наличие Товара Актуальность ДатаРегнстраиии
Тип данных Счетчик [ Текстовый .! Текстовый . Текстовый ! Денежный ; Логический ..Логический Дгта^рвия
U
I
Идентификатор товара, Уникальное число, автоматически то-евапваемое новой ^anиcи, Название конкретного Toearj?.' Форма вьпуска првпаватов, Ипя производителя. Цена товара, Признак наличия или отсутствия тошара на складе, Значения: "Да"/"Нет". Служебное поле. Признак актуальности записи. Значения: "Да7)*т\ Служебное поле. Дата создания/изменения записи.
своипвапопя Подстотэека Размер поля Фсрнат поля Маоаввода .•- „ ~ ; Подпись Значение по умолчанию Условие па значение Сообщение об ошибке О&оатвлвное поле Пустые строки. Индексированное Слатне Юникод Режим
Рис. 8.1. Область Свойства поля расположена в нижней части окна конструктора
Такой инструмент, как форматирование данных, позволяет определить способ отображения на экране вводимых данных. Изменив формат, можно представить данные в более привлекательном, информативном и доступном виде. Форматирование, в отличие от методов, рассматриваемых в разделе Изменение внешнего вида таблицы, применяется к индивидуальным полям, а не ко всей таблице. Несмотря на пугающее разнообразие форматов в Access, все они имеют свою "типовую" принадлежность (т.е. применяются строго для определенных типов данных). Форматы доступны для полей любого типа, за исключением типа Поле объекта OLE. В Access используется две разновидности форматов: встроенные (как наиболее распространенные) и специальные. Последние создаются с.помощью специальных символов. Для каждого типа полей существуют свои настройки форматирования и свои специальные символы, использование которых будет рассмотрено ниже.
Текстовые и МЕМО-поля Форматы для текстовых и МЕМО-полей создаются с помощью четырех специальных символов (табл. 8.1). Таблица 8.1. Символы форматирования для текстовых и МЕМО-полей Символ
Описание
> (больше чем) Вся текстовая информация, содержащаяся в этом поле, будет выводиться на экран ПРОПИСНЫМИ буквами
Примеры форматов (вводимые данные— вид на экране) примерввода — ПРИМЕРВВОДА ПРИМЕРВВОДА— ПРИМЕРВВОДА Примерзвода — ПРИМЕРВВОДА
< (меньше чем) Содержимое поля отображается на экране примерввола — примерввода строчными буквами ПРИМЕРВВОДА— примерввода Примерввода — примервзода @ В поле необходимо ввести символ или Формат (@@@)@@@-@@-@@ пробел
&
Формат по умолчанию. Необязательный текстовый символ
0445554433— (044)555-44-33
примервзода — примерввода ПРИМЕРВВОДА — ПРИМЕРВВОДА Примерввода — Примерввода
Символы ">" и "<" относятся ко всему полю, а "@" и "&" — соответствуют каждому символу поля. Так, например, для поля НаименованиеТовара указан формат ">" (рис. 8.2), поэтому все наименования лекарственных препаратов выводятся на экран прописными буквами. Однако в таблице данные будут храниться в том виде, в котором были введены. Технические подробности Специальные форматы для текстовых и МЕМО-полей могут включать два раздела, каждый из которых описывает различные данные, вводимые в поле. Такой формат реализует принцип "2 в I": первый раздел задает формат отображения текста, а второй — пустых строк и пустых (Null) значений. Так, например, указав для текстового поля формат @;"Не введено", можно обеспечить заполнение ячеек вашей таблицы подобными примечаниями, если данные не будут введены или введена пустая строка. Если же в такое поле вводится текст, он будет отображаться без изменений. Если для форматирования данных используется символ @, то заполнение текстового поля начинается с "младших разрядов", а слева данные будут дополнены недостающими пробелами, пока количество символов не будет таким же, как задано
Глава 8. Форматирование и контроль данных
129
в формате. Другими словами, если задан текстовый формат @ @ @ @ @ @ @ , а в поле вводится текстовое значение из меньшего числа символов (например, чай или кофе), программа запишет в поле сначала пробелы (четыре пробела для значения чай или три — для кофе), а затем уже сами данные. Имя поля 9 Ко дТ авара £ Наименование Товара •. ЕлишцлИэмеренна - Проииодитеяь ЦенаТовара НаличиеТовара • Актуальность . ДатаРегистрацик
-iSl*i
| Тш данных 1 Описание UJ Идем тиф** J.J Счатчик Текстовьн Наиантек • . Текстовьй Фориа вып: ; Текстовый Имя гроил ' ' Цена тоеа| . Денежный Логический Признак н= ' : Логический Слукебьо! -Дата/время Служебное ,
Свойств а лепя Общие
|
Размер по ля Фооматполя Маккавее да Подпись Значение по умо Условие на эначвмие Сообщение об ошибке Обяитвльное поле Пустые стро«1ж индексированное поле Сжатие Юникод гажнмГМЕ Ражнм предложений IME Омрт-теги
Рис. 8.2. Для поля НаименованиеТовара указан формат V (больше чем), в результате чего данные этого поля выводятся прописными буквами
Числовые и денежные поля Встроенные форматы Для форматирования числовых и денежных полей программа Access предлагает ряд встроенных форматов. Все они включены в список опции Формат поля (рис. 8.3) в виде пар: название формата и образец его использования. Ниже перечислены наиболее распространенные форматы. • Основной. Формат, используемый по умолчанию. Введенная информация отображается без каких-либо изменений. • Денежный. Данные отображаются в десятичном виде; если дробная часть числа отсутствует, после запятой будут выводиться два нуля. Кроме того, в число включается разделитель групп разрядов и символ денежной единицы, с учетом настроек, заданных в окне Язык и региональные стандарты (Настройка региональных параметров) панели управления Microsoft Windows. Так, например, согласно настройкам в вышеназванном окне, в качестве десятичного разделителя принят символ запятой (,), разделителя групп разрядов — пробел, а денежной единицы— символ рубля (р.). Поэтому вводимое число 1234,567 будет отображаться в таблице, как 1 2 3 4 , 57р. • Евро. В отличие от формата Денежный, в качестве символа денежной единицы здесь используется символ "евро".
730
Часть III. Работа с данными в базе данных
if
|
Товары
:
ЙЧЯПОЛЙ ТипааиАк У КодТоварэ С (етчи* -_ Наименование Товара Т кетовый ^ ЕдиннцаИзмерення Т кетовый . _....»_ Производитель Т кстоеьй _J* ЦенаТовара Д (некньй -' НаличнеТоеара Л гическнй Актуальность Л этический ДатаРегнстраиии Д iTa/BpeW"
таблица"
'"
'
•—
—
„ . „ , . .
—„Т'
I . ' " Описание ; UJ Идентификатор товара. Унжапьиое число, аЕтонатиче(ки присваиваечое ковой ааписи. "~ Название иомкретного товара, Форма выпуска препаратов,., Ияя производителя, Цена товара, Признак напшиа ипн отсутствия товара ча складе. Значения: "Да"/"Нет", Спужебчое поле. Признак актуальности мписи. Значения: "Да'ТИвт". , ;Служе6ноеполе. Датасзздапия/изманения ааписи, Свойства поля
-
Общие
| подстано!над |
- -Формет лопя - Число десятичньо знаков .- Мааса ввода Подпись : Значение по умолчанию Условие н» значение Сообщение об ошибке :'• Мязате/ьное none ~ ~ ^(ДеЕСироваилвпопе Сиарт-теги " ~
Оспсвнсй 3156,789 Денежный Э 156, 79р. Евро 3 «6.79S Фиксированный 34 56, 79 С разделителями разрядов 3 456,79 Процентный 123,00% Экспоненциальный Э,Ч6Е-ИЗЗ
!
Формат вывода значений Данного лопя. Выберите стандартный фориат *• пи сседайта новый. Дпя cnpaet^i no ttopnaT,sH чажимте
Нет "
•
Рис. 8.3. Список числовых форматов, предлагаемых в окне конструктора для свойства Формат поля
Фиксированный. Числовые данные выводятся с определенным числом знаков после десятичной запятой. По умолчанию используются настройки, принятые в окне Язык и региональные стандарты панели управления Microsoft Windows (два десятичных знака). Установить другое значение для количества десятичных знаков можно в поле Число десятичных знаков, расположенном в области Свойства поля сразу под опцией Формат поля. С разделителями разрядов. Отличается от формата Фиксированный наличием разделителей групп разрядов. Используются установки, заданные в окне Язык и региональные стандарты панели управления Microsoft Windows. Процентный. Переводит десятичные дроби в более привычный вид для расчетов с процентными величинами. Для этого числовое значение умножается на 100 и выводится со знаком процента (%). Вводить данные в поля с форматом Процентный необходимо в соответствующем виде (например, 0,15, а не 15, если речь идет о пятнадцати процентах).
• Экспоненциапьный. Числа выводятся в экспоненциальной нотации, например 2,34Е+03.
Специальные форматы Специальный формат для числового (денежного) поля может включать от одного до четырех разделов, которые отделяются друг от друга точкой с запятой (;). Первый раздел определяет формат положительных чисел, второй — отрицательных, третий — нулевых значений и четвертый — пустых (Mull) значений. Так, например, на рис. 8.3 для поля ЦенаТовара указан денежный формат в виде # ##0,00"грн.";-# ##0,00"грн.", поэтому в режиме таблицы цена товара 8 грн. 40 коп. будет отображаться как 8, 40грн. Специальное значение Null, которое может храниться в полях таблицы Access, сигнализирует о том, что в поле нет вообще никаких данных (т.е. в отличие от пустой строки в случае текстового поля или нулевого значения для числового поля, они просто не вводились).
Глава 8. Форматирование и контроль данных
131
Еще один пример. Расшифруем следующий специальный формат числового поля: +0,0;(-0,0};0,0;"Не заполнено". Если его применить, положительные значения будут выводиться со знаком "плюс" (+), отрицательные — со знаком "минус" (—), в случае нулевого значения в поле появится О, О, а для пустых значений (Null) будет выведено примечание Не заполнено. Числа будут округляться до одного знака после десятичной запятой. Специальные форматы создаются с помощью следующих символов (табл. 8.2). Таблица 8.2. Символы, используемые в специальных форматах для числовых и денежных полей Символ
Описание
. (точка) или Десятичный разделитель. Разделители выбираются с помощью настроек диалогового , (запятая) окна Язык и региональные стандарты панели управления Microsoft Windows , (запятая) или пробел
Разделитель групп разрядов. Разделители выбираются с помощью настроек диалогового окна Язык и региональные стандарты панели управления Microsoft Windows
О
Прототип разряда. В соответствующей десятичной позиции выводится цифра или 0. Независимо от числа символов 0, целая часть числа будет отображаться полностью. Например, число 3456, 78 в формате000000,000 выглядит как 0 0 3 4 5 6 , 7 8 0
#
Прототип разряда. В соответствующей десятичной позиции выводится значащая цифра или ничего не выводится. Независимо от количества символов #, целая часть числа будет отображаться полностью. Например, число 3456, 78 в формате ######,### выглядит как 3456, 78
$
В соответствующей позиции выводится текстовая константа "$" {вместо символа доллара можно использовать знак рубля (р.} или гривны (грн.)). Например, число 3 4 5 6 , 7 8 в формате $######,00 выглядит как $3 456,78
%
Процентный формат. Число умножается на 100, и к нему в конце добавляется знак процента. Например, число 0 , 3 4 5 6 7 в формате #0,00% выглядит как 34, 57%
Е- или е-
Экспоненциальная нотация (перед отрицательными показателями степени выводится знак "минус" {-), а перед положительными — ничего). Этот символ используется только вместе с другими символами. Например, в формате #,####Е-00 число 3456,7 будет выглядеть как 3 , 4 5 6 7 Е О З , а число 0,34567 — какЗ,4567Е-01
Е* или е+
Экспоненциальная нотация (перед отрицательными показателями степени выводится знак "минус" (-), а перед положительными — знак "плюс" (+)). Этот символ используется только вместе с другими символами. Например, число 3456, 7 в формате #,####Е+00 будет выглядеть как 3,4567Е+03
Поля Дата/время Список встроенных форматов для полей типа Дата/время, который предлагается в окне конструктора, показан на рис. 8.4. Здесь для каждого формата представлено его название и приведен пример использования. Выбрать подходящий вам формат очень просто: щелкните на кнопке раскрываю идегося списка, а затем — на подходящем варианте. Выбирая длинные форматы— Полный формат даты или Длинный формат даты,— удостоверьтесь в том, что ширины столбца таблицы будет достаточно для вывода этих данных в полном объеме.
Программа Access предлагает также широкие возможности, чтобы создавать специальные форматы для значений дат и времени. В табл. 8.3 представлены символы, которые используются в таких форматах. Если в специальный формат необходимо включить запятую или другой символ разделителя, вводите его в кавычках, например dddd", "dcK mmm", "уууу(среда, 12 апр, 2000).
132
Часть III. Работа с данными в базе данных
Сбдие
} полстен
Формат поля Наека ввода Подпись . - . " _ " " Значение по умолчанию Условие на значение Сообщение об ошибке. Обязательное попе . • Индексированное гкзле ' Режим BVE режим предложен*! №Е Сиарт-теги
Краткий формат даты Полный сЬормат даты Длинный формат даты Средне формат даты
19.06.9417;Э4:2Э : 19 июня 1954г. : 19-нюн-1994 ;
Длинны* формат времени 17:34:23 Средний формат времен! 5:34 Краткий формат вренечи 17:34
Рис. 8.4. Список встроенных форматов для полей типа Дата/время
Таблица 8.3. Символы, используемые в специальных форматах для полей Дата/время Символ
Описание
: (двоеточие) Разделитель компонентов времени. (Используются установки окна Язык и региональные стандарты панели управления Microsoft Windows) . (точка) или / Разделитель компонентов даты. (Используются установки окна Язык и региональные стандарты панели управления Microsoft Windows) с
Задает встроенный Полный формат даты
d
Номер дня месяца. Может включать одну или две цифры (1-31)
dd
Номер дня месяца. Включает две цифры (01-31)
ddd
Сокращенное название дня недели (Пн-Вс)
dddd
Полное название дня недели (понедельник-воскресенье)
ddddd
Встроенный Краткий формат даты
dddddd
Встроенный Длинный формат даты
w
Порядковый номер дня недели (1-7)
ww
Порядковый номер недели в году (1-53)
m
Порядковый номер месяца. Может состоять из одной или двух цифр (1-12)
mm
Порядковый номер месяца, состоящий из двух цифр (01-12)
mmm
Первые три буквы названия месяца (янв-дек)
mmmm
Полное название месяца (Январь-Декабрь)
q
Порядковый номер квартала в году (1-4)
у
Порядковый номер дня в году (1-366)
уу
Последние две цифры номера года (01-99)
уууу
Полный номер года (0100-9999)
h hh п пп s
Число часов (без вывода нулей в начале). Может состоять из одной или двух цифр (0-23) Число часов. Состоит из двух цифр (00-23) Число минут (без вывода нулей в начале). Может состоять из одной или двух цифр (0-59) Число минут. Состоит из двух цифр (00-59) Число секунд (без вывода нулей в начале). Может состоять из одной или двух цифр (0-59)
ss
Число секунд. Состоит из двух цифр (00-59)
АМ/РМ
12-часовой формат времени с обозначением времени до полудня прописными буквами AM, а после полудня — РМ
Глава 8. Форматирование и контроль данных
133
Окончание табл. 8.3 Описание
Символ am/pm
12-часовой формат времени с добавлением строчных букв am или рт
А/Р
12-часовой формат времени с добавлением прописных букв А или Р
а/р
12-часовой формат времени с добавлением строчных букв а или р
Поля логического типа Самый скромный выбор встроенных форматов у полей логического типа — их всего три: Истина/Ложь, Да/Нет, Вкл/Выкл (рис. 8.5). По умолчанию используется формат с парой значений Да/Нет. " О&шче
.
".
Свойства по ля
Подстанов ка
Фориэтполя Подпись Значение по уяолчанчо Сообщение об ошибке Обязательно* поля Индексированное поле
Да/Нет Истина/Ла*ь
Истина
Бкл/Выкл
Вкп
ШЕЕЗИИН^НННЯЕШШНН
Нет Нет
Рис. 8.5. Список форматов для полей логического типа ограничен тремя опциями Для логического Да программа Access сохраняет значение -1, а для Нет — значение 0. Поэтому, если не использовать средства форматирования, вводить в таблицу придется именно эти значения. Специальный логический формат включает три раздела, однако первый элемент представлен только символом точки с запятой (;), второй задает строковое значение, заменяющее Да, Истина или Вкл, а третий — строковое значение, заменяющее Нет, Ложь или Выкл. Например, формат ;"Имеется"[Синий];"ОТСУТСТВУЕТ"[Красный] позволит для поля НаличиеТовара выводить синим цветом текст Имеется, если товар есть в наличии, и красным цветом — текст ОТСУТСТВУЕТ, если в настоящее время заказать этот товар нельзя. Поскольку в Microsoft Access элементами управления, используемыми по умолчанию для логических полей, являются флажки, следует отключить их, если вы хотите воспользоваться встроенными и специальными форматами. Эти форматы применимы только к данным, которые отображаются в элементе управления Попе. Проверьте, чтобы значение опции Тип элемента управления на вкладке Подстановка было установлено как Поле (рис. 8.6). Рассмотрев специальные форматы для отдельных типов данных, перечислим символы, которые используются в форматах любого типа данных (табл. 8.4). Таблица 8.4. Символы, общие для специальных форматов любого типа данных Символ
Описание
(Пробел)
Выводит пробел, как текстовую константу
"ABC"
Все символы, заключенные в кавычки, считаются текстовыми константами
1
Выравнивание по левому краю
134
Часть III, Работа с данными в базе данных
Окончание табл. 8.4 Символ
Описание Выравнивает текст по правому краю, заполняя его символами, указанными после звездочки (*)
\
Выводит следующий символ как текстовую константу (можно использовать для этих же целей кавычки)
[цвет]
Отформатированные данные отображаются с использованием цвета, который указан в скобках: Черный, Синий, Зеленый, Бирюзовый, Красный, Лиловый, Желтый, Белый _
Свойства поля
:- Общие подстановка 1 Тип зяечемта управления 1ЯЯ Поле со списком
Рис. 8.6. Чтобы исключить появление флажков в логическом поле, значение опции Тип элемента управления на вкладке Подстановка должно быть установлено как Поле
Использование масок ввода и проверка значений Чему отдать предпочтение? Если форматирование помогает варьировать представление данных в полях таблицы, то такие свойства, как Маска ввода и Условие на значение предусмотрены, чтобы не допустить попадание в таблицу некорректных данных. Маска позволяет при вводе информации показывать в поле готовый шаблон, в который заносятся данные. Благодаря маскам обеспечивается соответствие введенных данных определенному формату и заданному типу значений. Как правило, маски ввода используются в текстовых, числовых, денежных полях и полях типа Дата/время. Чаще всего — для форматирования телефонных номеров, почтовых индексов или кодовых комбинаций. Если, например, тип поля задан как текстовый, но в него должны вводиться только цифры (например, телефонные номера), можно оговорить это условие с помощью маски. Кроме того, работать с масками очень удобно: при наличии в поле специального шаблона пользователю не нужно при вводе данных заботиться о соблюдении всех "формальностей", например, указания в нужных позициях пробелов, правильных разделителей, дополнительных символов и т.д. Часто, особенно у начинающих пользователей, возникает вопрос, чему отдать предпочтение: форматированию или маске ввода? Необходимо уяснить принципиальное отличие этих опций: свойство Формат поля применяется уже после того, как данные введены и сохранены в поле, а свойство Маска ввода действует еще до размещения информации в таблице, регламентируя ввод данных в конкретное поле.
Глава 8. Форматирование и контроль данных
135
Свойство Формат поля не влияет на значения, хранимые в таблице. Поэтому, если вы хотите отображать данные в том же виде, в каком они были введены, применять форматирование поля не следует. Свойство Маска ввода может использоваться в дополнение к формату или вместо него. Если для поля определены как формат отображения, так и маска ввода, то при добавлении и редактировании данных программа Access предложит в поле маску ввода, а при выводе данных приоритет будет иметь свойство Формат поли (маска ввода при этом игнорируется). Указывая и формат, и маску ввода для одного и того же поля, убедитесь в том, что они не противоречат друг другу.
Маска ввода может содержать до трех разделов, разделенных точкой с запятой {;). •
1-й раздел— непосредственно сама маска ввода (например, "Номер закаэа:"0000). Символы, которые могут быть использованы в маске ввода, указаны в табл. 8.5. • 2-й раздел — здесь указывается, будет ли программа Access сохранять при вводе промежуточные символы в таблице. Значение 0 указывает, что текстовые константы (например, дефисы и скобки в маске ввода телефонных номеров), которые добавляются к символам, вводимым пользователем, сохраняются вместе с данными; значение 1 или пустое значение этого разряда указывает, что сохраняются только сами данные. • 3-й раздел — определяет символ, используемый для отображения пустых позиций в маске ввода, куда должны помещаться данные, вводимые пользователем. По умолчанию используется символ подчеркивания (_). Маски ввода можно создать двумя способами: с помощью мастера и собственными силами. Таблица 8.5. Символы, используемые для создания масок ввода Символ
Описание
О
Цифра (0-9); обязательный символ; знаки "плюс" {+•) и "минус" (-) не разрешены
9 #
L
Цифра или пробел; необязательный символ; знаки "плюс" (+) и "минус" (-) не разрешены Цифра или пробел; необязательный символ; незаполненные позиции отображаются как пробелы при редактировании, но при сохранении данных удаляются; знаки "плюс" {+) и "минус" (-) разрешены Буква (А-Я или A-Z); обязательный символ Буква (А-Я или A-Z); необязательный символ
А а & С
Буква или цифра; обязательный символ Буква или цифра; необязательный символ Любой символ или пробел; обязательный символ Любой символ или пробел; необязательный символ
.,:;-/
Десятичный разделитель; разделители групп разрядов, времени и даты. (Используются установки окна Язык и региональные стандарты панели управления Microsoft Windows) > (больше чем) Все символы, содержащиеся в этом поле, выводятся на экран прописными буквами < (меньше чем) Содержимое поля отображается в виде строчных букв !
Заполнение маски ввода справа налево (по умолчанию — слева направо). Этот символ помещается в произвольную позицию в маске ввода
\
Выводит следующий символ как текстовую константу (можно использовать для этих же целей кавычки)
Пароль
Все символы, вводимые в это поле, будут сохраняться, но отображаться на экране в виде звездочек (*)
736
Часть III. Работа с данными в базе данных
Создание маски ввода с помощью мастера Сфера компетенции мастера создания масок ввода ограничена текстовыми полями и полями типа Дата/время. Чтобы воспользоваться услугами мастера, выполните следующее. 1. В режиме конструктора щелкните (в столбце Имя поля) на том поле таблицы, для которого будет создаваться маска ввода. 2. В области Свойства поля щелкните в поле ввода опции Маска ввода. Справа от этой строки появится маленькая кнопка с троеточием (кнопка Построить). [~] 3. Щелкните на кнопке Построить. На экране появится диалоговое окно Создание масок ввода (рис. 8.7), где мастер предлагает список возможных масок для поля с учетом его типа.
Щ
11чд<1Ние масок вводя Которая из пасок ввода обеспечивает нужный вид данных?
Проверить работу выбранной пасхи можно л топе "Проба*, - Для изменения стхе масок ввода нажит* кнопку "Список", -Млека вводе; ' ..
,"-
длинный форнат времени Краткий фориат даты Краткий формат epenem Средний формат вренеин
-&*£*: \_-
' Бил данных: 0:00:00 27.09.69 00:00 12:00
-
Рис. 8.7. Окно мастера создания масок ввода, где предлагается список готовых масок
4. Из списка доступных масок ввода выберите наиболее подходящую и щелкните на ее имени. При желании проверьте, как она работает, введя пробные данные в поле Проба. Если результат вас устраивает, щелкните на кнопке Далее. 5. Появится следующее окно мастера, где вы можете при необходимости отредактировать маску и выбрать из раскрывающегося списка Заполнитель тот символ, который будет использован в позициях шаблона. В этом окне также предусмотрено поле Проба. Когда все коррективы внесены, щелкните на кнопке Далее. 6. В заключительном окне мастера щелкните на кнопке Готово, чтобы создать маску. Через мгновение она появится в окне конструктора (рис. 8.8). О 7. Сохраните изменения, внесенные в структуру таблицы, выбрав команду ФайлОСохранить или -*++щелкнув на кнопке Сохранить.
Создание маски вручную Если вы решились реализовать свои идеи на практике самостоятельно, порядок действий при создании маски ввода несложен. Первый шаг — продумайте, какой должна быть ваша маска и какие функции она будет выполнять. Второй шаг — учитывая приведенную выше информацию о структуре маски и используемых специальных символах, введите подходящий вам вариант маски в поле Маска ввода. Так, на-
Глава 8. Форматирование и контроль данных
137
пример, для поля Телефон таблицы Покупатели может быть создана следующая маска: !\(999") "000\-0000;;_, как показано на рис. 8.9. Тогда при вводе данных в поле появится следующий шаблон-"подсказка": (.._ ...) . Ввод цифр, заключенных в скобки (код города), необязателен, а вот следующие 7 цифр (непосредственно телефонный номер) должны быть указаны. В качестве заполнителя в тех позициях, где вводятся цифры, использован символ подчеркивания. Наличие символа (!) необходимо для того, чтобы программа Access заполняла маску с правого края, иначе при пропуске кода и вводе семизначного телефонного номера (например, 444-4646) в поле высветится значение ( 4 4 4 ) 464-6. • Лок упятеян : таблица %_, ±_ _£. о_
Ш 1 .^
ИчЯЛОЛЯ КодПокуттеля РегистраиионноеИия Паропь ИияПокупатвпя Адрес Телефон ЭлектронныйАлвес Дктуашиость ДатаРеггетрачуи
•Ним•ННШНШШКГ ~ 1
Тип датых
Счв чик Тек товый Тек товый Тек товый .Т?к товын Тек товый Тек товын Логический .Дата/время
•
.-in, х[
Уникэльнче число, автоматически присваиваемое повой записи. Ичя пользователя, под которым си ^apeгиcтpиpoeaн е Internet -аптеке, .Пароль для входа в систему. .ФИО пользователя или название оргаиюации-»*1-:а)чика. :Адрес покупателя, ; Теле фон покупателя. Адрес электронной почты покупателя. -Служебное поле. Признак актуальности мписи. Значения: "flaY'Het". "Служебное поле. Дата регистрации или изменения данных о покупателе в сисчеие, »| С&ойства поля
. . , _„ ___„. Обшгл
;;
• j Подстановка
:
,; Формат паля Кратка формат д а ты Маска ввода 'Om-JKLLVOOOOiO Подпиь Зркмеяив по умолчанию I Условие иа «чачение Сообщение об ошибке .Обязательное папе Нет Индексированное попе, . Нет РеЖииВУЕ Нет контроля Режин предложений IME Нет Сиврт-теги
^J
!
!, !
------
. -
• ; •:
-
МаЖвШ1»Вво-да>жйы> j*(4blKBnb№
-
-
' . '
; Рис. 8.8. Для поля ДатаРегистрации таблицы Покупатели мастер создал маску ввода • общие
| Поастансюка
PajMep поля Формат по ля Маска ввода Подгкь Значе»*? поуислчанки Условие на значение Сообщение об ошибке Обязательное поле Пустые строки йндексиромниое поле Сжатие Юникод Ре*мн IME Рёжш предлйжемий IME Сиарт-теги
Рис. 8.9. Маска ввода для поля Телефон таблицы Покупатели Если маска создается для поля таблицы, в котором уже хранятся данные, никаких сообщений об их несоответствии маске программа Access выдавать не будет. Чтобы все-таки проверить корректность уже введенных данных, потребуется шелкнуть на содержимом поля каждой из записей таблицы. В том случае если есть какие-то неточности, на экране появится соответствующее предупреждение (сходное с тем, которое показано на рис. 8.10).
138
Часть III. Работа с данными в базе данных
Введенное зиачение не соответствует песке овода '!\(9WJ заданной дпя данного ПОЛЯ, ' •.Справка
Рис. 8.10. Введенные данные не соответствуют маске ввода
Проверка значений, вводимых в поле Самый надежный способ обезопасить таблицу от ввода ошибочных или ложных данных — обеспечить их проверку на соответствие определенным требованиям непосредственно при вводе. Некоторую часть работы по проверке допустимости значений данных программа Access выполняет автоматически. Подобную заботу она проявляет о числовых, денежных, логических полях и полях типа Дата/время. Так, например, для числового поля будет выдано сообщение об ошибке, если вы попытаетесь ввести туда буквы, другие неподходящие символы или несколько символов-разделителей подряд. Кроме того, все вводимые числа проверяются на соответствие определенному для данного поля подтипу (Целое, Длинное целое и т.д). В поля типа Дата/время вам не удастся поместить буквенные символы или значение типа 25 : 00 : 65. Однако ограничиваться только этими проверками не стоит, и для обеспечения целостности данных следует предусмотреть хотя бы простейшие операции контроля. Эффективнее всего использовать их для числовых, денежных полей и данных типа Дата/время. Характер проверки задается в поле Условие на значение области Свойства поля, и если требования условия на значение не соблюдаются, выдается сообщение об ошибке. Текст такого сообщения можно определить в поле Сообщение об ошибке. Условие на значение вводится в виде выражения (команды для вычисления значений). Приведем сейчас лишь основные сведения о выражениях, а подробнее они будут рассматриваться в части IV, когда речь пойдет о запросах. В выражениях используются обычные символы арифметических действий: + (сложение), - (вычитание), * (умножение), / (деление), Такие символы называются операторами. В любом выражении присутствует, как минимум, один оператор. Значения, над которыми производятся действия, называются операндами. Кроме математических, для сравнения числовых величин используются операторы сравнения: > (больше чем), < (меньше чем), а также = (равно), о (не равно), <= (меньше или равно) и >= (больше или равно). Для операций с логическими величинами предусмотрены логические операторы, например And, Or, Not. Логические операторы позволяют также соединять атомарные условия, например, для числового поля могут быть заданы такие условия, как: >0 (должно быть больше нуля). <>0 (не равно нулю) или >=10 And <=100 (в диапазоне от 10 до 100 включительно). Для текстовых значений существуют оператор конкатенации &, с помощью которого можно объединить несколько строк символов в одну строку, и оператор Like, который проверяет соответствие строкового объекта заданному шаблону. Внимательно проверяйте условия, чтобы они были выполнимыми (пример невыполнимого условия: <=10 And >=100).
В выражениях также могут использоваться различные функции, например, математические, статистические или получения даты и времени (функция Date()). До и после дат в выражениях ставятся символы #. Вот примеры таких выражений: >=Date() (не ранее сегодняшней даты), >=#01.01.95# And <=Date() (между 1 января 1995 года и сегодняшней датой включительно). Последнее выражение можно записать и в несколько иной форме; Between #01.01.95# And Date{), воспользовавшись другим оператором, Between...And.
Глава 8. Форматирование и контроль данных
139
Технические подробности Программа Access позволяет задавать проверку значений как на уровне поля, так и на уровне всей таблицы — тогда определенным условиям должны соответствовать значения из разных полей одной записи. Условие на значение введенных в поле данных срабатывает при выходе пользователя из поля. К таким условиям могут быть отнесены все те примеры, которые были указаны выше в данном разделе. Условие на уровне таблицы применяется при сохранении всей записи. Например, в качестве условия на значение для таблицы Заказы можно указать выражение: [ДатаРегистрации]>=[ДатаЗаказа]. Это гарантирует, что дата, введенная в поле ДатаРегистрации, будет такой же, как значение поля ДатаЗаказа этой записи или будет больше (запись о заказе не может быть зарегистрирована до его оформления). Условие на значение записи указывается в диалоговом окне Свойства таблицы, вызвать которое можно в режиме конструктора, щелкнув правой кнопкой на заголовке окна таблицы и выбрав из открывшегося контекстного меню команду Свойства (рис. 8.11).
имя поля-.
КодЗаказа ДлтаЗаказа КодПокупатепя №1яПопучатепя _ АдресПолучателя Телефон Получатвлр ЭлАдресПолучателя СостояниеЭак аза Актуальность ДатаРегистрации
I заказа. Уникальное числс^ автоматически присваиваемое новой записи
£аодпая таблица Сводная диаграмма Схепа данных.,. Текс Тек*
Режим по упопчанию . | Условие Ив значение , 1 Сообщение об сшибке Фильтр , . . .I Порядок сортировки , ! Имя годтэбяицы . , , -
' Вставить Индексы
Подстановке юпопя Длим Новые значения После! Формат попя Подпись Индексированное попе Сиарт-теги
Проверка усдмий
Основные полл , I Высота подтаблицы " Развернутая подтаблица , Ориентация". , .,-,
%:*жи>1 таблицы ~1 Дат аРегистрацин] >-[(аатаЭаказа]
|0ен_ _____
Нет - Слева направо
Имя ловя может состоять и? М IMSKGS с у JSTCM лрсйелое. Дпя справки по иненангюлелн;1Ж^т; " клавишу F1. . '','•" -,
Рис. 8.11. Правило проверки, действующее на уровне таблицы, задается в диалоговом окне Свойства таблицы Проверка значений на уровне поля Чтобы обеспечить проверку вводимых значений на уровне поля, выполните следующее. 1. В режиме конструктора щелкните в столбце Имя поля на том поле таблицы, для которого будет задано условие на значение. Например, определим условие для поля ЦенаТовара таблицы Товары. 2. В области Свойства поля щелкните в поле ввода свойства Условие на значение и введите условие на значение или щелкните на кнопке Построить ( 3 ), чтобы обратиться за помощью к построителю выражений. Подробнее о нем будет сказано в главе 13, Сложные запросы на выборку. Например, чтобы по ошибке не ввести отрицательное значение для цены товара, следует наложить на поле ЦенаТовара условие >=0.
740
Часть III. Работа с данными в базе данных
3. В области ввода свойства Сообщение об ошибке укажите сообщение, которое будет появляться на экране, если данные не соответствуют заданному условию, например Введите положительное число, как показано на рис. 8.12. Общие
] Подстановка { " :
I ЯЭОрпат поля # **0,ОСГгрн.';-* **а,оа"грн.' Число десятичных знаков Двтс Маска вводе Подпив " Значение г Условна на значение Сообщение об ошибке Обязательное поле " Нет инд&оароважое попе ; неСмарт-твги
Рис. 8.12. Согласно условию, заданному для поля ЦенаТовара, значение этого поля не может быть отрицательным. В случае ошибки будет выдано сообщение Введите положительное число
4. Сохраните изменения, внесенные в структуру таблицы, выбрав команду Файл^Сохранить или щелкнув на кнопке Сохранить. Если условие на значение задается для поля, где уже введены данные, то при сохранении таблицы программа Access поинтересуется, следует ли применять новое условие для существующих данных. После щелчка на кнопке Да выполняется проверка данных, и при обнаружении каких-либо несоответствий отображается окно предупреждения.
Рассмотрим еще один полезный пример, необходимый при работе с базой данных Интернет-аптека. В таблице Заказы для числового поля СостояниеЗаказов в качестве кода текущего состояния заказа определены только три допустимых значения; 1 — оформляется, 2 — обрабатывается и 3 — выполнен. Каким образом можно сформулировать условие проверки вводимых в это поле данных? Как уже отмечалось, программа Access автоматически следит за тем, чтобы в поле вводились только числа. А вот ограничить набор допустимых значений только тремя элементами —• 1, 2 или 3 можно с помощью следующего условия: 1 Or 2 Or 3. На практике вместо подобного нагромождения операторов Or при условии выбора возможных значений из фиксированного набора используется другой оператор, In. В этом случае в поле Условие на значение указывается следующее выражение: In (1 ;2;3). Создание простого списка подстановки Проверку условия на значение для поля СостояниеЗаказа таблицы Заказы, которая рассматривалась выше, можно выполнить более простым способом, создав список подстановки. Последовательность действий будет следующей. ШЯ 1. В режиме конструктора щелкните (в столбце Имя поля) на поле СостояниеЗаказа таблицы Заказы, а затем — на вкладке Подстановка в области Свойства поля. 2. Щелкните на поле Тип элемента управления, а затем выберите из раскрывающегося списка пункт Поле со списком или Список (в примере для таблицы Заказы использовался пункт Поле со списком). Теперь на вкладке Подстановка появился набор новых опций, которые необходимо определить. 3. Щелкните на поле Тип источника строк и выберите из раскрывающегося списка ПУНКТ Список значений.
Глава 8. Форматирование и контроль данных
141
4. Оставьте неизменным принятое для свойства Присоединенный столбец значение 1, а для свойства Число столбцов укажите значение 2, поскольку будущий список подстановки должен включать два столбца: числовой код и его описание. 5. Для свойства Ширина столбцов введите значение 0,8см;4см, а для свойства Ширина списка — значение 4, 8см. Так как число опций списка равно 3, укажите значение з для свойства Число строк списка (по умолчанию — а). 6. Для свойства Ограничиться списком укажите значение Да, тем самым ограничив число возможных значений для этого поля только теми, которые будут перечислены в списке подстановки. 7. Теперь введите элементы будущего списка в поле Источник строк в следующем виде: 1;Оформляется;2;Обрабатывается;3;Выполнен. Элементы ввода разделены символами точки с запятой. На этом этапе значения свойств списка подстановки будут выглядеть так, как показано на рис. 8.13. Ш Заказы : таблица ИкйПОлЯ
Ч КодЗэкам __ ДатаЗаказа :_. КодПокупателн :__-_ ИмяПо лучат оля j_ ДдресПолучателя ^_ Т а лефонПолу чателя -- ЭлДдресПопучателя _^ СостояниеЗаказа . ^ Актуальность ДатаРегис-рации
т&-
•••••ивтятшеэя 1 Тип данных Счетчик Дата/время 'Числовой Текстовый Текстовый Текстовый Текст пени Числовой Логический Дате/время
[
„та *,
' ' - ' Описание - "• • ~ Идентификатор заказа. Уникалвное число, автоматически присваиваете новой записи. 1 Дата размещения заказа. Идентчфикатор иписи зарегистрированного покупателя е таблице Покупатели. Совпади Контактное лицо, с которым должен сеямться ме неджер при выполнении заказа. Адрес получателя (ио*ет не совпадать с адресоп покупателя). Телефон получателя. Адрес элек т донной почтьг попучатепя. Код текущего состожия заказа: 1 —оформляется, 2 — обрабатывается, 3 — выполнен. Служебное поле. Прн»на« актуальности записи. Значениям "Да"^Т-1ет'. Служебное попе. Дата С01данпя/н5иемемня записи. „J
1
Свойства поля Пслстаио вка I
СФщив
Тип зяеиента управления Тип источника строк Источник строк Присоединенный (топбея ~ **кгаз столбиое Заглавия столбцов Ширина столбцов • -JMheflo строк списка . Ширина списка . Ограничиться списком
' -
"
'.
Поле со епископ Список: значений 1 ; Оформляв тся^ 2 ; Обрабатывается; 3; В ыполнем
1
г
Нет
1
0,ea!ai;4c« 3 T,BQ]ai
| Р
Вёод тешгтэ Tonb'|»i4MiycnQeiiHj итост совгадает «лначенинии *и ачска
Да
" '•'••
.
-
Рис. 8.13. Для поля СостояниеЗаказа создается список подстановки. Все значения для опций списка вводятся во вкладке Подстановка области Свойства поля
jy]
8. Сохраните изменения, внесенные в структуру таблицы, выбрав команду Файл^Сохранить или щелкнув на кнопке Сохранить.
Теперь, если перейти в режим таблицы и переместиться в поле СостояниеЗаказа, можно открыть список подстановки (рис. 8.14). Код заказа! ДатаЗаказз ТКодПсжуп;| ИмяПодучат^Апрёс получ^ Телефон
Рис. 8.14. Слисок подстановки для поля СостояниеЗаказа включает перечень допустимых значений и их описаний
742
Часть III. Работа с данными в базе данных
Списки подстановки — отличный метод упростить ввод в поле кодов или значений из заданного набора. Если будут введены некорректные данные (например, с клавиатуры), появится сообщение об ошибке, аналогичное показанному на рис. 8.15. [Microsoft Office Access • '• • • ' • Введенньм текст не с потвятствурт ни одному ю элементов списка. "ЧУ"
Выберите эпенент m crui ха или введите тонхт, соответствующий одноиу га эти* менвнтов.
1
°к
]\
Рис. 8.15. Список подстановки выполняет функции контроля данных, предупреждая о попытке ввода недопустимых данных
Другие опции области Свойства поля Ознакомившись подробно с такими свойствами поля, как Размер поля, Формат поля, Маска ввода, Значение по умолчанию и Сообщение об ошибке, следует назвать и несколько других, которые активно используются при настройке структуры таблиц базы данных. • Свойство Подпись. Строковое выражение длиной до 2048 символов. Определяет тот текст, который будет выводиться в заголовке столбца в режиме таблицы. По умолчанию в качестве заголовка выводится имя поля. Как правило, подпись для поля — это более информативное название данного поля, допускающее использование пробелов. Так, например, в таблице Товары базы данных Интернет-аптека можно определить для поля ЕдиницаИзмерения другое, более естественное название — Лекарственная форма. • Свойство Значение по умолчанию. Эта возможность позволяет упростить и ускорить ввод одинаковых значений в поле, а в случае необходимости вносить исправления уже в готовое значение, которое автоматически будет появляться в этом поле перед вводом данных. Таким значением может быть выражение, число или текст, которое соответствует типу данных поля. Для числовых и денежных данных по умолчанию устанавливается значение, равное 0. Установка свойства Значение по умолчанию никак не влияет на уже существующие
в таблице данные.
• Свойство Обязательное значение. Определяет, требуется ли обязательно вводить данные в это поле. Если для свойства установлено значение Да, при вводе или редактировании записей в таблице программа Access не "отпустит" вас, пока в этом поле не появятся данные. Пустые (Null) значения в этом поле не допускаются.
Изменение внешнего вида таблицы Пользователи Access по-разному относятся к тому, о чем пойдет речь в данном разделе. Одни воспринимают доработку внешнего вида таблиц Access как разумный компромисс между унылого вида стандартными таблицами, куда необходимо вводить данные, и продвинутыми формами и отчетами, на разработку которых может потребоваться немало времени. Другие относят подобные манипуляции к разряду "навешивания бантиков". Как правило, вводить данные в таблицу удобнее с помощью форм, а распечатывать содержимое таблиц — с помощью отчетов. Однако таблицу,
Глава 8. Форматирование и контроль данных
143
приведенную к более удобному для восприятия виду, можно быстро распечатать, а некоторые усовершенствования в плане оформления, — например, увеличение высоты строки, — оказываются незаменимыми при вводе данных определенного типа. Сделать с макетом таблицы можно многое, например временно скрыть некоторые столбцы или закрепить один из столбцов, а остальные прокручивать. Access позволяет также заменить шрифт, удалить сетку в таблице или изменить цвет фона. Одна из операций по оформлению таблицы уже рассматривалась в главе 6 (подраздел Перемещение полей, режим таблицы). Можно воспользоваться каким-либо одним приемом, рассматриваемым в этом разделе, а можно — сразу несколькими. Важно отметить, что все операции такого типа выполняются в режиме таблицы и не отражаются как на структуре таблицы (в отличие от изменений, вносимых в режиме конструктора), так и на самих данных. Так, например, таблицы, показанные на рис. 8.16 и рис. 8.17, идентичны, однако во втором случае, используя средства программы Access, удалось сделать отображение данных более наглядным и информативным. КарГтавяра\На^8та^^в{^^^и1^ннЩл^отв^и^ц 3 ПИКОВИТ сироп_15рыл КРКА г 2 А'УРОБИН мазь 20 г в ту£ГЕДЕОН РИХТ' 3 ВЕРОШПИРОг'та&п. 2S мг"|ЧЙ ГЕДЕОН РИХГ Д'ВИНПОЦЕТИН табл. 5_мг;№5С ГЕДЕОН РИХТ 5"ДОНАЛГИН 'капе. 250"мг № ГЁДЁОН'РИХТ 6 НИМОТОЛ 30 мг №100 БАЙЕР 7 БЕРЕШ-ПЛЮС капли 100 мл БЕРЕШ 8 ФАПИМИНТ Гта6л. №20 | БЕРЛИН-XEMtj 9 ЗЕРОКОЛД : табл. №200 :БИОМЕДИКЕЙ 10 ДИМЕДРОЛ табл. OJD5 №1С 6ИОСТИМУЛЯ 11 АСКОРУТИН табл. №10 БОРЩАГОВСК 12 СТОПТУССИН "табл. Na20 ГАЛЕ НА
B,S3rpH. Б,57грн. 1Э,39грн. 11,Б7грн. .2Э9,ООгрн. 44,08фн. 5,19фн. 53,00фн. 0,2Эфн. 0.38ФН. 7.14фн.
Да Да Да: "Да: Да| Да! Да; Да; Да; Да Да Да
Да! а ,Д .
Ш
да;
Нет! Дэ.1
Да; Да! Да
ш
24.01.01 12.03.01 14.04.01 27.M.OJ "06.1101 _1Б.07.01 "22.№.01 20.06.01 30.10.01 02.02.01 14.05.01 15.03"6l
Рис. 8.16. Исходный вид таблицы Товары
\ ш ьГ1^ГГТХ^ ;
>
Код j
>
1'
ЯЩЖ|
Наименование
ЛЕШфстеенниг форм а ]„ Производитель
3 пиковит
сироп 150 мл *
КРКА
2 АУРОБИН
мазь 20 г в туб. Ml
3 ВЕРОШПИРОН
табй.2£ш-:№20
5 ДОНАЛГИН
Капе. 250 мг №30
ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН ! РИХТЕР i ГЕДЕОН
б НИМОТОП
ЗОмгЛМОО
\ БАЙЕР
4 ВИНПОЦЕТИН табл. 5 мг №50 .
Запись; Н | • }|
1 _ И МJi«J-27
-
ЛИХТЕР
•Г ,,;
Ценз. [.'Наличие^ Дата регистр авд*! 8,40грк. '.24.0Ш 1 ^-"Даи/ 8,83грн.
Да
12.1)3 Л'
б,57грн
Да
14.04Я:
19,39грн
Да
27Л*Ж
11,б7грн.
Ля
Да,
239,00грн; 1
?
НШдв^^ш; • ' 16.07.0 ' ' : " ' ? ^ ' ±?"
Рис. 8.17. Таблица Товары заметно преобразилась Все изменения, вносимые в макет таблицы в режиме таблицы, программа Access не сохраняет автоматически. Поэтому, чтобы при последующих открытиях таблица выглядела точно так же, как после текущих настроек, необходимо выбрать команду ФайлоСохранить или щелкнуть на кнопке Сохранить панели инструментов. И, наоборот, отменить изменения внешнего вида таблицы можно, если закрыть таблицу и щелкнуть на кнопке Нет.
144
Часть III. Работа с данными в базе данных
Отображение и сокрытие столбцов В режиме таблицы на экране по умолчанию отображаются все поля таблицы. Однако при вводе данных или просмотре сведений из таблицы может оказаться, что для работы вам необходима лишь часть полей, а некоторые поля можно пропустить. Программа Access позволяет выбрать для отображения на экране (и, соответственно, для печати) те поля, которые вам действительно необходимы. Структура таблицы при этом не изменяется, т.е. все поля вместе с их свойствами по-прежнему присутствуют в таблице. Чтобы скрыть определенное поле, выполните следующие действия. 1. В режиме таблицы выделите в таблице поле, которое необходимо скрыть. Для этого достаточно щелкнуть на заголовке столбца. Чтобы выделить несколько последовательно расположенных столбцов, щелкните на заголовке первого поля и, не отпуская кнопки мыши, протащите указатель по соседним столбцам, увеличивая область выделения. 2. Выберите команду главного меню Формат^Скрыть столбцы или щелкните правой кнопкой на выделенном столбце и выберите команду Скрыть столбцы из контекстного меню, как показано на рис. 8.18. Теперь выделенный столбец невидим на экране. Ш Товары : 1 1гПИКОВИТ _сироп 150мл О 2"ДУРОБИН мазь20г"втубН 3 ВЕРОШПИРОГтабл. 25 мг Ns;H 4: ВИНПОЦЕТИН табл. 5 мг №5СЩ 5!ДОНАЛГИН капе. 250 иг №Щ В'НИМОТОП ,30мг N91QO 7;БЕРЕШ-ПЛЮС;капли100ил О 8ФАПИМИНТ !та6л. №20 3SE 9 ЗЕРОКОЛД "табл. №200 10 ДИМЕДРОЛ табяОЛ5№1сЯ 11 АСКОРУТИН табл. N210 12';СТОПТУССИН табл. №20 131ЦИСТЕНАЛ 10мл_ .. 14;КАПЕНДУЛЫг50шi_ _ ЦКОЛДФЛЮ ;та6л.1«20р 17 ОКСИКОРТ ; мазь_10_г__ ? ISiACKOIW тавл. №10"
Соотирсе«са по вограстании Сортировка по убыв энию Копировать Вставите U^pma столбца...
„,___
h-'
д*
!
Закрепить стол&1ы
Освободить все столбим Иайтц... Добавить столбец Столбец подстановок,.. ж,.. Улепить стоп Пджиненовать столбец бец
Ат^ъность, Дата регистрации 24.01.01 Да 120301 Д^ 14.04.01 Да 27.04 01 Да 06.1201 Да. Нет 1Б.0701 22.08.01 20.06 01 Да 30 10.01 Да 02.02.01 Да 14.05.01 Да 15.03.01 Да 27.12.01 Да Да 11.0901 Да 22.0102 07.07.01 Да
дя
_,
-А rt .
Рис. 8.18. Выделив столбец, можно скрыть его с помощью команды Скрыть столбцы Другой способ скрыть (или, наоборот, снова вывести на экран) определенные поля — воспользоваться диалоговым окном Отображение столбцов. В этом окне представлен перечень всех полей текущей таблицы. Для его вызова выберите команду Формат1^Отобразить столбцы и в открывшемся окне Отображение столбцов (рис. 8.19) снимите флажки для тех полей, которые должны быть скрыты, и установите флажки для полей, которые вы хотели бы видеть на экране. Чтобы применить изменения, щелкните на кнопке Закрыть. Технические подробности
Есть еще один простой способ сделать столбец таблицы невидимым: в режиме таблицы перетащите правую границу этого поля к предыдущему столбцу. Таким образом вы устанавливаете значение 0 для свойства Ширина столбца, и столбец исчезает с экрана.
Глава 8. Форматирование и контроль данных
145
Птofinciженир столбцов : Столбец; Р! Наименование F' лекарственная форма Г" Производителе Pi Цена Е Нап-мие Ей Актуального Б? Дата регистрации
Рис. 8.19. Диалоговое окно Отображение столбцов позволяет управлять отображением/сокрытием столбцов. Флажками отмечены отображаемые в данный момент столбцы
Закрепление и освобождение столбцов Одна из полезных возможностей, которую предлагает программа Access для работы с таблицами, — это так называемое закрепление столбцов. При вводе данных в режиме таблицы часто приходится прокручивать таблицу на экране далеко вправо, чтобы получить доступ к полям, которые в макете отображения таблицы указаны последними. Неудобство такой схемы состоит в том, что первые поля таблицы оказываются за пределами экрана, и важная информация, идентифицирующая запись, например название организации или ФИО клиента, для которых вводятся или просматриваются данные, исчезает из поля зрения. Можно решить эту проблему, зафиксировав требуемые поля слева на экране так, чтобы они отображались независимо от использования прокрутки. Чтобы всегда иметь перед глазами нужные столбцы таблицы, закрепите их, выполнив следующее. 1. Выделите столбец (или столбцы), который хотите закрепить, щелкнув на его заголовке. рП 2. Выберите команду главного меню Формат^За крепить столбцы или, щелкнув правой кнопкой на выделенном столбце, выберите из появившегося контекстного меню команду Закрепить столбцы. Теперь закрепленный столбец переместился в позицию первого поля таблицы и при просмотре полей с помощью горизонтальной полосы прокрутки будет неизменно оставаться в левой части экрана. Закрепленные столбцы отделены от остальных столбцов таблицы вертикальной черной чертой. Чтобы отменить закрепление столбцов и вернуть прокрутку к исходному режиму функционирования, выберите команду Формат ^Освободить все столбцы.
Выбор используемых шрифтов Все таблицы Access создаются и отображаются в едином — другими словами, стандартном — стиле. Однако, если вы посчитаете, что необходимо изменить атрибуты шрифта, используемого по умолчанию, сделав, например, таблицу более "вместительной"
146
Часть III. Работа с данными в базе данных
(за счет уменьшения размера шрифта) или визуально более читабельной (выбрав размер шрифта побольше), программа Access пойдет вам навстречу. Единственное условие, о котором необходимо знать и помнить, заключается в том, что, в отличие от режимов форм и отчетов, где можно указать свои значения для отдельных экранных элементов, все параметры, которые устанавливаются для шрифта, действительны для всей таблицы целиком, в том числе и для заголовков столбцов.
Изменение шрифта, заданного по умолчанию Решить проблему замены не устраивающего вас шрифта на глобальном уровне — сразу для всех таблиц, создаваемых в Access, — можно в диалоговом окне Параметры. Выберите команду Сервис^Параметры, а в окне Параметры — вкладку Режим таблицы (рис. 8.20). Обратитесь к группе Шрифт по умолчанию и, пользуясь предлагаемыми раскрывающимися списками, установите подходящие, на ваш взгляд, значения для типа шрифта, его толщины и размера. Подтвердите свой выбор, щелкнув на кнопке ОК.
Другие Вил
\
*
Международные
C6uws ]
~
Правка и попек \
Проверка noiSot Клавиатура
'-Цвет по умолчанию
|
Орфография
Режич т--йлниы
\
Тзбя*иы и запросы
] ащ»ты и отчеты
j
|
Страиады i
Линии сетки по умолчанию Р то горизонтали Р поовртикалн
фон: сетка!
г я = — — j I I: ереорн1 стьи
- Шрифт по умолчанию
Ширине столбца по уиолчанмю:
(2,499см
Оформление сетки по умолчанию '
вдмфтг
Отсб^йжать ход изпене>*« Г" подчеркнутый Г" курене
От<а^мюкать смарт-теги в таблицах
Рис. 8.20. В диалоговом окне Параметры можно изменить параметры шрифта, принятого по умолчанию
Выбор шрифта для отдельной таблицы Если вы уже работаете с данными таблицы и решили изменить атрибуты шрифта, можно сделать это непосредственно в режиме таблицы, памятуя однако о том, что эти изменения автоматически отменяют установки, принятые для этой таблицы по умолчанию. Чтобы изменить стиль используемого шрифта, следуйте таким инструкциям. га 1. Выберите команду Формат^Шрифт, чтобы открыть диалоговое окно Шрифт (рис. 8.21). 2. В поле со списком Шрифт выберите подходящий тип шрифта и щелкните на нем. 3. В списке Начертание щелкните на стиле шрифта (нормальный, полужирный, курсив или полужирный курсив). 4. В списке Размер выберите требуемый размер символов.
Глава 8. Форматирование и контроль данных
147
Ariel Black 0 Ariel Narrow 1? Anal Rounded MT Bold 0 Artel Unicode MS 0 Basket-vie Old Face 0 Bauhaus 93
1
курсив жирный жирный курсив
подчвркнутьй
user: Щжфт СрвпТуре, Он исгкнъэуетсв Для вывода как не жран, так и на принтер.
Рис. 8.21. Диалоговое окно Шрифт позволяет задать новые атрибуты для шрифта конкретной таблицы
5. При необходимости в группе Видоизменение можно выбрать из раскрывающегося списка цвет желаемый цвет шрифта, а также установить флажок опции подчеркнутый, если требуется подчеркивание текста. 6. Если, взглянув на фрагмент текста, представленный в области Образец, вас все устраивает, щелкните на кнопке ОК, чтобы применить указанные изменения.
Изменение ширины столбца и высоты строк Как правило, реальные таблицы сложно полностью разместить на экране. При наличии большого числа полей или текстовых полей большого размера (например, МЕМОтипа), данные, хранимые в таблице, часто остаются "за кадром", причем урезается как число выводимых на экран столбцов (остальные столбцы можно просматривать с помощью полосы горизонтальной прокрутки), так и содержимое самих полей. Понятно, что при работе с таблицами такой подход создает массу неудобств. Для решения этой проблемы есть два пути: либо сделать строки самой таблицы шире (чтобы на экране текстовые данные отображались в многострочном режиме), либо раздвинуть границы полей. Изменение ширины столбца Самый простой способ изменить ширину столбца — с помощью мыши перетащить его границу в нужное положение. Для этого выполните следующее. HI 1. В режиме таблицы поместите указатель на правую границу заголовка столбца,
ширину которого необходимо изменить, и нажмите левую кнопку мыши. Указатель примет вид вертикальной линии с двунаправленными стрелками (рис. 8.22). 2. Удерживая кнопку мыши, перетащите границу столбца до нужной позиции (вправо, чтобы увеличить размер столбца, и влево, чтобы сделать столбец ;уже). 3. Отпустите кнопку мыши, когда столбец окажется требуемой ширины (рис. 8.23). Чтобы установить ширину столбца по самому длинному элементу данных, уже введенному в поле, поместите указатель на правую границу заголовка поля и дважды щелкните на вертикальной границе столбца.
Более точно задать ширину столбца можно с помощью специального окна Ширина столбца. Чтобы использовать его, выполните следующее. g] 1. Выберите команду главного меню Формат^Ширина столбца или щелкните правой кнопкой на выделенном столбце и выберите из контекстного меню команду Ширина столбца. Появится окно Ширина столбца (рис. 8.24). 148
Часть III. Работа с данными в базе данных
1 1| Товары : таблица
-,>;,•
1 ПИКОВИТ
сироп 150 мл
КРКА
2.ДУРОБИН !маэь2б7вту6 ГЕДЕОН РИХТ ' Э'ВЕРОШПИРОИабл. 25 мг'Нй ГЕДЕОН РИСТ
[I
"'_' '4;ВИНП01^Н^.^нг1№ ГЕДЕОН РИХТ" Б ДОНАЛГИН .капе. 250 «г № ГЕДЕОН РИХТ 6/НИМОТОП
I _
:
БЕРЕШ
8,ДОгрн.
Д«
Да
2401.01
;
8,83грн. 6.57грн.
Да:
Да;
12.03.01
! S
Да-
Да!
1404.01
19.39грн
Да
Да:
27.0401
11,67грн.
Да
Да'
06.12.01
2Э9,ООгрн
Да'
Нет;
1Б.07.01
44,08грн
Да
8 ФАЛИМИНТ
табл. №20
БЕРЛЙН-XEMk
" 5,19грн
Э ЗЕРОКОЛД
таЕл №200
БИОМЕДИКЁ£
£3.00фн
табл. 0.05 NS1C БИОСТИМУЛЯ
"а.23грн
10 ДИМЕДРОЛ
"
30ыг№100 " БАЙЕР
_._13^РЕШ-ПЛЮС капли 100 мл
_ ; - х;
/Наличие "J Актуальность] Дата ^гметрацт *_
Код ТОвара|Маименовакие|Лекарственная}Г1роиэвадител^.-;^. Цена
"
Да!
22.08.01
Да'
Да:
20.06.01
Г>Г Да[
'и
||
зад" 02.02.01
Д"Г Да!
:
11 АСКОРУТИН "табл. №10
БОРЩ4ГОВСК
О.Э8грн
Да'
Да:
14.05.Q1
12 СТОГГГУССИН"та6л~№20
ГАЛЕНА
7.14фн.
Да'
Да;
15.03.01
13 ЦИСТЕНАЛ
ГАПЕНА
5.33грн.
Да
Да
27.12.01Щ,|
За тисы «JjiJI
10мл
:
2" Н_и|иИи»27
Рис. 8.22. Указатель мыши, помещенный между заголовками столбцов ЕдиницаИзмерения и Производитель, принял вид вертикальной линии с двунаправленными стрелками [1Н°ш*>ы: таблица Код твеара|НаименрваНие| Лекарственная форма Производитель!
1
Цена
|".-Нал"ичие
КРКА
8,40jJJH. :
2АУРОБИН мазь 20 г е туб. №1 3 ВЕРОШПИРОНабл. 26 иг №20
ГЕДЕОН РИХТ
8.ВЗФН. |
ГЕДЕОН РИХГ
6.57фн. ;
4.ВИНПОЦЕТИКтабл. 5 мг№50 5 ДОНАЛГИН : капе. 250 мг №30
ГЕДЕОН РИХТ, ГЕДЕОН РИХТ
1Э.ЗЭФН. 11.67фн ;
Да! Да: ДаДа Да
239,00фн. =
ДЗ:
1 ПИКОВИТ
6НИМОТОП
сироп 150 ми
:
30мг №100
7 БЕРЕШ-ПЛЮС капли 100 мл 8 ФАЛИМИНТ ^табл №20 9 ЗЕРОКОЛД
табл. №200
БАЙЕР БЕРЕШ
44,оафн ;
БЕРЛИН-ХЕМ1
5,19фн
БИОМЕДИКЕР
Б3,00фн. О^Эгрн
Да!
БОРШ/ГОВСН ГАЛЕНА
О.Э8ФН. 7,14фн
___.Д?; Да;
13 ЦИСТЕНАЛ
ГАЛЕНА
5,ЗЭфн ;
табл. 0.05 №10
10мл
г Н н 1*+|;ю 27
Запись! _<«JiJ|
<} ,- ,-
Да. Да Да Да. Да
Да -, J
2i
i:
м Ц 21 _1
ОЕ,
,
16
22|i 20
Да
Да:
БИОСТИМУЛЯ
:
Да. Да Да Да Да Нет Да
Да! Щ
11 АСКОРУТИН .табл №10 12СТОПТУССИН табл. №20
10 ДИМЕДРОЛ
Актуальность }Дата perw^j
зр||; о:.
uli 15
27
2& 1
Рис. 8.23. Ширины столбца ЕдиницаИзмерения теперь достаточно, чтобы данные выводились на экран без усечения
i
ggnigTgatgii ,*
Код товара) Наименовани€ В.ЕВфн.
Да: Ы
6,57 грн
Да!
19.39ФН
Да!
8,40фн
1 ПИКОВИТ _ сироп 150 ил КРКА мазь 20 г в туб ГЕДЕОН 2АУРОБИН 3ВЕРОШПИРОГ тэбл. 25 мг Ня "ЕДЕОН 4ВИНПрЦЕТИН тэЁл 5 мг №5С '"ЕДЕОН 5'ДОНАЛГИН
кале. 250 мг №
11,67грн.
fl?L
S НИМОТОП
30 мг NS100
:
РИХТ РИХТ РИХТ "ЕПЕОНРИХТ
5АЙЕР С f 7 БЕРЕШ-ПЛЮС капли 100 мл БЕРЕШ БЕРЛЙН-ХЁ Ширина столбуа: jlBHUJ а ФАЛИМИНТ табл. №20 БИОМЕДИК 9 ЗЕРОКОЛД табл. №500 У Стамдартиая 10 ДИМЕДРОЛ таЕл.О,05№1С БИОСТИМУ. БОРЩДГОБ 11 АСКОРУТИН" табл. №10 ГАЛЕНА 12СТОПТУССИН табл. №20 "АЛЁНА 5.Э'Згрн. 10 мл 13 ЦИСТЕНАЛ
ок Отпена
24.01 01 =-: 12 03 01 \ 14.0401 '
27 04.01 „ 06.1201 xtll 6.07.01 .г2.0В01
: Ю.ОБ 01
аз.Ю.01 J)2.02.01
Г1о шфине лаины): Гр-^Р1 _™_™_>-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
Перейти к попо;
Дорнат<ражттаблицы)
Шрифт.'
! .«
Попуа<ирный Курсив
LS» Цвет {аливт/фона Y£^I 1^ет текста
14.04.01 27.04.01 D6.12.01 16.07.01 22.08.01 20.06^01 30.10.01
Цвет;
1Э'ЦИСТЕНАП _10мп 14 КАЛЕНДУЛЫ г 50 мл Т
16 КРЛДФЛЮ '\абА 1*200 17:ОКСИКО"РТ мазь 10 г _ 27
- г=
'
1 товара. Уникальное число, авт^иатачаскп прижамваеиое новой мгиси.
Рис. 8.29. Кнопки панели инструментов Формат (режим таблицы) позволяют применять операции форматирования ко всем полям и записям таблицы
152
Часть III. Работа с данными в базе данных
Резюме В рамках этой главы были освещены такие вопросы, как форматирование данных, контроль ввода и предлагаемые Microsoft Access возможности по изменению внешнего вида таблицы, которые позволяют сделать работу с таблицами более эффективной и удобной. Подробно было рассмотрено назначение и использование определяемых в режиме конструктора свойств поля Формат поля, Маска ввода, Подпись, Значение по умолчанию, Условие на значение и Сообщение об ошибке. Программа Access предусматривает поддержку встроенных и специальных форматов для большинства типов данных. Для текстовых полей, числовых, денежных, дат и времени можно указать маску ввода, — как пользуясь услугами мастера Access, так и своими силами. Контроль данных также осуществляется с помощью свойства Условие на значение. При работе в режиме таблицы можно изменить способ отображения таблицы на экране, например, скрыть или восстановить отображение столбцов, воспользоваться такими операциями, как закрепление и освобождение столбцов, изменить ширину столбца таблицы и высоту строк. Access позволяет выбрать на свое усмотрение параметры шрифта, используемого для отображения данных таблицы и заголовков ее столбцов. Любые изменения макета не сохраняются программой автоматически, поэтому следует не забывать делать это, например, с помощью команды Файл <=> Сохранить.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Встроенные форматы предусмотрены для следующих типов данных: а) текстовые и МЕМО-поля; б) поля любых типов; в) числовые, денежные, логические поля, а также поля дат и времени. 2. Такие специальные символы, как >, <, @ и &, применяются для форматирования: а) числовых полей; б) полей типа Дата/время; в) текстовых и МЕМО-полей. 3. Число 12345, 67 в формате 000000,### будет выглядеть так: а) 12345,670; б) 012345,67; В) 012345,670; Г) 512 3 4 5 , 6 7 .
4. Используя такие опции, как Формат поля и Маска ввода, необходимо иметь в виду, что: а) наложение маски на вводимые в поля значения исключает применение форматов при выводе данных;
Глава 8. Форматирование и контроль данных
153
5.
6.
7.
8.
9.
10.
154
б) из двух свойств (Формат поля и Маска ввода) при выводе данных приоритет будет иметь опция Формат поля; в) не следует использовать свойство Формат поля, если после ввода данные должны отображаться в неизменном виде. Проверку вводимых в числовое поле значений, принадлежащих ограниченному списку вариантов, можно организовать: а) с помощью свойства Условие на значение; б) в диалоговом окне Свойства таблицы; в) создав список подстановки; г) с помощью свойства Маска ввода. Чтобы увеличить ширину столбца, необходимо: а) перетащить правую границу столбца вправо; б) перетащить левую границу столбца влево; в) выбрать команду главного меню Формат^Ширина столбца и указать новое значение в окне Ширина столбца. Окно Высота строки позволяет: а) изменить на более крупный используемый по умолчанию шрифт; б) установить стандартную высоту строк в таблице; в) указать новое значение для высоты строк. Изменить тип и размер используемого для таблицы шрифта можно: а) в режиме таблицы, увеличив высоту строк; б) выбрав требуемые параметры в диалоговом окне Шрифт; в) воспользовавшись опциями окна Формат таблицы; г) с помощью панели инструментов Формат (режим таблицы). Изменяя внешний вид таблицы, можно: а) увеличить ширину для нескольких столбцов; б) реализовать многострочный вывод текстовых данных для определенной строки таблицы; в) визуально выделить данные в некоторых полях таблицы с помощью более крупного шрифта; г) изменить цвет фона таблицы и линий сетки. Чтобы скрыть столбец в режиме таблицы, следует: а) перетащить правую границу этого поля к предыдущему столбцу; б) снять соответствующий флажок в окне Отображение столбцов; в) выбрать команду Правка ^Удалить столбец; г) щелкнуть правой кнопкой на столбце и выбрать команду Скрыть столбцы из контекстного меню.
Часть ill. Работа с данными в базе данных
Глава 9
Создание и использование форм В этой главе... Ф Простейший инструмент — автоформа Ф Создание форм с помощью мастера Ф Конструктор форм Ф Модифицирование формы Ф Специальные элементы управления Ф Порядок обхода полей Ф Когда форма радует глаз Ф Резюме Ф Тесты
ак уже отмечалось в главах 1 и 2 этой книги, такие объекты базы данных, как формы, предназначены в первую очередь для "индивидуальной" работы одновременно только с одной записью. Формы позволяют забыть о тех неудобствах, которые неизбежно возникают при работе с таблицами, имеющими большое количество полей. В режиме формы можно все свое внимание уделить одной записи, не пользуясь прокруткой для поиска нужного поля в длинной череде столбцов таблицы, а имея перед глазами всю информацию, например, по конкретному клиенту или товару. Такой подход оказывается очень удачным, когда с таблицами должны работать начинающие пользователи или операторы, в обязанности которых входит, например, заполнение электронных "бланков" заказов. Режим работы с данными в форме может быть разным: в одном случае это только просмотр записей таблицы, в другом — полноценный доступ ко всем полям, возможность ввода и редактирования данных. Формы не обязательно содержат все поля исходной таблицы. Например, создавая форму, с помощью которой покупатели будут знакомиться с ассортиментом Internetаптеки, не следует включать в нее поля Актуальность и ДатаРегистрации таблицы Товары базы данных Интернет-аптека. Между тем, они обязательно должны присутствовать в форме, с которой работает системный администратор этой службы. Формы в Access создаются не только для одной таблицы, но и для нескольких, связанных между собой таблиц. Тогда возможным становится с помощью формы вводить данные сразу в несколько таблиц, соблюдая условия целостности данных. Кроме того, в качестве источника данных для формы может использоваться как сама таблица, так и разработанный для нее запрос, обеспечивая тем самым отображение на экране самой актуальной информации.
Особо следует отметить возможности настройки внешнего вида формы. На фоне тех скромных операций, которые доступны для этих целей в режиме таблицы, арсенал средств конструктора форм выглядят просто роскошным, позволяя разработчикам в полной мере реализовать свои творческие замыслы и создавать удобные в использовании, информативные и внешне привлекательные формы. Для тех полей, которые включены в форму, можно выделить на экране столько места, сколько требуется для отображения в полном объеме всей содержащейся в них информации. В режиме конструктора можно разместить поля в наиболее удобном для отображения порядке, изменить цвет заливки или добавить дополнительные элементы. Такие объекты OLE, как рисунки, видеофрагменты или аудиозаписи, можно увидеть (воспроизвести) только в форме.
В Access можно создать формы самых разных типов. Чтобы кратко охарактеризовать их, обратимся к объектам учебной базы данных Борей. Опыт показывает, что знакомство с уже готовыми продвинутыми образцами вдохновляет на собственные подвиги в области дизайна форм. • "В столбец" (полноэкранная форма). Классический вариант, с которого чаще всего начинается знакомство с формами (рис. 9.1). В такой форме все поля выводятся на экран как один столбец. Слева от каждого поля отображается значение, указанное в свойстве Подпись данного поля. Поля могут быть упорядочены в любом порядке.
Рис. 9.1. Форма "в столбец", созданная для таблицы Клиенты
Ленточная. Нечто среднее между формой "в столбец" и табличным представлением данных. Как видно из рис. 9.2, в окне формы отображается сразу несколько записей таблицы. Поля в ленточной форме могут быть представлены переключателями, опциями или кнопками, а также быть многострочными. В простейшем варианте такой формы поля, составляющие одну запись, отображаются в одной строке, аналогично представлению таблицы в режиме таблицы. Подписи полей выводятся в качестве заголовков столбцов. Табличная. Данные в такой форме представлены в стиле электронных таблиц Microsoft Excel, когда каждой записи соответствует одна строка таблицы, а каждому полю — один столбец (рис. 9.3). Подписи полей выводятся в качестве заголовков столбцов. Прямо в окне формы можно изменять ширину столбцов и высоту строк, а также выполнять многие другие операции, которые используются для настройки внешнего вида таблиц в режиме таблицы.
756
Часть III. Работа с данными в бя?е данных
Марка: Единица измерения; 'Я) банок по 1 кг Цена:
Марке: Aniseed Syrup Единица измерения";
;
1гбутыпок no 55Q «л
Марка:
Boston Crab Wea :
Единиц л измерения: 24 банки no I2S
Цена: i_ 1
;
Марка: 'Carambart Pierrot Единица измерения: '15 упаковок по ЭЭС г
В28,Юр.
Поставки прекращены Цепа;
1Б4С,М)р.
, Г~ Поставки прекращены
Рис. 9.2. Так выглядит ленточная форма для таблицы Товары
_. NuNuCa Nuss-Nougat-Creme Mishi.Kobe.Niku _ Jack's New England Clam Chowder ; Csmembart PieiTOt Valkoinen suklaa Sir Rodney's Marmalade _ Chang Boston Crab Meal Uncle Bob's Organic Dried Pears
; j ! :
98,CCp. 345,00р. 424,CDp_ 186,00p 166,00р. ?7,00p. 135,00р.
3630р 3123.40p 1 74D,OOp '980.00р 1311.00р
Рис. 9.3. Табличная форма
"Главная/подчиненная". Используется для отображения отношения один ко многим (это материал главы 10, Ключи, связи и индексы таблиц). Одна область такой формы (главная форма) предоставлена для данных из основной таблицы, а другая (подчиненная форма) отображает записи из связанной таблицы, причем только те, которые непосредственно связаны с текущей записью в главной форме (рис, 9.4). Сводная таблица. Новшество версии Access 2002; позволяет обрабатывать данные и анализировать их (рис. 9.5).
Рис. 9.4. Форма типа "главная/подчиненная"
Глава 9. Создание и использование форм
157
•яшннвн тяат НЩ^УИУЬ
[ !Ш Сводная таблице Страна: -
Все
Й*1
~~ Фамилия: * Аибаее
Бабкина
* -
Годы - Кварталы Месяцы Дни В (Пусто) -Б (Пусто) Я (Пуста) Итоги
в!<еЗ
-J
13855,00р.
4830221р.
71 271 ,50р.
13 855 ,00р.
43302,21р 4В 302,21р.
71271,50р. 71 27t,50p. 6928,25р. 35979,00р. 11 199,00р. 1 008,00р. 15046,50р. И 480,00р. 74 640.75р. 35366,00р. 865.00р. t 554,00р.
„
13 Ой5,б8р, 1863ЛД)р.
'Шиюл
Итог
»- -
Итоги продаж * 'Итоги продаж
. ' , м.
ЕП996
Воронова +13_Г_~_ Итоги продав - (Итоги продаж '
Белова т
"""Ш 148 ,80р.
6540,60р.
14 448 Д)р. Г
5178Д)р] 3465,60р.
Вавг
18634.00р. 695626р. 480.00р. 14560,00р.
!
16148,80р. 13 760 ДОр. 2918.40р. 17433,60р. :
29 63220р.
20 372 ДОр. 14 148,00р.
- г- .,
4?
J
Рис. 9.5. Форма типа "сводная таблица"
Сводная диаграмма. Новшество версии Access 2002; позволяет эффективно выполнять графический анализ данных (рис. 9.6). [{F
Сьодшзя
А-нрамМй
ЗДШгИУ)
|Всв • ссоооооор ^*™*РМ»'«' =т
Фамилия: * ОАкбвеа
ж о
П
.1
I
m
ГП
I f ] .
rfb itffLrVlilrlLlli J Mllnl iJi (Пусто) (Пусто)
КеЗ
KS4
Кв1
Кв2
1ЭЭ6
КвЗ 199Г
Ki4
K*1
Ks2 1998
• EaCtmn О Белова П Воронов а • Крале в О Кротов
Год - кварталы Гиды - Кварталы!
Рис. 9.6. Форма типа "сводная диаграмма"
• Кнопочная. Управляющая форма, уже хорошо знакомая по учебной базе данных Борей (рис. 9.7). Открывает другие формы или отчеты базы данных. Формы, являясь объектами базы данных, представлены в окне базы данных вкладкой Формы. Создать форму в программе Access 2003 можно тремя способами: • применив такое средство, как автоформа', • воспользовавшись услугами мастера создания форм, который поможет выбрать требуемые поля и стиль оформления для формы; • выполнив весь процесс создания новой формы "с нуля" в режиме конструктора формы.
158
Часть III. Работа с данными в базе данных
ТОРГОВАККамПАНКЯ. Окно базы ленных
Выход из Microsoft Access
Рис. 9.7. Кнопочная форма
Простейший инструмент — автоформа По своим возможностям этот инструмент Access не дотягивает до уровня мастера, поэтому называется просто — автоформа. Не утруждая вас расспросами (а себя — ответами), автоформа помещает в новую форму все без исключения поля исходной таблицы или запроса. Чтобы воспользоваться помощью автоформы, выполните следующее. g 1. В окне базы данных щелкните на кнопке Формы панели Объекты. U 2. Щелкните на кнопке Создать окна базы данных. На экране появится диалоговое окно Новая форма (рис. 9.8), где для категории "автоформа" доступны такие варианты, как "в столбец", ленточная, табличная, сводная таблица и сводная диаграмма.
] Автоматическоесоэда 1 форм с логаии, . pacrwnoweHKiirw о оди столбец.
Детоформа; центочная Автоформа; табличная АБТофорна; своднзч таблица Дет о форма; сводная диаграмма Диаграмма Сводная таблииа
Выберите в качестве источника данных таблицу или
запрос
Рис. 9.8. Диалоговое окно Новая форма предлагает различные способы создания формы
3. Из списка, предложенного в окне Новая форма, выберите подходящий тип автоформы и щелкните на нем. 4. Из раскрывающегося списка, расположенного в нижней части окна, выберите имя таблицы (или запроса), для которой вы хотите создать форму, и щелкните на нем, а затем — на кнопке ОК5. На экране появится выбранный вами тип формы (например, форма "в столбец", как показано на рис. 9.9), и если в таблице уже имеются записи, в форме появятся данные.
Глава 9. Создание и использование форм
159
\Ш Тоедры Kcu товара ;"г .. Наименование Лекарственная Форма [сироп 150 мп Производите,™* Ц ana
Налил» Акгуа шесть Лета регистрации
Рис. 9.9. Средствами автоформы создана форма "в столбец" для таблицы Товары Как нетрудно заметить, стандартный вариант формы заметно отличается от тех иллюстраций, которые были продемонстрированы выше. Все дальнейшие усовершенствования для такой формы выполняются в режиме конструктора форм, о чем будет рассказано в следующих разделах главы. 6. "Мастер" автоформ не сохраняет новые формы автоматически. Если вы готовы сохранить созданный вами новый объект, выберите команду Файл ^Сохранить (или щелкните на кнопке Сохранить панели инструментов), укажите в появившемся диалоговом окне Сохранение имя формы и щелкните на кнопке ОК. Чтобы быстро создать автоформу "в столбец" для таблицы, открытой в режиме таблицы, щелкните на кнопке Новый объект: автоформа панели инструментов Таблица в режиме таблицы. Если таблица не открыта, а лишь выделена в окне базы данных (вкладка Таблицы), для создания автоформы "в столбец" выберите команду Вставка ^Автоформа или щелкните на кнопке Новый объект: автоформа панели инструментов База данных.
Создание форм с помощью мастера В отличие от автоформы, мастер создания форм готов учесть ваши пожелания при выборе полей, макета и стиля отображения будущей формы. Мастер, кроме того, позволяет создавать формы, в которых представлены поля из нескольких таблиц. В качестве примера попробуем создать с помощью мастера форму для таблицы Товары базы данных Интернет-аптека. Пусть, например, в форму должны быть включены все поля таблицы, за исключением служебных, т.е. полей Актуальность и ДатаРегистрации. Чтобы создать форму под руководством мастера, выполните следующее. 1. Щелкните на кнопке Формы окна базы данных, а затем дважды щелкните на ярлыке Создание формы с помощью мастера. На экране появится первое окно мастера создания форм (рис. 9.10). Открыв вкладку Формы окна базы данных, можно воспользоваться другими способами вызова мастера создания форм. * Щелкнуть на кнопке Создать окна базы данных. <• Выбрать команду Вставка ^Форма главного меню программы Access. На экране появится диалоговое окно Новая форма (см. рис. 9.8), где из списка доступных методов и режимов создания новой формы следует выбрать пункт Мастер форм и щелкнуть на кнопке ОК.
160
Часть III. Работа с данными в базе данных
Выберете поля для формы. Допускается выбор кескольких таблиц цтзапросов.
Таблицы и эатрзеь
Доступные поля:
Выбранные поля:
гНаипенов ание Товара Е линица Ылчер ения Производителе ЦенаТовара НаличиеТовара Актуальность ДэтаРегистпации
. Далее >
[
Готово
Рис. 9.10. В окне мастера создания форм можно выбрать для будущей формы поля из нескольких таблиц
Выберите из раскрывающегося списка Таблицы и запросы таблицу или запрос, которая (или который) содержит поля будущей формы. Таблицы в этом списке отображаются в алфавитном порядке. Для нашего примера следует выбрать таблицу Товары. Список в области Доступные поля заполнится полями указанной таблицы или запроса. Включите в форму подходящее поле из списка Доступные поля. Чтобы сделать это, щёлкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Ниже указано назначение остальных кнопок для работы с полями окна Создание форм. •у- Кнопка "»" — позволяет включить в список Выбранные поля сразу все элементы из списка Доступные поля. * Кнопка "<"— позволяет исключить из списка полей будущей формы ранее включенное туда поле. <• Кнопка "«" — удаляет все поля из списка Выбранные поля.
Повторите шаг 3 требуемое число раз, чтобы включить в форму все необходимые поля. Мастер позволяет включить в новую форму поля и из других таблиц. Для этого вернитесь к шагу 2 и выберите другую таблицу. Когда список Выбранные поля будет полностью сформирован, щелкните на кнопке Далее, чтобы перейти к следующему этапу создания формы. (Если в форму должны быть включены поля из нескольких таблиц, на этом этапе мастер попросит указать вид представления данных.) Для создаваемой в качестве примера формы в список Выбранные поля должны быть перенесены такие поля, как КодТовара, НаименованиеТовара, ЕдиницаИзмерения, Производитель, ЦенаТовара и НаличиеТовара (рис. 9.11).
V
По умолчанию поля в создаваемой мастером форме будут располагаться в той же последовательности, что и в самой таблице. Чтобы изменить порядок отображения полей в форме, при переносе полей из списка Доступные поля первым выделите то поле исходной таблицы или запроса, которое должно быть первым (располагаться в верхнем левом углу) в форме, и щелкните на кнопке со значком ">". Затем переносите поля в список Выделенные поля в той последовательности, в которой они должны будут располагаться в готовой форме.
Глава 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 требуемое число раз*, чтобы перенести в форму все необходимые поля. Перенести в форму сразу несколько полей можно, предварительно выделив их в списке с помошью следующих приемов. [Жзй <* Чтобы выделить сразу все поля, дважды щелкните на заголовке окна списка полей. •Ф- Чтобы выделить несколько смежных полей, щелкните на первом нужном поле, а затем, удерживая клавишу <Shift>, щелкните на последнем поле. •> Если необходимо выделить несколько несмежных полей, щелкните на первом поле, а затем, удерживая клавишу , щелкайте на каждом нужном поле.
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. Два рисунка иллюстрируют последовательность действий при выборе группы элементов управления с помощью линейки окна Выделив необходимый элемент управления, можно перемешать его, пользуясь не мышью, а клавиатурой, нажимая для перемещения элемента в нужном направлении клавиши <—>>, <<->, <Т> и . Такой прием удобен, когда необходимо переместить элемент управления строго по вертикали или горизонтали, не нарушая при этом, например, упорядоченности группы элементов по одной из их границ.
Независимое перемещение элементов управления и их надписей Как правило, при создании элементов управления типа Поле их надписи располагаются слева, на одном уровне с базовым элементом. Однако при настройке внешнего вида формы часто возникает потребность переместить надписи в другое положение, например, над элементами управления. Это позволяет также решить проблему усеченных надписей, увеличив их размеры в соответствии с отображаемым текстом. Чтобы переместить элемент управления или соответствующую ему надпись независимо друг от друга, выполните следующее.
772
Часть Iff. Работа с данными в базе данных
1. Щелкните на нужном элементе управления. Вокруг него появятся маркеры выделения, а в левом верхнем углу надписи и самого элемента управления маркеры перемещения. 2. Поместите указатель мыши на маркер перемещения надписи или элемента управления. Указатель принимает вид руки с вытянутым указательным пальцем (рис. 9.25). Нажмите левую кнопку мыши и, удерживая ее, переместите элемент управления или его надпись в новую позицию, а затем отпустите кнопку.
Рис. 9.25, Передвигать элемент управления и его надпись можно независимо друг от друга с помощью маркера перемещения
3. После того как требуемые изменения внесены, сохраните их, щелкнув на кнопке Сохранить панели инструментов Конструктор форм.
Изменение размеров элементов управления и надписей Следующий шаг — изменение длины (ширины) и высоты элемента управления или соответствующей ему надписи. Последовательность действий должна быть такой. 1. Щелкните на нужном элементе управления или надписи. Вокруг объекта, размеры которого вы хотите изменить, должны появиться маркеры выделения (изменения размера). 2. В зависимости от того, как вы хотите изменить размер, поместите указатель на маркер изменения размера в следующую позицию: * в середину правой (левой) границы надписи или элемента управления, чтобы изменить ширину надписи (элемента управления); * в середину верхней (нижней) границы надписи или элемента управления, чтобы изменить высоту надписи (элемента управления). * Указатель принимает вид двунаправленной стрелки (рис. 9.26). га 3. Щелкните левой кнопкой мыши и, удерживая ее, перетащите маркер изменения размера элемента управления или надписи в нужном направлении. Затем Щ отпустите кнопку мыши. 4. После того как требуемые изменения внесены, сохраните их, щелкнув на кнопке Сохранить панели инструментов Конструктор форм.
Глава 9. Создание и использование форм
173
Ре гнет ранионмоеими Пароль ИляПокулатеяя йдрес Гелефон Э лектронныйАдрес Актуальность ДатаРвгисгрлини
Рис. 9.26. Изменить ширину или высоту элемента управления можно, перетащив один из маркеров изменения размера Выделив необходимый элемент управления, можно изменить его размеры (или размеры его надписи), пользуясь не мышью, а клавиатурой. Нажмите клавишу <Shift> и. удерживая ее, выполните следующие действия: -Ф- нажимайте клавишу <—»>, чтобы увеличить длину (ширину) элемента управления или надписи (правая граница элемента управления перемешается вправо); -<• клавишу <*—>, чтобы уменьшить ширину (правая граница перемещается влево); •у- клавишу <Т>, чтобы уменьшить высоту (нижняя граница перемещается вверх); •$• клавишу <-1>, чтобы увеличить высоту (нижняя граница перемешается вниз).
Чтобы выровнять несколько элементов управления по одной линии, выделите их и воспользуйтесь одной из опций команды главного меню ФорматоВыровнять. rg • по левому краю. Левые границы всех выделенных элементов управления будут выровнены по границе крайнего слева элемента. Ш • по правому краю. Правые границы выделенных элементов будут выровнены по границе крайнего справа элемента управления. [зЦ • по верхнему краю. Верхние границы выделенных элементов будут выровнены по границе самого верхнего элемента. Щ • по нижнему краю. Нижние границы выделенных элементов будут выровнены по границе самого нижнего выделенного элемента управления. Ш • по узлам сетки. Помешает верхний левый угол каждого выделенного элемента управления в ближайший узел сетки.
Разделы формы Все операции с элементами управления в форме, которые обсуждались выше, выполнялись в разделе Область данных. Однако в форме могут использоваться и другие разделы, краткое описание которых приводится ниже. • Заголовок формы. Самый верхний раздел формы, который может включать информацию общего характера, например заголовок формы. При переходе между записями эта информация остается неизменной. Отображается в верхней части формы, открытой в режиме формы, и в начале формы при ее распечатывании.
774
Часть III. Работа с данными в базе данных
• Верхний колонтитул. Как правило, используется в том случае, когда форма занимает несколько печатных страниц. В разделе Верхний колонтитул можно разместить информацию, которая должна присутствовать на каждой странице формы (например, имя или сведения о компании). Отображается только при печати формы, печатается после заголовка формы. • Примечание формы. Раздел, который располагается в самом низу формы и предназначен для размещения, например, поясняющей информации, касающейся формы или текущей даты. Отображается в нижней части формы, открытой в режиме формы, и в конце формы при печати. • Нижний колонтитул. При распечатывании многостраничных форм в этом разделе размешается такая, например, информация, как номера страниц. Появляется только при печати формы, печатается перед примечанием формы. Хорошей иллюстрацией может служить форма Телефоны клиентов учебной базы данных Бореи, где представлены все вышеперечисленные разделы формы (рис. 9.27). • В& Телефоны кп-ентив : фоцма
_} ^Загоповас Название:
Обращаться к;
Телефон:
колонтитул
Телефоны клиентов Обращаться к:
Телефон:
05рэидтьсяК
Телефон
* Область данных •Название * Нижний колонтитул
* Примечание
Рис. 9.27. Форма Телефоны клиентов включает все разделы
По умолчанию при создании формы в режиме конструктора эти разделы не отображаются, в чем, собственно, мы имели возможность убедиться, разрабатывая форму "с нуля". Вывести все их на экран можно с помощью меню Вид. Так, чтобы отобразить разделы Заголовок формы и Примечание формы, выберите команду меню Вид^Заголовок/примечание формы. (Колонтитулы добавляются с помощью команды Вид^Колонтитупы.) ЁУ
Размеры всех разделов можно изменять. Чтобы изменить высоту раздела, поместите указатель мыши на нижнюю границу раздела и перетащите ее вверх или вниз (рис. 9.28). * Сбласть данных Tosap:!
4> Принечание формы
Перетащите указатель вниз или вверх Рис. 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) выглядит как обычное поле формы, в правой части которого расположена кнопка со стрелкой. В отличие от списка, поле со списком позволяет помимо предложенных вариантов вводить и другие значения. Для выбора значений поле со списком следует открыть. № т чг ты о прпляшвн
Щ£ Наклейки дпя клиентов Печать наклеек: - -
С Продажи гта сотрудникам и странам Г
Итоги продаж по <£пъя$
**" для конкретной страны;
& Продажи по типам Для отчета только га одному типу выберите его из йтисца. Не выбирайте тип для полного отчета. Молочные продукты Мясо/птица Напитки Приправы
*"" для всех стран
п£ .2J
Рис. 9.33. Список ВыборТипа в форме Отчеты о продажах
- 1 •'
:
Бра5Илия Beпик об ритамип Венесуэла Германия Дания
Рис. 9.34. Поле со списком ВыборСтраны в форме Наклейки для клиентов
Пример использования списковых структур уже рассматривался в главе 8, где речь шла о проверке данных, вводимых в поле СостояниеЗаказа таблицы Заказы. Значением этого поля могла быть одна из четырех предварительно заданных числовых величин. Благодаря использованию списка ввод каких-либо новых значений в поле был заблокирован. Когда наряду с предложенными в списке значениями можно указывать и другие, следует воспользоваться элементом управления Поле со списком. В качестве примера рассмотрим, как можно при вводе данных в форму Товары выбирать имена производителей товаров из поля со списком. Поместив в форму такой элемент управления, можно либо выбрать готовый вариант, либо ввести новое имя производителя, если в списке таковое отсутствует. Прежде, чем приступить к созданию поля со списком, сделаем несколько замечаний. Форма для таблицы Товары создавалась с помощью мастера, и в ней для поля Производитель уже присутствует элемент управления и соответствующая надпись. Однако чтобы создать поле со списком, следует в режиме конструктора этот элемент управления удалить. Кроме того, поскольку предполагается, что форма создается для администратора Internet-аптеки, в ней должны присутствовать ранее не включенные в форму служебные поля: Актуальность и ДатаРегистрации, Добавить соответствующие им элементы управления в форму можно, открыв окно списка полей и перетащив нужные поля в раздел Область данных (рис. 9.35).
Глава 9. Создание и использование форм
179
Файл
Цэлвла
ЙИЛ вставка
КодТовэрэ
I » Примечание
'НаименованиеТовэра
^Регистрации
Наименее анпеТоввра ЕдиницаИзмере пня Производитель ЦенаТовара НаличиеТовара Актуагв«ость ДатаРегистраоии
Рис. 9.35. Так выглядит в режиме конструктора форма Товары. Следующим этапом ее разработки станет создание поля со списком, включающим имена фирм-производителей
Чтобы создать в режиме конструктора формы список или поле со списком, выполните следующее. |g
1. Удостоверьтесь, что кнопка Мастера на панели элементов активизирована.
I 2. Щелкните на кнопке Поле со списком (Список) панели элементов. Указатель изменит свой вид в соответствии с выбранным типом элемента управления. [5] 3. Поместите указатель в то место формы, где будет размешаться новый элемент управления, щелкните левой кнопкой мыши и, удерживая ее, переместите указатель в нужном направлении, вычерчивая прямоугольник, определяющий границы нового элемента. Отпустив кнопку мыши, запустите мастер создания списка или поля со списком. 4. В открывшемся окне мастера необходимо указать способ получения значений для нового элемента управления. Если набор значений будет вводиться сразу в процессе работы мастера, выберите переключатель Будет введен фиксированный набор значений (рис. 9.36). Определившись со способом создания списка значений, щелкните на кнопке Далее. 5. Во втором окне мастера введите в столбец полей (Столбец!) значения, которые должны отображаться в списке (рис. 9.37). Переход к следующему значению выполняется нажатием клавиши <ТаЬ> или клавиш со стрелками. Кроме того, установите подходящую ширину столбца, перетащив правую границу заголовка столбца или дважды щелкнув на ней для автоматического выбора ширины. По окончании ввода щелкните на кнопке Далее. 6. В следующем окне мастер предлагает указать, какие действия необходимо предпринять программе Access после того, как значения будут выбраны из поля со списком (списка). Если значения следует запомнить для последующего
180
Часть HI. Работа с данными в базе данных
использования, воспользуйтесь переключателем Запомнить значение. Однако учитывая, что в нашем примере поле со списком будет использовано для ввода данных в поле Производитель, выберите переключатель Сохранить в поле (рис. 9.38), а затем выберите из раскрывающего списка, расположенного правее, нужное поле (Производитель). Щелкните на кнопке Далее. Создание ПОПРИ го гибком Мастер создает поле со списком, в которой отображается список значений дпя выбора. Каким способов попе со списке . будет получать эти значения? f Объект "попесосппскорГ будет HcrtoraijoBaTb жаченир п . таб/1И!(Ы и™ запроса. * |Еудвт еввдеи фиксированный набор значений. (~ Поиск аапим в форме на основе значения, которое содержит гкив со списком.
Рис. 9.36. В диалоговом окне мастера создания списка или поля со списком следует указать способ формирования списка значений
Выберите значения, которые буде столбцов списка и значения дпя кг
со списком. Введите число
Перетащите правую границу заголовка столбца на нуя(н)»с ширину или дважды щелкните ее для автоматического подбора ширины.
Рис. 9.37. Введите набор значений для поля со списком (списка)
7. В заключительном окне мастера укажите текст надписи для нового поля со списком или списка, а затем щелкните на кнопке Готово. В форме появится новое поле со списком или список. (Разместите надпись нового элемента упраачения непосредственно над полем со списком, сохраняя общий стиль формы.) Рис. 9.39 показывает, как выглядит теперь форма ввода Товары (в нее добавлены также элементы управления для полей Актуальность и ДатаРегистрации). Указать значение для поля Производитель сейчас можно, воспользовавшись раскрывающимся списком
Глава 9. Создание и использование форм
181
Гоэдпнне ПОПРИ с d списком: J-tOosofl Office Access позволяет сохранить еыбраннэе ю объекта "попе со сткксп" мочение о базе данных или > использовать по значение в дальнейшем для выполнения ~ действия. Какое действие будет выполняться при вьйоре значения га объекта "пола со списком4? (~ Запомнитьаначенив. <• Сохранить в полет КодТовара Наине новэниеТовара ЕлинниаИзмерения 5^\Г ЦвнаТовара НаличиеТсвара Актуальность Дат аРвг истрации
Шмема
[
<Намд
]
Д^лае T_ \
Го
Рис. 9.38. Значение после его выбора из поля со списком будет сохраняться в поле таблицы
, -. , L<3?СТВРЯН1Н фирИЭ
Дата
л • -]Г^ШН1ВЧДК№.Ч6
-
• ^
ДЖЕНОМ ЕЛЬФА С А ЗДОРОВЬЕ ФЙРМФИРМА КВАЙЗЕРФАРМА КРАСНАЯ ЗВЕЗДА КРКА СТИРОЛ
Рис. 9.39. Значения для поля Производитель таблицы Товары теперь можно выбрать из списка Технические подробности Б нашем примере целесообразнее создать поле со списком, значения для которого будут выбираться из уже введенных значений самого поля Производитель таблицы Товары. Поэтому в первом диалоговом окне мастера следует выбрать переключатель Объект "поле со списком" будет использовать значения из таблицы или запроса. Мастер предложит далее выбрать таблицу (указываем таблицу Товары) и поле (Производитель), которое станет столбцом в объекте "поле со списком", а также задать ширину столбца. Дальнейшие действия по созданию поля со списком аналогичны описанным выше, начиная с шага 6. Забегая вперед, сделаем еше одно замечание: чтобы исключить дублирование значений в созданном нами поле со списком, следует исправить в его окне свойств (вкладка Данные) значение свойства Источник строк. Рис, 9.40 демонстрирует, как выглядит после внесенных изменений ячейка свойства Источник строк: указанная там команда языка SQL дополнена ключевым словом DISTINCT (подробнее о языке SQL будет сказано в главе 12, Простые и многотабличные запросы).
182
Часть III. Работа с данными в базе данных
Изменить тип элемента управления с Поля со списком на Список и наоборот можно, щелкнув в режиме конструктора на нужном элементе управления правой кнопкой мыши и выбрав из открывшегося контекстного меню команду Преобразовать элемент в^ (указать новый тип элемента управления).
айл
Правка
Пвоюводител! ~
&1Д
Вставка
Форцат
Anal Сут
СЕРИ*
- 1 9
-
2кНа Ж
К
Ч,
я-
КодТовараНаименованнеТовара аення
»Пвоизводите
Макет
ль
Данные |со6ытия| Другие {
Да(иые *Приягчзние фс Маска ввода Тип источника стрех ,..,....,.. Источите; строк ,. приаделиненный сгопбеи Огранн*(гЬся спиосом
ИСТОЧИ"* ДаННЫХ ^пенент —-д-г^-уа; '....'"•
т? ••
:;-
J-
•
-Таблица или запрос SELECT DISTINCT]Товары,Производитель FROM Товар*.! т I—I 1 Нет
Значение™ умолчанию . , . . . , . , 1
Все
Производитель
••••••^
' 7J:
Рис. 9.40. Ключевое слово DISTINCT в инструкции SOL обеспечивает выборку уникальных значений поля
Создание группы переключателей Как уже отмечалось выше (см. табл. 9.1), для отображения данных логического типа в Access предусмотрено три элемента управления — переключатели, флажки и выключатели, —- которые выглядят по-разному, но выполняют одну и ту же функцию: при использовании по отдельности они возвращают значения да/Нет (-1/0 или Истина/Ложь). Если же элементы управления такого типа поместить в группу переключателей, они будут функционировать согласованно, причем каждый из них будет связан с группой, а не с полем таблицы. Как правило, количество опций выбора в группе невелико, и принпип ее действия одинаково независим от реализации. Итак, при создании группы переключателей каждому ее элементу ставится в соответствие некоторое числовое значение. В группе может быть выбран только один переключатель, числовое значение которого присваивается всей группе, а затем передается в поле таблицы. В качестве примера покажем, как можно реализовать с помощью грУппы переключателей (например, состоящей из переключателей) ввод одного значения из заданного ограниченного набора для поля СостояниеЗаказа формы Заказы. Как и в предыдущем примере, поскольку элемент управления, соответствующий данному полю таблицы, уже присутствует в форме Заказы, его (вместе с надписью) следует удалить. Чтобы создать в режиме конструктора с помощью мастера элемент управления Группа переключателей, выполните следующее.
Глава 9. Создание и использование форм
183
1. Удостоверьтесь, что кнопка Мастера на панели элементов активизирована. 2. Щелкните на кнопке Группа переключателей панели элементов. Вид указателя изменится, напоминая пиктограмму группы переключателей. 3. Поместите указатель в то место формы, где будет размещаться новый элемент управления, щелкните левой кнопкой мыши и, удерживая ее, переместите указатель в нужном направлении, вычерчивая прямоугольник, определяющий границы будущей группы переключателей. Отпустив кнопку мыши, вы запустите процесс создания группы под руководством мастера. 4. В первом окне мастера введите надписи для каждого переключателя (флажка или выключателя). В нашем примере поле Состоя ниеЗаказа имеет три значения, поэтому в группе переключателей будет три элемента: Оформляется, Обрабатывается и Выполнен (рис. 9.41). Для перехода к следующей надписи используйте клавишу <ТаЬ> или <1>. По окончании ввода щелкните на кнопке Далее. Создание группы перекиючатеяей :Группе пврекшдчатеяёй содержит набор кнопж, ]флвжков(1ЛИ выключателей.,Выберите один us :вариантов, ' Задайте подлгсь для каждого перек/иочзтеля: .
\jrroeo
Рис. 9.41, Введите надписи для каждого элемента группы
5. Во втором окне мастер предложит задать переключатель, используемый по умолчанию. Если необходимость в таком значении есть, щелкните на опции Да, выбор по умолчанию, откройте список, расположенный правее, и щелкните на той опции, которая будет выбираться по умолчанию. (В нашем примере по умолчанию установлен переключатель Оформляется.) В противном случае щелкните на опции Нет. Перейдите к следующему окну мастера, щелкнув на кнопке Далее. 6. В следующем окне мастера введите значения, которые будут присвоены каждому элементу группы переключателей. При выборе определенного переключателя (флажка или выключателя) его числовое значение (по умолчанию это 1, 2, 3 и т.д.) запоминается программой Access как значение всего элемента управления Группа переключателей, а следовательно, и связанного с ним поля Состоя ниеЗаказа. В нашем примере согласитесь с предложенными мастером значениями (рис. 9.42) и щелкните на кнопке Далее. 7. В следующем окне мастера необходимо указать, какие действия следует предпринять программе Access после того, как будет выбран один из элементов группы. Если значения, присвоенные надписям, следует запомнить для последующего использования, щелкните на переключателе Сохранить значение для дальнейшего применения. А если, как в нашем случае, необходимо связать группу переключателей с полем таблицы, щелкните на переключателе Сохранить значение в поле, а затем выберите из раскрывающегося списка, расположенного правее, нужное поле (СостояниеЗаказа). Чтобы продолжить процесс создания группы, щелкните на кнопке Далее.
184
Часть III. Работа с данными в базе данных
[Создание группы переключателей „ . ~ . . . . . При выборе оджго и* переключателей группы его' -s-v значение присвш-емтси самой rpjflne. =1
"2 • Замйте знвча»1Я для каждого переключателя,
=3
Рис. 9.42. Определите числовые значения для каждого переключателя 8. В новом окне мастера выберите тип элементов управления и стиль оформления группы переключателей (рис. 9,43). Область справа демонстрирует, как будет выглядеть группа переключателей в форме. Поэкспериментировав с комбинациями типа элементов (переключатели, флажки или выключатели) и оформлением для прямоугольника группы переключателей (вдавленное, обычное, приподнятое, с тенью, утопленное), задайте подходящие вам настройки и щелкните на кнопке Далее. Создание группы перекяючз1елеи Выберите тип: Образец
^ .Г"
I7 Оформляется (~ Обрабатывается ;
1
f~ ЕЫпол*»!
. : . "'
пера фпащсм
_| вькгичэтеяи Задайте оформление группы: ^ ед*Впенное * обычное Р прцюдчягое
.' '
с 1»в>ю утэппенно*
Рис. 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 диалогового окна свойств линии или Оформление <.. , вдавленное Тип границы прямоугольника можно указать слегсутсгвуег Цвет границы.....-,-,, , дующие опции настройки: Тип границы Ширина гранты . • Штриховая (например, Сплошная или Точечная), Пункт ц)ная Цвет границы и Ширина границы Точечная Редкоточечная (Сверхтонкая по умолчанию). Штрих пунктирная Штрих-точечная Чтобы изменить настройку макета для элементов управления Линия или Прямоугольник, выделите нужный элемент, за- Рис. 9.53. В диалоговом окне свойств литем откройте диалоговое окно Свойства нии или прямоугольника можно указать тип (воспользовавшись, например, комбина- линии, цвет и ширину границы цией клавиш или ), а затем — вкладку Макет (рис. 9.53). Задайте подходящие значения для указанных свойств элемента и закройте окно свойств.
Резюме В этой главе рассказывалось о создании и настройке таких объектов базы данных, как формы. Форма — это наиболее гибкий способ просмотра и ввода данных в таблицы. Программа Access позволяет создавать формы самых разных типов: "в столбец", ленточная, табличная, "главная/подчиненная", сводная таблица и сводная диаграмма. Формы могут отображать как сразу несколько записей (например, ленточные или табличные формы), так и одну запись (форма "в столбец"). Существует три способа создания форм: с помощью автоформы, мастера создания форм и вручную в конструкторе форм. Источником данных для форм могут быть как таблицы, так и предварительно сконструированные запросы. Любые формы, независимо от того, каким образом они были созданы, можно доработать инструментальными средствами конструктора форм. В режиме конструктора в формы можно добавить надписи, поля текстовых данных, флажки, линии и прямоугольники, а также включить рисунки и диаграммы. В главе подробно рассмотрены вопросы создания и использования элементов управления. Самым распространенным является элемент управления Поле, который позволяет отображать хранимые значения из источников данных и вводить новые данные. Новые элементы управления можно разместить в форме, воспользовавшись инструментами панели элементов. Помимо области данных, в форме могут быть предусмотрены и другие разделы: заголовок, примечание (появляются в верхней или нижней части каждой страницы формы), а также верхний и нижний колонтитулы (появляются при распечатке формы). При создании форм в Access предусмотрено много мастеров, с помощью которых особенно удобно размещать в форме специальные элементы управления, такие как список, поле со списком или группа переключателей. Порядок обхода элементов управления при нажатии клавиши <ТаЬ> называется последовательностью перехода. Для удобства ввода данных ее можно изменить, воспользовавшись командой Последовательность перехода.
194
Часть III. Работа с данными в базе данных
Внешний вид формы можно заметно усовершенствовать, обратившись к богатым возможностям форматирования, доступным в режиме конструктора. Одно из таких средств — команда Автоформат, с помощью которой можно сразу изменить стиль всей формы в соответствии с одним из заранее определенных стилей. Различные инструменты панели Формат и окна палитр позволяют подобрать наиболее подходящие шрифт, размер и цвет для текста, вариант фоновой заливки, объемное представление элементов, ширину, цвет и стиль оформления для линий и прямоугольников.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Создать форму в программе Microsoft Access можно: а) с помощью средств автоформы; б) следуя указаниям мастера создания форм; в) с помощью мастера создания таблиц; г) "с нуля" в режиме конструктора формы. 2. С помощью средств автоформы можно создать формы следующих типов: а) ленточную; б) табличную; в) "в столбец"; г) кнопочную. 3. Чтобы создать новую форму под руководством мастера, необходимо выполнить следующие действия: а) открыть вкладку Формы окна базы данных и выбрать команду Файл^Создать главного меню; б) дважды щелкнуть на ярлыке Создание формы с помощью мастера вкладки Формы окна базы данных; в) выбрать команду Вставка^Форма главного меню, а затем — пункт Мастер форм в открывшемся диалоговом окне Новая форма; г) щелкнуть на кнопке Создать окна базы данных (вкладка Формы) и выбрать пункт Мастер форм в открывшемся диалоговом окне Новая форма. 4. Мастер создания форм позволяет: а) выбрать в качестве основы для формы таблицу или запрос; б) модифицировать заголовки полей будущей формы; в) задать порядок следования полей в форме; г) включить в форму поля из нескольких таблиц.
Глава 9. Создание и использование форм
195
5. Находясь в режиме конструктора, разместить в форме подсоединенный элемент управления Поле можно, выполнив следующие действия: а) перетащив нужное поле таблицы из списка полей; б) воспользовавшись инструментом Поле со списком панели элементов; в) с помощью кнопки Поле панели элементов. 6. Чтобы выделить сразу несколько элементов управления, следует выполнить следующее: а) при нажатой клавише щелкнуть на нужных элементах управления; б) удерживая клавишу <Shift>, щелкнуть на каждом нужном элементе управления; в) перетащить указатель вокруг нужных элементов, заключая их в рамку; г) щелкнуть на вертикальной или горизонтальной линейке окна конструктора и, не отпуская левой кнопки мыши, перетащить указатель в нужном направлении. 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
дексов таблицы, откройте ее в режиме таблицы и щелкните на кнопке Индексы панели инструментов. В окне Индексы можно определить для индекса и ряд других опций, например, порядок сортировки (по возрастанию или по убыванию).
КодТовара _ КолЗакэза <одЭа«аэа КодЗаказа Со держа ниеЗаказовКодТовара Код Товара
Рис. 10.11. В диалоговом окне Индексы отображается список всех индексов таблицы В окне Индексы можно указать для каждого индекса уникальное имя, отличающееся от имени индексируемого поля.
Многотабличные формы Материал, изложенный в предыдущих разделах этой главы, позволил нам создать все необходимые связи для таблиц базы данных Интернет-аптека. Теперь, пользуясь связями, можно создать несложную многотабличную форму, объединяюшую сведения сразу из четырех таблиц: Покупатели (сведения о конкретном покупателе), Заказы (информация о самом заказе: его код, дата оформления), Товары (наименование товара и другие сведения) и СодержаниеЗакаэов (количество заказанных видов товара и цена). Такая форма является демонстрационной, поэтому в нее будут включены лишь самые необходимые поля, а стиль оформления останется стандартным. Однако прежде, чем описать процедуру создания такой формы, рассмотрим, как выглядят таблицы базы данных Интернет-аптека после определения всех связей между таблицами.
Отображение связанных записей в режиме таблицы После установления связей между таблицами вид каждой из родительских таблиц базы данных несколько изменился. Все дело в том, что в режиме таблицы программа Access позволяет просматривать не только записи открытой родительской таблицы, но и данные, хранящиеся в подчиненной ей таблице. Откроем, например, таблицу Покупатели. Слева от каждой записи в таблице теперь отображен значок "плюс" (+), щелкнув на котором можно просмотреть связанные данные из таблицы Заказы для текущей записи (рис. 10.12). Если обратиться к схеме данных (см. рис. 10.8), то видно, что и у таблицы Заказы имеется подчиненная таблица, СодержаниеЗаказов. Этот следующий уровень иерархии также отображается в окне открытой таблицы Покупатели: каждая из записей таблицы Заказы имеет свои связанные записи, увидеть которые можно, еще раз щелкнув на значке "плюс" (+) теперь уже в таблице Заказы. Как видно из рис. 10.13, подобная "вложенность" позволяет сразу отобразить необходимые сведения (данные о покупателе и сделанном им заказе) из трех связанных таблиц базы данных.
208
Часть III. Работа с данными в базе данных
ПШ Покупатели : таопТца
' ^ft;
[КодПскугЦ Регистрационное имя | - Пароль * Ltimufeev alexander aleX12Tm >
HM^ndfvii.iir,]:, j Тимофеев А С
'
A*pec
ул. Верхняя 12 кв. 27
1
ТеЛефоиЗ (044) 412-4£ J
2 gorcjn valery GOR vp23 Горцин В.П. ул. Радужная 43 кв. 84 (044JS42-1E I t Код заказа] Дата-заказа Имя получателч Адрес получателя | Телефон- | Электронный адрес | С ! 3 24-фев-2001 Горцнн В.П. 20; ОЭ-сен-2001 Горцин Э.П. [Счетчик]
ул. Радужная 43 кв & (044) 542-1В23 ^gorcgma.l ru ул. Радужная 43 кв ЕМ (044) 542-1В2Э [email protected]
*;
Sivasilieva nalalia
.* * -!
4jfbminyhjansa 5 kirichkovj/italy S kostetsky_oleg
Васильева Н.И. ул. Петровского 23 кв 14 fW4) 228-2C Фоминых Л. И. 'ул. Горького 44 ке. 26 (044) 269-14— J Киричкое В.П. пр. Победы 28 кв. 220 (D44) 440-В£ Костецкий ОТ. лер Речной 3 кв. 19 (Q44) 41Б-34
К +• _ +! *
.*i '+': + *. +•'-. : ._ *i
7 goiub_ksema 9 pavlenko analoly 10 bofisova laliana 11 a.eshin ale* 12 andreychenko irina 13 petrovskyjgor
Запись; 11 Hi!
NnaTta Hi LEK aptekaKv* :К15„01ед 333Ksena . PAveL -taUSBOR !2alex2 121 Irina hkiPelr
.
Голуб О.П. Павленко А. В. Борисова Т. П.
ул. Политехническая 4 кв. 95 р44) 441-7с ул. Строительная 15 ке 43 (044J212-5E Р 44) 265-34 :пр. Науки 24 кв. 114
Алешин А.П. ул. Стельмаха 12 кв. 2-4 Андрейченко И. В. ул. Бассейная 3 кв. 15 Петровский И. А ул. Саксаганскогс_Ш ке 6
2 jjHj.MjJro 15
'i
. ?...!
,
.
| ... .
I
- f
ip44) 257-4£ (044) 221-54 (D44) 220-4Е- i
"
^
И
^_J
Рис. 10.12. Щелкнув на значке "плюс" (+} слева от любой записи главной таблицы (Покупатели), можно просмотреть связанные данные из подчиненной таблицы (Заказы) Ю Покупатели:таблица _Ад£ес_
j Код Пш^п \ Регистр ацион пае и м я 1" Пароль И ыа П О ку п атед я
ул. Верхняя 12 кв. 27 Тимофеев АС. Горцин В.П. ул Радужная 43 Kg. 84 Адрес- получателя Телефон . Электронный адрес Код зэказа | Дата заказа Имя получателя ул Радужная ЛЗ кв 8/ (TW4) 542-1823 [email protected] 3 24-фев-2001 Горцин В П. Код товара j - , Ценз Количество Актуальность ] Дата Ре тетрад и l[rriofeev_alexander
L
_
>
"ж
К 10
6,40грн 0,23грн
17 5.71ФН0 * 20 ОЗ-сек-2001 . Горцин_В.П. (Счетчи^. ; 3 vasilieva_naialia 4 fominyhjarisa 5 kirichkov_¥Haly
I NnaTta fl
L!-E^_.
'
2 3 ^ ' :
'
И И В И
24-фев-2001 24-фев-2001 24-фев-2001
' "":
ул Радужная 43 ке 6/{044|542-1а23 [email protected] Васильева Н.И : Фоминых Л.И. . Кирнчков В.П.
ул. Петровского 23 кв. 14 ул. Горького 44 кв. 26 . пр. Победы 2В кв. 220
JD44) 228-2С (044)269-14 044) 440-8Е,
Г ..*_LM|»*] и» э Рис. 10,13. У записей таблицы Заказы также имеются связанные записи в таблице СодержаниеЗаказов
Чтобы скрыть связанные записи, щелкните на значке "минус" (—), который заменяет значок "плюс" (+} при отображении записей подчиненной таблицы.
Создание многотабличной формы с помощью мастера Многотабличную форму, которая позволила бы работать с данными о покупателях и оформленных ими заказах в Internet-аптеке, можно создать разными способами. Однако мастер форм программы Access позволяет создать форму с уже внедренной подчиненной формой (в ней отображаются записи из связанной дочерней таблицы или таблиц, если речь идет о нескольких уровнях вложенности). Без использования мастера сделать это сложнее, так как придется отдельно создавать главную и подчиненную формы, а затем внедрять подчиненную форму в главную и связывать их. Чтобы разработать многотабличную форму с помощью мастера создания форм, выполните следующее. 1. Щелкните на кнопке Формы окна базы данных, а затем дважды щелкните на ярлыке Создание формы с помощью мастера. На экране появится первое окно мастера создания форм.
Глава 10. Ключи, связи и индексы таблиц
209
2. Выберите из раскрывающегося списка Таблицы и запросы таблицу, которая содержит поля будущей новой формы. Для нашего примера первой следует выбрать родительскую таблицу, Покупатели. Список в области Доступные поля заполнится полями указанной таблицы. 3. Включите в форму подходящее поле из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. 4. Повторите шаг 3 требуемое число раз, чтобы включить в форму все необходимые поля. Для создаваемой в качестве примера формы в список Выбранные поля должны быть перенесены такие поля таблицы Покупатели, как Код Покупателя, ИмяПокупателя, Адрес и Телефон (рис. 10.14). Гочданир форм Выберите поля для формы, Допускаекя выбор нескольких таблиц ппи запросов 1а5пииы к запросы ]Таблица: Покупатели ВДдонные поля:
Дцступныеполя; РегистрациснмоеИм я Пароль
.JSJ
КодЛекупателя
актуальность ДатаРегнстрацин
Далее
Готово
Рис. 10.14. Для главной формы выбраны все требуемые поля из таблицы Покупатели
5. Теперь необходимо выбрать таблицу, которая станет источником данных для подчиненной формы. Откройте раскрывающийся список Таблицы и запросы и выберите таблицу Заказы. 6. Включите в форму необходимые поля таблицы Заказы — КодЗакаэа и ДатаЗаказа — из списка Доступные поля (рис. 10.15). Таблицы и запроса
Деступмев поля: 1*1яПолучателя АдресПопучателя ТелефогЛолучатгля 3 лАдрвсПо пуча теин СостояниеЗаказа Дктуальгость ДатаРегистрации
—и Вййинныеподя; КодПокупателя ИмяПокупателя Адрес Телефон КодЭакая
Рис. 10.15. Для подчиненной формы выбраны поля из таблицы Заказы
210
Часть III. Работа с данными в базе данных
7. Поскольку в форме необходимо отобразить подробные сведения о заказе, следует включить в подчиненную форму поля еще одной связанной таблицы, СодержаниеЗаказов. Откройте раскрывающийся список Таблицы и запросы и выберите таблицу СодержаниеЗаказов. 8. Включите в форму необходимые поля таблицы СодержаниеЗаказов — КодТовара, ЦенаТовара и Количество. 9. Наконец, чтобы информация о заказах, отображаемая в таблице, была более содержательной, необходимо включить в подчиненную форму поля дочерней таблицы Товары. Откройте раскрывающийся список Таблицы и запросы и выберите таблицу Товары. 10. Включите в форму необходимые поля таблицы Товары — НаименованиеТовара, ЕдиницаИзмерения и Производитель (рис, 10.16). Теперь список Выбранные поля полностью сформирован. Щелкните на кнопке Далее, чтобы перейти к следующему этапу создания формы. Таб[ицы и запросы [Tabгида: Товары Дсступные поля: КмЗвквн ДатаЭаказа КодТомра ЦенаТоеара Количество Наин еноеаниеТовара ЕдикииаНзмесенпя
Рис. 10.16. Список сформирован
Выбранные
поля
полностью
11. Так как форма будет многотабличной, мастер предлагает выбрать тип представления данных (рис. 10.17). Согласно варианту, установленному по умолчанию, в главной форме будет отображаться информация о покупателях, а в двух подчиненных формах — сведения о заказах, оформленных покупателями, и об указанных товарах. Примите выбранный по умолчанию тип представления (с опцией Подчиненная форма) и щелкните на кнопке Далее.
•СоАТовара, ЦвнаТявара, Количество, ЧаиманованиеТоеара] ПрсиЯЮДитеЯа
£вя!ангьв фориы
Рис. 10.17. Выберите тип представления данных
Глава 10. Ключи, связи и индексы таблиц
211
12. Новое окно мастера предлагает выбрать внешний вид подчиненных форм (рис. 10.18). Список доступных опций макета представлен справа, в виде двух групп переключателей: ленточный, табличный, сводная таблица, сводная диаграмма. Слева расположена область предварительного просмотра, в которой при выборе соответствующего переключателя схематично отображается вид будущей формы. Выберите для подчиненных форм тип табличный и щелкните на кнопке Далее. Выберите внешний вид лодчиНегмых «бори
Рис. 10.18. Выберите внешний вид подчиненных форм
13. В следующем окне мастера (рис. 10.19) выберите для формы стиль оформления. Список всех доступных стилей представлен в правой части окна. Ознакомившись с доступными вариантами, щелкните на наиболее подходящем (например, Стандартный), а затем — на кнопке Далее. Выберите требувмьн стиль.
Диффузный Камеив Международный Наидачная бумага Официальные Промышленный Рисовая бумага Рисуно< Суки НмВ^Няд Черте»
Рис, 10.19. В рамках рассматриваемого примера остановимся на стиле Стандартный
14. На заключительном этапе мастер предлагает указать заголовки для создаваемых форм. Введите заголовки главной (заказы покупателей) и двух подчиненных форм (пфЗаказы и пфСодержаниеЗакаэов) в соответствующие текстовые поля диалогового окна (рис. 10.20). Примите предложенную по умолчанию опцию Открыть форму для просмотра и ввода данных и щелкните на кнопке Готово. Мастер создает главную и подчиненные формы с учетом всех указанных вами настроек, сохраняет их под именами, заданными в последнем окне мастера, и открывает новую форму на экране (рис. 10.21).
212
Часть III. Работа с данными в базе данных
Задайте пчеле форм: Форма;
(Заказы покупателей
Подчиненная
ЬиЬЗаказы
Подчиненная фвдм:
1пфС оде ржание Заказов
Укаэа1-ы все сведения, необходимые Для создания Формы с помощью мастера. Дальнейшие действия! 2ткрыть (Ьсрну-дпя просмотра невода данных, ЙЭМЕЛИЪ макет формы.
Г Вывести сгфавку по работе С формой? Отмена |
«Ьр»д -
. '•••
Рис. 10.20. Укажите заголовки для главной и подчиненных форм Заказы покупателей Телефон
j[044|412-'
[Тимофеев А. С Адрес" пфЗаказы Код заказа
Запис
2: 19 f С ч ет ч ик!
Дата заказа. 24-фее-2001 25-ЭВГ-2001
Г »•
пфСсйержаниеЗвкамв Код-товара |.-_ Цена 1
L
*
2
б.ДОгрн.
| Количество | Наименование Лекарственная форма 1 ПИКОВИТ 1 АУРОБИН
сироп 150 мл • мазь 20 г в туб. №1
Запись;
а п
1
.г
Рис. 10.21. Так выглядит новая форма, созданная мастером
Безусловно, и главная, и подчиненные формы нуждаются в доработке, однако с функциональной точки зрения новая форма вполне жизнеспособна и может использоваться для просмотра информации о заказах, зарегистрированных в базе данных Internet-аптеки. Следуя инструкциям, представленным в этом разделе, а также используя те навыки работы с инструментарием конструктора форм, которые подробно были рассмотрены в предыдущей главе, можно создавать на базе межтабличных связей формы любой сложности и вложенности.
Резюме Нормализованные таблицы базы данных можно связать между собой, используя общее поле. В одной из таких таблиц этим полем является первичный ключ, во второй таблице — поле внешнего ключа. Чаще всего реализуются такие типы отношений между таблицами, как "один ко многим" и "многие ко многим". Эта глава рассказывает, как создавать, редактировать и удалять связи между таблицами, при необходимо-
Глаеа 10. Ключи, связи и индексы таблиц
213
сти указывая опции обеспечения целостности данных, такие как каскадное обновление связанных полей и каскадное удаление связанных записей. Целостность данных — это набор правил, с помощью которых обеспечивается корректность значений, вносимых в связанные таблицы. Эффективное выполнение операций поиска, сортировки и фильтрации данных в таблицах обеспечивают индексы. Индекс по одному полю создается для открытой таблицы в режиме конструктора, путем задания свойства Индексированное поле. Составной индекс, который может включать два и больше полей таблицы, создается средствами диалогового окна Индексы. Для одной таблицы программа Microsoft Access может поддерживать до 32 индексов. Благодаря связям между таблицами можно создавать формы (а также запросы и отчеты), отображающие информацию сразу из нескольких таблиц. В таких формах записи родительской таблицы отображены в главной форме, а связанные записи из дочерних таблиц — в одной или нескольких подчиненных формах. Простой пример создания такой формы с использованием мастера форм Access подробно рассмотрен для таблиц базы данных Интернет-аптека.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. При реализации связи между реляционными таблицами в роли общего поля используются: а) поля первичных ключей родительской и подчиненной таблиц; б) поле первичного ключа родительской таблицы и поле внешнего ключа подчиненной таблицы; в) поля внешних ключей родительской и подчиненной таблиц. 2. При использовании отношений "один ко многим": а) одной записи главной таблицы соответствует одна и только одна запись подчиненной таблицы; б) каждой записи одной из связанных таблиц соответствует множество записей второй таблицы; верным является и обратное утверждение; в) одна запись первой таблицы связана со множеством записей другой таблицы, однако одной записи второй таблицы не может соответствовать несколько записей первой таблицы. 3. К типу данных общих полей связываемых таблиц предъявляются следующие требования: а) тип данных у этих полей должен обязательно совпадать; б) если обшие поля являются числовыми, они должны иметь одинаковые значения свойства Размер попя; в) поле с типом данных Счетчик можно связать только с полем такого же типа; г) поле с типом данных Счетчик можно связать с числовым полем, имеющим подтип Целое.
214
Часть III. Работа с данными в базе данных
4. Условиями для поддержки целостности данных являются следующие: а) связанное поле дочерней таблицы должно иметь уникальный индекс; б) связанное поле главной таблицы должно быть ключевым полем или иметь уникальный индекс; в) связанные таблицы должны принадлежать одной базе данных Microsoft Access; г) поле счетчика должно быть связано только с ключевым полем такого же типа. 5. Устанавливать флажок каскадное обновпение связанных полей можно: а) для автоматического обновления соответствующих значений в поле связанной таблицы; б) для изменения ключевого поля родительской таблицы с типом Счетчик; в) для автоматического удаления связанных записей в дочерней таблице; г) чтобы изменить значение ключевого поля первичной таблицы. 6. Устанавливать флажок каскадное удаление связанных записей можно: а) для автоматического обновления соответствующих значений в поле связанной таблицы; б) чтобы удалить запись родительской таблицы при наличии связанных записей в дочерних таблицах; в) для автоматического удаления связанных записей в дочерней таблице. 7. Чтобы изменить существующую связь между таблицами, следует: а) закрыть те таблицы, для которых эта связь установлена; б) открыть таблицы, для которых определена связь, и выбрать команду Сервис* Схема данных; в) в окне Схема данных дважды щелкнуть на линии объединения, которую необходимо откорректировать, чтобы открыть диалоговое окно Изменение связей. 8. В таблице Microsoft Access можно проиндексировать: а) поле первичного ключа; б) поле с типом данных Дата/время; в) поле с типом данных Гиперссылка; г) составной первичный ключ. 9. Создать индекс для некоторого текстового поля таблицы можно: а) в окне Схема данных; б) в режиме конструктора, указав для свойства Индексированное поле данного текстового поля значение Да; в) в окне Свойства таблицы; г) воспользовавшись средствами диалогового окна Индексы. 10. Для просмотра связанных записей из нескольких таблиц базы данных Microsoft Access можно: а) открыть родительскую таблицу в режиме таблицы и воспользоваться значками "плюс" (+), расположенными слева от каждой записи; б) открыть форму, созданную для родительской таблицы; в) создать многотабличную форму, в которую включены поля из главной и подчиненной таблиц; г) открыть дочернюю таблицу в режиме таблицы.
Глава 10. Ключи, связи и индексы таблиц
215
Глава 1 1
Поиск, сортировка и фильтрация данных В этой главе... Поиск и замена данных в таблицах Сортировка данных Фильтрация данных Резюме Тесты
Поиск и замена данных в таблицах Среди основных задач, выполняемых базами данных, поиск нужной информации занимает одно из ведущих мест. Важнейшее требование, которое предъявляется к поисковым механизмам современных СУБД любого уровня, — не просто найти определенные данные, а сделать это как можно оперативнее. Материал этой главы в основном посвящен поисковым операциям в таблицах. Самыми мощными средствами поиска являются запросы, однако речь о них пойдет в следующих главах, а пока остановимся на другом инструментарии, доступном в программе Access. Это, в первую очередь, команды Найти и Заменить, а также средства фильтрации.
Поиск данных с помощью команды Найти Для нахождения определенной записи в таблице можно обратиться к упрощенному средству поиска — команде Найти. С ее помощью можно отыскать записи, значения полей которых полностью или частично соответствуют некоторому условию поиска. Так, например, чтобы обнаружить запись, содержащую сведения об определенном покупателе, можно выполнить поиск по полю ИмяПокупателя соответствующей таблицы, указав его фамилию полностью или введя несколько первых букв. Кроме того, команду Найти можно настроить таким образом, что поиск искомых данных будет происходить уже не в пределах конкретного поля, а по всей таблице. При поиске нужной информации команда Найти может быть использована как для таблицы, открытой в режиме таблицы, так и для работы с формой, созданной для этой таблицы. Существует, между тем, одно "но": выполняя поиск, команда отображает только первое значение, отвечающее условиям поиска. При наличии в таблице множества таких значений поиск придется производить несколько раз. Для нахождения и отображения группы записей, в которых содержатся искомые данные, целесообразнее использовать, например, фильтры, которые также рассматриваются в рамках этой главы. Для поиска определенной записи следуйте таким инструкциям. 1. Откройте таблицу, в которой необходимо выполнить поиск, в режиме таблицы или откройте форму, используемую для ввода данных в эту же таблицу.
2. Щелкните на поле (для режима таблицы — на любой ячейке нужного столбца), в пределах которого должен производиться поиск. Далее такое поле будем называть текущим. 3. Выберите команду Найти одним из перечисленных ниже способов. *
Обратитесь к главному меню (команда Правка^Найти).
+ Щелкните на кнопке Найти панели инструментов. +
Воспользуйтесь комбинацией клавиш .
Откроется диалоговое окно Поиск и замена с активной вкладкой Поиск (рис. 11.1). В раскрывающемся списке Поиске будет по умолчанию установлено имя текущего поля, выбранного на шаге 2.
ПОИСК
, Образец;
-Поиске: Совладение;
]Поля целиком
_^J
npooMtp: I Все _^j ' Г'Сучвтомрегнстрв Р Сучетоифьрмвтапрпвй
Рис. 11.1. Вкладка Поиск диалогового окна Поиск и замена позволяет задать параметры для поиска информации а пределах текущего поля или всей таблицы 4. Введите в текстовое поле Образец фрагмент данных, который необходимо найти. После ввода образца становится доступной кнопка Найти далее. Технические подробности В поле Образец можно ввести как точное значение для поиска, так и задать его с помощью специальных символов. •& Символ * — соответствует произвольной строке символов. Пример использования: найти в поле Наименование таблицы Товары наименования лекарственных препаратов, которые заканчиваются на буквы Ия. В этом случае в поле Образец следует ввести *ИН. Найдены будут, например, такие значения, как АУРОБИК И ВИНПОЦЕТИН.
•Ф- Символ # — соответствует одной цифре. Пример использования: найти в поле с заголовком Лекарственная форма таблицы Товары значения, указывающие на то, что упаковка лекарственного препарата содержит 100 и более таблеток или капсул (например, №100, »200 или №120). В поле Образец следует ввести №### (указав, кроме того, для опции Совпадение значение С любой частью поля). -J- Символ ? — соответствует одному символу. Пример использования: найти в поле Наименование таблицы Товары наименования всех лекарственных препаратов, которые заканчиваются на буквы РИН, РАК, РОН и т.п. В этом случае в поле Образец следует ввести *Р?Н. Найдены будут, например, такие значения, как ВЕРОШПИРОН, ОЛЕТЕТРИН и САНОРИН. 5. Если поиск вы намерены вести не только по текущему полю, а по всем полям всех записей таблицы, щелкните на кнопке раскрывающегося списка Поиск в, а затем — на имени таблицы или открытой формы.
Глава 11. Поиск, сортировка и фильтрация данных
217
Поиск в текущем поле, а особенно в индексированном, выполняется значительно быстрее, чем по всей таблице.
6. Раскрывающийся список Совпадение предлагает несколько вариантов совпадений для образца и значений поля. Выберите одну из следующих опций. * Поля целиком. Будут найдены только те значения полей, которые идентичны введенному в поле Образец фрагменту данных. Например, если указать в качестве образца Омск, будут пропущены поля, содержащие строку Томск. Опция установлена по умолчанию. + С начала поля. В результате поиска будут обнаружены те записи, в которых значения текущего поля начинаются с заданного фрагмента. Например, для строкового образца луг будут найдены значения Луганск и Луговое, но не Калуга. *
С любой частью поля. Будут найдены записи, который включают указанный фрагмент данных в любой части поля. Например, для образца Александр записи, соответствующие условию поиска, будут содержать такие значения, как Александра, Александрия, Анна Александровна.
Раскрывающийся список опции Просмотр позволяет указать напраатение поиска: Вверх (от текущей записи к первой), Вниз (от текущей записи к последней) или Все (во всей таблице; значение принято по умолчанию).
7. Если необходимо сузить область поиска и обеспечить соответствие данных, содержащихся в таблице, не только значению образца, но и регистру его символов, установите флажок опции С учетом регистра. (Понятно, что это условие не распространяется на данные с типом Числовой, Дата/время и Денежный.) Если этот флажок снят, поиск будет выполняться без учета прописных и строчных букв. Например, при поиске фамилии Васильева в поле Фамилия при установленном флажке этой опции программа Access оставит без внимания такие значения, как Васильева и ВАСИЛЬЕВА. 8. Дая поиска только тех полей, формат значений которых совпадает с форматом отображения данных, заданным в поле Образец, установите флажок опции С учетом формата полей. Если этот флажок снят, поиск будет выполняться непосредственно по значению данных. Пусть, например, в поле Дата Регистрации таблицы Товары дата указана в формате ЗО-апр-2002. Если установить флажок данной опции и указать в поле Образец значение 30.04.02, нужная запись найдена не будет. Однако если при том же значении исходных данных ( 3 0 . 0 4 . 0 2 ) снять флажок, программа Access успешно распознает требуемые записи. Поиск с установленным флажком С учетом формата полей, как правило, самый медленный, поскольку в этом случае не используются индексы. Установить можно только одну из опций С учетом регистра и С учетом формата полей. Одновременно они не работают.
9. Установив все необходимые параметры, щелкните на кнопке Найти далее, чтобы начать поиск. 10. Если поиск оказывается успешным, указатель перемещается к найденной записи, а в ее поле выделяется искомый текст (рис. 11.2). 11. Чтобы найти следующее значение, удовлетворяющее условиям поиска, шелкните на кнопке Найти дапее. Если требуемая информация не будет найдена,
218
Часть 1П. Работа с данными в базе данных
программа Access сообщит об этом в небольшом окне (рис. 11.3). Чтобы закрыть его, щелкните на кнопке ОК. 12. Закончив поиск данных, закройте диалоговое окно Поиск и замена, щелкнув на служебной кнопке Закрыть ( Ш ), расположенной в правом верхнем углу этого окна.
f a Дата регест.^ 94 МАНИЛИН
табл. 3,5мг №120 ;та6л. 5мг №120 'гель 30.0
95 ГЛАНИЛИН 96 ФАСТУМ
БЕРЛИН-ХЕМИ БЕРЛИН-ХЕМН : БЕРЛИН-ХЕМИ
9,60грн. 8,19грн." 9,44грн.
15-ЭЕ
Н В
15-ае 15-ЭЕ
15J1E :. 15-ае :
04-се 04-се 04-се : 04_-се 04-се 04-се .;
10-де Ю-де Ю-де' 10-дйЧ
0.01 г №40 №10
109 АТФ-ЛОНГ 110 БЕЛЛАЛГИН 111 ВИКАСОЛ
0,0151*25
Na10
:
1130ЛЕТЕТРИН Запись: «J < 11
капе. 0.25 №20
ПТ
БОРИ^ГОВСКИИ ХФЗ БОРЩАГОВСКИЙ ХФЗ БО'рЩ^ГрВСКЙЙ ХФЗ БОРЩАГОВСКИЙ ХФЗ БОРЩАГОВСКИЙ ХФЗ
10-де '. 10-де
10,66грн. 1 .Збгрн.
1.62 фн. 10-д£.
Р.6Эгрн 7,76грн
1Э9
Рис. 11.2. Выполнив команду Найти, программа Access выделяет в найденном поле искомые данные Mirrosnit liffirp АСГР««
£| 1
Псиск эггмсан » припо»ешя1 Mcroscft Offk» Access завершен. Обра>ец ив найден. ;
Рис. 11.3. Поиск искомых значений закончен
Использование команды Заменить Команда Заменить работает по той же схеме, что и команда Найти, однако ее возможности несколько шире: устанавливая параметры поиска, вы можете определить не только искомые данные, но и новое значение, которое будет внесено в поле взамен указанного в качестве образца. Как и команда Найти, команда Заменить одновременно работает только с одной записью. Как правило, она используется, когда необходимо автоматически исправить найденные ошибки в именах собственных, например, фамилиях клиентов или наименованиях фирм-поставщиков. Другое полезное применение функции замены — расшифровка ранее введенных в поля таблицы сокращений или аббревиатур. Так, например, в таблице Товары можно заменить имя производителя СТИРОЛ на полное название: Концерн Стирол Украина ОАО. Чтобы найти и заменить данные в таблице, выполните следующее. 1. Щелкните на поле (для режима таблицы — на любой ячейке нужного столбца), в пределах которого должен производиться поиск и замена значений.
Глава 11. Поиск, сортировка и фильтрация данных
2. Выберите команду Правка^Заменить или нажмите комбинацию клавиш . Откроется диалоговое окно Поиск и замена с активной вкладкой Замена. 3. Введите в текстовое поле Образец фрагмент данных, который необходимо найти. 4. Введите в текстовое поле Заменить на те данные, которые должны быть помешены в поля записей взамен данных, указанных на шаге 3 (рис. 11.4). v j xl «uJ-Л.!
ElOHtn и замена
Найти далее
Образец: Заменить на. |Кочцерч Стирол Украина ОДО| Поиск: Hi
| Производитель
Отпена
^
pjenaflemei |Поля иегл^сп •Т^кюютр:
(Все
т)
Г" С учетоирегистре
-
Г Сучетояфф"*тапопвй -
Рис. 11.4. Используя вкладку Замена диалогового окна Поиск и замена, можно найти и заменить исходные значения в таблице 5. Следуя тем же правилам, которые были описаны для команды Найти, выберите требуемые опции для раскрывающихся списков Поиск в, Совпадение и Просмотр, а также установите нужные флажки в нижней части окна. 6. Установив все необходимые параметры, щелкните на кнопке Найти далее, чтобы запустить функцию поиска. Программа Access найдет первое вхождение искомых данных и выделит указанную строку в поле записи. 7. Чтобы заменить найденные данные в текущей записи, щелкните на кнопке Заменить. Программа Access произведет замену и сразу после этого выполнит поиск новой записи, отвечающей заданным условиям. Если вы не сомневаетесь в необходимости замены сразу всех вхождений искомой строки, указанной в поле Образец, щелкните на кнопке Заменить все. В противном случае за вами остается право пошаговой замены значений — по одному вхождению за раз. 8. Повторите шаги 6-7 требуемое число раз. Для пропуска текущего вхождения и поиска следующего щелкните на кнопке Найти далее. После того как будет выполнена замена последнего вхождения искомого образца, появится окно сообщения, в котором указано, что программе Access не удается найти текст, заданный в поле Образец. Это означает, что все записи со значениями, подлежащими замене, уже модифицированы. Чтобы закрыть окно сообщения, щелкните на кнопке ОК. 9. Закончив замену данных, закройте диалоговое окно Поиск и замена, щелкнув на служебной кнопке Закрыть (ЁО ), расположенной в правом верхнем углу этого окна.
Сортировка данных Следующий способ организации данных в таблицах — сортировка записей. По умолчанию порядок отображения записей на экране определяется индексом, автоматически созданным программой Access на основе первичного ключа таблицы. Если первичного ключа у таблицы нет, записи будут отображаться в порядке их ввода в таблицу. Сортировка позволяет изменить порядок следования записей в таблице и отображать их с учетом значений некоторого определенного поля, т.е. выстроить все записи таблицы в порядке следования значений в этом поле. Так, если упорядочить записи
220
Часть ///. Работа с данными в базе данных
о фирм ах-поставщиках в таблице Поставщики по полю Город, сначала будут отображаться записи о фирмах, расположенных в том городе, который идет в этом поле по алфавиту первым, (например, Амстердам), затем — о фирмах, "чей" город идет вторым (Бостон) и т.д. Такой порядок сортировки называется по возрастанию значений (например, от А до я (от А до z), или от 1 до 100). Может быть использован и обрат* ный порядок, по убыванию значений (например, от я до А, от z до А, или от 100 до 1). Сортировка может быть простой (как в указанном выше примере) или более сложной, когда записи упорядочиваются не по одному, а по нескольким полям, например, сначала по полю Страна, а затем — Город. Напомним, что ускорить выполнение сложных операций сортировки помогают составные индексы, которые рассматривались в предыдущей главе. Подобно операциям поиска, сортировку записей таблицы можно выполнить как в Режиме таблицы, так и в Режиме формы. Самый простой способ отсортировать записи таблицы (по одному полю или смежным полям) — воспользоваться командой Сортировка. Доступ к ней можно получить как через главное меню (Записи^Сортировка), так и воспользовавшись кнопками Сортировка по возрастанию и Сортировка по убыванию, расположенными на панели инструментов Таблица в режиме таблицы. В качестве примера отсортируем записи таблицы Товары по полю Производитель. Чтобы выполнить сортировку записей, следуйте таким инструкциям. 1. Выделите поле, по которому должны быть отсортированы записи. Сделать это можно, либо поместив в это поле точку вставки (на рис. 11.5 таким полем является поле Производитель), либо щелкнув на заголовке нужного столбца. [ lift Traa^'i 1 таблиц*
"
|Кад| Наименование > + 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 -. • : <1Л 1^ц
0 в а а в в
0
[
0: 0 ^"0 ' . ' в |0 0 в в
г
Е
г в в Ги а
регис24-я 12-м 14-ЕГ*; '27-з i 06-Д; , 16-И1= -
22-= ,
"зо-|- ; 02- $ 14-м ^ 15-н| . 27-л- .
11-сН 22-я ' ' 07-ш 21-н., 15-м 22- a 04-ш •
2Й
Рис. 11.5. Точка вставки помещена в поле (Производитель), по которому будет выполнена сортировка
2. Щелкните на кнопке Сортировка по возрастанию панели инструментов, чтобы выполнить сортировку записей таблицы по указанному полю в порядке возрастания, или на кнопке Сортировка по убыванию, чтобы выбрать обратный порядок сортировки. На рис. 11.6 сортировка записей в порядке возрастания выполнена по полю Производитель.
Глава 11. Поиск, сортировка и фильтрация данных
221
Если сортировку необходимо выполнить по нескольким полям, они обязательно должны быть смежными. Кроме того, важным является то, в какой последовательности эти поля расположены, так как составная сортировка будет выполняться в естественном порядке следования выделенных полей — т.е. слева направо. В случае необходимости нужное поле (или поля) можно перетащить на новую позицию в таблице. Чтобы выделить несколько смежных полей, щелкните на заголовке столбца первого нужного поля и, удерживая нажатой левую кнопку мыши, перетащите указатель по заголовкам остальных столбцов. [Тговары : таблица 1 Код
Наименование
ДЯ5Й1 [Лекарственная форма
Производитель
др. NalOD БАНЕР : ЭОмг№100 БАЙЕР Г 87 АЛКА-ЗЕЛЬЦЕР 'шип. табл. №10 БАЙЕР 88 АСПИРИН КАРДИС.ЗОО №20 крем 10 мг/г 15 п БАЙЕР + 89 МИКОСПОР капли 100 мл БЕРЕШ * 7 БЁРЕШ-ПЛЮС + 90 АКТИБАЛ табл. покр пл/обол № БЕРЕШ БЕРЛИН-ХЕМИ + В ФАЛИМИНТ табл. №20 БЕРЛИН-ХЕМИ + '91 БЕРЛИТИОН табл. 300 мг МйЗО +" "92 БЕРЛИТИОН 30D ed амп 1_2 мл Na5 БЕРЛИН-ХЕМИ БЕРЛИН-ХЕМИ • 93 ЛЙОТОН 1000 гель 50 г БЕРЛИН-ХЕМИ + 94 МАНИЛИН ! табл. 3.5 wrNe120 БЕРЛИН-ХЕМИ + " ' 95 МАНИЛИН ;Та6л. 5 мг№120 ! БЕРЛИН-ХЕМИ гель 3D ,0 - : 96 ФАСТУМ БЕРЛИН-ХЕМИ тель50,0 • 97 ФАСТУМ БЕРЛИН-ХЕМИ -+ 98 ЭСПУМЙЗАН капе. №25 + " 70АМИЛОЗИДБ ^аЬя 5 иг/50 мг №20 БИОГАП '«240 БИОГАЛ +. 71 БИАНОДИН + 72:БРУЛАМИЦИН 80мг 2 мл №10 БИОГАЛ БИОГАЛ + "73 ИЗОПРИНОЗИН " Табл. SOO мг N350 + БИОГАП конм 1 % ?Л Г 7* МИКПГАП— запись; Hi ' П i JL >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] •*• Если необходимо сразу удалить все предыдущие условия фильтрации (включая указанные на вкладках Или), щелкните на кнопке Очистить бланк панели инструментов Фильтр или выберите команду главного меню Правка ^Очистить бланк. <• Если необходимо удалить только одну из вкладок оператора Или, выберите команду главного меню Правка ^Удалить вкладку. 6. Указав все условия отбора в окне фильтра по форме, щелкните на кнопке Применение фильтра, расположенной на панели инструментов Фильтр, или выберите команду Фильтр^ Применить фильтр, В окне таблицы появятся записи, удовлетворяющие условиям отбора (рис. 11.16).
30мг №100 фл. 10 мл 500 мг Мв5
крем 1Q мг/г15 л
Рис. 11.16. Результаты использования фильтра по форме: в таблице отображаются товары двух производителей, удовлетворяющие указанному ценовому критерию
Чтобы удалить фильтр, щелкните на кнопке Удалить фильтр панели инструментов Таблица в режиме таблицы или выберите команду главного меню Записи ^Удалить фильтр. Если предполагается использовать созданный фильтр в будущем, его можно сохранить в виде запроса. Чтобы сделать это, следуйте таким инструкциям. 1. Перейдите в режим отображения фильтра в окне фильтра по форме. Щ] 2. Щелкните на кнопке Сохранить как запрос панели инструментов Фильтр или выберите команду главного меню Файл =>Сохранить как запрос. Откроется небольшое диалоговое окно сохранения. 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.09.02#, как показано на рис. 11.19. (Более подробно выражения рассматриваются в части IV.) •-1QLS1 . КодТоеара а ание Товара .— J Наименование Е диницаИ 1 череиия Проиюо дите пь
Попе: ЦсиэТоырв Сортировка: по воэоастаниго Условие отбора:
-j ДатаРегистрацнн >*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.1. В диалоговом окне Создание простых запросов можно выбрать поля, которые будут включены в запрос Открыв вкладку Запросы окна базы данных, можно воспользоваться другими способами вызова мастера создания простых запросов. •С- Щелкнуть на кнопке Создать панели инструментов окна базы данных. •Ф- Выбрать команду Вставка ^Запрос главного меню программы Access. На экране появится диалоговое окно Новый запрос (рис. 12.2), где из списка доступных методов создания нового запроса следует выбрать пункт Простой запрос и щелкнуть на кнопке ОК.
\ Создание запроса на выборку ш о поел е пенных попей.
Перекрестныи запрос Повторяющиеся записи Записи без подчинениях
Рис. 12.2. Диалоговое окно Новый запрос предлагает различные способы создания запросов 2. Выберите из раскрывающегося списка Таблицы и запросы таблицу или запрос, поля которой (или которого) должны быть включены в новый запрос. Для нашего примера следует выбрать таблицу Товары. Список в области Доступные поля заполнится полями указанной таблицы или запроса. 3. Включите в запрос подходящее поле из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">"
Глава 12. Простые и многотабличные запросы
239
(или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. 4. Повторите шаг 3 требуемое число раз, чтобы включить в запрос все необходимые поля. Включить в запрос сразу все поля таблицы можно, воспользовавшись кнопкой со значком "»". Исключить элементы из списка Выбранные поля можно с помощью кнопок со значками "<" и "«". (Мастер позволяет включить в новый запрос поля и из других таблиц, однако между этими таблицами обязательно должны быть установлены связи. Для* выбора новой таблицы вернитесь к шагу 2. Созданию многотабличных запросов посвящен последний раздел этой главы.) Когда список Выбранные поля будет полностью сформирован, щелкните на кнопке Далее, чтобы перейти к следующему этапу создания запроса. По умолчанию поля в создаваемом мастером запросе будут располагаться в той же последовательности, что и в исходной таблице. Чтобы изменить порядок отображения полей в результирующем наборе записей, переносите поля из списка Доступные поля в список Выбранные поля в той последовательности, в которой они должны располагаться в новом запросе. Так, поля таблицы Товары для создаваемого в качестве примера запроса перенесены в список Выбранные поля в следующем порядке: Наименование Товара, ЕдиницаИзмерения, ЦенаТовара и Производитель (рис. 12.3). CoiflflHHeniiarтын запросов , • Выберитеполядпямлроса. - Допуосаетея выбор нескольких таблиц или запреет.
Таблицы и запросы ]Таблнца: Товары Дегтупныеполя:
[^[бранные пота:
Рис. 12.3. Выбраны все требуемые поля для будущего запроса к таблице Товары 5. Новое окно мастера предлагает выбрать тип создаваемого запроса: подробный (отображаются все записи) или итоговый (с выполнением арифметических операций с числовыми полями таблицы), как показано на рис. 12.4. Примите заданную по умолчанию опцию подробный (вывод каждого поля каждой записи) и щелкните на кнопке Далее. 6. Заключительное окно мастера предлагает указать имя запроса (рис. 12.5). Введите нужный заголовок в соответствующее текстовое поле диалогового окна или оставьте предложенное мастером имя без изменений (по умолчанию это название таблицы, на основе которой создается запрос). Кроме того, необходимо сообщить мастеру о своих дальнейших действиях. Примите предложенную по умолчанию опцию Открыть запрос для просмотра данных и щелкните на кнопке Готово. (Если вам необходима помощь, установите в последнем окне
240
Часть IV. Создание и использование запросов
мастера флажок Вывести справку по работе с запросом?, и в окне справки будет открыт раздел Работа с данными таблицы.) 1И»1Е1!Е!Д...1.г«П-,:«^Л1Т
Выберите i сЁмьй (вы
Отмена
I
< Ь"*Д
! каждой ааписи)
Лапе* >
Г-°тоео
Рис. 12.4. Укажите тип генерируемого запроса
Задайте ин (Товары П[
У «аяны в ее сведения, необходимые для CQJ дання запроса С псмоишгонастера. Дальнейшие действия; .
1 Быввсти дчмеку по работе с загдосок* Отивца
I
< Цаэад
Д.,..1 • с .••
Рис. 12.5. Укажите имя нового запроса
Мастер создает запрос с учетом всех указанных вами настроек, сохраняет его под именем, заданным в последнем окне мастера, и отображает на экране результаты выполнения нового запроса (рис. 12.6).
В
Чтобы перейти в режим конструктора запросов и указать для запроса, например, условия отбора или сортировки, в последнем диалоговом окне мастера создания простых запросов выберите опцию Изменить макет запроса.
7. Просмотрев результаты выполнения запроса, закройте окно запроса, шелкнув на служебной кнопке Закрыть ( Ш ), расположенной в правом верхнем углу этого окна.
Глава 12. Простые и многотабличные запросы
241
|*р Товэры_ПростайЭапрос: запрос на выборку
;
Наименований сироп 150 Мл мазь 20 г в туб №1 табя 25 мг №20
АУРОБИН ВЕРОШПИРОН" " ВИНПОЦЕТИН " ДОНАПГНН НИМО70П_
табл. 5 urNifSQ 'капе. 250мг №30
БЕРЕШ-ППЮС ФАПИМИНТ ЗЕРОКОЛД ДИМЕДРОЛ
капли 100 мл табл. Ne2Q табл. №200 :табл ОР5 №10 табл Ns1_Q_ тэбл №20
: 30 иг №100.
АСКОРУГИН _ СТОПТУССИН ЦИСТЕНАЛ _| КАЛЕНДУЛЫ НАСТОЙКА | Запись; _ 1 < Ь Л "
:
10мл
В,40грн
КРКА В,63грн. ГЕДЕОН РИХТЕР 6,57 фн. ГЕДЕОН РИХТЕР _19,39грн. ГЕДЕОН РИХТЕР 11,67грн. ГЕДЕОН РИХТЕР 2Э9.00грн БАЙЕР 44.6егрн БЕРЕШ 5.19ФН. 6ЕРЛИН-ХЕМИ 53.00грн БИОМЕДИКЕЙР 0,2Эгрн. БИОСТИМУЛЯТОР 0.38ФН. БОРЩАГОВСКИЙ ХФЗ 7.14фн. ГАЛЕНА 5,33фн. ГАЛЕ НА. 0,81 фн. ГАЛЫЧФАРМ
-
j j
Рис. 12.6. Результаты выполнения простого запроса, созданного мастером. Отображаются значения лишь тех полей, которые были указаны в ходе диалога с мастером Как видим, в плане возможностей сортировки и фильтрации простой запрос, созданный мастером, уступает даже расширенному фильтру. Такие запросы требуют дальнейшей доработки в режиме конструктора запросов. Однако с запросами в режиме таблицы можно работать так же, как и с таблицами, применяя в случае необходимости функции сортировки и фильтрации. Сохраненный запрос можно снова выполнить, открыв вкладку Запросы окна базы данных. Чтобы сделать это, дважды щелкните на имени нужного запроса (или сначала выделите его, щелкнув на его названии, а затем щелкните на кнопке Открыть панели инструментов окна базы данных).
Другие типы мастеров запросов В диалоговом окне Новый запрос (см. рис. 12.2) доступны также и некоторые другие мастера, которые позволяют создавать более сложные разновидности запросов. •
Мастер перекрестных запросов. (Подробно запросы такого типа будут рассмотрены в главе 13, в разделе Перекрестные запросы.) • Мастер запросов на поиск повторяющихся записей. По заданному значению поля (или полей) таблицы этот мастер создает запрос на выборку, который позволяет обнаружить в таблице одинаковые записи. Мастер предлагает указать, по каким полям следует выполнять поиск повторяющихся значений и какие поля необходимо включить в результирующую таблицу. Как правило, помощь такого мастера оказывается весьма кстати при создании уникального ключевого поля для уже существующей таблицы. Кроме того, с помощью мастера можно выяснить, например, кто из клиентов оформил более одной сделки или сопоставить стоимость одного и того же товара у разных поставщиков. • Мастер запросов на поиск записей без подчиненных записей. Мастер просматривает данные двух связанных таблиц и отыскивает все записи родительской таблицы, для которой в подчиненной таблице отсутствуют соответствующие записи. Так, например, можно выяснить, какие товары не были еще включены в заказы или кто из клиентов пока воздерживается от покупок (поиск записей-вдов). Возможен и обратный подход, когда мастер помогает найти записи-сироты (например, в дочерней таблице имеются записи о так называемых "разовых" покупателях, не зарегистрированных в таблице постоянных клиентов, но уже оформивших покупки).
242
Часть IV. Создание и использование запросов
Чтобы воспользоваться услугами мастера для создания этих типов запросов, выполните следующее. Ей 1. В окне открытой базы данных щелкните на кнопке Запросы, а затем — на кнопке Создать панели инструментов окна базы данных. На экране появится диалоговое окно Новый запрос (см. рис. 12.2). 2. Выберите из списка доступных методов создания нового запроса требуемый вам мастер и щелкните на кнопке ОК. Далее следуйте инструкциям диалоговых окон соответствующего мастера.
Конструктор запросов Самый мощный инструментарий, позволяющий сформулировать свой вопрос к базе данных на языке, понятном программе Access, — это конструктор запросов. В окне конструктора можно как создать запрос "с нуля", так и доработать запросы, построенные с помощью мастера или сохраненные, например, на этапе освоения расширенных фильтров. Именно к такому расширенному фильтру, сохраненному в виде запроса, мы и обратимся, чтобы ознакомиться с основными структурными элементами окна конструктора запросов. Открыть сохраненный запрос можно таким образом. Щ
1. В окне открытой базы данных щелкните на кнопке Запросы. 2. В списке запросов щелкните на имени запроса (например, Запрос_РасширенныйФильтр), который необходимо открыть в режиме конструктора. g| 3. Щелкните на кнопке Конструктор панели инструментов окна базы данных. Ранее созданный фильтр выглядит в окне конструктора, например, так, как показано на рис. 12.7. Верхняя область окна конструктора запросов — это панель таблиц, каждая из которых представлена списком ее полей, а нижняя панель окна — это бланк или таблица запроса, в нее вносятся имена полей, участвующих в запросе, а также условия отбора и сортировки записей. Каждый стопбец бланка запроса включает информацию об одном поле таблицы или запроса, структура которых представлена в верхней области окна конструктора. По сравнению с окном конструктора расширенного фильтра в бланке запроса представлены новые строки полей: Имя таблицы и Вывод на экран. Кроме того, при открытии окна конструктора запросов под строкой главного меню окна Microsoft Access появляется новая панель Конструктор запросов. Окно конструктора запросов работает в двух режимах: Конструктор (см. рис. 12.7) и Режим таблицы. В режиме таблицы на экране отображаются результаты выполнения запроса — так, как показано, например, на рис. 12.6. Осваивая работу в режиме конструктора, в качестве примера создадим простой запрос к таблице Товары, который отображал бы упорядоченный в алфавитном порядке список товаров стоимостью выше 50 грн. Служебные поля (КодТовара, Актуальность и ДатаРегистрации) из таблицы результатов должны быть исключены. Создание многотабличного запроса будет рассмотрено далее в этой главе. Чтобы инициировать режим конструктора для создания нового запроса, выполните следующее. Ы 1. В окне открытой базы данных (Интернет-аптека) щелкните на кнопке Запросы, а затем в области объектов дважды щелкните на ярлыке Создание запроса с помощью конструктора. 2. На экране появится пустое окно конструктора запросов, а также диалоговое окно Добавление таблицы (рис. 12.8), в котором перечислены объекты {таблицы и/или запросы) открытой базы данных.
Глава 12. Простые и многотабличные запросы
243
\Ш
Microsoft
Act
\ip gatin - Правки
' ...
ess
fft
-
Вставка
[Запрос Запвос
РасширеннымФииьтр
Сервис
QKHO
г
запрос
ni
выборку]
^правка
г
.
- _ iff X
птЯЯб
• КодТовара :: ; : Найме чованиеТовара ЕйкчицгМгмеоенич •;_: Прои)водите1ь -J. ЦвкаТовара Н НаяичиеТовара Актуальность ДлтаРегисграа**
-
JU
Попв: • Имя таблицы! Сортировка: Вывод на экран: • -Условие отбора:
1НЯИ1ЯЩ" Товары па вмоастанига
-*Товары
>50
>#15.0Э.02К And <*15,09.02*
33
Да
таРег
и
а
страции
а
— ~^~
а
или: < I
!
;--,;!-
-...
!
; ;
.
'
•
.
-
•
. '
-
Готово'
.
-
*'jT"
мим
Рис. 12.7. Так выглядит в окне конструктора запросов расширенный фильтр Запрос_РасширенныйФильтр, сохраненный в виде запроса
-Лапе 1*1Я таблицы Сортировка
Вывод на экран
Условие отбора ИЛИ
.'
Рис. 12.8. Работа с конструктором запросов начинается с выбора источника данных для запроса, В диалоговом окне Добавление таблицы представлен список объектов — таблиц и/или запросов, — которые можно добааить в окно конструктора Открыв вкладку Запросы окна базы данных, окно конструктора запросов можно вызвать также другими способами. <• Щелкнуть на кнопке Создать панели инструментов окна базы данных. •Ф- Выбрать команду Вставка ^Запрос главного меню программы Access. На экране появится диалоговое окно Новый запрос (см. рис. 12.2), где из списка доступных методов создания нового запроса следует выбрать пункт Конструктор и шелкнуть на кнопке ОК.
244
Часть IV. Создание и использование запросов
3. Дважды щелкните на имени таблицы (например, таблицы Товары), к которой будет создан запрос (или щелкните на имени таблицы в списке, а затем — на кнопке Добавить). Выбранная таблица появится в окне конструктора запросов в виде небольшого окна, где перечислены ее поля (рис. 12.9). Чтобы закрыть окно Добавление таблицы, щелкните на кнопке Закрыть. \f 3*ipocl : гащкк наяы&орку
И9ВЕШ
з
н'-пииММш КодТовфв НашеноааниэТовэра Единицей лтеречмя Производитель
LlLJ
*"*
,j
_^J :
"
±Г .Ij -
Поле Имя таблицы Сортировка Выводиажрвн Условие отбора
.
."
—
D
п
п
а
«ли;
'
«И
'
•• •
>Г
Рис. 12.9. Источником данных для запроса будет таблица Товары Чтобы вызвать диалоговое окно Добавление таблицы, работая в режиме конструктора, щелкните на кнопке Отобразить таблицу панели инструментов Конструктор запросов или, щелкнув правой кнопкой мыши в верхней части окна конструктора, выберите команду Добавить таблицу из появившегося контекстного меню. 4. Щелкните в первой ячейке строки Поле нижней панели окна. В правой части выбранного поля появится кнопка раскрывающегося списка. Щелкните на этой кнопке и выберите из списка имя поля, которое будет включено в запрос. Для нашего примера следует выбрать поле НаименованиеТовара, как показано на рис. 12.10. Имя указанного поля появится в строке Поле, а в поле Имя таблицы программа Access поместит имя исходной таблицы или запроса. Кроме того, по умолчанию для выбранного поля сразу устанавливается флажок в поле Вывод на экран, так как предполагается, что вы рассчитываете увидеть данные этого поля в таблице результатов запроса.
^зэии&
1LJJ -
•
;
„
к
Еличщаа!; иере*и Прснз водитель
..
,'J
Товары.* КодТоварл ВЬЕОД на экран: Условие отбора;
шшш^шш.ная
МаличиеТоеара Дк туа льность
'-
Рис. 12.10. Выбор поля, которое будет включено в запрос
Глава 12. Простые и многотабличные запросы
245
Название поля можно также перетащить в бланк запроса из списка полей таблицы, расположенного в верхней области окна конструктора запросов, или дважды шелкнуть на имени поля в этом списке. 4. Повторите шаг 3, чтобы включить в бланк запроса все необходимые поля. В бланк запроса к таблице Товары следует поместить поля ЕдиницаИзмерения, Производитель, ЦенаТовара и НаличиеТовара (рис. 12.11). Для тех полей, которые не должны отображаться в таблице результатов запроса, снимите флажок опции Вывод на экран (скажем, возможна ситуация, когда на экран не предполагается выводить значения поля, по которому будет задан критерий запроса). ,
1 Попе: Наигоенов аниеТов ара Имя таблицы: Товары Сортировка! Вывод на экран; 0 Условие отбора; или:'
Единиц atlaie рени а Товары
Производитель Товары
0
,*•, Товары
Товары
—
а
0
0
•Г
: "• •
<1;Г" Рис. 12.11. В бланке запроса указаны все необходимые поля
Элемент "звездочка" (*), который указывается в списках полей первым, позволяет включить в запрос все поля таблицы, однако в бланке запроса они будут представлены одним столбцом с таким именем, например, как Товары.* (рис. 12.12). Наличие такого столбца в таблице запроса говорит о том, что при выполнении запроса на экране будут отображаться все поля исходной таблицы. Чтобы включить в бланк запроса сразу все поля таблицы, выделив для каждого из них отдельный столбец, следует дважды шелкнуть на заголовке таблицы, чтобы выбрать все поля, а затем поместить указатель в любое выбранное поле и перетащить множество полей в таблицу запроса (рис. 12.13). Порядок расположения полей в бланке запроса будет соответствовать естественному порядку следования полей в самой таблице.
jssss
Поле: Имя таблицы: Товары ч, Ссртироекаг Вывод на экран: 0 Условие отбора: или: •
№&*
-_.
П
а
о
П
—
-- -
•И
:!У
--
-- .
Г
Рис. 12.12. Столбец, в заголовке которого присутствует "звездочка", указывает на то, что в результирующей таблице будут отображаться все поля таблицы-источника 5. Если предполагается сортировка записей результирующего набора по определенному полю (полям), шелкните в поле Сортировка нужного столбца и выберите из раскрывающегося списка пункт По возрастанию или По убыванию. Для рассматриваемого примера сортировку по возрастанию следует выполнить по значениям поля НаименованиеТовара (рис. 12.14). Не забывайте о том, что составную сортировку (по нескольким полям) программа Access выполняет, начиная с крайнего левого поля и далее — в порядке следования указанных полей в бланке запроса — т.е. слева направо. В случае необходимости нужное поле (или поля) следует переместить в новое положение.
246
Часть IV. Создание и использование запросов
Л5Ш
ЕдинииаИзмерения
_± —
Попе Имя таблицы Сортировка Вывод на экран Условие отбора
п
а
а
«Id.
п
. " . . . -
>Г
Рис. 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
•«деке при импорте и создании: , р; ключ; к од; номер
]
& кнопки параметров обновления свойств
- -
Конструктор запросов
" :.. " " " -
Р Быводннвнтзбпиц
.' При запуске предоставляются прмэ
Г~ Вывод всех попей .,
• <~ владельца
I? Автоматическое о(гтеди»*нпа "
. (• пользователя
j Шс*1фт в конструктсре sanpocoe ~
. Синтаксис дпя SQL Server (ANSI 92)
i Шрифт; '• IiTahoma ;
1:
Т текущая 6asi даи*и
Раэнер; T
1 1 1S
—4
'1
*—Л ,;
Г"
. ОК.
\
Отмена - I
Притенить |
!
Рис. 12.17. Флажок опции Вывод всех полей по умолчанию снят. Если установить его, при выполнении запроса на экране будут отображаться все поля исходной таблицы или запроса
Общие] Описание.".,...., лРВКНП по у м о п ч а и и о , . , . , . , , , . , . . Вывод асах полай Набор значений .-, Унихапьшеэначвння.'. .... ....... Уника пьнывмпнси ,.-.: ,\ «-.' При senycKWj» доставляются права , Вам дднньо:-исгочник.Z Строка тодкяочепия-яЬбчмик Блокирсека мписей. .', Тип набора иписей,.. .. ._ •,
Рис. 12.18. При установленном значении Нет свойства Вывод всех полей в бланк запроса необходимо включить все поля, которые должны отображаться в результирующей таблице
Глава 12. Простые и многотабличные запросы
249
Многотабличные запросы При использовании сразу нескольких таблиц в качестве исходных для запроса программа Access возвращает результирующие данные как один объединенный набор записей в режиме таблицы. Предполагается, что прежде, чем вы обратитесь к помощи мастера для создания многотабличного запроса или построите его своими силами в режиме конструктора, в базе данных будут установлены все необходимые связи между таблицами. Подробно вопросы определения связей, а также роль ключевых полей во взаимодействии связанных таблиц рассматривались в главе 10, Ключи, связи и индексы таблиц. Процесс создания запроса, в котором участвуют поля из нескольких таблиц, аналогичен описанным выше схемам для однотабличных запросов, однако существует ряд важных моментов, акцент на которых будет сделан в следующих подразделах.
Помощь мастера запросов Знакомясь с работой мастера простых запросов, мы оставили без внимания второй тип запросов, который можно создать с его помощью, — итоговые запросы. Хорошая возможность исправить этот пробел предоставляется сейчас, при изучении запросов к нескольким таблицам. Поставим перед собой следующую задачу: разработать итоговый многотабличный запрос, который отображал бы список препаратов таблицы Товары с указанием обшего количества проданных единиц каждого товара. Информация о том, какое количество товаров того или иного наименования было включено в заказ, хранится в таблице СодержаниеЗаказов. Напомним, как организована связь между таблицами Товары и СодержаниеЗаказов (рис. 12.19). Поскольку речь идет об отношении "один ко • £ Схема данным многим", в роли родительской выступает таблица Товары (первичный ключ КодТовара), дочерней — таблица СодержаниеЗаказов (поле аииенсваниеТовара КодТовара здесь уже не является первичным ЕйичщаМзчере пня Производителе ключом, а выполняет функции внешнего клюЦенаТовара ча). Фактически итоговые запросы должны НаличиеТовара я включать только поле (поля), по которому КздЗжаэа Актуальность КодТишра ДатаРегистрации ЦенеТсеара группируются данные (для нашего примера это Количество поле КодТовара таблицы СодержаниеЗаказов), Актуальность ДатвРегистрации и числовые значения, с которыми будут производиться итоговые вычисления (поле КоличестРис. 12.19. Для таблиц, участвующих в мно- во таблицы СодержаниеЗаказов). В нашем готабличном запросе, должны быть опре- примере поля связанной таблицы Товары включены в запрос только с целью более наделены связи глядного представления информации (помимо кода товара, указывается его наименование и некоторые другие сведения). Чтобы воспользоваться услугами мастера для построения многотабличного запроса, выполните следующее. gj I. В окне открытой базы данных щелкните на кнопке Запросы, а затем в области объектов дважды щелкните на ярлыке Создание запроса с помощью мастера. На экране появится первое диалоговое окно мастера. 2. Выберите из раскрывающегося списка Таблицы и запросы первую таблицу (запрос), поля которой должны быть включены в новый запрос. Для нашего примера первой следует выбрать родительскую таблицу Товары. В списке области Доступные поля будут отображены поля указанной таблицы или запроса.
250
Часть IV. Создание и использование запросов
3. Включите в запрос все необходимые поля из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Для создаваемого в качестве примера запроса в список Выбранные поля должны быть перенесены такие поля таблицы Товары, как КодТовара, НаименованиеТовара, ЕдиницаИзмерения и Производитель (рис. 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
ание просили запрогое
^
Выберите подробный или итоговый отчет; Г
гтааро^й(вьиодкаждогопапякаждсймписи)
цтогоеь!»
Отмена
I
<На»ад
|
Далае>
Готово
I
Рис. 12.22. Мастер будет создавать итоговый отчет
7. Чтобы задать параметры итогового запроса, щелкните на кнопке Итоги. На экране появится диалоговое окно Итоги, в котором в рамках нашего примера следует установить флажок опции Sum для поля Количество, как показано на рис. 12.23. Чтобы вернуться к окну выбора типа запроса, щелкните на кнопке ОК. Для перехода к следующему окну мастера щелкните на кнопке Далее.
Какие итоговые кячения необходимо вычислить'' Попе Количество
Sum Avg 1
IS
№i
flax
Г Г
Г.
1
Подсчет числа ..sameeBfl СодевивниеЗаказов
Рис. 12.23. Диалоговое окно Итоги позволяет установить различные опции итогового запроса
8. Заключительное окно мастера предлагает указать имя запроса. Введите нужный заголовок в соответствующее текстовое поле диалогового окна или примите имя, предложенное мастером. И наконед, щелкните на кнопке Готово. Мастер создает запрос с учетом всех указанных настроек, сохраняет его под именем, заданным в последнем окне мастера, и отображает на экране результаты выполнения нового запроса (рис. 12.24). Рисунок показывает, что в результирующий набор были включены записи только о тех препаратах, которые фигурируют в заказах. Программа Access вычислила также, сколько всего было заказано единиц товара каждого наименования — это значение указано в последнем столбце таблицы результатов (Sum - Количество).
252
Часть IV. Создание и использование запросов
Нпиковит 2 АУРОБИН 4ВИНПОЦЕТИН 5 ДОМАЛГИН 6 НИМОТОП
а ФАПИМИНТ
сироп 150 ил мазь 20 г е туб. №1 : та6л 5мг №50 'капе 250 мг№30 " 30мг №100 Чабд №20 •табл 1*200 "табл 0,05 №10 табл. NalO табл. №20
9" ЗЕРОКОЛД 10 ДИМЕДРОЛ 11 АСКОРУТИН 12 СТОПТУССИН 14 КАЛЕНДУЛЫ НАСТОЙКА 60 ил 1Б КОЛДФЛЮ табл. №200 17 ОКСИКОРТ мазь 10 г
КРКА
. ГЕДЕОН РИХТЕР "ГЕДЕОН РИХТЕР ! ГЕДЕОН_РИХТЕР ГВАЙЕР БЕРЛИН-ХЕМИ .БИОМЕДИКЕЙР :БИ_рСТИМУЛЯТОР БОРЩ4ГОВСКИЙ ХФЗ ГАЛЁНА ГАЛЫЧФАРМ ДЖЕМОМ ЕЛЬФА С.А
Ins Б9
Рис, 12.24. Результаты выполнения многотабличного итогового запроса
9. Просмотрев результаты выполнения запроса, закройте окно запроса, щелкнув на кнопке Закрыть ([*)), расположенной в правом верхнем углу этого окна.
Создание многотабличного запроса в режиме конструктора Пример, предлагаемый в этом подразделе, не только знакомит с процессом построения многотабличного запроса в окне конструктора, но и наглядно иллюстрирует уже упоминавшиеся выше "аналитические" способности запросов. Предположим,, что требуется оценить, что из ассортимента препаратов, выпускаемых фирмой ГЕДЕОН РИХТЕР, пользуется спросом. Учитывая существующие в базе данных Интернет-аптека межтабличные связи, ответ на постаа1енный вопрос можно найти "вручную", выполнив фильтрацию по значению ГЕДЕОН РИХТЕР поля Производитель таблицы Товары и просмотрев связанные записи дочерней таблицы СодержаниеЗаказов, так как это показано на рис. 12.25. Как видно из рисунка, записи тех лекарственных препаратов ГЕДЕОН РИХТЕР, на которые поступали заявки, имеют связанные записи в таблице СодержаниеЗаказов. Так, например, такие товары, как АУРОБИН и ДОНАЛГИН, фигурируют в двух заказах, а на ВЕРОШПЛРОН (лекарственная форма табл. 25 мг №20) не было оформлено ни одной заявки. Однако в ситуации, когда список товаров насчитывает сотни записей, такой подход неприменим. И здесь уже не обойтись без запросов, с помощью которых можно проанализировать данные в таблицах любого объема. Несложный, но правильно сформулированный запрос позволяет быстро получить из базы данных интересующую нас информацию. В нашем примере в таблице СодержаниеЗаказов необходимо найти записи о заказах на препараты фирмы ГЕДЕОН РИХТЕР, т.е. в поле КодТовара такой записи указан код товара, совпадающий с кодом любого препарата из таблицы Товары, у которого в поле Производитель указано значение ГЕДЕОН РИХТЕР (рис. 12.26). Чтобы создать многотабличный запрос в режиме конструктора, следуйте таким инструкциям. 1. В окне открытой базы данных (Интернет-аптека) щелкните на кнопке Запросы, а затем в области объектов дважды щелкните на ярлыке Создание запроса с помощью конструктора. На экране появится пустое окно конструктора запросов, а также диалоговое окно Добавление таблицы, в котором перечислены объекты (таблицы и/или запросы) открытой базы данных.
Глава 12. Простые и многотабличные запросы
253
В Товары :т*бЛ^а
(Код
ШИ и, ми .«vuiicjit
Наименование (Лекарственная форма 2 АУРОБИН
|Нэшнч1Акгуз|. Дата регистрации
мазь 20 г з т у б . №1 ГЕДЕОН P№fTEP 8.83грн И Цена . Количестео \ Актуальность Дата Р еги етр а цй и'1 8.63грн. 2 12-янв-20011
Код заказа J
8,ВЗгрн.
"1
1
Цена
1:
И
• И !
24-фев-2001 1
т
Код заказа
Цена
6.57 грн. S Актуальность Дата Регистрации 1
Количество
1
*L
а
14-апр-200^
J
:
7
t
И :
Г ±ДЕОН РИХТЕР 1Э,39грн. В табл. 5 мг №50 Актуальность ДатаРегвстрации 1 Цена Количество 2 0 19,39грн. ЭО-апр-2001!
ВИНПОЦЕТИН Код заказа
|
:
3 ВЕРОШПЙРОн"":та6л"'25нг№!20~' ' ' ГЕДЕОН РИХТЕР 1
1
12-Ы&Р-2002
И !
27-апр-2002 i
II S ДОНАЛГИН
капе. 250 иг №30 ГЕДЕОН РИХТЕР 11,67фк. 0 - Количество Актуальность Дата Регистрации I Цена
Код заказа 1.
11,б7грн
19.
2.
t
11.67грн. |
. И '
06-двк-2002
12-янв-2001| 25-эвг-2001 1
2
-г
О'АНТЕОВИН табл. НЙП 1 БРОМОКРИПТИМэбл 2.5мгМвЗО
i ь:
Зв
И
1_"Л
ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР
" IslUrpH. 24.5Эгрн" 1
.
0
.
И
Е
г-
И
я
*—
»
27-апр-2002 27-апр-2002 '
_
_
IJ
Г _»_J_»IJ»*im 2
Рис. 12.25. Чтобы отобразить записи из связанной таблицы, щелкните на значке "плюс" (+) слева от любой записи главной таблицы
|||^ННННН1ННН1НННВИШНВВИШНШИНО]ШЕ
• 1;одер:+'энир Заказов . таблица
Код| Код товара | 1 Гl)
>
1J
з
Г
3
2
1
2
1
Цена 8.83грн. 1
-
.._
-
3
ID-
S'
17
" 5|
'
б! -
'
84
5
90
5
115
1^йсьтЛШГ~
ъ ВЕРОШПИРОН
«|
4 ВИНПОЦЕТИН
5 ДОНАЛГИН
'
ГЕДЕОНРИХТЕР 6,5": ГЕДЕОН РИХТЕР 1 9.3'i j
капе . 250 мг №30
ГЕДЕОН РИХТЕР 11,61? БАЙЕР
i9.№;
БЕРЕШ
14,0!.
30 мг №100
к|
8ФАЛИМИНТ
табл.Ыв20
БЕРЛИН-ХЕМИ . 5,1!|:,
*
9 ЗЕРОКОЛД £ 1
табл. №200
БИОМЕДИКЕЙР 53,01
Запись! 1< 1
табп.25мг№20 табп. 5 мг №50
НИМОТОП 1 *7 БЕРЕШ-ПЛЮС е
75 " "
л
щдз H-iatx : Код Наименование I Лекарственная форма! Проиэводитепь Ц± 1 ПИКОВИТ сиооп 150 мл КРКА 8.41-1 » "* (1)\УМОЬИН мазь ^и г в туь. №1 с|№1аяяйвв11а^я в: *
36
S
Количество | Актуапьдасть^атаРетстраьрч'Я! 2 0 12-ЯНВ-2001И
капли 100 мл
:
с
Lii'r^ • У ин|>У1^1» ' & -i:iI£ZJ""
t J M J m - j m 91
"In
..
Рис. 12.26. Пример связанных записей из таблиц СодержаниеЗакаэов и Товары
2. Дважды шелкните на имени первой таблицы (например, СодержаниеЗаказов), которая будет включена в запрос (или щелкните на имени таблицы в списке, а затем — на кнопке Добавить). Выбранная таблица появится на панели таблиц конструктора в виде небольшого окна, где перечислены ее поля. 3. Повторите шаг 2, включив в окно конструктора все необходимые таблицы или запросы (на рис. 12.27 это таблицы СодержаниеЗаказов и Товары). Чтобы закрыть окно Добавление таблицы, щелкните на кнопке Закрыть. Обратите внимание, что программа Access автоматически отображает и установленные межтабличные связи.
254
Часть IV. Создание и использование запросов
:
(Р Запрос! ; запрос на выборку
"
-
* .
"Г"
-
™
—
1
КодЗакгоа КодТовара ЦенаТовара
КшТовара
• Нам пенооаниеТоеара
Единиц аИзчеренмя 1роюеодитель ЦенаТоеара НэличиеТоеара
Количество Актуальность ДатаРегистращли
Актуальность датаРегистрацн и
LOJ
:
=
Попе:
-
•
-"
лГ
:
=•
= =Т1 __
Мня таблицы; Сортировке; Вьеод на яфак: Уегюшю отбора:
D
D
П
П
D
нлн:
V
4J
1_
- .=
:
.
• . - ; : ' -
- -
-:
-
- - jfT^
Рис. 12.27. Источниками данных для запроса служат родительская таблица Товары и дочерняя Содержа ниеЗака зов Добавить таблицу в окно конструктора запросов можно, перетащив ее" из вкладки Таблицы окна открытой базы данных. Чтобы удалить таблицу из окна конструктора запросов, выберите ее и нажмите клавишу либо выберите команду Запрос ^Удалить таблицу.
4. Включите в бланк запроса все необходимые поля из таблиц, находящихся в верхней части окна конструктора. Порядок выбора полей должен совпадать с порядком их отображения в результатах выполнения запроса. Для нашего примера следует выбрать поле КодЗаказа (таблица СодержаниеЗаказов), затем поля НаименованиеТовара, ЕдиницаИзмерения и Производитель (таблица Товары) и поле ЦенаТовара (на момент оформления заказа) из таблицы СодержаниеЗаказов (рис. 12.28).
^^Я'
mm
3
S /
^ *~" нвми^^'и.иЮыра
ЦвиаТовара
|ПрОП1вОЛНТЕЛЬ
Актуальность Дат зРегист рани
ЩенаТоеара „ 1нагичиаТовйра |Актувявпость
^
«LJ~ •Поле: Кол Заказа ~ №я таблицы; Ссхлирсика; Успобив отбора: "V-
И
Гс^жы
Т«ары
а
Topapei
а
С;дер**и«3»«>—
и
ч1
в .Г
Рис. 12.28. В бланке запроса указаны все необходимые поля
5. Снимите флажок с опции Вывод на экран для тех полей, которые не должны отображаться в таблице результатов запроса, но включены в запрос как поля, по которым, например, будут заданы условия отбора.
Глава 12. Простые и многотабличные запросы
255
6. Чтобы отсортировать записи результирующего набора по определенному полю (полям), щелкните в поле Сортировка нужного столбца и выберите из раскрывающегося списка пункт По возрастанию или По убыванию. Для рассматриваемого примера сортировку по возрастанию следует выполнить по полю НаименованиеТовара. 7. Введите условия запроса для одного или нескольких полей. Для этого щелкните в поле Условия отбора соответствующих столбцов и введите требуемые значения или выражения. В нашем примере критерий запроса "ГЕДЕОН РИХТЕР" следует ввести в поле Производитель, как показано на рис. 12.29. ' ' Пол,, L ^ ИяЯИбпиць СомвчинпвЭесюое Сорп^жвквВееод HS экран: г иви;
Товары па во листанию В
- --
1 Производитель Тд^и^ре^—Товары Томны
И
0
ТЕ ДЕОН РИХТЕР"
ЦаиаТоевм -~ Сол ер* ан^е Э ашт~. Ё1
-- -
Рис. 12.29. Условие запроса задано для поля Производитель таблицы Товары
8. Когда все параметры запроса указаны, щелкните на кнопке Запуск, расположенной на панели инструментов Конструктор запросов, или выберите команду Запрос^ За пуск. Результаты выполнения запроса отображаются в режиме таблицы, структура которой строго соответствует порядку следования полей в бланке запроса (рис. 12.30). & Запрос! : запрос на выборку _Кдд заказу |"'""'Наименоюнив Щ АНТЕОВИН 2 АУРОБИН 1 АУРОБИН / БРОМОКРИПТИН 17 БРОМОКРИПТИН 22'ВЕРМОКС" ' U БЕРОШПИРОН 17 ВЕРОШПИРОН 7 ВИНПОЦЕТИН 15 ГИДРОКОРТИЗОН 19.ГИСТОДИЛ 29 ДЕКАРИС 19 ДОНАПГИН ]'ДОНАЛГИН
а КАБИН-СИ
Эап«ь: И!
[Лекарственная фирма| Производи" табл 1*21*3 [ГЕДЕОН РИХТЕР мазь 20 г в т^5 №1 ГЕДЕОН РИХТЕР мазь 20 г в туб. Мя1 ГЕДЕОН РИХТЕР" табл. 2.5мг №30 ГЕДЕОН РИХТЕР таб-г, 2,5 мг№30 ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР табл 100 иг ОД капс._1рО мгНаЗО ГЕДЕОН Р№<ГЕР капе. ЮОмгМеэа -ГЕДЕОН РИЭТЕР табл. 6 ur N350 ГЕДЕОН РИХТЕР фл. 125 мгб ил Ne1 ГЕДЕОН РИХТЕР табл. 200 иг №50 ГЕД50Н РИХТЕР ГЕДЕОН РИХТЕР чапс. 250 иг №30 ГЕДЕОН РИХТЕР капе. 250 ыг№30 ГЕДЕОН РИХТЕР табл 5 иг №50 ГЕДЕОН РИХТЕР
у
, а ';•--
Рис. 12.30. Итоговая таблица представляет собой список номеров заказов на товары фирмы ГЕДЕОН РИХТЕР. Наличие двух записей о таком, например, препарате, как ДОНАЛГИН, свидетельствует о том, что данный товар был заказан дважды (коды заказов 1 и 19}
Если просмотрев результаты запроса, вы найдете их неудовлетворительными, можно вернуться в режим конструктора и внести в запрос необходимые изменения. Для этого щелкните на кнопке Вид (режим Конструктор) панели инструментов Запрос в режиме таблицы. 10. Чтобы сохранить новый запрос, щелкните на кнопке Сохранить панели инструментов Конструктор запросов или выберите команду главного меню Файл^ Сохранить как. Откроется небольшое диалоговое окно сохранения, в котором необходимо ввести имя вновь созданного запроса и щелкнуть на кнопке ОК. 9,
256
Часть IV. Создание и использование запросов
Резюме Эта глава посвящена наиболее эффективному механизму получения актуальной информации из базы данных — запросам. В качестве источника данных для запросов могут служить таблицы и/или другие запросы. Программа Access поддерживает следующие типы запросов: запрос на выборку, запрос на изменение (на обновление, удаление, добавление записей и на создание новой таблицы), перекрестный запрос, запрос с параметрами и запрос SQL. Для создания несложного запроса на выборку можно обратиться к услугам мастера простых запросов. С помощью мастера можно построить как однотабличный, так и многотабличный запрос (при условии уже существующих в базе данных связей между этими таблицами). Мастера Access позволяют также создать запросы других типов: перекрестный запрос, запрос на наличие повторяющихся записей и запрос на поиск записей без подчиненных. Разработка более сложных запросов требует иного подхода: использования средств конструктора запросов. Диалоговое окно конструктора разделено на две области: панель таблиц, куда включаются таблицы и/или запросы, поля которых участвуют в запросе, и бланк запроса — таблица, куда заносятся поля и условия отбора записей. Поля для запроса могут выбираться из исходных таблиц в произвольном порядке, но их расположение в бланке запроса определяет порядок их отображения в таблице результатов. При создании многотабличного запроса в режиме конструктора программа Access автоматически распознает установленные в базе данных межтабличные связи и отображает их в окне конструктора в виде линии объединения (фактически в запросы мо;>кно включать и не связанные между собой таблицы — в этом случае объединение, функционирующее только в запросе, создается непосредственно в окне конструктора — однако подобная возможность не рассматривается в рамках этой книги).
Литература [1] Тейлор A. SQL для "чайников", 4-е издание. — М.: Диалектика, 2001. [2] Плю Р., Стефенс Р. Освой самостоятельно SQL за 24 часа. — М.: Издательский дом ''Вильяме", 2000. [3] Боуман Д., Дарновски М., Эмерсон С. Практическое руководство по SQL, 4-е издание. — М.: Издательский дом "Вильяме", 2002.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Запросы в программе Microsoft Access бывают следующих типов: а) запросы на выборку; б) запросы на поиск повторяющихся записей; в) перекрестные запросы; г) запросы на изменение. 2. Мастер создания простых запросов позволяет выполнить следующие действия: а) задать порядок следования полей в запросе; б) выбрать в качестве основы для запроса таблицу или запрос;
Глава 12. Простые и многотабличные запросы
257
3.
4.
5.
6.
7.
258
в) установить параметры сортировки или фильтрации записей; г) включить в запрос поля из нескольких таблиц; д) создать итоговый запрос. Чтобы создать новый запрос под руководством мастера простых запросов, необходимо следующее: 1 а) открыть вкладку Запросы окна базы данных и выбрать команду Файп ^ Создать главного меню; б) выбрать команду Вставка^Запрос главного меню, а затем — выбрат:-. пункт Простой запрос в открывшемся диалоговом окне Новый запрос; в) дважды щелкнуть на ярлыке Создание запроса с помощью мастера вкладки Запросы окна базы данных; г) щелкнуть на кнопке Создать вкладки Запросы окна базы данных и выбрать пункт Простой запрос в открывшемся диалоговом окне Новый запрос. Выбрать поле таблицы, которое будет помещено в бланк запроса в окне конструктора, можно следующими способами: а) щелкнув в ячейке строки Поле нижней панели окна конструктора и выбрав из раскрывающегося списка имя нужного поля; б) перетащив в бланк запроса имя нужного поля из списка полей таблицы, расположенного в верхней части окна конструктора; в) дважды щелкнув на имени поля в списке полей таблицы, расположенном в верхней части окна конструктора; г) щелкнув в ячейке Имя таблицы нижней панели окна конструктора и выбрав из раскрывающегося списка нужный пункт. Чтобы в режиме конструктора включить в бланк запроса все поля исходной таблицы, выполните следующее: а) выберите из раскрывающегося списка строки Поле элемент со "звездочкой"; б) дважды щелкните на заголовке таблицы, расположенной на панели таблиц окна конструктора, чтобы выбрать все поля, а затем поместите указатель в любое выбранное поле и перетащите множество полей в бланк запроса; в) установите значение Да для свойства Вывод всех полей в окне свойств запроса; г) поочередно дважды щелкните на именах всех полей исходной таблицы в области таблиц. Чтобы при отображении результатов выполнения запроса на экран выводились данные всех полей исходной таблицы, следует поступить так: а) установить флажок опции Вывод всех полей на вкладке Таблицы и запросы диалогового окна Параметры; б) включить в бланк запроса все поля исходной таблицы; в) установить значение Да для свойства Вывод всех полей в окне свойств запроса; г) включить в бланк запроса все поля исходной таблицы и установить для каждого из них флажок Вывод на экран. Чтобы в режиме конструктора удалить поле из бланка запроса, необходимо следующее: а) выделить нужный столбец, щелкнув на области выделения столбца, и нажать клавишу ; б) щелкнуть в любой ячейке нужного столбца и выбрать команду главного меню Правка^Очистить бланк;
Часть IV. Создание и использование запросов
в) щелкнуть в любой ячейке нужного столбца и выбрать команду главного меню Лравка^Удалить; г) щелкнуть правой кнопкой мыши в любой ячейке нужного столбца и выбрать из открывшегося контекстного меню команду Вырезать.
Глава 12. Простые и многотабличные запросы
259
Глава 13
Сложные запросы на выборку В этой главе... Ф
Использование выражений
4 Комбинирование условий с помощью логических операторов And и Or * Групповые операции и вычисления ф Вычисляемые поля Ф
Перекрестные запросы
4 Резюме *
Тесты
Использование выражений В главе 8, Форматирование и контроль данных, уже затрагивался вопрос использования выражений для проверки вводимых значений на уровне поля и таблицы. Простые выражения неоднократно будут применяться также в примерах последующих глав. Во многих случаях внимание на самих выражениях не акцентировалось, так как их использование было интуитивно понятным. Однако выражения — это мощное средство выполнения многих операций с данными в программе Microsoft Access, поэтому пора познакомиться с ними более подробно. В этом разделе изложены основные сведения о выражениях и их компонентах, а также приведены примеры использования выражений. Как уже отмечалось, выражение — это специальная конструкция, которая должна включать, по меньшей мере, один оператор и некоторые другие компоненты: литералы, идентификаторы или функции, которые называются операндами. Например, <=15, Date{) или [Общая стоимость]: [СтоимостьЗаказа]+[СтоимостьДоставки]. Применяются выражения очень часто, в программе Microsoft Access их можно вводить как вручную, так и с помощью построителя выражений, который подробно рассматривается в разделе, посвященном вычисляемым полям.
Компоненты выражений Операторы Операторы позволяют выполнить некоторые действия над одним или несколькими компонентами выражения. Используются они повсеместно, например при задании условий отбора записей в запросах или создании вычисляемых полей. Программа Access поддерживает шесть типов операторов. Арифметические операторы Арифметические операторы выполняют привычные математические операции с числовыми значениями: сложении (+), вычитания (-), умножения (*) и деления (/). Кроме того, к этой категории относится оператор целочисленного деления первого
операнда на второй (\), оператор деления по модулю Mod (остаток целочисленного деления одного операнда на другой) и возведения в степень (Л). В роли операндов могут быть как числа, так и значения полей или выражения. Пример для оператора деления нацело: 25,6 \ 3,8 = 6 (числа сначала округляются до целых значений, а затем вычисляется частное двух чисел, которое также округляется до целых). Пример арифметического выражения для формулы вычисляемого поля: ВремяДоставки: [ДатаЗаказа] - [ДатаИсполнения]. Операторы сравнения Операторы сравнения служат для сравнения двух операндов и возвращают, в зависимости от отношений между операндами, логические значения (True или Far.se) или Null. К этому типу относятся следующие операторы: > (больше чем), < (меньше чем), = (равно), о (не равно), <= (меньше или равно) и >= (больше или равно). В рассматриваемых ранее примерах операторы сравнения применялись для задания условий отбора записей в фильтрах и запросах, а также для создания условий проверки табличных значений. Если один из операндов имеет значение Null, результатом любого сравнения также будет Null. Логические (булевы) операторы Так как в качестве операндов таких операторов могут быть значения, которые либо ложны, либо истинны, логические операторы возвращают логические значения (True, False) или Null. Как правило, они используются для комбинирования результатов выполнения двух и более операций сравнения. Список логических операторов включает: And (Логическое И), Or (Включающее ИЛИ), Not (Логическое НЕ) и Хог (Исключающее ИДИ). Все логические операторы, за исключением Not, всегда работают с двумя операндами. Примеры использования оператора Not в условии отбора записей. • Not "Львов". Будут отобраны все записи о заказах, имеющие в поле Город лю!5ые значения, за исключением Львов. • Not 15. Будут отобраны все записи о товарах, код которых, указанный в поле КодТовара, не равен 15. Операторы конкатенации Оператор конкатенации & служит для объединения нескольких строк символов в одну строку. Обрабатывает все переменные как символьные строки. Пример использования оператора при задании значения вычисляемого поля: ПолноеИмя: [Имя]&" "&[Фамилия]. В поле ПолноеИмя будет отображаться конкатенация строковых значений полей Имя и Фамилия, разделенных пробелом. Операторы идентификации Программа Access работает с двумя операторами идентификации: ! (восклицательный знак) и . (точка). С помощью этих операторов можно обращаться к конкретным объектам, например к полю таблицы. • Символ ! (восклицательный знак) используется вместе с различными зарезервированными словами, например Forms, указывая на то, что далее следует имя формы. Так, например, чтобы идентифицировать форму Покупатели, исполь.зуется выражение Forms![Покупатели], так как в базе данных могут быть другие объекты с таким же именем, предположим таблица Покупатели. Синтаксис выражения следующий: КлассОбъекта!ИмяОбъекта.
Глава 13. Сложные запросы на выбпоку
261
• Символ . (точка) отделяет имена объектов от их свойств или методов (синтаксис задан иначе: КпасеОбъекта!ИмяОбъекта.Свойство или КлассОбъекта'ИмяОбъекта.Метод), например: Ротз![Заказы]![СостояниеЗаказа].Ое*аиИУа1ие. Другие операторы
Это операторы языка SQL, такие как Like, Is, In, Between...And, с помощью которых можно упростить создание выражений. Возвращают значения True или False. •
ts. Используется в выражениях Is Null или Is Not Null. Определяет наличие или отсутствие значения Null, т.е. является ли объект пустым. • Like. Проверяет, соответствует ли строковое значение заданному шаблону. В шаблоне можно использовать 5 символов подстановки: * (любое число символов), ? (любой одиночный символ), # (любая цифра), [список] (любой символ из списка) и [!список] (любой символ, не принадлежащий указанному списку). Например, если в бланке заказа условие отбора для поля ИмяПокупателя будет задано как Like "Б*", в результирующий набор включаются записи о покупателях, имена которых в поле ИмяПокупателя начинаются с буквы Б. Условие Like "[A-K]*" определяет отбор записей о покупателях, имена которых, указанные в поле ИмяПокупателя, находятся в диапазоне от А до К. • In. Проверяет, совпадает ли значение с одним из злементрв, указанных в списке. Например, критерий отбора может иметь следующий вид: 1п("Украина°, "Россия"). Согласно этому критерию будут отобраны записи, содержащие в поле Страна значение Украина или Россия. • Between...And. Определяет, принадлежит ли числовое значение заданному диапазону значений. Например, условие отбора записей может выглядеть как Between #01-янв-19Э5# And #01-дек-1996#. Литералы Литералы — это используемые в Microsoft Access значения в их явном представлении. Литералы бывают следующих типов. Числовые литералы
Числовые литералы водятся как ряд чисел, могут содержать знак разделителя (в десятичном числе) и знак "минус" (—) для отрицательных значений, символы Е и е, а также знак показателя степени (при экспоненциальной форме представления чисел). Например: 3,4567Е-01, 12000, -25. Текстовые (строковые) литералы
Такие литералы включают любые печатаемые символы (А—Я, A—Z, числа от О до 9, знаки пунктуации и специальные символы клавиатуры, а также непечатаемые символы, например, перевода каретки (задаются с помощью функции Chr()). Строковые литералы следует заключать в двойные кавычки (""). Например: "Иванов", "Киев", "ул. Крещатик д. 25". Когда строковые литералы вводятся в ячейки таблиц и бланк запроса, программа Access добавляет кавычки автоматически. Если в некотором строковом значении уже присутствуют кавычки, включить такое значение в выражение можно с помощью вложенных строк в одинарных кавычках О, например: Forms![npou3eodumenb]![CmpaHa}.DefaultVaIue - ' "Украина"'.
262
Часть IV. Создание и использование запросов
Литералы даты и времени В программе Access знак номера (#) должен ставиться до и после любой даты. Если при вводе в таблицу значение даты указывается в стандартном формате, распознаваемом Access, или определяется в качестве критерия отбора в бланке запроса, указывать эти знаки необязательно, например: #01.03 .99#, 15-янв-2001.
Идентификаторы Идентификаторы — это имена объектов (баз данных, таблиц, полей, запросов, форм и отчетов). Используемые в выражениях, идентификаторы возврашают определенные числовые или текстовые значения: т.е. представляют собой ссылку на текущее значение поля, элементы управления или свойства (например, значение указанного поля текущей записи). Имя объекта, однозначно его идентифицирующее, включает имя семейства (класс объекта, например, Forms), далее оператор идентификации (восклицательный знак или точка) и присвоенное имя (имя объекта). Например, в инструкции языка SQL идентификатором поля ДатаЗаказа таблицы Заказы будет следующий: Заказы.ДатаЗаказа, а при включении этого поля в формулу вычисляемого поля выражение будет иным: ЗаказыЩатаЗаказа. Идентификаторы с пробелами или другими знаками пунктуации должны заключаться в квадратные скобки: Заказы![Дата Заказа]. Такой, например, идентификатор, как Роггп8![Заказы]1[ДатаЗаказа).Ое{аи1Л/а1ие, определяет ссылку на значение свойства Значение по умолчанию (DefaultValue) элемента управления ДатаЗаказа в форме Закалы. В идентификаторы нельзя включать символы точки или восклицательного знака.
К идентификаторам относятся также 5 именованных констант программы Access: True, False, Yes, No и Null.
Функции Основное назначение функции — возвращать в выражение вместо имени функции вычисляемое значение. Для некоторых функций обязательным является указание одного или нескольких аргументов, в роли которых могут выступать идентификаторы или значения, заключенные в скобки. В Microsoft Access можно использовать как встроенные функции, так и определяемые пользователем. Ниже перечислены основные типы функций и некоторые примеры их использования. • Функции даты и времени. Примеры функций. DateO- Отображает текущую дату в формате дд.мм.гпт. DateAdd(11d", -15, [ДатаЗаказа]). Возвращает дату, на 15 дней предшествующую дате, заданной значением поля ДатаЗаказа. DateDiff("d", [ДатаЗаказа], [ДатаИсполнения])- Возвращает значение, представляющее разницу числа дней между значениями полей ДатаЗаказа и Дата Исполнения. Year(#12.06.01#). Возвращает целое число, представляющее год в указанной дате: 2001. • Функции обработки текста. Примеры функций. Format (Date, "dd-mmm-yyyy"). Возвращает текущую дату, отформатированную в соответствии с_указанным форматом: 20-фев-2002.
Глава 13. Сложные запросы на выборку
263
InStrfTOPOfl", "P"). Возвращает число, указывающее позицию первого вхождения одной строки в другую строку: 3. LCase(TOPOfl"). Возвращает строку, преобразованную к нижнему регистру: город. Left([PemoH], 2). Отображает два первых символа значения поля Регион. гадпЩКодЗаказа], 3). Отображает 3 последних символа значения поля КодЗаказа. Тпт([Наименование]). Отображает значение поля Наименование с удалением всех пробелов в начале или в конце строки. Ш Функции преобразования типа данных. Примеры функций. Val{"1234,56"). Возвращает число, содержащееся в строке: 1234, 56. Str(123,45). Возвращает строковое представление числа: " 1 2 3 , 4 5 " . •
Математические, статистические, финансовые функции.
Комбинирование условий с помощью логических операторов And и Or В этом разделе мы подытожим то, что уже известно о применении логических операторов при вводе условий в бланк запроса. Напомним, что оператор And требует одновременного выполнения тех условий, которые он объединяет, а оператор Or допускает возможность выбора между предложенными им вариантами. Ниже рассмотрены примеры использования логических операторов при комбинировании условий для одного или разных полей, участвующих в запросе.
Условие для одного поля с оператором And Если необходимо проверить значения определенного поля одновременно по двум критериям, атомарные условия отбора вводятся в одной ячейке указанного поля и разделяются оператором And. Как правило, конструкции с оператором And используются для поиска значений в заданном диапазоне. Например, для полей текстового типа это могут быть фамилии, расположенные в списке от А до Н, а для числовых полей — множество значений из определенного диапазона (>10 And <100). В итоговой таблице будут отображены записи, значение поля которых удовлетворяет обоим условиям. Пример запроса. Найти все заказы, оформленные весной 2001 года, т.е. в период с 1 марта по 31 мая 2001 года. Бланк запроса будет иметь вид, аналогичный показанному на рис. 13.1.
Условие для одного поля с оператором Or Альтернативные условия поиска для одного поля можно ввести двумя способами. Первый — с помощью оператора Or, который помещается между несколькими условиями отбора в одной ячейке. Например, если цена товара должна составлять от 10 до 20 грн включительно, условие, вводимое в ячейку, будет выглядеть как >=10 And <=20. Второй способ уже предусмотрен в самой структуре бланка запроса. Первое условие (например, >=10) вводится в ячейку строки Условие отбора соответствующего столбца, а второе (и последующие, если они есть) — в ячейки строк Или того же столбца. Таким образом, каждое из условий указывается в отдельной строке. В результирующей таблице будут отображены все записи, удовлетворяющие хотя бы одному из условий.
264
Часть IV. Создание и использование запросов
Попе; Заказы.* Имя таблицы; Заказы Сортировка: Вывод на экран: 121 Условие отбора;
Ji
ДатаЗаказа Заказы
iX
В
i"
D
>-#01, 03.01* And <*Q1. 06.01*
/— -LI
-',.-
;
----------
N
-
Рис. 13.1. Для поля ДатаЗакаэа в бланке запроса указаны два условия, объединенные оператором And
В
С помощью оператора Or можно отыскать значения, не принадлежащие к заданному диапазону, например указанному периоду времени. Так, если необходимо найти записи о сотрудниках, принятых на работу до 1 января 1999 года или после 31 декабря 2000 года, в поле даты будет введено условие, включающее оператор Or следующим образом: <#01.01.99# Ог>#ЗГ. 12.00#.
Пример запроса. Найти все товары, выпущенные фирмой ЛЕК СЛОВЕНИЯ или БАЙЕР. Верхний бланк запроса на рис.13.2 иллюстрирует случай, когда условия отбора вводятся в отдельных строках: Условие отбора и Или. Интересно, что программа Access терпеливо "выслушает" ваши пожелания, оформленные таким образом, и даже выполнит ваш запрос. Однако при повторном открытии бланка запроса можно обнаружить, что критерий отбора уже оптимизирован и соответствует первому способу использования оператора Or, рассмотренному выше (см. рис. 13.2, нижний бланк). !
\£SOR ОдиоПоле : jan ЭОС Нв выборку , "
"
1
КодТовфа НаииенованиеТ авара ЕдиницаИэмерения Производитель ЦенаТовара
2
Я * — —
±rj
1LJ Попе: КодТовара 1Лчя таблицы: ' . 1 V.' Сортировка: ьжод на экран: В 3 шзвие отбора;
Найме нованнвТовара Товары
ЕдиимиэИзмеоення Товары
т
М
-тег.
Поле; СодТоеаоа Ияя таблицы; овары Copi правка: Вывод на зкран: Условие отбора:
г
НаиненоеаниеТов Товары
Единицам змер Товары
Е
И
Производитель Товары
ЦенэТоеара Товары
Н "ПЕК СПОВЁНИЯ1 "БАЙЕР"
Производитель Товары
0
-
^-
^ !: •
В
Цв , rr оТоэдры
—
•г
Е
"ЛЕК СЛОВЕНИЯ" Or "БйРЕР"
или;
Рис. 13.2. Дна условия для поля Производитель, объединенные оператором Or, указаны в отдельных строках Или (верхний бланк запроса) и в одной ячейке (нижний бланк)
Глава 13. Сложные запросы на выборку
265
Условия для двух полей с оператором And В одной строке Условие отбора бланка заказа можно ввести несколько условий для разных полей. В этом случае программа Access автоматически считает их объединенными оператором And. Результирующими записями окажутся только те, которые соответствуют всем указанным условиям. Пример запроса. Найти все товары, выпущенные фирмой ГЕДЕОН РИХТЕР, стоимость которых не превышает 10 грн. Бланк запроса будет иметь вид, аналогичный показанному на рис. 13.3. Пеле: КодТсеара Иия таблицы:. Товары Сортнрсвка: Вывод на экран: Успдеие отборе: или:
НонемоеаинеТов Товары
ЕдигммИзгкр Товары
н
в
«1 1
И
г
=-::—-
Производитель Товары
И
5Г
-• i
и - -
М 1
ТЕДЕОН РИХТЕР "
UlLMlLLlLJ
л
ЦвкаТоввоа Товары
-' !
•с-10
. . > . .- щ , .
шиит* |ГШр >Г
Е-дЯйЩщщИ
Рис. 13.3. Критерий запроса включает два условия для разных полей, объединенные оператором And. Результирующие записи должны удовлетворять условиям и для первого, и для второго поля
Условия для двух полей с оператором Ог Если условия отбора заданы для двух различных полей и должны быть объединены оператором Or, каждый такой критерий вводится в отдельной строке: первый в строке Условие отбора, второй — в строке Или. В набор результирующих записей будут включены те записи, которые удовлетворяют условию для первого поля или для второго поля. Пример запроса. Найти все товары, наименование которых или имя фирмыпроизводителя начинается с буквы К. Бланк запроса будет иметь вид, аналогичный показанному на рис. 13.4. Результаты выполнения запроса показаны на рис. 13.5. Поле: КодТовара Имя таблицы: Товары - Сортировка: Вывод на экран; В Условие отбора; или: -- •
Найма юсанийГоы Товары
LteTC-1 -
11
-
,
Паошводитвпь Товары
в
В
ИЁШ -" - ищи "НШ! 1
ЕД1*<ицаМэмвр*ни; Товары
:
—
шш
ЦенаТсеара Гсюары
а •
Lite ТС"
--
Г
ШИ! - '
•г ^3 V
т —-
--
-'-
S
Рис. 13.4. Критерий запроса включает два условия для разных полей, объединенные оператором Ог. Результирующие записи должны удовлетворять одному из двух условий
Комбинация операторов Or и And В более сложных случаях, когда одна часть результирующих записей запроса должна соответствовать одному критерию, а вторая часть — другому, для комбинирования условий отбора в бланке запроса могут быть использованы сразу несколько операторов Ог и And, вводимых как в одной строке, так и в нескольких строках Или. Здесь необходимо руководствоваться следующими правилами. •
266
Несколько атомарных условий в одной ячейке могут быть объединены операторами Or и And. Например, для стоимости товара может быть указано такое ус-
Часть IV. Создание и использование запросов
ловие: <=10 OR (>=100 And <=200), т.е. товары стоимостью ниже 10 грн или попадающие в ценовой диапазон от 100 до 200 грн включительно. If 1R ДваПояя: lenpot на выйщжу |'ПИКОВИТ 14;КАЛЕНДУЛЫ НАСТОЙКА 16'КОЛДФЛЮ 20 КЕТОТИФЕН __ 24 ДОППЕЛЬГЕРЦ МЕЛИССА __| 25 ПАРАЦЕТАМОЛ "26: КАЛЬЦИЯ ГЛКЖОНАТ 27:АМИОКАРДИН" " 28 АМИОКАРДИН Зе'КАЛПОЛ 53:КАВИНТОН 54 КАЛИПСОЛ Загчсь;- MJJ-II
сироп 150 мл КРКА ГАЛЫЧФАРМ ^50 мл ;та6я- Мв200 ДЖЕНОМ сироп 100 мл ЗДОРОВЬЕ ФАРМФИРМА __ ,100 мл 'КВАЙЗЕРФАРМА_21' табл. 0,325 НвЗГ КОНЦЕРН СТЙРОЛ'УКРАИНАОАО табл. 0,5 ЫяТо "" . КРАСНАЯ ЗВЕЗДА табл. 0,2 NtfQ КРКА ;табл. р.2.№60 КРКА ,сусп. д/детТОД "ГЛАКСО БЕЛКОМ '_ табл. 5 мг Нв50 ГЕДЕОН РИХТЕР фл._10 мл 500мг .1*5 ГЕДЕОН РИХТЕР HI 16
Рис. 13.5. Записи результирующего набора удовлетворяют хотя бы одному из условий отбора
• Если в одной строке заданы критерии для нескольких полей, они объединяются оператором And и проверяются как единое условие, которому должны удовлетворять результирующие записи (все записи, если критерий запроса сформулирован в одной строке бланка запроса, или часть записей, если условия отбора указаны в нескольких строках, т.е. объединены оператором Or). • Если необходимо использовать несколько операторов Ог для разных полей, они должны располагаться в разных строках бланка запроса. В качестве результирующих программа Access выберет те записи, которые удовлетворяют условию для первой или второй (или третьей и т.д.) строки в бланке запроса. Пример запроса. Просмотреть записи о заказанных в Internet-аптеке товарах фирмы ГЕДЕОН РИХТЕР стоимостью ниже 10 грн либо в количестве трех и более упаковок по одной заявке. Для поиска таких записей следует сформулировать критерий отбора иначе: ншйти товары фирмы ГЕДЕОН РИХТЕР стоимостью ниже 10 грн, на которые поступали заказы, либо найти товары ГЕДЕОН РИХТЕР, в заказах на которые количество единии препарата больше двух. Каждое из этих условий должно вводиться в отдельной строке бланка запроса. Более того, чтобы запрос был построен правильно, условие ГЕДЕОН РИХТЕР необходимо будет указать и в первой, и во второй строке, как показано на рис. 13.6. Результаты выполнения запроса представлены на рис. 13.7.
Групповые операции и вычисления Как правило, при работе с базой данных не обойтись без запросов, позволяющих получить некоторую итоговую информацию, например, общую сумму заказов за месяц или квартал, количество проданных товаров определенного типа или средний срок выполнения заказа. Такие вычисления возможны благодаря поддерживаемым в программе Access средствам группировки записей и встроенным статистическим функциям. Записи результирующего набора организуются в группы по указанному полю (или полям), а затем к созданным группам могут быть применены различные итоговые вычисления.
Глава 13. Сложные запросы на выборку
267
I^SORJHND Комбинация: запрос на выборку
nmMiife
-s~
КодТовара Наине нова ниеТовара ЕдпницаИзиерення Производитель Цена Товара
*
i,
КодТовврз Цена Товара Количество Аетуальность
т)
•-„•-*]
ZJ
1LJ Поле! Нам м еноеэн неТовара Ипя таблицы; Товары Сортировка; ыводнаафан; У спя»» отбора; или:
а
£линицл№меренип Товары
т
-
Производитель ЦенаТ аваре Товары ]Содер«аитеЭаказов 0 "ГЕДЕОН РИХТЕР" ТЕДЕ ОН РИХТЕР"
<]0
Колпчесте.с СодержамиеЗа^аЗ'
0
—
— i
0
, >2
Ч 1
Рис. 13.6. Критерий запроса включает два условия, объединенные оператором Or и указанные в двух отдельных строках бланка заказа 1
jjSOR АКиемЛимцт: »прое тв!*^""
:
- , Наименование " : > вжааииаав! АУР06ИН СТУГЕРОН ТРИ-РЕГОЛ21+7 ГИДРОКОРТИЗОН АНТЕОВИН КАЛИПСОЛ ОКСИТ01ДИН СТУГЕРОН ВЕРМОКС ДЕКАРИС МИДОКАЛМ ОКСИТОЦИН СТУГЕРОН *
•Запись: HJ * ||
•
JSJXJ
•.Лекарстевнная форма :
мазь 20 г в туб. №1 мазь 20 г в туб. №1 :та6л. 25мг №50 табл. покр сах.сб №28 ф.л. 125иг5мл №1 ^табл. №2ТЗ фл 10мл 500 мг№5 . р-р д/ин. (эмп ) 1 мл/5ме №5 .табл. 25 wrNaSO :та6л. 100 мг №6 табл. 50 ыг Иа2 табл. 150мг №30
' Производитель ГЕДЕОН РИСТЕР
ГЕДЕОН РИХТЕР ГЕДЕОН РИСТЕР ГЕДЕОН РИСТЕР ГЕДЕОН РИ>СТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР ГЕДЕОН РИХТЕР р-р д/ин. (амп.) 1 мл/5ые №5 ГЕДЕОН РИХТЕР табл. 25 иг №50 ГЕДЕОН РИХТЕР
|
Цена
| Количество . |
J< .од заказа "-
2 1 1 2 1 5 3 5 2 2 2 3 4 2
1 2 11
8.83грн. : ВДЗгрк. 7,07грн. 4,14грн. 9,32грн 1534грн. 59,86грн. 4,6Вгрн. 7:07грн. 7,07грн. 3,48грн. 115Бгрн. 4£6грн. ^,07грн.
12
15 16 18 19 20 22 29 30 30 32
J -Ы»Ф«1ю;иУ~>-
Рис. 13.7. Результат выполнения запроса: включены все записи о когда-либо заказанных товарах фирмы ГЕДЕОН РИХТЕР, имеющих стоимость меньше Югрн или приобретенных в количестве более 2 упаковок
Использование строки Групповая операция в бланке запроса [Ё]
Включить в запрос выполнение некоторых вычислений можно с помощью еще одной строки бланка запроса, Групповая операция, которая изначально не видна в окне конструктора. Чтобы отобразить эту строку в режиме конструктора, следует щелкнуть на кнопке Групповые операции панели инструментов Конструктор запросов или выбрать команду Вид^Групповые операции. (Чтобы скрыть строку Групповая операция, сбросьте флажок команды Групповые операции в меню Вид или щелкните на активизированной кнопке Групповые операции.)
Теперь в бланке запроса можно выбрать для любого поля нужный вариант вычислений, например, определить среднюю величину для числовых данных некоторого поля или просуммировать значения числового поля. Групповые операции могут выполняться как для всех записей результирующего набора, так и для отдельных групп.
268
Часть IV. Создание и использование запросов
Чтобы выполнить вычисления, для нужных полей в бланке запроса выбирается соответствующая опция из раскрывающегося списка строки Групповая операция (рис. 13.8). Список опций поля Групповая операция включает 9 итоговых функций и три элемента: Группировка, Выражение и Условие.
JLLJ
; - _j
1
— Пси» -tamettDBameToEapa Ипя табпгсам Товары Групповая операция 1|оТ№1ИДИ * Сортировка ЗЫБСД нажран Sum Условие отбора Avg или Wn Max Count
• Группировка. Элемент Группировка указывает на поле, по которому результаты выполнения запроса будут организованы в группы для дальнейших итоговых вычислений. Рис. 13.8. Выберите нужный ва• Sum. Суммируются все значения, содержащиеся риант вычислений из списка строки Групповая операция в поле запроса. • Avg. Вычисляется среднее арифметическое значение для всех чисел, содержащихся в выбранном поле. • Min. Отображается минимальное значение из всех значений, содержащихся в поле запроса. • Мах. Отображается максимальное значение из всех, содержащихся в поле запроса. • Count. Вычисляется количество непустых значений в поле запроса. • StDev. Вычисляется среднеквадратичное отклонение для значений в поле. • Var. Вычисляется дисперсия распределения значений, содержащихся в указанном поле. • First. Отображается значение поля из первой записи результирующего набора. • Last. Отображается значение поля из последней записи результирующего набора. • Выражение. Элемент Выражение, указанный в поле, сообщает программе Access, что следует создать поле, значение которого будет вычисляться. • Условие. Элемент Условие указывает программе Access, что данное поле не участвует в группировке; условие отбора, вводимое в это поле, определяет, какие записи будут участвовать в вычислениях.
Итоговые вычисления по всем записям таблиц Предположим, необходимо найти общее число препаратов в таблице Товары, а также максимальную и среднюю стоимость для предлагаемых товаров. Сделать, это можно следующим образом. га 1. Откройте окно конструктора запросов и выберите таблицы и поля, которые будут участвовать в запросе. Такими полями для нашего примера будут КодТовара и ЦенаТовара, причем последнее поле указывается дважды: для вычисления максимальной и средней стоимости товаров, Так как функция Count обеспечивает подсчет количества непустых значений я поле, поле для вычислений должно содержать уникальные данные для каждой записи. (В роли такого поля может быть использован первичный ключ, в котором отсутствуют значения Null.) ЦП 2. Чтобы отобразить в бланке запроса строку Групповая операция, щелкните на кнопке Групповые операции панели инструментов Конструктор запросов или выберите команду Вид о Групповые операции. [Т] 3. В ячейках нужных полей строки Групповая операция щелкните на кнопке раскры-
Глава 13. Сложные запросы на выборку
веющегося списка справа от элемента Группировка и выберите требуемую опцию. Так, для поля КодТовара следует выбрать функцию Count, для первого поля ЦенаТовара — функцию Мах и для последнего поля (второе поле ЦенаТовара) — Avg (рис. 13.9).
КОДТОВфВ ЬаииеновамиеТоеара ЕдиницаИзиерення Производите!!)
КодТовара Товары Групповая операция; Court Имя ta6n>iun:
UfHol(.ua['a Товары
ЦвнаТооарэ Товары
Мах
Avo
В
В
•жшпгшп
!
f
3
а
И
.;;;«1ШШШ MiMin:;:
I
ШШШШШ! ilJgj
Рис. 13.9. Итоговый запрос по всем записям таблицы Товары
4. Указав все параметры запроса, щелкните на кнопке Запуск, расположенной на панели инструментов Конструктор запросов, или выберите команду Запрос^ Запуск. Рис.13.10 демонстрирует результаты выполнения запроса. Как видим, когда расчеты производятся по всем записям, итоговая таблица включает только одну запись.
Мах-^виаТовара [ А»д-ЦанаТов 239.00р.! 1851
Рис. 13.10. Результат выполнения итогового запроса
Группировка по одному полю Групповые операции гораздо чаще используются для вычислений не по всему массиву записей, а по предварительно сформированным группам. В запросах такого типа обязательно должно присутствовать как минимум два поля: поле, по которому выполняется группировка, и поле, по которому будут производиться расчеты. При выполнении такого запроса программа Access сначала группирует записи по указанному полю, а затем производит расчеты для каждой группы записей. В результате итоговая таблица уже включает не одну, а набор записей — по одной для каждой из созданных групп. В качестве примера обратимся к таблице Товары и подсчитаем количество предлагаемых Internet-аптекой препаратов каждой из фирм-производителей. Таким образом, полем группировки будет поле Производитель, а функцию Count, как и в предыдущем примере, следует применить к полю КодТовара. Порядок создания запроса следующий. Ш 1. Откройте окно конструктора запросов и выберите таблицы и поля, которые
270
Часть IV. Создание и использование запросов
будут участвовать в запросе. Такими полями для нашего примера будут Код Товара и Производитель. 2. Активизируйте в бланке запроса строку Групповая операция, щелкнув; на кнопке Групповые операции панели инструментов. 3. В ячейках нужных полей строки Групповая операция щелкните на кнопке раскрывающегося списка справа от элемента Группировка и выберите требуемую опцию. Так, для поля КодТовара следует выбрать функцию Count, а для поля Производитель оставить опцию Группировка (рис. 13.11).
ЫШ9
Ife* Группироека_ОдноПопе: запрос на выборку
КодТоворв НанненооаниеТовара ЕднницвИэмерения Производитель ЦенаТовара
iJJ -••- Поле: КодТоеара Инятабтцы: Товары Групгкдаая операция: Сортировка; Выводив экран: Условие отбор*
Прошводитвль Товары ГруплировкаТ
юн;
!
'HiHIPI
Рис. 13.11. Запрос по группам записей (поле группировки — Производитель)
4. Чтобы выполнить запрос, щелкните на кнопке Запуск, расположенной на панели инструментов Конструктор запросов, или выберите команду Запрос^Запуск. Как показывает рис. 13.12, результирующая таблица включает множество записей, каждая из которых соответствует отдельному производителю. В поле Count-КодТовара отображается результат подсчета записей по каждому из производителей товаров.
Рис. 13.12, Результат выполнения запроса, группирующего записи по одному полю: определено число препаратов, производимых каждой фирмой
Глава 13. Сложные запросы на выборку
271
Условие отбора, заданное для поля группировки Программа Access позволяет ограничить количество группируемых записей, указав критерий отбора для полей группировки. Возвращаясь к примеру, рассмотренному в предыдущем подразделе, можно подсчитать, сколько препаратов таких фирмпроизводителей, как ГЕДЕОН РИХТЕР или ХИНОИН, предлагается в Internetаптеке. Бланк запроса приведен на рис. 13.13. Попе: Код Товара (+1й таблицы: Товары Групповая операция: Count Сорт»фовкв: EfciBna на экран: 0 Условие отбора:, или:,'
Про твид и теп ь Товары Группирсека
Ж D
0 'ГЕДЕОН РИХТЕР" От -ХИНСМН"
. ИЗ
-
--
„
.
, |
Рис. 13.13. Критерий отбора указан для поля группировки
Полем группировки для данного запроса является поле Производитель, и для него же указывается условие отбора: "ГЕДЕОН РИХТЕР" Or "ХИНОИН". Функция Count будет применена только к группам записей, соответствующих критерию отбора. Результатом запроса будет динамический набор записей — по одной для каждого из указанных в условии фирм-производителей (рис. 13.14).
Рис. 13.14. Расчеты выполнены только для записей, удовлетворяющих условию отбора .
Использование условий отбора до и после группировки Если возникает необходимость отфильтровать записи еще до выполнения вычислений, а условие отбора применяется не для поля группировки, в строке Групповая операция такого поля следует выбрать опцию Условие. На рис. 13.15 приведен бланк и результаты выполнения запроса, позволяющего вычислить количество предлагаемых Internetаптекой препаратов стоимостью более 50 грн каждой из фирм-производителей. Следует обратить внимание, что программа Access автоматически снимает флажок опции Вывод на экран для поля ЦенаТовара, к которому будет применено условие отбора. Рассмотрим еще один способ задания условий отбора для групповых запросов. Выполнив некоторые итоговые вычисления, можно отобразить в результирующей таблице только те из записей, которые удовлетворяют определенному критерию. Таким образом, на первом этапе выполнения запроса для групп записей производятся необходимые расчеты, а после этого к итоговому полю применяется критерий отбора. Например, следует найти фирмы-производители, имеющие более 5 позиций, в списке предлагаемых препаратов. Бланк запроса показан на рис. 13.*б. Записи таблицы Товары группируются по полю Производитель, далее функция Count применяется к полю Код Товара, и только после этого найденные величины сравниваются с условием >5. Записи со значением, большим 5, попадают в итоговую таблицу.
272
Часть IV. Создание и использование запросов
Поле; таблицы; операция: Сортировка: Выгод не акрам: Условие отборе; ИЛИ;
БАНЕР 1 БЕРЛИН-ХЕШ 1 БИОГАП_ ' 1 БИОМЕДИКЁЙР 1* ГЕДЕОН РИХТЕР 3 ГЛАКСО БЕЛКОМ 1 ДЖЕМОМ 1 ЛЕК СЛОВЕНИЯ ГХИНОИН
Рис. 13.15. Критерий отбора записей будет применен до выполнения вычислений
• " Попе: Имя таЗпицы: Групповая операция: Сортироак* Вывод ha гкран: -Условие отбора; нчи:
Код То вара Товары Coint
Производителе. Товары Группировка
И
—.
-
1] ! : -
-
с
а
i
>5
—
f—
—
- - >г
Рис. 13.16. Критерий отбора указан для итогового поля и применяется после вычислений
Группировка записей по нескольким полям Следуя той же схеме, которая описана для выполнения вычислений при группировке записей по одному полю, можно строить запросы, включающие поля из нескольких таблиц и группирующие записи сразу по нескольким полям. Так, например, можно сгруппировать записи по полю ИмяПокупателя и полю Производитель, чтобы определить, сколько товаров и каких фирм оформил тот или иной покупатель. Бланк такого запроса выглядит аналогично представленному на рис. 13.17.
Г*
ж
КодТовфа Наймемов ап>-е Товара Е димицаИ лчерення Производитель
Пода;, ИмяПокупатепя Имя таблицы! Покутитвпи Групгювая операциям Группировка СорЖювка: Вывод ма :£ран;' Условие отбора^ или:
Протволиталь Товары Группировка
КодТоеарэ
Рис. 13.17. Бланк многотабличного запроса, группирующего записи по нескольким полям
Глава 13. Сложные запросы на выборку
273
Сначала записи группируются по полю ИмяПокупателя, затем — по полю Производитель. Далее в созданных группах выполняется подсчет количества записей. В результирующем наборе (рис. 13.18) каждая из записей включает тройку значений: имя покупателя, наименование фирмы-производителя, а также общее число различных товаров данной фирмы, заказанных этим покупателем (поле Count-Код Товара). Так, например, в заказах, оформленных покупателем Андрейченко И . в . , по одному разу упоминаются препараты фирм БИОГАЛ, ГАЛЫЧФАРМ, Концерн Стирол Украина ОАО и КРКА и два раза были заявлены товары фирмы ГЕДЕОН РИХТЕР.
БАЙЕР Алешин А.П БОРЩАГОВСКИЙ ХФЗ Алешин А. П •ДЖЕМОМ __ Алешин А. П. ^ЗДОРОВЬЕ ФАРМФИРМА Андрейченко И. В "БИОГАЛ Андрейченко И.В : ГАЛЫЧФАРМ Андрейченко И.В 'ГЕДЕОН РИХТЕР Андрейченко И.В КОНЦЕРН СТИРОЛ УКРАИНА ОАО Андрейченко И.В КРКА Борисова Т.П. "ГЕДЕОН РИХТЕР j£ Борисова Т.П. ЕЛЬФА С.А. Борисова Т.П. КОНЦЕРН СТИРОЛ УКРАИНА ОАО Борисова Т.П. КРКА Вэлериансв С.А БИОГАЛ Валерианов С А ГЕДЕОН РИХТЕР Запись; И i ' I
ittJ 62
Рис. 13.18. Результаты выполнения запроса: записи сгруппированы по полям ИмяПокупателя и Производитель Порядок следования ролей (слепа направо), для которых задана опция Группировка, определяет порядок, в котором программа Access группирует записи. На сам результат последовательность полей в бланке запроса не влияет, однако следует внимательно выбирать порядок включения полей в запрос, так как от этого зависит отображение записей в результирующей таблице. Так, например, переставив поля группировки в рассматриваемом выше запросе (записи сначала будут группироваться по полю Производитель, а затем —по полю ИмяПокупателя), можно получить уже несколько иной по смыслу запрос, в результирующей таблице которого представлены данные о том, кому из покупателей и сколько раз были предоставлены товары той или иной фирмы (рис. 13.19).
AVENTIS PHARMA
БАЙЕР БАЙЕР БАЙЕР БАЙЕР БЕРЕШ
БЁРЛИН-ХЕ'МЙ БЕРЛИН-ХЕМИ БЕРЛИН-ХЕМИ БИОГАЛ БИОГАЛ 6ИОГАЛ БИОГАЛ БИОМЕДИКЕЙР "
Павленко А.8 Петровский И.А Алешин А.П. Голуб О.П. Петровский И.А Фоминых Л.И. : Васильева Н.И. Костецкий ОТ. Павленко АВ. Фоминых Л. И. Андрейченко И.В ; Валерианов С.А. Васильева Н.И Половцев Д С. Костецкий О. Г.
Рис. 13.19. После перестановки полей группировки результирующая таблица выглядит иначе
274
Часть IV. Создание и использование запросов
Вычисляемые поля В запрос можно включить не только поля из таблиц, но и создать так называемые вычисляемые поля, значения которых — это результат вычисления некоторого выражения. Такие вычисления выполняются для числовых, строковых значений или дат и могут использовать данные из полей одной или нескольких таблиц. Например, можно умножить значение числового поля на заданную константу, соединить два строковых значения или подсчитать разницу в днях между двумя датами. Без использования вычисляемых полей не обойтись при расчете обшей суммы оплаты за заказ (сумма заказа плюс стоимость доставки) или нового значения стоимости с учетом скидки. Вычисляемое поле создается непосредственно в бланке запроса, и его значения не хранятся в исходной таблице, а высчитываются всякий раз при выполнении запроса. Такой подход позволяет хранить в таблицах минимум информации, что существенно экономит дисковое пространство, ускоряет загрузку таблиц и делает работу с ними более эффективной. Данные, отображаемые в таком поле, рассчитываются на основании значений других полей этой же результирующей записи. Чтобы создать такое поле, следует в бланке запроса ввести в пустую ячейку Поле нужную формулу, по которой будут производиться вычисления. Значения вычисляемых полей могут как отображаться в результирующей таблице (для этого необходимо установить флажок опции Вывод на экран соответствующего поля), так и использоваться в критериях отбора записей или итоговых расчетах. В качестве простого примера создадим запрос, отображающий список заказов, в котором указано, какие товары и на какую сумму были заказаны. Вычисляемым в данном запросе будет поле СуммаЗаказа, формула для расчета значений которого выглядит как [СуммаЗаказа} = [ЦенаТовара]*[Количество]. Процесс создания вычисляемого поля включает следующие этапы. Щ
1. Откройте окно конструктора запросов и выберите таблицы и поля, которые будут участвовать в запросе. Такими полями для нашего примера будут поля КодЗаказа (таблица СодержаниеЗаказов), НаименованиеТовара (таблица Товары), а также поля ЦенаТовара (на момент оформления заказа) и Количество из таблицы СодержаниеЗаказов. 2. Для создания вычисляемого поля СуммаЗакаэов щелкните на первой пустой ячейке строки Поле и введите сначала имя столбца, затем — двоеточие (:) и выражение, в соответствии с которым будут производиться вычисления. В нашем примере вводится следующее выражение (рис. 13.20): СуммаЗаказа: [СодержаниеЗаказов]![ЦенаТовара]*[СодержаниеЗаказов]![Количество]. i ff W^K Вмч-гпичюсШмю : запрос на выбору
ЕЕЁ КодЗакаоа ;"'. датаЗакам v" КодПокупате " №1яПо лучат е_У
КодЗаказа до/ : •_- .' КодТовлра _j_^ - ; ЦеиаТовара . Ко»1чество 7J
. *- Поле: КодЗакам Имятабпицы: Заказы Сортировка: Выводив Кран: Условие отбора:
«Li
в ' -:
КодТовара Наиненованц™ ЕдмшцаИзя* Производите^
•Л?
.
Наияенование Товары
г
ипи;
П£ЕГ
1
JLLJ
НШ91
ДенаТовара ГсдеожаннеЗ;
Количество СодержаниеЗ
И
__
- f --
СумияЗакам: [Содержате;така5ов]|[Цем. — J
г ;
а '
:
— • :
1 ,. г »'Г
Рис. 13.20. В бланке запроса определено вычисляемое поле СуммаЗаказа
Глава 13. Сложные запросы на выборку
275
Поскольку в запросе участвуют поля из нескольких таблиц, вместе с именем поля необходимо указывать и имя его исходной таблицы. Имя таблицы и имя поля, заключенные в квадратные скобки, указываются через восклицательный знак, вот так: [ТаблицаЩПоле]. Имена полей вводятся вручную или с помощью построителя выражений, знакомство с которым состоится несколько позднее. В строку Таблица бланка запроса ничего не вводится. По умолчанию вычисляемым полям в запросе присваиваются имена Выражение), Выраженив2 и т.д. Рекомендуется, тем не менее, сразу указывать для нового поля собственное информативное имя, так как в режиме таблицы это имя служит заголовком столбца, и по этому имени возможно обращение к данному полю в другом запросе, форме или отчете. Более того, результат одного вычисляемого поля можно использовать и в других вычисляемых полях этого же запроса. Для удобства ввода длинных выражений можно воспользоваться окном Область ввода (рис. 13.21). Для его вызова щелкните на пустой ячейке в строке Поле, в затем нажмите комбинацию клавиш <Shift+F2> или, щелкнув правой кнопкой мыши, выберите из контекстного меню команду Масштаб.
СучивЭаквэа: Со двржакивЗакак*]! [ЦвнаТсеара ]*[Со двр>«акивЗаказов]1 [Количество] -"Отмене
Шрифт...
Рис. 13.21. Диалоговое окно Область ввода— удобное средство для ввода длинных выражений или значений полей 3. Чтобы выполнить запрос, щелкните на кнопке Запуск, расположенной на панели инструментов Конструктор запросов, или выберите команду Запрос^Запуск. Результаты выполнения запроса отображаются в формате таблицы, структура которой соответствует порядку следования полей в бланке запроса, включая дополнительное вычисляемое поле (рис. 13.22). jjP Запрос^ВычисляемпеПояе : soпрот на выборку Код заказа " Наименование Ц АУР06ИН 1.ДОНАЛГИН 1 ЗЕРОКОЛД 2 ПИКОВИТ 2АУРОБИН _ 3 ПИКОВИТ 3 ДИМЕДРОЛ 3ФОКСИ_КОРТ 5*КАЛПОЛ
5 ФЕРРОЛЛЕКС "Б НО-ШПА 5 АКТИВАЛ
Количество
СуиыаЗаказа
ЗДЭгрн. 11.67грн. 53.00грн. 3.40грн. 3.83грн. . 8,-lOrpn. О^Эгрн. 10,95грн. 9,ЭЗгрн. i 4,ЭОгрн. : 16,20грн '.
l»lj'*l ц) '91
Рис. 13.22. Результирующая таблица включает новое вычисляемое поле СуммаЗаказа
276
Часть IV. Создание и использование запросов
Формат вычисляемого поля Внимательно взглянув на рис. 13.22, легко заметить курьезное несоответствие: иены на товары указаны в гривнах, а общая сумма заказа — в рублях. Причина такой "конвертируемости" - некорректный формат. Поскольку новое поле СуммаЗаказа является вычисляемым, оно не наследует свойства исходной таблицы, и формат для него следует задавать непосредственно в запросе. Чтобы изменить формат вычисляемого поля, выполните следующее. I. В окне конструктора запроса щелкните правой кнопкой мыши на вычисляемом поле и выберите из открывшегося контекстного меню команду Свойства (или, поместив указатель в вычисляемое поле, щелкните на кнопке Свойства панели инструментов Конструктор запросов).
Откроется диалоговое окно Свойства попя, как показано на рис. 13.23. *; Общие
подстановка
Описание Оорматполя, r,t Маска ввода Подпись ..„ Сиарт-твгя ,
| Средни* формат вренеш 5:3* Краткий формат ереиени 17:34 Основной . 3456,789 Денежный 3 4 Б 6, 79р. Евро 345б,79€ визированный 3456,79 С рвздегитепяни разрядов 3 456,79 Процентный 123,00%
Рис. 13.23. Формат вычисляемых полей можно указать в диалоговом окне Свойства поля
2. Щелкните на поле опции Формат, а затем — на кнопке раскрывающегося списка и выберите подходящий формат для данных вычисляемого поля. Выполняя расчеты со значениями, которые содержатся в полях денежного типа, логично выбрать из списка формат Денежный. Однако, памятуя о том, что речь идет о гривнах, а символом денежной единицы, принятой по умолчанию в окне Язык и регионапьные стандарты панели управления Microsoft Windows, является символ рубля (р.), введем требуемый формат (# ##0,00"грн.";# ##0,00"грн.") вручную, так, как это было сделано для полей денежного типа в таблицах Товары и СодержаниеЗаказов (рис. 13.24). Указав новый формат, закройте окно свойств, щелкнув на кнопке Закрыть (S ) этого окна. Обшив
j Подстановка \ -;
Описание ; v ; Оорнаг поп» ,. Маска ввода . , Подпись ..,,,, Смэрт-твги ,,.....,.,
:
г,
.,.# #*о,ао"грн.>* #<ю,оа"грн.1Г|
^J
Рис. 13.24. Для поля СуммаЗаказа указан требуемый формат
3. Выполните запрос, щелкнув на кнопке Запуск панели инструментов, Результаты выполнения запроса представлены на рис. 13.25. Все денежные единицы теперь указаны правильно.
Глава 13. Сложные запросы на выборку
277
dp Запрпс__Н1.1чиспяемегеПоле*ВормвТ : ianpot мЭ выбо Код заказа
Наименование
ЦАУРОБИН 1 ДОНАЛГИН 1 ЗЕРОКОЛД
17,6Вфм.
11,67 грн.
23,34фн.
53".00грн.
53.00ФН.
2 ПИКОВИТ
8,40фн.
_ 8./10фн.
2АУРОБИН
8,83фн.
8,83фн.
3 ПИКОВИТ
В.40грн
16.80фн.
91
Записью Н|у||
Рис. 13.25. Данные в результирующей таблице теперь отформатированы корректно
Условия отбора для вычисляемых полей Все ранее сказанное о групповых операциях и использовании условий отбора вполне применимо и к вычисляемым полям. Рассмотрим пример такого запроса (его бланк приведен на рис. 13.26). В запросе рассчитывается общее количество заказов, поступивших от того или иного покупателя, а также общая сумма, на которую им были сделаны заказы. Здесь применяются все три типа условий, рассмотренных выше для запросов с группировкой. ЙрКШ|
{И* ЗапржЛычисяаежиПолеУславче : запрос на выбору
' ' -г +
,. i
ч
- КсдПокупатепя | ™-i РегнстрационпоеМпя J~: Пароль '. ИмяПокугитепя _^j
iU
. "
шв*„
1
•'
1
Датл Заказа " КодПокупатепя _ ИинПолучателя _^j
КодЗжава КодТсварв ЦеиаТовара Количество
:
ПОЛР; КодЭаказа Имя тйЁлниы: Заказы Гр)тпоеая операция: Count Сортировка: . Вывод на экран: -"Условие отбора: или:
г
Имя Покупателя Покупатели Группировка
а
:LteWOrlta'H*"
JLI
• -
{
:•;•;•• ; d щ
Сумма Зэк аз a: Sum([ Со держа! - ДатаЗакаи Зжюы Выражение Условие 0 >100
П
>=*10.03.01* And <-tlQ.Ql.02t
i
• !
Рис. 13.26. Одно из условий отбора в запросе с группировкой задано для вычисляемого поля
Напомним, что место задания критерия отбора в бланке запроса определяет, когда данное условие будет применено. • Если условие указано в поле группировки, то расчеты выполняются только для групп, соответствующих критерию отбора, (т.е. условие применяется до расчетов). Таким условием в данном примере является выражение Like "A*" Or Like "П*" для поля ИмяПокупателя таблицы Покупатели. • Если условие указано в итоговом поле, оно применяется после выполнения расчетов, отбирая записи для отображения в результирующей таблице (условие >100 для вычисляемого поля СуммаЗаказа). Поскольку условие применяется здесь к вычисляемому полю, в ячейке Групповая операция указывается уже не итоговая функция (Sum), а опция Выражение (см. рис. 13.26). Операция суммирования переносится теперь в ячейку Поле и включается в формулу для вычисления значений поля СуммаЗаказа. Сама формула выглядит следующим образом: СуммаЗаказа: 8ит(ЕСодержаниеЗаказов]![ЦенаТовара]*[СодержаниеЗакаэов]! [Количество])
278
Часть IV. Создание и использование запросов
• Чтобы отфильтровать нужные записи еще до выполнения группировки и расчетов, условие отбора задается с помошью опции Условие. В нашем примере такое условие (>=#10.03.01# And <=#10.01.02#) задано для поля ДатаЗаказа. Как будет выполняться запрос? Сначала (перед группировкой и выполнением расчетов) программа Access отберет записи о тех заказах, которые были оформлены в период с 10 марта 2001 года по 10 января 2002 года. Затем группировка (по полю ИмяПокупателя) и вычисления будут выполнены только для тех записей, у которых значения этого поля отвечают указанному условию (т.е. фамилии покупателей начинаются на букву А или П). И наконец, в итоговую таблицу будут включены записи только о тех покупателях, общая сумма заказов у которых превышает 100 грн (рис. 13.27). Count-Код Заказа | Имя покупателя | СумыаЗаша Алешин А.П. 5 Андрейченко И.В В_Павленко А. В. 7 Петсовский И.А
Рис. 13.27. Результат выполнения запроса, включающего вычисляемое поле и групповые операции
Использование построителя выражений [|SJ
При создании запросов с вычисляемыми полями, а также в ситуациях, когда необходимо работать с длинными выражениями, включающими поля нескольких таблиц, функции и другие компоненты, можно воспользоваться диалоговым окном Построитель выражений (рис. 13.28). Так, например, в бланке запроса построитель выражений доступен для ячеек Поле и Условие отбора. Открыть его можно, щелкнув на кнопке Построить панели инструментов Конструктор запросов (или, шелкнув правой кнопкой на нужной ячейке, выбрать из контекстного меню команду Построить). Выражение, созданное в окне построителя выражений, будет размешено в той ячейке или поле, из которых построитель был запущен. (Построители вы|>аж^к*й
ffl Таблицы ffl Запросы Ш Forms @3 Reports @Э Функции СЭ Константы CD Операторы С] Обшие выражения
Рис. 13.28. Диалоговое окно построителя выражений
Структурно окно построителя состоит из нескольких областей. В верхней части диалогового окна находится поле выражения — область, в которой создается выражение. Здесь компоненты выражения можно ввести вручную, а можно — с помощью
Глава 13. Сложные запросы на выборку
279
выбора их из списков элементов и последующей вставки в выражение. Ниже расположен ряд кнопок, позволяющих включать в выражение математические и логические операторы, оператор конкатенации, а также скобки. После шелчка на любой из этих кнопок построитель вставит этот оператор в текущую позицию выражения. Нижняя область окна разделена на три поля. В левом поле представлены папки с основными типами компонентов выражений, включая папки объектов текущей базы данных (таблицы, запросы, формы и отчеты). Чтобы добавить в выражение поле из таблицы, сначала откройте папку Таблицы и щелкните на необходимом заголовке. В средней секции отобразится список всех полей указанной таблицы. Затем дважды щелкните на нужном поле, чтобы включить его в выражение. В поле выражения появится имя поля, дополненное именем таблицы и восклицательным знаком (рис. 13.29). В таком режиме удобно, например, создавать формулу для рассматриваемого выше вычисляемого поля СуммаЗаказа: СуммаЗаказа: [СодержаниеЗаказов]![ЦенаТовара]*[СодержаниеЗаказов]![Количество]. (Постройтень выражении [Со дерилииеЭаквхи»] I [ЦвнвТоввра]
ОЗапрос! И Таблицы -О Заказы - Q Покупатели
Рис. 13.29. С помощью построителя выражений можно включить в выражение поля из таблиц и запросов базы данных
Кроме папок, содержащих информацию о структуре объектов базы данных, в первом поле содержатся списки встроенных функций, констант, операторов и общих выражений. Каждый из таких списков — это папка, включающая упорядоченные элементы. Например, папка Операторы включает 4 категории: <Все>, Арифметические, Сравнения и Логические. Некоторые из элементов дублируются кнопками, расположенными под областью ввода выражения. Для включения оператора сравнения Between в выражение откройте папку Операторы, затем в среднем поле щелкните на категории Сравнения и, наконец, дважды щелкните на операторе Between, который отображается в списке правого поля (рис. 13.30). Папка Константы содержит константы, которые используются в логических выражениях: пустая строка, Null, Истина и Ложь. В папку Общие выражения включены самые распространенные выражения, используемые, например в отчетах: текущая дата, число страниц или номер страницы.
Использование параметра в вычисляемых полях В формулах, используемых для нахождения данных вычисляемых полей, могут присутствовать не только значения существующих или других вычисляемых полей или некоторые константы, но и переменные величины, которые можно ввести в процессе выполнения запроса с помощью специального диалогового окна. Такие запросы, как уже упоминалось в главе 12, называются параметрическими.
280
Часть IV. Создание и использование запросов
[Со дермаяиеЗ а каэое]! [ЦенаТовара] Between Выражение And Зьсгженив
ВстаВцть j Справка J агруженнье формы И Все формы (И Reports Q Функции U С] Встроенные функции нтернет-аптека Q Константы И С] Общие выражения
Рис. 13.30. Кроме имен полей, построитель выражений позволяет включать в выражения операторы Рассмотрим создание параметрического запроса на простом примере. В таблице Товары для каждого из препаратов указана его фиксированная иена (поле ЦенаТовара). Предположим, что в рамках предпраздничных акций на все товары объявляется некоторая скидка, величина которой может изменяться. Чтобы вычислить новые цены на товары с учетом той или иной скидки, можно создать запрос с параметром, в роли которого и будет выступать величина скидки. Бланк запроса приведен на рис. 13.31. Как видим, в бланке запроса создается новое вычисляемое поле, Цена со скидкой, в ячейку Поле которого вводится следующая формула: Цена со скидкой: [ЦенаТовара]*{1-[Скидка в процентах]/!00).
НаииеноеаниеТовара ЕдиницаИзиерени я Производитель ЦенаТовара НалнчиеТовара
4-
»|
Поле КодТоеара . Иия таблицы Товары Сортировка
йлод. на экран . Условие отбора или
0
НаиненованиеТ( Товары
0
ЦенаТовара Товары
0
Цена со скидкой: [ЦенаТоваоа]*(1 -[Скидка в процентах J/IDQ) — *ч-
0
I -,.
-И
Рис. 13.31. Бланк запроса с одним параметром При выполнении запроса программа Access открывает диалоговое окно Введите значение параметра, (суда необходимо ввести нужную для вычислений величину (рис. 13.32) Для удобства пользователя в рассматриваемом примере можно указывать величину скидки в процентах, а не в долях единицы (например, 5 или 20%, а не 0,05-или 0,2), этот нюанс учтен в расчетной формуле для поля Цена со скидкой. Кроме того, для поля Цена со скидкой в окне свойств задан требуемый формат (# ##0,00"грн.";-# ##0,00"грн."). После ввода параметра и щелчка на кнопке ОК значения вычисляемого поля рассчитываются с учетом указанной величины скидки. Результирующая таблица показана на рис. 13.33.
Глава 13. Сложные запросы на выборку
281
Рис. 13.32. Для вычисления новой цены товаров необходимо указать величину скидки, например 10%
Код 1 Наименование
±.
Е
В пиковит
2 АУРОБИН З'ВЕРОШПИРОН " 4 ВЙНПОЦЕТМН 5ДОН~АЛГИН Б НИМОТОП /БЕРЕШ-ПЛЮС" В ФАПИМИКТ
: Ценэ - | Цена •OC'MIJU
756г 7,9Sr 5 51 г
В.40грн. В(ВЗгрн. • 6.57грн. 1Э,Э9грн.
17.45г 10,50г 215.10г 39.67г 4£7г
11,67грк." 239.00грн 44Д8грн 5.19грн
" "Т _» JM . j»f | т 129
Запись;. К t <-1|
.
Рис. 13.33. Результаты выполнения запроса: значения поля Цена со скидкой вычисляются с учетом введенного параметра Параметры могут использоваться также для ввода критерия отбора записей. Такой подход целесообразен, если заранее предполагается, что запрос будет запускаться неоднократно, но одно или несколько условий придется изменять. Например, в запросе к таблице Товары, отображающем список препаратов той или иной фирмы, можно запрашивать имя производителя. Тогда при каждом запуске запроса название фирмы, введенное пользователем в диалоговом окне Введите значение параметра, будет преобразовано в условие отбора, и в результирующую таблицу программа Access включит только те записи, которые соответствуют этому критерию. На рис.13.34 приведен бланк и диалоговое окно ввода такого запроса, в котором для поля Производитель в строке Условие отбора вместо конкретного значения указана подсказка для ввода параметра — [Введите имя производителя]. ill_l
;
'"
""
Пол* №« таблицы Сортировка Вывод нажран Усяовн* отбора
'
'
Код Товара Товары
НаиненованиеТоваоа Товары
г
3
Единицам эиеэентя Товары
в
' '
*f
Производите* Товары
Цена Товара Товары
т
_-
' : - .•
0
[[Введите имя производителя) '•
ИЛИ
'l*j
<Н
'•
LiMiD
-- >
8вед|пе иия проюводителя . -
Г
I
ОК
Отяена
[
Рис. 13.34. Для данного запроса параметром является условие отбора для поля Производитель
Перекрестные запросы Более сложная категория запросов на выборку, в которых также используется группировка записей, но уже "двумерная" (по строкам и по столбцам) — это перекрестные запросы. Пример такого запроса (квартальные обороты по товарам) приводится
282
Часть IV. Создание и использование запросов
на рис. 13.35, и это как раз тот случай, когда лучше один раз увидеть, чем долго вчитываться в подробные объяснения. Чтобы понять преимущества перекрестного запроса ~- и в первую очередь наглядность представления информации по сравнению с итоговым, — на рис. 13.36 показано, как выглядит итоговый запрос, отображающий те же данные. Безусловно, гораздо удобнее (а для многих — и привычнее ) работать в формате электронной таблицы.
-jHLsi
| | и Квартапьнь» обороты по товарам: перекрестный запрос Клиент
Марна Mice Mutton Alice Mutton Alice/Mutt an Alice Muftori " Alice Mutton
Год Заказ а
1997' 1997 1$9> 1937 1997 1937 1997
Alfreds FutterhiBle Bottom-Dollar Markets Ernst Handel LINCKieiitateses QUICK-Stop
"
Vaffeljeme! Antonio Moreno Taqueria Aniseed. Sy_rap .Eastern Cont)6diofl Aniseed Syigp f:rn;,; Hjlili-! Aniseed Syrup Folk och fa HB Aniseed Sywp Ls ffiafson tTAsie Aniseed Syrup Ашве_Л Syrup Supiemes delices Boston Crab Meat, Around the Horn _ Boston Crab Meat Berglynds saabhkop Boston Crab Meat Blonde] pere et fils запнгь. Н
6aOO,QOp-
40sojoSr
1997. 8160.00p-
-1997 19Э/ 1937
1 224,00р. 69Э6,Шр. -
1997 1Ш7
2310.tX)p.;_
Т » | n h - f « 950
Рис. 13.35. Перекрестные запросы информации
это эффективный способ отображения сводной
£я За1чю£_Ии)говыйКвартапь(и>*еО6ороты; запрм иа Клиент
ГодЗаказа
Alfrads Futterkiste
В ot I о m- D о 1 1 ar M a rk et s Ernst Handel LIN&Delicaieses
Aniseed Syrup. Aniseed Syrup Aniseed Synjp
Vatfeljernei Antonio Moreno Taquerta Eaetern Cormaeiion Ernst Handel folk och fa HB La matson d'Asie Supremes dslices
Boston Crab Meat Around the Horn Boston Crab_Meat Berglunds snabbkop ljhko|j Boston Crab Meat
Й1 103!
Рис. 13.36. Итоговый запрос, отображающий квартальные обороты товаров
В отличие от групповых запросов, в результирующей таблице перекрестного запроса не только заголовки строк, но и заголовки столбцов определяются на основании значений полей, а не их названий. Кроме того, в роли заголовков столбцов могут выступать некоторые выражения. Так, в запросе, представленном на рис. 13.35, в качестве заголовков строк используются значения полей марки товара и имени клиента, а в качестве заголовков строк — строковые выражения, включающие номер квартала. Для создания перекрестного запроса требуется как минимум три элемента: поле для определения заголовков строк, поле, определяющее заголовки столбцов, и поле для выбора значений, с которыми будут непосредственно производиться вычисления.
Глава 13. Сложные запросы на выборку
283
Как уже упоминалось в главе 12, в программе Access предусмотрен специальный мастер, с помощью которого можно построить перекрестный запрос. А если вы готовы выполнить всю работу по созданию такого запроса самостоятельно — добро пожаловать в режим конструктора запросов.
Создание перекрестного запроса с помощью мастера Естественно, при создании перекрестного запроса под руководством мастера приходится мириться с некоторыми ограничениями. Во-первых, мастер позволяет работать с полями только одной таблицы или запроса, поэтому, чтобы включить в перекрестный запрос данные из нескольких таблиц, необходимо составить вспомогательный запрос и использовать его в качестве источника записей. Во-вторых, в процессе создания запроса с помощью мастера нет возможности указать дополнительные условия отбора, поэтому созданный мастером запрос необходимо дорабатывать уже в режиме конструктора. Кроме того, мастер не позволяет изменить заголовки столбцов. Учитывая перечисленные ограничения, разработаем с помощью мастера классический перекрестный запрос квартальных продаж товаров за 2001 г., взяв, однако, за основу предварительно созданный многотабличный запрос. Структура такого базового запроса, в котором для каждого заказанного товара подсчитывается его общая стоимость (цена одной упаковки препарата, умноженная на количество), представлена на рис. 13.37. Формула, которая задана для расчета значений вычисляемого поля СуммаЗаказа, выглядит следующим образом: СуммаЗаказа: [СодержаниеЗаказов]![ЦенаТовара]*[СодержаниеЗаказов]![Количество].
Поле Vita таблицы Сортировка Вывод на экран Условие отбора
или
ЕШЯЕыэп" Ззказы
0
»
,' 1 •Содержания
Наименование Товаре;
В
3
Ve аг( [ДатаЗакаи]) ~
СумиаЗакам: Со держа ниеЗаказов! Цен4
-^
0 2001
t
*1 1
'
'
D
••••• »
>Г
Рис. 13.37. Структура базового запроса, который станет источником данных для перекрестного запроса
Результат выполнения этого вспомогательного запроса (он сохранен под именем Запрос_Базо вы и Для Пере крестного) показан на рис. 13.38. Теперь обратимся непосредственно к мастеру. Чтобы построить перекрестный запрос под руководством мастера, выполните следующее. Ц 1. В окне открытой базы данных щелкните на кнопке Запросы, а затем — на кнопке Создать панели инструментов окна базы данных. На экране появится диалоговое окно Новый запрос (рис. 13.39). 2. Выберите из списка доступных методов создания нового запроса элемент Перекрестный запрос и щелкните на кнопке ОК.
284
Часть IV. Создание и использование запросов
2АУР06ИН_ S ДОНАПГИН" 9 ЗЕРОКОЛД 1 ПИКОВИТ 2 АУРОБИН 24-фев-2001 24-фев.2001. _..
24-48*20011 20-мар-2ГО1; 20-мар-2001"
1 ПИКОВИТ 10 ДИМЕДРОЛ 17 ОКСИКОРТ
17,66грн 23.34грн 53.00гр_н 8.40грн 8,83грн 16,ВОгрн 0.69грн
36 КАП ПОЛ 75 ФЕРРОПЛЕКС
\т 79
Рис, 13.38. Результат выполнения базового запроса
Соэмние sanpoca, вьвояящего детые в коюактнон фермате, подобиоя фэрнату эпектр»«ой таблицы.
Рис. 13.39. Мастер перекрестных запросов доступен в диалоговом окне Новый запрос
3. В первом диалоговом окне мастера укажите источник данных для перекрестного запроса. Для этого выберите элемент Запросы в группе опций Показать, а затем из расположенного выше списка — запрос Запрос„БазовыйДляПерекрестного (рис. 13.40). Щелкните на кнопке Далее. [Гоздание перекрестных тлппиц выберите таблшу или мпрос, поля кегорьи необходимо вывести в перекрестном эапро».
Дпя испючекня полейте нескольких табгмц сначала создайте о6Ь1Ч*Ь И запрос, еадер»ащин все необходимые поля.
Запро : Групгировка.НесиопькоПопейг Запро : Группнэовка_ОднсЛоле Запро : Группироика_УсловивОт6ора Запро : Запрос_Вьг*1сляемоеПоле Запро ; Запрос_ВычиспяетюеПопеУсповие Звпро ; Запрос_ВьмхгетемоеПолеФормат
Запрос: Запрос_ИсполыоЕанивПараметра Показать Г lafinwBji
(? Запросы
Г Таблицы аз
Рис. 13.40. Выберите источник данных для перекрестного запроса
Глава 13. Сложные запросы на выборку
285
4. Выберите из списка Доступные поля те поля, значения которых будут использоваться как заголовки строк. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Для нашего примера в список Выбранные поля следует перенести поля КодТовара и НаименованиеТовара (рис. 13.41). Щелкните на кнопке Далее. Гпгданир перекрестных таблиц Выберите поля, гначения которых будут кпольмвлиы н качестве мгоповков ctpW' Допуомвтся еыЕюр не более трех полей. . Выбе ри те поля па порядку сорт ИСПЕКИ длмных. Например, Можно сначала выполнить сортировку значений по странен, а за тем по городам.
Доступные поля:
Зыбранныег
ДзтаЗакдза
КодТовдра
±]
Рис. 13.41. Выберите поля запроса, значения которых станут заголовками строк в перекрестном запросе
5. Выберите поле, значения которого будут использованы в качестве заголовков столбцов. Таким полем является уже выделенное мастером поле ДатаЗаказа (рис. 13.42), поэтому примите предложенный вариант и щелкните на кнопке Далее.
Выберите поля для использования нх значений в качестве заголовков стол&гов. Sp, чтобы испопьюеать имя каждого сотрудника в качестве заголовка столбца, выберите голе ИмяСОтрудникэ,
Рис. 13.42. Выберите поле запроса, значения которого будут указаны в заголовках столбцов перекрестного запроса
286
Часть IV. Создание и использование запросов
6. Выберите интервал группировки лат для столбцов, например Квартал, как показано на рис. 13.43.
Вь>бериге интервал] с которым необходимо сгруппировать столбец данныхтипадатыиврепени, Например, ножно подытожить суииу заказов па месяцам для каадой.стрдаы и региона.
Дата Дата/воемя
Огнен* _ I
< (Назад
I
Далее >
Рис. 13.43. Выберите интервал дат, по которому будут группироваться записи при выполнении итоговых расчетов
7. Выберите итоговую операцию, которую необходимо применить для обработки данных поля СуммаЗаказа. Для нашего примера такой функцией будет суммирование (Sum). Если это необходимо, оставьте установленным флажок Да, чтобы вычислить итоговое значение для каждой строки (рис. 13.44). Затем щелкните на кнопке Далее.
Какие вычисления меоотоляно провеет Для каждой ячейки на строи и столбцов? Напричер, жалю вычислить сунну эакаюо для каждого сотрудника (столбец) по странам и регион»! (строка), Вычислить итоговое значение для каждой строки?
Функции: Дисперсия Максимун Минимум Отклонение Первьй Последний Среднее _ _ Число
F Да.
Рис. 13.44. Выберите итоговую функцию, по которой будут высчитываться значения в перекрестном запросе
8. Заключительное окно мастера предлагает указать имя запроса. Введите нужный заголовок (например, Квартальные объемы продаж за 2001) и щелкните
Глава 13. Сложные запросы на выборку
287
на кнопке Готово, чтобы просмотреть результаты выполнения перекрестного запроса (рис. 13.45). (Очевидно, что потребуется открыть запрос в режиме конструктора и указать правильный формат для денежных полей.)
_ ПИКОВЙТ
25,20грн
2 АУРОБИН _
26,49грн
~4 ВИНПОЦЁТИН
38.78грн
5 ДОНАЛГИН
46,68грн
3 НИМОТОП
239,00грн
З'ФАЛИМИНТ
10,ЗВгрн
9 ЗЕРОКОЛД
106.00грн
ДИМЕДРОЛ
0.69грн
11 ACKOPVTHH
1 .ЭОгрн
1DJ
12.СТОПТУССНН Запись:
Рис. 13.45. Результаты выполнения перекрестного запроса Теперь, если открыть новый запрос в режиме конструктора, можно отметить изменения, внесенные мастером в бланк исходного запроса (см. рис. 13.37). В бланке перекрестного запроса (рис. 13.46) указываются поля, значения которых (а не имена!) станут заголовками строк (поля КодТовара и НаименованиеТовара) и столбцов (третий столбец в бланке) в результирующей таблице, а также поле, по значениям которого будут производиться итоговые расчеты (поле СуммаЗаказа).
Дата Заказа КодТовара Наименование Товара СупмаЗаказа
1LJ
|
-ьГ1'
"
Попе: Имя табгмцы: Групповйв операция: Перекрестная таблица: , Сортировка: Условие отбооа; ПЛИЕ
<одТовэра НашеноелниеТо "Кв" &Рогта!:([ДатаЭан СутаЗаказа Запрос БазоеьйДпяПе Запрсс Еазовьй Эагтоос Базов Группировка 1 Групгиробкэ Группировка 5urn ttlMjMdSHUMUH -1 Заголовки стэок Заголовки столбцов Значение
еК1ШЯ!1ШЯНЙ1
Итоговое эначеш» Запрос БазовыйД; Sum Заголовки строк
— ,—
Заголовки столбцов Значение [не отображается)
<Н
-
.
.
.
.
.
_
,
.
. !:.
,р
Рис. 13.46. В бланке перекрестного запроса появилась новая строка — Перекрестная таблица
Резюме В этой главе подведены некоторые итоги использования выражений в программе Microsoft Access. Выражения активно применяются в процессе работы с базой данных при указании условий отбора записей, создании вычисляемых полей, операциях обновления данных, указании аргументов функций и определении для полей значения по умолчанию. В первом разделе главы рассмотрены основные компоненты выражений: операторы (арифметические, сравнения, логические, строковые, идентификации и вспомогательные), литералы, идентификаторы и функции. В рамках главы внимание было уделено более сложным запросам на выборку, в том числе групповым, перекрестным и параметрическим, а также запросам с вычис-
288
Часть IV. Создание и использование запросов
ляемыми полями. При указании условий отбора записей можно вводить дополнительные критерии, комбинируя их с помощью логических операторов And и Or. В бланке группового запроса появляется новая строка: Групповая операция. Список опций поля Групповая операция включает 9 итоговых функций (Sum, Avg, Min, Max, Count, StDev, Var, First и Last) и три элемента: Группировка, Выражение и Условие. Групповые вычисления можно выполнять как для всех записей результирующего набора, так и для отдельных групп. Важную роль при создании группового запроса играет место указания условий отбора: в поле группировки, в итоговом поле или в некотором другом поле с помощью опции Условие. Вычисляемые поля создаются непосредственно в бланке запроса с помощью выражений, куда могут быть включены значения полей из одной или нескольких таблиц, а также из других вычисляемых полей данного запроса. Перекрестный запрос — это таблица, в которой данные упорядочены по двум категориям. В роли заголовков строк и столбцов результирующей таблицы выступают не названия, а значения полей. Перекрестные запросы можно создать с помощью мастера и в режиме конструктора Параметрический запрос позволяет варьировать условие отбора записей, не изменяя структуры запроса. При каждом запуске запроса пользователю предлагается внести параметр (один или несколько) в специальном диалоговом окне.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Бланк запроса, представленный на рис. 13.47, соответствует следующему запросу к учебной базе данных Борей: gs 3iuipot_Tcctl: запрос на выборку
Фамилия Имя Должность Обращение ДатаРождемия
-- . Поив: Фапилия Имя таблицы; Сотрудники Вв1вад не экран: Условие отбора: ' - или:
0
Имя Сотрудники
Дошность Сотрудники
В1
0
"Представитель'
ДатаНайча Сотрудники по асэрастанж
Я т
>-#Ш. 05.92* And <*Ш.05.94*
.. .. Ц; —
Рис. 13.47. Пример бланка запроса для теста №1
а) найти всех сотрудников, либо занимающих должность представителя, либо принятых на работу в период с 1 мая 1992 года (включительно) до 1 мая 1994 года; б) найти сотрудников, занимающих должность представителя и принятых на работу либо до 1 мая 1992 года, либо после 1 мая 1994 года;
Глава 13. Сложные запросы на выборку
289
в) найти сотрудников, принятых на работу в период с 1 мая 1992 года (включительно) до 1 мая 1994 года и занимающих должность представителя; г) найти сотрудников, принятых на работу либо до 1 мая 1992 года, либо после 1 мая 1994 года. 2. Бланк запроса, представленный на рис. 13.48, соответствует следующему запросу к учебной базе данных Борей: | j§> Запрос_Тест2 : запрос на выборку
d
С КмЭдеая КодКпиента КодСотрудникэ ДатаРазмещення
оо/ •и'
jrl
{одСотруднжа __] Вамилня 4м Должность -rj
-
by
Поля; •- !'Л -.1. | ) Имя таблицы: Зака>ь1 Сортировка: Вывод на экран: И Условие отбора;
и пи;
Фаиилия Сотрудники
а
ДатаРазмещения Заказы
Стоинос тьД«таеки Заказы
В
"Новиков" "Воронова"
0
' >200 > >ЮО
'1 I
^; —
'• : — „. т н .
Рис. 13.48. Пример бланка запроса для теста №2
а) найти все заказы, стоимость доставки которых превышает 400 р., оформленные либо сотрудником Новиковым, либо сотрудницей Вороновой; б) найти все заказы, либо оформленные сотрудником Новиковым и имеющие стоимость доставки выше 200 р., либо оформленные сотрудницей Вороновой и имеющие стоимость доставки выше 400 р; в) найти все заказы, оформленные либо сотрудником Новиковым, либо сотрудницей Вороновой и имеющие стоимость доставки выше 200 р; г) найти все заказы, которые были оформлены либо сотрудником Новиковым, либо сотрудницей Вороновой и стоимость доставки которых состаапяет от 200 до 400 р. 3. Условие отбора, введенное в бланке запроса в поле группировки, позволяет выполнить следующие действия: а) ограничить отбор записей до их группировки и выполнения расчетов; б) применить это условие после выполнения итоговых вычислений; в) применить это условие до выполнения итоговых вычислений. 4. Условие отбора, введенное в бланке запроса в итоговое поле (к которому применяется, например, функция Sum), позволяет выполнить следующее: а) выбрать те группы, по которым будут производиться расчеты; б) ограничить отбор записей до их группировки и выполнения расчетов; в) применить это условие после выполнения расчетов. 5. Когда расчеты выполняются по всем записям, итоговая таблица включает следующее количество записей: а) по одной записи на каждое значение из поля группировки; б) одну запись; в) произвольное количество записей.
290
Часть IV. Создание и использование запросов
6.
О значениях вычисляемых полей можно сказать следующее: а) они могут использоваться в итоговых расчетах; б) они не отображаются в результирующей таблице; в) они используются в критериях отбора. 7. Если формула для вычисляемого поля содержит поля из нескольких таблиц, имя поля и имя таблицы указываются в следующем виде: а) [Поле]![Таблица]; б) [Таблица]![Поле]; в) Таблица!Поле; г) Таблица "Поле. 8. В перекрестном запросе в качестве заголовков столбцов могут использоваться следующие элементы: а) названия полей; б) значения вычисляемого поля; в) значения табличного поля.
Глава 13. Сложные запросы на выборку
291
Глава 14
Автоматизация редактирования и управления данными В этой главе... f Общая информация о запросах на изменение * Запрос на создание таблицы +
Запрос на добавление записей
Ф Запросы на удаление *
Массовое обновление данных
* Резюме * Тесты
Общая информация о запросах на изменение До настоящего момента любые правки в таблицы вносились в режиме просмотра таблицы. Однако понятно, что при обслуживании реальных баз данных должны быть предусмотрены иные механизмы, автоматизирующие модификацию большого числа записей в таблицах. Таким механизмом в Microsoft Access 2003 являются запросы на изменение. К запросам на изменение, как уже отмечалось, относятся запросы на удаление, обновление, добавление записей и создание таблицы. Основой для любого запроса на изменение служит обычный запрос на выборку, определяющий ту группу записей, над которыми будут выполнены некоторые действия. Поэтому при создании запроса на изменение сначала необходимо построить (в режиме конструктора или с помощью мастера) запрос на выборку, а затем изменить в режиме конструктора его тип. Сделать это можно, выбрав подходящий тип запроса с помощью кнопки Тип запроса панели Конструктор запросов (рис. 14.1) или из меню Запрос. Щ!
Так как запросы на изменение уже не просто осуществляют выборку определенной информации из таблиц, а модифицируют хранимые в них данные, привычная схема работы с запросом должна несколько измениться. Прежде, когда речь шла о "чистых" запросах на выборку, после создания запроса можно было смело щелкать на кнопке Запуск, не опасаясь за последствия такого шага. В случае с запросами на изменение ситуация кардинально отличается, так как команда Запуск сразу изменяет данные. Вернуть таблицу к исходному виду невозможно. Единственный путь — обратиться к резервной копии таблицы, ставшей "жертвой" вашего эксперимента. Поэтому, чтобы предотвратить потерю важных данных, перед запуском любого запроса такого типа воспользуйтесь кнопкой Режим таблицы (одна из опций кнопки Вид панели инструментов окна конструктора), чтобы просмотреть те изменения, которые ожидают таблицу в результате выполнения запроса.
файл
Правка
Ё.ЦД
Вставка
Запрос
Сервис
_ в х
Qoto
-: j £ т - - - : а;-о-г» ' " КодЗакаоа ДатаЗаказа КодПокупатапя ИмяПолучателя
ill *1
ИРЫ таблицы
Сатирика Бьем па «кран Условие отбора или
Да г л Заказа Заказы
0
- .1 -1 Содержание
1
Наименование Тоеаоы
СумнаЗакаэа: СодержатаЗаказсв'Цен;
i
Year( ДэтаЭаказа])
3 2001
Г
. —
«! i
1ШШ-,ШтмШ
Рис. 14.1. В режиме конструктора можно выбрать тип запроса на изменение: каждый из них отмечен собственной пиктограммой, дополненной восклицательным знаком Чтобы обезопасить в равной степени и себя (как лицо, ответственное за данные), непосредственно данные, которые подлежат изменению, при работе с запросами на изменение не забывайте делать резервные копии исходных таблиц (см. подраздел Копирование таблиц в базе данных главы 6).
Запрос на создание таблицы Запрос такого типа выполняется в два этапа: сначала осуществляется выборка необходимых записей, а затем на основе данных, полученных в результате этого запроса, создается новая таблица для текущей или какой-либо другой базы данных Microsoft Access. Одно из применений таких запросов — выделение некоторого подмножества записей, удовлетворяющих определенным условиям отбора, из одной или нескольких таблиц для их последующего анализа или обработки, Предположим, фирма-владелец Internet-аптеки собирается премировать 10 своих наиболее активных зарегистрированных покупателей, т.е. тех клиентов, которые за весь период обслуживания оформили заказы на наибольшую сумму. Чтобы удобнее было работать с этими покупателями (например, сообщать им о предоставленных компанией определенных скидках), сведения о них должны быть размещены и отдельной таблице. Поэтому логично решить такую задачу, обратившись к запросу на создание таблицы. В запросе на выборку, который послужит основой для создания новой таблицы, рассчитывается общая сумма, на которую покупателями были сделаны заказы, затем результирующие записи сортируются, и в итоговую таблицу помещаются десять первых записей. Последовательность действий при построении запроса на создание таблицы будет следующей. 1. Создайте новый запрос или выберите подходящий из уже существующих запросов на выборку. В нашем примере в запросе участвуют поля трех связанных таблиц: Покупатели, Заказы и СодержаниеЗаказов. Вычисляемое (оно же итоговое) поле — СуммаЗаказа — рассчитывается по уже знакомой формуле: СуммаЗаказа:8ит((СодержаниеЗаказов!ЦенаТовара)"(СодержаниеЗаказов!Количесгво)}.
Глава 14. Автоматизация редактирования и управления данными
293
Чтобы в результирующую таблицу были включены только 10 первых записей, щелкните в списке Набор значений (справа от кнопки Групповые операции на панели инструментов Конструктор запросов) и введите значение 10 в поле ввода. Бланк запроса будет выглядеть аналогично представленному на рис. 14.2. [В Microsoft Ассеи - СЗаг¥О(СоэдандеТ^лыцы_ДесйткаАкгкеных: злярог на выборку] :
jjl Файп
. "
Qwwca
ИНД
Ветдока
п.'лч.иил.'.цц^.-Пароль ИмяПсгупатвпя Адрес Телефон 5лектроннь1ЙАд «с Актуальность ДатаРегистраои
'-L
Сервис
0*на
i
t
- _ в X
'Вмлнтв в-эпрк
Справка
BBHBR: • '
--J
J^
Запрос
ШНШШда '
1
„ *
„^ ДатаЭакам ^ КодПокупатепя ИияПопучатепя ДдресПопучателя . Твлвфо(Лолучателя ^j
"
КодТяира ЦенаТовара Количество Актуальность ДатаРвгистрации
1LJ Поле: Сунча:1ака1в: 5ип<(Содер. Или таблицы: Групповая операция: Ввфахыпе Сортировка: по убьвангео >ывод на >кран: Условие отбора; нлн:
ИмяПокупателя Покупатели Группировка
в
и
Готово
.
Адрес Покупатели Группирсвка
Телефон Покупатели Грулпнроека
a
vj -t- -
^1
Электронный Ад рве Актуальность-^ Покупатели Покупатели — "руппировка Группгооека
i
п .Да
MJM
Рис. 14.2. Бланк исходного запроса на выборку Я 3. Выберите команду Запрос^Создание таблицы или воспользуйтесь для выбора типа запроса (на создание таблицы) кнопкой Тип запроса панели инструментов. На экране появится диалоговое окно Создание таблицы (рис. 14.3). Согда™» таблицы ивя таблицы; десятка Ак™вны>Пок', <•' втекушей базе данных ЯГ В ДРУГОЙ 6ese денных;
Рис. 14.3. Диалоговое окно создания таблицы 4. Введите в поле Имя таблицы название новой таблицы, примите предложенную по умолчанию опцию в текущей базе данных и щелкните на кнопке ОК. В заголовке окна конструктора теперь указан другой тип запроса — на создание таблицы. Если таблица создается для другой базы данных, выберите опцию в другой базе данных и введите в поле имя файла полное имя файла базы данных или щелкните на кнопке Обзор для поиска требуемого файла. 5. Проверьте правильность заполнения бланка запроса {в частности, выводится ли строка Групповая операция) и внесите в случае необходимости нужные изменения. 6. Чтобы убедиться, что результирующая таблица включает именно те данные, которые необходимы для новой таблицы, воспользуйтесь для предварительного просмотра режимом таблицы (рис. 14.4).
294
Часть IV. Создание и использование запросов
If 3 ал poet оэ дан не Таблицы „ДесяткэАктивным: запрос на создание табяич Телафон Фоминых Л.И. 745.83грн. 545,62грн 19С,98грн 1Б9,ЛБгрн 160,16грн.
Костецкий О.Г. АлешинАП. Валерианов С.А Павленко А.В.
Половцев ДС. 152,98фн Петровский И.А. 116,52грн. Андрейченко И. В. 101 ,48грн Голуб О П.
31 ,Е5г
ул. Горького 44 кв. 26 пер. Речной 3 кв. IB ул. Стельмэха 12 кв. 24 -fyn. Герцена 23 кв. 15 ул. Строительная 15 кв. 43
.^Ш) 269-1412 [email protected] |044) 416-3473 oleg@cityt_el.com.ua ГО44) 257-4561 [email protected] ;ip^) [email protected] _ ;Гр44) 212-5622 paveHgdoors com
;ул. Потапова 45 кв. 70 __L!5*4) 443-3491 polovtse^rnail.ru ;ул. Саксагакского 88 кв. 6 = (044) 220-4571 [email protected] ;ул. БассейнаяЗкв. 15 :гр44) 221-5413 inna@telpstru
•КиричкоеВ.П.
^ул. Политехническая 4 ив. 95 jfTJ44) 441-7878 [email protected] 'пр. Победы 28 кв. 220 ;fl44) 440-8627 [email protected]
Запись; и I ' П
Рис. 14.4. Результат выполнения запроса, структура которого рис. 14.2, — это записи о 10 наиболее активных покупателях
представлена
на
7. Вернитесь в режим конструктора запросов и щелкните на кнопке Запуск панели инструментов или выберите команду главного меню Запрос^Запуск. В небольшом диалоговом окне программа Access сообщит о том, сколько записей копируется в новую таблицу и запросит подтверждение на создание таблицы (рис. 14.5). Щелкните на кнопке Да, чтобы завершить выполнение запроса.
Б новую таблицу 5удет помещено спздутощсе число записей: Ш После нажатия кнопки "Да" отмена изменений станет невозможна. Подтвердите создание новой таблицы с выбранными мпнсями.
Рис. 14.5. Подтвердите создание новой таблицы
S. Сохраните свой запрос на создание таблицы, указав подходящее имя. Теперь, чтобы проверить полученные результаты, перейдите к окну базы данных (например, нажав клавишу ), щелкните на вкладке Таблицы и откройте новую таблицу ДесяткаАктивныхПокупателей (рис. 14.6). Легко заметить, что ее вид отличается от вида результирующей таблицы запроса, доступной в режиме таблицы (см. рис. 14.4): для данных денежного типа не поддерживается форматирование, а в качестве заголовков столбцов используются непосредственно имена полей, а не их подписи. Причина таких различий заключается в том, что данные новой таблицы не наследуют какие-либо свойства полей базовой таблицы. Si ДесягнайктиеныкПокуплтяпей:
745,8Эр 545,62р 190,98р 16Э,46р 160,16р 152.88р "116.52р
101 48р Э1.В6р
Иы яП оку п зтел я Фоминых Л.И. ул Горького 44 ке. 26 .Костецкий ОТ. пер. Речной 3 кв. 18 АлешикА.П. ул Стельмаха 12 кв 24 Валерианов С А. ул Герцена 23 кв. 15 Павленко АВ ул Строительная 15 кв. 43 Половцев Д.С. ул Потапова 45 кв 70 Петровский И.А ул Саксаганского 8В кв. 6 Андрейченко И В. ул Бассейная 3 кв. 15 Голуб О.П ул Политехническая 4 кв. 36 Киричкое В.П. пр Победы 2В кв. 220
Телвфон I ЭлектронныйАдрес | 0442691412 larisa@lmk com 0444163473 [email protected] 0442574561 [email protected] 0442241816 [email protected] 0442125622 [email protected] 044Л4Э3491 polovtse^@mail ги 0442204571 [email protected] 0442215413 •[email protected] 0444417878 ksenia@i com.ua 0444406827 [email protected]
Рис. 14.6. Новая таблица не наследует свойства полей исходной таблицы
Глава 14. Автоматизация редактирования и управления данными.
295
Важно помнить о том, что запрос на создание таблицы позволяет сохранить в структуре новой таблицы такие же типы данных и размеры полей, что и в исходной таблице запроса. Однако любые другие свойства полей (в том числе и настройки ключевых полей) необходимо определять отдельно, открыв вновь созданную таблицу в режиме конструктора.
Запрос на добавление записей Схема построения запроса на добавление записей имеет много общего со схемой разработки запросов на создание таблицы. Записи из результирующего набора могут быть добавлены как в таблицу уже открытой базы данных, так и в какую-либо другую базу данных Access. Безусловно, структура запроса должна соответствовать структуре та блицы-получателя. Чтобы продемонстрировать, каким образом создается запрос на добавление записей в таблицу, предположим, что в базе данных уже созданы две таблицы (ПрепаратыБайер и ПрепаратыГалена), в которых хранятся данные о препаратах двух различных фирм. Таблицы имеют сходную структуру, однако у таблицы ПрепаратыГалена на одно поле больше (ДатаРегистрации), и имена нескольких аналогичных по своему информационному наполнению полей отличаются (рис. 14.7). Следует объединить информацию о товарах, а точнее добавить записи одной таблицы (ПрепаратыБайер) во вторую (ПрепаратыГалена). -.101 ХГ
• ПпепаратыБайер : та&пица
V
^^^1Дмяпола . aSEKuEEEEj Наименование Пекарс1вемчаяФорма Производитель ЦенэТовара НаличиеТовара
Счет_чик_ Текстовый ; Текстовый Текстовый Денежный Логический
Идентификатор товара. Уникальное число, автоматически присваиваемое новой мпиен. Название конкретного товара, Форт выпуска препаратов. Имя производителя, Цена товара. Пригнак наличия или отсутствия товара на складе. Значения; "Да"/"Нет".
-
1
м i :
-;п;л
I В ПргапарзтыГапена : таблица X»
-'
тплт** — Наименс вампе Т авара ЕдинпцаМзмеречпя Производитель ЦенаТовара Наличие Товара ДатаРегистрацин
аписи. Текстовый Текстовый • Текстовый .Денежный Логический ,Дата/вр*мя _
Название конкретного товара Форта еьпуска препаратов. Пня пр отводи теля. Цена товара. Признак наличия или отсутствия товара на складе. Значения: "Дау'Нет". : Служебное поле. Дата создания/имеьения записи.
;.
-
... .
Рис. 14.7. В структуре исходной и целевой таблиц есть некоторые различия В том случае если необходимо добавить все записи одной таблицы в другую таблицу, можно сделать это, используя команды Копировать и Вставить меню Правка и выбрав переключатель добавление данных в таблицу. Чтобы построить запрос на добавление записей, выполните следующее. 1. Создайте новый запрос или выберите подходящий из уже существующих запросов на выборку. 2. В нашем примере бланк запроса включает все поля таблицы ПрепаратыБайер (рис. 14.8). 3. Чтобы преобразовать запрос на выборку в запрос на добавление, выберите команду Запрос^Добавление или выберите из раскрывающегося списка кнопки Тип запроса панели инструментов пункт Добавление. На экране появится диалоговое окно Добавление.
296
Часть IV. Создание и использование запросов
• .' " ' " "' и Пр)1В: КодТовзра йтатабпшы! ПрепаратыЕайер
Hi нчено ванне Препараты Б аи
Пе карстн е ннаяфо & Препаратыиайер
Производитель ПрепаратыБаЙЕ
Соотчхяиа; Вывод па зкрак: Услови» отвода: 1 "WW!.
И
т
В
i
.
-1
ЬаличиеТоеарв — ' Г репаратыБайе -=i \
•
а
,<И
Цена Товара Препараты!
0
—
*
'
±Г
-
~
Рис. 14.8. Бланк исходного запроса на выборку записей из таблицы ПрепаратыБайер
4. Выберите из раскрывающегося списка поля Имя таблицы название той таблицы, в которую необходимо добавить записи новой таблицы (для нашего примера это таблица ПрепаратыГалена, как показано на рис. 14.9), затем примите предложенную по умолчанию опцию в текущей базе данных и щелкните на кнопке ОК.
техушвй < ДесятквАктивпыаЛокупатслем Заказы в другоп6в]покупатели ПргпаратыБайер
в
Рис. 14.9. В диалоговом окне Добавление укажите имя таблицы-получателя записей
В заголовке окна конструктора теперь указан другой тип запроса — на добавление, а в бланке запроса появилась новая строка — Добавление (рис. 14.10). Обратите внимание, что ячейки этой строки для столбцов Наименование и ЛекарственнаяФорма не заполнены. Причина этого — несовпадение имен полей в бланке запроса и таблице-получателе. [р Запрос! : запрос на добавлен
ИИЭД
;:i|
*!5!!L_ КодТовара Наиненование ЛекарственнаяФорм а Производитель
ли
:
~
:
Попе: Код Товара Иия таблицы: ПрепаратыБ; Сортировка; Доб авление: КодГовара Условие от&ра : или;
я-
:
Проиэ
I i
,/'.,
'
.
,
водитель ЦенаТовар. ЧаличиеТоваг . Пргпаратыбайе Препямты! ПрепаратыБа Прсуиводитегь
""
.
:
Наименование ПекарственнаяФорма Прегмрэтыбайер ПрепаратыБайер
.
ЦвмаТавар!
'
— : _<•;
нали*!еТсеа[
" "
.-
7" J
Рис. 14.10. В бланке исходного запроса на выборку появилась строка Добавление
5. Чтобы указать, в какие поля таблицы-получателя (ПрепаратыГалена) должны быть добавлены данные из полей Наименование и ЛекарственнаяФорма исходной таблицы ПрепаратыБайер, откройте раскрывающийся список в соответствующих ячейках строки Добавление и выберите нужные имена полей (рис. 14.11).
Глава 14, Автоматизация редактирования и управления данными
297
При условии, что имена полей исходной таблицы, указанные в бланке запроса, совпадают с именами тех полей, куда должны быть добавлены данные, программа Access по умолчанию вносит эти имена в ячейки строки Добавление. Поле Имя таблицы , , : ; Сортировка Добавление Условие отбора или
npeniipaTB Б;
Наименование Г.репаватыБайер
КодТовара
Наименование Това
- i.JlIi,r l.i j
ПекарстееннаяФорн; Трепарэтьбайер
Производитель ЦенаТоеарг Наличие "ова[ — Препарат в Ване Препараты! Прег.арэ гыЕа — 1 Прогаволнтвль |
ЦенаТовар*
Наличие Том;
ПрЕпаратьГалена. * КодТовара -la ииемоеаниеТовара Производитель ЦенаТоварэ
__ «1 ]
Да таРег истрации
-
,,i:,;:.." :
:
..
— ~ ;
..,
.
,р
Рис. 14.11. Имена полей таблицы-получателя, в которые будут добавлены данные из столбцов запроса, можно выбрать из раскрывающегося списка строки Добавление Если записи исходной таблицы имеют ключевое поле с типом данных Счетчик и вы хотите сохранить значения этого поля при добавлении записей в целевую таблицу, обязательно включите его в бланк запроса. 6. Щелкните на кнопке Запуск панели инструментов или выберите команду главного меню Запрос^Запуск. Программа Access сообщит о том, какое число записей будет добавлено в таблицу. Щелкните на кнопке Да, чтобы завершить выполнение запроса. 7. Если необходимо, сохраните запрос. 8. Чтобы проверить полученные результаты, перейдите к окну базы данных, щелкните на вкладке Таблицы и откройте таблицу ПрепаратыГалена (рис. 14.12). Поскольку в структуре исходной таблицы поле ДатаРегистрации отсутствовало, у записей, добавленных в таблицу-получатель, данное поле осталось незаполненным. К ПрепаратыГалена : Titbnntid Код товара
• Наименоание
| НИМОТОП
12 СТОПТУССИН 13 ЦИСТЕНАЛ" " 87 АЛКА-ЗЕЛЬЦЕР_ 83 АСПИРИН КАРДИО 83 МИКОСПОР" 11S НИТРОФУНГИН 120 Н080-ПАССИТ 121 122 123 124
НОВО-ПАССИТ САНОРИН САНОРИН СТОЛАНГИН
30мг №100 табл. №20
БАЙЕР ГАЛЕНА 10мл ГАЛЕНА шип. табл. №10 БАЙЕР 3QQNS20 БАЙЕР крем 10 мг/г 15 п БАЙЕР 25 мп ГАЛЕНА р-р 100 мл фл ГАЛЕНА табл. п/о Ne1G ГАЛЕНА паз спрей 0,1 % 10 мл ГАЛЕНА эм 10 мл ГАЛЕНА р-р 100 мл ГАЛЕНА
239,00грн. 7.14грн. Б.ЗЭгрн. 7,80грн. 11.4Эфн. ББ.ЭОфн.
2,91 грн. 8,72грн Э.88ФН. 4,52грн. 3,30грн ЛЭЭгрн.
Наличие Дата регистрации .... „_ 15-мар-2002 27-дек-2002
07-мар-2002 07-мар-2002 07-мар-2р02 07-мар-2002 07-мар-2002 D7-uap12002
{Счетчик)
Рис. 14.12. В таблицу ПрепаратыГалена добавлены новые записи
Запросы на удаление
•
Как и следует из названия, главное и единственное назначение запросов такого типа — удалять из таблиц (или нескольких таблиц) записи, соответствующие определенному критерию. Именно записи, а не значения отдельных полей, для удаления ко-
298
Часть IV. Создание и использование запросов
торых можно воспользоваться запросом на обновление. Применение запросов на удаление обязывает быть предельно внимательным, поскольку удаление записей выполняется без возможности их последующего восстановления. Увы, привычная "палочкавыручалочка" (именуемая в Access кнопкой Отменить) здесь не спасает. Порядок действий при создании запроса на удаление аналогичен приводимым выше процедурам для других запросов на изменение. Щ ЩЦ g
1. Создайте запрос на выборку, результирующими записями которого должны стать строки исходной таблицы, подлежащие удалению. 2. Перейдя в режим таблицы, убедитесь, что в результирующей таблице отображены именно те данные, которые следует удалить. 3. Вернитесь в режим конструктора запросов и выберите команду Запрос^ Удаление или выберите из раскрывающегося списка кнопки Тип запроса панели инструментов пункт Удаление. Запрос на выборку будет преобразован в запрос на удаление (о чем теперь сообщается в заголовке окна конструктора), а в бланке запроса вместо строки Сортировка появилась новая строка — Удаление. Простой пример бланка запроса на удаление приведен на рис. 14.13.
[fc* iflipocl : запрос на удамние ГДЖ
. КодТсмра *
Lu
i
.4
НаииенованиеТоваоа — ! ЕдиннцаИзиеремия Производитель *j
•
Поле: КодТовара Имя таблицы: Тоевры Удаление: Условие . Условие отборе; HIM:
?1Л
Наин енованиеТов ара ЕдиницаИ^мерения Производитель Тсеары Товары Товара! Товары Условие Условие Условие LI<e"M*" ,"берпин-хеии"
.
ЦенаТовара Треарь: Условие
- •
НалнчиеТ(— — Условие
.
t J
»Г
Рис. 14.13. Записи результирующего набора будут удалены из таблицы Товары
I 4. Щелкните на кнопке Запуск панели инструментов или выберите команду главного меню Запрос^ За пуск. Программа Access сообщит о том, сколько записей будет удалено и запросит подтверждение операции. Щелкните на кнопке Да, если вы готовы расстаться с указанными записями. Таков сценарий удаления записей из одной, не связанной с другими таблицы. Однако на практике таблицы базы данных, как правило, связаны между собой, и наличие этих связей в схеме базы данных обязательно учитывается программой Access при попытке удалить записи одной из связанных таблиц, о чем уже говорилось в главе 10, раздел Обеспечение целостности данных в базе. Напомним, что в случае если между таблицами определено отношение "один ко многим" и в диалоговом окне Изменение связей установлен флажок опции каскадное удаление связанных записей, при удалении записи в главной таблице автоматически будут удалены все связанные записи подчиненной таблицы, даже если ее поля не фигурировали в бланке запроса на удаление. Если флажок каскадного удаления не установлен, но для данного отношения между таблицами опция Обеспечение целостности данных активизирована (как, например, для таблиц Покупатели и Заказы, рис. 14,14), удалить записи из родительской таблицы Покупатели не удастся до тех пор, пока не будут удалены записи из подчиненной таблицы Заказы. При попытке удаления записей программа Access выдает соответствующее предупреждение о наличии связанных записей в подчиненной таблице (рис. 14.15).
Глава 14. Автоматизация редактирования и управления данными
299
-Ш2У Тэбяицфапрос; j Покупатели " Код Покупателя
Свяэ»*а> тэби-ифлпслс: JJJ Заказы
[
(Ж
|
^ Отмена
^[КсдПакупатепя
'Объединение^,. г Но: ас,..
: 1? сСесгичвние цвлосгмостм даивйх Г~ каскаднор обновление СЕЯ1анных полей I
каскадное удатемие аэдазнных записей
Тип отношения;
один-ко-пюгии
Рис. 14.14. Для связанных таблиц Покупатели и Заказы обеспечивается целостность данных [Microsoft I iff ire Aries*
f\ » .1
Удал*ичаигиизменэние5а1вгсинб*чав0)«ио, В таблице Заказы' ииенпся' Уда. СВЯЗанные йгиси. Справка
Рис. 14.15. Программа Access сообщает о том, что удаление записей невозможно, так как оно влечет за собой нарушение целостности данных
Массовое обновление данных Одно из простых средств массовой замены данных в таблице уже рассматривалось в главе П: это замена значений по образцу с помощью команды Заменить. Однако благодаря запросам на обновление операции замены можно выполнить значительно быстрее и эффективнее. Такой запрос позволяет указать критерий отбора записей, подлежащих обновлению, а также новые значения для одного или нескольких полей исходной таблицы. Значения указанных полей будут изменены в тех записях исходной таблицы, которые соответствуют записям результирующего набора. Запросы на обновление позволяют с помощью одного выражения модифицировать сразу множество записей. Например, можно снизить или повысить стоимость доставки всех или некоторой группы товаров на определенный процент. Прежде, чем выполнить запрос, обноачяющий данные, убедитесь в том, что изменения затронут только требуемые записи. Для этого достаточно, указав все критерии отбора, выполнить запрос на выборку и просмотреть в режиме таблицы результирующие записи.
Чтобы проиллюстрировать, как может быть использован запрос на обновление, обратимся к простому примеру. Предположим, что необходимо снизить стоимость всех товаров фирмы ГЕДЕОН РИХТЕР на 5%. Сам факт внесения изменений также должен быть зафиксирован в таблице Товары: для этого в поле Дата Регистрации вносится дата обновления данных. Чтобы внести изменения в записи таблицы, выполните следующее. g] 1. Создайте новый запрос на выборку, результирующими записями которого станут записи исходной таблицы, подлежащие изменению. В нашем примере бланк запроса выглядит аналогично представленному на рис. 14.16. Критерии отбора заданы для полей Производитель (должны быть выбраны записи о товарах фирмы ГЕДЕОН РИХТЕР) и Актуальность (будущие изменения вносятся только в актуальные записи).
300
Часть IV. Создание и использование запросов
КодТовара Наииенова ниеТсвара Единицамэмерения Производитель
Полк Протесдитель Имя тай пини Товары Сортировка Вывод на экран 0 Условие отбора "ГЕДЕОН РИХТЕР" ИЛИ
ЦенаТовара Товары
JJ
НаличиеТовара foeafib
т
а
Актуальность Товары
ДатаРемсграции Товары
0
—_
0
Да
и
£
Рис. 14.16. Бланк исходного запроса на выборку j 2. Перейдите в режим таблицы и убедитесь, что в результирующей таблице отображены именно те данные, которые следует обновить. 3. Чтобы преобразовать запрос на выборку в запрос на обновление, выберите команду Запрос^ Обновление или выберите _из раскрывающегося списка кнопки Тип запроса панели инструментов пункт Обновление. Заголовок окна конструктора теперь сообщает о том, что запрос является запросом на обновление. Кроме того, в бланк запроса добавлена новая строка Обновление. 4. Введите новые значения для обновляемых полей. Так, в ячейку строки Обновление, соответствующую столбцу ЦенаТовара, следует ввести выражение [Говары]![ЦенаТовара]*0,95, а для столбца Дата Регистрации указать новую дату, например #15.12.02# (рис. 14.17). № Запрос! : запрос на обиовявиие
шааии^-
КодТоввра Нсимеио ванне Товара -^ ЕдиницаИзперения Производитель ^1
г-.
!
' '
|j«j^
:
Попе: Производитель Мня тзбгвадл: Товары , ; 'Обновлец!*! "Условие отбора; ТЕДЕОН РИХТЕР"
ЦенаТовара НаличиеТовара Тоеары Toeai*! [Товары]1[ЦемаТоввраГО,95
Актуальность Товары
.
>
=J ^
ДатаРегистрацнн — Товары i. • #1 5.12.02*
Да
или:-
л!
J
-
>Г
Рис. 14.17. Бланк запроса на обновление: у записей, которые соответствуют критерию отбора, будут изменены значения полей ЦенаТовара и ДатаРегистрации Формально в бланке запроса на обновление достаточно указать только поля, для которых указывается критерий отбора, и поля, значения которых должны быть модифицированы. Программа Access сохранит запрос на обновление именно в таком виде (рис. 14.18). Если в бланке запроса на обновление не указан критерий отбора записей (строка Условие отбора остается пустой), при выполнении запроса будут модифицированы значения во всех записях таблицы.
Глава 14. Автоматизация редактирования и управления данными
301
и
.—,
**шш
~3
Папе; Инитабпийы! Товары Товары Обновления: Товары 1 Цена Товара*0,95 «15.12.02* Условие отбора: или:
<ц
ПРОИ5ВОДИТВЛБ ТОЫСЪ!
.
Товары 1
. . ТЕДЕОН РИХТЕР
—
Да
*
~г
>г
Рис. 14.18. Более компактное представление бланка запроса на обновление
|
5. Щелкните на кнопке Запуск панели инструментов или выберите команду главного меню Запрос^ Запуск. Программа Access сообщит о том, какое число записей будет добавлено в таблицу. Щелкните на кнопке Да, чтобы завершить выполнение запроса. Чтобы отменить операцию обновления, щелкните на кнопке Нет.
Как и в случае когда используются запросы на удаление, при выполнении запросов на обновление записей связанных таблиц программа Access следит за тем, чтобы не были нарушены условия целостности данных. Если между таблицами определено отношение "один ко многим" и в диалоговом окне Изменение связей установлен флажок опции каскадное обновление связанных полей, при любом изменении данных первичного ключа в главной таблице автоматически будут обновлены соответствующие значения в поле внешнего ключа подчиненной таблицы. Целостность данных таким образом будет сохранена. В противном случае (если флажок каскадного обновления не установлен, но для данного отношения активизирована опция Обеспечение целостности данных) при наличии связанных записей на стороне "многие" модифицировать значение ключевого поля на стороне "один" нельзя.
Резюме Эта глава посвящена запросам на изменение, с помощью которых можно удалить записи, добавить новые, а также выполнить массовое обновление данных одной или нескольких таблиц. Существует четыре типа запросов на изменение: на создание таблицы, на добавление, удаление и обновление. При использовании любого запроса на изменение рекомендуется создавать резервные копии изменяемых таблиц. Еше одна мера безопасности — это предварительный просмотр результатов выполнения запроса на выборку, который впоследствии будет преобразован в запрос на изменение. Запрос на добавление вносит записи в уже существующую таблицу базы данных. В том случае если записи результирующего набора должны стать самостоятельной таблицей, используется запрос на создание таблицы. Поля новой таблицы наследуют при этом тип данных и размеры полей исходной таблицы, указанной в бланке запроса (или полей нескольких таблиц), однако все настройки форматирования, а также определение ключевых полей для новой таблицы должны быть заданы заново. Запросы на обновление позволяют модифицировать значения отдельных полей записей, в то время как запросы на изменение других типов оперируют исключительно с записями таблиц. При выполнении запросов на удаление или обновление записей из связанных таблиц программа Access контролирует соблюдение условий целостности данных.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
302
Часть IV. Создание и использование запросов
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. К запросам на изменение относятся запросы следующих типов: а) перекрестные запросы; б) запросы на удаление; в) запросы на обновление; г) запросы на выборку; д) запросы на создание таблицы. 2. Для предварительного просмотра тех изменений, которые будут применены к данным при выполнении запроса на изменение, выполните следующее: а) щелкните на кнопке Запуск панели инструментов Конструктор запросов; б) выберите режим Режим таблицы кнопки Вид; в) щелкните правой кнопкой в области таблиц окна конструктора и выберите команду Режим таблицы; г) щелкните на кнопке Отобразить таблицу панели инструментов Конструктор запросов. 3. При создании таблицы с помощью запроса на изменение данные новой таблицы наследуют следующие свойства: а) настройки форматирования полей исходной таблицы; б) типы данных исходной таблицы; в) размеры полей исходной таблицы; г) настройки ключевых полей исходной таблицы. 4. Чтобы преобразовать запрос на выборку в запрос на добавление записей, выполните следующие действия: а) щелкните на стрелке раскрывающегося списка рядом с кнопкой Тип запроса панели инструментов и выберите пункт Добавление; б) выберите команду главного меню Запрос^Обновление; в) выберите команду главного меню Запрос^Добавление; г) щелкните правой кнопкой мыши в верхней области окна конструктора и выберите из контекстного меню команду Тип запроса^Добавление. 5. Чтобы при удалении записи из главной таблицы, связанной отношением "один ко многим" со второй таблицей, автоматически удалялись все связанные записи подчиненной таблицы, необходимо выполнить следующее: а) установить в диалоговом окне Изменение связей флажки для опций Обеспечение целостности данных и каскадное обновление связанных полей; б) установить в диалоговом окне Изменение связей только флажок для опции Обеспечение целостности данных; в) установить в диалоговом окне Изменение связей флажки для опций Обеспечение целостности данных и каскадное удаление связанных записей. 6. Для удаления данных из некоторых полей таблицы выполните следующие дейсгаия: а) используйте запрос на удаление; б) используйте запрос на обновление, заменяя значения этих полей на пустые значения; в) воспользуйтесь запросом на добавление записей.
Глава 14. Автоматизация редактирования и управления данными
303
7. Заменить все вхождения некоторого строкового образца в указанном поле таблицы на другое значение можно следующим способом: а) использовать запрос на обновление; б) внести необходимые изменения в режиме просмотра таблицы; в) использовать запрос на добавление; г) воспользоваться командой Заменить. 8. Чтобы предотвратить изменения значений первичного ключа в главной таблице, если существуют связанные записи в подчиненной таблице, необходимо выполнить следующее: а) установить в диалоговом окне Изменение связей флажки для опций Обеспечение целостности данных и каскадное обновление связанных полей; б) установить в диалоговом окне Изменение связей флажки для опций Обеспечение целостности данных и каскадное удаление связанных записей; в) удалить связь между таблицами; г) установить в диалоговом окне Изменение связей только флажок опции Обеспечение целостности данных.
ч.
304
Часть IV. Создание и использование запросов
Вывод данных на печать В этой части,.. Глава 15. Подготовка простых отчетов Глава 16. Настройка и форматирование отчетов Глава 17. Создание более сложных отчетов с помощью мастеров
Часть V открывает новые перспективы для ваших данных, а именно позволяет осво-* ;ить построение и вывод на печать самых разных отчетов. Глава 15 знакомит с типами .отчетов, поддерживаемыми программой Access, и простыми инструментами создания несложных отчетов. В главе 16 будут рассмотрены основные операций, применяемые при модифицировании существующих отчетов и разработке новых отчетов "с нуля" в режиме конструктора отчетов. Глава 17 посвящена использованию двух спедиадь^ных мастеров Access, под руководством, которых можно создавать отчеты, отформатированные для печати почтовых наклеек, и отчеты, включающие диаграммы.
Глава 15
Подготовка простых отчетов В этой главе... Ф Что такое отчет Ф Автоотчет — простой, но мощный инструмент * Использование мастера отчетов *
Режим предварительного просмотра и печать отчетов
*
Печать других объектов Access
4
Резюме
Ф Тесты
Что такое отчет Отчет выполняет в программе Microsoft Access особую "презентативную" миссию, обеспечивая вывод на экран или бумажный носитель информации из базы данных в наиболее удобном для восприятия и работы виде. Если другие объекты, например таблицы и формы, используются для ввода данных, запросы позволяют редактировать данные и выполнять поиск необходимых записей, то благодаря отчетам все важные сведения, хранимые в таблицах, могут быть переданы другим людям для дальнейшего использования, причем как в электронном формате, так и в виде печатных документов. Отчеты могут содержать данные из одной или нескольких таблиц либо запросов и быть как одностраничными (например, счет с реквизитами покупателя и списком заказанных товаров, включая их цены и количество), так и многостраничными (например, каталог товаров или ведомость выдачи зарплаты). В отчеты можно поместить графики и рисунки, включить нумерацию страниц и выводить значения вычисляемых полей. Записи, отображаемые в отчете, можно отсортировать по одному или нескольким полям, а также сгруппировать, применяя к таким группам необходимые статистические вычисления. Основные типы отчетов, которые можно создать средствами Microsoft Access, перечислены ниже. * "В столбец". В таком отчете, напоминающем макет формы, все поля выводятся на экран как один столбец. Слева от каждого поля отображается значение, указанное в свойстве Подпись данного поля. Поля могут быть упорядочены в любом порядке, а на одной странице отчета размещается одна или несколько записей. * Ленточный. Каждая запись выводится в таком отчете в отдельной строке, а каждое поле — в отдельном столбце. Подписи полей печатаются в качестве заголовков столбцов (рис. 15.1). Ленточные отчеты позволяют группировать данные по одному или нескольким полям, а также печатать итоговую информацию по группам и по отчету в целом.
p1 Список товаров : отчет
Список товаров по алфавиту
Шркк
Нлгстория:
Наскяадв
Притравы
1 2 6у1ылск rn £50 мл
Кл гетерия:
Е дитд* и шерамя:
BcetonCretoMed
РыбО1рС11>ЧТЫ
24бан>ипо125 г
Марк*
К«тетория:
Едипи* и>мсфа«я:
CamemBert Piend
Меленные процучты
15упаююяпоЭОЦ г
Cstnarsui Tigers
Рыбспрсдукты
1Е<гупаюка
Chai
Нагиткч
10 горУ5о(по20 (т.
СтрайЦа; JjjjjJ |
23
Настав 12Э
На стаде 3 «
Г jjjlj Jij
Рис. 15.1. Так выглядит ленточный отчет Список товаров
• Почтовые наклейки. С помощью мастера можно быстро создать отчет, отформатированный для печати почтовых наклеек (рис. 15.2). Каждая такая наклейка — это набор данных, расположенных в нескольких полях одной записи (например, адрес и полное имя клиента). Создание почтовых наклеек обсуждается в главе 17, Создание более сложных отчетов с помощью мастеров.
Cactus Coirtdaspara iievar Cerrtto 333 Буэнос-Айрес ТОЮ Аргентина Освэгю Atlantico Ша. GustaioMoncadaSSSS Pisa 30-A Буэнос-Айрес 1010 Аргентина
Rancho grande Av del LJbertador 900 Буэнос-Айрес 1010 Аргентина
Maison Dewy Rue Joseph-Bens 533 Брюссель В-ПВО Бельгия
Suprerresdelices Soulfvard Tirou. 255 Шацлеруа В-6СЮО Бельгия
OueOelicia RuadaPamficadore, 12 Рио-де-Жанейро RJ 02389-673 Бразилия
Ricardo Adockados Av. Copacabana. Ж7 Рио-де-Жанейро RJ 023Э9-: Бразилия
Т » U
--
'
Рис. 15.2. Отчет, позволяющий распечатать почтовые наклейки для конвертов
i Отчеты с графиками и диаграммами. В отчет Microsoft Access можно вставить график или диаграмму, разработанную с использованием программы Microsoft Graph. О том, как сделать это с помощью мастера, речь пойдет в главе 17. Отчеты как объекты базы данных представлены в окне базы данных вкладкой Отчеты.
Глава 15. Подготовка простых отчетов
307
Легко убедиться, что у отчетов очень много общего с формами (форму, например, даже можно сохранить в виде отчета), но основное отличие этих объектов базы данных — в их назначении. Если формы предназначены, в первую очередь, для ввода данных и их редактирования, то отчеты — это инструментарий просмотра информации. Как и формы, отчеты можно создать тремя способами: с помощью такого средства, как автоотчет; обратившись к услугам мастера создания отчетов и, наконец, построив новый отчет "с нуля" в режиме конструктора отчетов.
Автоотчет — простой, но мощный инструмент Первый и самый простой инструментарий, с помощью которого можно начать знакомство с отчетами, — это автоотчет. Все, что он позволяет сделать — это указать таблицу или запрос, которые должны стать источником данных для создаваемого отчета, а также выбрать макет будущего автоотчета ("в столбец"или ленточный). Возможность выбора полей не предусмотрена: в автоотчет помешаются все поля исходной таблицы или запроса. Хотя автоотчет работает только с одной таблицей, на основании хорошо продуманного многотабличного запроса он позволяет быстро перенести на бумагу данные из нескольких таблиц. Чтобы воспользоваться помощью автоотчета, выполните следующее. И 1. В окне базы данных щелкните на кнопке Отчеты панели Объекты. Щ 2. Щелкните на кнопке Создать панели инструментов окна базы данных. На экране появится диалоговое окно Новый отчет (рис. 15.3), где для категории "автоотчет" доступны такие варианты, как "в столбец" и ленточный.
Самостоятельное создание навете отчета.
Мастер отчетов Двтоотчет: в столбец Автоотчет: ленточный Мастер диаграмм Почтовые пакпейки
:т ев качестве источника данных таблицу ил
Рис. 15.3. Диалоговое окно Новый отчет предлагает различные способы создания отчетов
3. Щелкните на одном из предложенных в окне Новый отчет форматов автоотчета (Автоотчет: в столбец или Автоотчет: ленточный). 4. Из раскрывающегося списка в нижней части окна выберите имя таблицы (или запроса), данные которой станут основой для отчета, а затем щелкните на кнопке ОК. 5. На экране отобразится новый отчет в выбранном формате (например, автоотчет "в столбец", как показано на рис. 15.4) в режиме Предварительный просмотр. (Этот режим подробно будет рассмотрен ниже.) Сразу же становится понятно, что подобный отчет может удовлетворить лишь очень непритязательного пользователя. Легко заметить явные недочеты такого макета: "урезанные" данные (например, номера телефона), а также разнотипное выравнивание значений полей (по правому и левому краю). Чтобы дора-
308
Часть V. Вывод данных на печать
ботать такой незатейливый отчет, следует воспользоваться более совершенными средствами, доступными в режиме конструктора отчетов, о чем будет рассказано в следующей главе.
Код заказа Дата заказа Код покупателя Имя получателя Адрес получателя Телефон Электронный адрес Состояние заказа Актуальность Дата регистрации
Рис. 15.4. Автоотчет "в столбец" для таблицы в режиме предварительного просмотра 6. Автоотчет не сохраняет свои творения автоматически. Если вы готовы сохранить новый объект, выберите команду Файл^Сохранить (или щелкните на кнопке Сохранить панели инструментов), укажите в появившемся диалогом окне Сохранение имя отчета и щелкните на кнопке ОК. Для таблицы, открытой в режиме таблицы, можно быстро создать автоотчет "в столбец". Для этого щелкните на кнопке со стрелкой раскрывающегося списка Новый объект панели инструментов Таблица в режиме таблицы и выберите пункт Автоотчет. Если таблица не открыта, а лишь выделена в окне базы данных (вкладка Таблицы), для создания автоотчета "в столбец" выберите команду главного меню Вставка & Автоотчет.
Использование мастера отчетов Мастер создания отчетов — это уже более образованный и внимательный собеседник, который готов учесть ваши предложения по выбору полей, настроек группирования записей, внешнему виду и стилю оформления отчета. Мастер работает с полями нескольких таблиц или запросов и создает отчеты с более сложной структурой, в которой допускается группировка записей по некоторым логическим категориям. Как и в случае с мастером создания форм, мастер отчетов позволяет быстро создать структуру отчета, которую потом можно доработать в режиме конструктора. В качестве примера создадим с помощью мастера отчет, который отображал бы сведения обо всех заказах, сделанных тем или иным зарегистрированным покупателем. Такой отчет будет включать поля из нескольких (а точнее, из всех) таблиц базы данных Интернет-аптека. Чтобы создать отчет под руководством мастера, выполните следующее. 1. Щелкните на кнопке Отчеты окна базы данных, а затем дважды щелкните на ярлыке Создание отчета с помощью мастера. На экране появится первое окно мастера создания отчетов (рис. 15.5).
Глава 15. Подготовка простых отчетов
Выберите г»лй да отчогэ, Допускавгсп выбор нескшъких таблщ HIM мпросон.
Таблицы и »апросы |ИяЯ1»™™и1
ИМПокугатвм Адрес Телефон ЭпектрО(»ныйДдрес
_J
Дате* >
Готоав
Рис. 15.5. В окне мастера можно выбрать для будущего отчета поля из нескольких таблиц
В
Открыв вкладку Отчеты окна базы данных, можно воспользоваться другими способами вызова мастера отчетов. •$ Щелкнуть на кнопке Создать окна базы данных. •Ф Выбрать команду Вставка ^Отчет главного меню программы Access. На экране появится диалоговое окно Новый отчет (см. рис. 15.3), где из списка доступных методов и режимов создания нового отчета следует выбрать пункт Мастер отчетов и щелкнуть на кнопке ОК.
2. Окно выбора полей. Выберите из раскрывающегося списка Таблицы и запросы таблицу (или запрос), которая содержит поля будущего отчета. Для нашего примера первой следует выбрать таблицу Покупатели. Список в области Доступные поля заполнится полями указанной таблицы или запроса.
3. Включите в отчет подходящее поле из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в список Выбранные поля. Повторите шаг 3 требуемое число раз, чтобы включить в отчет все необходимые поля. 4. Мастер также позволяет включить в новый отчет поля из других таблиц. Для этого вернитесь к шагу 2 и выберите другую таблицу (между такими таблицами в базе данных должны быть установлены связи!). Когда список Выбранные поля будет полностью сформирован, щелкните на кнопке Далее, чтобы перейти к следующему этапу создания отчета. Для создаваемого в качестве примера отчета в список Выбранные поля должны быть перенесены такие поля, как ИмяПокупателя (таблица Покупатели), ДатаЗаказа (таблица Заказы), НаименованиеТовара и ЕдиницаИзмерения (таблица Товары), а также поля ЦенаТовара и Количество (таблица СодержаниеЗакаэов), как показано на рис. 15.6. По умолчанию поля в создаваемом мастером отчете будут располагаться в той же последовательности, что и в самой таблице. Чтобы изменить порядок отображения полей в отчете, перенесите поля в список Выделенные поля в той последовательности, в которой они должны будут располагаться в готовом отчете.
310
Часть V. Вывод данных на печать
Габлицы к запросы {Таблица: СмеокэниеЗакаэое Доступные поля*.
Выбранная пояп; ПмЛскутитем ДатаЗакаэа Наименов аниеТомр ЕдиницаИэчервния енаТова
Рис. 15.6. Выбраны все требуемые поля для будущего отчета Заказы зарегистрированных покупателей
5. Вид представления данных. В следующем окне, которое активизируется только в том случае, если в отчет включены поля из нескольких таблиц, мастер предложит выбрать вид представления данных (рис. 15.7). В нашем примере мастер позволяет сгруппировать информацию отчета на основе данных любой из четырех таблиц, указанных в списке. В качестве подсказки справа отображается образец будущей страницы отчета, соответствующий выбранной схеме организации. Так как наша задача — подготовить отчет, демонстрирующий, какие заказы были сделаны конкретными покупателями, примите настройки, предложенные мастером (т.е. группировка по имени покупателя и дате заказа), и щелкните на кнопке Далее. 1 Саз д анис отчетов -
Данных:
-Заказы - Товары Г - СодеряаниеЭакаюв
Н ИмяПсжупатепя
.
|
-. Я Р НаииеновамиеТовара, ;дие*«аИ!мере"ия, ЦечаТовара, Количество
_*1 Вывести дополнительные сведения
|
Отмена
|
< Цаэад
Дай»»
]
Цотово .
Рис. 15.7. Если отчет строится на основе нескольких таблиц, данные можно сгруппировать Чтобы вникнуть в процесс группировки, воспользуйтесь подсказкой мастера, щелкнув на кнопке с двумя стрелками Вывести дополнительные сведения. В серии диалоговых окон используются примеры для таблиц Продажи, Клиенты и Заказы базы данных Борей, демонстрируя различные способы группирования записей.
6. Группировка записей. Следующее окно мастера позволяет выбрать поля для группировки. Другими словами, здесь определяются поля, значения которых будут использованы для создания заголовков групп. Чтобы задать группировку по определенному полю, щелкните на имени требуемого поля в списке слева, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). В нашем примере данный этап можно пропустить. Чтобы перейти к следующему окну мастера, щелкните на кнопке Далее.
Глава 15. Подготовка простых отчетов
311
В отчете можно определить всего четыре уровня группировки. Если возникла необходимость реорганизовать структуру отчета и выделить некоторые другие логические подразделы отчета, воспользуйтесь кнопками Уровень. Кнопка со стрелкой, направленной вверх, повышает уровень выделенного поля в иерархии групп, а кнопка со стрелкой, направленной вниз. —соответственно, понижает. 7. Сортировка данных и вычисления. Следующее окно мастера (рис. 15.8) позволяет выбрать порядок сортировки для записей отчета, которые будут отображаться непосредственно в группах. Мастер позволяет выбрать до четырех полей сортировки. Чтобы задать поле, по которому будет производиться сортировка, выберите имя нужного поля из раскрывающегося списка под номером 1. Справа от этого списка расположена кнопка, на которой указан порядок сортировки. Кнопка действует как переключатель: чтобы изменить принятый по умолчанию порядок сортировки по возрастанию на обратный (по убыванию), просто щелкните на данной кнопке. Для отчета, создаваемого в рамках нашего примера, полем сортировки является поле НаименованиеТовара. Выполнив нужные настройки, щелкните на кнопке Далее. [Соэдлние отчетов выберите порядок сортцэовки и вычислении, вьполняеные для затеей. Допускается сортировка »w*iwft ипи по убыванию, включающая до 4 полей.
;
1. а вш акт я\
-I повозрасганик) по возрастанию
Итоги-
Далее>," \ " Готова „ 1
Рис. 15.8. Выберите порядок сортировки для записей отчета внутри организованных ранее групп Технические подробности Щелчок на кнопке Итоги, расположенной под полями сортировки, открывает одноименное диалоговое окно (рис. 15.9), в котором можно установить флажки для применения к числовых полям некоторых статистических функций, например подсчета общей суммы (Sum), среднего значения (Avg), а также нахождения минимального (М/л) или максимального (Wax) значения. В отчет будут добавлены поля, соответствующие указанным функциям. Кроме того, выбрав соответствующий переключатель в группе Показать, можно вывести на печать и данные, и результаты математических вычислений, а можно ограничиться только итоговой информацией, которая будет добавлена в конец каждой группы и всего отчета в целом. Если установлен флажок Вычислить проценты, для данного поля программа Access подсчитает сумму всех значений и долю в процентах каждого значения в этой сумме.
8.
312
Макет отчета. Новое окно предлагает выбрать макет отчета (рис. 15.10). Список доступных опций макета представлен справа в виде группы переключателей. Слева расположена область предварительного просмотра, в которой при выборе соответствующего переключателя схематично отображается вид будущего отчета. Ознакомившись с предлагаемыми типами макетов, выберите наиболее подходящий (для нашего примера по причине своей компактности выбран макет полевому краю 1).
Часть V. Вывод данных на печать
Какие итоговые иичения необходимо f Поле
Sum
ЦенаТс»&зра
Г--
Копичество
ftvq. I
№i '
„ Г "Г : Г"
Met ~.-J "Г"
Г" Вычислить проценты
Рис. 15.9. В отчет можно включить итоговую информацию
.Выберите вид накета для отчета. Ориентация (? книжная
хшм киек кдх них к м пик »ХХХ »ХХЛ
Х Ч Ж Х . К И Х Х Х ХХХКХ ХИХ* ХХХЧ* ХКХКХ ХИ01Х КХИЧХ
«XXX
Х1ПМ1
*КХХ
ХИЖИ ХХХЛИ ХХХХИ XWKX
ХКХХК
ХХХХК
ХХХХХ
«.на ххжи хяяхя кхххх тали
Г структура^ ^ JQD певоиу (фаю I Г" та левому крас 2
Настроить щи(»«/тм лей для равиещения на одисй стр»»«1е.
Датив
{ртовй
Рис. 15.10. Выберите подходящий вид макета для будущего отчета Кроме того, в текущем окне мастера можно указать ориентацию нового отчета (книжная или альбомная), выбрав соответствующий переключатель группы Ориентация, а также настроить ширину полей для размещения на одной странице (флажок данной опции по умолчанию установлен). Чтобы перейти к следующему окну мастера, щелкните на кнопке Далее. Если для будущего отчета не заданы никакие настройки группирования записей, в списке типов макетов будут предложены только элементы е столбец, табличный и выровненный, 9. Следующее окно мастера (рис. 15.11) предлагает выбрать стилевое оформление для отчета. Список всех доступных стилей представлен в правой части окна. Щелкнув на одном из них, в расположенной слева области предварительного просмотра можно увидеть, как будет выглядеть новый отчет. Ознакомившись с доступными вариантами, щелкните на наиболее подходящем (например, Строгий), а затем — на кнопке Далее. При следующем запуске мастера (или автоотчета) выбранный вами на данном этапе стиль будет использован как стиль по умолчанию.
Глава 15. Подготовка простых отчетов
313
Выберите требуемый стиль.
Деловой Обычный ПОПУЖИРНЫ1
Сжатый Спокойны*
Рис. 15.11. Выберите подходящий стиль оформления отчета
10. На заключительном этапе мастер предлагает указать заголовок для отчета. Введите нужный заголовок (например, Заказы зарегистрированных покупателей) в соответствующее текстовое поле диалогового окна или оставьте предложенное мастером имя без изменений (по умолчанию это название таблицы, на основе которой создавался отчет). Затем примите предложенную по умолчанию опцию Просмотреть отчет и щелкните на кнопке Готово. Мастер создает отчет с учетом всех указанных вами настроек, сохраняет его под именем, заданным в последнем окне мастера, и открывает отчет в режиме Предварительный просмотр (рис. 15.12).
Рис. 15.12. В режиме предварительного просмотра можно оценить, как будет выглядеть полная страница отчета
Отметим, что отчет получился вполне презентабельным, хотя и здесь заголовок столбца, имеющий длинное название (Лекарственная форма), оказался усеченным.
374
Часть V. Вывод данных на печать
Причина этого — установленный при выборе макета будущего отчета флажок Настроить ширину полей для размещения на одной странице. Программа Access, следуя такой настройке, автоматически размещает все поля отчета на одной странице, нередко прибегая к их усечению. Если флажок снят, на странице будет присутствовать столько полей, сколько можно разместить на ней, не изменяя их ширину. Остальные поля переносятся на следующую страницу. Все дальнейшие операции по усовершенствованию макета отчета выполняются в режиме конструктора отчетов.
Режим предварительного просмотра и печать отчетов Созданный с помощью автоотчета или мастера отчет отображается в специальном режиме Предварительный просмотр (см. рис. 15.12). Окно предварительного просмотра позволяет увидеть все элементы отчета в том виде, в котором они появятся на листе бумаги: реальное изображение шрифтов, данных, линий, рамок и т.п. Для перемещения между страницами отчета воспользуйтесь кнопками навигационной панели в левом нижнем углу окна. Назначение кнопок одноименной панели инструментов Предварительный просмотр представлено в табл. 15.1. Оценив преимущества и недостатки нового отчета, вы можете либо перейти в режим конструктора отчетов, чтобы внести в него все необходимые изменения и дополнения, либо отправить отчет на печать. Таблица 15.1. Кнопки панели инструментов Предварительный просмотр Кнопка
Наименование
Назначение
Вид
Позволяет переключаться в другие доступные режимы отображения, например Конструктор или Предварительный просмотр
Печать
Отправляет отчет на печать, не открывая диалоговое окно Печать
Масштаб
Позволяет увеличить или уменьшить масштаб просмотра
Одна страница
Отображает одну полную страницу
Две страницы
Отображает две полных страницы
Несколько страниц
Открывает матрицу выбора числа отображаемых страниц (от 1x1 до 2x3). Щелкнув на кнопке, перетащите указатель, чтобы выбрать нужное число страниц отчета, которые должны отображаться на экране
Масштаб
Позволяет выбрать из списка или ввести непосредственно в поле величину масштаба изображения для отчета
Закрыть
Закрывает окно предварительного просмотра
Установка
Открывает диалоговое окно Параметры страницы
Связи с Office
Позволяет экспортировать отчет в другие приложения Microsoft Office
В режиме предварительного просмотра можно выбрать произвольный масштаб изображения отчета. Так, например, чтобы получить представление о том, как будет выглядеть на бумаге полная страница отчета, щелкните на кнопке Масштаб (с изображением лупы). На экране появится схематичное изображение будущей страницы отчета (рис. 15.12), а указатель примет вид лупы со значком "плюс" (+). Щелкнув еще раз на странице отчета или на кнопке Масштаб, можно вернуться к исходному изображению.
Глава 15. Подготовка простых отчетов
315
Увеличить или уменьшить масштаб просмотра страницы отчета можно, выбрав доступные коэффициенты или указав свой собственный в поле со списком Масштаб. Самый маленький коэффициент масштабирования — 10%, самый большой — 1000%. Выбрать подходящий масштаб изображения можно также с помощью контекстного меню (рис. 15.13). В режиме предварительного просмотра отчета щелкните правой кнопкой в любом месте окна и в открывшемся контекстном меню выберите из поля со списком Масштаб нужную величину масштаба в процентах.
Одна стренга страниц Парацетрыстоаницы.,, Печать... Сохранить как репорт,. • Отправить
Рис. 15.13. Контекстное меню, доступное в режиме предварительного просмотра, позволяет выбрать нужный масштаб изображения Чтобы указать конкретное число страниц отчетов, отображаемых в режиме предварительного просмотра, воспользуйтесь кнопками Одна страница, Две страницы или Несколько страниц панели инструментов Предварительный просмотр (до 6 страниц, рис. 15.14) либо выберите команду Вид^Число страниц (1, 2, 4, 8 и 12 страниц, рис. 15Л5). (13 Microsoft ft* cess- [Заказы зарегистрированных я ЕЖ уиатепей] Правке
ЕНД
Сервис
_ в X
CKHD
. 100%
~
ЭакрЬ1р> ; установка
зарегистрированных Имя покупателя Датчика» Наименование
покупателей
Тимофеев А.С. 24-фев-200! Ле к ар ста синая
Цена Количество
АУРОБЙН ПИКОЕПТ
Дата з axaia Сграннца: t'\ ' П T_>J_Hj Готово • "'• •"" - ' •'
Рис. 15.14. Матрица страниц предварительного просмотра
376
Часть V. Вывод данных на печать
Рис. 15.15. Укажите число страниц, которые будут одновременно отображены в режиме предварительного просмотра Технические подробности
Контекстное меню режима предварительного просмотра (см. рис. 15.13) включает также две важные команды для работы с отчетами: команду Экспорт, позволяющую экспортировать отчет в электронную таблицу или файл другого формата, например . html и .xml, и команду Отправить, с помощью которой можно отправить данные отчета в таких форматах, как .rtf, .xls, .html, -txt или . snp, в виде вложения в почтовое сообщение. (Форматы данных, поддерживаемые программой Access в операциях импорта, экспорта и связывания, будут обсуждаться в главе 19, Работа с внешними данными.)
Диалоговое окно Параметры страницы Если внешний вид готового отчета вас вполне устраивает, можно отправить его сразу на печать, щелкнув на кнопке Печать или выбрав команду Файл^Печать (в этом случае дополнительно открывается диалоговое окно Печать). А вот внести некоторые изменения в макет отчета позволяют средства диалогового окна Параметры страницы (рис. 15.16). Чтобы открыть это окно, щелкните на кнопке Установка панели инструментов или выберите команду Файл^Параметры страницы. Ниже кратко рассмотрены опции трех вкладок окна Параметры страницы. • Поля. На этой вкладке (см. рис. 15.16) можно указать приемлемые, на ваш взгляд, размеры для всех полей страницы (верхнего, нижнего, левого и правого). Еще одна опция данной вкладки — Печатать только данные. Установив флажок этой опции, вы исключаете из отчета все дополнительные элементы (например, заголовок, надписи полей или линии сетки) и печатаете только данные. • Страница. Первое, что позволяет выбрать вкладка Страница (рис. 15.17), — это ориентацию отчета на странице. По умолчанию указан стандартный лист А4, опция книжная. Чтобы развернуть страницу на 180°, следует выбрать опцию альбомная. Настройки группы Бумага зависят от используемого принтера: нужный размер бумаги указывается в списке Размер, а способ подачи бумаги в списке Подача. Переключатели последней группы, Принтер для объекта, определяют то устройство, на котором будет распечатан отчет. Если это принтер, установленный по умолчанию, примите предложенный вариант текущий принтер. Если отчет необходимо отпечатать на каком-либо другом устройстве, установи-
Глава 15. Подготовка простых отчетов
317
те переключатель другой принтер, затем щелкните на кнопке Принтер и выберите в новом диалоговом окне имя нужного принтера.
СТрвНШЛ . . . . . '"" :
-Поля 6*0
Столбцы гОбраиц
''
верхнее: ; нижнее:
JZ5,45
левее:"" J25.S6 правое:
j 35,45
~ Печатать только данные
Рис. 15.16. Вкладка Поля диалогового окна Параметры страницы позволяет указать размеры полей для страниц отчета I ГМрлмртры с границы Поля
•{.'Странгал
Столбцы
Столбць.
1 Параметры етткн
Ориентация — гъ, Г" альбомная
чисто столбцов: П интврмя строк: [Со,
бумага: Ря!иср столбца u*W»a: fiS,8S Г^эдгтер для объекте Заказы »реп4... f* текущий яринтвр *" лругой принтер
.
высоте: |ол677сп
17 nepa*iBpyj |
Макет столбца Г .,.,,-. = ,„
Рис. 15.17. На вкладке Страница укажите ориентацию и формат страницы, а также выберите настройки для принтера
Рис. 15.18. Вкладка Столбцы позволяет изменить различные настройки для столбцов отчета
Столбцы. Вкладка Столбцы (рис. 15.18) позволяет варьировать параметры печати для многостолбцовых отчетов и наклеек. Количество столбцов, размещаемых в отчете, а также интервал между строками и между столбцами можно указать в группе Параметры сетки. Параметры следующей группы, Размер столбца, определяют ширину и высоту столбца. Установленный флажок По размеру данных задает для полей ширина и высота реальные значения ширины и высоты области данных отчета. Если в отчете установлена печать более одного столбца на страницу, активизируется группа Макет столбца, переключатели которой задают порядок печати
318
Часть V. Вывод данных, на печать
записей. Справа от переключателей представлена миниатюрная схема отчета, которая наглядно демонстрирует последовательность вывода записей в отчете. » Сверху вниз. Записи печатаются сверху вниз в самом левом столбце, а затем (в таком же порядке) в следующем столбце (так называемая газетная "змейка"). * Слева направо. Записи печатаются "построчно": сначала слева направо в первой строке, затем — во второй строке и т.д. При создании отчета с помощью автоотчета или мастера установки окна Параметры страницы задаются автоматически.
Диалоговое окно Печать Если необходимо сразу направить отчет на печать, применяя текущие установки принтера, щелкните на кнопке Печать панели инструментов Предварительный просмотр. Настройки печати самого принтера (а не макета отчета) доступны в диалоговом окне Печать (рис. 15.19). Чтобы открыть его, выберите команду главного меню Файл^Печать. Принтер шя;
JLexmark 1020 Color Jetprinter
состойте: Готсе тип:
Lexmark 1020 Cokr Jetprintar
несто;
tPTI:
Ммвтки:
Г~ лечат* в файл Копии
Печатать
*исяо копий; Г стргиишй с:]
"]
I Э
"':\
Рис. 15.19. Диалоговое окно Печать позволяет указать различные опции печати, например последовательность и количество копий страниц, а также выбрать другой принтер
Группа опций Принтер этого окна позволяет выбрать другой принтер (если таковой подключен), изменить настройки печати текущего принтера (после щелчка на кнопке Свойства открывается дополнительное диалоговое окно Свойства для текущего принтера), а также напечатать отчет в файл вместо вывода на принтер (установив флажок печать в файл). Кроме того, в диалоговом окне Печать можно указать диапазон печатаемых страниц и количество копий. Закончив настройку, щелкните на кнопке ОК, чтобы распечатать отчет.
Печать других объектов Access Организовать вывод на печать (и визуально оценить в режиме предварительного просмотра будущую бумажную копию) можно не только для отчетов, но и для других объектов базы данных.
Глава 75. Подготовка простых отчетов
319
Первое, что необходимо сделать, если вы хотите распечатать таблицу, форму или запрос, — это выделить нужный объект в списке соответствующей вкладки окна базы данных. Далее возможны следующие варианты ваших действий. • Печать выделенного объекта. Щелкните на кнопке Печать панели инструментов База данных. I • Предварительный просмотр и печать выделенного объекта. Щелкните на кнопке Предварительный просмотр панели инструментов База данных. Выбранный объект (например, таблица) будет отображаться в режиме Предварительный просмотр (рис. 15.20). Убедившись, что макет объекта вас устраивает (или выполнив необходимые настройки в диалоговом окне Параметры страницы), щелкните на кнопке Печать панели инструментов Предварительный просмотр, чтобы начался процесс печати. Программа Access автоматически выполняет разбивку на страницы и размещает вверху каждой печатаемой страницы имя объекта и текущую дату, а внизу — номер страницы. | • Печать группы записей. Откройте нужный объект в режиме таблицы и выдели1 те записи, которые необходимо распечатать. Затем выберите команду Файл * Печать и в группе Печатать выберите переключатель выделенные записи. Чтобы закрыть окно и распечатать записи, щелкните на кнопке ОК.
О1
Рис. 15.20. Таблица Товары отображается в режиме предварительного просмотра
Резюме В -этой главе рассматривался новый тип объектов базы данных — отчеты. Программа Microsoft Access предоставляет мощные и удобные средства подготовки отчетов и вывода их на печать. Основные типы отчетов — это ленточные, "в столбец", почтовые наклейки и диаграммы. Самые простые отчеты (ленточные и "в столбец") можно быстро построить с помощью автоотчета. Более разнообразные возможности предлагает мастер создания отчетов. Работая в диалоге с мастером, можно выбрать макет и стиль оформления отчета. Мастер отчетов помогает сгруппировать записи, а также выполнить некоторые вычисления для таких сформированных групп и вывести итоговую информацию, как на уровне групп, так и всего отчета. К записям таких ленточных отчетов могут быть применены простые статистические функции нахождения общей суммы, среднего, минимального или максимального значения, а также доли в процентах. При работе с полями нескольких таблиц подход может быть разным: либо сначала создается многотабличный запрос, а затем на его основе строится отчет,
320
Часть V. Вывод данных на печать
либо все операции выполняются непосредственно с помощью мастера, который позволяет включить в отчет поля из нескольких связанных таблиц. Оценить, как будет выглядеть готовый отчет, можно в режиме предварительного просмотра. Кнопки одноименной панели Предварительный просмотр позволяют настроить масштаб изображения, распечатать отчет, а также открыть дополнительные диалоговые окна настройки опций печати. Помимо отчетов, профамма Access позволяет вывести на печать и другие объекты базы данных.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Создать отчет в программе Microsoft Access можно следующими способами: а) с помощью средств автоотчета; б) следуя указаниям мастера создания отчетов; в) с помощью команды Фай л <> Создать; г) "с нуля" в режиме конструктора отчетов. 2. С помощью средств автоотчета можно создать отчеты следующих типов: а) табличный; б) ленточный; в) "в столбец". 3. Мастер создания отчетов позволяет выполнить следующее: а) выбрать в качестве источника данных для отчета таблицу или запрос; б) модифицировать заголовки полей будущего отчета; в) включить в отчет поля из нескольких таблиц; г) изменить ширину любого из столбцов отчета; д) выполнить операции группировки и сортировки записей отчета. 4. Чтобы создать новый отчет под руководством мастера, выполните следующие действия: а) откройте вкладку Отчеты окна базы данных и выберите команду Файл1^ Создать главного меню; б) дважды щелкните на ярлыке Создание отчета с помощью мастера вкладки Отчеты окна базы данных; в) выберите команду Вставка^Отчет главного меню, а затем — пункт Мастер отчетов в открывшемся диалоговом окне Новый отчет; г) щелкните на кнопке Создать окна базы данных и выберите пункт Мастер отчетов в открывшемся диалоговом окне Новый отчет. 5. Чтобы задать отображение в режиме предварительного просмотра сразу четырех страниц отчета, выполните следующие действия: а) щелкните правой кнопкой мыши в любом месте окна предварительного просмотра и воспользуйтесь командой Несколько страниц открывшегося контекстного меню;
Глава 15. Подготовка простых отчетов
321
б) выберите команду главного меню Вид^Число страницОЧетыре страницы; в) выберите из раскрывающегося списка кнопки Масштаб коэффициент 10%; г) щелкните на кнопке Несколько страниц панели инструментов Предварительный просмотр и с помощью указателя выделите матрицу 2x2 стр. 6. Чтобы открыть диалоговое окно Параметры страницы, необходимо следующее: а) выбрать команду Сервис^Параметры; б) щелкнуть на кнопке Установка панели инструментов Предварительный просмотр; в) выбрать команду Файл ^Параметры страницы; г) щелкнуть правой кнопкой мыши в любом месте окна предварительного просмотра и выбрать команду Параметры страницы контекстного меню. 7. Отправить отчет на печать можно следующими способами: а) щелкнуть на кнопке Печать панели инструментов Предварительный просмотр; б) щелкнуть на кнопке Установка панели инструментов Предварительный просмотр; в) выбрать команду главного меню Файл^Печать; г) выделить отчет в окне базы данных и щелкнуть на кнопке Печать панели инструментов База данных. 8. Чтобы отправить отчет в виде вложения в почтовое сообщение, выполните следующие действия: а) щелкните правой кнопкой мыши в любом месте окна предварительного просмотра и выберите из появившегося контекстного меню команду Отправить^ Сообщение (как вложение); б) щелкните правой кнопкой мыши в любом месте окна предварительного просмотра и выберите из появившегося контекстного меню команду Экспорт; в) выделите отчет в окне базы данных и выберите команду главного меню Файл^Отправить^Сообщение (как вложение); г) в режиме предварительного просмотра отчета выберите команду главного меню Файл ^Экспорт.
322
Часть V. Вывод данных на печать
Глава 16
Настройка и форматирование отчетов В этой главе... 4 Общая структура отчета 4
Настройка отчета в режиме конструктора
* Обрамление, разделение страниц и вставка рисунков * Группирование и сортировка записей в отчетах 4 Добавление вычисляемых элементов управления 4 Резюме 4 Тесты
тчет, созданный с помощью автоотчета или мастера, как правило, нуждается в доработке. После знакомства в предыдущей главе с простыми отчетами несложно заметить, что разработка отчетов — процесс, во многом аналогичный созданию форм, поэтому работа в режиме конструктора отчетов не вызывает каких-либо затруднений. Отчет также имеет элементы управления, и все ранее рассмотренные манипуляции с ними при модифицировании форм (глава 9, Создание и использование форм) с тем же успехом могут применяться в отчетах. Поэтому основной акцент в этой главе будет сделан на особенностях форматирования отчетов, а также средствах конструктора отчетов, позволяющих применить к записям отчета операции сортировки и группирования. Для примера обратимся к созданному мастером отчету Зак;эзыЗарегистрированныхПокупателей (рис. 16.1). Чтобы усовершенствовать отчет в режиме конструктора, выделите имя нужного отчета на вкладке Отчеты окна базы данных, а затем щелкните на кнопке Конструктор панели инструментов окна. Отчет откроется в режиме конструктора (рис. 16.2). Если отчет уже открыт в режиме предварительного просмотра, перейти в режим конструктора можно, щелкнув на кнопке Конструктор (разновидность кнопки Вид) панели инструментов Предварительный просмотр или выбрав команду главного меню Вид ^Конструктор.
Рис. 16.2 дает представление о структуре отчета.
т ' Закрыть
установка
gj - i Э 'Л '
Заказы зарегистрированных покупателей Яш покупателя
ТимофеевА.С
Имя покупателя
Горцин В.П.
Рис. 16.1. Созданный мастером отчет требует доработки if Microsoft Access !
£айя
Пмвка
Отчет
-
Элл
Вставка
ворват
СВРСИС
Окно
Справка
:
ц= . V i . i . г i • з • i • * • i • 5 i • e • i • j • i • e • i • s • i в • i • и • i • e • i •и • i • и • i • i! гоговак отчета
Заказы зарегистрированных покупателей f Верхний колонтитул •f Заголовок группы 'КодПокупэт
Имя покупателя М [ЖмЛрку ДатаЗаказа На1»1еиованивТсвара Е линии аИаперения ДепаТовасч
Конструктор
Рис. 16.2. Любые усовершенствования макета отчета выполняются в режиме конструктора
324
Часть V. Вывод данных на печать
Общая структура отчета Как видно из рис. 16.2, отчет может состоять из различных разделов. • Заголовок отчета. Содержит информацию общего характера (как правило, надпись с названием отчета), которая печатается один раз в начале отчета. Кроме того, под раздел заголовка отчета может быть выделена одна или несколько отдельных страниц, на которых оформляется титульный лист отчета или размещаются диаграммы и рисунки. • Верхний колонтитул. Раздел Верхний колонтитул содержит информацию, которая должна выводиться вверху на каждой странице отчета, например надписи для подсоединенных элементов управления, номера страниц или даты. • Заголовок группы. Содержит такие данные, как заголовок группы или итоговые значения для группы (последние могут быть также включены в раздел Примечание группы, размещаемый под областью данных). В строке заголовка указывается поле, по которому выполняется группировка записей. Так, в отчете, представленном на рис. 16.2, записи сгруппированы сначала по полю Код Покупателя, а затем — по полю КодЗаказа. • Область данных. Область, в которой располагаются фактические данные из полей таблиц. Заголовки полей (надписи) печатаются в отчетах "в столбец" в области данных вместе • данными каждой записи (рис. 16.3), а в ленточных отчетах— выводятся один раз в разделе верхнего колонтитула. » Заказы автоотчет :втчет # Заголоемсотчетл
\Ход покупателя - '\ ''.Имя получателя.
рКодПокупатеп Им дПс луча т ел ч
Адрес получателя Телефон
;|ТелефоиГь7|
- -
Рис. 16.3. В отчетах "в столбец" надписи подсоединенных элементов управления отображаются вместе сданными в области данных Нижний колонтитул. В этом разделе выводится информация, которая должна присутствовать на каждой печатаемой странице: номер страницы отчета, дата или некоторые итоговые значения. В том случае если отчет создается в режиме конструктора "с нуля", в рабочей области окна конструктора отображаются только разделы Верхний колонтитул, Область данных и Нижний колонтитул (рис. 16.4). Вывести на экран разделы Заголовок отчета или Примечание отчета можно с помощью меню Вид, выбрав команду главного меню Вид ^Заголовок/примечание отчета. (Чтобы добавить или удалить колонтитулы, используется команда Вид ^Колонтитулы.) Размеры всех разделов можно произвольно изменять.
Глава 16. Настройка и форматирование отчетов
325
Область примечаний отчета. Этот раздел содержит сведения, которые должны быть распечатаны один раз в конце отчета, сразу за нижним колонтитулом последней страницы: текущая дата, итоговые значения по всем данным отчета, текст заключения, а также, возможно, контактная информация разработчиков отчета. В нашем примере (см. рис. 16.2) этот раздел пуст. Ми tosofl: Stress-{Шчег! : втчет]
Рис. 16.4. Базовая структура отчета, создаваемого в режиме конструктора, включает три раздела: верхний и нижний колонтитулы, а также область данных
При работе в режиме конструктора отчетов (как и при создании форм) доступна панель элементов и список полей (см. рис. 16.4), использование которых подробно рассматривалось в главе 9. При создании отчета "с нуля" в режиме конструктора последовательность действий в точности совпадает с этапами разработки в режиме конструктора новой формы (см. материал раздела Конструктор форм главы 9).
Настройка отчета в режиме конструктора Операции с элементами управления отчета Напомним, что в главе 9 подробно рассматривались такие операции, как перемещение элементов управления, изменение размеров элементов управления и их надписей, а также выравнивание нескольких элементов. Используя эти несложные приемы, исправим некоторые погрешности мастера создания отчетов и применим уже известные эффекты форматирования к отчету ЗаказыЗарегистрированныхПокупателей (см. рис. 16.2), чтобы привести его к виду, показанному на рис. 16.5. Итак, что требуется сделать. 1. В области Заголовок группы 'КодЗаказа' переместите влево две пары обрамляющих линий и надписи Наименование, Лекарственная форма, Цена и Количество. Для этой операции удобнее всего сразу выделить группу элементов управления, включающую четыре надписи и четыре линии. Чтобы сделать это, щелкните,
326
Часть V. Вывод данных на печать
например, на вертикальной линейке окна конструктора чуть выше элемента управления НаименованиеТовара_Надпись и, не отпуская левой кнопки мыши, перетащите указатель вниз, практически до заголовка следующего раздела, Область данных. Для перемещения выделенных элементов строго по горизонтали воспользуйтесь клавишей <<—>. Заказы зарегистрированных покупателей
Заказы зарегистрированных покупателей Имя покупателя Дата jaxaia
Тимофеев А.С, г4-фев-2001
Наименование
Лекарственная фор на
АУ РОБИН
мазь 20 г в туб..Nil
8,83 грн
ПИКОВЙТ
сироп 150 мл
S.40 грн
Дата
Цена
Количество
23-иг-2001
Нахтеваваике
-Петр сгвгнная форма
ГИСТОДИЛ
Tito. 200мг №50
дондлган
каш. 230мг >630
ОКСИТОЦИН
р-р д/ия. (или.) 1 мп.'5ые
Цеха
Количество
11,67 грн. 4,66 грн
Страницв,-
РИС. 16.5. Используя навыки, полученные при работе с формами, можно быстро внести коррективы в макет отчета
1, Аналогичным образом (точнее сказать, вместе с указанными выше надписями) переместите влево элементы управления НаименованиеТовара, ЕдиницаИзмерения, ЦенаТовара и Количество в разделе Область данных. 2, Две пары линий, обрамляющие строку надписей в разделе Заголовок группы 'КодЗаказа', продлите вправо. 3, Увеличьте ширину элемента управления ЕдиницаИзмерения и соответствующей надписи. 4, Уменьшите ширину и сдвиньте влево элемент управления ЦенаТовара_Надпись. 5, Увеличьте размер шрифта для всех элементов управления в области данных с 8 пунктов до 10. 6, Примените полужирное начертание для элемента управления ИмяПокупателя. 7, Измените тип и размер шрифта для заголовка отчета с Times New Roman Cyr, 24 пункта на Arial Cyr, 20 пунктов. (Для выбора гарнитуры и размера шрифта используются раскрывающиеся списки Шрифт и Размер на панели инструментов Формат (форма/отчет).) Выполняя редактирование элементов управления, почаше проверяйте результаты своей работы в режиме предварительного просмотра. Для текстовых полей большой длины и полей с данными типа Поле MEMO, содержащих записи переменной длины, очень полезно использование таких свойств, как Расширение и Сжатие. Установить их можно иа вкладке Макет диалогового окна свойств элемента управления. Применение опции Расширение позволяет программе Access при заданной ширине элемента управления, связанного с МЕМО-полем, варьировать его высоту. Опция Сжатие дает возможность избавиться от пустых строк в поле, автоматически уменьшая его высоту.
Глава 16. Настройка и форматирование отчетов
327
Технические подробности Помимо режима, который именуется Предварительный просмотр, в Microsoft Access предусмотрен еще один способ оценить результаты вашего труда в режиме конструктора— это режим Образец. Для отображения используется лишь фрагмент данных, никакие вычисления не выполняются, так как применяется этот режим исключительно для оценки внешнего вида будущего отчета. Переход к такому режиму выполняется с помощью кнопки Вид (элемент Образец) панели инструментов Конструктор отчетов или выбора команды Вид ^Образец.
Нумерация страниц и указание даты При создании нового отчета мастер автоматически размещает в разделе нижнего колонтитула свободные элементы управления, которые будут отображать порядковый номер страницы и текущую дату. Однако даже в том случае, если отчет разрабатывается "с чистого листа", в режиме конструктора, включить такие элементы в отчет элементарно просто благодаря предлагаемым программой Access командам Вставка ^-Номера страниц и ВставкаоДата и время (элемент управления помещается в заголовок отчета). • Команда Вставка^Номера страниц. Открывает диалоговое окно Номера страниц (рис. 16.6), опции которого позволяют указать формат порядкового номера страницы (Страница N или Страница N из М), месторасположение счетчика страниц (верхний или нижний колонтитул), способ выравнивания (например, По левому краю, По центру, По правому краю) и необходимость печати номера на первой странице отчета. • Команда Вставка^Дата и время. Открывает диалоговое окно Дата и время (рис. 16.7), в котором можно выбрать подходящий формат даты и/или времени, установив флажки соответствующих опций.
W Фориат даты I Номера страниц
i
- Формат •
ОК
|
Отиема
J
<• 1 апреля 2004 г, "^ 01-итр-аЮ4 Г 01.04.04
-. Г Страницам . & Страница N из М .- Расположение:
-
-. & верхний каярнтит у» Г нижний колонтитул Выравнивание; . В По левому краю
12:04. 12:04
Образец!1 • I апреля 2Ш4 г. 12:04:23
\? .Отображать номер на первой странице
Рис. 16.6. Диалоговое окно Номера страниц — простейший способ использовать в отчете нумерацию страниц
Рис. 16.7. Диалоговое окно Дата и время позволяет выводить в отчете дату в нужном формате
Форматирование отчета Все операции форматирования, перечисленные ниже, используются как в режиме конструктора форм, так и в режиме конструктора отчетов. Так, например, средство Автоформат уже хорошо знакомо нам из опыта работы с формами (глава 9).
328
Часть V. Вывод данных на печать
• Автоформатирование. Применить один из предварительно заданных стилей форматирования к выбранным элементам управления или ко всему отчету в целом можно с помощью средства Автоформат. Для вызова диалогового окна Автоформат выберите команду Формат^Автоформат или щелкните на кнопке Автоформат панели инструментов. Чтобы выделить весь отчет, щелкните на серой области под примечанием отчета или на маркере выделения отчета (серый квадратик на пересечении вертикальной и горизонтальной линеек). • Выравнивание текста. Внутри надписей и элементов управления типа Поле текст можно выровнять, воспользовавшись кнопками По левому краю, По центру и По правому краю панели инструментов Формат (форма/отчет). • Выравнивание элементов управления. Выполняется с помощью опций комнанды Формат^Выровнять при вызове ее из главного меню программы Access, или контекстного меню выделенных элементов управления (рис. 16.8). Опции этой команды позволяют выровнять позиции нескольких элементов управления по одной линии, например по левому или верхнему краю, а также по узлам сетки. ай"
tt>ae<;a ;
1нд. встарка
Формат
Times New Reman Cyr
. ' и
Сервис -- '
p Заказы зарегистрированных покупателей * Заголовок отчета
ТТЛ Т" 'Т'Т Г I" Заголовок групгы 'КодПокупателя' -ИЙГТ-
покупателя
\
^
-•Ямя&акупат&чя .•т. i— i .._!.__•!— \j_ .::-,
* 3af ояовок группы КодЗакам'
Н U;-IM (Hot анив'С о в ер а.,
< ЕднкнцаНзмфмпш
< Нижний копсититул ^How[)
Рис. 16.8. Опции команды Формата Выровнять позволяют упорядочить несколько элементов управления по одной линии • Изменение размеров группы объектов. Чтобы изменить размеры сразу нескольких выделенных объектов, следует воспользоваться одной из опций команды главного меню ФорматОРазмер (или выбрать нужную команду из контекстного меню любого выделенного объекта). * по размеру данных. Размеры каждого из выделенных элементов управления выбираются так, чтобы объект вмещал все содержащиеся в нем данные.
Глава 16. Настройка и форматирование отчетов
329
» по узлам сетки. Углы выделенных элементов управления смешаются к ближайшему узлу сетки. # по самому высокому. Высота всех выделенных элементов будет увеличена до высоты самого высокого из них. » по самому низкому. Высота всех выделенных элементов будет уменьшена до высоты самого низкого из них объекта. • По аналогичной схеме работают команды Формат^Размер^по самому широкому и Формат-^Раэмер^по самому узкому. • Равномерное размещение группы объектов. Чтобы изменить интервалы между несколькими выделенными объектами, следует воспользоваться опциями команд главного меню Формат ^Интервал по горизонтали и Формат^ Интервал по вертикали. Обе эти команды имеют дополнительное меню, которое включает три элемента: Сделать равным (выравнивает интервал между выделенными объектами), Увеличить (увеличивает интервал на одну ячейку сетки) и Уменьшить (соответственно, уменьшает интервал). Для трех и более выделенных объектов при выполнении команд Увеличить и Уменьшить сначала интервалы между элементами делаются равными, а затем уже увеличиваются или уменьшаются. Если в режиме предварительного просмотра или при печати отчета обнаруживается, что каждая вторая (четная) страница отчета пуста, причина такого расточительства кроется в том, что ширина области печати превышает допустимые пределы (ширина страницы минус сумма правого и левого полей отступа). Могло случиться так, что вы переместили существующий элемент управления или разместили новый за пределами правой границы области печати, а программа Access автоматически увеличила при этом ее ширину. Чтобы исправить положение, разместите элементы управления более компактно и установите исходное значение ширины области печати.
Обрамление, разделение страниц и вставка рисунков Использование линий и прямоугольников Приемы, которые уже рассматривались ранее и использовались для усовершенствования внешнего вида форм, остаются актуальными и для оформления отчетов. • Создание и настройка линий и рамок. Кнопки панели элементов Л и н и я и Прямоугольник позволяют быстро поместить в отчет графические элементы нужной длины или размера. • Оформление. Щелкнув на нужной линии или прямоугольнике, можно выбрать из открывшегося контекстного меню пункт Оформление и задать подходящий эффект форматирования, например Обычное или Приподнятое. • Настройки для макета. Такие оппии настройки, как Тип границы (например, Сплошная или Точечная), Цвет границы и Ширина границы (Сверхтонкая по умолчанию) для любых линий можно указать на вкладке Макет диалогового окна свойств выбранного графического элемента (рис. 16.9). • Цвет линий и рамок. Чтобы изменить настройки цвета для линий и рамок в окне конструктора, воспользуйтесь кнопкой Цвет линии/границы панели инструментов Формат (форма/отчет). Щелкните на небольшой стрелке этой кнопки и выберите из предложенной палитры подходящий цвет.
330
Часть V. Вывод данных на печать
Пиния: Ллнип16
Наклонлиннк.,.,..,*...„,.., Вывод на экрги ,, От левого «рая От верхнего края .,..,., Шир*«а.,. - ..v. ... Высота .,',11,'.,., ....,» Офсриломив., ., ТИП Границы . , '
Цвет границы Ширина границы
\ да OCPI 0,15гси 15,B94oi Оси
ЯЯВ8Н1ЯВ Этс/тсгвует Штриховая Пунктирная Точечная Редкоточечная ] Штрих-пунктионая [щтри х-точе-цн ая
Рис, 16.9. В диалоговом окне свойств линии или прямоугольника можно указать тип, цвет и ширину границы
Разделители страниц Когда в отчете необходимо "в принудительном порядке" напечатать определенную информацию на отдельной странице, используется разделитель страниц. Чтобы поместить его в макет отчета, достаточно всего лишь щелкнуть на кнопке Разрыв страницы панели элементов. Так, например, в отчете Каталог учебной базы данных Борей разделитель, который включен в раздел Заголовок отчета, позволяет выводить на отдельных страницах отдельные блоки информации рекламного характера, помещаемые в начало отчета (см. иллюстрации ниже по тексту). Разместить разделитель можно в любом разделе отчета, за исключением колонтитулов. Следуйте таким инструкциям. И
1. Щелкните на кнопке Разрыв страницы панели элементов. Указатель мыши примет вид пиктограммы страницы со знаком "плюс" (+) слева вверху. 2. Поместите указатель в том месте отчета, где должен располагаться разделитель страниц, и щелкните левой кнопкой мыши. У левого края отчета появится ряд крупных черных точек — маркеры разделителя страниц (рис. 16.10). Заголовок отчета теперь печатается не сплошным текстом, а разбит на два подраздела, каждый из которых начинается с новой страницы (рис. 16.11). I 3. Чтобы сохранить внесенные изменения, щелкните на кнопке Сохранить панели инструментов Конструктор отчета.
Добавление рисунков в отчеты В будущий отчет можно включить любое графическое изображение, например, логотип компании, рисунок или отсканированную фотографию. (О том, как поместить в отчет диаграмму, речь пойдет в следующей главе, Создание более сложных отчетов с помощью мастеров} Чаще всего рисунки размещаются в заголовке или примечании отчета, заметно преображая его, особенно если для печати используется цветной принтер. Рассмотрим, как добавить в заголовок отчета готовое изображение. Следуйте таким инструкциям. I 1. Отобразите на экране (если ее там нет) панель элементов, выбрав команду главного меню Вид^Панель элементов или щелкнув на кнопке Панель элементов панели инструментов Конструктор отчетов.
Глава 16. Настройка и форматирование отчетов
331
| ^ К „ , „„„:„,,,,
. ,. 1 . , . г . , . J . ,.,.
|ВД1гШ1 . 5 • i
6 • i • 7 • i • t • i • 9 • i • » • i • И • i • 12 - i • 13 • i • 14 • i ' И • i • 6 • CJ
Кампания «Еарейя гарашпирует 'фктабку товаров наивысшего качества \ ^си всего мира. Есяи вас не пюкастые ± (уйовяетларяет какой-либо товар, вы \/иажете e,tpnymt eeo ком за паяную pmtmmmt.
1
И
Продукты питания всего мира от компании «Борей»! 1 t'1
ы
\Kotba
довдглш
- _..
.__
.
компании,
,-
.
«Борей»
ищут
чр&яса
!
гас/пролимлии,
-
"•
;
Н
VI
; ^Г
Рис. 16.10. Разделитель страниц позволяет распечатать нужную информацию с новой страницы
Рис, 16.11. Новый блок информации отчета Каталог начинается с новой страницы 2. Чтобы разместить рисунок в разделе Заголовок отчета, увеличьте этот раздел, перетащив с помощью мыши вниз заголовок раздела Верхний колонтитул. Затем необходимо изменить размеры надписи, отображающей заголовок отчета (Записи зарегистрированных покупателей), так, чтобы данный текст выводился в две строки и был несколько сдвинут вправо. Соответственно, следует выделить и провести вниз две линии, разделяющие заголовок отчета от печатаемых ниже данных, так как показано на рис. 16.12. Элемент управления типа Поле, который содержит, например, длинную текстовую строку, можно сделать многострочным, увеличив его высоту. 3. Щелкните на кнопке Рисунок панели элементов. Указатель мыши примет вид пиктограммы рисунка со знаком "плюс" (+) слева вверху.
332
Часть V. Вывод данных на печать
1 ак язмЗарег мс трирое анныиПаиу натряс*
• 13 • i • Н • i • 15 •* Загоповпк отчета
-Заказы зарегистрированных -покупателей .
* Верхний копокгитул •* Загоповсиг группы КодПокупэтеля'.
Рис. 16.12. Рисунок будет размещен в левой части раздела Заголовок отчета
4. Поместите указатель в том месте раздела Заголовок отчета, где должен располагаться рисунок, нажмите левую кнопку мыши и, удерживая ее, перетащите указатель по диагонали, создавая элемент нужного размера (рис. 16.13). ЭлказыЗарегистрироваинынПокупатепей: отчет
» • i • 11 • i • К • i • 13 • i • 14
Заказы зарегистрированных покупателей —
1
р—-—j——|
у-
* Верхний колонтитул. < Заголовок Группы 'КддГКжупатв ля'
Рис. 16.13. Рисунок можно разместить в нужном разделе отчета, воспользовавшись инструментом Рисунок панели элементов
5. Отпустите кнопку мыши. На экране появится диалоговое окно Выбор рисунка (рис. 16.14). С помощью раскрывающегося списка Папка найдите диск и папку, в которой хранится нужное изображение, затем откройте ее и щелкните на имени нужного файла. Выделив требуемый элемент, щелкните на кнопке ОК. ™ . i i Пагка; "Г""- jgj Мои рисунки i
•Имя " *'Ьд IZ.gif ^binvltal(l) gf I^BOTTLES.JPG Ж ijned.gif "" """""
™ь j/ 1 Мои последмге i документы
1
i i i *j ^'.i 1
<X?^
_ j _ J * Сервис '
Рвжер i 6 КБ р 41 Г 41КБ F Z КБ ! ,
,
• Рабочий cton ~
.
i
Мои документы
^Q
Мой
; компьютер
% 1 .-л }
окружение
.: Пия файла:
1
т\
Тип файлов: Графические файлы (*.wmfi ",enf; ",d\b; *.Ъп*>', *.iooj ' "J .
^^ Отпена
Рис. 16.14. Диалоговое окно Выбор рисунка позволяет найти нужное изображение для вставки в отчет
Глава 16. Настройка и форматирование отчетов
333
6. Изображение теперь вставлено в отчет (рис. 16.15), однако очевидно, что его размеры не совпадают с размерами рамки. Чтобы точно "вписать" рисунок в рамку, щелкните правой кнопкой мыши на элементе управления Рисунок и выберите из открывшегося контекстного меню команду Свойства. KdJbi3ap(-ii<( пи-ров анныхПпку пате лен : отчет -11 • I • К ' I '13' I ' M ' i • В • i • 1
* Заголовок отчете
НЗаказы зарегистрированных ^покупателей _* Верхний копантигул __ •* Заголовок группы ХодПиеутитепя'
Рис. 16.15. Требуемое изображение добавлено в отчет, однако его размеры не соответствуют исходной рамке
7. В диалоговом окне Свойства выберите вкладку Макет, щелкните в поле свойства Установка размеров и выберите из раскрывающегося списка пункт По размеру рамки (рис. 16.16). [^"Рисунок: Р«уно*28
Макет | Данные j События \ Другие ] всё „ | Рисунок. D:\DocufnentsandSettingsV Типрисуикл Внедренный Установи размере*, - - .. , По размеру ранки Выравнивание писунса Фрагмент -Адрес гиперссыякн." "I Вписать в | Дополни тельньй адрес ....... Швов на экран ,,..,. Да От левого края 1,099си U*43W« ,. ..,., ., Высота....,-'..,,
-
' 2,7ся 2,Эсч
Рис. 16.16. Диалоговое окно свойств элемента управления Рисунок позволяет задать размеры изображения
8. Убедившись в режиме предварительного просмотра, что новый вид отчета вас устраивает (рис. 16.17), сохраните внесенные изменения, щелкнув на кнопке Сохранить панели инструментов Конструктор отчетов. В том случае если ваш рисунок является OLE-объектом, для вставки его в отчет щелкните на кнопке Свободная рамка объекта панели элементов, а затем в открывшемся диалоговом окне Вставка объекта выберите тип нового объекта или найдите уже существующий файл.
Группирование и сортировка записей в отчетах Мастер создания отчетов вполне достойно справляется с группированием записей по определенному полю (или полям), но эту операцию при желании можно выполнить и самостоятельно, в режиме конструктора. Основным инструментом для воплощения в жизнь таких структурных преобразований станет диалоговое окно Сортировка и группировка (рис. 16.18), вызов которого возможен по команде Вид ^Сортировка и группировка.
334
Часть V. Вывод данных на печать
Заказы зарегистрированных покупателей
Рис. 16.17. Обновленный заголовок отчета выглядит эффектнее Л!
Иортиронка и Группировка Попе/вываженне
rrri
КоАЗаказа НаиненсеанпеТ о вара
1
ПОРйдск есетивсвки Ю возрастанию По возрастанию По возрастанию
^
Свойства группы Заголовок группы Да Пстечвчание группы Нет Группировка . . Попопноиу змачен 1 Не разрывать Не:
Выборг пе ля или . йпя сортировки.ипи ] группиррвЧи
Рис. 16.18. На диалоговое окно Сортировка и группировка возложена ответственность за создание групп в отчете и порядок сортировки записей
Чтобы проиллюстрировать возможности этого диалогового окна, создадим простой отчет, содержащий краткую информацию об имеющихся в наличии товарах (дня таких записей значением поля Наличие Товара в таблице Товары является Да). Структура подобного отчета представлена на рис. 16.19. Операции группирования в этом отчете пока отсутствуют (рис. 16.20). Наша задача состоит в том, чтобы модифицировать исходный отчет, обеспечив печать наименований товаров, сгруппированных по производителям. Чтобы создать новую группу в отчете, выполните следующее. Ц] 1. Щелкните на кнопке Сортировка и группировка панели инструментов Конструктор отчетов. На экране появится одноименное диалоговое окно (см. рис. 16.18). (В нашем примере его строки еще не заполнены.) [Tj 2. Щелкните в первой строке столбца Поле/выражение, а затем — на кнопке раскрывающегося списка справа в этой ячейке и выберите нужное поле для группировки (для рассматриваемого примера это поле Производитель). Группировка и сортировка записей могут основываться не только на конкретном поле, но и на выражении. Чтобы ввести выражение, щелкните на нужной строке столбца Поле/выражение и введите выражение, обязательно указав первым знак равенства ("="), например =[Стоимость]"[Количество].
Глава 16. Настройка и форматирование отчетов
335
Э • i • Ю • i • И • i • 12 • i • В • i • 14 • i - Я • i • 16 • i • 17
Товары в наличии * Верхний «июмтитуп Кодтовара Наименовеяие
КодТовара ;'НзименпваниеТоварб
мерс: Производитель
ЩенаТоварз
* Нижний колонтитул Страница " S [Pego] & " и з " S [Pages'
Рис. 16.19. Так выглядит в режиме конструктора макет исходного ленточного отчета Товары
Товары в наличии Кодговара Наим*нсавни< 1 ПИКОВИТ
сироп 150 Win
КРКА
Э,40грн
2 АУРОБИН
мазь 20 г в туб
ГЕДЕОН РИХТЕР
3.1!3грн
3 ВЕРОШПИРОН
табл. 25 мг №2
ГЕДЕОН РИХТЕР
6.67грн
4 ВИНПОЦЕТИН
табл 5мг №50
ГЕДЕОН РИХТЕР
19,39гри
5 ДОНАЛГИН
«апс. 250 мг №
ГЕДЕОН РИХТЕР
6 НИМОТОП
30 иг №100
БАЙЕР
23Э,ООгрн
7 БЕРЕШ-ПЛЮС
иаплШООмп
БЕРЕШ
44.0ЭГРН
8 ФАЛИМИНТ
таВл. №20
БЕРЛИН-ХЕШ
3 ЗЕРОКОЛД
таВл. №200
БИОМЕДИКЕЙР
5,19грн 53,ПОгрн
-*t
Рис. 16.20. В режиме предварительного просмотра видно, что к записям отчета не были применены операции сортировки и группировки
3. Примите предложенный по умолчанию порядок сортировки (По возрастанию) или выберите из раскрывающегося списка столбца Порядок сортировки другой вариант — По убыванию. 4. Чтобы произвести изменения в структуре отчета, щелкните в поле Заголовок группы, а затем — на кнопке раскрывающегося списка, чтобы выбрать пункт Да. Результатом такой операции станет появление в отчете нового раздела (Заголовок группы 'Производитель'), как показано на рис. 16.21. Чтобы создать для новой группы такой раздел, как примечание, укажите значение Да
для поля Примечание группы.
5. Щелкните в поле свойства Группировка, чтобы задать способ группировки данных, т.е. указать программе Access те условия, которые необходимы для создания новой группы. Например, для данных текстового типа, как в нашем примере (рис. 16.22), возможны два варианта: По полному значению (когда
336
Часть V. Вывод данных на печать
в одну группу объединяются записи с полностью совпадающими значениями поля группировки) и По первым знакам (у записей одной группы должны совпадать п первых знаков значения поля группировки; указать конкретное значение для п следует в поле свойства Интервал).
* Заготовок отчета
Товары в наличии 1 < Верхний колонтитул Код товар а. .Наименование
':Лекар;тз;вная q Производитель
Цен»
* Загопосок группы У1рошвоДНТвла'
* Область ланных'ЕдинпцзИзмере Производитель
ЩенаТоваш
* №«<нийкэлонтнтул "Страниц) " & [Page] S " из " S |Pages]
NOWQ •* Пр«<вчаи« отчета
Рис. 16.21. В структуре отчета появился новый раздел — Заголовок группы 'Производитель'
Попв/выра&й-ие Н Производитель
ПОРЯ дсц сортировцн По возрастанию
;
1)
Свойства группы Заголовок группы Да Принесен*» группы 1^т Группировка Интервал Не раэрмввть I По первым знакам
|рзр 1Н,-,1. "1
:
знамений, группу
Рис. 16.22. Свойство Группировка определяет способ группировки записей для поля Производитель Для числовых значений группировка может выполняться по полному значению или диапазону значений (опция Интервал свойства Группировка; в поле Интервал указывается интервал значений, например 10 или 100). Когда поле группировки имеет тип Дата/время и в одну группу должны попасть записи с датами, принадлежащими определенному временному интервалу, в раскрывающемся списке свойства Группировка следует выбрать требуемый диапазон значений: По годам, По кварталам, По месяцам, По неделям, По дням, По часам или По минутам. 6. Последнее свойство группы — Не разрывать — определяет, как будут распечатаны элементы, принадлежащие одной группе (включая заголовок и примечание группы). Выберите опцию Нет и закройте диалоговое окно. Чтобы указать поле (поля) сортировки записей в группе, включите нужное поле и порядок сортировки в новую строку диалогового окна Сортировка и группировка. (В нашем примере записи группы должны быть отсортированы по значениям поля НайменованиеТовара, как показано на рис. 16.23.)
Глава 16. Настройка и форматирование отчетов
337
Технические подробности В списке свойства Не разрывать представлены следующие опции. •О- Нет. Значение принято по умолчанию. Никаких ограничений на печать группы не накладывается, и разделы группы могут размещаться на соседних страницах. <• Вся группа. Группа в обязательном порядке будет напечатана на одной странице (т.е. в случае необходимости перед ней будет установлен разрыв страницы). •fr С первыми данными. Заголовок группы может быть напечатан на странице только в том случае, если вместе с ним будет помешена первая запись из области данных. Спртировка и группировка"
*!
По возрастанию | По возрастанию
ГЪошводитель дга KSKaa ""ПНР™?" *
" Свойства группы Заготовок группы ПринечаНие гр .Группировка Интервал Не разрывать
Нет Нет По полному >начвн
Рис. 16.23. В диалоговом окне Сортировка и группировка указано попе сортировки — НаименованиеТовара Теперь, если шелкнуть на кнопке Вид и перейти в режим предварительного просмотра (рис. 16.24), можно отметить, что записи отчета организованы иначе, а именно сгруппированы по значениям поля Производитель. Записи каждой группы, кроме того, отсортированы по полю НаименованиеТовара.
Товары в наличии Кодтовара Наименование
Лекарственная Прогав одитепь
37 АЛКА-ЗЕЛЬЦЕР
шип таВп №10 БАЙЕР
ВЗ АСПИРИН КАРДИО
300 №20
БАЙЕР
В9 МИШ С ЛОР
крем 10 мг/г 15
БАЙЕР
56.90грн
30мг №100
БАЙЕР
239.00грц
б НИМОТОП
T.SQrpn 11.43грк
табл. покр nnlc БЕРЕШ
Рис. 16.24. Вид отчета Товары в наличии изменился: записи о товарах сгруппированы по названию фирмы-производителя Однако сам отчет можно сделать более информативным, если перенести заголовки столбцов, а также поле, по которому выполняется группировка (вместе с его надписью), в раздел Заголовок группы 'Производитель', как показано на рис. 16.25. Кроме того, были
336
Часть V. Вывод данных на печать
изменены размеры таких элементов управления, как ЕдиницаИзмерения и надпись Производитель, а также заново упорядочены элементы КодТовара, Наименование Товара и ЦенаТовара. Измененный отчет с группировкой представлен на рис. 16.26. Г" Тоеары_загот>вон группы: отчет
I . i . i - i . 2 • i •_з • i • i • i • 5 j 3 -f Заголовок1отчета
~Г~""~
'([Товары в наличии!
и •* Заголовок " ^Производитель
| Производитель
Код! .Наимвмовшив
к ар ств ЕННВЯ фо
11 •* Область данньп КодТоеара
НачивнаваниеТовара
! ЕдиннцэИзмервиия
j[ 4F Нижний колонп-пуп (Page) S " MI " & [Peges
Рис. 16.25. Заголовки столбцов и имя производителя теперь будут печататься в начале каждой группы
Товары в наличии Производитель Код
Производитель К од
AVENT1S PHARMA
НаимЕнсвание
Лекарственная форма
БАЙЕР
Н аименов ание
Лекарственная форма
ВТ
АЛКА-ЗЁЛЬЦЕР
шип. таоп. №10
BS
АСПИРИН КЛРДИО
300 №20
11,43грн
Ё9
МИКОСПОР
крем10мг/г15п
5б,90грн
7,80г0н.
Рис. 16.26. Записи отчета Товары в наличии сгруппированы по полю Производитель
Добавление вычисляемых элементов управления Когда необходимо разместить в отчете некоторые вычисляемые данные, создается новый свободный элемент управления типа Поле, имеющий вычисляемое значение. Разместить его можно в любом разделе отчета. Формула, по которой вычисляется значение такого элемента управления, может включать значения полей одной или нескольких таблиц, а также функции и выражения. Выше уже рассматривались простейшие примеры включения в отчет вычисляемых полей — счетчика страниц и отображения текущей даты — с помощью команд Вставка^Номера страниц и Вставкам
Глава 16. Настройка и форматирование отчетов
339
Дата и время. Однако возможности вычисляемых полей значительно шире, чему доказательством служит рассматриваемый ниже пример. Обратимся к ранее созданному отчету Заказы зарегистрированных покупателей (см. рис. 16.17) и добавим в него вычисляемое поле СуммаЗаказа, а также итоговое поле ОбщаяСуммаЗаказа. Последовательность действий при включении в отчет вычисляемого поля будет следующей. LfaUj]
1- "Классический" способ размещения в нужном разделе отчета вычисляемого поля вместе с его надписью — это использование кнопок Надпись и Поле панели элементов. Однако в нашем примере гораздо проще разместить вычисляемое поле с помощью операций копирования и вставки. Выделите надпись Цена в разделе Заголовок группы 'КодЗаказа' и элемент управления ЦенаТовара в области данных (рис. 16.27). Сначала щелкните на кнопке Копировать, а потом на кнопке Вставить панели инструментов. В отчете появятся два новых элемента управления, которые располагаются непосредственно "над" элементами-источниками и, на первый взгляд, не видны. Чтобы разместить их в нужной позиции (справа от столбца Количество), переместите новые объекты, воспользовавшись клавишей <-*>.
* Верхний колонтитул * Заголовок группы ХодГЬкугитепя'
Имя покупателя
\ \КмяПокупателя
# Эвголоеок группы Ко
Лскарсгвскиая ферма
:Н аим ело.» анке Тон;
ЕдинкцаИзмернпет
•ЦенаТовяр
* Нижний когонтитул
Рис. 16-27. При создании вычисляемого элемента управлений можно воспользоваться операциями копирования и вставки
2. Щелкнув внутри новой надписи, удалите прежний текст и введите слово Сумма. 3. Дважды щелкнув на новом элементе управления, введите в открывшемся диалоговом окне свойств (вкладка Данные, свойство Данные) новое выражение, по которому будут производиться вычисления. Для нашего примера такой формулой будет =[ЦенаТовара]ЧКоличество], как показано на рис. 16.28. (Новому элементу управления можно дать более содержательное имя, например СуммаЗаказа, указав его в поле свойства Имя вкладки Все окна свойств.) tfe. Ноле: СуммаЗаказа
Макет
Данные- |Сд&л-ий) Дпугив |
See
|
Данные . . . - • . < - > ч . . . * , , , . < . . Маска ввода , Суша с накоплением Отсутству Снарт-твги
Рис. 16.28. Введете выражение, по которому будет вычисляться значение нового поля
340
Часть V. Вывод данных на печать
Любая формула вычисляемого поля должна начинаться со знака равенства ("=").
Короткие формулы можно вводить непосредственно в вычисляемое поле, однако, если приходится набирать длинное выражение в диалоговом окне свойств, можно открыть лиш окно Область ввода (воспользуйтесь комбинацией клавиш <Shift+F2>), либо Построитель выражений (щелкните на кнопке с троеточием справа от строки свойства Данные). 4. С помощью команд меню Формат (Выровнять и Размер) откорректируйте размеры и размещение элементов управления в разделах Заголовок группы 'КодЗаказа' и Область данных (рис. 16.29).
* Верхний колонтитул •f Заголовок группы ХодЛакупателя'
Имя покупателя
\ 'ИмяПокупателя
Дата jasua Накшсковаине
Лекарственим форма
Цыа;|
К*л
Сумма
* Обпастн НаименоеыпяТо»вр&
• Еданиц»Изм« рения
; Количество -
# Ншкйий колонтитул
Рис. 16.29. Вычисляемое поле и его надпись разместились справа от столбца Количество [Ц] 5. Чтобы включить в отчет итоговое поле ОбщаяСуммаЗаказа, необходимо изменить структуру отчета, добавив раздел Примечание группы 'КодЗаказа'. Чтобы сделать это, щелкните на кнопке Сортировка и группировка панели инструментов, выберите в открывшемся диалоговом окне строку КодЗаказа, а затем укажите значение Да для свойства Примечание группы, так как показано на рис. 16.30. 6. Теперь разместим в разделе Примечание группы 'КодЗакаэа' вычисляемое поле ОбщаяСуммаЗаказа и его надпись, для чего следует поочередно скопировать в этот раздел надпись Сумма и элемент управления СуммаЗаказа (перед выполнением команды Вставить необходимо выделить тот раздел, куда будет выполняться вставка, щелкнув на полосе этого раздела). 7. Щелкнув внутри новой надписи, введите подходящий текст, например Общая сумма для текущего заказа, увеличив, соответственно, размеры этого элемента управления.. Дважды щелкнув на новом элементе управления, введите в открывшемся диалоговом окне свойств (вкладка Данные, свойство Данные) итоговую формулу =8ит([ЦенаТовара]*[Количество]), затем щелкните на вкладке Все и укажите в поле свойства Имя новое имя вычисляемого элемента управления — ОбщаяСуммаЗаказа. 9. После некоторых "косметических" операций форматирования структура отчета в режиме конструктора выглядит аналогично представленной на рис. 16.31. Сам отчет, в котором выводятся теперь вычисляемые и итоговые значения, показан на рис. 16.32.
Глава 16. Настройка и форматирование отчетов
341
• » • i • и • i • и • i • о • 1 - й • 1 • в • 1 • is • * Верхний колонтитул * Заголовок гругпы ХодПок)Л)ателя'
ИтяПонуп! _
.Имя покупателя
* Заголовок группы 'КодЗака»' __ ДатаЗаказа Дагаикма Налиешвакне
Ко/Локупзтеля КодЗаказа НдинвнованиеТоввра
По возрастанию По возрастанию По возрастанию
Лекарсгаеннзн
* Область
Свойства группы
* Приивчание группы КсдЗэка>а'
id
Заголовок fpimra» Да Прнпечанне группы В@ jj }" отвбраж»™? Группировка По поямону знзчен ; области прм!лечаиИ1 Интервал | группы Не ра^зывать Нет
* Нижний колонтитул
т
="С1ришод - & [Pigs] "-5 '
Шь
Рис. 16.30. В структуре отчета теперь есть раздел Примечание группы 'КодЗаказа' Зак а зыВарегистриров аи мын Покупателей: отчет
* Верхний колочтиту п_ *3аголпаск группы 'Ко
Ais покупателя
!
I ИмяПокупателя
группы 'КОдзакам'
' Лгкарстиеммая форт
Найме но жалит
Кол-ю
_
Сумма
* Область данных :НвименованивТо«ара
ЕдиницаИзмер*иия
Ц«наТовар( -Количество
* Примечание группы КодЭакам' ОЕщая сумма дли текущею яка * Нижний колонтитул
нвТ ов ар а] * [Копич* ста о]).
"Стр»маа " & [Pi£t] & " ш " & [P»€«]i
•У Примечание отиетд
Рис. 16.31. Макет отчета с'вычисляемыми полями
10. Чтобы сохранить внесенные изменения, щелкните на кнопке Сохранить панели инструментов Конструктор отчетов.
342
Часть V. Вывод данных на печать
Microsoft Access - [Заказы зарегистрированных покупателей] УЗ Файл
Правка
Вид
Окно
Сервис
•ч, - 4 j im -u. ^ • ioo%
^правка
•щнагп—осппхжзтиг
FH71 f-JV -JV ip \_d
покупателе Иш покупателя Дата
Тимофеев А.С. 2Л-фез-2001 Лекарственная форма
АУРОБИН
мазь 20 г в туб №1
ПИКОБИТ
сироп 1И ып
Цена
Кол-во
8,83 грн
8,ЕЗгрн. 8,40грн.
Общая СУММ! длнтекущего
Дата заката
17,23грв
2
Наниенованне
Лекарственная фор ма
ГИСТОДИЛ
табл. 200мг1*50
ДОНАЛГИН ОКСИТОЦИН
Сумма
р-р д("ин. (амп) 1
Цеха
К* л-во
Сумма
11,79грн
1
11,79грн.
[],б7грн.
2
23.34грн.
4,66грН.
5
23,30грн.
Общая су ми а для текущею ика»
Т » IнГ
•
Рис. 16.32. Готовый отчет в режиме предварительного просмотра
Резюме Ручная "доводка" отчетов, созданных мастером или с помошью автоотчета, в режиме конструктора — дело хотя и утомительное, но, безусловно, необходимое и оправданное, поскольку результатом этого процесса становится содержательный и "выразительный" отчет. В этой главе рассматривались основные операции, применяемые при модифицировании существующих отчетов и разработке новых отчетов "с нуля". Основной инструментарий, применяемый в режиме конструктора, это панель элементов, список полей, диалоговое окно свойств и окно Сортировка и группировка. Для оформления отчетов, как и при создании форм, могут быть использованы линии, прямоугольники, различные цветовые схемы и настройки шрифтов. В отчет можно включать любые графические объекты, в том числе диаграммы. С помощью диалогового окна Сортировка и группировка можно организовать в отчете до 10 различных групп и указать порядок сортировки как для значений поля группировки, так и для записей внутри группы. С помощью кнопки Поле панели элементов в отчет можно добавить любые вычисляемые элементы управления, формулы которых могут включать значения полей, функции и выражения, С помошью вычисляемых полей в отчете можно отобразить итоговые значения как для групп записей, так и для всего отчета в целом.
Глава 16. Настройка и форматирование отчетов
343
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. В режиме конструктора отчетов можно выполнить следующие действия: а) б) в) г)
включить в отчет разделители страниц; изменить масштаб макета отчета; включить в отчет графическое изображение; изменить цвет линий и прямоугольников.
2. Изменить тип и размер шрифта для элементов управления в отчете можно следующим образом: а) воспользовавшись инструментами панели Формат (форма/отчет); б) воспользовавшись кнопкой Надпись панели элементов; в) изменив значения соответствующих свойств элемента управления в диалоговом окне Свойства; г) выбрав новый формат в диалоговом окне Автоформат. 3. Чтобы сделать несколько выделенных элементов управления равными по высоте, выберите такую команду: а) Формат^ Размер^ по самому широкому; б) Формат^Размер^по самому высокому; в) Формат^Размер^по размеру данных; г) ФорматоВыровнять^по левому краю. 4. Чтобы выровнять интервал между несколькими выделенными элементами управления, расположенными один под другим в столбец, выберите такую команду: а) Формат ^Интервал по горизонтали^Сделать равным; б) Формат^Выровнять^по верхнему краю; в) Формат^Размер^по самому высокому; г) Формат^Интервал по вертикалиоСделать равным. 5. Чтобы привести размеры рисунка в соответствие с размерами выделенной под него рамки, следует выполнить следующие действия: а) дважды щелкнуть на рисунке и указать в открывшемся окне свойств (вкладка Макет) для свойства Установка размеров значение Фрагмент; б) щелкнуть правой кнопкой мыши на рисунке и выбрать из открывшегося контекстного меню команду Размерено размеру даиных; в) щелкнуть правой кнопкой мыши на рисунке и выбрать из открывшегося контекстного меню команду Свойства, затем в диалоговом окне Свойства (вкладка Макет) щелкнуть в поле свойства Установка размеров и выбрать из раскрывающегося списка пункт По размеру рамки.
344
Часть V. Вывод данных на печать
6. Для вызова диалогового окна Сортировка и группировка необходимо выполнить следующее: а) щелкнуть правой кнопкой мыши на любом элементе управления отчета и выбрать команду Сортировка и группировка из появившегося контекстного меню; б) щелкнуть на кнопке Сортировка и группировка на панели инструментов; в) выбрать команду главного меню Вид^Сортировка и группировка; г) щелкнуть правой кнопкой мыши в любой свободной области отчета и выбрать команду Сортировка и группировка из появившегося контекстного меню. 7. Чтобы добавить в отчет раздел Заголовок группы 'ИмяПоля', необходимо следующее: а) щелкнуть правой кнопкой мыши на полосе расположенного выше (по отношению к будущему разделу Заголовок группы 'ИмяПоля') раздела, затем выбрать команду Вставить открывшегося контекстного меню; б) выбрать команду Вид^Заголовок/примечание отчета; в) щелкнуть на кнопке Сортировка и группировка на панели инструментов, а .-затем указать для поля группировки значение свойства Заголовок группы как Да. 8. Чтобы удалить из отчета сразу оба раздела, Верхний колонтитул и Нижний колонтитул, необходимо следующее: а) выбрать команду В ид "^Заголовок/примечание отчета; б) открыть меню Вид и выбрать команду Колонтитулы (снимается отметка с команды Колонтитулы); в) удалить из этих разделов все элементы управления, а затем перетащить полосу расположенного ниже раздела (например, Область данных и Примечание отчета) вверх так, чтобы высота удаляемого раздела стала равной нулю; г) удалить из этих разделов все элементы управления. 9. Чтобы включить в заголовок отчета текущую дату, необходимо следующее: а) выбрать команду главного меню Вставка^Дата и время, а затем в диалоговом окне Дата и время выбрать нужный формат даты и/или времени; б) выбрать команду главного меню Вид=>3аголовок/примечание отчета; в) разместить в разделе Заголовок отчета вычисляемый элемент управления (типа Поле), затем щелкнуть внутри него и ввести формулу вычислений, которая включает одну из функций для работы с данными типа Дата/время, например DateQ. 10. Чтобы ввести выражение, в соответствии с которым будет найдено значение вычисляемого элемента управления, необходимо выполнить следующие действия: а) дважды щелкнуть на нужном элементе управления и ввести расчетную формулу в поле свойства Формат поля вкладки Макет диалогового окна свойств элемента; б) дважды щелкнуть на вычисляемом элементе управления, затем в открывшемся диалоговом окне свойств поместить указатель в поле свойства Данные (вкладка Данные) и нажать комбинацию клавиш <Shift+F2>. Нужное выражение ввести в окне Область ввода; в) выделить вычисляемый элемент управления, открыть его окно свойств (вкладка Данные) и ввести формулу в поле свойства Данные; г) щелкнуть внутри вычисляемого элемента управления и ввести нужную формулу.
Глава 16. Настройка и форматирование отчетов
345
Глава 17
Создание более сложных отчетов с помощью мастеров В этой главе..* ф
Генерация почтовых наклеек
Ф Использование мастера диаграмм 4 Резюме * Тесты
Генерация почтовых наклеек Почтовые наклейки — это одна из разновидностей многостолбцовых отчетов Microsoft Access, которые используются, когда необходимо, например, отправить корреспонденцию сразу многим адресатам, сведения о которых хранятся в базе данных. Кроме того, в отчете, отформатированном таким образом, могут быть распечатаны, например, ярлыки для папок, различные карточки или ценники. Подобный отчет строится на основании таблицы или запроса базы данных, и каждая запись представляется в нем в виде отдельной наклейки. Самый простой и эффективный путь создания почтовых наклеек — использование одного из мастеров программы Microsoft Access 2003. Как и любой другой отчет, отчет с наклейками включает элементы управления, и сложность заключается только в том, чтобы установить правильные размеры полей отступа, размеры самой наклейки и число столбцов в отчете (другими словами, число наклеек в строке). Мастер создания наклеек предлагает внушительное разнообразие вариантов стандартных наклеек и готов взять на себя все сложности, связанные с выбором точных размеров и оптимальным размещением будущих наклеек на страницах отчета. Предположим, необходимо создать отчет с почтовыми наклейками для всех зарегистрированных покупателей Inter net -аптеки. Поскольку мастер создания наклеек позволяет выбрать необходимые для отчета поля, можно не создавать специальный запрос, а работать непосредственно с таблицей Покупатели, в которой содержатся все нужные данные — имя покупателя, его код и адрес. Итак, чтобы создать наклейки с помощью мастера, выполните следующее. [и] 1. В окне базы данных щелкните на кнопке Отчеты панели Объекты. g 2. Щелкните на кнопке Создать панели инструментов окна базы данных. На экране появится диалоговое окно Новый отчет (рис. 17.1), где представлен список всех доступных способов создания отчетов. 3. Щелкните на пункте Почтовые наклейки.
Жовьм от чет
:
-••
ВКяР&О
:•'-•,
• "•
1\
1
Конструктор
i ;
Автоотчет: е столбец Автоответ: ленточньй
. Создание отчетал '. отформатированного для ; печати почтовых наклеен.
Выберите в качестве источника данных таблицу или запрос:
;
^т]
гаДЙЯ?!! (Ж
Отмена
']
Рис. 17.1. В диалоговом окне Новый отчет выберите среди различных способов создания отчета пункт Почтовые наклейки Из раскрывающегося списка в нижней части окна выберите имя таблицы (или запроса), данные которой станут основой для отчета, а затем щелкните на кнопке ОК. (В нашем примере все необходимые сведения хранятся в таблице Покупатели.) На экране появится первое окно мастера создания наклеек (рис. 17.2). [Создание «акпеек Мастер создает стандартные или попьюватвльские неклейки. Выберите разиер наклейки. Код товара: {.7702 L7905
мает
.
Размеры:
Чгсло пагорнюнтали:
192 mm i 39 mm
7 1
-93 mm x 210 mm 44 mm x 96 mm
М83179
1
42 mm x 8 ! mm
г г
i Система ед!«*ц
Тип наклеек
1
Р на листва
" бвитаиская & иетрнчвссая
| |
1
•
Фильтр по изготовителю: 1
Настройка..- I
Рис. 17.2. Мастер готов предложить на выбор все многообразие наклеек стандартных размеров 5. Из раскрывающегося списка Фильтр по изготовителю, где перечислены самые известные производители бумаги для наклеек, выберите нужный пункт (например, Avery), а затем — подходящий размер наклейки (например, для кода М88315 это 34 mm x 64 mm, число наклеек по горизонтали — 3). Чтобы перейти к следующему окну мастера, щелкните на кнопке ДалееТехнические подробности Если, ознакомившись со всеми стандартными вариантами, предложенными в этом диалоговом окне, вы так и не нашли ничего подходящего— создайте собственную наклейку с нужными вам размерами. Для этого щелкните на кнопке Настройка, чтобы открыть окно Размеры наклеек. В этом окне щелкните на кнопке Создать, а затем укажите все необходимые параметры в диалоговом окне Создание наклейки (рис. 17.3).
Глава 17. Создание более сложных отчетов с помощью мастеров
347
1 Нщзание:
(наклейка!
Раэнеры:
'П.ОСКнхС.ООсм
- Система единиц , - Тип наклеек 1
f фригийская
}
• f* зетрнческгая -'
•Ориентация
Р иа листах f рулвниае
Введите рв5неры каклейкн s сантиметрах;
Г~ -альбомная УИСПО по гсрюоятапи: |Г
Рис. 17.3. Собственную наклейку с нестандартными размерами можно создать, используя средства диалогового окна Создание наклейки
6. Новое окно мастера (рис. 17.4) позволяет выбрать шрифт и цвет для наклейки. Параметры, заданные в этом окне, применяются ко всем строкам будущей наклейки и ко всем наклейкам, которые будут распечатаны в этом отчете. Выберите подходящие значения для полей шрифт, размер, насыщенность и цвет текста, а также установите в случае необходимости флажки опций курсив и подчеркнутый. Слева от группы Вид текста расположен образец будущей наклейки, соответствующий выбранным настройкам шрифта. Убедившись, что внешний вид новой наклейки вас устраивает, щелкните на кнопке Далее.
Рис. 17.4. Мастер предлагает выбрать настройки шрифта для наклеек
7. На этом этапе необходимо указать, какие данные из таблицы-источника должны быть включены в наклейку. Слева в диалоговом окне мастера (рис. 17.5) представлен раскрывающийся список Доступные поля, справа область Прототип наклейки. Количество строк в этой области зависит от размеров самой наклейки и выбранного шрифта.
348
Часть V. Вывод данных на печать
Включите в наклейку все необходимые поля из списка Доступные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля). Выделенное поле переместится в область Прототип наклейки. Указав все необходимые поля, щелкните на кнопке Далее.
поля требуется рмнеститьв наклейке? .Выберите пояи дяя иаклейгк т списка слева. Если на каждс*шклейкв нужно вывести опввдеявнный твист, введите ючз 'в прототип Достугаые поля: Регист р ашюннмИмя Пароль ИпяПокупатепя Адрес
{ИмяПокупатвпяЦйод: {КодПо купат еля}) Алрее!
Рис. 17.5. В область Прототип наклейки необходимо поместить поля исходной таблицы, значения которых должны иметь наклейки Для перехода на новую строку в области Прототип наклейки нажмите клавишу <Enter> или <ТаЬ>. Помимо табличных данных, в этой области можно вводить символы с клавиатуры, такие как пробелы, знаки пунктуации или дополнительный текст. Так, например, образец наклейки, который приводится на рис. 17.5, включает помимо полей ИмяПокупателя, КодПокупателя и Адрес, текст Код:, Адрес: и г . Киев. 8. Следующее окно мастера (рис. 17.6) позволяет выбрать порядок сортировки будущих наклеек по одному (в нашем примере это поле ИмяПокупателя) или нескольким полям. Дважды щелкните на имени нужного поля в списке Доступные поля, чтобы поместить его в список Сортировка. Выполнив нужные настройки, щелкните на кнопке Далее. сшданиеншшпш Имеется возможность отсортировать чвглЛсн по нвекопькш полян (например по имени и Лапкпнн) ипи только по одной/ поло (например по ПОЧТОВОМ)'N Выберите пппя для с Доступные попя: КодПокупат Per истрэцио Пароль Телефон Э лек троиныйДдрвс Актуальность ДатаРегистраини
Рис. 17.6. Выберите порядок сортировки для наклеек
Глава 17. Создание более сложных отчетов с помощью мастеров
349
9. В заключительном окне мастера введите в соответствующее текстовое поле нужный заголовок для отчета с наклейками, примите предложенную по умолчанию опцию Просмотреть наклейки в том виде, как они будут напечатаны и щелкните на кнопке Готово. Мастер создает новый отчет, сохраняет его под указанным именем и открывает отчет с почтовыми наклейками в режиме предварительного просмотра (рис. 17.7),
Алешин А. П. (Код: 11) Адрес: уп. Стельмаха12кв. 74 г Киев
Андрейченко И.В. (Код: 12. Адрес: уп. БаесейнаяЭкв. 15 г. Киев
Борисова Т П (Код. 10) Адрес: пр. Науки 24 кв. 114 г. Киев
Валерианой СА. (Код: 15) Адрес. уп Герцена 23 кв 15 г Киев
Васильева Н И. (Код: Э) Адрес: ул Пегоовсиого 2) кв. 14 L Киев
Голуб О.П. (Код. 7) Адрес:
ул. Политехническая 4 ко. 96 г Киев 1
Страница:
Рис. 17.7. Созданный мастером отчет отображается в режиме Предварительный просмотр Из окна предварительного просмотра готовый отчет можно сразу распечатать, щелкнув на кнопке Печать панели инструментов. Если это необходимо, можно откорректировать установленные мастером параметры печати, вызвав диалоговое окно Параметры страницы, работа с которым рассматривалась в главе 15, Подготовка простых отчетов.
Использование мастера диаграмм Когда речь заходит об использовании какого-либо мастера Microsoft Access, то для нас уже привычно, что, помимо разработки структуры будущего .объекта базы данных, мастер уделяет немалое внимание и его внешнему облику, в частности информативности и стилевому оформлению (например, формы или отчета). В полной мере все вышесказанное справедливо по отношению к мастеру диаграмм, который позволяет наглядно представить имеющиеся данные с помощью графиков или диаграмм. Диаграммы бывают разные, и мастер подскажет вам, какой результат можно ожидать при выборе той или иной разновидности диаграмм. Помимо классических графиков и линейчатых диаграмм, отображающих изменения каких-либо параметров во времени, мастер позволяет построить различные виды гистограмм, диаграммы с областями, секторные и кольцевые диаграммы, а также применяемые в научных исследованиях точечные и пузырьковые диаграммы. Все графики и диаграммы, которые могут быть включены в отчеты и формы, строятся в Microsoft Access 2003 с помощью отдельной программы, Microsoft Graph. Запуск ее выполняется только из другого приложения Microsoft Office, такого, например, как Access 2003, Word 2003 или Excel 2003. Что касается ограничений, неизменных для каждого мастера, то, во-первых, мастер диаграмм готов работать с полями только одной таблицы или запроса, а вовторых, максимальное число полей, которое можно задействовать в диаграмме, не должно превышать цифру шесть.
350
Часть V. Вывод данных на печать
В качестве простого примера построим график динамики продаж товаров за 2001 год (поквартально) для трех фирм-производителей (скажем, ГЕДЕОН-РИХТЕР, ЕЕРЛИН-ХЕМИ И ХИНОИН).
Построение исходного запроса для диаграммы Мастер диаграмм работает только с одной таблицей или запросом, поэтому следует четко представлять себе, данные какого рода вы хотите отобразить в диаграмме, и — если это необходимо — построить соответствующий запрос. В рамках нашего примера именно так и следует поступить. Как можно будет убедиться, мастер самостоятельно справляется с группировкой данных, поэтому в исходном запросе операции группировки не применяются. Бланк запроса имеет вид, аналогичный показанному на рис. 17.8, и включает такие поля, как ДатаЗаказа (таблица Заказы), Производитель (таблица Товары) и вычисляемое поле СуммаЗаказа с уже знакомой формулой: СуммаЗаказа: (СодержаниеЗаказов!ЦенаТовара*СодержаниеЗакаэов!Количество).
шящ. КодЗокаэа ДатаЗак*м КодПокугателя ИияЛолучэгеля
.
—ч t oa
<| 1
КодЗака» КодТовара Ден а Товара Количество
Jy
: Поле: ДатэЗакэза Имятаблшы: Заказы Сортировка! по возрастами ывод на экран: И Условие отбора: млн:
озганв-
Щ ooV^" '• , КВДТовара * j "^ -
НаиненованиеТоеара •*> Единицам зчерения Производитель J£J "
ffJ532 Производитель Товары
Cyм'1aЭaкa^a:
-]
Щ~;
;
([Содер*акиеЭака50в]![ЦенаТоеа
а
0
, ГЕДЕОН РИХТЕР" "БЕРЛИН-ХЕМИ" '"7ФМОИН"
if* Умг([ДатаЗакам])
-
> —
а
2001
.'1 ]
—
-
,Г
Рис. 17.8. Бланк исходного запроса Базовый для графика
В результирующий набор будут включены только записи о заказанных товарах фирм ГЕДЕОН-РИХТЕР, БЕРЛИН-ХЕМИ и ХИНОИН за 2001 год (для условия отбора записей по датам использована функция Уеаг([ДатаЗакаэа])). Результаты выполнения запроса Запрос_БазовыйДляГрафика показаны на рис. 17.9. Jig* Запрос_ БазовыйДпяГрафлка; ЗалрОЕ «а выбери? Дата заказа ГЕДЕОН РИХТЕР 12-ЯНВ-2001 ГЕДЕОН РИХТЕР 24-фвв-2001 ГЕДЕОН РИХТЕР 20-мар-2001 ХИНОИН ЗО-апр-2001 ГЕДЕОН РИХТЕР ЗО-апр-ЖП ГЕДЕОН РИХТЕР 05-иай-2001 ГЕДЕОН РИХТЕР 05-май-2Ш1 ХИНОИН 22-май-21Х11 ХИНОИН 16-июн-2001 6ЕРЛИН-ХЕМИ 1Б-июи-2001 ГЕДЕОН РИХТЕР
| СуммаЗакаэа 2Э,Э4р 17,6Вр 8,63р
8.Юр 38.78р 24,59р 38,78р 12.20р 26.40р 10.38р 7.07р
Рис. 17.9. На основе данных результирующего набора мастер будет строить график
Глава 17. Создание более сложных отчетов с помощью мастеров
351
Создание диаграммы с помощью мастера Итак, чтобы построить диаграмму (в нашем примере — график) с помощью мастера, последовательность действий может быть такой. [gl 1. В окне базы данных щелкните на кнопке Отчеты панели Обьекты. ПЦ 2. Щелкните на кнопке Создать панели инструментов окна базы данных. 3. Выбор источника данных. Щелкните на пункте Мастер диаграмм открывшегося диалогового окна Новый отчет, а затем из раскрывающегося списка в нижней части окна выберите имя таблицы (или запроса), по данным которой' будет создана диаграмма. Щелкните на кнопке ОК. (В нашем примере все необходимые сведения для диаграммы будут получены с помощью запроса Запрос_БазовыйДляГрафика, поэтому в качестве источника данных следует выбрать этот запрос.) На экране появится первое окно мастера создания диаграмм (рис. 17.10), где в списке Доступные поля отображаются поля указанной таблицы или запроса.
Выберите поля с данными, которые необходимо атобоаэитъ Доступ*» поля:
„Поля диаграммы;
«J I _J
Истово
Рис. 17.10. Мастер предлагает выбрать поля для будущей диаграммы
4. Выбор полей диаграммы. Включите в диаграмму нужные поля из списка Доступные поля, дважды щелкнув на них. Выделенное поле переместится в список Поля диаграммы. Выбрав все необходимые поля, щелкните на кнопке Далее. (В нашем примере следует включить в диаграмму все три поля — ДатаЗаказа (поле дат), Производитель (поле-классификатор) и СуммаЗаказа (поле значений), поэтому щелкните на кнопке со значком "»".) 5. Выбор типа диаграммы. Следующее окно мастера (рис. 17.11) представит на ваш выбор сразу 20 образцов диаграмм. При выборе одного из них справа появляется текст подсказки. Внимательно ознакомившись с их описанием, щелкните на нужном типе диаграммы, а затем — на кнопке Далее. 6. Выбор типа отображения данных. Новое окно мастера (рис. 17.12) позволяет выбрать тип отображения данных. Мастер автоматически пытается построить перекрестный запрос, учитывая указанные в исходном запросе типы данных. В нашем примере можно, согласиться с предложенным мастером вариантом размещения (данные поля ДатаЗаказа будут отображены вдоль горизонтальной оси, а данные поля СуммаЗаказа — по вертикальной), однако изменить выбранный мастером временной интервал. По умолчанию это месяц, а нас
352
Часть V. Вывод данных на печать
интересуют суммарные показатели по кварталам. Чтобы изменить настройки диаграммы, дважды щелкните на кнопке ДатаЗаказа по месяцам и в открывшемся диалоговом окне Группировка (рис. 17.13) выберите из предложенного списка пункт по кварталам. Чтобы закончить работу с диалоговым омом Группировка, щелкните на кнопке ОК.
Правильный тип диаграммы гвзвсп наглядно представить эначвния выбранных полей." График изменение значения во времени. В отличие от только соотношение кеи ду величинами! не отражая их накопления,
< Цазад
Далее ~>
[отаве
Рис. 17.11. Для каждого типа диаграмм отображается краткая подсказка-описание Гизданиг диаграмм
.„:
!
1 Ш. -• •: ' ?
Перетащите кнопки палей в область образца. Если требуется илченпъ вид группирав|сннлчеь(ад1:паннй, дважды щвЛ|снитвна диаграпне числовое пола : или поло типа дагы. II
j |Сумм«.Сумма Заказа
Пргаивоцитепь
зяа
.. . Щ
Выберите тип отобракения данных на '• днафате.
, 1 Обраээч.
*
: '
ап'К нм'зг лек 2
- . ДатаЭаш»а 1
1 Ь '
fton« гш iiirb
: i „I '
l
,;„„^ "^^^^L_J
ш :
СумнаЭаказэ
. |
|д9т*3«аз»оо лвсяцам
Отмена
< tlajaji
1
Двпвв >
]
£ртаво
Рис. 17.12. Мастер правильно расположил отображаемые данные: время по горизонтальной оси, а суммарные числовые значения— по вертикальной Как видно из рис. 17.13, указать диапазон требуемых дат можно не в запросе, а непосредственно работая с мастером. Для этого установите в окне Группировка флажок Данные в интервале от и задайте в соответствующих полях граничные значения времени (вплоть до секунд). Для предварительного просмотра будущей диаграммы щелкните на кнопке Обргазец. Откроется окно Образец (рис. 17.14), где график будет показан схематически. Если увиденное соответствует вашему первоначальному замыслу, вернитесь в окно мастера, щелкнув на кнопке Закрыть, а затем щелкните на кнопке Далее.
Глава 17. Создание более сложных отчетов с помощью мастеров
353
Если выводы мастера оказались ошибочными (возможна, например, ситуация, когда по горизонтальной оси мастер предложит отобразить данные поля-классификатора, Производитель) и необходимо изменить расположение элементов диаграммы, перетащите кнопки полей, расположенные в правой части диалогового окна, к соответствующей оси на модели диаграммы в левой части окна.
400 но 200 100
-'-
Кв1 КВ2 КвЗ Кв4 'Ш 'И '01 TJ1
Г" Данные в tpfrepeane от:
Рис. 17.13. Выберите нужный интервал времени и (если это необходимо) диапазон дат
Рис. 17.14. Мастер предлагает оценить схему будущей диаграммы
7. В заключительном окне мастера (рис. 17.15) введите нужный заголовок для диаграммы, подтвердите необходимость отобразить условные обозначения ("легенду" диаграммы; в нашем примере она необходима, так как используется поле классификации), примите предложенную по умолчанию опцию Открытие отчета с диаграммой и щелкните на кнопке Готово.
флейте название диаграммы: JZ001 Квартальные продажи товаэсе| Показать ус поеные обозначения?
Дальнейиие действия после создания диаграммы:
** Огкрытив отчета с диаграмноЙ. *~ Й1мвнеиив структуры отчета или диат!амиы,
Г~ 8нвестиспрлвку по работе с диаграммой.
ЕОТОВО
Рис. 17.15. Последние указания мастеру перед созданием диаграммы Мастер создает новый график и отображает его с указанным заголовком (2001 Квартальные продажи товаров) в режиме предварительного просмотра (рис. 17.16). 8. Чтобы сохранить отчет с новым OLE-объектом (диаграммой), выберите команду Файл ^Сохранить как, укажите в появившемся диалогом окне Сохранение имя отчета и щелкните на кнопке ОК. Чтобы увеличить размеры только что созданного графика, щелкните на кнопке Вид и в режиме конструктора поместите указатель на правый нижний маркер изменения размера. Перетащите указатель, увеличивая область диаграммы до подходящих размеров (рис. 17.17). Обратите внимание, что точность интерпретации данных также возросла — вертикальная шкала выглядит теперь иначе.
354
Часть V. Вывод данных на печать
Отчет 1:отчет
2001 Ква хтальные п родажи товаров 600 400 I 200 0 J-Jt^S*i
— *— БЕРЛИНХЕМИ
•
РИХГБ"
г-Ь—i
Kel Кв2 КвЗ Ке4 '01 D1 •01 '01
i
хитин
Стража»: ill I j:
Рис. 17.16. Созданный мастером график отображается в режиме предварительного просмотра К 2001 Квартальные нродаши товаров: ОТЧЕТ •f Верхний колокттуп * Область данных
2001 Квартальные продг 1ЖИ товаров / V
/
7
fc"*_
/
\ т
-•- БЕРЛИНХЕМИ -- ГЕДЕОН РИХТЕР ХИНОИН
Кв1 '01 Кв2 '01 КвЗ '01 Кв4 '01
J Рис. 17.17. В режиме конструктора размер диаграммы можно изменить Технические подробности
Дальнейша настройка диаграммы выполняется уже средствами самой программы Microsoft Graph. Чтобы отредактировать, например, только что построенный график, откройте отчет 2001 Квартальные продажи товаров в режиме конструктора и дважды щелкните на графике, чтобы активизировать приложение MSGraph. Вокруг графика появится граница с диагональной штриховкой и откроется окно таблицы данных, отображающее значения перекрестного запроса, который был создан мастером (рис. 17.18). Кроме того, изменятся меню Access и панели инструментов. Microsoft Graph — это мощная графическая программа, позволяющая наилучшим образом визуализировать данные таблиц Access. Подробное рассмотрение возможностей MSGraph выходит за рамки этой книги, поэтому для вызова справки по работе с данной программой нажмите клавишу или выберите команду главного меню Справка*? Справка: Microsoft Graph. Отметим только, что с помощью инструментов MSGraph можно, например, сделать диаграмму объемной, ввести необходимый пояснительный текст, изменить цвета графических элементов, добавить координатную сетку, изменить тип диаграммы, а также добавить или изменить базовые данные.
Глава 17. Создание более сложных отчетов с помощью мастеров
355
И последнее замечание, касающееся работы с диаграммами в режиме конструктора. Как правило, открыв отчет для редактирования, вы видите в окне конструктора не реальные данные, а демонстрационный пример диаграммы (имеющий, однако, заданный вами заголовок). Не объясняя причин внедрения подобной практики, справка Microsoft Access в этом случае просто советует переключиться в режим предварительного просмотра отчета либо закрыть отчет, а затем снова вернуться в режим конструктора.
£акч
Правка
&и
Бстен«1
Фодаг
Саране
Данные
Д»аграмиа
2001 Квартальные продажи товаров
Рис. 17.18. Приложение Microsoft Graph можно активизировать, дважды щелкнув на диаграмме в окне конструктора отчетов
Резюме Основное внимание в этой главе было уделено вопросам использования двух мастеров Microsoft Access: мастера создания почтовых наклеек и мастера построения диаграмм. Мастер создания наклеек позволяет значительно ускорить создание отчетов, отформатированных для печати наклеек. В ходе диалога с мастером вы имеете возможность указать таблицу или запрос, на основании которых будет построен отчет; выбрать поля, значения которых должны содержаться в наклейках, указать настройки для шрифта, а также порядок сортировки наклеек при выводе их на печать. Незаменимым помощником при построении диаграмм в программе Access 2003 (например, для включения их в отчеты или формы) является другой мастер, который в своей работе обращается к средствам приложения Microsoft Graph. На выбор мастер предлагает около двух десятков различных типов диаграмм. Поскольку диаграмма является внедренным OLE-объектом, в дальнейшем для редактирования самой диаграммы необходимо дважды щелкнуть на ней в режиме конструктора отчетов, чтобы вызвать приложение Microsoft Graph.
356
Часть V. Вывод данных на печать
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Мастер создания почтовых наклеек позволяет следующее: а) включить в отчет, отформатированный для печати наклеек, поля из нескольких таблиц; б) выбрать в качестве источника данных для такого отчета таблицу или запрос; в) изменить размеры полей отступа для отчета; г) выполнить операции группировки для наклеек. 2. С помощью мастера создания наклеек можно выполнить следующие действия: а) указать порядок сортировки записей по одному или нескольким полям; б) включить в такой отчет графические элементы, например рамки или линии; в) выбрать размер шрифта; г) указать условие отбора записей для отчета; д) создать новую наклейку, указав собственные размеры. 3. Чтобы создать отчет с наклейками под руководством мастера, необходимо следующее: а) открыть вкладку Отчеты окна базы данных и выбрать команду Файл^Создать главного меню; б) дважды щелкнуть на ярлыке Создание отчета с помощью мастера вкладки Отчеты окна базы данных; в) выбрать команду Вставка^ Отчет главного меню, после чего выбрать пункт Почтовые наклейки в открывшемся диалоговом окне Новый отчет; г) щелкнуть на кнопке Создать окна базы данных и выбрать пункт Почтовые наклейки в открывшемся диалоговом окне Новый отчет. 4. Мастер диаграмм программы Microsoft Access позволяет выполнить такие действия: а) включить в отчет график или диаграмму; б) выбрать в качестве источника данных для диаграммы поля из нескольких таблиц; в) выбрать временной интервал для операции группирования; г) включить в диаграмму любое число полей. 5. Чтобы изменить настройки шрифта для заголовка диаграммы, можно поступить следующим образом: а) открыть отчет с диаграммой в режиме конструктора и воспользоваться кнопками Шрифт и Размер панели инструментов Формат (форма/отчет); б) открыть отчет с диаграммой в режиме конструктора, дважды щелкнуть на диаграмме, чтобы активизировать приложение Microsoft G raph, выделить
Глава 17. Создание более сложных отчетов с помощью мастеров
357
заголовок диаграммы и воспользоваться кнопками панели инструментов Форматирование; в) открыть отчет с диаграммой в режиме конструктора, дважды щелкнуть на диаграмме, чтобы активизировать приложение Microsoft Graph, выделить заголовок диаграммы и выбрать команду главного меню Формат^Шрифт.
358
Часть V. Вывод данных на печать
Более сложные вопросы использования Access В этой части... Глава 18. Знакомство с макросами Глава 19. Работа с внешними данными Глава 20. Access и Internet В трех главах заключительной части книги обсуждаются некоторые более сложные, но необходимые в работе аспекты использования Access. Глава 18 расскажет вам о том, что представляют собой и как работают макросы — объекты базы данных, готовые взять на себя автоматизацию простых повторяющихся действий в приложении Access. Программу Access смело можно назвать в высшей степени дружественной по отношению к другим приложениям, "имеющим дело" со структурированными данными. Вопросам экспорта данных Access в другие программы и СУБД, а также способам получения информации из внешних источников посвяшена глава 19, Кроме того, глава 20 дает общее представление о тех возможностях программы Access, которые позволяют сделать данные из таблиц базы данных, результаты выполнения запросов, а также формы и отчету доступными через Internet и intranet. Объектами внимания этой главы будут статические HTML-странлцы, гиперссылки и страницы доступа к данным.
Глава 18
Знакомство с макросами В этой главе... ф Макросы: обшие сведения 4 Создание макросов * Операции с макросами + Запуск макроса Ф Управление выполнением макросов ф Отладка макросов Ф Другие способы запуска макросов Ф
Резюме
Ф Тесты
Макросы: общие сведения Для регулярного выполнения одних и тех же задач в Microsoft Access предусмотрены такие средства автоматизации, как макросы. Значительно уступая по своим возможностям "официальному" языку программирования пакета Microsoft Office — Visual Basic for Applications (VBA), — макросы, тем не менее, позволяют не обращаться к программированию при решении несложных задач и разработке приложений начального уровня.
Что такое макрос Макрос — это объект Access, который представляет собой набор из нескольких макрокоманд (или включает одну макрокоманду). При запуске макрос автоматически выполняет последовательность определенных элементарных действий, таких, например, как открытие таблицы, печать отчета или проверка правильности данных при вводе в форму. Каждая макрокоманда имеет свое имя и может включать один и более аргументов, задаваемых пользователем. Например, используя макрокоманду ПрименитьФильтр, следует указать такие аргументы, как Имя фильтра (имя фильтра или запроса, используемого для фильтрации записей источника данных) и Условие отбора (правильно составленная конструкция WHERE языка SQL, определяющая отбор записей). Макрокоманды, которые включены в макрос, можно выполнить либо последовательно, либо в соответствии с некоторым заданным условием. Различают отдельные макросы и группу макросов. Такая группа взаимосвязанных макросов, которые сохраняются под общим именем, позволяет выполнять сразу несколько задач. Так, например, макрос Веод товаров, который включает несколько макрокоманд, входит в группу макросов Поставщики (рис. 18.1). Макрос связан с кнопкой Ввод товаров формы Поставщики. После щелчка на этой кнопке выполняется последовательность действий, обеспечивающих корректный ввод данных в форму Товары. Всего макрокоманд, которые можно включить в макрос, — более пяти десятков. Ознакомиться с наиболее часто используемыми из них мож\но в табл. 18.1,
(Подробное описание каждой из макрокоманд можно найти, обратившись к справочной системе Access. Чтобы лучше ориентироваться при поиске информации по конкретным макрокомандам, в скобках дается их название в английской транскрипции.) ^—
.—
.„„„„„„п.,.,.-
[ f Поставщики ; макрос
1
' Ма*рокоианда
Имя маккка
Ввод товаров
|.ичш.]»щ,..|»|л.
ВыводНаЭкран Закрыть ОткрьстьверМг! ЗадатьЗначеннв КЭлеиемтуУправпения
ill 1... - j ц ||.JUMII4J«I1»J,I»I—I— • • . — ......ни линиш.-.ч.цц...»-^— , '••'ДРПЕдП
'
1
'
gg -Пятечанив--:;"-.
Свянн с кнопкой "Евод товаров" формы "Поставщики", Замораживание изображения крапа пр^ выпожении пакроса. Закрытие форны "Слисок товаров". pj Открытие фориы "Товары", Задание кода для текущего поставщика в форме "Поставщики". Переход к элементу управления "КодПоставщисл". . . ... ..
= _1_1-1 1 ill'
1
;
ш
Рис. 18.1. Макрос Ввод товаров включает последовательность макрокоманд
Таблица 18.1. Макрокоманды Access Функциональная группа Действие
Макрокоманда
Работа с объектами базы данных
ОткрытьЗапрос (OpenQuery)
Открытие и закрытие объектов
ОткрытьОтчет (OpenReport) ОткрытьТаблицу (ОрепТаЫе) ОткрытьФорму (OpenForm) Закрыть (Close) Выделение объекта Другие операции с объектами
ВыделитьОбъект (SelectObject) КопироватьОбъект (CopyObject) Переименовать (Rename) Сохранить (Save) УдалитьОбъект (DeleteObject)
Операции импорта и экспорта
Печать объекта
Печать (Printout)
Перенос и преобразование формата данных
ПреобразоватьБазуД энных (TransferDatabase) ПреобразоватьЭлектроннуюТаблицу (TransferSpreadsheet) ПреобразоватьТекст(Тгап81егТех1)
Операции с активным (выделенным) окном
Изменение размеров окна
Развернуть (Maximize) Свернуть (Minimize) Восстановить (Restore)
Работа с меню и панелями инструментов
Другие
ДобавитьМеню (AddMenu) Определение состояния команд пользовательской или глобальной строки меню
ЗадатьКома иду Меню (SetMenultem)
Отображение или сокрытие панели инструментов
Панель инструментов (ShowToolbar)
Подача звукового сигнала
Сигнал (Веер)
Генерация нажатий клавиш
КомандыКлавиатуры (SendKeys)
Глава 18. Знакомство с макросами
361
Окончание табл. }8. / Функциональная группа
Действие
Макрокоманда
Вывод на экран информационных сообщений
Сообщение (MsgBox) ПесочныеЧасы (Hourglass)
Управление процессами
Выполнение команды
ВыполнитьКоманду (RunCommand)
Запуск процедур и приложений
3anycK3anpocaSQL (RunSQL) ЗапускМакроса (RunMacro) ЗапускПри ложен ия (RunApp) ОткрытьЗалрос (OpenQuery)
Прерывание выполняемых процессов
ОстановитьВсеМакросы (StopAII Macros) ОстановитьМакрос (StopMacro)
Работа с элементами управления и данными
Выход из программы Microsoft Access
Выход (Quit)
Задание значения элемента управления, поля или свойства
ЗадатьЗначение (SetValue)
Обновление данных в элементе управления
Обновление (Requery)
Команды навигации
КЭлементуУправления (GoToControl) НаЗапись (GoToRecord) НайтиЗапись (Find Record) НаСтраницу (GoToPage) СледующаяЗапись (FindNext)
Отображение данных
ПоказатьВсеЗалиси (ShowAII Records) ПрименитьФильтр (ApplyFilter)
Макросы, как и любые другие объекты базы данных, представлены в окне базы данных собственной вкладкой — Макросы.
Когда используются макросы Те, кто профессионально работает с Access, несомненно, предпочитают обращаться к модулям и процедурам VBA, однако и макросы имеют ряд преимуществ. В первую очередь, это простота использования, что позволяет значительно ускорить разработку приложений в случаях, когда не требуются дополнительные возможности, доступные средствами VBA. Второй важный момент — это способность макросов эффективно решать задачи по разработке функционального интерфейса. Макросы позволяют создать, расширить и дополнительно настроить панели инструментов и меню, а также "закрепить" за кнопками формы определенные функции. Очень часто макросы используются для вывода на экран интуитивно понятных кнопочных форм, с помощью которых пользователи могут быстро сориентироваться и выполнять привычные действия. Выбор между VBA и макросами определяется требованиями конкретного создаваемого приложения. Однако целесообразно обращаться к макросам в тех ситуациях, когда необходимо: • реализовать контроль вводимых данных при заполнении форм; • открыть одновременно несколько форм и/или отчетов;
362
Часть VI. Более сложные вопросы использования Access
• передать данные между таблицами; • определить общие назначенные клавиши; • выполнить некоторые действия при открытии БД (например, реализовать выполнение макрокоманды или набора макрокоманд, обеспечивающих открытие конкретной формы). Есть еще один важный момент: для тех, кто впервые знакомится со средствами программирования в Access, такая возможность, как сохранение макроса в виде процедуры VBA, может стать хорошим "подспорьем" в освоении самого языка VBA. А теперь перечислим основные недостатки и ограничения макросов в сравнении с процедурами VBA. • Возможности процедур VBA значительно шире; в частности, при разработке многопользовательских и клиент-серверных приложений целесообразнее работать с языком VBA. • Процедуры VBA выполняются быстрее и имеют более совершенные средства отладки. • Язык VBA позволяет работать с переменными, создавать пользовательские функции помимо предлагаемых встроенных, а также передавать параметры. • Макросам не под силу взять на себя функции обработчика ошибок. Сделать это можно средствами VBA, перехватывая ошибку и предпринимая некоторые действия по собственному сценарию: вывод сообщения об ошибке или выполнение заданной операции. • Инструкции языка VBA позволяют оперировать не только наборами записей, как это делают макросы, но и выполнять действия над отдельной записью. • Макросы Access не позволяют создавать новые объекты в процессе работы с базой данных.
Создание макросов Для создания макросов, в отличие от других ранее рассматриваемых объектов, в программе Access не предусмотрено каких-либо мастеров. Все операции по выбору макрокоманд и их аргументов при создании макроса выполняются в режиме конструктора макросов. В данном разделе мы перейдем от теории к практике и подробно ознакомимся с инструментальными средствами, доступными в этом режиме.
Окно конструктора макросов Итак, макросы, как полноправные объекты Access, создаются в собственном окне конструктора макросов, подобном изображенному на рис. 18.2. Чтобы открыть окно конструктора макросов для текущей базы данных, выполните следующее. 1. Нажмите клавишу , если окно базы данных еще не активно. Ц 2, Щелкните на кнопке Макросы окна базы данных, а затем — на кнопке Создать панели инструментов этого окна. На экране откроется пустое окно конструктора макросов (см. рис. 18.2), включающее две панели: макрокоманд и аргументов. Начать работу с конструктором макросов в приложении Access 2003 можно также, щелкнув на кнопке Новый объект: Макрос панели инструментов или выбрав команду Вставка ^Макрос главного меню.
Глава 18, Знакомство с макросами
363
IE Microsoft Access <вакп
-[Травка
ЁИд
Встдека
2впусх
Сйрвис
ВевестиВФормате ВьводНаЭкран ВыдепитьОбьегт ВыпалнитьКоиандц Выход ДобавнтьМеню ЗадатьЗначенив
F6-nepeKn'O4eieieoitoH,'Fl -справке.
Рис. 18.2. Окно конструктора макросов; доступны панели макрокоманд и аргументов
Панель макрокоманд [ТЩЗ
Панель макрокоманд, расположенная в верхней части окна макросов, включает по умолчанию два столбца: Макрокоманда и Примечание. Другие два столбца этой панели, Имя макроса и Условие (рис. 18.3), можно вывести на экран, выбрав команду Вид^Имена макросов (и/или команду Вид^Условия) или щелкнув на соответствующих кнопках панели инструментов Конструктор макросов.
Восстановить ВьюестнВФориате Вывод наЭкран ВыделитьОбъект ВыюлнитьКонанду
Рис. 18.3. На панели макрокоманд окна макросов доступны все четыре столбца
Столбец Имя макроса позволяет создавать группу макросов, каждый из которых имеет свое собственное имя и свои макрокоманды. В столбце Условие можно указать условие выполнения или пропуска макрокоманд, включенных в макрос. Как и следует из названия, в столбце Примечание напротив любой из введенных макрокоманд можно (и, как правило, желательно) ввести свои комментарии. Обычно это пояснение тех действий, которые должна выполнять макрокоманда. Хорошим тоном считается также оставлять одну-две строки в начале макроса пустыми, вводя лишь в столбец Примечание этих строк имя и назначение данного макроса.
354
Часть VI. Более сложные вопросы использования Access
Чтобы при открытии окна конструктора макросов в нем отображались сразу все четыре столбца, выберите команду Сервис&Параметры, а затем в диалоговом окне Параметры откройте вкладку Вид и в группе Конструктор макросов установите флажки для опций столбец имен и столбец условий (рис. 18.4).
Другие j" Междугородные Проверь ошибок •] Орфографий' [ Таблицы и jancm.ii Вид j евшие | Повеяв и поиск f Клавиатура [' Режим Тавпшы j Формы и отчеты : Отображать-. 17 строку состояния
"
~Т* абпвстьмдачгри запуске
Г" скрыть» объекты . Г" систежые^йъекты
-Г? новые ярлыки объектов
Р? окне в панели задач
:
Конструктов Некрасов. Р" столбеьптян
*"*
столбец'условий
Откроить оЁьекгы в окне базы дани -"" однин щелчкон
двойным щелчгм"
Рис. 18.4. Настройте вид окна конструктора макросов, воспользовавшись опциями диалогового окна Параметры
Панель аргументов макрокоманд Для выполнения многих макрокоманд необходимо указывать некоторые дополнительные сведения или, другими словами, указывать аргументы макрокоманды. Так, например, на рис. 18.5 выделена макрокоманда ОткрытьОтчет из макроса Печать, предназначенного для вывода определенного отчета на экран или (как в данном конкретном случае) сразу на печать. При выборе ячейки аргумента справа на панели Аргументы макрокома нды отображается пояснительный текст о допустимых значениях для данного аргумента. Ж Наклейки для Клинтон : tiiiKnot ;
Печать _
[ПечатьНакпеек]"! -[ПечатьНэклеек] [Пвча тьНа кле вк]-2
Закрыть
ОткрытьОтчет ; Со общение КЭпепентуУпраеления : ОстановитьМакрос ОткрытьОтчет •Закрыть . ;
.Закрытие форьы"Наклейки для клиентов"
1Свя)ан с кнопкой "Печать". '. Печать всех записей. Если не выбрана страна^ выдается сообщении. ...переход в поле со списком ВыборСтраны... _-_._ ...и остановка выполнения макроса. J Печать записей для копир-тной страны. ,, Закрытие форры "Нжпейки для клиентов', '» Связан с кнопкой "Отмена". 'Закрытие формы Наклейки для клиентов".
Имя отчета Режим Имя ф«гетра Уелявнвстбора Режим окна
3
ж
Наклейки для кпиентав -Печать :траиа]-[Формы ] Отгрытне отчета е ре*ппе мисфустарзилитросмотраиЯ!* непосредствн-ная печать отчета, Для слрмки на^имте кяави!^1
Рис. 18.5. Для выполнения макрокоманды ОткрытьОтчет следует ввести требуемые сведения для пяти аргументов
Глава 18. Знакомство с макросами
365
Нажатие клавиши позволяет переключаться между панелями макрокоманд и аргументов. Для выбранного в качестве примера макроса ОткрытьОтчет на панели аргументов необходимо указать следующие пять аргументов. • Имя отчета. Из раскрывающегося списка этой ячейки следует выбрать имя отчета, который необходимо открыть. • Режим. Допустимые значения: Печать (вывод непосредственно на печать), Конструктор (с макетом отчета можно будет ознакомиться в режиме конструктора) или Просмотр (отчет будет открыт в режиме предварительного просмотра). • Имя фильтра. Имя запроса (или фильтра, сохраненного в виде запроса), который используется для отбора записей отчета. • Условие отбора. В нашем случае это условие [Страна]=[Рогтз]![Наклейки для клиентов]![ВыборСтраны], где Страна — имя поля в исходной таблице, применительно к значениям которого будут отобраны записи для отчета, а аргумент [Forms]([Наклейки для клиентов]![ВыборСтраны] указывает на имя элемента управления (ВыборСтраны) в форме Наклейки для клиентов, который содержит требуемое значение. • Режим окна. Допустимые значения: Обычное, Невидимое, Значок или Окно диалога.
Ввод макрокоманд и аргументов Создавая макрос, выбрать макрокоманды и указать их аргументы в соответствующих ячейках окна конструктора макросов можно несколькими способами. • Ввести имя макрокоманды с клавиатуры в столбец Макрокоманды. • Выбрать имя макрокоманды (в столбце Макрокоманда) или допустимые опции аргументов макрокоманды (панель Аргумент макрокоманды) из раскрывающихся списков соответствующих ячеек панелей окна конструктора. Так, например, чтобы создать макрос Сообщение, с помощью которого на экране должно появиться необходимое сообщение, выполните следующее. 1. Открыв вкладку Макросы окна базы данных, щелкните на кнопке Создать панели инструментов этого окна, чтобы открыть окно конструктора макросов. 2. Щелкните на пустой ячейке столбца Макрокоманда. гл 3. Щелкните на кнопке раскрывающегося списка, которая появилась в правой части ячейки, и выберите из списка искомую макрокоманду Сообщение. (Вполне уместно также указать справа от макрокоманды, в столбце Примечание, ее назначение.) • Воспользоваться методом drag-and-drop ("перетащить и опустить") из окна базы данных в столбец Макрокоманда окна конструктора. Применим подобный подход к созданию таких макрокоманд, как ОткрытьТаблицу (перетаскивается такой объект, как таблица), ОткрытьОтчет (отчет), ОткрытьЗапрос или ЗапускМакроса. Воспользоваться таким приемом можно, если необходимо, скажем, создать макрос, открывающий форму Товары. Последовательность действий будет при этом следующей. gj
366
1. Откройте новое окно конструктора макросов, щелкнув на кнопке Создать панели инструментов окна базы данных (вкладка Макросы). 2. Выберите команду Окно<=>Слева направо, чтобы разместить окно базы данных справа от окна конструктора макросов.
Часть VI. Более сложные вопросы использования Access
3. Щелкните на кнопке Формы окна базы данных, чтобы отобразить список всех доступных форм. 4. Щелкните на форме Товары и, не отпуская кнопку мыши, перетащите форму в пустую ячейку столбца Макрокоманда окна конструктора макросов так, как показано на рис. 18.6. EJ ЧкгOt0fl Ас«« £айл ' фанка
Вставка
^правка
"Сервис
" J ^ ^ "Д Ж Макрои! :макрос Макрокоманда
Пиичечание
g
am mat •JQTKpbiTb (^.КОНСТРУКТОР
Объекты Таблицы Запрею,!
Дрп«еиты макроадмамды
JCOJMTU
)<
-^
.". lf,Yj[Bf
fjj
Создание фориыв режимеконструктосэ
йУ
Создание форлы с помощью мастера
|
Ш Заказы Э Заказы покупателе? И Покупатели
sJ
Отчеты
*Ч Страницы
3
пф Заказы
J
пфСодерж^ниеЗака .ов
3
Товары_Автофсрпа Товары_Мастер
Группы
Рис. 18.6. Использование метода drag-and-drop для выбора макрокоманды Открытьформу: перетащите нужную форму (Товары) из окна базы данных в ячейку столбца Макрокоманда Программа Access при этом автоматически вставит в данную ячейку имя формы и принятые по умолчанию аргументы макроса: Имя формы (Товары), Режим (Форма) и Режим окна (Обычное), как показано на рис. 18.7. 1 9 Макрос 1 : накрос
jtafflHMT —
МакроадмаИда
1 ^J
Аргументы пдкрокоманаы л
Имя фермы Ре*«им МмяфЧиътра . Ус/адие отЬчза Режим данных Ретжокна
^ : riO|x}
3 zJ
Товарь! Форма
Обычное
Рис. 18.7. После перетаскиаания формы Товары в окно конструктора а столбце макрокоманд появляется макрокоманда Открытьформу, значения аргументов для которой заполняются автоматически Как уже отмечалось, макрос может включать любое (разумное) число макрокоманд (как, например, в макросе Ввод товаров, показанном на рис. 18.1). Если макрос включает несколько макрокоманд, сами макрокоманды могут быть разделены промежуточными пустыми строками. Делается это для лучшей читабельности макроса и ввода подробных примечаний, занимающих несколько строк.
Глава 18. Знакомство с макросами
367
Определение аргументов макрокоманд По умолчанию для создаваемой выше в примере макрокоманды ОткрытьФорму установлены такие аргументы, как Имя формы, Режим и Режим окна. Установить другие значения для этих аргументов и определить остальные (это аргументы Имя фильтра, Условие отбора и Режим данных) можно на панели аргументов. Пусть, например, вам необходимо открыть форму Товары как монопольное всплывающее окно, заблокировав ввод новых данных в исходную таблицу. На экран, кроме того, должны быть выведены только записи о препаратах компании ГЕДЕОН РИХТЕР. Чтобы установить необходимые для реализации этой задачи аргументы, выполните следующее. 1. В окне конструктора создаваемого макроса (с уже введенной макрокомандой ОткрытьФорму) щелкните на ячейке Условие отбора панели аргументов. Введите в ячейку условие [Товары] ! [производитель]="ГЕДЕОН РИХТЕР" или воспользуйтесь для создания этого условия помощью построителя выражений (кнопка с троеточием справа от ячейки). Щелкните на ячейке Режим данных и выберите из раскрывающегося списка значение Только чтение. Щелкните на ячейке Режим окна и выберите из раскрывающегося списка значение Окно диалога. Теперь все необходимые аргументы для макроса указаны (рис. 18.8).
з.
a
Аргументы накрокоииды Имяфорны Режим ИмяФнгьтра Условие отборе Режим данных Режтокнэ
Товары
Рис. 18.8. Для макрокоманды ОткрытьФорму определены все необходимые аргументы
5. Чтобы сохранить созданный макрос, выберите команду Файл ^Сохранить и укажите в диалоговом окне Сохранение подходящее имя для нового макроса (по умолчанию предлагается имя Макрос!). Есть такие макрокоманды (например, Сигнал или ПоказатьВсеЗаписи), которые не требуют указания аргументов. Однако для большинства команд это условие является обязательным, хотя многие из параметров могут устанавливаться по умолчанию.
Операции с макросами Любые операции по модифицированию существующих макросов выполняются в окне конструктора макросов. Поэтому первое, что необходимо сделать, настроившись внести в макрос изменения, — это открыть ранее созданный макрос в режиме конструктора. Выполните следующие шаги. 1. | 2. 3. I 4.
368
Нажмите клавишу , если окно базы данных не активизировано. Щелкните на кнопке Макросы окна базы. Выделите имя нужного макроса в окне базы данных. Щелкните на кнопке Конструктор панели инструментов этого окна.
Часть VI. Более сложные вопросы использования Access
Изменение макроса Ранее сохраненный макрос можно отредактировать в режиме конструктора макросов, добавляя в него новые макрокоманды, изменяя порядок расположения макрокоманд или сами (уже используемые) макрокоманды.
Добавление макрокоманды в макрос Если требуется добавить в макрос новую макрокоманду и эта макрокоманда должна размещаться самой последней, то ввести ее можно в первую пустую ячейку столбца Макрокоманда. Однако если новую макрокоманду следует вставить между уже введенными макрокомандами, порядок действий должен быть следующим. 1. Откройте макрос в режиме конструктора и выделите макрокоманду, перед которой необходимо разместить новую макрокоманду, щелкнув на области выделения строки. Щ 2. Выберите в главном меню команду Вставка^Добавить строки или щелкните на выделенной строке правой кнопкой мыши и выберите из открывшегося контекстного меню команду Добавить строки. Над выделенной строкой появится пустая строка. (Для этих целей можно также воспользоваться кнопкой Добавить строки панели инструментов Конструктор макросов.) 3. В ячейку столбца Макрокоманда пустой строки введите имя новой макрокоманды (или выберите его из раскрывающегося списка). 4. Укажите требуемые для новой макрокоманды аргументы на панели аргументов. 5. Введите (если это необходимо) комментарий для новой макрокоманды в соответствующую ячейку столбца Примечание. О 6. Сохраните внесенные изменения, щелкнув на кнопке Сохранить панели инструментов. гз
Изменение порядка расположения макрокоманд в макросе Чтобы реорганизовать макрокоманды, составляющие макрос, выполните следующее. Ш 1. Открыв макрос в режиме конструктора макросов, выделите нужную макрокоманду, щелкнув на области выделения строки ( Н ). 2. Снова щелкните на выделенной строке и перетащите ее в новую позицию (новое положение строки отображается с помощью горизонтальной линии). I 3. Сохраните внесенные изменения сразу, щелкнув на кнопке Сохранить панели инструментов, либо подтвердите свои действия при закрытии окна конструктора макросов, щелкнув на кнопке Да открывшегося диалогового окна Access.
Удаление макрокоманд Чтобы удалить макрокоманду из макроса, поступите следующим образом. S] 1. Выделите макрокоманду, которую хотите удалить, щелкнув на области выделения строки.
В
Чтобы выделить несколько смежных макрокоманд, подлежащих удалению, щелкните на области выделения одной из крайних строк и. удерживая кнопку мыши, протащите указатель по соседним строкам.
I 2. Нажмите клавишу на клавиатуре или выберите команду главного меню Правка ^Удалить строки.
Глава 18. Знакомство с макросами
369
в
Для удаления одной или нескольких смежных макрокоманд можно воспользоваться также контекстным меню. Щелкните правой кнопкой мыши на выделенной строке (или строках) и выберите команду Удалить строки из появившегося контекстного меню.
Копирование макрокоманд Копировать макрокоманды можно как для последующего ввода в текущий (открытый) макрос, так и для вставки в любой другой. Последовательность действий при копировании одной или нескольких макрокоманд будет такой. g
1. Выделите макрокоманду, которую хотите скопировать, шелкнув на области выделения строки. (Для выделения нескольких смежных макрокоманд щелкните на области выделения одной из крайних строк и, удерживая кнопку мыши, протащите указатель по соседним строкам.)
[Ц 2. Выберите команду Правка^Копировать (или воспользуйтесь кнопкой Копировать на панели инструментов). jg
3. (При копировании в другой макрос.) Перейдите в окно базы данных (например, воспользовавшись клавишей ) и откройте в режиме конструктора тот макрос, в который должны быть вставлены копируемые макрокоманды. I 4. Щелкните правой кнопкой мыши на той строке, в которую должна быть вставлена макрокоманда (даже если строка уже заполнена), а затем выберите из открывшегося контекстного меню команду Вставить. Программа Access вставит скопированную макрокоманду (или несколько макрокоманд). Будьте внимательны при вставке скопированных макрокоманд! "Медвежью" услугу при выполнении этой операции вам может оказать использование области выделения строки ( EH ). Напомним еще раз: указатель мыши при вставке следует помешать в любую ячейку той строки, где должна будет разместиться скопированная макрокоманда. Выделять эту строку с помощью области выделения можно лишь в том случае, если вы намерены заменить прежнюю макрокоманду новой. Рассматриваемую ситуацию иллюстрирует рис. 18.9, где в первом случае (иллюстрация слева) копируемая макрокоманда будет вставлена перед макрокомандой Закрыть, а- во втором {иллюстрация справа) — займет ее место. f Поетмявики: макрос
*• Поставщики: макрог
Макрокоманда ВыводНаЭкран Замораживани Закры ть|—-т Открыты -: *•'••?•••••=. — ,, ЗадатъЭ^ ц 1 1кода КЭлеиен^ * Прожить строки к )пер строки
МаМконднда ВыеодНдЗкрам ТКрытьО!
".
^ '-' и. .|.Тч0:? .
5леиемт^ J"*
Добавить строки
Замораживали! ! фор! ^ )Г1М
^ Делить строки
Рис. 18.9. В результате выбора команды Правка ^Вставить новая макрокоманда появится над макрокомандой Закрыть (рисунок слева) или на ее месте (рисунок справа)
370
Часть VI. Более сложные вопросы использования Access
Операции на уровне макросов Если возникает необходимость переименовать макрос, откройте вкладку Макросы окна базы данных и воспользуйтесь одним из предложенных ниже способов для переименования. • Выделите на вкладке Макросы имя нужного макроса, а затем щелкните на нем один раз. Далее введите новое имя и нажмите клавишу <Enter>. • Щелкните правой кнопкой мыши на имени макроса и в открывшемся контекстном меню выберите команду Переименовать. • Выделите имя макроса, а затем выберите команду главного меню Правка^ Переименовать. Чтобы создать копию макроса, выполните следующие действия. 1. Выберите имя макроса в окне базы данных. Щ 2. Выберите команду Правка^Жопировать (или воспользуйтесь кнопкой Копировать на панели инструментов). I 3. Выберите команду Правка^Вставить (воспользуйтесь кнопкой Вставить на панели инструментов). 4. В диалоговом окне Вставка (рис. 18.10) введите имя нового макроса.
Рис. 18.10. В диалоговом окне Вставка укажите имя нового макроса
Удаляется макрос очень просто, согласно той же схеме, что и любой другой объект базы данных. 1. В окне базы данных щелкните на кнопке Макросы и выделите макрос, подлежащий удалению. I 2. Щелкните на кнопке Удалить панели инструментов этого окна или выберите команду главного меню Правка^Удалить. 3. Программа Access выдаст сообщение, аналогичное представленному на рис. 18.11, в котором попросит вас подтвердить свое намерение удалить макрос. Если вы готовы это сделать, щелкните на кнопке Да. IMlErttWft IIHll P AfiP4<.
Подтвердите удаление макроса "Макрос Г. Чтобыуэнать, как отключить еыеод этаго еообщюия т»исаждам удален»» объекта, нажмите кнопку "Справка". ,
Рис. 18.11. Прежде чем удалить макрос, программа Access предложит вам еще раз подумать
Запуск макроса Макросы можно запускать как в интерактивном режиме, например, непосредственно из окна конструктора при создании и отладке макроса, так и программным
Глава 18. Знакомство с макросами
371
(точнее автоматическим) путем, связывая макрос с определенным событием в форме (или отчете) или создавая для этих целей команду меню или кнопку на панели инструментов. В рамках этой главы мы остановимся на доступных в Access 2003 способах запуска макросов из различных окон программы. • Из окна конструктора макросов. Если вы находитесь в окне конструктора макросов, запустить макрос можно следующим образом. ПП 1. Выберите команду главного меню Запуск^Запуск или щелкните на кнопке Запуск панели инструментов. 2. Если макрос еше не был сохранен, появится соответствующее предупреждение программы Access. 3. Щелкните на кнопке Да, чтобы сохранить макрос. 4. В открывшемся диалоговом окне Сохранение введите имя нового макроса в поле Имя макроса и щелкните на кнопке ОК. Макрос будет сохранен и сразу же запущен, так, например, как на рис. 18.12. 1PJX]
SB*"" . Правка
&«
Идкрокоманда, >' ОткрытьФориу
Ветерке
Сервис
Йсно
£правка
Макрос "Макрос! ^Открыть* ори/1 Открьвает ферму Товары, как монопольное вспльвающее окно. На экран выводятся только записи о препаратах компании ТЕДЁОн РИХТЕР". Ввод новых данчьи в исходную таблицу заблокирован.
Лекарственные препараты {Кодмнфа
Наяяиювакт
-
Е АУРОБИН
4 U.J
Ше кдретведная ГЕДЕОН РИХТЕР
Имя формы Режим Ипяфияьтра Условие отбор: Релин данный Режим окна
0
Налнчит
:- -
.
_J*?
\ 8,6'JfpH
Е; Актуаяяюсзь 12.0Э1002;
Эаписы
из 3S (ЕиПьТ р)
F6 = пер»:пюче«ие окон.. PI « справка,
Рис. 18.12. Макрос Макрос! _ОткрытьФорму запущен из окна конструктора
• Из окна базы данных. Для запуска макроса из окна базы данных выполните следующее. ~Щ 1. Откройте вкладку Макросы в окне базы данных. 2. Выделите макрос, который следует запустить. | 3. Щелкните на кнопке Запуск панели инструментов окна базы данных или дважды щелкните на имени макроса. • Из других окон базы данных. Чтобы запустить уже созданный и сохраненный макрос из любого другого активного окна базы данных, следует выполнить такие действия.
372
Часть VI. Более сложные вопросы использования Access
ло, между отдельными макросами лучше оставлять пустую строку. Для создания группы макросов, аналогичной пред сташ!ен ной на 18.14, выполните следующее. 1. Открыв вкладку Макросы окна базы данных, щелкните на кнопке Создать панели инструментов этого окна, чтобы открыть окно конструктора макросов. Pf] 2. Щелкните на кнопке Имена макросов панели инструментов Конструктор макросов, чтобы отобразить в окне конструктора столбец Имя макроса (если его еще нет на экране). 3. Введите в пустую ячейку столбца Имя макроса имя первого из макросов создаваемой группы. 4. Перейдите к ячейке столбца Макрокоманда этой же строки и введите макрокоманду макроса, а затем — требуемые для нее аргументы на панели аргументов и (если это необходимо) комментарий в соответствующей ячейке столбца Примечание. 5. Повторите шаги 3-4 для всех макрокоманд данного макроса. 6. Пропустите одну строку. 7. Повторите шаги 3—6 для каждого последующего макроса, составляющего группу. ™
Сохраните новый макрос, щелкнув на кнопке Сохранить панели инструментов Конструктор макросов.
Поскольку группа макросов является объектом базы данных, на вкладке Макросы окна базы данных будут перечислены имена групп, а не отдельных макросов, включенных в ту или иную группу. При запуске определенного макроса, принадлежащего группе макросов, указывается имя группы, а затем через точку имя макроса: имяГруппыМакросов.имяМакроса (например, Макрос2_ГруппаМакросов.Закрытие форм). При запуске группы макросов из окна базы данных или окна конструктора можно выполнить только первый из группы макросов (в нашем примере это макрос Ввод Товары). Выполняется первая макрокоманда из столбца Макрокоманда, соответствующая первому макросу, а затем все последующие макрокоманды, расположенные ниже в этом столбце, для которых столбец Имя макроса пуст (до следующего имени, указанного в столбце Имя макроса и определяющего второй макрос). Чтобы запустить любой другой макрос из группы макросов в окне конструктора, используйте команду Сервис^Макрос^Выполнить макрос, указав полное имя запускаемого макроса (например, Макрос2_ГруппаМакросов.Выход). Еще один способ — это запуск макроса,, принадлежащего группе, из другого макроса, как это будет описано ниже, в разделе Другие способы запуска макроса. (Так, например, для последовательного запуска всех четырех макросов из группы макросов Макрос2_ГруппаМакросов потребовалось бы создать еще один макрос, включающий четыре макрокоманды ЗапускМакроса, аргументами которых стали бы имена этих четырех макросов.)
Управление выполнением макросов Такой элемент, как условие макроса, позволяет реализовать в приложениях простейшее "ветвление" процессов, когда отдельную макрокоманду или последовательность макрокоманд программа Access выполняет только при соблюдении некоторых условий. Например, при наличии в базе данных записей, соответствующих определенному критерию, на экран выводится сообщение с предложением просмотреть найденные данные в специальной форме.
374
Часть VI. Более сложные вопросы использования Access
Что такое условие В качестве условия выступает любое логическое выражение, которое может, соответственно, возвращать значение True (-1) или False (0). В первом случае будут выполнены макрокоманды, соответствующие истинному условию, во втором — ложному. Например, условие может выглядеть, как [Страна]-"Канада* (поле Страна в форме, из которой запущен макрос, содержит значение Канада) или Рогтз![Наклейки для клиентов]![ПечатьНаклеек]=2 And 1зМи11([ВыборСтраны]) (значение поля ПечатьНаклеек в форме Наклейки для клиентов равно 2, и поле ВыборСтраны в форме, из которой запускается макрос, содержит пустое значение). Если макрос содержит условие, то управление в нем передается той или иной макрокоманде в зависимости от выходного значения указанного условия.
Указание условия выполнения отдельной макрокоманды Хорошей иллюстрацией использования условий в макросах Access можно считать макрос Телефоны клиентов.Кнопки базы данных Борей, который связан с формой Телефоны клиентов. На рис. 18.15 показана форма Телефоны клиентов, в которой отображены телефонные номера тех клиентов, названия компаний которых начинаются с определенной буквы (в данном примере это буква "Т", поскольку в нижней части формы пользователем была нажата кнопка Т). Аналогичным образом (после нажатия соответствующей кнопки) в форме могут быть отображены либо все записи (кнопка Все), либо — любой другой набор записей, соответствующих выбранной букве. j E" Iff прфош.1 клиентов
ШРвиТЕу
^ижш
Oflpaupibcn к
Телефон:
Liz NKon
(503)555-3612
The Cracker Boi
LkiWbng
(406) 555-5634
(406) 555-8083
Toms Spezialitaten
Karin Josephs
0251 -031 253
0251-035695
Tortuga Restaurants
Miguel Angel Paolro
(5) 55S-2S33
На манне:
Фшг:
TiadiefO Hipermercedos
Anabela Dotrinaues
(11)555-2167
[11)555-2168
Trail's Mead Gourmet Pravisiontrs
Helvetius Nagy
(206)555-6257
[206)555-2174
5
WiF^ikkJ^J Запись: Jljjj)
Г ±_l» i"i т 6 (Фильтр) _
Рис. 18.15. После щелчка на кнопке Т в форме Телефоны клиентов выводятся записи о фирмах, название которых начинается на букву Т
А теперь рассмотрим, каким образом реализована такая выборка. При нажатии какой-либо из кнопок выбора в форме Телефоны клиентов переменной ОтборКлиентов присваивается определенное значение (из рис. 18.16 видно, что нажата была кнопка Т цз группы выключателей, объединяющей 27 кнопок, и переменная ОтборКлиентов в данном случае получает значение 20). Далее отбор требуемых для отображения в форме записей осуществляется благодаря использованию специальных фильтров (серии макрокоманд ПрименитьФильтр макроса Телефоны клиентов.Кнопки). На рис. 18.17 показан фрагмент макроса Телефоны клиентов.Кнопки, в котором применяются условия выполнения макрокоманд.
Глава 18. Знакомство с макросами
375
IВР Телефоны кп*ентоЕ- i форнз
в jco&mwj Другие ) параметра , 20 Доступ.....' ...Да ЕпОкирсека
formatfDatefk'CpeulHiu qS < Примечание (fenpfiu
Рис. 18.16. После щелчка на кнопке Т из группы выключателей ОтборКлиентов формы Телефоны клиентов переменной ОтборКлиентов будет присвоено значение 2 О
Связан с форнси Телефоны клиентов", Связан с событием После обновления" (AftwUpdat*) для гвуплы пер« ([ОтборКлиен • [6тборклиентов]-3 [ОтборКяиентсе]^ Ч [Ст6орКлиентов]=5 i [рт6орк™ентов]-6 ГОтборКяиея
Прни енитьФнльтр Г^ииепитьОшльтр Прпиен-1тьФнль-р Г^лчдачцьОипьтр ' ПрнпеттьОнпьтр
Строки пропущенных макрокоманд для букв с Н no Q имеют такой же формат, как и строки для букв с А по G
!
[ОтборКлиентое] [ОтберКлнвнтов] [ОтборК лиемтов] [От борК пиентов] [ОтборКли!нтрв]
ПрипенитьФильтр ПрипсмитьФильтр ПримеинтсФипь тр • ПритчемитьФильтр ПрикнитьФиль тр .ПрипенитьФильтр ПокаютъВсеЗалнси
CurrentRecordl-O
j ОстАнсеитьМакрас : Сообщили» : ПоказатьБсвЗаписи
Отображе*»* всех 5аписей. Переход к упеяенту "Название" прн вожращенни записей для выдеп(-. Остановка пкроса. Если для выбрали буквы нет записей, вьводится сообщение. OTo6pa«ettie всех юпнсей. Нажимается кнопка "Всё"
Рис. 18.17. Каждая строка макроса Телефоны клиентов. Кнопки связана с выключателем, позволяющим выбрать записи об организациях, название которых начинается с определенной буквы
Как видно из рис. 18.17, в окне конструктора макросов теперь расположен столбец Условие. Каждому из группы выключателей, позволяющих выбрать набор записей на определенную букву (или все записи), в макросе Телефоны клиентов.Кнопки соответствует отдельная строка, в которой указывается условие и макрокоманда.
376
Часть VI. Более сложные вопросы использования Access
Программа последовательно проверяет условия, указанные в столбце Условие, и в случае если такое выражение возвращает значение True (Да), выполняется макрокоманда, указанная в этой строке. В нашем примере, поскольку переменной [ОтборКлиентов] присвоено значение 2 0, выражение [ОтборКлиентов]=20 оказывается истинным, и к записям исходной таблицы будет применен фильтр с условием [Название] Like "[Т]*" (данное выражение указано в качестве аргумента Условие отбора макрокоманды Применить фильтр). Таким образом, чтобы указать в макросе условие выполнения отдельной макрокоманды, выполните следующее. 1. Откройте макрос в режиме конструктора. [Щ 2. Щелкните на кнопке Условия панели инструментов Конструктор макросов, чтобы вывести на экран столбец Условие, если он еше не отображается. 3. Введите требуемое логическое выражение в ячейку столбца Условие той строки, для которой требуется создать условие. 4. В ячейке столбца Макрокоманда этой же строки введите (или выберите из раскрывающегося списка) имя той макрокоманды, которая должна выполняться, если указанное условие истинно. 5. Укажите необходимые для новой макрокоманды аргументы на панели аргументов, 6. Введите (если это нужно) комментарий для новой макрокоманды в соответствующую ячейку столбца Примечание. jg] 7. Сохраните макрос, щелкнув на кнопке Сохранить панели инструментов.
Указание условий выполнения нескольких макрокоманд Условие выполнения можно задать не только для отдельной макрокоманды, но и для их последовательности. Чтобы объяснить программе Access, что при истинности указанного условия необходимо выполнить заданную серию макрокоманд, первая из них вводится в той же строке, что и исходное условие (в ячейку справа), затем в столбце Макрокоманда следующих строк макроса вводятся остальные макрокоманды, однако в ячейках столбца Условие всей этой серии ставится троеточие (...). Обратимся к конкретному макросу (рассматриваемый выше пример для макроса Телефоны клиентов.Кнопки, см. рис. 18.17). Мы видим, что после применения требуемого фильтра (макрокоманда ПрименитьФильтр) программа проверяет условие [CurrentRecord]>0 (другими словами, наличие в форме записей, соответствующих фильтру). Если для выбранной буквы записи возвращаются, фокус переводится на элемент управления Название (макрокоманда КЭлементуУправления), и далее выполнение макроса прекращается (макрокоманда ОстановитьМакрос). Здесь условие [CurrenlRecord]>0 определяет выполнение двух-макрокоманд. В противном случае, если при выполнении макроса форма оказывается пустой (т.е. истинным является условие [CurrentRecord]=0, как, например, для букв J или U), управление переходит к альтернативной ветке алгоритма. 1. Выполняется макрокоманда Сообщение (пользователю сообщается о том, что записи, соответствующие выбранной букве, не найдены). 2. Отображаются все записи исходной таблицы (макрокоманда ПоказатьВсеЗаписи). 3. Переменной ОтборКлиентов присваивается значение 27. Таким образом, последнее из условий макроса Телефоны клиентов.Кнопки контролирует выполнение трех макрокоманд. Итак, общая схема выполнения макроса с условиями выглядит следующим образом.
Глава 18. Знакомство с макросами
377
• Программа Access, обнаружив в ходе выполнения макроса в ячейке первое условие, проверяет его. В случае его истинности будет выполнена макрокоманда, указанная в той же строке, что и условие, а также все последующие макрокоманды, если для них под условием в столбце Условие указано троеточие. • Далее программа выполнит все последующие команды с пустой ячейкой столбца Условие, и так — до следующего имени макроса, до конца макроса или до следующей макрокоманды, имеющей условие. • Если условие ложно, все макрокоманды данного условия (отмеченные в столбце Условие многоточием) пропускаются, и Access продолжит работу с первой же макрокомандой, не имеющей в поле условия троеточия. Это может быть как "безусловная" команда, так и макрокоманда с новым условием. Пример, рассмотренный выше, демонстрирует, как можно организовать в макросе "ветвление", привычное для языков программирования. В макрос последовательно включены два взаимоисключающих условия; при условии истинности одного из них выполняется соответствующий набор макрокоманд. Поскольку Access последовательно проверяет на предмет выполнения весь список макрокоманд макроса, чтобы избежать лишних проверок альтернативных путей такого алгоритма, последней в серии макрокоманд следует включать, например, такую, как ОстановМакроса, обеспечивая прекращение выполнения макроса. Использовать эту макрокоманду имеет смысл в том случае, если данная серия макрокоманд в самом макросе не является завершающей.
Отладка макросов Предлагаемые программой Access инструментальные средства тестирования макросов, безусловно, обладают весьма ограниченными возможностями в сравнении с современными отладчиками программ. Однако минимальный сервис они все-таки предоставляют, позволяя тестировать макросы двумя способами: в режиме пошаговой отладки и с помощью диалогового окна ошибки выполнения макрокоманды.
Отладка макроса в пошаговом режиме Если созданный макрос при запуске не обеспечивает нужных результатов, отыскать ошибку можно, используя пошаговый режим выполнения макроса. Другими словами, макрокоманды в таком режиме будут выполняться по одной (с принудительным остановом после каждой макрокоманды). Чтобы перейти в режим отладки, выполните следующие действия. 1. Откройте нужный макрос в режиме конструктора. pi] 2. Щелкните на кнопке По шагам панели инструментов Конструктор макросов или выберите команду Запуск^По шагам. (Кнопка По шагам теперь активизирована.) рЦ 3. Запустите макрос одним из описанных выше способов. Прежде чем выполнить первую из макрокоманд макроса, программа Access откроет диалоговое окно Пошаговое исполнение макроса, аналогичное показанному на рис. 18.18. В полях этого окна отображается имя тестируемого макроса, текущее условие (если оно указано) для активного макроса, имя текущей макрокоманды и ее аргументы. Если ячейка столбца Условие оля данной макрокоманды пуста, в одноименном поле окна отладки будет указано значение Истина.
378
Часть VI. Более сложные вопросы использования Access
(Гишлгопор игпопнение макроса
|Итоги прода*, Итога по странице ^Условие;. Метина
(ЗадатьЗначение Аргументы;
Рис. 18.18. Диалоговое окно Пошаговое исполнение макроса на текущем шаге тестирования макроса
Для последующей отладки макроса в диалоговом окне можно воспользоваться тремя кнопками. • Шаг. Выполняет макрокоманду, отображаемую в диалоговом окне. Если ощибок при ее выполнении не возникает, то в окне отладки отображается следующая макрокоманда. • Прервать. Останавливает выполнение активного макроса и закрывает диалоговое окно. • Продолжить. Отключает режим пошагового выполнения макроса и дальше работает в обычном режиме. (Если тестируемый макрос принадлежит группе, никакие другие макросы из данной группы запускаться не будут.) Завершив тестирование и отладку, не забудьте снова вернуться в обычный режим выполнения макросов, щелкнув на кнопке По шагам и отключив пошаговый режим.
Диалоговое окно ошибки выполнения макроса Независимо от того, в каком режиме выполняется макрос — в обычном или отладочном, — при возникновении каких-либо ошибок программа Access отображает диалоговое окно Ошибка выполнения макрокоманды, аналогичное окну пошаговой отладки макроса, но только с одной доступной кнопкой — Прервать (рис. 18.19). Щелчок на ней позволяет, соответственно, прервать выполнение макроса и перейти в окно конструктора макросов, чтобы отредактировать проблемные макрокоманды. (Ошибка выполнения макрокоманды Иня макросе; {Поставщики. В Условие!
[Закрыть Аргументы;
Рис. 18.19. Диалоговое окно Ошибка выполнения макрокоманды
Глава 18. Знакомство с макросами
379
Несколько полезных замечаний
-<• Если при выполнении макроса в обычном режиме возникает необходимость прервать его и перейти в пошаговый режим, воспользуйтесь комбинацией клавиш . •> Если возникает необходимость временно отключить макрокоманду в макросе, сделать это можно, указав значение False в ячейке столбца Условие. -Ф- Поскольку возможные ошибки в макросах связаны, как правило, с некорректным указанием имен обьектов или с недоступностью объектов, на которые есть ссылки в макросах, рекомендуется воспользоваться функцией IsLoadedf) модуля Служебные функции демонстрационной базы данных Борей {эта функция не является стандартной функцией Access).
Другие способы запуска макросов Помимо уже рассмотренных выше методов запуска макросов в интерактивном режиме, в Access 2003 предусмотрены и другие интересные способы их выполнения: с помощью специальной макрокоманды, автоматически при открытии базы данных и, наконец, при использовании определенных комбинаций клавиш.
Запуск макроса из другого макроса Запустить один макрос из другого в Access 2003 можно с помощью одноименной макрокоманды ЗапускМакроса, имеющей три аргумента. Чтобы создать в качестве примера макрос, который последовательно запускал бы все четыре макроса из группы Макрос2_ГруппаМакросов, следуйте таким указаниям. 1. Открыв вызывающий макрос в режиме конструктора, включите в него макрокоманду ЗапускМакроса', а затем (если это необходимо) введите комментарий в соответствующую ячейку столбца Примечание. 2. Щелкните в ячейке Имя макроса панели аргументов данной макрокоманды и укажите имя макроса, который необходимо запустить (или выберите его имя из раскрывающегося списка). Для первой макрокоманды таким макросом будет Макрос2_Груп па Макросов. Ввод Товары. Помните о том, что в поле с раскрывающимся списком Имя макроса указаны все макросы открытой базы данных. В том случае если требуемый макрос входит в состав группы, он отображается под именем имяГруппыМакроса.имяМакроса. Если в качестве аргумента Имя макроса указано имя группы макросов, программа Access выполнит только первый макрос этой группы. Кроме того, макросы, вызываемые с помощью команды ЗапускМакросэ, могут принадлежать разным группам. 3. Укажите в ячейке Число повторов максимальное число повторов выполнения макроса. (По умолчанию ячейка этого аргумента оставлена пустой: макрос будет выполнен один раз.) 4. Если выполнение данного макроса должно происходить при определенных условиях, введите соответствующее выражение в строку Условие повтора панели аргументов. При каждом запуске макроса проверяется истинность указанного выражения. Если его значение равно False (0) — вызываемый макрос не выполняется, и происходит переход к следующей макрокоманде. "Микроуправление1' этой макрокомандой организовано следующим образом: если для нее указаны оба аргумента (Число повторов и Условие повтора), при истинности условия макрос будет выполняться заданное число раз. Если после очередного цикла повтора условие оказывается ложным, выполнение макрокоманды прекращается.
380
Часть VI. Более сложные вопросы использования Access
Будьте внимательны при указании условия выполнения макроса. Если аргумент Число повторов не указан, а условие повтора оказывается всегда истинным, то макрос будет повторяться бесконечное число раз. 5. Повторите шаги 1—4 для всех остальных макрокоманд ЗапускМакроса (в нашем примере это еще три макрокоманды). 6. Сохраните новый макрос (рис. 18.20), щелкнув на кнопке Сохранить панели инструментов Конструктор макросов.
_1_4 За пус «Макросе ЗапускМакроса ЗалускМакроса
I Запуск макроса "Ввод Товары" то группы "Макрос2_ГрутаМа«фасов" Запуск макроса "Ввод Покупатели" и> группы "Макрос2_ГруппаМакроссв" \ Запуск макроса "Закрытие форм" иэ грутпы''Макрос2_ГрупгмМакросов" Запуск макроса ЧЫход" из группы "Макросг_ГруппаНакрс<:ов" Аргуненты макрокоманды
Имя макроса Число повторов Условие повтора
" Макрос2_ГруппаМ*;р(х:ре.В
; Лйпускнакроса. 1
""
гтсовопяегеыэва'ь
макрос, sanycTHTb макрос щ» вьвта-ленш! • определенного условия шй сЕвтатьмэкрвг? . ксжждой специального пеню. Для справ*-!
Рис. 18.20. Пример запуска последовательности макросов с помощью макрокоманды ЗапускМакроса
Запуск макроса при открытии базы данных (макрос AutoExec) Программа Access предусматривает автоматическое выполнение специального макроса автозапуска AutoExec (если он существует) при открытии базы данных. Как правило, такой макрос позволяет открыть или, напротив, минимизировать окно базы данных, отобразить приглашение программы, загрузить главную кнопочную форму или выполнить другие важные действия, отвечающие вашим конкретным задачам. Создается макрос AutoExec по точно такой же схеме, что и любой другой макрос Access. Так, например, чтобы при открытии базы данных звучал звуковой сигнал и автоматически открывалась таблица Товары, выполните следующее. 1. Откройте новое окно конструктора макросов, щелкнув на кнопке Создать панели инструментов окна базы данных (вкладка Макросы). 2. Щелкните на первой пустой ячейке в столбце Макрокоманда. 3. Выберите из раскрывающегося списка макрокоманду ПесочныеЧасы. 4. Щелкните на следующей ячейке в столбце Макрокоманда. 5. Выберите из раскрывающегося списка макрокоманду ОткрытьТаблицу. 6. Щелкните на ячейке Имя таблицы на панели аргументов и выберите из раскрывающегося списка таблицу Товары. 7. Сохраните новый макрос под именем AutoExec (рис. 18.21). ш 8. Закройте базу данных, щелкнув на служебной кнопке Закрыть. Теперь, если снова открыть базу данных, будет автоматически выполняться макрос AutoExec.
Глава 18. Знакомство с макросами
381
Рис. 18.21. Макрос автозапуска AutoExec будет автоматически выполняться при каждом открытии базы данных
Заблокировать выполнение макроса AutoExec при открытии файла базы данных можно, удерживая нажатой клавишу <Shift>.
Запуск макроса с помощью комбинации клавиш (макрос AutoKeys) Для запуска часто используемых макросов в Access предусмотрен такой механизм, как связывание отдельной макрокоманды или последовательности макрокоманд с функциональной клавишей или комбинацией клавиш. Это самый быстрый способ запуска макроса. Для этих целей создается специальный макрос (или гр\ппа макросов) AutoKeys, аналогичный представленному на рис. 18.22. В данном случае комбинация клавиш сопоставлена макрокоманде ЗапускМакроса, поэтому при нажатии этой комбинации будет запущен макрос Макрос1_ОткрытьФорму. ИНЯнисроса | •р
ИакржонаМДя
ЗапускМакроса
Макрос, автоматически запускаемый при открытии базы данных и вьп Запуск макроса "Макрос 1 _ОткрытьФорму" при нажатии Ctrl+P.
•алии присвоение клави
Аргументы макрокоманды 1*м макроса Чиспо повторов Усповие повтора
Макрос 1 _Откры тьФорну
Рис. 18.22. Специальная последовательность макросов AutoKey позволяет связывать макрокоманды или их группы с комбинацией клавиш
Программа Access автоматически выполняет группу макросов AutoKeys при открытии базы данных, и в случае если в макросе AutoKeys определены новые клавиши или комбинации клавиш для макрокоманд, установки для клавиш, принятые в Microsoft Access по умолчанию, будут заменены. Чтобы создать группу макросов AutoKeys, выполните следующее.
382
Часть VI. Более сложные вопросы использования Access
1. Открыв вкладку Макросы окна базы данных, щелкните на кнопке Создать панели инструментов этого окна, чтобы открыть окно конструктора макросов. 2. Щелкните на кнопке Имена макросов панели инструментов Конструктор макросов, чтобы отобразить в окне конструктора столбец Имя макроса. 3. Введите в пустую ячейку столбца Имя макроса клавишу или комбинацию клавиш, с которой будет связана макрокоманда или последовательность макрокоманд. 4. Перейдите к ячейке столбца Макрокоманда этой же строки и введите макрокоманду, которая будет выполняться при нажатии этих клавиш, а затем — требуемые для нее аргументы на панели аргументов. 5. Повторите шаги 3-4 для всех макрокоманд, связанных с указанной клавишей или их комбинацией. 6. Пропустите одну строку. 7. Повторите шаги 3—6 для каждой последующей комбинации клавиш. 8. Сохраните группу макросов под именем AutoKeys, щелкнув на кнопке Сохранить панели инструментов. Синтаксис допустимых комбинаций клавиш для запуска макроса соответствует синтаксису инструкции Microsoft Visual Basic SendKeys. Так, например, при назначении комбинации клавиш <Shift+Ins> в столбце Имя макроса группы макросов AutoKeys следует ввести +{insert}. Допустимые комбинации клавиш приводятся в табл 18.2. Таблица 18.2. Допустимые комбинации клавиш Синтаксис
Клавиша или комбинация клавиш
Л
<С1г1+любая буква или цифра> <Любая функциональная кпавиша> <С1г1+любая функциональная клавиша> <5Ып+любая функциональная клавиша> <Shift+lns> <Shift+Del>
Л
А или 1
{F1}
(INSERT) ^INSERT} +{INSERT} {DELETE} или {DEL} -KDELETE} или +{DEL}
Резюме В рамках этой главы вы познакомились с самыми простыми средствами "программирования", доступными в Access, которые сама Microsoft относит к категории "наследуемых", — макросами. Макросы представляют собой последовательность макрокоманд, позволяющих автоматизировать в Access часто повторяющиеся операции. Всего в Access поддерживается несколько десятков макрокоманд самого различного назначения. В главе дается краткая характеристика типов макрокоманд, а также подробно рассматриваются особенности использования макросов и их ограничения (в сравнении с возможностями языка программирования VBA). Для создания макросов (и групп макросов) используется специальное окно конструктора, в котором ввод макрокоманд и аргументов макросов можно выполнить не-
Глава 18. Знакомство с макросами
383
сколькими способами: ввести непосредственно с клавиатуры, выбрать из раскрывающихся списков ячеек окна или перетащить из окна базы данных. Когда структура макроса определена, в ней можно добавлять, переупорядочивать и копировать макрокоманды, а также удалять их. Операции на уровне макросов, как объектов базы данных, включают копирование, переименование и удаление макросов. Кроме того, в главе на конкретном примере одного из макросов учебной базы данных Борей показано, каким образом в Access можно задать условие выполнения макроса (как для отдельной макрокоманды, так и для их последовательности). Созданный макрос можно запустить разными способами: как интерактивными (из различных окон программы), так и с помощью другого макроса или заданной комбинации клавиш. Тестирование макросов в Access выполняется, как правило, в режиме пошаговой отладки. Знакомство с макросами завершает раздел о специальных макросах AutoExec и AutoKeys. При загрузке базы данных программа Access выполняет их автоматически (если они определены).
Тесты т-
Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. С какими из перечисленных ниже задач успешно могут справиться макросы: а) вывод на экран главной кнопочной формы при открытии базы данных; б) создание по ходу выполнения приложения нового объекта в базе данных; в) создание пользовательского меню; г) переназначение комбинаций клавиш. 2. В какой из ситуаций использование макросов будет нецелесообразным или невозможным: а) при разработке многопользовательских приложений; б) при реализации функций обработчика ошибок; в) при отображении на экране информационных сообщений; г) при выполнении действий над отдельной записью таблицы. 3. Новый макрос в программе Access можно создать: а) с помощью мастера баз данных; б) в режиме конструктора макросов; в) с помощью команды главного меню ФайлФСоздать. 4. Чтобы создать новый макрос в режиме конструктора, необходимо выполнить следующие действия: а) открыть вкладку Макросы окна базы данных и выбрать команду Файл^Создать главного меню; б) выбрать команду Вставка^» Макрос главного меню; в) щелкнуть на кнопке Новый объект: Макрос панели инструментов База данных; г) открыть вкладку Макросы окна базы данных и щелкнуть на кнопке Создать панели инструментов этого окна. --,
384
Часть VI. Более сложные вопросы использования Access
5. Чтобы отобразить на панели макрокоманд столбцы Имя макроса и Условие, необходимо следующее: а) выбрать команды Вид^Имена макросов и Вид^Условия главного меню; б) щелкнуть на кнопках Имена макросов и Условия панели инструментов; в) воспользоваться командой главного меню Правка^Вставить; г) установить флажки для опций столбец имен и столбец условий на вкладке Вид диалогового окна Параметры. 6. Указать в окне конструктора макросов необходимые макрокоманды и их аргументы можно следующим способом: а) выбрать имена макрокоманд и значения аргументов из раскрывающихся списков соответствующих ячеек на панелях макрокоманд и аргументов; б) выбрать команду главного меню Вставка^Строш; в) ввести нужные значения непосредственно с клавиатуры. 7. В отношении макросов справедливо следующее утверждение: а) макрос не может включать несколько макрокоманд; б) для любого макроса обязательно должны быть определены аргументы; в) макрокоманды в макросе можно удалять и менять местами; г) новая макрокоманда, как и новая запись в таблице, не может быть вставлена между уже введенными макрокомандами. 8. Запустить макрос в программе Access можно следующим способом: а) в окне конструктора макросов, щелкнув на кнопке Запуск панели инструментов; б) в окне базы данных, выделив нужный макрос и выбрав команду главного меню Файл^Открыть; в) с помощью команды главного меню Сервис^Макрос^Выполнить макрос; г) из другого макроса с помощью специальной макрокоманды ЗапускМакроса. 9. Что нужно сделать, чтобы перейти в режим тестирования макросов: а) открыть макрос в режиме конструктора и щелкнуть на кнопке По шагам панели инструментов Конструктор макросов; б) выделить имя макроса в окне базы данных и щелкнуть на кнопке Запуск панели инструментов этого окна; в) запустить макрос, воспользовавшись командой главного меню Сервис^ Макрос^Выполнить макрос. 10. Макрос AutoExec позволяет выполнить такие действия: а) загрузить главную кнопочную форму при открытии базы данных; б) минимизировать окно базы данных при открытии БД; в) связать серию макрокоманд с комбинацией клавиш.
Глава 18. Знакомство с макросами
385
Глава 19
Работа с внешними данными В этой главе... * Обмен данными с другими приложениями * Импорт и связывание данных и объектов базы данных 4
Экспорт данных и объектов БД Access
t
Резюме
* Тесты
Обмен данными с другими приложениями Для хранения данных программа Access использует свой собственный формат .mdb, однако работа с базой данных в современных вычислительных системах тесно связана с обменом информацией между различными программами. И поскольку каждая из программ использует собственные форматы хранения данных, Access должна обеспечивать механизмы взаимодействия с такими форматами. Кроме того, актуальными остаются вопросы переноса данных Access из одного файла в другой, а также работа с данными, которые использовались в ранних версиях той же СУБД Access. Все эти задачи решаются в Access путем стандартных операций импорта и экспорта данных. Помимо этих механизмов. Access выделяется в ряду других СУБД тем, что у нее поддерживается еще одна возможность работать с данными других форматов — это так называемое связывание таблиц, когда для базы данных создается связь с внешней таблицей-источником, и дальнейшая обработка ее данных выполняется так, как если бы они хранились в собственных таблицах Access. Диапазон приложений, с которыми может обмениваться данными Access, очень широк. Это и другие базы данных (например, FoxPro, Paradox или клиент-серверные СУБД), электронные таблицы, текстовые процессоры, другие приложения Windows (например, Outlook и Microsoft Exchange). Кроме того, Access работает с форматами, поддерживаемыми Web-серверами (HTML- и XML-документы). В табл. 19.1 указаны форматы данных и приложения, с которыми Access 2003 может обмениваться данными. Таблица 19.1. Форматы данных, поддерживаемые в операциях импорта, связывания и экспорта Приложение База данных Microsoft Access
Проект Microsoft Access
Версия или формат 2.0, 7.0/95, 8.0/97, 9.0/2000, 10.0/Microsoft Access 2002, 11.0/Microsoft Access 2003 9.0/2000, lO.O.'Microsoft Access 2002, 11.0/Microsoft Access 2003
Примечание
Окончание табл. 19.1 Приложение
Версия или формат
Текстовые файлы с разделителями или фиксированной длины
Все наборы знаков. Форматы . txt, .csv, -tab, ,asc
dBASE
III/III+, IV, 5.0 и 7.0
Требуется наличие Borland Database Engine (BDE) версии 4.x или более поздней. Для связывания требуются обновленные драйверы ISAM, доступные в службе технической поддержки Microsoft. При импорте или связывании данных из таблицы, содержащей МЕМО-поля, убедитесь в наличии файла формата .dbt
Paradox
3.x, 4.x. 5.0 и 8.x
Требуется наличие BDE версии 4.x или более поздней. Для связывания требуются обновленные драйверы ISAM, доступные в службе технической поддержки Microsoft. Данные Paradox хранятся в трех отдельных файлах: формата . db (непосредственно данные), . рх (первичный индекс) и .rub (данные МЕМО-тила). Поэтому при импорте данных Paradox следует убедиться в наличии связанных файлов формата .рхи .rnb
Таблицы Visual FoxPro, Microsoft Visual FoxPro: 2.x (только импорт}, 3.0, 5.0 и 6.x программы и базы данных с поддержкой протокола ODBC (Microsoft SQL Server, Sybase Server, Oracle Server и др.)
Примечание
Необходим драйвер Microsoft Visual FoxPro ODBC (список поддерживаемых драйверов ODBC см. в Microsoft Knowledge Basel. При импорте или связывании данных из таблицы FoxPro, содержащей МЕМО-поля, убедитесь в наличии файла формата . dbt
Электронные таблицы Microsoft Excel
От 3.0 до 11.0/Microsoft Excel 2003
Электронные таблицы Lotus 1-2-3
Форматы .wks, .wkl, -wk3, .'wk4, .wj *
Связь — только для чтения
Документы HTML
1.0 (списки), 2.0, 3.x, 4.x (таблицы или списки)
Работа с HTML-данными рассматривается в главе 20, Access и Internet
Microsoft Windows SharePoint Services
2.0 (импорт)
Microsoft Active Server Pages
Все (экспорт)
Для экспорта данных в .asp-файл необходимо указать источник данных OLE DB или ODBC
Microsoft Exchange, Microsoft Outlook
Все версии (импорт)
Файлы адресных книг и папок
Документы Microsoft Word
Формат Rich Text Format (. rt f) (только экспорт)
Документы XML
Все версии (.xrnl, .xsd)
ODBC — Open Database Connectivity — открытый интерфейс подключения к базам данных из других программ. Для доступа к внешним данным драйверы ODBC используют язык структурированных запросов SQL.
Глава 19. Работа с внешними данными
387
Импорт и связывание данных и объектов базы данных В Access 2003 поддерживается два способа получения данных из внешних источников: это импорт и связывание. Импорт данных подразумевает их преобразование в формат, принятый в Access, и размещение в новой таблице Access; При связывании происходит подключение к данным внешнего источника, и пользователь Access может обращаться к ним всякий раз, когда это необходимо, просматривая и обрабатывая их в среде Microsoft Access.
Чему отдать предпочтение? В каждом конкретном случае следует учесть ряд факторов, определяющих, какая из технологий — связывания или импорта — подходит для доступа к внешним источникам данных. Если необходимо импортировать u Access данные, созданные в программе, формат файлов которой не поддерживается Access, следует выполнить эту операцию импорта в два этапа: сначала сохранить или экспортиропать данные в некий "промежуточный" формат, а затем импортировать такой файл в Access. Как правило, в таких ситуациях обращаются к формату dBASE (по такой схеме можно, например, импортировать данные формата . мбЬбазы данных Microsoft Works). Другой очень распространенный подход— это экспортировать данные в один из текстовых форматов ASCII (правда, с потерей индексов), а затем импортировать или связать такой текстовый файл для обработки данных в Access.
Импорт Исходная таблица при импорте данных не претерпевает каких-либо изменений, ее данные просто копируются в новую таблицу Microsoft Access. После операции импорта внешняя таблица и новая таблица Access существуют совершенно независимо друг от друга; программа Access "забывает" о том, из какого источника эти данные были получены, и работает с новым объектом, как с любой другой "собственной" таблицей. Импорт внешних данных предпочтительнее в следующих ситуациях. • В роли исходной платформы разработки выбрана Access, однако приложение будет работать с данными, которые необходимо перенести, например, из СУБД Paradox или dBASE. • С собственными таблицами Access работает быстрее и эффективнее, и для таких данных доступны все возможности форматирования и контроля. Например, вы собираетесь проанализировать информацию из внешней таблицы большого объема, данные которой статичны. Импорт такой таблицы позволит вам избежать потерь производительности, неизбежных при связывании с внешними источниками (особенно, если расположены они не на локальных дисках, а в сети). • Некоторые форматы, например Lotus 1-2-3, не допускают связывания, и данные следует импортировать. • Поскольку при связывании таблиц Access устанавливает свои типы полей и размеры (изменить которые вам не удастся), в ряде случаев связывание просто не подходит. • Если у клиентов разрабатываемого вами приложения могут возникнуть проблемы с доступом к внешнему источнику данных, для которого планируется реализовать связывание, также лучше использовать импорт данных. • Например, вы планируете определить собственный первичный ключ, установить ограничения целостности, изменить структуру таблицы и/или свойства ее полей. Может оказаться, что исходное поле первичного ключа внешней табли-
388
Часть VI. Более сложные вопросы использования Access
цы должно (в рамках вашего приложения) допускать наличие дублированных значений. При связывании таблиц реализовать такую возможность нельзя, поэтому таблицу следует импортировать и установить новый первичный ключ. Связывание При связывании данных (в ранних версиях программы Access использовался термин присоединение) Access 2003 "играет" роль интерфейса для других баз данных (или других приложений). Связанные внешние данные можно просматривать и, как правило, изменять их без переноса информации непосредственно в базу данных Access. Внешняя таблица остается в исходном формате и по-прежнему доступна для других клиентов, работающих в сети в многопользовательском режиме. Для таких присоединенных таблиц могут быть сконструированы запросы, установлены связи с другими таблицами, созданы формы и отчеты. hds|
В окне базы данных на факт связанности таблицы указывает специальная пиктограмма со стрелкой, которая появляется слева от названия объекта базы данных. Так, например, на рис. 19-1 таблица Покупатели — связанная таблица другой базы данных Access, а объект EMPLOYEE — это таблица dBase. Удалив связанную таблицу, вы удаляете связь, но не внешнюю таблицу. ВИР. ••---•:-. - '• ' Объекты LJ
Таблицы
• -f}3 Запросы
^Создать
?
- j '__--
ФОрНЫ '
; tfJ
Отчеты
1 SJ
.J4I
X
.:. _J --
Создание таблицы с помощью nacispa
LJ
! sJ Создание тайлнцы путеч ьвод данны*
J
4 ' Zi '
А Страницы
Группы
:
!. "SJ Создание таблицы в рехиче K.I чструктара J ~J Покупатели
1 -.dB EMPLOYEE .3
j
'"":,-
;
:
Доставка
"^
lai-b
^J
Заказы
_i
Клиенты;
- -ii— — — - — -—
Постаешикн ПастаЕщики_ш:[однэя
!3
Сотрудники
.'J
Типы
1
Товары
d
Рис. 19.1. В окне базы данных значками отмечены внешние таблицы EMPLOYEE (база данных dBase) и Покупатели (другая база данных Access)
При попытке открыть связанную таблицу в режиме конструктора программа Access выдает предупреждение о том, что изменить некоторые ее свойства вам не удастся. Структура внешней таблицы, определенная в другом приложении, остается неизменной (нельзя переупорядочить, удалить или добавить поля), однако доступны для настройки свойства таблицы, определяющие способ отображения данных на экране. На исходную таблицу такие операции не оказывают влияния. Существует несколько стандартных сценариев, когда следует предпочесть импорту связывание. • При активной совместной работе в сети множества пользователей на сетевом сервере создается общая база данных, доступ к таблицам которой лучше всего организовывать как раз по технологии связывания. База данных, согласно тлкому подходу, разделяется на две: серверную (здесь хранятся все таблицы) и клиентскую (для размещения таких, например, объектов, как формы и отчеты). Копия клиентской базы данных предоставляется каждому пользователю и хранится в его локальной системе, а доступ к общим таблицам возможен благодаря связыванию. •
Размер базы данных, хранимой, например, на сервере, может быть слишком велик, и операция импорта для вашей системы оказывается ошутимо ресурсоемкой.
Глава 19. Работа с внешними данными
389
•
Если существует необходимость работать с постоянно обновляемыми внешними данными, причем изменения в базу данных вносятся также и из других, приложений, то такие таблицы следует связать с вашей БД. В рамках этой схемы корректно поддерживается совместный доступ к данным и текущие механизмы обновления. С внешними данными можно работать в среде Microsoft Access, даже когда они модифицируются - своими исходными программами, а также объединять в запросах или отчетах собственные ("локальные") и внешние данные.
Работа с объектами из другой БД Microsoft Access Чтобы связать таблицу или импортировать выбранные вами объекты из другой базы данных Microsoft Access, выполните следующее. 1. Откройте базу данных или активизируйте окно уже открытой базы данных. 2. Выберите одну из следующих команд: Файл^Внешние данные^Импорт, чтобы импортировать таблицу или другие объе кты; рЗ] Файл^Внешние данныеоСвязь с таблицами, чтобы связать таблицу из внешнего источника.
В случае операции импорта откроется диалоговое окно Импорт, при связывании данных — соответственно, окно Связь, напоминающие стандартное окно сохранения (рис. 19.2). х J Мои документы м0
13 " Окучки Мои последние И]скпад[.1ж1Ь докуиенты J
Мои документы
Имя файла: Мое сетевое окрукете
Тип фай ЛОБ:
dBASES(*.dbf) dBASE[]!(*.*f) dEASE [V (*.dbf) Mkrosoft Excel (*.xls) :>.chafigeQ Microsoft Office Access (*.mdt.;*.adp;*.mda,*.mde;*,ade)
Рис. 19.2. В диалоговом окне Импорт выберите нужный тип внешних данных
3. В появившемся окне примите предложенное по умолчанию в поле Тип файлов значение Microsoft Office Access (*.mdb;*.adp;*.mda;*.mde;*,ade). Затем выберите из раскрывающегося списка Папка нужный диск и папку, в которой расположен файл базы данных с подлежащей импорту или связыванию таблицей. Выберите нужный файл и щелкните на кнопке Импорт (Связь). 4, В диалоговом окне Импорт объектов (Связь с таблицами) выделите необходимые импортируемые или связываемые таблицы (в списке объектов можно выделить любое число объектов — как с помощью мыши, так и с помощью кнопок Выделить все и Очистить все) и щелкните на кнопке ОК.
390
Часть VI. Более сложные вопросы использования Access
При импорте объектов в диалоговом окне Импорт объектов каждому типу объектов соответствует своя вкладка, и выбор объектов импорта следует выполнять на каждой из них. Если выполняется импорт, в окне базы данных (на соответствующих вкладках) появятся новые объекты без дополнительных пиктограмм слева. В случае установления связи с внешней таблицей ее название на вкладке Таблицы будет дополнено слева стрелкой. Технические подробности
Щелчок на кнопке Параметры диалогового окна Импорт объектов открывает дополнительно три группы опций (рис. 19.3). <*• Группа параметров Импорт включает такие флажки, как схема данных (установите данный флажок, чтобы импортировать связанные таблицы и запросы с сохранением уже устаноаченных для них связей); меню и панели (при установленном флажке из внешней базы данных будут импортированы все специальные панели инструментов, за исключением тех, имена которых уже присвоены панелям в базе данных, инициирующей импорт) и спецификации (установка этого флажка позволяет учесть вес спецификации импорта/экспорта, созданные в импортируемой базе данных). •$• При импорте таблиц выберите в одноименной ipynne тот переключатель, который соответствует целям импорта: структура и данные или только структура. •5- Переключатели группы Импорт запросов определяют, в каком виде будет сохранен импортируемый запрос: в виде запроса (переключатель как запросов) или в виде таблицы (переключатель как таблиц). (Импортобьентов Таблицы IЗапросы] Формы | Отчеты | Страчщы] М«кросы| Мши<яи|
Импорт
Импорт таблиц •
Импорт запросов
ы схегга д«й*к
*• структура и дачные
f* как запросов
Г менюн панвш
<*" толы» структура
1
спецификации
Рис. 19.3. Дополнительные опции диалогового окна Импорт объектов позволяют установить порядок импорта объектов
Импорт и связывание данных из электронных таблиц Напомним, что при импорте и связывании программа Access позволяет получить доступ к данным электронных таблиц таких форматов: •
электронные таблицы Microsoft Excel (от 3.0 до 10.0/Microsoft Excel 2002 и Excel 2003) (.xls); электронные таблицы Lotus 1-2-3 (.wks, .wkl, .wk3 и ,wk4); Lotus для DOS ( - w j * ) . Импортировать данные с одного листа рабочей книги можно только из рабочей книги Microsoft Excel версий 5.0 и выше. Чтобы импортировать один лист из других файлов электронных таблиц, включающих несколько листов, следует предварительно сохранить нужный лист рабочей книги как отдельный файл.
Глава 19. Работа с внешними данными
391
Можно экспортировать как весь объект, так и часть данных электронной таблицы, выделив их предварительно и создав так называемый именованный диапазон — именованную область данных исходной таблицы. Такой фрагмент должен содержать только строку с именами полей и строки с импортируемыми данными. Выделите нужный раздел электронной таблицы, затем выберите команду Вставка*>Имя^Присвоить и и открывшемся диалоговом окне Присвоение имени введите имя для выделенного диапазона ячеек.
Подготовка данных электронных таблиц Excel Прежде чем импортировать или связывать выбранную электронную таблицу, как правило, приходится немного поработать над ее содержимым. В электронной таблице, подготовленной к экспорту, данные должны быть соответствующим образом упорядочены. Во-первых, столбцы электронной таблицы, т.е. будушие "поля", должны содержать данные одного типа (например, дата/время, числовые, текстовые и т.д.), вовторых, все строки должны включать одни и те же столбцы. Кроме того, желательно в первой строке импортируемой электронной таблицы указать имена полей, придерживаясь правил, принятых для имен полей в Access (так, например, как показано на рис. 19.4).
•нншняня
1 Ш Microsoft Ексе! - Товары bopeitds
'-Л' Й аил -Правка
?U>j у а и . Times Hew Roman
|na
BcTjpKa
^Л ^а -
10
-
Ж
Форцат S
Сервис
j
К
Данные
Чд ' j
Ч ! К Ж 9 -Id
Окно
'- - _-JSlJSJ - - Э Х
^правка
' % " • "^ J &? ':4
:
6й *^ *
- ?i д! ,|iO *°
^г
^ ^ 1DO%
*Ё*
—
. jjs< Ш
• ;i* >"™A .Wt§
У т ft КодТо IUI ~ -г1 А j 6 D Е ' ;. G H, - : J Т1 ; 'F i НаСглад( Ожидается Шшпм. Постав киП • КодПо^тав КодТипа ЕдиницаНзм?р(впи UFHS 1 (? J дТ ов w яМ &1жа j ИСТИНА ; 1 GtiifiiShouyi.1 4 4 24 Бутыли! по 150 мя 697,JO[i 39 0 3 КтарсЭ131Па50[1г 39 " 0 10- ЛОЖЬ 2 Pavlova 7 T8i,25p 3 7 й 20 банок по 1 кг 1 753,00р 0 0 0 ИСТИНА™ 3 Alice Mutton А 4 dinar/on Tigers 7 8 16 кг упаковка, 2 S12.iOp 42 0 Sj 5 ЛОЖЬ 5 Teatimt Chocolate Bi ; 3 Ш к о р о б а Е К о 12ил 114,00р. 2: о Б 3 3D ЕОрибОЕ 40 0 50 ЛОЖЬ 6 SuRodneVsMsimali 8 3 MJ.OQp 7 7 Sir Rodney's Scones 3 3 1Л упакоЕЮ; по 4 шт 450, DOp "3 40 5 ЛОЖЬ SU 8 Gustaf s KnacKebmd 9 5 24упакС'Лп:по;ООг 94J,OOp 104 0 25 ЛОЖЬ Э i 12 упакиви;. no2iD г 40'.00^ 33 ЛОЖЬ 9 Tunnbrod 9 61 0 10' ; 10 ij".i*iaiiaF sat ss tics 10 1 126аисхпо J3J мл 202,:0p 20 0 0 ИСТИНА 3 Ж банок по 450 г 630,00p 30 ЛОЖЬ 11 NuNuCaNuss-Nougf И 76 0 12 12 Gijnibai Gummibarche 11 3 IQOiiaKiToi по 250 г 1 «J,3Ip 15 0 13 3 13 SchoggiSchokolade 3 100 штук по 100 г 1 575,iOp 49 0 30 ЛОЖЬ 14 1- Ros sit Занесли! 12 7 2? Банок по S2J г 2Cii2,OOp. 0 ИСТИНА ": 26 0 . 15: 13 Thuiinger RoEtbiatwi 12 б 50 короЗск по 30 шт i 570,Jip. 25 0 35 ИСТИНА •,, J6 ' j • hjrJ [N 4 "» и\Тоояры/ \*\.. г
!
i .c.
г
о ложь
11
о ложь
11
MJM
Готово
Рис. 19.4. Данные исходной электронной таблицы Excel Товары Борей готовы к импорту в базу данных Microsoft Access. В первой строке указаны имена полей будущей таблицы Access Технические подробности В импортируемых ячейках электронных таблиц должны содержаться фиксированные значения, а не формулы или ссылки. Поэтому прежде, чем импортировать подобную таблицу, выполните следующие действия. 1. Создайте копию электронной таблицы с исходными данными, сохранив ее под своим именем. 2. Откройте новую таблицу в приложении Microsoft Excel, выделите нужный фрагмент таблицы и нажмите комбинацию кл;шиш . 3. Выберите команду Правка ^Специальная вставка, чтобы открыть диалоговое окно Специальная вставка.
392
Часть VI. Более сложные вопросы использования Access
4. В этом окне выберите в группе Вставить переключатель значения (рис 19.5) и шслкните на кнопке ОК. Теперь во всех выделенных ячейках с формулами появятся реальные результирующие значения. 5. Сохраните обновленную таким образом таблицу и в качестве источника данных для импорта или связывания обращайтесь именно к ней. ЯЯРЖМИРЧдаЧЯИНЯ Вставить Г
ДШ
' ^~ ^гловиЯ на значения
:
БС1 '
%, Г формулы
i"' без ранен
" S" ^качения]
^"' ширины столбцов f" форму;*; л форпаты ччсеп
f форРИТЫ
Г пеи-езання , Операция
-
Г~ »н*чекид и фвдчаты чисел
-
•<•' нет
*
уиножнть-
<" выделить
' *" сложить f вычесть Г" допуске ть пустые ячалки
•'-
I
'С
Г
траиспонировать Отиена
Рис. 19.5. Диалоговое окно Специальная вставка позволяет заменить "виртуальные" значения ячеек реальными Импортирование данных из файла электронной таблицы Чтобы создать таблицу в результате импортирования данных из электронной таблицы Excel, следуйте таким инструкциям. 1. Откройте базу данных или активизируйте окно уже открытой базы данных. gj 2. Выберите команду Фай л-> Внешние данные1* Импорт, чтобы импортировать электронную таблицу. 3. В появившемся диалоговом окне Импорт в поле со списком Тип файлов выберите значение Microsoft Excel (*.xls). Затем выберите из раскрывающегося списка Папка нужный диск и папку, в которой расположен файл электронной таблицы, и дважды щелкните на его имени. 4. Начинает работу мастер импорта электронной таблицы (рис. 19.6). В первом диачоговом окне мастера выберите переключатель листы, если вам необходимо импортировать всю электронную таблицу, или именованные диапазоны — если импорту подлежит некоторая именованная область данных исходной таблицы. В нервом случае справа от переключателей мастер отобразит список доступных для импорта листов электронной таблицы, во втором — соответственно, именованных диапазонов импортируемого файла. 5. Выберите нужный объект из списка и. убедившись, что в области просмотра в нижней части окна представлены интересующие вас данные, щелкните на кнопке Далее. 6. Второе окно мастера позволяет указать, представлены ли в первой строке электронной таблицы заголовки столбцов. Если это так, установите флажок Первая строка содержит заголовки столбцов. (Как правило, мастер самостоятельно обнаруживает заголовки и при открытии окна данный флажок уже установлен.) Щелкните на кнопке Далее, чтобы продолжить процесс импортирования. 7. В новом окне мастера (рис. 19.7) укажите, куда будут импортированы данные. Выберите переключатель в новой таблице, если данные следует записать в ноГлава 19. Работа с внешними данными
393
вую таблицу. Чтобы импортировать данные в уже существующую таблицу, выберите переключатель в существующей таблице, а затем выберите из расположенного справа раскрывающегося списка имя таблицы-получателя. Чтобы перейти к следующему окну, щелкните на кнопке Далее. (Когда данные добавляются в существующую таблицу, следующим будет шаг 13.) -•
Импорт шгнгрпннЫчабпиЦМ Файл электронной таблицы со дер ил несколько листов ипн диапазонов. Выберите нужный сб-ьект.
диапмоим
Образцы данных для листа "Лист!". СодТовара Яарха Senen Sliouyu J avlcva Ulice Button larnacvon Tigers reotlire C h o c o l a t e Biscuits
Сод Паств мши»
5 7 7 7 б
\
_iLJ
Рис. 19.6. Первое диалоговое окно мастера импорта электронной таблицы позволяет выбрать объекты импорта из списков листов или именованных диапазонов
S' Импорт ЧИРК тронной т аб иииы Сохранение миньк допускается а ноесй или в существующей таблице. Данные необходимо сохранить; (* je новой таблице С
i
в Lyuiptoytomefl табпше;
'J
КодТовара Нарва Gencn Sliouyu avlovo Mice Huttcin Carnarvon Tigers Teatime Cliocolatt B i s c u i t s 1C R o d n e y ' s Hairmalade
Отмена
j
< Назад
КодПостшав»
I
Далее >
j
Рис. 19.7. Данные могут быть .шпортирояаны как в новую, так и в существующую таблицу Accoss Для импорта в существующую члблнцу Access заголовки столбцов импортируемой электронной таблицы должны соипэдать с именами полей внутренней таблицы Aecess.
394
Часть VI. Более сложные вопросы использования Access
8. (Шаги 8—12 описывают последовательность действий при импорте в новую таблицу.) Новое окно мастера (рис. 19.8) позволяет задать установки для каждого из столбцов импортируемой таблицы. Если какой-либо столбец импортировать не следует, выделите его в нижней части окна, установите флажок не импортировать (пропустить) поле и перейдите к шагу 11. Ш- Импорт элЕкт(И)н*киЗ таблицы Ийеатся ва?ис1«(!о?тытлс-э1Ь каждое полешпорте. Выберите попе е нижней части <*.на и измените сведения в области "Описание толя" Описание поля
Яарка Sliuuyu av1ova lice M u t t o n atnatrvon
Tigers
eacirae Chocolate B i s c u i t s ic
Rodneys
Marmalade
Рис. 1Э.8. Для каждого из столбцов импортируемой таблицы мастер позволяет изменить имя, задать индекс или исключить столбец из процесса импортирования
9. Чтобы задать или изменить имя поля новой таблицы, выделите нужный столбец исходной таблицы и введите нужное значение в текстовом поле имя поля. 10. Создать индекс по выделенному полю новой таблицы можно, выбрав из раскрывающегося списка индекс значение Да (Допускаются совпадения) или Да (Совпадения не допускаются). П. Повторите шаги 8—10 для каждого из столбцов исходной таблицы и щелкните на кнопке Далее, чтобы продолжить процесс импортирования. 12. На этом шаге (рис. 19.9, Мастер импорта позволяет создать первичный ключ, однозначно идентифицирующий записи ) мастер предлагает создать для новой таблицы первичный ключ. Чтобы переложить ответственность за выполнение этой операции на программу Access, выберите переключатель автоматически создать ключ. Access поступает в этом случае по стандартному сценарию, добавляя в таблицу поле с типом данных Счетчик, в которое заносятся последовательные числовые значения. Если подходящее поле в таблице уже имеется, выберите переключатель определить ключ, затем — имя нужного поля из расположенного справа раскрывающегося списка (на рис. 19.9. Мастер импорта позволяет создать первичный ключ, однозначно идентифицирующий записи это поле КодТовара). Если первичный ключ не нужен, выберите переключатель не создавать ключ. Чтобы перейти к последнему окну мастера, щелкните на кнопке Далее. 13. На заключительном этапе мастер импорта предлагает указать заголовок для новой таблицы. Введите нужный заголовок в текстовое поле Импорт в таблицу текущего диалоювого окна или оставьте предложенное мастером имя без изменений (по умолчанию эю имя выбранного листа электронной таблицы или именованного фрагмента). Установленный флажок Проанализировать таблицу после импорта данных позволяет вызвать специальный мастер для проверки новой таблицы на наличие
Глава 19. Работа с внешними данными
395
повторяющихся данных. Выполнив анализ, мастер готов предложить вариант последующей оптимизации структуры вашей таблицы (это действие аналогично выбору команды Сервис^ Анализа Таблица). Наконец, щелкните на кнопке Готово. \ШИмпортзлепранной таблицы
•;' 1
Рекомендуется эвдатьключеоойпопвеновойтаблице. Клю используется дпя однозначного определения каждой-sanncn табпниы и гга»егяет ускорить обработку данных, Г автоматически создать к/иоч
и Sbouyu ova lice Mutton acnarvcm Tigers iroe Chocolate Biscuits Rodney s narinalade
Огиена
<Ца13Д
j
Далее >
Рис. 19.9. Мастер импорта позволяет создать первичный ключ, однозначно идентифицирующий записи новой таблицы
Мастер выполняет импорт данных и в случае успеха выдает сообщение, аналогичное показанному на рис. I9.10. После щелчка на кнопке ОК в базе данных появляется новая таблица с заданным вами именем. Чтобы оценить результаты работы мастера, дважды щелкните на названии таблицы. Рис. 19.11 демонстрирует, как выглядит новая таблица СписокТоваровБорей, созданная в результате импорта данных из электронной таблицы Товары Борей. Данные р таблице СписокТоваровБорей упорядочены в соответствии со значениями первичного ключа (поле КодТовара). И
Импорт электронной табяйаы j , Иипорт файла '•^j^ '^писокТойаровборей" заввршен.
в Таблицу
Рис. 19.10. Импорт данных успешно завершен
jjjj
Теперь, если открыть таблицу в режиме конструктора, можно выяснить, правильно ли заданы мастером типы данных для ее полей. Анализ структуры новой таблицы (рис. 19.12) показывает, что мастер отлично справился с типами данных для денежных, логических значений и дат. Однако для таких ключевых полей, как КодТовара, КодПоставщика и КодТипа мастер установил тип данных Двойное с плавающей точкой, который, как правило, не рекомендуется использовать для этих целей, и его следует изменить на Длинное целое. Кроме того, учитывая специфику данных, для таких полей, как НаСкладе, Ожидается и МинимальныйЗапас вполне достаточно типа данных Целое.
В целом же, в режиме конструктора структуру импортированной таблицы можно модифицировать, учитывая требования конкретного приложения. Вы имеете возможность переопределить тип данных и размер для полей таблицы, изменить имена полей и их описания, установить новые свойства и определить первичный ключ (если это не было сделано раньше).
396
Часть VI. Более сложные вопросы использования Access
I Ш СписокТоваровБорей ; тэЬя^ид
t
КодТовара [
Марка
JGenen Shouyu 2 Pavlova 3 Alice Mutton 4 Carnaivon Tigeis 5 Teatime Chocolate £ 6 Sir Rodney's Maima
1
7 Sir Rodney's Scone8 Guslafs Krtackebroi
-^
-
3 Tun nb rod
10 GuaranaFantastica 11 NuNuCa Nuss-Noug 12 Gumbar Gummibarc
Запись: JiJjJj
квцн
д| *}
<одПост| КодТип;] -Еднницэ'Иэмерения |
4 7; 7 7 В, : 8
9. Э' 9 10 11 11
НаСкдг Ожид Минн^ Поставки Г рё0
Цена
4 24 бутылки по 250 мл
697.50р.
3 32 кора6<и по 500 г
765,25р
6 20 банок по 1 кг
1 755 Д)р.
В 16 кг упаковка
261250р.
3 10 коробок по 12 шт 3 3D коройок
0 0 0 0 0 0 40 0 0
39 29 0 42 25 40 3 104
414.00р.
3 24 упаковки по 4 шт.
3 645. ОСр 450,00р.
5 24 упаковки по 500 г
945,00р.
5 12 упаковок по 250 г
405,00р
1 12 банок по 355 мл
202.50р
61 20
630 .Шр
" 76
'о о
1 405 ,Э5р
15
0
3 20 Ёзнок по 450 г 3 100 пакетов го 250 г
-1 j
5
Ш
ч
Q—
- - ^.. .
-1;
о;
0
о-
5 50; 5
0. 0;
о;
:
25
о.:
25:
•ill
0 30 0'
о' °-«*|
Г ..».!" К* us 77 .
Рис. 19.11. Новая таблица Access, данные для которой импортированы из электронной таблицы Microsoft Excel
\m СпнсокТовдавбореЯ : l^B^ta Имя поля 1 Тип ленных 1 Числами _£! КодТовора Текстовый Маэкз __ КодПоставщика Числовой Числовой __ КолТипа Текстовый Едпннца№ нерения _; Цена Денежный Числовой __ НаСкладе Числовой Ожидается Минина льныйЗапас Чис.позпи ПРстаекиПрекращень Логический :!
.
Списание
ШН19Б1 1*1
'
—-Я ^: ! .
';: ,
ы
Свойства пали
. Общие | Подстановка | Размер поля Двойное с плавающей точкой] Форпатпопя Чяспо десянгчных знаков Дето Маска ввода :„ ПодпнсьЗмачание по уиолча!*в< Усилие us значение Сообщение об ошибке Нет .Обямтмыюе поле Индексированное поле Да (Совпаденчя не допускаются) OiapT-теги '
_•)
~^„' Разнес и т*п чисел, вврдниыжв дймное^толе. Стандартнье настройки; 'С олаеакшей то*«й . о6Чедннении~дан"<в с поля с •
"Кнотиек одном/ ойо должно пчеть тип 'Дгаиио^ целое'.
' " :.
i
,
.
Рис. 19.12. Не все типы полей выбраны мастером корректно (числовые поля были определены как Двойное с плавающей точкой) В процессе импортирования программа Access может заняться исправлением ошибок, обнаруженных в исходных данных, что может существенно замедлить операцию. Чтобы прервать процесс, нажмите комбинацию клавиш и выполните проверку данных на наличие ошибок (например, некорректная структура таблицы, неправильная индексация и т.д.). Связывание данных рабочих листов Excel Процесс связывания данных из рабочих листов Microsoft Excel происходит практически по той же схеме, что и импортирование, но включает меньшее число шагов. Чтобы связать данные из электронной таблицы Excel, выполните следующее.
Глава 19. Работа с внешними данными
397
1. Откройте базу данных или активизируйте окно уже открытой базы данных 1 и выберите команду Файл *Внешние данные^Связь с таблицами, чтобы открыть диалоговое окно Связь. 2. Выберите значение Microsoft Excel (*.xls) в поле со списком Тип файлов, а затем из раскрывающегося списка Папка — диск и папку, в которой расположен нужный рабочий лист Excel. Щелкнув на кнопке Далее, вы начнете диалог с мастером создания связи с электронной таблицей. 3. В первом окне мастера (рис. 19.13) выберите нужный переключатель для связывания всего листа Excel или его именованного диапазона, затем выберите связываемый объект из списк.а справа и щелкните на кнопке Далее. (В нашем примере связывание будет выполнено для диапазона Диапазон!.)
Файл электронной таблицы f-,i.-пум*и объект. Лист!!борей теноьанньк диапазон ь;
i дакньк для диапазона "Диапазон!"
КодТолара enen Shouyu avlova ftlicc tluctan
Рис. 19.13. В первом окне мастера создания связи с электронной таблицей выберите лист Excel или именованный диапазон, с которым будет связана база данных Access
4. В следующем окне укажите (если мастеру не удастся сделать это самостоя-
тельно), содержит ли первая строка исходных данных заголовки столбцов. Если необходимо, установите или снимите флажок Первая строка содержит заголовки столбцов. Щелкните на кнопке Далее, чтобы продолжить работу мастера. |+gl}] 5. Укажите заголовок для таблицы базы данных, введя новое или оставив предложенное мастером имя листа электронной таблицы (именованного диапазона). Щелкните на кнопке Готово, чтобы завершить связывание, а затем — на кнопке ОК небольшого окна сообщения об окончании операции связывания, Связанная таблица обозначена на вкладке Таблицы окна базы данных пиктограммой приложения Excel и стрелкой (рис. 19.14).
Использование данных текстовых файлов Под текстовыми файлами в этой главе мы будем подразумевать табличные данные, сохраненные с помощью средств текстовых редакторов в форматах с разделителями или с фиксированной длиной записи. Подобная схема необходима, так как импорт данных "напрямую" из текстовых процессоров в формат базы данных Access не предусмотрен. Текстовые файлы данных, поддерживаемые Access, перечислены ниже.
398
Часть VI. Более сложные вопросы использования Access
Сэздсиие тйЬлицы в режиме конструктора Создание таблицы с помощсю мастера Со;данне таблицы путем ввода данных ДесячхзАктивныхПокупателей Дизгжон! борей;
Зэк азы Покупатели 1
]репараткЁлйщ
Препарат ьГапена
Рис. 19.14. Именованный диапазон Диапазон! Борей, связанный с базой данных Access, обозначен в окне базы данных значком Excel со стрелкой
• Текстовые ф;шлы с фиксированной шириной полей. Каждой записи в таком файле отводится одна строка; псе строки имеют одинаковую длину и отделены друг от друга двумя символами новой строки (возврата каретки и перевода строки). Каждое поле занимает в строке фиксированное число позииий, соответствующих размеру поля, а недостающие позиции заполняются пробелами. Начало каждого поля также фиксировано относительно начала строки. • Текстовые файлы с разделителями. В качестве разделителей полей могут использоваться следующие символы. » Запятые/точки с запятой. Согласно формату, записи файла разделены двумя символами новой строки. Для корректного распознавания границ полей все поля (либо только текстовые) во многих приложениях заключаются в двойные кавычки, так как значение поля может включать символы-разделители. * Пробелы. Формат применяется редко, так как наличие пробелов в строковых значениях полей может привести к ошибкам импорта данных. *
Символы табуляции. Записи в таком текстовом файле разделены символами новой строки, а поля — символами табуляции. Формат принят в большинстве текстовых редакторов.
Такие файлы, распознаваемые многими DOS- и Windows-программами, создаются при экспорте данных, хранящихся на магнитных лентах и мэйнфреймах, для их последующего использования, например, в настольных приложениях.
Работа с мастером импорта текста Чтобы импортировать данные из текстового файла с фиксированной длиной записей или с разделителями, следуйте таким инструкциям. 1. Откройте базу данных или активизируйте окно уже открытой базы данных. 1 2. Выберите команду Файл^Внешние данные^>Импорт, чтобы импортировать текстовые данные. 3. В появившемся диалоговом окне Импорт в поле Тип файлов выберите значение Текстовые файлы (*.txt;*.csv;*.tab;*.asc). Затем выберите из раскрывающегося списка Папка нужный диск и папку, в которой расположен текстовый файл, и дважды щелкните на его имени, чтобы запустить мастер импорта текста, 4. В первом диалоговом окне мастера (рис. 19.15) выберите переключатель, соответствующий типу импортируемого текстового файла: с разделителями — поля разделяются запятыми или табуляцией или, второй вариант, фиксированная ши-
Глава 19. Работа с внешними данными
399
рина полей— интервалы заполняются пробелами. Правильно определить тип файла помогает расположенная в нижней части окна область просмотра, где отображены импортируемые данные в их исходном формате. {На рис. 19.15 это файл Поставщики!. txt, разделителем для которого служит точка с запятой (;).) Щелкните на кнопке Далее, чтобы перейти к следующему окну мастера. дполагается, что данные имеют формат "г разделителям дходящей формат данных.
*•"
разделителями-поля разделяю тсяэапятыин или табуляцией
Г~ ({шкифованная щирнна полей - интервалы ^агелпаютг.я пробелами
i данных из файла!
з дгОШОЁ\ПОСТ ДВЩЖИ I . ТХТ ,
'КодПостоиииха"; "Название"; "ОбращатьсяК"; "Должность"; "Алр 1;"ООО Экзотика";"Вероника Кудрявцева";"Неиегжер но закуп Jee Orleans Cajun Delight?";"Shelley Burke";"Координат 3 ; "Gcaodma Ke 1 ly 1 з Н^тпезт-cad"; "Regina Hurphy"; "Представи-l ''TQl(yo Tcadera"; "7oshi Wagase"; "Главный менеджер"; "9-3 •Cooperaciva d.e Quegoa ' L a s Cahraa'"; "Апсоию del V a l l e
Допол
Рис. 19.15. Первое диалоговое окно мастера импорта текста отображает образец данных и позволяет указать тип текстового файла
5. На этом шаге процесса импортирования последовательность действий заиисит от типа текстового файла. » Файл с разделителями. В новом окне мастера (рис. 19.16) примите установленный по умолчанию или выберите свой собственный переключатель, который соответствует символу-разделителю полей. Если в первой строке текста указаны имена полей, установите флажок Первая строка содержит имена полей. В поле Ограничитель текста по умолчанию указаны двойные кавычки. Если в текстовом файле используется другой символограничитель, введите его в это поле. Чтобы продолжить процесс импортирования, щелкните на кнопке Далее. * Файл с фиксированной шириной полей. Второе окно мастера (рис. 19.17) демонстрирует результаты выполненного мастером анализа границ полей. Если границы определены мастером неверно, внесите исправления собственноручно, перетащив, удалив или добавив разделительные линии. Удалить разделитель можно, дважды щелкнув на нем. Чтобы разместить новую разделительную линию, просто щелкните в нужном месте в нижней части окна. Установив правильные границы полей, щелкните на кнопке Далее. 6. В новом окне мастера укажите, куда будут импортированы данные, выбрав один из переключателей — в новой таблице или а существующей таблице (в этом случае выберите из списка имя таблицы-получателя). Помните о том, что при импорте текстовых данных в существующую таблицу порядок следования и заголовки столбцов текстового файла должны совпадать с именами полей таблицы Access. Чтобы перейти к следующему окну, щелкните на кнопке Далее. (Когда д а н н ы е добавляютсз! в существующую таблицу, следующим будет шаг 9.)
400
Часть VI. Более сложные вопросы использования Access
ШИмпорт текста Выберите подходящий разделитель гкт Рмдеттель полей; - <~ хабуляция .'*'-тоа<ас»апятЫ1
*~ janwree
1
Р 'Первая строка содержит игвна полей
f пробел
<* другой:
2гранимитеяь текдтая
Код По с тавщика Название • .''.-''•- 1 000 Экзотика >Геи Orleans Cajun Delights Grandma K e l l y ' s Homestead . Tokyo Traders Cooperative de Quesos 'Las Cabras 1 . Hayumi ' з
6
Г
-F
Обращаться 3-ронике. К
Shelley Bu tetfina Hue Yos hi fJaga Antonio cie fayumi OJir.
Рис. 19.16. Второе окно мастера импортирования данных из текстового файла с разделителями. Мастер правильно определил символ-разделитель (выбран переключатель точка с запятой) и ограничитель текста (символ двойной кавычки) Импорт текста
.X]
спедугешее раз деление попей с данньин. Если гредпо»ени соответстеузг денным, настройте разделение полей вручную, Лиши со стрелкам отмечают места разделения полей. Чтобы создать разделитель, щегенкте мутное положение, f Чтобы удалить рамелигель, дважды щелкните его. Чтобы переместить разделитель, перетащите его в нужное положение.
50
!
1
S
DOO Экзотика Чей Orleans Cajun Delights jrandma K e l l y ' s Homestead Tolq/'o Traders Soopecaciva de Quesoe 'Las Cabras' Hayxuni ' s
1еровика Shelley ' Jsgina K1 Yoshi Wai
Antonio i layuwi 0
fl d
Рис. 19.17. Во втором окне мастера импорта текстов с фиксированной шириной полей можно самостоятельно откорректировать границы лолей
7. Четвертое окно мастера (рис. 19.18) позволяет выполнить настройки для каждого поля новой таблицы: изменить или задать новое имя (что актуально при импорте файла с фиксированной шириной полей), переопределить тип данных, а также создать индексы. Чтобы выделить поле, щелкните на его имени в области просмотра. Если какое-либо поле импортироваться не будет, установите для него флажок не импортировать (пропустить) поле. В нашем примере для поля КодПоставщика, которое будет использоваться как первичный ключ, следует создать индекс, выбрав из раскрывающегося списка индекс значение Да (Совпадения не допускаются). Щелкните на кнопке Далее, чтобы продолжить процесс импортирования.
Глава 19. Работа с внешними данными
401
W" Импорт текста 14меетсч возможность описать каадче топе импорта. Выберите поле в нижней части окна и измените сведения в области "Описание поля". --Описание попя :
(адяпопя:
осгаЕщи«
типданчы» ]Дпинноецелое
_»]
индекс: [ВЯЯЯШИРИНЯЯЯЙНЯГТ] рм импортировать (пируетить) поле
КодПоставщик* Название Экзотика Orleans Cajun Delights randme K e l l y ' s Homestead okyo Traders 1 ooperativa de Quesos 'Lag Cabras ayurni' э
Дополнительно..
< Назад
CC ре Зероника К Shelley Bu Regina Hur Yoshi Naga Antonio de layumi Ohn
Далее >
Рис. 19.18. В четвертом окне мастер позволяет изменить для каждого из полей имена и типы данных, проиндексировать поля, а также пропустить поле при импорте 8. На этом шаге мастер предлагает создать для новой таблицы первичный ключВыбор переключателя автоматически создать ключ приведет к появлению в импортируемой таблице нового поля с типом данных Счетчик, выполняющего роль первичного ключа. Если подходящее поле в таблице уже присутствует, выберите переключатель определить ключ, а затем имя нужного поля из раскрывающегося списка. Чтобы перейти к последнему окну мастера, щелкните на кнопке Далее. На заключительном шаге импорта введите заголовок для таблицы, в которую импортируются данные. Если это существующая таблица, по умолчанию в поле Импорт в таблицу будет предлржено ее имя, а если импорт выполняется в новую таблицу — имя внешнего текстового файла. Щелкните на кнопке Готово, чтобы импортировать данные. Мастер выполняет импорт данных и в случае успеха выдает окно сообщения, после чего в базе данных появляется новая таблица с заданным вами именем. Связывание данных текстового файла с фиксированной длиной записей или с разделителями выполняется по аналогичной схеме, с помошью команды главного меню Файл ^Внешние данные ^Связь с таблицами. Технические подробности Расположенная в нижней части окна мастера кнопка Дополнительно позволяет задать установки спецификации импорта (связи) в специальном окне. Рис. 19.19 дает представление о том, как выглядит диалоговое окно спецификации импорта для текстовых полей с разделителями. Кнопка Дополнительно доступна на любом этапе работы мастера импорта/связи текстовых данных. Вы можете отредактировать эти настройки, сохранить их или импортировать спецификации, которые были созданы и сохранены ранее, при импортировании других данных. Если при импортировании текстового файла с фиксированной шириной полей значения полей включают разделители строк (знаки возврата каретки и перевода строки), то обязательным условием корректного импорта является одинаковая длина каждой из записей такого файла. Если записи будут иметь разную длину, то мастер импорта будет расценивать знаки-разделители строк как знаки окончания записей.
402
Часть VI. Более сложные вопросы использования Access
№ Поставщик^ - спецификация ингорта госфмат (* cpв^Jteлитeлl*^»~ файла: „ , <
фИКСМрОМНГЮИ Ш1р|1НВ
Рмдвгитеяь попей:
f
3
ОГра«1Чител= текст*
]
^J
8*к:
русский
Садовая страница:
(Кирил лица (Windows)
з
i |дмг
^-_
,
1
—1
• | СохрФ»1ть пак... |
• г Деты, время, ьиспа • фоспатдаты;
|
ок Ютинна :
OieurajjtKuUKfl... 1
Р год us четыре!; жяю» Г" лалогаять.датынугиии
j разделитель дати:
f
| рвделггеяь времени:
|
десяп**1ый разделитель:
:
|^
. Omcatve полей: И|«А поля Тип даты* "^ КодГТоставщиеа^ Дпиниое целое Название [Текстовый _ ОбрашатьсЖ I Текстовый Должность Текстовый 1 Адрес Текстовый Город Текстовый _£ Область ^Текстовый Ц -: Индекс (Текстовый
Индекс
Тнет 'нет
:Нет ; Жет ;нет
^\ 1Нет
I Пропустить
П П
"" п
Г]
j
П П
; s ^J
Рис. 19.19. Опции диалогового окна спецификации импорта позволяют определить оптимальную схему импорта текстового файла
Диспетчер связанных таблиц При установлении связи с внешними таблицами программа Access сохраняет в собственном файле .mdb имя и путь к внешнему файлу. Если связи с внешними файлами, установленные для текущей базы данных, будут нарушены вследствие переноса связанных объектов (например, файлов Paradox, dBase или Access) в другую папку или на логический диск, восстановить связи можно, обратившись к специальному мастеру связанных таблиц Access. Обновить связь с внешней таблицей следует и еще при одном условии — если ее структура была изменена (например, модифицирован тип данных какого-либо поля или добавлены новые поля). Средствами диспетчера можно восстановить связи лишь с теми перемешенными объектами, имена которых остались неизменны. В противном случае вам придется удалить в окне базы данных прежние связи и заново выполнить операции связывания. Для вызова диспетчера связанных таблиц выберите команду Сервис^Служебные программы^Диспетчер связанных таблиц. В открывшемся одноименном окне (рис. 19.20) будет отображен весь список внешних источников данных, связанных с открытой базой данных, с указанием путей доступа к ним на момент установления связи (исключая пути к файлам или базам данных, связь с которыми установлена с помощью драйверов ODBC). Чтобы обновить пути к связанным таблицам, установите флажки слева от соответствующих имен и щелкните на кнопке ОК. В появившемся диалоговом окне Выбор нового расположения: Имя Таблицы выберите папку, в которой теперь хранится связанная база данных или таблица, и дважды щелкните на имени нужного файла. После успешного восстановления связи закройте окно диспетчера, щелкнув на кнопке Закрыть. При удалении таблицы, с которой установлена связь, фактически удаляется не сама таблица, а связь или, другими словами, информация, необходимая для открытия: этой таблицы. Чтобы удалить связь, выделите нужную связанную таблицу в окне базы данных (вкладка Таблицы) и нажмите клавишу , а затем щелкните на кнопке Да в открывшемся диалоговом окне.
Глава 19. Работа с внешними данными
403
|И Диспетчер евйинныктабякц Выбгрите«вямнны* таблицы дпя обновления:
«к
:
,
-i-;
,
=_
П »E§ Диапазон! Борей (Р №ССЕ3520030В\Товары БореиJds\Дивгиоон1) П »45 Постав щлиЛ (D:WCCESS2003MM"locTanu?iKMitxt)
_ Выделить все Очистить ке
К? «Всегда выдавать sanpoc нового йёстсиахождвния
Рис. 19.20. Для связанных таблиц
Экспорт данных восстановления нарушенных связей можно вызвать диспетчер и объектов1 БД Access Экспорт данных является, по сути, операцией, обратной импортированию, и позволяет переносить данные из таблиц Access в другую базу данных Access, а также во внешние файлы различных форматов. Та блица-источи и к при этом остается неизменной. Фактически это процесс копирования данных во внешний файл с одновременным преобразованием их в нужный формат. Список форматов и приложений, для которых Access готова предоставить свои данные, практически совпадает с форматами, поддерживаемыми в операциях импорта и связывания. Полный список этих форматов приведен в табл. 19.1 в начале этой главы. Операции экспорта данных в Access можно выполнить как из таблицы, так и из запроса. Кроме того, объектами экспорта могут быть не только таблицы, но и формы, отчеты, страницы доступа к данным или макросы. Одновременно в другую базу данных можно экспортировать только один объект.
Экспорт объектов в проект или другую базу данных Access Из текущей базы данных можно экспортировать объекты в проект Microsoft Access или другую базу данных Access. Выбранные вами объекты (таблицы, формы, запросы, отчеты, макросы или модули) можно экспортировать, следуя таким инструкциям. 1. Выделите в окне открытой базы данных необходимый объект, подлежащий экспорту, а затем выберите команду Файл^Экспорт. Откроется диалоговое окно Экспорт объекта: Тип_объекта 'Имя объекта' (рис. 19.21). 2. В появившемся окне примите предложенное по умолчанию в поле Тип файла значение Microsoft Office Access (*.mdb;*.adp;*.mda;*.mde;*.ade). Затем выберите из раскрывающегося списка Папка нужный диск и папку, где находится база данных, в которую будет экспортирован объект, выберите нужную базу данных и щелкните на кнопке Экспорт. 3. В появившемся небольшом диалоговом окне Экспорт (рис. 19.22, слева) согласитесь с предложенным именем -объекта или введите собственное, щелкнув затем на кнопке ОК. (В случае если экспортируется таблица, можно дополнительно указать, как будет выполняться экспорт (рис. 19.22, справа): выберите переключатель, который соответствует целям экспорта: структура и данные или только структура.)
404
Часть VI. Более сложные вопросы использования Access
Ld Mo" источники дашых liw* L=jM°n рисунки • Мои последние |:-^моя му>ыка - документы 3]С№Ш1тсЬ
Рабочий стол
1 i
Мои
! .документы
i
компьютер
k
I
-«5
1< ия
' Ф*»*'*
Microsoft Excel 5-7 (* .xls) Microsoft Excel 97-2003 (* .xb) floKyHBHTbiHTMLC".r*nilj*.htm) ™ Текстовые файлы (*.txt;".csv;*.lu Microsoft Active Server Pages (*.а; Д 1
Microsoft OffteAccess(*.mdfc; '.4»-;
OfMWS „";
Рис. 19.21. Диалоговое окно Экспорт объекта позволяет перенести выбранный объект в другую базу данных или проект Access
Эктэрг Покупатели под 'ЕЭЕШЭЯ Экс-юрт Товары под темам;
гтлблна ~ '"• структура и да i«i i» Г1 только ctpysTM»
Рис. 19.22. Диалоговое окно Экспорт при экспорте таблиц включает дополнительные опции Если при экспорте объекта обнаружится, что в другой базе данных уже существует объект с таким же именем и такого же типа, как вы пытаетесь экспортировать, программа Access выдаст соответствующее предупреждение и предложит вам либо отменить операцию, либо заменить уже существующий объект "внешней" базы данных новым.
Программа Access сохранит объект в другой базе данных с указанным именем, а затем сделает активным окно текущей базы данных.
Экспорт данных в текстовый файл Access поддерживает экспорт своих данных в текстовые файлы с разделителями и с фиксированной шириной полей. Можно экспортировать не только таблицы, но и другие объекты базы данных Access, например формы, запросы и отчеты. Чтобы проиллюстрировать некоторые особенности экспорта в текстовые форматы, в качестве экспортируемого объекта в этом примере выбрана таблица Клиенты учебной базы данных Борей. Итак, процедура экспорта выполняется следующим образом. 1. Выделите в окне открытой базы данных необходимый объект, а затем выберите команду Файл^Экспорт. 2. В появившемся диалоговом окне Экспорт объекта в поле Тип файла выберите значение Текстовые файлы {Mxt;*.csv;*.tab;*.asc}, а в поле Имя файла введите имя нового текстового файла (или оставьте предложенное по умолчанию).
Глава 19. Работа с внешними данными
405
3. Выберите из раскрывающегося списка Папка нужный диск и папку, в которую должен быть помещен текстовый файл, и щелкните на кнопке Экспорт. Запустится мастер экспорта текста, который работает аналогично мастеру импорта текстов, описанному выше. 4 В первом диалоговом окне мастера (рис. 19.23) выберите переключатель, соответствующий формату экспорта: с разделителями — поля разделяются запятыми или табуляцией или, второй вариант, фиксированная ширина полей — интервалы заполняются пробелами. Расположенная в нижней части окна область просмотра дает представление о выбранном формате (из рис. 19.23 видно, что разделителем для полей текстового файла служит точка с запятой (;)). Щелкните на кнопке Далее, чтобы перейти к следующему окну мастера. it Экспорт текста
*i
Мастер позволяет подробно определить экспорт ланньсс Wcrwoft Office Access, Выберите нужный (Ьор
f* £раздепителями-гвяямэдепйЮтсямгвдтьачшлитгйуляцией *~ 4»«сфомнная щ>фша'1Х1лей - интервалы нпоянягатса пробелами
'А1ГКГ 'ANATR' 1 'ANTCW 'ABOUT' 'BERGS' 'BLAUS'
" A l f r e d s F u t t e r t c i s t e " ; "Папа Anders"; "Представите "Ana Truj i l l o Ernparelados";"Ana Ttu3 illo";"Совлал " A n t o n i o Horetio Taqueria"; "Antonio Horeno"; "Совла "Around the Horn";"Thomas Hardy";"Представитель "Becglunds anabbkop";"Christina Berglund";"Коорди "Blauer See Del ilceteasen"; "Напое Нооа"; "Предет
Рис. 19.23. Первое диалоговое окно мастера экспорта текста. Мастер экспортирует данные в текстовый файл с разделителями
5. На этом шаге процесса экспорта последовательность действий зависит от выбранного формата текстового файла.
» Файл с разделителями. Во втором окне мастера (рис. 19.24) примите установленный по умолчанию или выберите свой собственный переключатель, который соответствует символу-разделителю полей. Если в первой строке текста должны быть указаны имена полей, установите флажок Первая строка содержит имена полей. В поле Ограничитель текста по умолчанию указаны двойные кавычки. Если в текстовом файле необходимо использовать другой символ-ограничитель, введите его в это поле. Чтобы продолжить процесс экспорта, щелкните на кнопке Далее. + Файл с фиксированной шириной полей. Второе окно мастера (рис. 19.25) демонстрирует результаты выполненного мастером анализа границ полей. Если границы определены неверно, внесите исправления вручную, перетащив разделительные линии в нужные позиции. Установив границы полей, щелкните на кнопке Далее. На заключительном шаге экспорта убедитесь, что в поле Экспорт в файл указано надлежащее имя и папка для нового текстового файла, и щелкните на кнопке Готово, чтобы экспортировать данные.
406
Часть VI. Более сложные вопросы использования Access
Экспорт текста Выберите по дходяшии разделитель полей, проверяя его действие в нижней части окна. Разделитель попе Я: (~ табуляция <* точка сзапятой
1
I" запятая
вне попей в первой строке
Г~ пробел
Щиничн
те
ль
<"" другой:
Г
тексте:
'КодКлиента";"Название";"ОбрешатьсяК";"Долэтость";"Адрес";* A L F K I " ; " A l f r e d s F u t t e r k i a t e " ; " B a r i a Anders";"Представитель ' A W A T R " ; " A n a T t r u j i l l o Erapanelados"; "Ana T r u j i l l o " : " С о в л а д е л 'АКТОН";"Antonio Moreno Taquer i a " ; " A n t o n i o Moreno";"Совледе " A R O U T " ; " A r o u n d the Horn";"Thomas Haudy";"Представитель";"1 "BERGS";"Berglunds snabbkop";"Christina Berglund";"Координа
_1JJ Дополнительно..-
Рис. 19.24. Второе окно мастера экспорта данных в текстовый файл с разделителями: правильно определены символразделитель {выбран переключатель точка с запятой) и ограничитель текста (символ двойной кавычки) te iKtпорт теяста Предлагается следукхцее радоленне потей с да!*ыяи. Если предложения мастера ие соответствуют даинь»1( настройте реодепение попей вручную. Ггенни со стрелками отмечают места разделения попей, Для перемещения строки выберите я перетащите ее.
fliFKI A l f r e d s Futtecfclste ШАТВ Ana T r u j i l l o Eropaceladoa UNION A n t o n i o Horeno Taqueria 4ROUT iround the Horn BERGS Berglunds snabbkop 3LAUS Blauer See Delikateaaen 4}
)
Нэпа Anders ina Truj i l l o Antonio Moreno Thomas Hardy Christina Berg ianna Пооэ
i
|
Дсйогеительто.,.
Рис. 19.25. Во втором окне мастера экспорта в текстовый файл с фиксированной шириной полей границы полей можно откорректировать Мастер выполняет экспорт данных и в случае успеха выдает окно сообщения, после чего новый файл выбранного формата можно просмотреть, например, в текстовом редакторе Windows Блокнот. Экспортированные данные будут выглядеть аналогично представленным на рис. 19.26. Первичный ключ исходной таблицы определяет порядок записей во вновь созданном путем экспорта текстовом файле. Если первичный ключ в экспортируемой таблице не был определен, порядок записей в текстовом файле при экспорте будет соответствовать порядку их добаатения в таблицу.
Глава 19. Работа с внешними данными
407
"ALFKI1 "ANATR* "ANTON' "АИО1Л" 'BERGS 'BLAUS' 'BLONP' 'BOLID' 'BONAP' 'BOTTM1 'BSBEV' 'CACTU' CENTC' CHOPS' COMMI1
зан ие ; "оёрщцатьс"як""; должн ость "; Адрес"; " Город ^область "'Йн дек с Г 'стран . 'Alfreds Futterkiste";"магта Anders";"представитель"; 'obere str. 57";"Берлин ;;"122" 'дла Trujlllo Etnparelados";"Ana Trujillo";"совладелец";"Avda. de la Constitucion 221 'Antonio Moreno Taquerla"; "Antonio Moreno"; "совладелец"; "Mataderos 2312"; "Мехико"; I 'Around the Horn";'Thomas Hardy";"представитель";"120 Hanover sq.";"Лондон";; VA1 is 'Berglynds snabbkop"; "Christina Berglund"; "координатор"; "eerguvsvagen 3"; "лулео";;', 'Blauer See del-ikatessen";"наппа Moos";"Представитель ';"Forsterstr. 57";"мангейм";; 'Blondel pere et flls";"Frederlque citeaux";"главный менеджер";"24, place Kleber":" 'eolido comldas preparadas";"Martin Somrner":"совладелец";"С/ Araquil, 67";"Мадрид'; 'Bon app'";"Laurence Lebihan";"совладелец"; '12, rue des Bouchers';"марсель";; '1300S 'Bottom-Dollar Markets";"Elizabeth Lincoln";"бухгалтер";"2? Tsawassen Blvd."; 'тсава ' B ' s Beverages";"Victoria Ashworth";"представитель";"Fauntleroy Circus";"Лондон";;"'cactus Corridas para llevar";"Patricio Simpson";"продавец";"cerrlto 333";"Буэнос-АР 'Centro comerclal MQCtezima";"Francisco Chang";"Главный менЕдакер";"sierras de Grana 'Chop-suey Chinese";"rang wang";"совладелец";"Hauptstr. 29"; "Берн";;"3012";"швейцар 'comerdo Mlnelro"; "Pedro Afonso";' УЧЕНИК продавца'': "AV. dqs_ Lusladas, 23";"сан-пау-
'DRACD" 'Drachenblut Delikatessen";"sven Ottlleb ; координатор";"Walserweg 21";"Ахён";;"52С ' 'DUMON" "DU monde entier";"Janlne Labrune";"Совладелец';"67, rue des dnquante Otages';"нан-| J " "'•'1'""
Рис. 19.26. Текстовый файл содержит данные, экспортированные из таблицы Клиенты Технические подробности
Если в текстовых полях таблицы Access есть символы новой строки, возможно появление ошибок при экспорте данных- Наглядный пример тому — две выделенные строки на рис. 19.26, относящиеся к записи таблицы Клиенты, значение первичного ключа которой — CONSH. Значение поля адреса этой записи разбито с помощью символа новой строки на две строки: Berkeley Gardens и 12 Brewery. Один из способов избежать проблем при экспортировании подобных текстовых данных — не использовать такие символы внутри полей {а выделить, например, для этих целей два отдельных поля). Если в диалоговом окне Экспорт объекта установлен флажок Сохранить формат, то при щелчке на кнопке Экспорт сценарий экспорта несколько изменится. Появится диалоговое окно Кодировка для Тип_объекта 'Имя объекта'(рис. 19.27), где следует выбрать один из способов кодировки: Windows (по умолчанию), MS-DOS, Юникод или Юникод (UTF-8) и щелкнуть на кнопке ОК. Программа Access экспортирует данные в текстовый файл с "табличной" структурой (см. рис. 19.27) и разместит его в указанной папке. При установленных флажках Сохранить формат и Автозагрузка экспортированный объект сразу откроется в приложении Windows Блокнот.
Экспорт данных Access в электронные таблицы Один из возможных способов экспорта данных Access в электронные таблицы Microsoft Excel — это использование команды Файл^Экспорт. Экспортировать можно как весь объект, так и часть данных, предварительно выделив их. Рассмотрим последовательность шагов для экспорта в Microsoft Excel таких объектов Access, как таблицы, запросы, формы или отчеты. 1. Выделите в окне открытой базы данных объект, подлежащий экспорту, а затем 1 выберите команду Файл ^Экспорт. 2. В открывшемся диалоговом окне Экспорт объекта: Тип_о6ъекта 'Имя объекта'в выберите в поле Тип файла одно из предложенных значений для экспорта в Microsoft Excel (например, Microsoft Excel 97-2003 (*.xls)). 3. Выберите из раскрываюшегося'списка Папка нужный диск и папку, где должен будет размещаться новый файл, введите в поле Имя файла его имя (иди оставьте предложенное по умолчанию), а затем щелкните на кнопке Экспорт.
408
Часть VI. Более сложные вопросы использования Access
ЩЮМ-"'" -Ы-st! Выведите кодировку для «охран» '• Endows (по умолчанию) Отнена
" MS-D05 *
j
Юнгеодд
Г Юникод (UTF-8> •If Клиенты СмфанениеворматзЛ^-бтжно!
"Т-
Файп правке шормат .Вид- Справка
— *l
I ALFKI
| Alfreds Futterklste
h. • I обращаться • ;* 1 маг1а Anders
| ANATR
| Ana TrujiTlo Emparelados
| Ала Тги]П1о
| ANTON
| Antonio Moreno Taquerla
I Antonio Moreno | Thomas Hardy I Christina serglund
|
кед клиента
|
название
Around the Horn Berglunds snabbkop Blauer see Dellkatessen
1 AROUT
|
I BERGS
|
[ 8LAUE
|
| BLONP
| Blondel pere et flls
1
«I - -
-._•- •.„ |г„ -,„_.
:
.. i , ,.
Hi ;i| ill
| Hanna Moos
I FredeMque Clteaux
•: .. • -.;-v.
•: ; -
±й
Рис. 19.27. Так выглядит новый текстовый файл при экспорте с сохранением формата При установленных в диалоговом окне Экспорт объекта флажках Сохранить формат и Автозагрузка приложение Microsoft Excel открывается автоматически, и экспортированный объект будет представлен в виде электронной таблицы, например, так, как показано на рис. 19.28. С Microsoft Excel - Поставщйжи.кЬ Цмвкв
MS Sans Serif
ЁИД
Вставка
.,.<П х]
Сервис
Данные
в X
- ю -, ж к ч Ж JS- Код Поставщика
А1
I
Название 2
I
ОООЭюстика
3 2
.NEW OrleansCalunDeSgH;5_
4 3
Grandrrui KdiyV Hornestead
•-6. '5
Вероника Кудрявцева
[Regha Murfiy
i
-Менедиеопомкупкан КОО
_ -ShetayUJtfee
I
ДолжностьД
!
болыиаяСдоааяул. 1
! Р Ш?1¥'_..
p
^Представитепь
.707 Oxford Bd.
'9' ВсхТЕЗЗ-*
CcneerativerfeQuesos'LasCawai' ftrtofio del¥aHeSaavedra (Специалист позксге^пу
7 '6
.Mayuw's
MayumlOfmo
!Дире«Щ) __
chi;o-hu
3 '7
'Povteva,Ltd.
lanOevBng
'Гпов1*йиеивджвр
IMoonfeP
1Г**Л?1?^?'"-_
• j??_^*e
9 8
'specialty Bheutts, Ltd.
Peter
ftfeon
м 4 » »1\Постав111 J
Г
Готово
Рис. 19.28. Форма Поставщики экспортирована в таблицу Excel Экспорт данных Access с помощью метода "перетащить и отпустить" Очень быстро экспортировать данные Access в приложение Microsoft Excel можно с помощью технологии drag-and-drop ("перетащить и отпустить"). Чтобы перенести данные из таблицы или запроса, следуйте таким инструкциям.
Глава 19. Работа с внешними данными
409
1. Разместите на экране окна приложений Microsoft Access (с открытой базой данных) и Microsoft Excel (с новой пустой книгой) так, чтобы они были доступны на экране. 2. Щелкните на нужном объекте базы данных (например, таблице Поставщики) и, не отпуская кнопку мыши, перетащите объект в пустую ячейку А1 новой книги Excel, как показано на рис. 19.29. :jsl£iiE Файп wo
Оравка
встгрка
Сдэеис
Справка
fc^Конструктов ..ЗСОмлтб
X
~^
; • Щ Соадание таблицы е ргжи
Объекты
>gj Ссвдамие таблицы с лома
Таблицы
Ш
Запросы
Создание таблицы путем j
™3
Доставка
I 13
Заканно
Отчеты •
! |3
Заказы
Страницы
1 : -^
Клиенты
Макросы Модули
±1Г Рис. 19.29. Использование метода drag-and-drop для экспорта данных Access в приложение Microsoft Excel
Программа Excel при этом автоматически вставит в ячейки электронной таблицы экспортируемые данные (рис. 19.30). =j_njx| ЙЕЙ^АД'1 Вероника Менадже Большая ООО 1^дрявцв р по Садовая 1 Экзотика.' ва ^ _за^пкам ул. 12 Москва
И2Э456
-Россия
2223
New Orleans Cajun Sheiley 2 Dehghls Burfee Grandma • • Keliy-s ; .Homestea'Regma 3 d Murpfiy
Коордяна Р.0 SDK Новый тор 78934 ОрлеаН | 707 "Представ Oxford италь • . fid.
LA
АннАрбор
f! OQ) 55548Z2
70117
Ml
Главьый Sekirnat менедж^ Musashin p p-siii Токио
:
Tokyo 4 Traders
Yoshi , Nigase
1ист1 /№кт2 /ЛистЗ /
100 j < I
Япония
(03)355^ 50И
..'Г
ч\~
Рис. 19.30. После перетаскивания запроса или таблицы Access в окно листа Excel ячейки новой электронной таблицы заполняются автоматически
Использование команд Связи с Office Поскольку СУБД Microsoft Access является не обособленным продуктом, а включена в пакет Microsoft Office, компания-разработчик позаботилась о том, чтобы интеграция между компонентами этого пакета была реализована как можно более эф-
470
Часть VI. Более сложные вопросы использования Access
фективно. Данные Access (из таблиц, запросов, форм и отчетов) можно экспортировать в другие приложения Слияние в Microsoft Offics Word пакета Microsoft Office с помощью специальных команд ГЬ-бликация в Microsoft Office Wad Связи с Office (рис. 19.31). Рассмотрим подробнее на примере таблиц, как с помощью таких команд выполняется экспорт в прило- Рис. 19.31. Команды Связи с жения Microsoft Word и Microsoft Excel. Для экспорта всей Office позволяют быстро экстаблицы выполните следующее. портировать данные в другие приложения Microsoft Office 1. В окне базы данных выделите нужный объект, например таблицу (вкладка Таблицы). |Щ 2. Щелкните на пиктограмме стрелки команды Связи с Office панели инструментов. 3. Выберите из раскрывающегося списка одну из следующих команд. [р] 4. Выберите из списка команду Анализ в Microsoft Office Excel, чтобы экспортировать данные в новый файл с расширением .xls. Новый файл будет сохранен под именем исходной таблицы или запроса и открыт в приложении Excel (рис. 19.32). | П Microwft E«tel - Товары...!-;
-'&Q файл
Орвн«а
&и
ll-t
Вставка
Фориат
Сервис
Данные
Окно
С/травка
' т- •£;•!•; »,'-$--
ч!
- _ S X
1 100% - jfcS !
- Aral
~ 'А2
. Ю ,
- -
Ж К.3 !
* 1
1 <од товар: Марка 2 j 1 Genen Shouvu 3 ; 2 Pavlova 4 3 Alice Mutton 5 4 Carnarvon Tigers 5 Teatime Chocolate Biscuils Б Sir Rodney's Marmalade 7 Sir Rodney's Scones Oj S Guslar's Knackebrod 9 Tunnbrad M t » м\товары j < j
;
Co
С .Поставщик Mayumi's Pavlova, Ltd. Pavlova, Ltd Pavlova, Ltd Specialty Biscuils, Ltd. Specialty Biscuits. Ltd. Specially Biscuits. Ltd. PS Knackebrod AB PB Knackebrod AB
_D Тип Приправы Кондитерские изделия Мясо/птица Рыбопродукты Кондитерские изделия Кондитерские изделия Кондитерские изделия Хлебобулочные изделия Хлебобулочные изделия 1 , 1
E F :~ Единица измерения | Цена. |™ 24 бутылки по 250 мл 69?,50p "~" 32 коробки no 500 г 785.25р. :, 20 банок по 1 кг 1 755,DOp 1Б кг упаковка 2 812.50р 10 коробок по 12 ил. 4! Л.ООр 30 коробок Э645,00р 24 упаковки по 4 шт. 450,00р 24 упаковки по 530 г 945,00р 12 упаковок по 250 г 405.00р ••'••
,г
мим
oeo
./;
Рис. 19.32. Данные экспортированы в приложение Microsoft Excel [р] 5. Выберите команду Публикация в Microsoft Office Word для генерации файла в формате Rich Text Format (.rtf). Новый файл будет отображен в программе Microsoft Word, как показано на рис. 19.33. Новый .xls- или .rtf-файл по умолчанию получает имя исходной таблицы (экспортируемого объекта) и автоматически будет сохранен в рабочем каталоге пользователя, используемого по умолчанию. (Изменить рабочий каталог можно в диалоговом окне Параметры, вкладка Общие. Для вызова этого окна выберите команду главного меню Сервис^Параметры.) Экспортировать можно как все записи таблицы, так и отдельный "блок" данных. Чтобы выделить прямоугольный блок ячеек данных для последующей их вставки в рабочие листы Microsoft Excel или документ Microsoft Word, выполните следующее. 1. Разместите указатель мыши над левой границей левой верхней ячейки в том блоке данных, который вы хотите выделить. Указатель примет вид большого символа "плюс". 2. Удерживая левую кнопку мыши, переместите указатель в правый нижний угол выделяемого блока, как показано на рис. 19.34. Когда нужный блок ячеек будет выделен, отпустите кнопку мыши.
Глава 19, Работа с внешними данными
411
3. Выберите команду Сервис^Связи с Officer-Анализ в Microsoft Office Excel или Сервис^ Связи с ОН1се<=?Публикация в Microsoft Office Word, чтобы экспортировать выделенный фрагмент данных в нужное приложение Microsoft Office. По такой же схеме выполняется экспорт группы записей из таблицы, выбранных, например, с помощью инструментов фильтрации данных.
Файл
Правка
.Вид
Бстдака
ФОрйЗт
Cgie**:
- to
/И Обычный + Aria * Arid
1аблица
^правка
£кно
-I ж ' Л" Ч
' 1 i5 l • 2 Иод., постав кика
-11- i -12- i - 1 Э - ' - M
Обращаться к
Название
Вероника Кудрявцева
1 OOD Экзотика
i l S - i -It
Адрес
Должность Менеджер по закупкам
:
Большая Садовая ул. 12
2 New Orleans Cajun Delights Shelley Burke
Координатор
lp.O/Вох 73934
3 Grandma Kelly's Homestead
Regma Murphy
Представитель
;707 Oxford Rd.
4 Tokyo Traders
Yoshi Nagase
Главный менеджер
9-8 Sekimai Musashino-shi
5 Cooperativa de Quesos 'Las Antonio del Valle Saavedra Специалист по экспорту ;Calle del Rosal 4 Cabras'
Cm, I '- • Раэд I
Цг
На ген
Ci 1
Кол 1 ,
Рис. 1Э.ЗЗ. Так выглядят в программе Microsoft Word данные, экспортированные с помощью команды Публикация в Microsoft Office Word -
"
i
'
од 1 . Марка | " Поставщик 1 Ganen Shouyj Mayurni's 2: Pavlova Pavlova, Ltd. _ 3 Alice Mutton Pavlova, Ltd. 4 Carnarvon Tigers Pavlova. Lid 5 : Tea!ime Chocolate Biscuits Specialty Biscuils. Ltd. Б Sii Rodney's Matmalade Specialty Biscuits^ Llcl._ ?• Sir Rodney's S_eone£ Specialty Biscuits_, Ltr}._ В Gustafs Knackebrad pBKnackebrodAB Э Turnbrod PBKnackeb_mdAB 10 Gjarana Fant_ast]ca Refrescos Ame_ricanas_tTD П МиМиСэ Nuss-Nourfat-Crem АО Ге|)|.ланиз-Россия gg_*_^ 12 Gjmbar Gummibarchen АО Германия-Россия 13 Sclioggi Schokolade АО Германия-Россия 14 Rossle Sauerkraut _ Plutzer Lebensmrttelgrossn
i
Запись; к| < Jl
~ j_L"k*l из 71
IJ- '
:
BQ
- | Едини it* измерения | ^1 24 бутылки по 250 ил Приправы Кондитерские изделия .32 коробки по 500 г Мясо/птица 20 банок по 1 кг : 1Ь кг упаковка _ : Кондитерские изделия 10 коробок по 12 шт^ Кондитерсше изделия !30_короб_ок ___ Кондитерские изделия 24 упаговм rjo 4 шт Хлебобулочные издели_ 24 упакован го 500 г Хлвбоболочные издали Напитки [12 .банок по 355 мл Кондитерские изделия 20 банок по 450 г Кондитерские изделия 100 пакетов по 250 г Кондитерские изделия 100 штук по 100 г Фрукты _ _25 банок по 825 г »j Тип
' ""
-м; ,:^,,J .
Рис. 19.34. В таблице Товары выделен прямоугольный блок ячеек, который можно экспортировать в другие приложения Microsoft Office
Резюме Данная глава знакомит с механизмами, обеспечивающими взаимодействие программы Microsoft Access с внешними источниками данных и перенос собственных данных в другие приложения. В список поддерживаемых Access баз данных и форма-
472
Засть VI. Более сложные вопросы использования Access
тов файлов включены электронные таблицы, текстовые файлы (с разделителями и полями фиксированной ширины), файлы баз данных и проектов Microsoft Access, а также таблицы других СУБД, например dBASE и Paradox. Благодаря специальным средствам Access обеспечивает обмен данными с программами и базами данных, поддерживающими протокол ODBC (Microsoft SQL Server, Sybase Server, Oracle Server и др.) Обмен данными и поддержка внешних форматов в Access возможны по трем сценариям: импорт, связывание и экспорт. В главе подробно рассмотрены отличия технологий импортирования и связывания и целесообразность их использования в тех или иных ситуациях. Кратко представлен такой инструментарий, как менеджер связанных таблиц. В приложение Microsoft Access теперь можно интегрировать данные из адресных книг и папок Outlook/Exchange. Но наиболее "доступными" для обмена данными, конечно, являются приложения самого пакета Microsoft Office. Так, например, для переноса данных Access в приложения Microsoft Word или Microsoft Excel достаточно просто воспользоваться специальной командой Связи с Office.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Импорт данных целесообразнее использовать при следующих условиях: а) должна быть изменена структура таблицы с вн-иними данными; б) необходимо организовать совместную работу нескольких пользователей с данными внешней таблицы; в) необходимо выполнить миграцию данных из базы данных Paradox; г) внешний источник данных не всегда доступен для пользователей; д) работать необходимо с внешними данными, которые обновляются из другого приложения. 2. С помощью средств импортирования и связывания данных из другой БД Microsoft Acess можно выполнить следующие действия: а) импортировать любые объекты; б) импортировать только таблицы и запросы; в) обеспечить связь только с таблицами; г) обеспечить связь с таблицами, формами и отчетами; д) импортировать и связывать любые объекты. 3. При преобразовании форматов данных Microsoft Excel мастери импорта и связывания Access позволяют следующее: а) импортировать данные только в новую таблицу Access; б) импортировать данные из одного листа рабочей книги Microsoft Excel; в) импортировать и связывать листы Microsoft Excel, в ячейках которых содержатся константы, формулы или ссылки; г) импортировать и связывать именованные диапазоны электронной таблицы; д) внести изменения в структуру импортированной таблицы.
Глава 19. Работа с внешними данными
413
4. Мастер импортирования текстовых данных позволяет выполнить такие действия: а) задать новое имя для любого поля; б) в процессе импорта откорректировать данные в текстовом файле; в) изменить тип данных для поля;
г) исключить поле при импорте. 5. Чтобы изменить имена полей в новой таблице при импорте текстовых данных, можно поступить следующим образом: а) изменить имена полей в исходном текстовом файле; б) изменить названия полей непосредственно в окне мастера импорта текстовых данных, в группе Описание поля; в) щелкнуть на кнопке Дополнительно в окне мастера и указать новые имена полей в диалоговом окне спецификации импорта. 6. Обращаться к диспетчеру связанных таблиц необходимо в следующих ситуациях: а) чтобы установить связь с таблицей другой базы данных Access; б) если во внешней связанной таблице появились новые поля; в) если изменилось имя связанной внешней таблицы; г) если связанный файл БД Paradox был перемещен в другую папку. 7. Мастер экспорта текста позволяет выполнить такие действия: а) задать новые имена для полей экспортируемой таблицы; б) выбрать формат нового текстового файла; в) экспортировать имена полей; г) в процессе экспорта внести изменения в данные. 8. Чтобы экспортировать данные таблицы Access в приложение Microsoft Excel, следует воспользоваться такими средствами программы Access: а) выбрать команду Файл^Экспорт; б) перенести данные с помощью технологии drag-and-drop; в) выбрать команду Файл^Внешние данные^ С вязь с таблицами; г) выбрать команду Связи с Off ice ^Анализ в Microsoft Office Excel.
414
Часть VI. Более сложные вопросы использования Access
Глава 20
Access и Internet В этой главе... Поддержка Internet-технологий в Access Статические HTML-страницы Импорт и связывание HTML-документов Создание страниц доступа к данным Гиперссылки — ввод и использование Резюме Тесты
Поддержка Internet-технологий в Access Заключительная глава этой книги лишь приоткрывает те далекие горизонты возможностей Access, которые связаны с полноправным присутствием самой Access и ее пользователей в Internet. Если ваша база данных, созданная средствами Access, переходит из разряда "персональных" (как по своей принадлежности, так и по размещению) на новый уровень, когда данные Access должны быть доступны для других пользователей, информация из нее подлежит размещению (или, как говорят, публикации) в Internet или intranet. Если говорить о среде Access, то под .привычным для многих или, напротив, совершенно незнакомым для кого-то, сочетанием слов "публикация данных в Web" подразумевается следующее. Во-первых, это либо процесс экспорта таких объектов, как таблицы, формы или отчеты, в статический файл, либо создание динамической Web-страницы, например, страницы доступа к данным; во-вторых, последующая установка этих файлов (и всех связанных с ними) в виде Web-приложения на сервере, например, таком как Microsoft Internet Information Server (IIS). Кроме того, для потенциальных пользователей таких Web-страниц должна быть доступна сама база данных Access (другими словами, она должна находиться на компьютере с общим доступом). В рамках этой главы мы остановимся на вопросах подготовки данных к размещению в Web. Чтобы реально ознакомиться со всеми возможностями, упоминаемыми в этой главе, необходимо установить на своем компьютере Web-браузер Internet Explorer версии 5 или выше, а также Web-компоненты Microsoft Office 2003 (Office Web Components, OWC).
Существует два режима публикации данных в Web, поддерживаемые программой Access: статический (данные не изменяются, а только отображаются в HTMLдокументе) и динамический (данные могут изменяться, в том числе при интерактивном обращении к ним через Web-браузер). Всем тем, кто еще не знаком с языком HTML, рекомендуем обратиться к книгам: Титтел Э., Пите Н., Валентайн Ч. HTML 4 для "чайников", 3-е издание компьютерного издательства "Диалектика" и Хейз Д. Освой самостоятельно HTML и XHTML (Издательский дом "Вильяме").
Помимо возможности сохранять табличные данные в формате HTML, при разработке в Access 2003 приложений, ориентированных на Internet и intranet, не обойтись без использования специального типа данных Гиперссыпка. Особенности работы с гиперссылками также обсуждаются в этой главе.
Статические HTML-страницы Такая Web-страница содержит некоторые неизменяемые данные, полученные путем преобразования данных таблицы, формы или отчета Access, а также результатов выполнения запроса в документ формата HTML. При создании такой Web-страницы создается один документ для каждой таблицы, формы или страницы отчета Access. Последовательность действий при экспорте объекта Access (в нашем примере это таблица ДесяткаАктивныхПокупателей) должна быть следующей. g 1. Щелкните на нужной вкладке окна базы данных (Таблицы, Формы, Запросы или Отчеты), а затем выберите объект, который необходимо экспортировать. 2. Выберите команду Файл^Экспорт. На экране появится диалоговое окно Экспорт объекта (рис. 20.1).
Рис. 20.1. Объекты Access можно экспортировать в статические Web-страницы
3. Если это необходимо, введите собственное имя нового файла в поле Имя файла (по умолчанию файлу будет присвоено имя исходного объекта, т.е. ДесяткаАктивныхПокупателей). 4. В поле Тип файла выберите из раскрывающегося списка пункт Документы HTML Г-htmir.htm). 5. Щелкнув на кнопке раскрывающегося списка поля Папка, выберите диск и папку, где будет храниться новый файл.
476
Часть VI. Более сложные вопросы использования Access
6. Чтобы объект Access был сохранен в виде, аналогичном виду объекта в режиме таблицы, установите флажок опции Сохранить формат. Щелкните на кнопке Экспорт, а затем — на кнопке ОК открывшегося диалогового окна Параметры вывода в формате HTML. Теперь в указанной вами папке находится новый файл (например, ДесяткаАктивныхПокупателей_Экспорт. html), открыв который в Web-браузере (рис. 20.2), можно получить представление о тех данных, которые хранились в одноименной таблице базы данных Access в момент создания этой статической страницы. Экспортировав в формат HTML выбранный объект базы данных Access, его можно опубликовать на Web-сервере. 3 Десятка Актив ньшПокупатеией - Microsoft '• Файл
Правка
Вил
;!"-.•-.: - ,А -
Избранное
Сервис
""- 2} '•'<:.- .' Поиск
Справка
Ссылт *' _
„"; Избран
Д е ся тк аАк т НЕ н ыхПокупат ел ей (Сум маЗаказЦ ИмяПокупатепя j !_Т^074.42гри Фоминых Л.И 745,ВЗгрн.'Костецкий О.Г. __ 545,82rpH. .Алешин А П.
Ддрас ул Горького44кв 26
__190,98грнчВалерианоБ СА ; ул Герцена 23 кв. 15 1
1 г
1а вл
§§. ^ Р^[-Половцев - ?"?? ^^ 1Б0.1Бгрн Д С.
'Q4426S1412 lansa@link сэт
:пер. Речной Э <в 18 ^O444163473.oleg@;ity1el com u. ;ул Стельмаха 12 кв. 24 _ ^0442574561 [email protected]
ельн
1
|d4422418J6ivalerian©mail.rL к
ave
^™ .?ТР°^ !!?кв..^ 7D - ?- ^ l.?i^^§?^'P ^ул. Паталоеа ДБ
oots
'^
om
^.
1Й.68грн [Петровский И.А. 1ул. Саксаганского 98j
lx_J1-l]°_J1?rexK.i1''9El*?fljlKB' jnp. Победы 28 хв 220
Рис. 20.2. Статическая HTML-страница, созданная путем экспорта данных из таблицы ДесяткаАктивныхПокупателей При установленных флажках Сохранить формат и Автозагрузка созданный HTMLдокумент автоматически откроется для просмотра в вашем Web-браузере. При экспорте отчетов в статический HTML-файл создается несколько файлов, по числу печатных страниц отчета. К имени отчета добавляется суффикс <СтраницаМ>, например ЗаказыЗарегистрированныхПокупателейСтраницаЗ .html. Кроме того, все страницы отчета связаны между собой, и пользователь может легко переходить с одной страницы на другую с помощью гиперссылок Первая, Предыдущая, Следующая и Последняя, которые автоматически генерируются и помещаются на страницу (рис. 20.3). I
Импорт и связывание HTML-документов Access позволяет также импортировать и связывать данные из HTML-документов. Для операций связывания и импортирования документов формата HTML используется мастер, работа с которым во многом аналогична диалогу с мастером связывания и импортирования текстовых файлов. Благодаря связыванию и импорту данные из HTML-документов становятся доступными для запросов, форм и отчетов. Чтобы связать данные из HTML-доку мента (например, содержащего данные о поставщиках), выполните следующее. [*Е]
1. Откройте базу данных или активизируйте окно уже открытой базы данных и выберите команду Фа и л ^Внешние данные^Связь с таблицами, чтобы открыть диалоговое окно Связь.
Глава 20. Access и Internet
417
аЗэиззыэарег-стрироваияьипокупатеяей-Мй: Файл
Правка
Вид
-Избранное
^ Назад * . , •• к1 ;"; ,,
Сервис . Избранно
,: Поиск
Дагамказэ
1
2Q-OKT-20Q1
Наименование Лекарстяеюпя ф*ряа ТНОТРИЛЗОЛИН 0.1 №30 Общая сумма для текущем 1акиа
Яма покупателя
Цена 2бД1грн.
Стмт* 26,бОгрн.
Кол и
1
2о\60грн.
Дата хаха» Наюгеиокаккг
30>мвЙ-2001 Ля чрсти-нная форма
Цска
АЦЦЛОНГ-бОО
:
табл. шип. .№ 10
9,й2трн.
ЗЕРОКОЛД ЗОВИРАКС
'табп.№200 т. мазь 3% 4,3г
ЗЗ.ООгрк 50^7грк.
Сумма 18,84грн.
Ко л- ж*
2 1 i
,,
33,00грв. iO,i7rpit
ОЕщая сумма для техущетв lanaia Даташа» 23-окт-2001 НашаеножаянЕ НОВОЛАССЙТ 16ми2004(.
.
Костецкии О.Г.
j •
; j j j j Я
1 22,41 грн.
Лекарстве иная форма р-р 100 MD фп
Цена 3,72грн.
Кил-жо
Сумм» 26,16гря.
3
СтриоииЗ п ?
Пег-вая Пг-f дыдчщая Следующая ПОСЛЕДНЯЯ
| .
Мой иоипоютер
Рис. 20.3. Многостраничный отчет Заказы За регистрированныхПокулател ей экспортируется в формат HTML как несколько связанных Web-страниц
2. Выберите значение Документы HTML (*.html;*.htm) в поле со списком Тип файлов, а затем из раскрывающегося списка Папка — нужный диск и папку, в которой расположен нужный документ HTML. Щелкнув на кнопке Связь, вы начнете диалог с мастером связи HTML. 3. В первом окне мастера отображается макет таблицы HTML-файла и расположен флажок Первая строка содержит заголовки столбцов (рис. 20.4). Если это необходимо, установите данный флажок {как это следует сделать в нашем примере). Щелкните на кнопке Далее, чтобы продолжить работу мастера. 8»ГвязьН1М1 Установите этот флажок для нсшмьэоеання данных га первой строки в качестве имен . полай таблицы.
Код поставщика Название • - - *— СЮО Экзотика Hew Orleans Cajun Delights Gtrendjna K e l l y ' s Homestead Tokyo Traders j Cooperative de Quesos 'Las Cataras'
Обршваг Веронис She lies Recfina Yoshi J tntonic layuroi
1 2 2 3 jЭ 4 4 С 3
1
' б
< i d. i^/rr; Дополнительно,., j
la yum i л
fi J
X Отмена
j
Гг-.- -/.
flarwe>
1
COTDBQ
j
Рис. 20А В первом окне мастер создания связи с HTML-документом уточняет наличие заголовков столбцов в связываемых данных
418
Часть VI. Более сложные вопросы использования Access
Кнопка Дополнительно, расположенная в левом нижнем углу окна мастера, доступна на любом этапе работы мастера импорта/связи HTML-данных и позволяет задать в отдельном окне спецификации импортирования/связывания данных.
4. Новое окно мастера (рис. 20.5) позволяет выполнить настройки для каждого из столбцов связываемой таблицы: изменить или задать новое имя, а также переопределить тип данных. Чтобы выделить поле, щелкните на его заголовке в области просмотра. Если какое-либо поле импортироваться не будет, установите для него флажок не импортировать (пропустить) поле. Выполнив необходимые настройки, щелкните на кнопке Далее, чтобы продолжить процесс связывания.
Имеется воэясжность списате каждое попе импорта-. Выберите окна и ижегвпе сведения в области 'Описание поия", Описание поля до пола: |a«j>«oi»BiaiiimBi
поданных:-. [Длинное целое
_J Г"
ОО Экзотика со Orleans Caj)un Delights randma K e l l y ' s Homesteeui ofcyo Traders ooperativa de Ouesos ' Les Cabraa' 's
Дополнительно.
_-J
> импортировать (прйпуетить>поле
<Ьамл
Эеронт ^egina ТозЫ 1 Antonic tayuini
Далее >
Рис. 20.5. Мастер позволяет изменить для каждого из попей имена и типы данных, а также пропустить поле при связывании
5. В заключительном окне мастера укажите заголовок для таблицы базы данных, введя новый или оставив предложенное мастером имя HTML-файла. Щелкните на кнопке Готово, чтобы завершить связывание, а затем — на кнопке ОК небольшого окна сообщения об окончании операции связывания. Связанная таблица обозначена на вкладке Таблицы окна базы данных пиктограммой документа Internet Explorer и стрелкой (рис. 20.6). !ш Интернет~Ш1Т««в: база данных (фоума! Att.es
Сбъекты таблицы ' Запросы
-5J Создание таблицы в режиме конструктора •3J Создание таблицы с помощью мастера щ
Создание таблшы путем ввода лаинвв
-13 Десятка Д«7иви>иПдкупэте лей '13
Заказы
J Покупатели Макросы Модули ГруППЬ!
*;ЯЦ ;Поставщики: J
Поставщики!
+SS
Поставщики2
13
(Тжпар
Игранное
Рис. 20.6. HTML-файл, связанный с базой данных Access, обозначен в окне базы данных пиктограммой со стрелкой
Глава 20. Access u Internet
419
Для импорта данных из HTML-файла вместо команды Связь с таблицами выберите команду Файл^Внешние данные^Импорт, чтобы открыть диалоговое окно импорта. В отличие от процесса связывания, при импорте данных HTML-таблицы мастер предложит вам выбрать, куда будут импортированы данные — в новую или уже существующую таблицу. Кроме того, для импортируемой таблицы можно создать индексы и первичный ключ (как для уже имеющегося поля, так и добавить в таблицу новое ключевое поле с типом данных Счетчик).
Создание страниц доступа к данным Один из динамических типов Web-страниц, поддерживаемых программой Access, страницы доступа к данным, — это HTML-документы, которые присоединены к данным базы данных Access. Страницы доступа по своим функциям очень напоминают формы и отчеты Access, однако предназначены они для использования в Internet и intranet. Страницы являются объектами базы данных Access, только хранятся они не в соответствующем файле .mdb, а в одной из папок на локальном компьютере. На вкладке Страницы окна базы данных отображаются всего лишь ярлыки таких объектов. Страницы доступа, работать с которыми можно как в среде Access, так и в Web-браузере, позволяют не только просматривать динамические данные, но и вносить исправления в существующие записи таблиц, вводить новые записи и удалять неактуальные.
Использование инструмента Автостраница Открыв вкладку Страницы окна базы данных, можно (как и в случае с формами и отчетами) быстро создать простейшую страницу доступа к данным с помощью такого инструмента, как Автостраница. Новая страница доступа к данным будет включать все поля (кроме полей с рисунками) из указанного вами одного (!) источника данных. Чтобы воспользоваться помощью автостраницы, выполните следующее. 1. Щелкните на кнопке Создать панели инструментов окна базы данных. На экране появится диалоговое окно Новая страница доступа к данным (рис. 20.7).
автоматическое создание страницы доступа к данным с поляяи, расгпложенпыпи кодин столбец.
Выберите 6 качество мстсммикз данных таблицу или мпрос; >-.
Рис. 20.7 Диалоговое окно Новая страница доступа к данным включает мастер автостраниц
2. Щелкните на элементе Автостраница: в столбец. 3. Выберите из расположенного ниже раскрывающегося списка имя таблниы (или запроса), данные которой станут основой для будущей страницы, а зат-м щелкните на кнопке ОК. (В данном примере выбирается запрос ДесяткаАктивныхПокупателей.)
420
Часть VI. Более сложные вопросы использования Access
-t
На экране появится новая страница доступа к данным, отображающая по одной записи за раз (рис. 20.8). Чтобы сохранить ее, выберите команду Файло Сохранить (или щелкните на кнопке Сохранить панели инструментов Разметка страницы). £ Десятка Активны «Покупателей
СуммаЗакаэа:
1 074.42грн.
ИмяПокупателя:
; Фоминых Л. И.
Адрес: 1 Телефон
:ул Горького 44 кв.26 1044269141 "
Электронный АД peq [email protected] H I "
ДесяткаАктиеныхПокулателей I из 10
fe V
Рис. 20.8 Новый объект базы данных, созданный средствами автостраницы, в режиме просмотра При сохранении новой страницы доступа к данным ее ярлык (фактически это указатель на HTML-файл) отображается на вкладке Страницы базы данных. Сам файл сохраняется как файл с расширением .htmв вашем рабочем кататоге (например, в папке Мои документы).
На странице доступа к данным, ниже последнего поля и его надписи, располагается панель перехода по записям, где указан номер текущей записи и общее количество отображаемых записей (в нашем примере, как видно из рис. 20.8 и следует из названия базового запроса, таких записей — десять). Кроме того, панель перехода страницы обеспечивает следующие функции: переход между записями на странице, добавление записей в исходную таблицу или удаление их из нее (если это предусмотрено при разработке страницы), сохранение изменений, а также использование инструментов сортировки и фильтрации для просмотра записей. Технические подробности При сохранении страницы доступа к данным, например в папке Мои документы, программа Access выдает сообщение о том, что строка подключения, которая сообщает странице доступа к данным, где искать файл базы данных, сейчас определена как абсолютный путь (рис. 20.9). На данный момент вы можете не предпринимать никаких действий и просто щелкнуть на кнопке ОК, однако абсолютный путь, упоминаемый в данном сообщении, становится причиной проблем, если позже вы переместите страницу или файл базы данных в другую папку или на другой компьютер. В этом случае при попытке открыть страницу доступа к данным, используя Web-браузер, или отредактировать страницу средствами самой Access, будет получено сообщение об ошибке. Поэтому, учитывая перспективы работы в сетевой среде, программа Access рекомендует указывать путь к источнику данных в формате UNC {Universal Naming Convention — унифицированное соглашение об именах).
Глава 20. Access u Internet
421
Строка подключения для страницы соде позволит шдкяючатыи к данным страницы по нети, Чтобы инеть возможность -.лодкггечения по сети, гепените строку подключена и укажите сетевой nynj (в формате UMC). Т~" Бсдымече показывать зто(рвдугрежАвиие
Рис. 20.9. Программа Access предлагает изменить абсолютный путь в строке подключения на сетевой (формат UNC)
Знакомимся с возможностями мастера страниц доступа к данным Internet-технологии в применении к нашему конкретному примеру с Internetаптекой — это в первую очередь создание Web-страниц каталогов предлагаемых продуктов. Поэтому разработаем с помощью мастера страницу доступа к данным таблицы Товары базы данных Интернет-аптека. Чтобы создать страницу доступа к данным под руководством мастера, выполните следующее. igl 1. Щелкните на кнопке Страницы окна базы данных, а затем дважды щелкните на ярлыке Создание страницы доступа к данным с помощью мастера. На экране появится первое окно мастера создания страниц (рис. 20.10). M.it i IMS страниц Какие поля следует добавить на Допускается выбор нескольких таблиц или запросов.
ее >
I
Готово
Рис. 20.10. Создание страницы начинается с выбора источника данных
2. Окно выбора полей. Из раскрывающегося списка Таблицы и запросы выберите таблицу (или запрос), поля которой следует включить в страницу доступа. Такой таблицей в нашем примере будет таблица Товары. В области Доступные поля появится список полей указанной таблицы или запроса. 3. Переместите те поля, которые должны будут отображаться на странице доступа к данным, из списка Доступные поля в список Выбранные поля. Чтобы сделать это, щелкните на имени нужного поля, а затем — на кнопке со значком ">" (или просто дважды щелкните на имени поля).
422
Часть VI. Более сложные вопросы использования Access
4. Если необходимо использовать на странице поля из других таблиц, вернитесь к шагу 2 и выберите другую таблицу. (Помните о том, что между такими таблицами должны быть определены связи.) Когда список Выбранные поля будет полностью сформирован, щелкните на кнопке Далее, чтобы перейти к следующему этапу создания страницы. 5. Группировка записей. Следующее окно мастера позволяет выбрать уровни группировки. Чтобы задать группировку по определенному полю, щелкните на имени требуемого поля в списке слева, а затем — на кнопке со значком ">". На этом этапе все операции по созданию групп аналогичны выполняемым при разработке отчетов с помощью мастера. В качестве подсказки справа отображается образец будущей страницы отчета, соответствующий выбранному уровню группировки (в нашем примере полем группировки является поле Производитель, как показано на рис. 20.11). Чтобы перейти к следующему окну мастера, щелкните на кнопке Далее. 1 Мастере границ 1
роизводитель • ; ' . " '
Код Товаре | НаименовамиеТовара i Е дин ицаМзме рения I НалнчиеТсвара Актуальность ДатаРегистрацми
'
СодТоеарэ, НаименованиеТовара, •диниидИзперения, ЦенаТовара, НаличнеТоеара, Актуальность, ДатаРегистрации
. , . _*J .Уровень _J
1 тят
Группировка...
.
Отмена
< Назад
Далее >
|
Готово
1
Рис. 20.11. Укажите мастеру, по какому полю следует сгруппировать записи на будущей странице Чтобы указать требуемый интервал группировки, щелкните на кнопке Группировка. Для нашего примера этот шаг можно пропустить (по умолчанию принимается порядок группировки обычный), а если, предположим, записи необходимо сгруппировать по дате, с интервалом в квартал, то сделать это можно, выбрав в открывшемся диалоговом окне из списка Интервалы группировки опцию по кварталам, как показано на рис. 20.12. 6. Сортировка данных. В следующем окне мастера укажите порядок сортировки для записей, которые будут отображаться в группах. Мастер позволяет выбрать до четырех полей сортировки (в нашем примере это поле НаименованиеТовара). Выполнив нужные настройки, щелкните на кнопке Далее. 7. В последнем окне мастера (рис. 20.13) следует ввести заголовок для будущей страницы. Кроме того, мастер предлагает вам попробовать себя в роли дизайнера Web-страниц и выбрать подходящую тему для страницы. Для этого выберите переключатель Изменить макет страницы и установите флажок Применить тему к странице. Затем щелкните на кнопке Готово. Выдержав многозначительную паузу, мастер создает новую страницу, открывает ее, а вместе с ней — диалоговое окно Тема (рис. 20.14), в левой части которого представлен список всех доступных тем. Область справа демонстрирует, как бу-
Глава 20. Access и Internet
423
дет выглядеть новая страница. Ознакомившись с доступными вариантами, щелкните на наиболее подходящем (например, Лезвие), а затем — на кнопке ОК. Новая страница будет открыта в режиме конструктора, работа с которым из-за ограниченного объема данной книги не рассматривается. На данном этапе мы заменим строку Название страницы на необходимый заголовок, например Ассортимент товаров, как показано на рис. 20.15. Чтобы выйти из режима конструктора, щелкните на кнопке со стрелкой Вид и выберите команду Просмотр страницы. Наконец, новый объект базы данных — страница доступа к данным — создан (рис. 20.16).
KM Л11е рва пм г ру ппирввки Кэиь д|
..^
^
валы гр1тгетевки ташек.
Задайте необходимые
„
Интервал гвупгировкй:
«олягруппировки:
_и
Акту ЗДатаРегистраци обыЧНЬ'Й
по гддан_
иитг'г
по несилен по каделяп по дням по часам по минут»* Отиана "\
COTOBQ
Рис. 20.12. Выбор интервала группировки
Мастер страниц I Ate op тигеп тТсеэрое
Укиаиы все нвобходиньи яаетчрусвв/вния для гсоисню страницы. . Открыть страницу в Access или изменить ее накет? '
Открыть стрелку,
" №>нй№пь MsKet «транииы: р Орииеннть TMW к странице?; _ Г Вывести £прае«у по работе со страницей? Отмена
< йамд
1
; '<• :
Готова
Рис. 20.13. Укажите заголовок и подумайте о выборе темы для страницы
8. Чтобы сохранить созданную страницу (в HTML-документе), выберите команду Файл^Сохранить (или щелкните на кнопке Сохранить панели инструментов). В открывшемся диалоговом окне Сохранение в виде страницы доступа к данным укажите имя нового файла и щелкните на кнопке Сохранить.
424
Часть VI. Более сложные вопросы использования Access
ас над Квадрант Кирпич <омпас Контраст Копирка Л
^Маркированный список 2 -* Маркированный список 3 Горизонтальная пиния:
Небо Отражение Папирус Перетекание "k-nceri Тласты Полоски 1рон зводственмая
Заголовок 2
,_.
Агтиеная графика
Образец обычного текста 1:
.. ;- .',
№ЮЕ1ка |
-.
,- ,-
- :-„_"}.'-.
НаДПИСЬ Данные
Рис. 20.14. Благодаря темам стандартная страница заметно преображается
Ассортимент товаров Заголовок; Товавы-Прошводите» »
т
Производитель
!
Заголовок; Товары "
;-Наименовзние :Код товара . .Лекарственная Цена -Наличие \
• J"
Рис. 20.15. При использовании темы завершить создание страницы следует в режиме конструктора вводом вручную заголовка страницы
Теперь посмотрим на новую страницу внимательнее. Как видно из рис. 20.16, на странице отображается только одно поле — это поле группировки Производитель вместе со своей надписью, слева от которой расположена кнопка развертывания (со знач-
Глава 20. Access и Internet
425
ком "плюс"). Щелкните на этой кнопке, и на странице будет отображена информация следующего уровня (о конкретном товаре указанного в поле группировки производителя), а вместо кнопки развертывания появляется кнопка свертывания (со знаком "минус"), как показано на рис. 20.17. Поскольку при создании страницы записи были сгруппированы, на странице отображаются две панели перехода по записям: для поля группировки (Производитель) и для записей внутри самой группы. (Г Accoprnnem Товаров
Ассортимент товаров | ~.И
Производитель «
[Aventis pharma
. Товары-Гвсюврдитель i т 22
> И ** >Х ^ ">' *т I
Рис. 20.16. Так выглядит новая страница доступа к данным
ft АссортиментТоваров
Ассортимент товаров Q
Производитель
'Aventis pharma
Наименование.
! фестал
Код товара Лекарственная
:др. Naido
Цена
19,67грн.
Наличие
F
Актуальность
F?
Дета регистрации | 4
-
13-мар-02
Товары 1+el Товары-Праюводитепь I из ZZ
.-1
Рис. 20.17. Страница доступа к данным после щелчка на кнопке развертывания
Результаты своей работы можно просмотреть и в Web-браузере Internet Explorer. В окне базы данных щелкните правой кнопкой мыши на нужной странице и выберите из появившегося контекстного меню команду Предварительный просмотр веб-страницы. На рис. 20.18 загружена страница D:\1XP\SAMS2003_WORK\CHAPTER20\DATABASE20\
Ассортимент-Товаров.htm, созданная мастером страниц.
Сохранение объектов Access в виде страниц доступа к данным Одна из полезных возможностей программы Access 2003 — это сохранение таких объектов базы данных, как таблицы, формы, запросы и отчеты, в виде страниц доступа к данным (естественно, с неизбежной последующей доработкой макета страницы
426
Часть VI. Более сложные вопросы использования Access
в режиме конструктора). Сохранить любой вышеназванный объект в виде страницы можно с помощью команды Файл^Сохранить как. В открывшемся диалоговом окне сохранения (рис. 20.19) следует указать имя новой страницы и выбрать в списке Как элемент Страница доступа к данным. После сохранения новая страница откроется в режиме просмотра страницы. На рис. 20.20 показана новая страница доступа к данным Заказы, открытая уже в Web-браузере Internet Explorer.
Файл
Правка
Вил ;
" '~-
'
Избранное
.'. *£;
Сервис
,* : : , - - " Поиск
Справка "".- Избранное
щЦрМедиа
"
-
:'i
jD:UXP\SAMS2003_WORK\CHAPTER2CHDATABASE20lAreopi>iMeHTToeapOB.htm
Ассортимент товаров в
Производитель • БАЙЕР Наименование ; \ нймбтол Код товара Лекарственная ;эо мг №100 Цена Наличие .Р" Актуальность. . . ;Г _ Дата регистрации [ Те-июл-02 Н
<
4
2Э9.00грн.
Томрьиия Тоеары-Прои»одитвгьг>е22
[Готово
Рис. 20.18. Страница доступа к данным таблицы Товары в Web-браузере ft Интерне т -аптека : база дак№(1н (фздзмат *£i
•
|Щ
^.-Т]От>фыть. Й^&онсОбъекты --7
щ
Создание тайпицы в режиме конструктора
J
ПрвпаратыГалена „исходная
L3 Содержамие3ака)0е [' Э Создание табпицьр с помощью пастора Щ Создание табпииыН нрамени Р ZL*J ' ' "™Э" Эл посы ^* !3 Десягк а АктувкыхГ 1 Сохранение объекта Табпша Заказы' в: Ч • "_Л Форин *S Диапазон 1Ворей 1 Зекам j i3 Отчеты ~jf "" Заказы Отмена ! Сак 3 Покупатепн j *^ СТранЯ1Ы • j 3 Поствещики] Таблица •j; Мафосы . ]: Таблица *fl Поставщик и2 ЛВДИА ; - лС" Мадуяи 3] ПрепаратыБайер _ Отчет ; :
3 Таблица .
группн .„...
1
л!
Рис. 20.19. В диалоговом окне Сохранение укажите имя страницы и выберите из списка доступных форматов сохранения элемент Страница доступа к данным
Глава 20. Access и Internet
427
Щзэквзы- Microsoft Internet ЕщЖннг Файл
Правка
ид
Избранное
[
Сервис Поиск
:
- •;•
Справка - Избранное ^ Медиа
%'
,-.. •I'lgJ Переход" Ссыпки
Адрес ||lij D:\iXP\SAMS2a03_WORK\CHAFTER2rj\DA-tABU5E:0\3an33bi.htrn Код заказа
»
1 2.
3: 5 67. 8,
9; 10! 11 '1
1
Дата заказа 12-янв-01 24-фев-01 . 24-фев-01 : 20-ыар-О! i 20-апр-01 . ЗО-апр-01 ; 05-маЙ-01 20-май-01 22-МЭЙ-01 16-июн-01
Код
1
2 3
4 4 'i
Б 7 3
Имя получателя Адрес получателя Куликов В. С. 1 Петровского 7 кв. Тимофеев А. С ;УЛ Верхняя 12 кв. 27 Горцин В. П. УЛ Радужнан 43 кв. Васильева Н И. .,•-, Петровского 23 Дольский Л.О. УЛ Л Украинки 24 Фоминых Л И. Горького 44 кв. 26 Кипичков В.П '•' Победы 20 ке. 220 Костецкий О.Г. "••• . Речной 3 кв. 16 Голуб О.П i Политехническая Павленко А.З. .Vfl Строительная 15
Заказы ЫОогЗ! '
Им > к* я/ *"
Телефон 0442231516 0444124523 0445421823 0442282030 0442956723 0442691412 0444408627 0444163473 0444417878 0442125622 с,* £Л
\
•i£j Готово
- • jto
,'
>l
Электронный адрес ( kulik^vit.com [email protected] .porc^mail.ru nvasiNeva^tkrn.ccim [email protected] kiricri@£osl ua olepjgjchvtel. corn.ua
ksenia^i.com ja [email protected]
-
f
g
i Мой компьютер
Рис. 20.20. Страница доступа к данным Заказы во многом соответствует макету таблицы Заказы в режиме таблицы. Одновременно может отображаться 10 записей
Гиперссылки — ввод и использование Гиперссылка, как и положено любой ссылке, указывает на какой-либо объект. А вот приставка "гипер-" свидетельствует о широких возможностях, которые открывает использование такого средства, как гиперссылка. К объектам, которые могут находиться "в поле зрения" гиперссылки, относятся Web-страницы, адреса электронной почты, файлы локального компьютера или непосредственно объекты Access (например, форма или отчет). Щелчок на гиперссылке позволяет перейти к новому объекту, местоположение которого также может быть разным: в сети Internet, во внутренней сети intranet или на одном из дисков локального компьютера. Для хранения адресов гиперссылок в таблицах Access предусмотрен специальный тип данных — Гиперссылка, о чем уже упоминалось в главе 4, Реляционные базы данных и их планирование. Данные в поле гиперссылки могут выглядеть, например, так, как показано на рис. 20.21 (поле Домашняя страница). Порядок включения в таблицу поля гиперссылки ничем не отличается от использования полей другого типа. Простейший пример использования поля гиперссылки — это указание в таблице сведений о Webстраницах производителей.
Рис. 20.21. Для адресов гиперссыпок в Access предусмотрен специальный тип данных Гиперссылка
428
Часть VI. Более сложные вопросы использования Access
Формат гиперссылок в Access Данные типа Гиперссылка имеют свой формат и могут включать до четырех частей, разделенных символами #: экранный текст#адрес#дополнительный адрес#подсказка • Экранный текст. Текст, который отображается в поле или элементе управления. Может иметь пояснительный характер или указывать подробное имя объекта, определяемого адресом. Необязательный компонент. • Адрес. Адрес гиперссылки может быть оформлен как адрес URL (Uniform Resource Locator — унифицированный указатель ресурсов) или путь UNC. Обязательный компонент гиперссылки. • Дополнительный адрес. Указывает на конкретный объект (например, форму базы данных) или положение в документе. Необязательный компонент. • Всплывающая подсказка. Появляется при наведении указателя на гиперссылку. Необязательный элемент. Теперь рассмотрим, как отображаются ссылки на экране. •
Если в адресе гиперссылки указан компонент экранный текст, то на экране появится только он. Например, если адрес гиперссылки задан как 000 Экзотика^ http://www.exotica.ru, на экране будет отображаться текст ООО Экзотика, а при наведении указателя на ссылку— URL-адрес http://www.exotica.ru.
•
Если экранный текст не введен (например, www.neworleans.com), будет отображаться только адрес (как в самом поле таблицы — www.neworleans.com, так и в качестве подсказки — http://www.neworleans.com). То есть введенный адрес гиперссылки www. neworleans . com воспринимается программой Access как www.newerleans.com#http://www.neworleans.com#.
• Следующая гиперссылка: Форма "Товары" # С : \ М о и д о к у м е н т ы \ И н т е р н е т - а п т е к а .mdb#Form ТоварыйЩелкните, чтобы перейти к форме "Товары"
включает все компоненты: экранный текст — Форма "Товары"; адрес в виде UNC-пути — С : \Мои документы\Интернет-аптека .mdb; дополнительный адрес — Form Товары; всплывающую подсказку— Щелкните, чтобы перейти к форме "Товары" и указывает на форму Товары в базе данных Интернет-аптека, расположенную в папке С:\Мои документы. На экране ссылка отображается как текст Форма "Товары", а при наведении на нее указателя появляется текст подсказки Щелкните, чтобы перейти к форме "Товары" (рис. 20.22).
Щелкните, чтобы перейти к форпе "Тоыры*
Рис. 20.22. Адрес гиперссылки для обращения к форме Товары базы данных Интернет-аптека
Глава 20. Access и Internet
429
Помните, что в URL-адресах используется обычная косая черта {/), а в UNC-адресах обратная (\).
Ввод и редактирование гиперссылок По причине своей некоторой "замысловатости" гиперссылки стоят особняком в ряду данных Access других типов, и работа с ними заслуживает более пристального рассмотрения. Для ввода UNC- или URL-адресов (как правило, это ссылки на Webстраницы или файлы, хранимые на вашем компьютере или в локальной сети) в поля с типом данных Гиперссылка гораздо удобнее пользоваться не клавиатурой, а возможностями специального диалогового окна Добавление гиперссылки (рис. 20.23). 1 Лпбавленкю петепссьшкя Сюоеггьс:
За
файлом, веб-страиицей
аЯ-ьектонв базе данны*
НОВОЙ
страницей
Текст
••••••ШН^ННН&НННВШВНМПВ
:]C:l
Папка: текущая папка Просмотрен ныв стра*щы
ACCESS
_2003\Ана
л
•«J ACCESS_3303
rt> _»j
продаж, gTj|
?^й«апиз продаж .htm
-Лодскажа...
jgH jg] gj
--Заюидка...'
:^ Клиенты. htm | <^Й Обзор iaKel50B.htlTi
Уде Обзор товаров .Mm
:iffi Сведения о икаэах клнвмтов.Ит : -<Щ Сотрудники. htm послед!»* j 'ОД Список мрегпстрир званных кпиеитов.ЬЬп файлы
Адрес:
ad htm
|
|C:\ACCESS_20D3\ Анализ продаж. htm
электронной ПОЧТОЙ
<Ж
]
Отаенв
1
Рис. 20.23. Диалоговое окно Добавление гиперссылки значительно облегчает работу с гиперссылками
Работа с окном Добавление гиперссылки [Ж]
Для вызова окна Добавление гиперссылки установите указатель в пустую ячейку поля гиперссылки открытой таблицы и выберите команду Вставка^Гипересылка или щелкните на кнопке Гиперссылка панели инструментов Таблица в режиме таблицы. Окно Добавление гиперссылки предоставляет различные возможности в зависимости от того, какого типа ссылку вы хотите создать. Пиктограммы панели Связать с (см. рис. 20.23) дают представление о том, доступ к каким объектам вы можете организовать с помощью гиперссылки: к существующему файлу или Webстранице, объекту текущей базы данных, к странице доступа к данным и, наконец, к электронному адресу. Кратко остановимся на всех этих режимах работы диалогового окна. Итак, создаваемая гиперссылка может указывать на следующие объекты.
ГЦ • Существующий файл или Web-страница. Для выбора существующего файла или Web-страницы щелкните на соответствующей пиктограмме Связать с и либо введите имя файла или Web-страницы с клавиатуры, либо выберите его из списка текущая папка, просмотренные страницы или последние файлы. [£| • Какой-либо другой объект в текущей базе данных. Для связи с объектом в текущей БД щелкните на соответствующей пиктограмме панели Связать с. В центральной области окна будет отображен список объектов текущей базы 430
Часть VI. Более сложные вопросы использования Access
данных, сгруппированных по типам: таблицы, запросы, формы, отчеты, страницы, макросы и модули. Щелкните на знаке "плюс" (+), чтобы открыть нужный список объектов, а затем — на объекте базы данных, на который необходимо установить ссылку. • Новая страница доступа к данным. Чтобы указать ссылку на создаваемую новую страницу доступа к данным, щелкните в списке на пиктограмме Связать с новой страницей, введите имя нового документа, щелкните на кнопке Изменить, если есть необходимость изменить путь к новой странице, а также укажите, хотите ли вы отредактировать новую страницу сейчас или сделаете это позднее. После щелчка на такой гиперссылке программа Access создает в текущей БД новую страницу доступа к данным с указанным вами именем и расширением .htm. Ш| • Электронный адрес. Чтобы указать адрес электронной почты, на который должна указывать ссылка, щелкните в списке на пиктограмме Связать с электронной почтой, а затем введите нужный адрес и тему сообщения, которое будет создаваться после щелчка пользователя на данной гиперссылке. Адрес можно также выбрать из списка недавно использовавшихся адресов электронной почты. Префикс mail to: в гиперссылке программа Access добавляет автоматически. Независимо от того, с каким объектом устанавливается связь посредством гиперссылки, в окне Добавление гиперссылки всегда присутствуют следующие элементы: поле Текст (используется для ввода текста, который будет виден пользователю при отображении гиперссылки на экране в режиме таблицы, в форме или отчете), кнопка Подсказка (щелкните на этой кнопке, чтобы ввести текст всплывающей подсказки) и кнопка Удалить ссылку (удаляет гиперссылку).
Вносим изменения в гиперссылку В отличие от данных других типов, отредактировать гиперссылки непосредственно в ячейке открытой таблицы вам не удастся, ведь щелчок на гиперссылке просто откроет для вас новый объект, на который эта ссылка указывает. Чтобы все-таки добраться до нужной гиперссылки и внести требуемые изменения, обратитесь к одному из следующих способов. • Воспользуйтесь клавишей <ТаЬ> (или клавишами со стрелками), чтобы перейти к нужной ячейке поля гиперссылок, а затем выберите команду Вставка^ Гиперссылка (или щелкните на кнопке Гиперссылка панели инструментов), чтобы открыть диалоговое окно Изменение гиперссылки. • Щелкните на ячейке с нужной гиперссылкой правой кнопкой мыши, чтобы получить доступ к контекстному меню, и выберите из него команду Гиперссылка1^ Изменить гиперссылку. Все дальнейшие операции выполняются в окне Изменение гиперссылки. • Если вы готовы работать с гиперссылкой в ее исходном формате, перейдите к нужной ячейке с помощью клавиши <ТаЬ> (или клавиш со стрелками), а затем нажмите клавишу .
Резюме Эта глава дает общее представление о тех возможностях программы Access, которые позволяют сделать информацию из таблиц баз данных, результаты выполнения запросов, а также формы и отчеты доступными через Internet. He углубляясь в техни-
Глава 20. Access и Internet
431
ческие подробности, связанные с публикацией данных в Web, глава знакомит с основными средствами Access для подготовки данных к такой публикации. Access поддерживает два режима отображения информации из баз данных — статический (с помощью экспорта данных таблиц, запросов, форм и отчетов в статические HTML-документы) и динамический (благодаря таким объектам базы данных Access, как страницы доступа к данным). Такие страницы могут использоваться как в среде Access, так и при запуске Web-браузера Internet Explorer версии 5 и. выше и позволяют просматривать содержимое таблиц баз данных, редактировать в интерактивном режиме существующую информацию, а также выполнять операции сортировки и фильтрации для записей таблиц. Простейший способ создания страницы доступа к данным — это автостраница. Страницы с более сложным макетом, уровнями группировки и стилевым оформлением лучше разрабатывать под руководством мастера создания страниц. Еще один "экспресс"-способ создания страниц базы данных — это использование команды Файл^Сохранить как, которая обеспечивает сохранение таких объектов Access, как таблицы, формы, отчеты и запросы в виде страниц доступа к данным. Для хранения в таблицах Access адресов гиперссылок предусмотрен специальный тип данных — Гиперссылка. Гиперссылки в Access можно ввести как непосредственно в поля таблиц базы данных, так и добавить в отчет (такие ссылки станут активными при экспорте отчета в Word, Excel или HTML) или форму (например, создав специальную кнопку, щелчок на которой обеспечивает переход по адресу гиперссылки). Формат адреса гиперссылки включает четыре компонента, от выбора которых зависит, как будет выглядеть ссылка на экране и какой текст будет появляться при наведении на гиперссылку указателя. Для ввода и редактирования гиперссылок в Access удобнее пользоваться средствами специальных диалоговых окон.
Тесты Проконтролируйте себя, ответив на вопросы следующих тестов. Ответы на них указаны в приложении в конце книги.
Найдите правильный ответ Некоторые вопросы могут иметь несколько правильных ответов. 1. Создать статическую HTML-страницу, отображающую данные одной из таблиц Access, можно следующими способами: а) с помощью команды Файл^Создать; б) с помощью команды Файл^Экспорт, выбрав в диалоговом окне Экспорт объекта (поле Тип файла) опцию Документы HTML; в) с помошью средств автостраницы; г) в режиме конструктора отчетов. 2. Мастер импортирования данных из HTML-документов позволяет выполнить такие действия: а) задать новое имя для любого поля; б) в процессе импорта откорректировать данные в текстовом файле; в) изменить тип данных для поля; г) исключить поле при импорте.
432
Часть VI. Более сложные вопросы использования Access
3. Создать страницу доступа к данным в программе Microsoft Access можно таким образом: а) с помощью средств автостраницы; б) следуя указаниям мастера создания страниц; в) с помощью команды Файл ^Создать; г) "с нуля" в режиме конструктора страниц; д) сохранив существующий объект базы данных с помощью команды Файло Сохранить как (в формате Страница доступа к данным). 4. Мастер создания страниц доступа позволяет выполнить следующие действия: а) указать не более трех полей сортировки записей; б) модифицировать заголовки полей будущей страницы доступа к данным; в) включить в страницу поля из нескольких таблиц; г) применить операции группировки записей; д) изменить стиль оформления страницы. 5. Чтобы создать новую страницу доступа к данным, полагаясь на помощь специального мастера, необходимо следующее: а) дважды щелкнуть на ярлыке Создание страницы доступа к данным с помощью мастера вкладки Страницы окна базы данных; б) открыть вкладку Страницы окна базы данных и выбрать команду Файл*? Создать главного меню; в) выбрать команду Вставка^Страница главного меню, а затем выбрать пункт Мастер страниц в открывшемся диалоговом окне Новая страница доступа к данным; г) открыть вкладку Страницы окна базы данных, щелкнуть на кнопке Создать и выбрать пункт Мастер страниц в открывшемся диалоговом окне Новая страница доступа к данным. 6. В виде страниц доступа к данным можно сохранить следующие объекты Access: а) отчеты; б) таблицы; в) запросы; г) формы. 7. Какой текст подсказки будет отображаться при наведении указателя на следующую гиперссылку: 000 Экзотика* http://www.exotica.ги##Домашняя страница 000 Экзотика а) http://www.exotica.ru б) ООО Экзотика в) Домашняя страница ООО Экзотика г) ООО Экзотика http://www.exotica.ru 8. Чтобы отредактировать гиперссылку, следует поступить так: а) разместить с помощью мыши точку вставки в нужном месте редактируемой гиперссылки, а затем удалить необходимые символы (пользуясь клавишами и ) и, если нужно, ввести новые;
Глава 20. Access и Internet
433
б) перейти в нужную ячейку поля гиперссылок с помощью клавиши <ТаЬ>, а затем нажать клавишу ; в) щелкнуть правой кнопкой мыши на нужной гиперссылке и выбрать из от1 крывшегося контекстного меню команду Гиперссылка ^ Изменить гиперссылку; г) перейти в нужную ячейку поля гиперссылок с помощью клавиши <ТаЬ>, а затем выбрать команду Вставка ^Столбец гиперссылки.
434
Часть VI, Более сложные вопросы использования Access
Приложение
Ответы к тестам В данном приложении можно ознакомиться с правильными ответами к тестам, которые были предложены в конце каждой изучаемой главы. Ответы к тестам каждой из глав представлены в виде отдельной таблицы. В первом столбце такой таблицы укатаны номера тестовых вопросов, во втором — пункт (или пункты), соответствующие правильному ответу на поставленный вопрос, и, наконец, третий столбец включает ссылки на раздел главы, в котором изложена соответствующая информация. Если тестовый вопрос сформулирован на основании материала главы в целом, ссылки на конкретные разделы не указываются. Кроме того, в последнем столбце таблицы приводятся комментарии к тем вариантам ответов, которые требуют некоторых пояснении или уточнений.
Глава 2 Номер вопроса
Правильные ответы
Комментарий и источник дополнительной информации
1
а), б), г)
Раздел Запуск и завершение работы приложения
2
б), г)
Раздел Запуск и завершение работы приложения
3
а), в)
Раздел Основные элементы интерфейса Access 2003
4
а), в), г)
Раздел Основные элементы интерфейса Access 2003
5
б), в)
Раздел Основные типы окон
6
а), б)
Подраздел Окно базы данных
7
а), в)
Подраздел Окно таблицы
В
а), в)
Раздел Область задач, панели инструментов и меню
9
а), б), в)
Ответ а) — да, если команда продублирована кнопкой панели инструментов. Раздел Область задач, панели инструментов и меню
10
б), в)
Раздел Область задач, панели инструментов и меню
.
Глава 3 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), б), в)
2
б)
3
в)
Раздел Вызов помощника Microsoft Office
б)
Ответ а) — результатом ваших действий будет временное сокрытие помощника, а не его отключение. Раздел Вызов помощника Microsoft Office)
4
в), г)
Раздел Вызов помощника Microsoft Office
Ответы а), б) — в ответ на ваши действия программа Access предложит выполнить поиск непосредственно в справочной системе. Раздел Справка об элементах интерфейса диалоговых окон
Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
6
а), б), г)
7 8
а), в), г) б), в)
Раздел Область задач Справка Access Раздел Область задач Справка Access Подраздел Поиск справочной информации в Internet
Глава 4 Правильные Комментарий и источник дополнительной информации
Номер
вопроса
ответы
1
6)
2 3
б) б), в), г)
4
а), б)
5
а), в)
6 7
а) а), б)
Раздел Типы данных и их представление Раздел Типы данных и их представление
8 9 10
а), б), г) а), б), г) б)
Раздел Типы данных и их представление Раздел Основы проектирования баз данных Раздел Основы проектирования баз данных
Ответ в) — правильнее будет сказать, что Access допускает импорт данных из электронных таблиц такой, например, программы, как Microsoft Excel. Раздел Немного теории Подраздел Таблица Ответ г) — да, но только в том случае, если тип поля определен, как текстовое, а значением поля будет некоторый текст, включающий символьное представление значения даты, например символьная строка: Дата рождения: 12 марта 1850 гола, Подраздел Поля, раздел Типы данных и их представление Ответ в) — данное условие может выполняться, но не является обязательным. Подраздел Ключ, раздел Типы данных и их представление Ответ а) — да, если их длина не превышает 255 символов. Раздел Типы данных и их представление
Глава 5 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1 2
б), в) в)
Подраздел Способ создания базы данных Подраздел Выбор формата для новой базы данных
3
а}, в), г)
Л 5
а) а), б), в), г)
6
б), в), г)
Подраздел Создание пустой базы данных, раздел Создание базы данных с помощью шаблона Раздел Создание пустой базы данных Ответы 6) и в) — да, при условии, что с этой базой данных недавно работали. Ответ г) — да, но только для учебных баз данных. Подраздел Как открыть безу данных Подраздел Как закрыть базу данных
1 8
а), г) б), г), д)
Раздел Создание базы данных с помощью шаблона Раздел Создание базы данных с помощью шаблона
436
Приложение. Ответы к тестам
Глава 6 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), 6), в), г)
2
а), г)
3
а)
Подраздел Выбор первичного ключа
4
а), в)
Ответ в) — да, при условии, что в этих текстовых полях не будет повторяющихся значений и Null. Подраздел Выбор первичного ключа
5
б), в)
6
а), в)
Раздел Изменение типа полей и реорганизация таблиц
7
а), 6)
Ответ б) — да, верно только в том случае, если в текстовом поле хранились символьные представления числовых величин. Подраздел Изменение типов и размеров полей
8
а), 6)
Подраздел Изменение типов и размеров полей
9
а), в)
Подразделы Копирование таблиц в базе данных и Копирование таблицы в другую базу данных
10
а), 6)
Подраздел Переименование таблицы
Раздел Создание таблиц с помощью мастера
Глава 7 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1 2
а), 6}
\
б), в), г)
Раздел Добавление записей в таблицу Ответ а) — данная команда имеет несколько иное назначение, а именно: она сохраняет макет объекта в режиме таблицы или структуру таблицы. Ответ г) — это действие является достаточным для сохранения записи, но вовсе не обязательным
в)
Подраздел Вводим в таблицу первую запись
4
в)
Подраздел Вставка новых записей в таблицу
6
а), б), г)
Раздел Навигация по таблице
7
б)
Можно поступить и по сценарию, предложенному в пункте а), однако делать это стоит только при наличии веских к тому оснований. Например, когда большое текстовое поле редактируется путем вставки в него данных из буфера обмена, и сделать это проще, чем исправлять значение поля посимвольно
8
в)
9
а), г)
10
в)
Подраздел Редактирование содержимого поля Подраздел Редактирование содержимого поля Раздел Удаление и восстановление записей
Приложение. Ответы к тестам
437
Глава 8 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
в)
Раздел Форматирование данных
2
в)
Подраздел Текстовые и МЕМО-поля
3
б)
4
6), в)
Раздел Использование масок ввода и проверка значений
5
а), в)
Раздел Использование масок ввода и проверка значений
6
а), в)
Подраздел Изменение ширины столбца
7
б), в)
Подраздел Изменение высоты строки
8
6), г)
Подраздел Выбор используемых шрифтов
9
а), г)
Раздел Изменение внешнего вида таблицы
10
а), 6), г)
Подраздел Отображение и сокрытие столбцов
Подраздел Числовые и денежные поля
Глава 9 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1 2
а), б), г) а), б), в)
Раздел Простейший инструмент — автоформа
3
б), в), г)
Раздел Создание форм с помощью мастера
4
а), в),
Ответ г) — да, если эти таблицы связаны. Раздел Создание форм с помощью мастера
5
а), в)
Ответ в) — да, однако изначально такой элемент управления будет свободным, и для привязки его к конкретному полю таблицы необходимо будет указать имя этого поля в свойствах элемента управления. Подраздел Использование элементов управления
6
б), в), г)
Ответ в) — да, если элементы управления являются смежными. Подраздел Перемещение элементов управления
7
а), в), г)
Подраздел Изменение размеров элементов управления и надписей
8
а), г)
Подраздел Разделы формы
9
б), в)
Подраздел Создание списка или поля со списком
10
а), в), г)
Подраздел Создание элемента управления Кнопка
11
б)
Подраздел Порядок обхода полей
12
б), в), г)
Подразделы Форматирование текстовых элементов в форме и Средство Автоформат
438
Приложение. Ответы к тестам
Глава 10 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы б) в) б)
Раздел Определение связей между таблицами Раздел Определение связей между таблицами Ответ в) — нет, так как поле с типом данных Счетчик можно связать и с числовым полем, у которого свойство Размер поля имеет значение Длинное целое. Раздел Определение связей между таблицами
б), в)
Раздел Обеспечение целостности данных в базе
а), г)
Раздел Обеспечение целостности данных в базе
б), в)
Раздел Обеспечение целостности данных в базе
а), в)
Ответ а) — да, однако это лишь подготовительный шаг. Далее следует открыть окно Изменение связей и указать в нем нужные параметры и опции. Подраздел Редактирование и удаление межтабличных связей
В
а), б), г)
Раздел Индексация данных
9
б), г)
Раздел Индексация данных
10
а), в)
Раздел Многотабличные формы
Глава 11 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), б), в), г)
Раздел Поиск и замена данных в таблицах
2
6). в)
Раздел Поиск и замена данных в таблицах
3
а), 6)
Ответ б) — да, но только в том случае, если для таблицы не определен первичный ключ. Ответ в) — верен только в том случае, если первое поле является ключевым. Раздел Сортировка данных
4
б), г)
Раздел Сортировка данных
5
б), в), г)
Раздел Фильтрация данных,
6
а), б), г)
Подраздел Фильтр по выделенному
7
б), в), г)
Подраздел Фильтр по форме
8
б), г)
Подраздел Фильтр по форме
9
а), б), г)
Подраздел Расширенный фильтр
10
а), г)
Подраздел Расширенный фильтр
Приложение. Ответы к тестам
Глава 12 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), в), г)
Ответ б) — нет, фактически это разновидность запроса на выборку. Раздел Классификация запросов
2
а), б), г), д)
3 4 В
б), в), г) а), б), в) а), б), г)
6 7
а), в), г) а), в)
Ответ в) — да, если на завершающем этапе работы мастера выбрать опцию Изменить макет запроса и перейти в режим конструктора запросов. Ответ г)—да, если между этими таблицами в базе данных установлены связи. Раздел Создание запроса с помощью мастера простых запросов Раздел Создание запроса с помощью мастера простых запросов Раздел Конструктор запросов Ответ а) — да, но в бланке запроса все поля будут представлены только одним столбцом с таким именем, например, как Сотрудники.'. Раздел Конструктор запросов Раздел Конструктор запросов Ответ б) — да, но только в том случае, если вы хотите сразу удалить из бланка запроса все поля.
Глава 13 Номер
Правильные Комментарий и источник дополнительной информации
1
в)
2
б)
вопроса
ответы
Раздел Комбинирование условий с помощью логических операторов And и Or
Раздел Комбинирование условий с помощью логических операторов And и Or
3 4 5 в
в) в) 6) а), в)
7
б)
8
б), в)
Раздел Групповые операции и вычисления Раздел Групповые операции и вычисления Раздел Групповые операции и вычисления Ответ б) — да, если для данного поля снят флажок опции Вывод на экран. Раздел Вычисляемые поля Ответ в) — да, если имена таблицы и поля не содержат пробелов и других знаков пунктуации. Раздел Вычисляемые поля Раздел Перекрестные запросы
Глава 14 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответь!
1
б),в),д)
Раздел Общая информация о запросах не изменение
2
б), в)
3
б), в)
Раздел Общая информация о запросах на изменение Раздел Запрос на создание таблицы
4
а), в), г)
Раздел Запрос на добавление записей
440
Приложение. Ответы к тестам
Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
5
в)
Раздел Запросы не удаление
6
б)
7
а), б)
Ответ 6} — да, но такой подход неприменим к таблицам большого объема. Раздел Массовое обновление денных
в
г)
Раздел Массовое обновление данных
Раздел Массовое обновление данных
Глава 15 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), 6), г)
Раздел Что такое отчет
2
6), в)
Раздел Автоотчет — простой, но мощный инструмент
3
а), в), д)
Ответ в) — да, если эти таблицы связаны. Раздел Использование мастера отчетов
4
б), в), г)
Раздел Использование мастера отчетов
5
а), 6). г)
Раздел Режим предварительного просмотра и печать отчетов
6
6), в), г)
Раздел Режим предварительного просмотра и печать отчетов
7
а), в), г)
Раздел Режим предварительного просмотра и печать отчетов
6
а), в)
Раздел Режим предварительного просмотра и печать отчетов
Глава
16
'
Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1 2
а), в), г) а), в), г)
3
б)
Подраздел Форматирование отчета
4
г)
Подраздел Форматирование отчета
5
в)
Ответ б) — нет, так как в этом случае не изображение "подстраивается" под размеры рамки, а рамка — под действительные размеры изображения. Подраздел Добавление рисунков в отчеты
6
б), в), г)
Раздел Группирование и сортировка записей в отчетах
7
Раздел Добавление вычисляемых элементов управления
6
в) 6), в)
9
а), в)
Подраздел Нумерация страниц и указание даты, раздел Добавление вычисляемых элементов управления
10
б), в), г)
Раздел Добавление вычисляемых элементов управления
Подразделы Операции с элементами управления в отчете и Форматирование отчета
Раздел Общая структура отчета
Приложение. Ответы к тестам
441
Глава 17 Номер
Правильные Комментарий и источник дополнительной информации
1
а), б)
вопроса
ответы
Ответ а) — да, но в качестве источника данных должен быть выбран запрос, включающий поля из нескольких связанных таблиц.
Ответ г) — эти настройки можно выполнить, вызвав диалоговое окно Параметры страницы. Раздел Генерация почтовых наклеек 2 3 4
а), в), д) в), г) а), в)
5
б), в)
Раздел Генерация почтовых наклеек Раздел Генерация почтовых наклеек Ответ 6) — да, но только в том случае, если в качестве источника данных выбран запрос, включающий поля из нескольких связанных таблиц. Раздел Использование мастера диаграмм Раздел Использование мастера диаграмм
Глава 18 Номер
Правильные Комментарий и источник дополнительной информации
вопроса
ответы
1 2
а), в), г) а), б), г)
Раздел Макросы: общие сведения Раздел Макросы: общие сведения Раздел Создание макросов
3
б)
4
б), в), г)
Раздел Создание макросов
5
а), б), г)
Подраздел Панель макрокоманд
6
а), в)
Подраздел Ввод макрокоманд и аргументов
7
в)
Подразделы Ввод макрокоманд и аргументов и Изменение макроса
8 9 10
а), в), г) а) а), б)
Разделы Запуск макроса и Другие способы запуска макросов Раздел Отладка макросов Подраздел Запуск макроса при открытии базы данных (макрос AutoExec)
Глава 19 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
а), в), г)
Подраздел Чему отдать предпочтение?
2
а), в)
Подраздел Работа с объектами из другой БД Microsoft Access
3
б), г), д)
Ответ а) — нет, возможен импорт и в уже существующую таблицу, но при условии совпадения заголовков столбцов внешней таблицы и имен полей таблицы Access. Ответ б) — да, но для версий Microsoft Excel 5.0 и выше. Ответ в) — нет, если в ячейках содержатся формулы или ссылки, следует предварительно заменить их реальными значениями. Подраздел Импорт и связывание данных из электронных таблиц
4
442
а), в), г)
Подраздел Работа с мастером импортирования текста
Приложение. Ответы к тестам
Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
5
а), 6), в)
6
б), г)
7
б), в)
Ответ в) — да, но только при экспорте в текстовый файл с разделителями. Подраздел Экспорт данных в текстовый файл
8
а), 6), г)
Подразделы Экспорт данных Access в электронные таблицы и Использование команд Связи с Office
Ответ а) — да, если импортируется текстовый файл с разделителями и его первая строка содержит имена полей. Такой вариант в принципе реализуем, однако вряд ли можно назвать его целесообразным. Подраздел Работа с мастером импортирования текста Подраздел Диспетчер связанных таблиц
Глава 20 Номер вопроса
Правильные Комментарий и источник дополнительной информации ответы
1
6) а), в), г)
Раздел Статические HTML-страницы
2 3
а),б),г),д)
Раздел Создание страниц доступа к данным
4
в), г), д)
Ответ д) — да, применив к странице одну из предлагаемых мастером тем. Раздел Создание страниц доступа к данным
И
а), в), г)
Раздел Создание страниц доступа к данным
6
а), 6), в), г)
Раздел Создание страниц доступа к данным
/
в) б), в)
Раздел Гиперссылки — ввод и использование
8
Раздел Импорт и связывание HTML-документов
Подраздел Ввод и редактирование гиперссылок
Приложение. Ответы к тестам
443
Предметный указатель HTML, 415
н
Internet, 415 Internet Explorer, 415; 426
м
Microsoft Graph, 350; 355 Microsoft Office Помощник, 48
N Null, 63; 131
OWC, 415
О
SQL, 238
UNC, 429 URL, 429
и w
Web-браузер, 415; 426 Web-узел Microsoft Office Online, 54; 88
X XML, 24
A Автоотчет, 308 Автостраница, 420 Автоформа, 159 Активизация установленных приложений, 29 Анализатор быстродействия, 74
База данных Access, 18 Борей, 33; 35; 156 закрытие, 83 Интернет-аптека, 68 определение, 60 открытие, 80 проектирование, 67 создание, 77; 79 с помощью шаблона, S3 шаблоны, 77, S3 Бланк запроса, 230; 243 добавление * всех полей таблицы, 246 поля, 245 отображение всех полей, 248 панель таблиц, 243 поле Вывод на экран, 243 Или, 231; 247 Имя таблицы, 243 порядок следования полей, 274 реорганизация полей, 247 сортировка, 230; 246 строка Групповая операция, 268 Добавление, 297 Обноажние, 301 Поле, 230 Удаление, 299 удаление поля, 248 условие отбора, 231; 247, 264 элемент Выражение, 269 Группировка, 269 Условие, 269 Буфер обмена, 41; 123
В
Ввод данных, 116; 118 Вкладка Замена, 220 Подстановка, 141 Поиск, 217 Внешний ключ, 63; 198
Восстановление первоначального порядка размещения записей, 222 Временная новая запись, 117 Всплывающая подсказка, 42; 50 Выделение записей, 124 нескольких элементов управления, 777 полей, 111 Выравнивание элементов управления, 174 Выражение, 167, 260 определение, 139 Вычисляемое поле, 275 условие отбора, 278 формат, 277
Гиперссылка, 67; 428 ввод, 430 редактирование, 431 формат данных, 429 Главное меню, 33 окно Access, 33 Группа макросов, 373 Групповые операции, 267 по нескольким полям, 273 по одному полю, 270
д
Данные определение, 60 публикация в Web, 415 Диаграмма, 307; 350 Динамический набор записей, 236 Диспетчер связанных Таблиц, 403 Добавление новых записей, 116; 117 поля, 109 рисунков в отчеты, 331
Закрепление столбца, 146 Закрепленная панель, 42 Закрытие Access, 32 базы данных, 83 Замена содержимого поля, 120 Записи-вдовы, 242 Запись, 36 добавление, 116\ 117
Предметный указатель
изменение, 119 копирование, 123 определение, 63 удаление, 124 Запись-сирота, 205; 242 Запрос, 19; 236 SQL, 238 итоговые вычисления, 269 многотабличный, 250 на выборку, 237 на добавление записей, 237; 296 на изменение, 236; 292 на обновление, 237; 300 на создание таблицы, 23 7; 293 на удаление записей, 237; 298 перекрестный, 257 с параметрами, 23?, 280 создание в режиме конструктора, 243 с помощью мастера, 238 Запуск Access, 30 запроса, 242 Значение Null, 63; 131 поля, 63
И
Идентификатор, 260; 263 Изменение атрибутов шрифта, 146 внешнего вида таблиц, 143 высоты строки, 150 записей, 119 имени поля, 707 межтабличной связи, 205 размера поля, 109 структуры таблицы, 706" типа поля, 707 ширины столбца, 148 Именованный диапазон, 392 Импорт, 386; 388 документов формата HTML, 477 из электронной таблицы Excel, 393 объектов другой БД Access, 390 текстового файла, 399 Имя объекта, 263 поля, 70 Индекс, 104; 206 простой, 207 составной, 207 Итоговый запрос, 238; 240; 250
445
к
Каскадное обновление связанных полей, 204; 302 удаление связанных записей, 205; 299 Клавиши быстрого доступа, 43 Кнопка Восстановить/Развернуть, 33 Закрыть, 33 Свернуть, 33 Команда Автоформат, 192, 329 Заменить, 219 Исключить выделенное, 226 Найти, 216 Очистить бланк, 229 Связи с Office, 411 Комбинации клавиш, 42; 43 для ввода данных в таблицу, 117; 118 для команд копирования и перемещения, 123 для перемещения внутри поля, 121 общие для Office, 43 Конкатенация, 261 Константа, 263 Конструктор запросов, 243 отчетов, 323 таблиц, 99 форм, 164 Контроль ввода данных, 128; 139 на уровне поля, 140 на уровне таблицы, 140 Копирование блока ячеек данных, 123 записей, 123 поля, 109 содержимого поля, 122 таблицы, 112
Л
Линия объединения, 38; 201 Литерал, 260; 262
м
Макет отчета, 312; 330 таблицы изменение, 143 сохранение, 144 Макрокоманда, 366 ввод аргументов, 368 добавление, 369
446
копирование, 370 перемещение, 369 удаление, 369 Макрос, 20 автозапуска AutoExec, 381 запуск, 371; 380 копирование, 371 объединение в группы, 373 определение, 360 отладка, 378 переименование, 371 редактирование, 369 создание, 363 удаление, 371 условие выполнения, 374 Маркеры выделения, 170 изменения размеров, 170 перемещения, 170 Маска ввода, 135 разделы, 136 создание, 137 Мастер анализа таблиц, 74 баз данных, 83 группы переключателей, 183 диаграмм, 350 запросов на поиск записей без подчиненных записей, 242 запросов на поиск повторяющихся записей, 242 импорта текста, 399 отчетов, 309 перекрестных запросов, 242; 284 простых запросов, 238 создания кнопок, 187 масок ввода, 137 почтовых наклеек, 346 списка (поля со списком), 180 страниц доступа к данным, 422 таблиц, 93 форм, 160 экспорта текста, 406 Меню, 42 контекстное, 44 настройка, 43
н
Навигационная панель, 36; 119 Неструктурированный файл, 60 Нормализация, 64; 72 Нормальная форма, 64
Предметный указатель
о
Область выделения поля, ПО Свойства поля, 101; 128 Область задач, 32; 39; S3 Буфер обмена, 41 Зависимости объектов, 24; 41 Поиск, 46 Поиск файлов, 41 Приступая к работе, 41 Создание файла, 41 Справка, 41; 50 Объекты базы данных, 18; 88 Окно базы данных, 35 Вставка объекта, 334 Выбор рисунка, 333 Дата и время, 328 Добавление таблицы, 199 запроса, 38 Изменение связей, 201; 205 Индексы, 202; 207 конструктора, 39 запросов, 243 макросов, 363 расширенного фильтра, 230 таблиц, 100 форм, 164 Новая страница доступа к данным, 420 Номера страниц, 328 Область ввода, 276; 341 Ошибка выполнения макрокоманды, 379 Параметры, 411 служб, 54 страницы, 317 Печать, 317; 319 Поиск и замена, 217; 220 Помощник, 49 Последовательность перехода, 189 Построитель выражений, 279; 341 Пошаговое выполнение макроса, 378 предварительного просмотра отчета, 315 свойств формы, 165 Свойства таблицы, 140 Создание таблицы, 294 Сортировка и группировка, 334 списка полей, 39; 164; 326 Справка Microsoft Office Access, 47 страницы доступа к данным, 425 Схема данных, 199 таблицы, 36 Тема, 423
Предметный указатель
Формат таблицы, 75/ формы, 37 Окно базы данных, 35 вкладка Таблицы, 35 панель инструментов, 35 панель Объекты, 35 Операнды, 139; 260 Операторы, 139; 260 And, 261; 264 Between...And, 139; 262 In, 141; 262 Is, 262 Like, 139; 262 Not, 261 Or, 141; 226; 261; 264 Xor, 261 булевы, 261 идентификации, 261 конкатенации, 139; 261 логические, 139; 261 математические, 139; 260 сравнения, 139; 261 Освобождение столбца, 146 Основной числовой формат, 108 Открытие базы данных, 80 Отмена ввода данных, 117; 118 Отношение многие к одному, 198 многие ко многим, 103; 199 один к одному, 198 один ко многим, 199; 250; 299 Отображение разделов отчета, 325 разделов формы, 176; 187 связанных записей в режиме таблицы, 208 столбца, 145 Отчет, 20, 306; 323 включение диаграмм, 350 выбор масштаба отображения, 315 вывод на печать, 577 группы записей, 577; 334 добавление вычисляемых элементов управления, 339 добавление рисунков, 331 итоговые вычисления, 312; 339 настройка в режиме конструктора, 326 настройка макета, 377; 330 настройка текстовых полей большой длины, 327 нумерация страниц, 328 ориентация на странице, 377 оформление, 373
447
печать в файл, 319 предварительный просмотр, 314\ 315 раздел Верхний колонтитул, 325 Заголовок группы, 325 Заголовок отчета, 325 Нижний колонтитул, 325 Область данных, 525 Область примечаний отчета, 326 разделители страниц, 331 разделы, 325 режим конструктора, 323 режим Образец, 328 создание с помощью автоотчета, 308 с помощью мастера, 309 сортировка записей, 312; 334; 337 тип в столбец, 306 ленточный, 306 почтовые наклейки, 307, 346 указание даты, 328 уровень группировки, 312 форматирование, 328 Оформление линий и прямоугольников, 193; 330 настройки для макета, 330
п
Панель инструментов, 39 База данных, 42 главного окна Access, 34 окна базы данных, 35 Предварительный просмотр, 315 Фильтр, 227 Формат (режим таблицы), 152 Формат (формат/отчет), 190 Панель элементов, 39; 164; 167; 326 Первичный ключ, 63; 73; 124; 198 возможный, 103 выбор, 96; 101; 303; 104 автоматический, 105 использование текстовых колов, 103 простой, 103 составной, 103 Перекрестный запрос, 282 создание под руководством мастера, 284 Перемещение макрокоманды, 369 поля, 110 содержимого поля, 122 элемента управления, 172
448
элемента управления вместе с надписью, 170 Печать группы записей, 320 объектов Access, 319 отчета, 317 Плавающая панель, 42 Поиск данных, 216 команда Заменить, 219 команда Найти, 216 с учетом регистра, 218 с учетом формата полей, 218 Поле, 36; 62; 100 Введите вопрос, 46 значение, 63 имя, 70 номера записи, 119 редактирование, 121 Счетчик, 102; 105 тип данных, 100 Полный формат даты, 108 Полоса прокрутки, 36 Порядок обхода полей, 188 Построитель выражений, 140; 279 Почтовые наклейки, 307, 346 фильтр по изготовителю, 347 Преобразование типов данных, 107 Присоединение данных, 389 Публикация данных в Web, 415 динамический режим, 415 статический режим, 415
Разделы отчета, 325 формы, 174 Редактирование содержимого поля, 121 Режим выделения данных, 119 конструктора, 39; 99 конструктора отчетов, 323 конструктора форм, 170 Образец, 328 Предварительный просмотр, 308; 314; 315 редактирования данных, 119 таблицы, 99; 105; 243; 292 формы, /55 Режим SQL, 238 Реляционная база данных, 61 проектирование, 67
Предметный указатель
Сводная диаграмма, 158 таблица, 157 Свойства полей, 101 Значение по умолчанию, 143 Индексированное поле, 206 Маска ввода, 135 Обязательное значение, 143 Подпись, 143 Размер поля, 707; 109 Сообщение об ошибке, 141 Условие на значение, 139; 140 Формат поля, 12$ 135 Связи между таблицами, 63; 73; 103; 198; 250 редактирование, 205 удаление, 206 Связывание, 38$ 389 документов формата HTML, 417 таблицы из другой БД Access, 390 текстовых данных, 402 электронной таблицы Excel, 397 Символы используемые для масок ввода, 136 общие для специальных форматов, 134 подстановки оператора Like, 262 специальных форматов полей Дата/время, 132 специальных форматов числовых полей, 132 форматирования текста, 129 Системное меню, 33 Служебные кнопки, 33 Смарт-теги, 22 Создание группы переключателей, 183 многотабличной формы с помощью мастера, 209 связи между таблицами, 199 списка подстановки, 141 Сокрытие сетки таблицы, 152 столбца, 745 Сортировка, 220 по возрастанию значений, 227 по нескольким полям, 227; 222 по убыванию значений, 221 связанных записей, 222 Сохранение объектов БД в виде страниц доступа к данным, 426 отчета, 309
Предметный указатель
страниц доступа к данным, 424 таблиц, 104 фильтра в виде запроса, 229 Список подстановки, 141 полей, 230 Сплошная таблица, 60 Справка область задач Справка Access, 50 Оглавление, 52 поле Введите вопрос, 46 поле Искать, 57 Помощник Office, 34; 48 через Internet, 54 Статические HTML-страницы, 416 Страницы доступа к данным, 20; 415; 420 создание с помощью авюстраницы, 420 создание с помощью мастера, 422 Строка подключения, 421 состояния, 34 Структура таблицы, 106 добавление поля, 100; 109 перемещение поля, 110 сохранение, 104 удаление поля, 111
Таблица, 18; 62 дочерняя (подчиненная), 200 запроса, 243 копирование, 772; 296 переименование, 777 резервное копирование, 772; 293 родительская (главная), 200 создание в режиме конструктора, 99 в режиме таблицы, 105 с помощью мастера, 93 удаление, 113 Текстовое поле, 65 форматы, 72Р Тип данных, 63\ 65 Гиперссылка, 67; 428 Дата/время, 67 Денежный, 66 изменение, 107 Логический, 67 Мастер подстановок, 67 Поле объекта OLE, 67 Поле MEMO, 66 Счетчик, 67; 102; 107
449
Текстовый, 65; 107; JOS Числовой, 66; 108 Требования к аппаратному обеспечению, 24 к программному обеспечению, 24
У Удаление записей, 124 межтабличной связи, 206 поля, 111 таблицы, 113 Условие отбора для двух полей с оператором And, 266 для двух полей с оператором Or, 266 для одного поля с оператором And, 264 для одного поля с оператором Or, 264 для поля группировки, 272 комбинирование операторов And и Ог, 266 Установка Access 2003, 24 Office 2003, 24 Ф Файл базы данных, 21; 77 формат, 21; 78 Фильтр обычный, 226 по выделенному, 223; 224 по форме, 223; 226 поле Фильтр для, 223 расширенный, 223; 229, 236 сохранение в виде запроса, 229 удаление, 224 Фильтрация, 223 Форма, 18; 155 добавление заголовка, 177 изменение внешнего вида, 190 размеров раздела, /75 многотабличная, 208 отображение разделов, 176; 187 раздел Верхний колонтитул, /75 Заголовок формы, 174 Нижний колонтитул, /75 Область данных, 169; 174 Примечание формы, /75 создание в режиме конструктора, 164
450
с помощью автоформы, 159 с помощью мастера, 160 типы, 156 Форматирование, 128 выравнивание текста, 329 выравнивание элементов управления, 329 изменение размеров группы объектов, 329 равномерное размещение группы объектов, 330 создание линий и прямоугольников, /93; 330 средство Автоформат, /92; 329 текстовых элементов, 191 Форматы, 129 встроенные, 129 для логических полей, 134 для полей Дата/время, /32 для числовых (денежных) полей, 130 специальные, /29 для логических полей, 134 для текстовых и МЕМО-полей, /29 для числовых(денежных) полей, 131 текстовых файлов, 398 Функции, 139; 260; 263 Count, 269 Date(), /39 First, 269 Format, 263 InStr, 26V Last, 269 LCase, 264 Left, 264 Right, 264 Str, 264 Trim, 264 Val 264 Year, 35/ обработки текста, 263 преобразования типа данных, 264 статистические, 267
Ц
Целостность данных, 203; 302
Числовое поле, 66 встроенные форматы, 130 подтипы, 66; 108 специальный формат, 131
Предметный указатель
ш
Шаблоны баз данных, 77; S3 с узла Office Online, 88 Шрифт, 146
Экспорт, 386; 404 в текстовый файл, 405 в электронные таблицы, 408 объектов в другую БД Access, 404 объектов в формат HTML, 416 Электронные таблицы, 61 Элемент управления изменение размеров, 173 независимое перемещение, 172 окно свойств, 166 перемещение вместе с надписью, 170 тип Выключатель, 183
Предметный указатель
Группа переключателей, 183 Кнопка, 186 Линия, 193 Надпись, 169; 176 Переключатель, 183 Поле, 134; 169 Поле со списком, 178 Прямоугольник, 193 Список, 178 Флажок, 134; 183 Элементы управления, 164 выравнивание, 174 вычисляемые, 167; 339 определение, 166 присоединенные, 167 свободные, 167 специальные, 178
Я Язык SQL, 238
451
Научно-популярное издание Татьяна Владимировна Тимошок
Microsoft Access 2003 Самоучитель Литературный редактор Верстка Художественный редактор Корректоры
ЕМ. Перес тюк В. И. Бордюк
В.Г. Павлютин З.В. Александрова, М.А. Гордиенко, Л. В. Чернокозинская
Издательский дом "Вильяме". 101509, Москва, ул. Лесная, д. 43, стр. 1. Подписано в печать 29.06.2004. Формат 70X100/16. Гарнитура Times. Печать офсетная. Усл. печ. л. 37,41. Уч.-изд. л. 29,9. Тираж 4000 экз. Заказ № 2941. Отпечатано с диапозитивов в ФГУП "Печатный двор" Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 197110, Санкт-Петербург, Чкаловский пр., 15.
ИНТЕНСИВНЫЙ КУРС ПРОГРАММИРОВАНИЯ В ACCESS 2003 ЗА ВЫХОДНЫЕ Керри Н. Праг. Дженнифер Рирдон, Лоренс Казевич, Дайана Рид, П. В. Фэн
Access 2003 Programming
IS Hours www.dialektika.com
Плановая дата выхода 3 кв. 2004 г.
Книга посвящена вопросам программирования в среде Access 2003 — простой и мощной системы управления базами данных, входящей в состав новейшей версии общеизвестного комплекта программных продуктов офисного назначения Microsoft Office. Авторы книги делятся своим многолетним практическим опытом щедро и непринужденно. Доступный стиль изложения, будет понятен даже новичкам, осваивающим передовые информационные технологии, а используемый пример приложения CheckWriter, который можно загрузить с сопровождающего Web-узла книги, добавляет наглядности.
ACCESS 2003. БИБЛИЯ ПОЛЬЗОВАТЕЛЯ Керри Н. Праг, Майкл Р. Ирвин, Дженнифер Рирдон
www.dialektika.com
'-
Плановая дата выхода II кв. 2004 г.
В книге описывается локализованная версия нового продукта Microsoft Office Access 2003. Рассматриваются основные концепции баз данных, терминология и особенности установки продукта, а также принципы работы в Access. Большая часть книги посвящена решению практических задач разной степени сложности, в том числе использованию связанных таблиц и сложных запросов, импортированию данных, созданию форм, применению макросов для автоматизации ручных операций и языка VBA в формах и отчетах. Книга рассчитана на пользователей Access с любым уровнем подготовки.
ИСПОЛЬЗОВАНИЕ MICROSOFT OFFICE ACCESS 2003. СПЕЦИАЛЬНОЕ ИЗДАНИЕ Роджер Дженнингс
E Ъ t Т ( О N
Microsoft' Qftice
Access 2003
www.williamspublishing.com
Плановая дата выхода 111 кв. 2004 г.
Настоящая книга предназначена для тех, кто решил разобраться с новой версией системы разработки баз данных Access 2003, которая значительно превосходит своих конкурентов среди настольных систем управления реляционными базами данных (СУРБД), поскольку обеспечивает на настольном ПК возможности систем реляционных баз данных архитектуры клиент/сервер (также называемых базами данных SQL). Материал книги разделен на семь частей, следующих в порядке возрастания сложности излагаемого материала. Материал каждой последующей части основывается на знаниях и опыте, приобретенных при изучении материалов предыдущих частей. В этой книге также рассматриваются технологии, предназначенные для публикации данных в intranet и Internet; обновленная версия страниц доступа к данным и новая технология Microsoft экспорта данных в XML-документы. Access 2003 позволит вам получить навыки работы с XML, листами стилей XML (XML Stylesheet - XSL) и XSL Transform (XSLT), а также обеспечит взаимодействие с Web-службами XML, популярность которых постоянно растет. Словом, ни одно из последних нововведений Access 2003 не укроется от вашего внимания. И в дополнение ко всему читатель узнает мнение опытных людей о новшествах Access 2003, а на прилагаемом компакт-диске найдет практически все примеры, используемые в данной книге. Книга рассчитана на широкий круг пользователей — от начинающих до высококвалифицированных.
WINDOWS XP/2000. ВОПРОСЫ И Джон Савилл
Windows XP/2000 Вопросы и отпеты
ДЖОН СА6ШЛЛ
www.williamspublishing.com
в продаже
Книга является универсальным справочником по семейству операционных систем Windows 2000 Server/Professional и Windows ХР Home/Professional, включая новейшую систему Windows 2003 Server. Книга построена по принципу ответов на часто задаваемые вопросы (более 1300 тем!) и охватывает практически все аспекты работы с современными операционными системами Windows, а именно: инсталляцию систем и пакетов обновлений, настройку многочисленных пользовательских и серверных параметров, окружение рабочего стола, модификацию системного реестра, восстановление данных, конфигурирование сетевых служб и свойств, настройки доменов Active Directory и групповой политики, а также многое другое. Книга предназначена как для системных администраторов небольших или корпоративных сетей, которым необходим единый ресурс для решения каждодневных проблем, так и для обычных пользователей, регулярно работающих с Windows. Несмотря на то что многие темы касаются модификации системного реестра, материал изложен простым и понятным языком, без излишних теоретических выкладок и в удобной структурированной форме.
EXCEL 2003. БИБЛИЯ ПОЛЬЗОВАТЕЛЯ Джон Уокенбах
www.dialektika.com
Плановая дата выхода II кв. 2004 г.
Эта книга — полное руководство по самой мощной и в то же время простой в использовании программе электронных таблиц. Книга содержит все, что необходимо для изучения основ Excel и дальнейшей самостоятельной работы с этим программным продуктом. Здесь читатель найдет много полезных примеров, советов и приемов, которые в дальнейшем сможет применить на практике. Книга рассчитана «а пользователей с различным уровнем подготовки. Легкий и доступный стиль изложения поможет даже новичкам быстро разобраться со всеми новыми возможностями Microsoft Office Excel 2003 и эффективно использовать их в своей повседневной работе.
MICROSOFT OFFICE PROJECT 2003. БИБЛИЯ ПОЛЬЗОВАТЕЛЯ Элейн Мармвл
www.dialektika.com
Плановая дата выхода 3 кв. 2004 г.
Вашему вниманию предлагается книга, посвященная повой версии одного из лучших инструментов для управления проектами — Microsoft Office Project 2003. Здесь вы найдете основные сведения о проектах, а также принципы управления ими в среде Project. Подробно рассматриваются такие темы, как создание проекта, определение задач и назначение на них ресурсов и затрат, эффективное использование представлений, изменение внешнего вида проектов, а также устранение конфликтов, возникающих при планировании и назначении ресурсов. Кроме того, вы научитесь отслеживать ход выполнения проектов, создавать отчеты, управлять несколькими проектами с помощью Project Server и Project Web Access, использовать макросы и использовать VBA и VBSnript для настройки Project, а также импортировать и экспортировать данные. В приложениях на компакт-диске представлены рабочие таблицы управления проектом и список основных полей и функций, а также словарь основных терминов, используемых при работе с Microsoft Office Project. Книга рассчитана на читателей с различным уровнем подготовки.
АНАЛИЗ ДАННЫХ В EXCEL: НАГЛЯДНЫЙ КУРС СОЗДАНИЯ ОТЧЕТОВ, ДИАГРАММ И СВОДНЫХ ТАБЛИЦ Джинжер Саймон
Читая меньше, узнавай больше!
Анализ данных в Excel
www.dialektika.com
в продаже
В этой книге используются простые и понятные примеры, которые призваны научить вас создавать мощные и динамические приложения. Чтобы получить от книги максимум иозможного, читайте все главы по порядку, от начала и до конца. Каждая глава будет знакомить вас с новыми идеями, однако она базируется на знаниях, полученных в преды дуй [их главах. Ознакомившись с этой книгой, вы сможете пользоваться ею как уникальным справочным руководством. Это издание подходит для каждого, кто еще только приобретает навыки, без которых нельзя стать специалистом по анализу данных (или, если кратко, аналитиком данных). Если вы уже * подготовленный специалист, но, тем не менее, хотите овладеть более сложными приемами анализа данных, эта книга и для вас. Чтобы освоить материал, изложенный в главах настоящей книги, нужен достаточный опыт работы с Microsoft Windows и Microsoft Excel (начиная со среднего уровня и выше).
ЭКОНОМИЧЕСКОЕ МОДЕЛИРОВАНИЕ В MICROSOFT EXCEL, 6-Е ИЗДАНИЕ
Джеффри Mypt Лоренс Р. Уэдерфорд, Ларри Р. Уэдерфорд
ЭШОМИЧЕШЕ ИЦЕШОВШЕ I ИМКНТ* ЕКН
IEHIE >шш
www.williamspublishing.com
в продаже
Эта книга послащена основным принципам моделирования, которые можно применить к широкому спектру различных управленческих задач, решаемых с помощью Microsoft Excel. В ней подробно рассматривается определенные классы моделей, используемые в самых разнообразных ситуациях Цель книги пс составить сборник готовых "рецептов" моделей, а научить читателя самостоятельно готовить "здоровую пищу" на основе нескольких типов моделей, приведенных в качестве примеров. Она поможет современным менеджерам в их карьерном росте, покажет реальные жизненные ситуации, которые можно смоделировать с помощью электронных таблиц, и представит методы построения и анализа моделей. Книга предназначена для широкого круга студентов, аспирантов н работающих специалистов.
Серия книг "Самоучитель" от издательской группы "ДИАЛЕКТИКА-ВИЛЬЯМС"
ISBN 5-8459-0383-1
ISBN 5-8459-0373-4
ISBN 5-8459-0415-3
ISBN 5-8459-0468-4
ISBN 5-8459-0467-6
ISBN 5-8459-0466-8
ISBN 5-8459-0477-3
ISBN 5-8459-0427-7
ISBN 5-8459-0460-9
ISBN 5-8459-0452-8
ISBN 5-8459-0503-6
ISBN 5-8459-0502-8
... u много других книг Вы найдете на наших сайтах
ТЯ
itzJ www.dialektika.com
юи
Irani www.wJlliamspublishing.com
Iffll, www.ciscopress.ru
Серия книг "Самоучитель" от издательской группы "ДИАЛЕКТИКА-ВИЛЬЯМС"
ISBN 5-8459-0506-0
ISBN 5-8459-0609-1
ISBN 5-8459-0535-4
ISBN 5-8459-0554-0
... u много других книг Бы найдете на наших сайтах www.dialektika.com
www.williamspublishing.com
www.ciscopress.ru
Microsoft'
ccess 2003
Советы. Ценные указания, позволяющие сделать вашу работу более эффективной
Замечания. Полезная информация по изучаемому вопросу, которую следует принять к сведению Предостережения. Критически важная информация, призванная оградить вас от неверных шагов Технические подробности. Дополнительные сведения, которые помогут вам глубже познакомиться с СУБД Access
Э
та книга предназначена для самостоятельного изучения последней версии популярной СУБД — Microsoft Access 2003. Ее главная задача — помочь новичкам освоиться в сложной среде современных баз данных и приобрести навыки, необходимые для успешной работы с этим приложением. Она научит вас продуктивно и с удовольствием работать, используя удобные инструментальные средства пакета Access 2003, и на практике применять теорию реляционных СУБД для создания отвечающих современным требованиям приложений баз данных. В книге подробно описываются все этапы проектирования таблиц реляционных баз данных, рассматриваются основы конструирования форм, запросов и отчетов, а также изложены применяемые в Access принципы форматирования и контроля данных. Отдельное внимание уделено вопросам использования макросов, операциям экспорта, импорта и связывания данных, а также подготовки данных к публикации в Web. Помимо необходимых теоретических сведений, в книгу включены подробные пошаговые инструкции и описания работы мастеров, иллюстрации и врезки с полезной информацией. Естественно переходя от темы к теме и применяя полученные знания на компактном примере разработки базы данных для Internet-магазина, вы сможете быстро разобраться с возможностями, предоставляемыми программой Access 2003 и по достоинству оценить потенциал этой системы. Для закрепления пройденного материала в конце каждой главы предлагаются тематические контрольные вопросы.
ISBN 5-8459-0643-1
Посетите "Диалектику" в Internet по адресу: www.dialektika.com
9 "785845"906434"