Для сомневающихся Джон Кауфельд автор книги /Access 2002 для "чайников"
ACCESS 2003. БИБЛИЯ ПОЛЬЗОВАТЕЛЯ Керри Н. Праг, Майкл Р. Ирвин, Дженнифер Рирдон
www.dialektika.com
Плановая дата выхода 2 кв. 2004 г.
В книге описывается локализованная версия нового продукта Microsoft Office Access 2003. Рассматриваются основные концепции баз данных, терминология и особенности установки продукта, а также принципы работы в Access. Большая часть книги посвящена решению практических задач разной степени сложности, в том числе использованию связанных таблиц и сложных запросов, импортированию данных, созданию форм, применению макросов для автоматизации ручных операций и языка VBA в формах и отчетах. Книга рассчитана на пользователей Access с любым уровнем подготовки.
Access 2O03 FOR
ШММЕ by John Kaufeld
WILEY Wiley Publishing, Inc.
Access 2OO3 ДЛЯ
"МАЙНИКОВ"Джон Кауфельд
i
ДИАЛЕКТИКА Москва * Санкт-Петербург » Киев 2004
ББК 32.973.26-018.2.75
КЗО УДК 681.3.07 Компьютерное издательство "Диалектика" Главный редактор С. Я. Тригуб Зав. редакцией В. В. Александров Перевод с английского и редакция А.А. Борисенко
По общим вопросам обращайтесь в издательство "Диалектика" по адресу: info@dialektika.com, http://www.dialektika.com
КЗО
Кауфельд, Джон. Access 2003 для "чайников". : Пер. с англ. — М. : Издательский дом "Вильяме", 2004. — 320 с.: ил. — Парал. тит. англ. ISBN 5-8459-0611-3 (рус.) Microsoft Access — самая популярная система управления базами данных для персональных компьютеров. В книге охвачено множество вопросов, касающихся проектирования, поддержки и использования баз данных Access 2003. Начав изучение с самого понятия баз данных в целом и новой версии Access в частности, вы получите представление о концепции баз данных, узнаете о возможностях Access, а затем научитесь создавать сложные таблицы, запросы, отчеты и формы. Вы узнаете, как размещать данные в Internet или локальной сети вашей компании, как решать сложные задачи по выборке информации с помощью запросов Access, и многое другое! Джон Кауфельд, автор многих книг по Access, эксперт по базам данных, непринужденно и доходчиво объясняет возможности Access 2003. i
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Wiley Publishing, Inc. Copyright © 2004 by Dialektika Computer Publishing. Original English language edition Copyright © 2003 by Wiley Publishing, Inc. All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with Wiley Publishing, Inc.
ISBN 5-8459-0611-3 (рус.) ISBN 0-7645-3881-0 (англ.)
© Компьютерное изд-во "Диалектика", 2004 © Wiley Publishing, Inc., 2003
Оглавление Введение
15
Часть I. Что первично: данные или база?
21
Глава 1. 37-минутный обзор Глава 2. Через тернии к звездам
23 36
Глава 3. Справочная система и другие виды помощи
46
Часть II. Поистине восхитительные таблицы
51
Глава 4. Разработка и создание жилища для данных Глава 5. Связи, ключи и индексы заслуживают внимания
53 75
Глава 6. Новые, старые и нуждающиеся в восстановлении данные Глава 7. Форматирование, создание масок и проверка значений Глава 8. Заставьте таблицы плясать под свою дудку Глава 9. Советы по самостоятельной модернизации таблиц
•
Часть III. Поиск точного ответа на любой вопрос
85 94 108 120
129
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
131
Глава 11. Задайте простой вопрос и получите 10 000 ответов Глава 12. Поиск данных во многих таблицах
142 155
Глава 13. Булевы операторы AND, OR Глава 14. Научите запросы думать и считать Глава 15. Расчет пути к славе и почету Глава 16. Автоматическое редактирование данных
163 169 179 188
Часть IV. Превращение таблицы в книгу
197
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов с помощью мастеров Глава 19. Даже небольшое форматирование творит чудеса Глава 20. Заголовки и примечания для групп, страниц и всего отчета
199 209 223 239
Часть V. Мастера, формы и другие таинственные средства
253
Глава 21. Размещение данных в Web Глава 22. Создание замечательно выглядящих и функционирующих форм
255 264
Глава 23. Если любовь универсальна, почему бы ее не экспортировать?
275
Глава 24. Анализатор данных: д-р Фрейд, д-р Ватсон и д-р Джекилл в одном лице Глава 25. Поговорим с компьютером
281 288
Часть VI. Великолепные десятки
295
Глава 26. Десять клавиш быстрого доступа Глава 27. Десять наиболее распространенных затруднений и способы их преодоления
297 300
Глава 28. Десять советов от знатоков баз данных Предметный указатель
306 310
Содержание Введение
15
Часть I. Что первично: данные или база?
21
Глава 1. 37-минутный обзор
23
В начале была Access 2003 Открытие существующей базы данных Просмотр окна базы данных Поиск иголки в стогу сена Внесение изменений Представление результатов в виде отчета Сохранение результатов работы Небольшая лекция о важности создания резервных копий Как красиво уйти
Глава 2. Через тернии к звездам Осмысление увиденного Окна бывают разные Окно базы данных Окно таблицы Окно формы Окно запроса Обратимся к панели инструментов, ребята! Меню, меню и еще раз меню Работаем с правой кнопкой мыши
Глава 3. Справочная система и другие виды помощи Помощь отовсюду Спрашиваем программу Internet знает больше, чем вы думаете
23 25 27 29 31 32 33 34 35
36 36 38 38 40 41 42 43 44 44
46 46 47 48
Часть II. Поистине восхитительные таблицы
51
Глава 4. Разработка и создание жилища для данных
53
Термины баз данных, которые необходимо знать и понимать Данные (ваша информация) Поля (комнаты для данных) Записи (комнаты одной квартиры) Таблицы (квартиры одного подъезда) Базы данных (подъезды одного дома) Пробежимся по полям Сплошные файлы против реляционных баз данных: кто кого? Сплошные файлы: простые ответы на простые вопросы Реляционные базы данных: комплексные решения сложных задач Что же все это означает Хорошие таблицы начинаются с серьезного проектирования Создание базы данных
54 54 54 55 55 55 56 59 59 59 60 61 63
Создание таблиц по мановению волшебной палочки Создание таблиц вручную .
67 71
•
Глава 5. Связи, ключи и индексы заслуживают внимания
75
Причины появления и необходимость первичного ключа Раскроем секрет прочных связей Создание связей между таблицами Индексы — указатели на пути к славе, удаче и существенному ускорению выполнения запросов
75 77 79 82
Глава 6. Новые, старые и нуждающиеся в восстановлении данные Отнесем таблицу в цифровую мастерскую Добавление записей в таблицу Изменение имеющейся записи Удаление ненужных записей Восстановление записи после неудачного редактирования
85 85 89 91 91 93
.
Глава 7. Форматирование, создание масок и проверка значений Поиск места внесения изменений Форматирование как возможность улучшения представления данных Текстовые и мемо-поля Числовые и денежные поля Поля Дата/время Поля логического типа Маскированные данные Использование мастера маски ввода Создание маски вручную Условие проверки значения
Глава 8. Заставьте таблицы плясать под свою дудку Просмотрим таблицу Как увидеть больше (или меньше) данных Изменение ширины столбца Изменение высоты строк Реорганизация столбцов Сокрытие столбца Закрепление столбцов Изменение шрифтов таблицы Представление данных в трехмерном виде
Глава 9. Советы по самостоятельной модернизации таблиц Опасности, подстерегающие таблицу Добавление нового поля в таблицу Прощание с полем (и всеми его данными) Переименование поля Переименование поля в режиме конструктора Переименование поля в режиме таблицы
Содержание
.;
,
94 94 96 96 97 99 100 101 101 103 106
108 108 110 111 111 113 115 117 118 119
120 120 121 123 125 125 126
Часть III. Поиск точного ответа на любой вопрос
129
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
131
Поиск данных в таблицах Начнем с простого... Ускорение и конкретизация поиска Сортировка всего живого на планете Фильтрация записей, имеющих нечто общее Фильтр для Фильтр по выделенному Изменить фильтр Удаление ошибок (или когда хорошие критерии превращаются в плохие) Команда Исключить выделенное
131 132 133 135 136 136 137 138 141 141
Глава 11. Задайте простой вопрос и получите 10 000 ответов
142
Запросы к базам данных выполнят всю черную работу Составление простого запроса с помощью расширенного фильтра Заглянем в окно фильтра Создадим простейший запрос (фильтр) Устали от сложных вопросов? Составьте запрос Составление запросов и получение ответов Используйте мастер запросов
143 143 144 145 148 149 152
Глава 12. Поиск данных во многих таблицах
15 5
Несколько общих соображений по созданию многотабличных запросов Обратимся к мастеру запросов Закатите рукава и создайте запрос вручную
155 156 159
Глава 13. Булевы операторы AND, OR
163
Сравнение операторов AND и OR Поиск значений в заданном диапазоне Несколько операторов AND Добрый ИЛИ злой волшебник? AND и OR? AND или OR?
163 164 165 166 167
Глава 14. Научите запросы думать и считать
169
Улучшение запросов посредством строки Групповая операция Добавление магической строки Групповая операция в запросы Заставим работать строку Групповая операция Группируем с помощью инструкции Группировка Суммируем с помощью инструкции Sum Подсчитываем все сразу Изучение входов и выходов оператора Условие Выбор правильного поля для инструкции Summary
169 171 172 172 174 174 175 176
Глава 15. Расчет пути к славе и почету Простое вычисление Больше, лучше, сложнее Добавление одного и нескольких вычислений Использование одного выражения для ответа на несколько запросов Пусть Access задаст вопрос
8
179 •
179 182 182 182 183
Содержание
Поработаем со словами На помощь приходит построитель выражений
184 185
Глава 16. Автоматическое редактирование данных
188
Предоставим слово спонсору Быстрое исправление ошибок путем замены данных Разные запросы для разных задач Запрос на удаление Внесение масштабных изменений
188 189 191 191 193
Часть IV. Превращение таблицы в книгу
197
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес
199
Автоотчет — основа быстрого получения информации Приведем в действие средства информационного прогресса Предварительный просмотр созданного информационного "шедевра" Изменение масштаба просмотра страницы Вызов контекстного меню Как украсить отчет Вкладка Поля Вкладка Страница Вкладка Столбцы
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов с помощью мастеров Создание наклеек Использование мастера диаграмм Создание усовершенствованных отчетов Запуск мастера и выбор полей Создание новых групп данных Сортировка данных Выбор макета отчета
Глава 19. Даже небольшое форматирование творит чудеса Настройка отчета в режиме конструктора Области и маркеры Отформатируем все, что можно Раскрасьте свой отчет Перемещение элементов Создайте красивое обрамление Раскрасьте линии и рамки Измените толщину линий и рамок Примените к линиям и рамкам специальные эффекты Поработайте с текстом Быстрый просмотр отчета Автоформатирование Выровняем все, что можно Нарисуйте линии самостоятельно Вставьте разделители страниц Украсьте отчет рисунками Передача отчетов в пределах Microsoft Office
Содержание
199 200 202 202 204 204 205 206 207
209 209 213 216 216 218 219 220
223 223 224 226 227 229 230 231 231 231 232 233 234 235 236 237 237 238
Глава 20. Заголовки и примечания для групп, страниц и всего отчета Расставим все по своим местам Группировка записей Изменение размера области Тонкая настройка внешнего вида отчета Изменяем настройки Поэкспериментируем с колонтитулами Форматирование отдельных областей отчета Форматирование отдельных элементов области Заполнение областей отчета Форматирование заголовков Нумерация страниц и даты Какая это страница Когда напечатан этот отчет
239 239 242 245 245 246 247 248 249 249 249 250 250 251
• '
Часть V. Мастера, формы и другие таинственные средства
253
Глава 21. Размещение данных в Web
255
Access и Internet: сладкая парочка из Редмонда Вставим гиперссылку в таблицу Добавление поля гиперссылки в таблицу Ввод и использование гиперссылок Размещение данных в Web Вопросы для любознательных
255 256 257 257 259 263
Глава 22. Создание замечательно выглядящих и функционирующих форм
264
Различие между бумажными бланками и электронными формами данных Создание форм по мановению волшебной палочки Придадим форме правильный вид Автоматизированное массовое производство форм Настройка формы Режим конструктора форм Перемещение полей Добавление линий и обрамления Изменение порядка перехода от одного поля к другому
264 266 268 270 271 272 272 272 273
Глава 23. Если любовь универсальна, почему бы ее не экспортировать?
275
Импортируем только лучшую информацию Преобразование форматов файлов Импортирование или связывание файлов Покупаем для данных билет в один конец
275 276 277 278
Глава 24. Анализатор данных: д-р Фрейд, д-р Ватсон и д-р Джекилл в одном лице Создание реляционных баз данных Документирование базы данных Анализ быстродействия
Глава 25. Поговорим с компьютером Что такое система распознавания речи Установка системы распознавания речи Отправим Access в школу постановки голоса
10
281 281 284 286
288 288 289 289
Содержание
Поговорим с Access Access, напиши мне письмо Исправление ошибок, допущенных при диктовке Использование режима подачи команд голосом Улучшение системы распознавания речи
290 291 292 292 293
Часть VI. Великолепные десятки
295
Глава 26. Десять клавиш быстрого доступа
297
Выделить целое поле — клавиша <F2> Вставить текущую дату — <Ctrl+;> Вставить текущее время — <Ctrl+:> Ввод последнего значения — <Ctrl+'> Вставить разрыв строки без создания нового абзаца — <Ctrl+Enter> Добавить новую запись — <Ctrl++> Удалить текущую запись — <Ctrl+-> Сохранить запись — <Shift+Enter> Отменить последнее изменение — <Ctrl+Z> Открыть выбранный объект в режиме конструктора— <Ctrl+Enter>
Глава 27. Десять наиболее распространенных затруднений и способы их преодоления Вы ввели число 73,725, а оно изменилось на 74 Что делать, если вы получили неверный ответ на свой запрос Стоило вам отвернуться, и запись исчезла Выражение, которому не суждено быть выполненным Сегодня — здесь, а завтра — там Невозможно связать данные с таблицей dBASE Невозможно обновить связанные таблицы dBase или Paradox Повреждение ключа при импортировании таблицы Программа все равно не запускается Мастер не может выйти из своей мастерской
Глава 28. Десять советов от знатоков баз данных Документирование как неотъемлемая часть жизни Не делайте поля слишком большими Числовые поля — только для чисел Правильное логическое выражение обеспечивает корректность данных Используйте понятные имена Внимательно удаляйте записи Храните резервные копии Сначала хорошенько подумайте, а потом подумайте еще раз Организованность и простота — залог успеха Когда обратиться за помощью
Предметный указатель
Содержание
297 297 298 298 298 298 298 2-98 299 299
300 300 301 302 303 303 303 304 304 304 305
306 306 307 307 308 308 308 308 309 309 309
310
11
Джон Кауфельд (John Kaufeld) увлекся компьютерами много лет назад. В какой-то момент он понял, что ему нравится помогать окружающим решать проблемы, связанные с использованием компьютеров. Джон получил степень бакалавра по управлению информационными системами в Ball State University и стал ведущим специалистом по использованию персональных компьютеров в компании Westinghouse, Цинциннатти, штат Огайо. С тех пор за его плечами десятилетний опыт работы с людьми, которые по разным причинам не смогли "подружиться" с персональным компьютером. Кроме того, он обучил более тысячи пользователей работе с различными программами для компьютеров IBM и Macintosh. Сегодня Джон проводит технические семинары и курсы повышения квалификации новоиспеченных компьютерных гуру, а в свободное время пишет книги. В число других его смелых предприятий входит удивительный магазин настольных и карточных игр More Than Games (Больше чем игры) (www.morethangames.com), ShipperTools.com, система доставки, помогающая мелким предприятиям и коммерсантам, пользующимся eBay, сэкономить деньги благодаря почтовой службе US Postal Service (www.shippertool.com), а также проводимые им семинары для владельцев мелких предприятий Feed the News Beast (www. f eedthenewsbeast. com). К числу других его работ относятся бестселлер America Online For Dummies, достаточное количество книг по базам данных и Internet, позволяющих почувствовать себя эмоционально бесстрашным. Джон живет с женой, двумя детьми и двумя лайками в Форт Вейне, штат Индиана.
Дженни, без которой мое сумасбродство уже давно вышло бы за рамки дозволенного. J.B. и Pooz, которые помогали мне отвлечься в те моменты, когда единственное, что я мог делать, — это писать. Компании John Wiley & Sons за предоставленную мне уникальную возможность написать эту книгу. Моя искренняя благодарность тебе, единственной и неповторимой.
Tuaioqafitioctnu Как и в любом хорошем фокусе, при написании книги существует гораздо больше вещей, от которых нужно избавиться, чем тех, которые стоит предоставить на суд людей. Написание такой книги, как эта требует большой усидчивости, более того — целой команды усидчивых людей, чтобы получилось то, что вы держите в своих руках. Честь и хвала редактору моего проекта — Сюзан Пинк (Susan Pink) за то, что она заставила мои хаотичные мысли следовать общепринятым семантическим законам. В качестве дополнительного вознаграждения можно расценивать то, что она даже смеялась над моими шутками. Иногда. Также огромная благодарность моему техническому редактору Аллену Вайату (Allen Wyatt) за проверку всего использованного мною в этой книге. Хочу выразить огромную благодарность главному редактору Стиву Хайесу (Steve Hayes) и королю по сбору информации (или что-то в этом роде), Энди Каммингзу (Andy Cummings). За этот год они доказали, что рабочие отношения могут быть куда более плодотворными, чем кажется на первый взгляд. Если же это не так, я даже не хочу об этом думать. Вы даже не подозреваете, как много значите для меня. И наконец, огромная благодарность Диане Стил (Diane Steele) за ее поддержку, ободрение и готовность предоставить шанс настоящему сумасшедшему (но никудышному) писателю.
Введение Как у всякого нормального человека, у вас, вероятно, есть работа. Возможно, у вас даже очень много работы в офисе вашей организации. А может быть, ваша работа связана с использованием Internet, и кто-то из коллег, может быть, даже ваш начальник (или другой, не менее важный человек), подсказал вам, что Access поможет заметно ускорить работу, избавиться от головной боли и осчастливить инспектора по охране труда. Итак, вы решили познакомиться с программой Access. Поздравляю!
юане
'
.
.
Если вы чувствуете себя растерянным, вместо того чтобы собраться с мыслями, если вы сбиты с толку и уже не можете работать продуктивно, или если вы просто совершенно потерялись в огромных просторах базы данных, то Access 2003 для "чайников" — это ваша книга. И не переживайте — вы не одиноки в своих ощущениях. В отличие от текстовых редакторов и программ создания презентаций, в базах данных немногие люди в состоянии разобраться самостоятельно. (Те немногие, которые все же справились с этой задачей, обычно в итоге переходят в службу поддержки, чтобы хоть как-то залечить нанесенную себе травму.) Единственная цель этой книги — показать вам, как работает программа Access, как с ней обращаться и где нужно быть предельно внимательным, причем не делая из вас специалиста мирового класса. Что же еще можно пожелать?
Условные обозначения,, эй1ой юшге Чтобы программа Access выполнила то или иное действие, ей необходимо дать соответствующую команду. А иногда и сама программа захочет высказать свое собственное мнение в виде комментария или сообщения (и это нормально, ведь общение — это улица с двусторонним движением). Чтобы можно было отличить такие сообщения (человек-компьютер и наоборот), для них применены различные форматы. Здесь приводятся примеры сообщений в том виде, в котором они встречаются в книге: сообщение, которое вы вводите в компьютер;
так компьютер отвечает на вашу команду. Поскольку Access — это программа для Windows, то вам не придется целый день вводить данные с клавиатуры — очень многое можно сделать с помощью мыши. Для описания действий с мышью я не буду использовать специальный шрифт, полагая, что вы уже знакомы с основами работы в Windows. Ниже описаны действия мыши, необходимые при работе в Access Скак и в любой другой программе Windows). Щелчок. Установите указатель мыши (острие стрелки) на элементе меню, кнопке или другом элементе, а затем быстро нажмите и отпустите левую кнопку мыши. •/ Двойной щелчок. Установите указатель мыши точно так же, как и в предыдущем случае, а затем дважды быстро нажмите левую кнопку мыши.
Выделение. Установите указатель мыши в том месте, с которого хотите начать выделение, а затем нажмите и не отпускайте левую кнопку мыши. Удерживая в таком положении кнопку, переместите указатель к тому месту, где вы хотите закончить выделение. После этого отпустите кнопку мыши. Щелчок правой кнопкой. Это действие подобно щелчку левой кнопкой мыши с тем лишь отличием, что в этом случае используется правая кнопка. Конечно, при работе с Access вы столкнетесь и с командами меню. Когда придет время выбрать элемент из системного меню, инструкция к действию будет выглядеть следующим образом. Выберите из меню команду Файл^Открыть (File^Open) (выберите команду Открыть из меню Файл). Если вы решите отправить свою мышку на покой, для управления Access с помощью клавиатуры можно воспользоваться комбинациями клавиш. В названиях элементов меню и команд есть подчеркнутые буквы и для быстрого доступа к этим пунктам меню и командам необходимо нажать клавишу <Alt>, а затем клавишу с подчеркнутой буквой. Для приведенного выше примера такой комбинацией клавиш будет <Alt+F>, а затем <Alt+O>. Используйте эти комбинации одну за другой, не отпуская клавишу <Alt>. Если вы не знакомы со всей этой мышиной гимнастикой или хотите больше узнать о Windows, можете прочитать одну из книг Windows для "чайников". Такие книги выпускаются для каждой версии Windows.
не ш/жно Должны ли вы целиком проглотить эту книгу, чтобы начать понимать Access? Конечно же, нет! (Более того, я не думаю, что эта книга проглотится легко — разве что, если пропустить ее раз-другой через шредер.) Часть информации попала в книгу только потому, что я не смог найти способа ее выбросить. Учитывая это, можете совершенно спокойно пропускать любой текст, отмеченный этой пиктограммой. Вам не обязательно изучать всю информацию, помеченную этой пиктограммой, чтобы на достаточном уровйе овладеть программой Access. Если же у вас появится желание лучше разобраться в неизведанных глубинах программы, вы всегда сможете прочитать абзацы, отмеченные данной пиктограммой. Если вы используете Access только для работы с большими корпоративными базами данных, то смело можете пропустить главу, посвященную планированию баз данных. Вряд ли отдел информационных технологий позволит вам нарушить структуру базы данных компании, следовательно, зачем вам в данный момент беспокоиться о деталях планирования?
Для того чтобы научиться работать с Access 2003, достаточно обладать элементарными знаниями о компьютере и об операционной системе Windows. (Превращать себя в компьютерного фаната совершенно не обязательно.) При этом предполагается, что вы */ знаете основы работы с установленной версией Windows; •S стремитесь научиться .пользоваться базами данных, созданными другими людьми;
16
Введение
хотите научиться создавать запросы, отчеты и пользовательские формы; хотите создавать свои собственные базы данных; установили на своем компьютере какую-либо из операционных систем — Microsoft Windows 98/98 SE/ME или Windows NT 4/2000/XP, а также Access для Windows (неплохо, если у вас есть полный пакет Office). Если на вашем компьютере все еще стоит Windows 95, то лучше проведите с ним пару тихих часов, а затем устройте ему пышные похороны и потратьтесь на новый компьютер. Старичку самое время отправиться на заслуженный отдых (а вы заслужили медаль за отвагу, раз так долго смогли прожить со старым компьютером). Основное достоинство книги состоит в том, что вам практически ничего не нужно знать (и переживать по этому поводу) о проектировании таблиц, о типах полей, реляционных базах данных и других непонятных терминах, для того чтобы программа Access начала на вас работать. Все, что вам нужно знать, есть прямо здесь, только прочитайте.
CtHfii/tctntffia
книги
Чтобы вы представляли, что вас ждет впереди, я привел краткое описание шести частей этой книги. Каждая часть, которая в свою очередь разделена на несколько глав, посвящена отдельной составляющей программы Access.
Часть I. Что первично: данные или база? В этой книге вы найдете ответ на риторический вопрос: "Что такое данные?" Начав изучение с самого понятия баз данных в целом и Access в частности, вы получите представление о концепции баз данных. В этой части приводятся рекомендации по поводу возникающих проблем, которые можно решить с помощью Access (или без нее). Если вы собираетесь создать новую базу данных в Access и тем самым решить множество накопившихся проблем, сначала прочтите эту часть, возможно, она вам поможет и вы передумаете.
Часть II. Поистине восхитительные таблицы Таблицы (хранилища ваших данных) по праву являются главным структурным элементом базы данных. В этой части рассказывается о том, что вам необходимо знать о проектировании таблиц, их создании, использовании, изменении и взаимодействии таблиц в рамках Access.
Часть III. Поиск точного ответа на любой вопрос Если таблицы — это центр Вселенной под названием Access, то запросы — Это планеты ее первого кольца. Запросы в Access могут ответить практически на любой вопрос, они извлекают ответы, которые прячутся где-то в ваших данных. В этой части вы найдете объяснения, как ответить на простые вопросы, используя команды поиска, фильтрации и сортировки.
Часть IV. Подготовка данных для печати Иногда бывает недостаточно просто увидеть данные на экране. Для того чтобы работа выглядела действительно безупречно, нужно распечатать их на бумаге. В этой части описывается система создания и вывода на печать отчетов в Access, т.е. именно то программное обеспечение, которое выдает в печатном виде информацию для ее дальнейшего использования.
Введение
17
Часть V. Мастера, формы и другие таинственные средства Иногда технические достижения просто завораживают (для подтверждения достаточно только лишь взглянуть на панель управления микроволновой печи). В этой главе исследуется одна из самых таинственных областей Access, позволяющая работать более эффективно, подключая для этого мастера и даже используя средства программирования. Если необъятность ресурсов Internet будоражит ваше воображение, внимательно прочтите эту часть — здесь вы найдете сведения о новых коммуникационных возможностях Access посредством всемирной паутины Web. Они поистине удивительны! •
Часть VI. Великолепные десятки Слова ...для "чайников" мгновенно ассоциируются с уникальным разделом великолепных десяток. Здесь вы найдете огромное количество советов и блестящих идей (надеюсь, чтонибудь из них останется у вас в памяти). Эта небольшая часть книги включает советы, которые помогут вам сэкономить массу времени, и предлагает решения типичных проблем, возникающих при работе с Access.
, tcorilofibte исгииьзцкннся, в ainou книге Информация, представляющая особый интерес, помечена в книге пиктограммой. Это значит, что информация заслуживает повышенного внимания. Ниже приведен перечень встречающихся в книге пиктограмм и их значения. Советы — это действительно мудрые и полезные сведения, которые помогут сэкономить время, силы, а возможно, и вашу шевелюру. Если вы заметили эту пиктограмму, обязательно уделите ей внимание! Некоторые вещи слишком важны, чтобы забывать о них, именно на них и обращает внимание эта пиктограмма. В любой процедуре есть операции, которые нельзя опустить. Иногда я не могу удержаться, чтобы не вставить в книгу некоторые технические подробности. Эта пиктограмма позволит легко их обнаружить и опустить. Но если вы полны решимости и отваги, прочтите эту информацию, она может показаться вам интересной. Эта пиктограмма предупреждает: пропуск подобной информации опасен для сохранности ваших данных. Обратите на нее особое внимание и следуйте предлагаемым инструкциям, чтобы база данных была целой и невредимой.
увигсинься Теперь ничто не может вас удержать от увлекательного путешествия в мир Access. Устраивайтесь поудобнее и начинайте погружение. I •" Если вы новичок и не знаете, с чего начать, то прочтите общий обзор в главе 1.
18
Введение
Тем, кто намерен сразу приступить к проектированию базы данных, рекомендую перейти к главе 4, где приведен ряд полезных советов по этому поводу. Хотите найти конкретную информацию? Тогда обратитесь к оглавлению или предметному указателю или просто полистайте книгу, пока не обнаружите то, что вас заинтересует. Семь футов под килем!
Введение
19
Часть I
Что первично: данные или база?
ни at его КЛА^Й «.ОЗЙАЮМ нд^ряженн^ю умения и piutAMb Ж1
.
.
..
. . .
Все имеет свое начало. Это касается природы, науки и даже мясных фрикаделек, которые вы ели на обед. Поэтому было бы логично начать книгу с рассмотрения понятия баз данных—как спасительного маячка в бескрайнем море информации. В этой части сначала рассматриваются нестандартные пути решения проблемна затем сама программа Access. Потом вы узнаете секреты правильной организации данных, а также где следует искать помощь, если Access вдруг перестанет вам подчиняться.
,
Лучше всего начать чтение с этой части, независимо от того, знакомы вы с концепцией создания баз данных или с Access. Всем добро пожаловать .
_
.
,
на борт!
"
•
•
'
•
'
.' • .. •'.,
:
•'
• • . : . •
•<';•-",
Глава 1
37-минутный обзор Вэ&ой главе... > Запуск программы >
Открытие существующей базы данных
> Просмотр частей базы данных > Поиск записи > Изменение записи > Печать записи > Сохранение изменений > Выход по окончании работы
*Г^ а самом деле, на эту главу может понадобиться больше, чем 37 минут. Хотя, если вы f •* уже знакомы с программой Access или окончили курсы скорочтения, наверняка вам потребуется намного меньше времени. В противном случае эта глава поможет вам познакомиться с программой Access от начала до конца (в буквальном смысле). Поскольку лучший способ разобраться в программе — поработать с ней, в данной главе мы кратко рассмотрим основные возможности Access, с которыми вам придется сталкиваться практически каждый день. Эта глава будет напоминать "Один день из жизни..." с кратким описанием самых важных моментов. Если вы впервые сталкиваетесь с Access, то эта глава послужит хорошей стартовой площадкой. Если у вас уже есть опыт работы с предыдущими версиями программы, то все равно стоит просмотреть эту главу и ознакомиться с нововведениями. Итак, приятного путешествия!
/3 начале Яьиа Access 2003 Для запуска программы Access щелкните на кнопке Пуск (Start) и из меню выберите элемент Microsoft Access 2003 (рис. 1.1). А как быть, если программа Access скрыта и соответствующего элемента в списке меню вы не обнаружили? В этом случае в меню Пуск найдите группу программ, объединенных названием Office или Microsoft Office. Если и в этом случае вы не нашли Access, создайте для нее ярлык. Для этого выполните следующие действия. 1. Щелкните на кнопке Пуск. Затем, в зависимости от версии Windows, которую вы используете, выберите команду НайтиОфайлы и папки (Find 1 * Files or Folders) или Search1* For files and folders. Откроется диалоговое окно поиска. 2. В соответствующем поле введите msaccess.exe и щелкните на кнопке Поиск (Find Now).
CRT 3.4 FAR manager
ICQ OutJooK Express Windows update wrap Выбор программ по умолчанию калькулятор Каталог Windows
Документы настроив Найти Справка и поддержка Выполнить...
PCANYWHERE32 fclQ RJvaTUner Roxto Easy CD and DVD Creator 6 Стандартные Adobe Photoshop 7.0 Maosoft Word
la Microsoft office Excel 2003 Maosoft office InfoPath 200Э 3 Maosoft Office PowerPoint 2003 Maosoft Office Publisher 2003 H Maosoft Office Word 2003
Рис. 1.1. Access 2003 не слишком хорошо спряталась Система Windows найдет соответствующий программный файл. Если система нашла две копии программы, то обычно это означает, что на компьютере установлены две версии Access — новая и старая. Чтобы различить их, щелкните правой кнопкой мыши на первом файле и в раскрывающемся меню выберите команду Свойства (Properties). Откроется небольшое окно, в котором будет указано много полезной информации о файле. Щелкните на вкладке Версия (Version) вверху данного окна. Для Access 2003 версия файла должна начинаться с 11. Если номер версии начинается на число меньше 11, закройте окно и повторите эту процедуру с другим файлом. Если и в этом случае версия будет не та, значит, Access 2003 просто не установлена на вашей машине (или Windows не может ее найти). В данном случае достаньте CD-ROM и установите ее. Щелкните правой кнопкой мыши и, удерживая ее, перетащите пиктограмму найденного файла из окна Результаты поиска (Find Files) на кнопку Пуск. Откроется меню Пуск. , Перетащите файл на элемент Программы (Programs), разместите его в желаемом месте среди пунктов данного меню, а затем отпустите кнопку мыши (рис. 1.2). Откроется раскрывающееся меню, в котором нужно указать, что вы хотите сделать с этим файлом. Выберите элемент Создать ярлык (Create Shortcut Here).
24
Часть I. Что первично: данные или база?
yj Переход
:: \ У Результаты поиска CRT 3.4
Папка C:\Program
Помощник по поиску
FAR manager
ICQ
Найден только один файл. Достигнут ли требуемый результат поиска?
Outlook Express
£1 Поиск завершен
windows update
S Поиск завершен, однако в следующи раз ускорить поиск
WnZp
Обновить поиск и . . .
Выбор программ по умолчание
£1 Изменить имя файла или •; ключевые слова
Калькулятор
•.•;•;
L3 Поиск в других местах
каталог Windows
kJ Вюючить в поиск системные и
«•
IS МасОрепег 5.0 в Microsoft Office
Документы Ц- настройся Найти Справка и поддержка
* Ш PCANYWHERE32 »|Й RtvaTLner !Й Roxfo Easy CD and DVD creator 6 ' '!€J Стандартные АС№е PnoIDSnop 7.O MaosoftWord
S7 Выполнить...
8
11 Описание: Mfcrosoft Office Access Производитель
Рис. 1.2. Перетащите пиктограмму программы Access в меню Пуск, чтобы добавить ее в список программ Примите поздравления! Вы только что добавили ярлык в меню Пуск. Но это еще не все, название ярлыка требует небольшого вмешательства (согласитесь, чтото наподобие shortcut to msaccess.exe (ярлык на msaccess.exe) выглядит немного нелепо в вашем меню). Это можно исправить всего одним-двумя щелчками мышью. Чтобы переименовать ярлык в меню, щелкните на нем правой кнопкой и выберите элемент Переименовать (Rename). В диалоговом окне Переименовать введите более разумное название и щелкните на кнопке ОК.
сцщеонвцкнцей дозы Access без файла базы данных — это все равно что CD-плейер без компакт-диска: на него приятно смотреть, но потанцевать невозможно. Базы данных можно разделить на две категории. База данных, которая уже существует. Хорошая мысль — поработать с уже имеющейся базой данных (создав базу данных один раз, вы можете пользоваться ею длительное время). Если вас это устраивает, читайте главу дальше. База данных, которой еще нет. Если же на вас снизошло вдохновение и вы хотите сами создать свою базу данных, не мешкая, переходите к главе 4, в которой приведена дополнительная информация о проектировании и создании баз данных.
Глава 1. 37-минутный обзор
25
* Псонздние сведения да испольэ.«гвИми ; Access ' *' Ль гомзтичеои обновлять этот сисок из Веба
Готово
Рис. 1.3. Наконец-то удача - Access 2003 запущена и окно задач отобразилось Если вы только что загрузили Access 2003, ваш экран будет выглядеть так, как показано на рис. 1.3. По умолчанию при запуске Access отображается область задач, с помощью которой можно открыть существующую базу данных, создать новую, а также выполнять другие необходимые операции. Открытие существующей базы данных занимает всего лишь мгновение — выберите эту задачу из списка, расположенного в подразделе Открытие файла (Open). Если вы не обнаружили искомый файл, выполните следующие действия. 1. Щелкните на элементе Дополнительно (More) в подразделе Открытие файла. Откроется диалоговое окно Открытие файла базы данных (Open) (рис. 1.4). 2. Дважды щелкните на имени базы данных, которую хотите открыть.
\
Загрузится соответствующая база, и вы сможете приступить к работе. Если в диалоговом окне нет имени файла нужной вам базы данных, он может находиться в другой папке. Во врезке "Поиск скрытых файлов" главы 6 вы найдете необходимую информацию о поиске файла на вашем компьютере или в локальной сети. Если вы уже работаете с какой-либо базой данных (просматриваете какие-то отчеты или формы) и хотите открыть другую базу данных, выполните следующие действия. 1. Выберите пункт ФайлООткрыть (FileOOpeh) или щелкните на кнопке Открыть (Open) панели инструментов.
Появится диалоговое окно Открытие файла базы данных (см. рис. 1.4). 26
Часть I. Что первично: данные или база?
' ' Папка:
!Ь SAMPLES
5
" "v.'! ф 'dH
Online
X и yjl -
tlffJFOPATH SNorthwUdCS
Мои последи.., ]
т
ess
> Рабочий стоп :
Й>
"Печать нескольких гаэгкЛ*; •
мои документы |
мть
* < ||.
Мойком...
j ,
Моесетее...
.,
Имя файла;
,..:.„
.J, Тип файлов:
^Microsoft Office Access
Рис. 1.4. Диалоговое окно Открытие файла базы данных во всей своей красе 2. Дважды щелкните на имени файла базы данных, которую хотите открыть. Если нужного файла в списке нет, обратитесь к врезке "Поиск скрытых файлов" главы 6, в которой говорится о том, как найти базу данных на жестком диске или в локальной сети. Если вы увидите зловещее сообщение, в котором вас спрашивают, хотите ли вы преобразовать файл или открыть его, то это означает, что файл базы данных, с которым вы хотите начать работу, был создан более старой версией программы Access. И теперь Access 2003 хочет преобразовать существующие файлы базы данных в текущий формат, и, вероятно, вы хотите того же. Выполните инструкции, появляющиеся на экране, для превращения базы данных в новую таблицу Access 2003, и все должно нормально заработать. Не забудьте сделать резервную копию файла перед его преобразованием (просто на случай, если что-то пойдет не так).
окна Зазы qattHWc При открытии базы данных на экране обычно появляется окно, показанное на рис. 1.5. Несмотря на то что Access хранит все части базы данных в одном большом файле, она организует их внутри этого файла в зависимости от того, чем они являются: таблицами, запросами, формами и т.д. Все эти элементы называются объектами. Чтобы просмотреть определенный тип объекта вашей базы данных, щелкните на любой кнопке в левой части окна под панелью Объекты (Objects). В результате правая часть окна изменится, и вы увидите все объекты в выбранной категории, а также несколько дополнительных записей для создания новых объектов.
Глава 1. 37-минутный обзор
27
иг Варен ; база данных (формат Access 20QO) ^Открыть !
Объекты Л Габлщы $ Запросы Ш Формы Ш Отчеты **J Страницы гг Макросы **! Модуле Группы
р ^Создать I X I *д ".'"[xi|:Bt Создание таблицы в режиме конструктора Создание таблицы с помощью мастера Создание таблицы путем ввода данных Доставка Заказано Заказы Клиенты Поставщики Сотрудники Список рассылки Таблица гиперссылок
fjfei Избранное
Рис. /.5. Из окна базы данных можно получить доступ ко всем составляющим ее элементам В верхней части окна базы данных указывается формат открытого файла. На рис. 1.5 показано, что открыт файл формата Access 2000. В Access 2003 можно открывать файлы, созданные в предыдущих версиях программы (например, в Access 2000 или 97), но ни в одной из предыдущих версий нельзя открыть файл, созданный в Access 2003. Именно поэтому все, с кем вы работаете, должны иметь одинаковую версию программы! После открытия базы данных можно поработать с ее различными частями. Для открытия таблицы щелкните на кнопке Таблицы (Tables), а затем дважды щелкните на названии нужной таблицы. Для открытия запроса, формы или отчета щелкните на соответствующей кнопке в разделе Объекты, а затем дважды щелкните на названии нужного элемента. Если вам наскучило работать с какой-либо базой данных, можете закрыть ее, щелкнув на кнопке закрытия окна, расположенной в его правом верхнем углу, или выбрав из системного меню Файл^Закрыть (File^Close). Если вы предпочитаете работать с клавиатурой, то комбинация клавиш <Ctrl+W> выполнит ту же операцию и не потревожит вашу мышку. (Я понятия не имею, как разработчики получили комбинацию клавиш <Ctrl+W> из слова Close. Думаю, просто все остальные буквы были уже использованы.) Если вы хотите больше узнать о работе с интерфейсом Access 2003, обратитесь к главе 2. Если какая-то добрая душа не пожалеет своего времени, чтобы немного облегчить вашу жизнь, то при открытии базы данных на экране автоматически появится начальный экран, или кнопочная панель (рис. 1.6). Не пугайтесь — это меню, позволяющее работать с базой данных. В главе 4 представлена дополнительная информация о начальных экранах.
28
Часть I. Что первично: данные или база?
*' Глаоная кнопочная форма
ТОРГОВЛЯ КОМПАЯИ
Выход из Microsoft Access
Рис. 1.6. База данных, украшенная замечательной кнопочной панелью
uxuicu в
сена
Поиск нужной записи в таблице напоминает поиск иголки в стогу сена — нужный элемент необходимо найти среди огромного количества всевозможных данных. Однако, несмотря на обилие информации, найти нужный элемент достаточно просто, будь-то имена или фамилии клиентов, номера машин или почтовые коды городов. Приведем пример поиска какой-либо записи. 1. Откройте таблицу, в которой хотите произвести поиск. Если вы не знаете, как открыть таблицу, см. предыдущий раздел. 2. Щелкните в поле, где хотите выполнить поиск. В поле появится мигающий курсор, сигнализирующий о том, что Access правильно поняла вас.
3. Из системного меню выберите пункт Правка^Найти (EditOFind) или щелкните на кнопке Найти (Find) панели инструментов. Появится диалоговое окно Поиск и замена (Find and Replace), показанное на рис. 1.7. В поле диалогового окна Поиск в (Look In) будет отображено имя текущего поля. Чтобы организовать поиск в другом поле таблицы, щелкните на стрелочке, расположенной справа от имени поля, и из раскрывающегося списка выберите другое имя поля. 4. В текстовом поле Образец (Find What) введите текст, который хотите найти. Пишите грамотно, так как Access будет искать именно то, что вы введете! 5. Чтобы начать поиск, нажмите клавишу <Enter> или щелкните на кнопке Найти далее (Find Next). Начнется поиск, и вы не успеете моргнуть глазом, как он завершится. Когда Access находит соответствующую запись, данные в этом поле выделяются (рис. 1 .8). Если записей, удовлетворяющих заданному критерию нет, появится большое официозное диалоговое окно, сообщающее, что Microsoft Access закончила поиск и не нашла совпадающих элементов. (Если в это время у вас на экране притаился помощник, то вместо обидного кричащего окна он тихонечко сообщит о результатах поиска.) В этом случае щелкните на кнопке ОК и улыбнитесь его исчезновению. Затем дважды щелкните на тексте, введенном в текстовом поле Образец. Если при вводе текста вы допустили ошибку, исправьте ее и попробуйте начать поиск заново.
Глава 1. 37-минутный обзор
ALFKI
*:ANATR 'CANTON
*''BLpNP * BOLD
>;BONAP
' Maria Anders Ana Trujillo iAntonlo Moreno [Thomas Hardy Christina Berglund JHanna Moos Frederique Citeaux j Martin Sornmer 'Laurence Lebihan
;Alfreds Futterkiste Ana Trujillo Empareladps Antonio Moreno Taquena Around the Horn : Berglunds snabbkop Blauer See Delikatessen Blondel pereetfils Bolido Comidas preparadas
Представитель Совладелец Совладелец Представитель_ Координатор Представитель Главный менеджер Совладелец Совладелец
iBerguysvagen 8; ; Fqrsterstr" 5J~_ " 124. place' Weber"'
~
;j2LruedesBouc 23 TBawassen BK :Fauntleroy Circus
i BSBEV
'
iSierras de Grana
CENTC JCHOPST
~'
ТсоммГ ; CONSH'
| Псмскв:
;DyMON
.EASTC'
[Попя целиком
Г^жхмотр:
[все
Щ
__ Щ| у . ..
|_Jc учетом регистра [v^jc учетом формата полей
V
ERNSH
'FAMIA '.FISSA' JFOLIG
[Кодюч«нт«
Совладение:
;FISSA Fabricai Inter.:Salchichas S.AiDiegp Rpel Folies gourmandes \ Marline Ranee
'
Запись: Q3 < ;
jAy. dosLusiadas i Berkeley Garden: iWalserweg 21 i 67, ruei des Cinoj j 35 King George; кам iKirchgasse в гмвнеджвра[Rua pros, 92 [Бухгалтер IC/Moralzarzal, 8 [Помощник продавца i 184, chaussee d<i ^^ .""'•' "'"" ' " *>
Рис. 1.7. К вашим услугам диалоговое окно Поиск и замена
| Код клиента | Название •HMORGK Morgenstern Gesundkost ••[NORTS North/South ••• OCEAN 'oceano Atlantico Ltda. ••[OLDWO ,6id World Delicatessen
• :
| Обращаться* Alexander Feuer : Simon Crowther [Yvonne Mpncada [Rene Phillips
-
; | Должность' : ]• ." *Щ ;Помощ ник менеджера Heer ;tr 22 ;Учени» продавца South House [Ing. Gustavo Мог :.DP.<!fl? !ец |Предс1 авитель .2743 Bering St.
— *:PERIC —
•> PRINI ••^QUEDE
?
Pi Pi Q
*;f5y|EN^~JO
т
"[RANCH TiRATTC •>,REGGC"_"'. * RICAR •>:;RICSU •*-ROMEY •* SANTG •>:SAVEA •>;SEVES •*:SIMpB * SPECD
Поиск
I
Замена
J
i jjjj\
i образец:
|jyte Petersen
Поиске:
;С6ращатьсяк
v.;|
Совпадение:
[Поля целиком
• |§]
Найти далее j Отмена
Ri i Просмотр: ;Всв ^Ш Й : Qc учетом регистра R Ri Richter Supermarkt Romero у tomillo Santu Gourmet Save-a-lot Markets Seven Seas Imports :Simonsbistrp Specialites du monde
(v]c учетам формата полей
Michael Hot [Alejandra Camino Jonas Bergulfsen I Jose Pavarotti iHari Kumar ИВЯЯЯИЯ1 Dominique Perrier
j
[Calle Dr. Jorge С м Geislweg 14 [Estrada da saude [RuadaPanificad iAIarneda dos Cat [Taucherstrass^ 1 IAv. del LibertadoiH Strada Provincial
[Менеджер no продажам Grerzacherweg; [Бухгалтер : GranVia. 1 [Совладелец ^ErlingSkakkesgi Представитель .187 Suffolk Ln [Менеджер по продажам 90 V/adhurst Rd. Совладелец Vinbaeltet 34 | Главный менеджер 25, rue Laurislon »
ЗЯ
Рис. 1,8. Нужный клиент найден! Access автоматически сравнивает все содержимое поля таблицы с введенным вами текстом. Это означает, что если в поле Образец вы введете слово Кауфельд, то Access не сможет найти его в поле, содержащем текст Школа творчества Кауфельда. Почему? Дело в том, что данные в поле не полностью, а только частично соответствуют введенному тексту. Для того чтобы можно было найти даже час-
30
Часть I. Что первично: данные или база?
точные совпадения, в диалоговом окне Поиск и замена нужно изменить значение элемента Совпадение (Match), выбрав из раскрывающегося списка значение С любой частью поля (Any Part of Field) вместо Поля целиком (Whole Field). Если вы все равно не можете найти запись, обратитесь к главе 10 за более подробной информацией о диалоговом окне Поиск и замена.
6. Закончив работу с окном поиска, закройте его, щелкнув на кнопке Отмена (Cancel) или нажав клавишу <Esc>. Существуют и другие возможности осуществления поиска— с помощью щелчка правой кнопкой мыши, — которые будут описаны в главе 10.
внесена
изменении
К сожалению, в жизни не все и не всегда получается так, как того хочется. Клиенты переезжают, телефонные номера меняются, а в ваше отсутствие кто-то переворачивает базу данных с ног на голову. Так или иначе, иногда в базу данных приходится вносить определенные изменения. Удачи вам в этом начинании! Изменить данные в таблице совсем не сложно, скорее даже, слишком просто. Схема такой процедуры описана ниже. Но не забывайте, что ваши изменения сохраняются автоматически. По окончании работы с записью новая информация сразу же заносится в базу данных. Если вы допустили ошибку, немедленно нажимайте комбинацию клавиш <Ctrl+Z>, чтобы отменить введенные изменения, — ни в коем случае не откладывайте это на потом. Будьте очень внимательны при изменении записей в базе данных. Внести изменения легко, а вот отказаться от них и восстановить предыдущую запись не так-то просто. Access позволит вам отказаться от изменений только в последней отредактированной записи. Когда вы будете готовы внести изменения в запись, выполните следующие действия. 1. Откройте таблицу, дважды щелкнув на ней в окне базы данных. Появится ваша таблица со всеми данными. 2. Щелкните в поле записи, которую хотите изменить. В поле появится мигающий курсор, а указатель мыши примет вид буквы "1". 3. Внесите необходимые изменения в содержимое поля. При внесении изменений в Access действуют все стандартные клавиши (<Ноте>, <End>, <Backspace> и <Delete>). Более подробно работа с клавиатурой описана в главе 6. 4. После того как в поле внесены все изменения, нажмите клавишу <Enter>, чтобы сохранить их. Как только вы нажмете клавишу <Enter>, внесенные вами изменения сохранятся. Если вам сразу же покажется, что предыдущий вариант был лучше, нажмите комбинацию клавиш <CtrI+Z> или выберите из системного меню команду Правка^ Отменить запись (EditoLJndo Saved Record).
Глава 7. 37-минутный обзор
Л/геуаиавленме {гезцлыйай&в в &uqe Таблицы — это замечательная вещь, но лучше всего они выглядят на бумаге. И здесь нам снова придет на помощь Access. *8S£LJr
Access прекрасно умеет выводить информацию из базы данных на печать. Программа обладает всеми необходимыми инструментами для создания отчетов и имеет в своем распоряжении такое мощное средство, как Мастер отчетов, которое поможет вам легко справиться с поставленной задачей. Более подробную информацию по этому вопросу можно найти в части IV.
! Помощь близко — всего лишь в нескольких щелчках I Неважно, где именно вы работаете в данный момент, в Access 2003 помощь всегда рядом. ' В главе 3 подробно описываются все режимы справочной системы, а здесь мы только ! начнем разговор о ней. ; Если вы зашли в тупик и не знаете, что делать дальше, нажмите универсальную клавишу ; помощи Windows <F1>, расположенную в верхнем ряду вашей клавиатуры. Вы увидите | помощника, всегда готового прийти вам на подмогу, или диалоговое окно Справочная система (содержащее всю справочную информацию по данной теме, начиная с ( последних нововведений в Access 2003 и заканчивая удивительно доходчивыми • пояснениями по макросам). \ Если вы не расположены к длительному чтению, то задайте вопрос помощнику или ! перейдите на вкладку Поиск и найдите интересующую вас тему. В любом случае ответ вы ' получите незамедлительно! Поскольку при работе с Access очень часто требуется распечатывать данные, рассмотрим, как это делается.
1. В окне базы данных щелкните на кнопке Отчеты (Reports). Access покажет все возможные отчеты в этой базе данных (рис. 1.9). Если в списке находятся только две опции создания отчета, то ни одного отчета еще не существует. В этом случае перейдите к части IV, в которой вы найдете информацию о построении и использовании отчетов. $1 борей : база данных {формат Access 2000}
Щ | 'ёУ Ш Ш $i Ш Ш Ш it Макросы из Ш Ш Группы til Избрани.. Ш ;j Таблицы Ф Запросы Формы
У^&№Ш*±1№ШШ№Щ$Ц Ш Создание отчета с помощью мастера Итоги продаж по объему Каталог Наклейки для клиентов Подчиненный для каталога Подчиненный для продаж по годам Подчинен-ьи для продаж по типам Продажи по годам Продажи по сотрудникам и странам Продажи по типам Список товаров
вне Суммы продаж по годам | Суммы продаж по квартал Счет Товары по типам
Рис. 1.9, Чтобы получить доступ ко всем отчетам, щелкните на кнопке Отчеты
32
Часть I. Что первично: данные или база?
2. Щелкните правой кнопкой мыши на названии отчета, который хотите распечатать. Рядом с курсором появится контекстное меню. 3. Из появившегося меню выберите элемент Печать (Print) (рис. 1.10). $» Борей : база данных (формат Access 2000)
i*. |[6*ifX]
[&. Просмотр |йм Конструктор !'jjj[ Создать ! XI fi ^"^B^t Объекты ; j ! 'Ш Создание отчета в режиме конструктора Я Суммы продаж по годам \ *: '''о"1га6лиим" i j ^ Создание отчета с помощыо мастера Я Суммы продаж по кварта] 1 Итоги продаж по объему 1 Счет • Э1 Запросы • ; мшшвн и товары по ттам 3 Формы | наклеЛ jjjl Пре/щарителаНМЙ просмотр -неЛ] Подчин Щ Цонструктор;' 1 *al Страницы;: Подчил -.- \. '•'•' . к ; i ! ПОДЧИН Й( Печать ; . I й "'«Р00- In продаж Вырезать T i ji В Продаж Цопкрсвать . Группы _! 1 * Продаж Соа>анитькак... Га» ёйчЕИ "сгмсок ||<:<1.ШНЯ
;
^
Экспорт...
Отправить
*
Добавить в группу
>
„_.,. j
'•
• я!
Создать ярлык...
•
Переименовать Свойства Завиомостаобьеетсв...
Рис. /. /0. Меню Печать появляется незамедлительно В центре экрана будет отображено небольшое диалоговое окно, которое будет держать вас в курсе выполнения печати. После завершения печати оно исчезнет без следа. Если в процессе печати вы захотите ее отменить, щелкните на кнопке Отменить.
Присущее Access 2003 свойство автоматически сохранять записи избавляет пользователя от излишней головной боли. Если вы введете группу новых записей или отредактируете уже существующие данные, изменения будут автоматически сохранены. Однако Access, не задумываясь, сохраняет все подряд. Если вы случайно удалили 237 записей, а потом сделали пару щелчков, то можете попрощаться с ними и начинать утомительную процедуру их восстановления. Я уже говорил и не устану повторять: будьте очень внимательны при изменении записей в таблицах, ведь для того, чтобы удалить ее, нужно всего мгновение. Не допускайте, чтобы это произошло!
Глава 1. 37-минутный обзор
33
HedoM>uiasL лекция, о важности создания, копий Думаю, вы уже не раз слышали об этом, но все же моя совесть опытного пользователя не позволит закончить эту главу, не упомянув о необходимости создания резервной копии вашей базы данных. Несмотря на то что я подхожу к этому с юмором, регулярное создание копий — жизненно важная процедура при использовании Access (как, впрочем, и любой другой программы). Почему это так важно? На минутку представьте себе жизнь без компьютера. Не вспоминайте о бизнесе в те старые добрые 1970-е, а просто подумайте о том, что после утренней зарядки вас не ждет ваш любимый компьютер. Ничего. Пусто. Чистый рабочий стол — ни писем, ни заметок, ни списка клиентов — ничего. Все это хранилось в компьютере, но теперь ничего не осталось. Если вы не хотите в один прекрасный день навсегда распрощаться со своими данными, вам необходимо набросать небольшой план по созданию резервных копий. Даже если это касается только вас и вашего компьютера, сделайте для себя несколько заметок о процедуре резервного копирования. Для начала можете остановиться на приведенных ниже пунктах. •/ Как часто необходимо выполнять эту процедуру? Лучше поставить этот вопрос по-другому: сколько данных вы можете позволить себе потерять? Если ваша информация меняется ежедневно (как, например, в какой-нибудь вычислительной системе), то необходимо создавать резервную копию каждые одиндва дня. Если ваш компьютер предназначен в основном для компьютерных игр, а Access используется очень редко, делайте копию данных раз в одну-две недели. Универсального рецепта здесь нет — все зависит от конкретных условий. •S Где хранить резервные копии? Если хранить копии в непосредственной близости от компьютера, можно потерять их вместе с ним, например в случае пожара. Лучше держать их в каком-то другом здании или хотя бы в другой комнате. •S Как создать резервную копию данных? Напишите пошаговую процедуру с указанием используемого внешнего устройства — например, дисковода жесткого диска или накопителя на магнитной ленте. •S Как вы будете восстанавливать данные? Желательно и эту процедуру записать со всеми подробностями. Возможно, вам будет сложно сориентироваться в каких-то деталях при выполнении этих инструкций, поэтому каждый ее этап должен быть простым и понятным. После того как вы разберетесь, как следует создавать резервные копии, попытайтесь восстановить свои данные, чтобы убедиться, что ваша система работает. Лучше попрактиковаться заранее, а не ждать, когда это станет необходимым. Не бойтесь потратить пару часов драгоценного времени, и ваши усилия воздадутся вам сторицей, если ваш диск прикажет долго жить. Потом еще спасибо мне скажете. Если вы работаете с базами данных на работе (а не дома), возможно, в вашей фирме предусмотрено автоматическое создание резервных копий. Спросите об этом у своих коллег, они могут быть в курсе дела.
34
Часть I. Что первично: данные или база?
Как, fc/гасиво Если подошло время заканчивать работу, сделайте это правильно. 1.
Если база данных открыта, из системного меню выберите команду Файл1* Закрыть (File^Close) или щелкните на стандартной для Windows кнопке закрытия окна, расположенной в правом верхнем углу окна базы данных. С технической точки зрения в этом нет необходимости, но я достаточно старомоден, чтобы не доверять программе самой закрывать окна. По мере возможности я стараюсь сам сохранить и закрыть все файлы перед выходом из программы.
2.
Закройте Access, выбрав команду Файл<=>Выход (File^Exit). Если вы решили отойти ко сну, завершите работу Windows. Для этого щелкните на кнопке Start, а затем в появившемся меню выберите пункт Завершение работы (Shut Down). Если Windows усомнится в серьезности ваших намерений, скажите ей "OK". Windows потрудилась не меньше других программ, поэтому и ей пора отдохнуть. Выключите компьютер и насладитесь заслуженным отдыхом.
Глава 1. 37-минутный обзор
35
Глава 2
Через тернии к звездам гмиве... >
Описание интерфейса
> Просмотр приятных окон > Обратимся к панели инструментов > Использование меню > Работаем с правой кнопкой мыши
/
fi опадая в незнакомый город или местность, с одной стороны, вы испытываете чув*/ ** ство интереса и любопытства, а с другой — чувство разочарования. С одной стороны, вы любуетесь восхитительными пейзажами и местными достопримечательностями, а с другой — совершенно не ориентируетесь на местности. Если вы работали с предыдущими версиями Access, на просторах Access 2003 вы будете чувствовать себя путешественником, попавшим в родные места через 20 лет. Все как будто знакомо, но в то же время что-то изменилось. Что-то вроде: "И куда они спрятали это меню? Оно должно было быть здесь... Ого! половина меню исчезла, да нет, вроде бы, все на месте... Нужна еще чашечка кофе". Прочитав эту главу, вы сможете быстрее освоиться в увлекательном мире Access 2003. Здесь вы познакомитесь с элементами, которые встречаются на экране (начиная с главного окна и заканчивая панелью инструментов), а также с тем, что за ними скрывается. Итак, усаживайтесь удобнее и наслаждайтесь — вас ждет приятное времяпрепровождение с Access 2003.
Осмысление увиденного Поскольку Access работает на платформе Windows, сначала обратим внимание на главное окно программы. На рис. 2.1 показан общий вид окна базы данных Access (более подробно оно будет описано ниже). Для начала необходимо познакомиться с девятью основными элементами главного окна Access. Ниже приводится краткое описание каждого из них. Если вы новичок в Windows, прочитайте одну из книг Windows 2000 для "чайников" (или Windows Me для "чайников", или Windows 98 для "чайников", выпущенных издательством "Диалектика"). Кнопка системного меню. Для открытия системного меню щелкните на расположенной в левом верхнем углу пиктограмме в виде ключика— визитной карточке Access. Чтобы закрыть Access, дважды щелкните на ней. Строка заголовка. Вверху каждого окна расположена строка заголовка, которая выполняет еще одну функцию: ее цвет изменяется в зависимости от активности окна в определенный момент времени. Двойной щелчок на строке заголовка попеременно, от максимального до выбранного пользователем, изменяет размер окна Access.
Кнопка системного меню Строка заголовка
Главное меню
Панель инструментов Помощник
13 Microsoft Access
i,: приступая к работе^
ЗОЛЬ»Online И* Борей : база данных (формат Access 2000) ЙОБФЫТЬ ШКонструктор чЭ Создать [ Х:! *а
•а
Создание таблщы в режиче конструктора Создание таблиды с помощью мастера 'Таблицы j Создание таблицы путем ввода данных j * Загросы | G Доставка ! а «ог*ы -S Заказано 1 ч Отчеты \ 3 Заказы Страницы i и ИШклцЗ! ! -^э Макросы : d Поставщики | з Сотруднихи Типы * ••••!• Товары Группы__{ \
1
объекты
|-ts
а а
*• Подключиться к веб-узлу Microsoft Office Online **>
Последние сведения об использовании Access
*
Автоматически обновлять этот список из Веба
В
ь нескольких KDTIWI
?^ Дополните/ъно..
j £*l Избраж... ;
с
\
: ; :;
; :]
Окно базы данных
Панель задач
Рис. 2.1. Access во всей красе J Главное меню. Между строкой заголовка и панелью инструментов расположено главное меню. Помимо того, что оно разделяет две панели, это меню будет объектом нашего пристального внимания при знакомстве с командами и функциями Access. S Панель инструментов. Можете представить ее в качестве воплощения многоликого Будды. В ответ на каждое ваше действие в Access она услужливо предоставляет вам новые необходимые инструменты. Подробную информацию об 11 этом изменчивом существе вы узнаете далее в этой главе. • Служебные кнопки. Эти три кнопки, расположенные в правом верхнем углу любого окна, являются его неотъемлемыми элементами. Если перечислять слева направо, эти кнопки отвечают за следующие действия: • первая кнопка — Свернуть — сворачивает активную программу в кнопку на панели задач; • вторая— Восстановить— заставляет активную программу занимать либо часть экрана, либо полный экран (одна кнопка выполняет две функции); • третья — Закрыть — закрывает окно.
Глава 2. Через тернии к звездам
37
Строка состояния. Access — очень "разговорчивая" система, которая не может удержаться от того, чтобы не прокомментировать все свои действия. Все, что программа хочет сообщить пользователю, появляется в виде сообщения в строке состояния. В правой части этой строки находятся индикаторы некоторых используемых клавиш, например <Caps Lock> — регистра клавиатуры. Окно базы данных. В самой середине этого водоворота расположилось окно базы данных, о котором подробнее рассказывается в следующем разделе. Панель задач. С правой стороны основного экрана Access расположена новая, улучшенная панель задач. Чтобы отобразить или спрятать эту массивную часть экрана, нужно выбрать из главного меню Вид1* Область задач (View^Task Pane). Эту панель можно считать моментальным источником получения информации. Access использует ее для всего, начиная с открытия существующих файлов баз данных и заканчивая работой с системой помощи. Помощник. Будет полезен во всех программах Microsoft Office, в том числе и в Access. Если у вас возник вопрос или требуется помощь, щелкните на нем и задайте ему вопрос. (А если вам станет скучно, щелкните на нем правой кнопкой мыши, выберите команду Мотор! (Animate) и от души посмейтесь.)
Окна Зьивакнн Access 2003 — это нечто большее, чем просто большое красочное окно. Программа напичкана окнами и окошками, предназначенными для всех случаев жизни. В этом разделе мы рассмотрим только четыре окна, чаще всего использующихся при работе с программой: базы данных, таблицы данных, форм и запросов. Для того чтобы понять, как работают окна, для чего они предназначены, вам придется полистать эту книгу. Информацию о базах данных и таблицах вы найдете в части II, запросы подробнее описаны в части III, а о формах рассказывается в части V. \
Окно базы данных
Как правило, при открытии базы данных появляется окно, аналогичное изображенному на рис. 2.2. С его помощью вы сможете управлять элементами своей базы данных, получить доступ ко всем средствам базы данных, включая инструменты для создания новых и изменения уже содержащихся в ней структурных элементов. Кроме того, оно здорово выглядит. Что же тут еще добавить? Кнопки панели Объекты (Objects) в левой части окна соответствуют объектам (таблицам, запросам, отчетам и т.д.), составляющим базу данных. В верхней части окна базы данных расположены четыре кнопки для работы с этими объектами. Открыть (Open) — выводит на экран текущий объект. Конструктор (Design) — позволяет изменить объект. Создать (New) — создает новый объект. X — удаляет текущий объект (можете попрощаться с ним!). Остальные кнопки, расположенные правее, определяют, в каком виде будет представлен список объектов базы данных. У вас есть выбор —жизнерадостные цветные изображения или подробное мини-досье на каждого "участника". На самом деле кнопки просмотра должны быть вам знакомы, так как точно такие же используются в проводнике Windows. Пробуйте и выберите то, что вам по душе, — это ваше право! (Только, пожалуйста, не нажмите случайно X, договорились?)
38
Часть I. Что первично: данные или база?
Кнопки просмотра
Кнопки панели инструментов
Вставка С5рбис,,8,0кно :. Справка
'
||£ Конструктор 'ЭСоадать ! Х'н "1 I;-
Запросы Формы Отчеты Страницы Макросы
*Ш Создан* таблицы в режиме конструктора Создание таблицы с помощью мастера создание таблицы путем ввода данных доставка Заказано 3 Заказы Поставщики G3 Сотрудники 3 Типы Товары
Панель Objects
Рис. 2,2. Проникнем еще в одну базу данных Окно вашей базы данных может выглядеть так, как показано на рис. 2.3. Не стоит расстраиваться, по-моему, оно выглядит даже симпатичнее того, что изображено на рис. 2.2. Это говорит о том, что вы работаете со стандартным приложением Access. Вероятнее всего, данная форма была создана одним из ваших "продвинутых" коллег или друзей. Такой вид окна называется кнопочной панелью. fc- Глапнзя кнопочная форма Сведения о товарах и заказах:
Печать отчетов
.
[
Бцход из Microsoft Access
j
QKHO базы данных
Рис. 2.3, Пример кнопочной панели
Глава 2. Через тернии к звездам
39
Окно таблицы Что это — таблица данных или электронная таблица! Наверняка это может знать только ее создатель! Взглянув на рис. 2.4, нетрудно понять, почему здесь можно запутаться. Да, это действительно таблица данных, но выглядит совсем как рабочий лист электронной таблицы, правда? При просмотре базы данных Access в виде таблицы, состоящей из строк и столбцов, эта база выглядит точно так же, как обычный рабочий лист электронной таблицы. Но несмотря на это внешнее сходство, на самом деле — это совершенно другая вещь. Индикатор текущей записи
Поля
Название таблицы Запись
Alfreds FutterWste : Ana Trujillo Emparelados _ Antonio Moreno Taquerm_ Around the Horn
lANATR ANTON iBERGS
;Biauer See DeHkatessen Blondel pere et fiis iBpjido Cpmidas preparadas
BLONP
IBONAP
:врп app;
I Antonio Moreno jifiomas Hardy _ [Christinai Bergiund jHannaMoos_ Fredenque Qteaux jMartnSommer Laurence Lebihani _ Elizabeth Lincoh jvictoria Asifiworth Patricio Simpson I Francisco Chang lYang Wang I Pedro Afonso Elizabeth Brown
"BotonvDolia7Markets " B's Beverages ; Cactus Comidas para llevar Centre comercial Moctezuma Chop-suey Chinese iComercioMineiro Consolidated Holdings 1 DrachenbU pelikatessen |SvenOt№eb '" ;Du monde enfier i Janine Labaine Eastern Connection [Ann Devon _ JRolandJHendel.. .^_" Farnilia Arquibaldo_ iAria Cruz FISSA Fabrica Inter Salchichas SVDiegojRoeT
[ВОТТМ iCACTU
ICENTC iCHOPS •COMMI ICONSH DUMQN ^EASTC
FAMIA
[Представитель Совладелец Совладелец Прёяставитель Представитель Главный менеджер Совлваелвц Совладелец^ __ Представитель [Продавец • Главный менеджер {Совладелец '(Ученик продавца Представитель (Координатор [Совладелец jПродавец Менеджерпо^прсщажам Помощник ..менедкееа
Счетчик записей На предыдущую запись Текущая запись
ч-
24. place Kleber
lo/sBiSJH—J 12, rw des BoucSs [23 Tsawassen Bk/d :FaunOeroy Circus ;Cemto 333 'sierras de Granade Hauptstr 29 Av. dos Lusiadas, 2 BerkelBy Gardens |Walserweg21 67. rue des Cinqua : 35 King George
J5S^e?§**i_. iRuapros. 92
Полоса прокрутки
На последнюю запись На следующую запись
Рис. 2.4. Таблица данных напоминает рабочий лист электронной таблицы В верхней части окна этой таблицы, как и полагается, находится ее имя. Сразу под ним указаны имена полей; а в строках разместились записи таблицы. Не беспокойтесь, если вы пока еще не совсем улавливаете разницу между этими понятиями. В главе 4 об этом рассказывается подробнее. Вдоль правого края окна и в правой нижней его части расположены две полосы прокрутки, с помощью которых можно перемещаться по таблице со скоростью ветра. В левом нижнем углу окна находятся навигационные кнопки. Они чем-то напоминают кнопки управления, расположенные на панели проигрывателя компакт-дисков или видеомагнитофона. Кнопки с изображением стрелок, концы которых упираются в отрезок прямой, переместят вас к первой
40
Часть I. Что первично: данные или база?,
или последней записи, а кнопки с обычными стрелками — к следующей или предыдущей записи таблицы. Щелкнув на кнопке со стрелкой и "звездочкой", вы добавите в таблицу новую запись. Иногда слева от какой-либо записи вы увидите знак "+", который указывает на то, что данная таблица связана с некоторыми другими. (В главах 4 и 5 содержится более подробная информация о том, как установить и использовать связи между таблицами.) После щелчка на знаке "+" программа Access отобразит все данные из другой таблицы, которые соответствуют текущей записи. В примере, изображенном на рис. 2.5, указаны товары, заказанные определенным покупателем.
IALFKI
I Alfreds Futterkiste Представитель jObere Str. 57 ; Maria Anders Avda. de la ConsBtil Ana Trujillo Emparelados :Ana Trujijlo Совладелец IANTON 'Mataderos 2312 ; Antonio Moreno faquena Совладелец : Antonio Moreno IARQUT i Around the Horn [Thomas Hardy 1120 Hanover Sq. Представитель Berglunds snabbkop < Christina Berglund Координатор Berguvsvagen 8 IBLAUS [Blauer See Delikatessen Henna Moos Forsterstr. 57 Представитель Blondel pare et fils Frederique Citeaux Главный менеджер IBLONP 24. place Kleber Bolido Comidas preparadas Martin Sommer Совладелец C/Araquil, 67 iBOUD I Код заказа | Сотрудник гга размещения| Дата назначения| Дата исполнения! Доставка [Стоимост 6 ,JpM6: Воронова. Дарья . ,!0:.15:1??1 _ PMM?.? J 1± 19:1996! Почта ""29-12^1997: _ 2б51-1Щ'_ J51-12^ 1М7!Почта _10801 j Вфонова^ йарья "ЖоЭИМвГ"'_ j07^4-i998^ •__ 245if 19ЙРостранс" 1WOj5ce»BBa.J4HHa (Счетчик)! iBONAP iBonapp' : Laurence Lepihan Совладелец . 12._ rue des .Bouche |BSBj\7 JCACTU ICENTC {COMMI DRACD
jB's.Beyerages i __ Icactus Cotnidas para levar _____ ^Centre comercial Moctezuma_ Comercio Mineiro
_
iprachenbliit Delikatessen
' .. . . . . . . . . . . . . . . . . . .. . . .^P*ic!0.Smpson_ .Подавец ______ ._..lCerrito3J3 ________ __, ^ Francisco Chang ; Главньй менеджер _ Sierras de Granadi
\ Pedro Afpnsq 'Sven.Ottleb
___
X.4®*** Qpofl8^!?! Координатор
__
1A Y:Walserweg21
-
Ц: sf.'.'
Puc. 2.5. После щелчка на знаке "+", расположенном рядом с определенной записью, будет извлечена вся информация, относящаяся к данному элементу
Окно формы Форма — это другой популярный вид просмотра таблиц Access. В таком виде данные выглядят более традиционно и не вызывают ассоциаций с электронной таблицей. Табличные данные в виде формы обычно выводятся строго по одной записи на экране, т.е. именно так, как это делалось в далекие 1970-е на компьютерах, стоящих миллионы долларов (которые по их способностям можно сравнить с современной микроволновой печью!). На рис. 2.6 представлен простой, но классический вариант формы Access. В верхней части окна, как всегда, расположилась строка заголовка. Поля таблицы занимают среднюю часть формы. В левом нижнем углу формы находятся такие же навигационные кнопки, как и в окне с данными. Более подробно о формах рассказывается в главе 22.
Глава 2. Через тернии к звездам
41
Рис. 2.6. Данные, представленные в виде формы
Окно запроса Основная функция любой программы управления базой данных состоит в поиске информации, содержащейся в базе. В Access такую функцию осуществляет система выполнения запросов. А основным элементом этой системы является окно запроса, изображенное на рис. 2.7. Таблицы в запросе
ВИШ
г* Запрос 1 : э апрос на оыборку ЦшЖаШЭИН 1* -*; [КчКгиента
' > .•' .
;•:.-. -
jg;
;Обращатьсяк Должность
fc
:
'(.
:
»'ii.jxiiKPT'iJQiii3u ' L fZfTT'JKOTB КодЗаша КодКпиента
"
. . "
t
1
[I
КодСотрудникз
••
"" •
4
;•*(•--- :
Попе: Клиенты.* имя таблицы: Клиенты Сортировка: Вывод ив эфан: М Условие отбора:
КодКлиекта Клиенты
твияи — ~ "
Название Клиенты
в
Клиенты
у]
или:
в
т
•ь*1
«'- -.; '
\
Связанные таблицы
Поля в запросе
Рис. 2.7. Основные элементы окна запроса Это окно содержит следующие основные элементы. S В верхней части окна располагается строка заголовка, в которой, выведено имя, присвоенное запросу. •S Верхнюю половину окна занимают таблицы, которые участвуют в создании этого запроса. Если для выполнения запроса используется больше одной таблицы, здесь также указывается, как они связаны или объединены между собой. S В нижней части окна указывается критерий запроса, т.е. инструкция, согласно которой будет выполняться запрос.
42
Часть I. Что первично: данные или база?
S Поскольку все эти средства могут быть весьма сложными и занимать много места на экране, окно запроса имеет несколько полос прокрутки. При выполнении запроса его результаты обычно отображаются в виде таблицы данных.
fc панели uttctHfu/мемпов, fte&suua Панели инструментов необходимы как воздух. Access имеет в своем распоряжении огромное число панелей, без которых работать с программой было бы очень трудно. Что же такое панель инструментов? Это ряд кнопок, расположенных как раз под строкой меню в верхней части экрана. На рис. 2.8 показана стандартная панель инструментов, где каждая кнопка предполагает выполнение отдельного действия. прос:мотр Поиск .
Новый
тавить Office ссылки Вырезать 1
0бъект
Вс
• ' 1
Свойства
I I Анализ I Отношения Сохранить Копировать Печать Редактор Помощь Создать Правописание сценариев Отменить
Рис. 2.8, Панель инструментов базы данных Панель инструментов позволяет получить доступ ко многим наиболее часто используемым функциям Access с помощью щелчка мышью. Разработчики программы включили в нее наиболее часто употребляемые и полезные функции, которые необходимы при работе с данными. Например, панель инструментов таблицы содержит три кнопки управления инструментом Фильтр (Filter), позволяющим быстрее находить искомые данные. Вместо того чтобы судорожно искать в меню команду Фильтр, достаточно только щелкнуть на нужной кнопке. Поскольку набор инструментов представлен весьма широко и годится практически на все случаи жизни, я буду описывать их далее по мере освещения материала. Не огорчайтесь, если не запомните сразу, какие кнопки выполняют те или иные функции, я и сам не помню их все. Если вы очень любопытны и хотите узнать назначение тех или иных кнопок, наведите указатель мыши на какую-нибудь из них. Через мгновение кнопке станет "тяжело" нести на себе бремя указателя, и в надежде, что вы от нее отстанете, на экране появится окно подсказки — маленькое поле, в котором кратко описывается функция данной кнопки. Если в результате ничего не произойдет, скорее всего, система подсказок отключена. Для того чтобы включить ее, щелкните где-нибудь на панели инструментов правой кнопкой мыши и из контекстного меню выберите пункт Настройка (Customize). В появившемся диалоговом окне щелкните на вкладке Параметры (Options). Убедитесь, что в поле опции Отображать подсказки для кнопок (Show ScreenTips) установлен флажок. В этой же вкладке снимите или установите флажок в поле опции Крупные значки (Large Icons), если хотите изменить размер кнопок.
Глава 2. Через тернии к звездам
43
Меню, меню и еьце /газ меню О меню, используемых в Access, особенно говорить нечего. Основной момент, который нужно усвоить, — пункты меню каждый раз изменяются по мере того, как вы делаете что-то новое. Прошли времена, когда каждая программа имела неизменное меню. Сегодня в нашем распоряжении контекстно-зависимые меню, которые содержат различные опции в зависимости от того, что пользователь делает в настоящий момент. Правда, некоторые вещи остаются неизменными. Ниже кратко описаны основные пункты меню. Если ваша мышь отказалась работать, можно вызвать меню с помощью клавиатуры. Удерживая нажатой клавишу <Alt>, одновременно нажмите клавишу, соответствующую подчеркнутой букве в названии нужного вам пункта меню. Такой доступ к меню называется доступом с помощью быстрой клавиши. Например, для открытия меню Файл (File) нажмите комбинацию клавиш <Alt+F>. Некоторые пункты меню имеют специально назначенные для них клавиши (так называемые горячие клавиши). Так, пункт Копировать (Сору) из меню Правка (Edit) можно вызвать нажатием комбинации клавиш <CtrI+C>. Если для определенного пункта меню существует такой клавиатурный эквивалент, то он указан справа от соответствующего элемента в появляющемся меню.
с п/гавой tctiontcou мыши Оставленная на долгие годы без внимания и заботы, правая кнопка мыши обрела себя в операционной системе Windows 95 и последующих версиях. В Access нажатие правой кнопки мыши вызывает появление контекстного меню, с помощью которого можно выполнять различные действия над элементами окна. В примере, приведенном на рис. 2.9, показана реакция программы на щелчок правой кнопкой мыши на таблице Клиенты (Customers). В ответ на это появляется меню, в котором указаны пункты, позволяющие выполнять определенные действия с элементами данной таблицы. Так, вместо того чтобы копировать элементы с помощью, например, системного меню, можно щелкнуть правой кнопкой мыши и из появившегося меню выбрать пункт Копировать. Какая потрясающая экономия времени! Независимо от того, с каким из приложений Windows вы работаете, не бойтесь щелкать правой кнопкой мыши. Попробуйте пощелкать на разных элементах и посмотрите, что из этого получится.
44
Часть I. Что первично: данные или база?
ir Борей : база данных (формат Access 2000) $ открыть !й£ Конструктор йЗ Создать j X ', Создание таблицы в режиме конструктора Создание таблицы с помоцыо мастера Создание таблщы путем ввода данных 3 Доставка О Заказано 3! Заказы
Открыть Цонструктор течать I гредварительныйгросмотр [Вмрпать -J Котировать Согфанитькак... [отгравищ I добавить в фуппу Создать арлык... I Удалить I Переименовать [свойства Зависимости объектов...
Рис. 2.9. После щелчка правой кнопкой мыши мгновенно появляется меню. В данном случае пользователь копирует целую таблицу
Глава 2. Через тернии к звездам
45
Глава 3
Справочная система и другие виды помощи /3э&ой иаве... > Знакомство с новой системой помощи >• Вопросы и ответы > Получение справки через Internet > Опрос людей
fjf ногда бывает трудно объективно оценить ситуацию. Например, когда вы начинаете 9г%* взбираться на гору, она оказывается намного выше, чем казалось снизу. К тому же при подготовке вам кажется, что экипировка никогда не подведет. А вместо этого она, выждав самый неподходящий момент, предательски подвесит вас на самом краю отвесного склона. Да, незавидная ситуация. Именно для таких случаев и существуют специально обученные собаки. Если вы, замерзший, мокрый и одинокий, заблудитесь где-то в диких Альпах, успокойте себя тем, что ваш спасатель непременно скоро будет здесь. Access имеет своего собственного встроенного спасателя, хотя на экране он скорее напоминает диалоговые окна. Прочитав эту главу, вы узнаете, как найти ответы на вопросы, возникающие при работе с Access. Знание о том, где искать информацию, не менее важно, чем знание самой информации, а поэтому советую прочитать эту главу и отметить для себя полезные сведения.
Ломыць снновсюуц Где бы вы ни находились в Access, система помощи всегда рядом, готовая выдать полезный совет, напомнить о чем-то или провести по запутанным инструкциям. На самом деле система помощи в Access 2003 предлагает свои услуги абсолютно на новом уровне, предоставляя полезную информацию, хранящуюся на вашем компьютере и в огромных базах данных помощи на Web-узле компании Microsoft. Так как новая система помощи в основном полагается на информацию, находящуюся в Web-пространстве, то наиболее полноценно она будет работать, если ваш компьютер имеет постоянное, высокоскоростное подключение к Internet, например по цифровой абонентской линии DSL, кабелю или в корпоративной сети на работе. Используя одно из таких подключений, система помощи Access всегда найдет наилучший и наиболее точный ответ на ваш вопрос. Если вы связываетесь с Internet по модему (или если вы задаете вопрос системе помощи, вообще не подключаясь к Internet), Access все равно ответит на ваш вопрос благодаря замечательным файлам, находящимся в вашем компьютере. Реализовав две параллельные
системы помощи, разработчики программы Access добились гарантированного ответа системы помощи, независимо от того, когда и где он понадобился и подключен ли компьютер к Internet или нет.
nfioificuuitf Access 2003 предоставляет три способа запроса помощи. На рис. 3.1 они все показаны в действии, что должно удовлетворить любого, кроме разве что немного отсталого автора компьютерных книг, пытающегося получить умные изображения экрана для своих писаний. Помощник Office
Введите вопрос
|
гщмтюч-пься к ffice Oniine • *
Гюсяедь**? сведе*«я об использовании Access
*• АвтЬМатичео-м обновлять
сгв^гсокш Веба
Панель помощи
Рис. 3.1, Что бы вы ни использовали, текстовое поле, помощник или большую панель помощи, Access 2003 обработает ваши вопросы Перед тем как использовать систему помощи, выберите тот из трех методов, описываемых ниже, который наиболее для вас удобен и соответствует стилю вашей работы. После того как вы зададите вопрос, все три молодца в фоновом режиме предоставят необходимую информацию и отобразят результаты на одной большой панели задач Результат поиска (Search Results). Ниже приведены три метода ввода вопросов в новой версии Access.
Глава 3. Справочная система и другие виды помощи
47
•S Окно Введите вопрос. Это маленькое текстовое поле всегда находится в верхнем правом углу основного окна Access, сразу под кнопками Закрыть окно и Восстановить окно. Чтобы им воспользоваться, щелкните на поле, введите свой вопрос и нажмите клавишу <Enter>. •S Помощник. Да, дружелюбный и всеми любимый помощник есть и в новой версии программы Access. Однако работает он уже немного по-иному. Теперь он не считывает вопросы и не предлагает возможные решения, новый помощник только обрабатывает вопрос. Ответы появляются на панели задач, а не в маленьком окошке помощника. Когда это окошко появится, введите в нем свой вопрос и нажмите клавишу <Enter>. S <F1> — классическая клавиша помощи в Windows. На протяжении многих лет клавиша <F1> сознательно вызывала помощь практически в любой программе. То же самое она делает и в Access 2003, так что многие годы тренировок не пропадают даром. После нажатия клавиши <F1> на экране появится панель задач Справка Access, наполненная разнообразными ссылками, ведущими к полезным местам в Internet. В верхней части этой панели находится окно поиска, в котором можно вводить вопросы. Чтобы что-либо спросить, щелкните на текстовом поле Искать, введите вопрос и нажмите <Enter>. На рис. 3.1 изображены различные области экрана, где можно задать вопрос. И хотя все три способа ведут к одним и тем же результатам, после нажатия клавиши <F1> вы получите самую полную информацию, так как при этом на экране появляется панель задач Помощь, на которой можно не только задавать вопросы, но и воспользоваться ссылками на обучающие ресурсы и общую помощь по бизнес-задачам, соединиться с сообществами, поддерживающими Microsoft, и легко обновить программное обеспечение. Учитывая все это, советую вам тратить несколько минут на изучение панели Помощь хотя бы раз в месяц. Никогда нельзя сказать точно, что нового вы там обнаружите!
Jntemet знаейг Золыие, чем, вы Если вы имеете доступ к Internet, то ответы на интересующие вас вопросы о программе Access можно получить из глобальной сети. Компания Microsoft поддерживает Webстраницу, на которой все желающие могут получить ответы на свои вопросы о программе Access. Кроме того, у вас есть возможность задать вопросы и получить ответы, касающиеся других продуктов Microsoft. В табл. 3.1 указаны источники получения справочной информации через Internet.
Таблица 3.1. Интерактивная справка компании Microsoft Usenet
Команда доступа microsoft.public.access.gettingstarted
Usenet
сотр.databases.ins-access
Система
World Wide Web
48
Примечания Требуется доступ к сетевым конференциям в Internet Требуется доступ к сетевым конференциям в Internet Требуется доступ к Web
Часть I. Что первично: данные или база?
Если вам необходима помощь при путешествиях по интерактивному миру, обратитесь к книгам серии ...для "чайников", посвященных данной теме. В первую очередь вам будет полезна книга Internet для "чайников ", 9-е издание. Не пропустите эту и многие другие книги, выпущенные издательством "Диалектика".
[ Обратитесь к спискам рассылки — неиссякаемому источнику информации 1 Если вы имеете учетную запись электронной почты, рассмотрите возможность подписаться | на список рассылки Access. Таким образом, вы всегда будете в курсе последних новинок и, кроме того, сможете принять участие в непрекращающемся обсуждении программы, ведущемся на всех уровнях: от новичков до "крутых" специалистов/Подписавшись на данный список рассылки, вы будете получать самую свежую информацию о программе, а также ответы на интересующие вас вопросы. Чтобы .стать подписчиком данного списка, отправьте сообщение по адресу LisTSERvepeach.ease.lsoft.com. Поле темы сообщения можете оставить I пустым. В поле сообщения введите слова SUBSCRIBE ACCESS-L, сопровождаемые • вашим реальным именем, а не адресом электронной почты. Компьютер списка рассылки i автоматически извлечет ваш почтовый адрес из присланного сообщения. | В первом же полученном сообщении вы увидите инструкции о том, как работает данный список, как отправлять свои сообщения и отменить подписку в случае, если данный список 1 вас не устраивает. Попробуйте— списки рассылки представляют собой великолепные • Справочные средства!
Глава 3. Справочная система и другие виды помощи
49
Часть II
Поистине восхитительные таблицы
Теперь, после знакомства с Access, у вас начнется жизнь, связанная с хранением, организацией и реорганизацией данных. (Смелее начинайте эту новую жизнь, и, надеемся, она будет счастливой.) Данные, как правило, обитают в таблицах, и, если вы хотите с ними ладить, необходимо знать об этих таблицах все. • Эта часть книги обеспечит вам должность главнокомандующего над всеми таблицами, ибо снабдит вас начальными, но крайне необходимыми знаниями. Вы пройдете весь путь от создания и использования до поддержки и восстановления таблиц. Будьте аккуратны и осмотрительны, а после изучения главы 9 не забудьте основательно перекусить.
Глава 4
Разработка и создание жилища для данных 8 э&ой главе. .. > > > >• > > >
Термины баз данных, которые необходимо знать и понимать Облегчаем рабочий день примерами полей Изучаем сплошные файлы и реляционные базы данных Разработка своих таблиц Создание базы данных Построение таблицы с помощью мастера таблиц Сборка таблицы вручную
та глава, возможно, является одной из наиболее важных в книге. Почему? Потому что самые полезные базы данных появляются на свет в результате серьезного продумывания их структуры. Проблема заключается в том, что никто не может сразу объяснить начинающему пользователю, как лучше всего объединить набор полей и создать самую удобную таблицу. Часто тут просто необходима интуиция, как у птиц, которые точно определяют южное направление поздней осенью, или как у моей жены, которая безошибочно находит магазины, устраивающие распродажу товаров: Если вас не раздражает нудное бормотание вроде того, что "телефонные номера и почтовые коды обрабатываются как текстовая информация, хотя и являются числами", то эта глава — для вас. Последующие страницы раскроют перед вами секреты создания полей, таблиц и баз данных и покажут их во всей красе. В этой главе описаны термины, которые вам необходимо знать, приведены советы по выбору типов полей и проектированию таблиц, а также во всех подробностях рассказывается, как правильно объединить таблицы в величественные базы данных. Хотя я ненавижу уделять особо пристальное внимание технической терминологии, на этот раз это все же придется сделать. Это необходимо для вашего же блага. Поэтому хорошенько изучите информацию, представленную в первом разделе данной главы. Описанные здесь термины повсеместно встречаются в Access. Они подстерегают вас на каждом шагу, будь то составление запроса, создание формы или отчета либо какая-то друга? операция. Заблаговременно подготовьтесь к этой атаке и не пожалейте времени на ознакомление с необходимой терминологией и ее изучение.
Заз qatiMjiJc, neo&coquMO знсинь и понимать Минуту! Не пропускайте эту главу только потому, что она посвящена терминологии. Обещаю вам свести "сугубо специальную" часть этой книги к минимуму, но прежде чем погрузиться в разработку баз данных, вы все же просто обязаны знать несколько магических определений из этой области. Если вы падаете в обморок от одной мысли о том, что сейчас придется что-то разрабатывать, на минутку отложите книгу в сторонку, сделайте несколько глубоких вдохов и постарайтесь осознать, что в данный момент речь идет всего лишь о компьютере, а не о чем-то жизненно важном, например о детях или родственниках жены. Ниже описаны термины, которые нужно знать и понимать. Приведено их краткое пояснение, а также руководство для тех, кто "пришел" работать в Access из других систем управления базами данных, таких как FileMaker, FoxPro, Oracle или Paradox. Определения приводятся в порядке от простого к сложному. Каждый последующий представленный термин основан на знании предыдущих, поэтому имеет смысл начать с самого простого определения — данных — и последовательно прокладывать путь к базам данных.
Данные (ваша информация) Данные — это тот материал, который Access хранит, сортирует и складирует для вас. Каждый раз, когда вы заносите в форму свое имя (фамилия обязательно указывается первой), вы вводите данные. У программ управления базами данных своеобразный подход к этому процессу. Ваше имя может храниться в виде одной единицы информации (полное имя, с отчеством или без него), двух единиц (имя и фамилия) и даже более (должность, имя, отчество, фамилия и примечание). Это зависит от организации полей базы данных, которые будут подробнее рассмотрены в следующем разделе. Что касается данных, то о них необходимо знать следующее. ' Во всех программах управления базами данных данные называют именно этим термином. Правда, такая согласованность на этом термине и заканчивается. •/ Системы управления базами данных рассматривают данные не так, как обычные люди. Если вы видите 16773, то знаете, что это число,-— просто чувствуете это интуитивно. Access и другие программы обработки баз данных воспринимают его либо как число, либо как группу символов — в зависимости от типа поля, в котором оно хранится. Это необычное поведение будет рассмотрено далее, в разделе "Пробежимся по полям". Пожалуйста, убедитесь в том, что вы спокойно относитесь к этой небольшой странности, иначе можете зациклиться.
Поля (комнаты для данных) Поскольку данные не должны неприкаянно бродить, не находя себе места, технические светила придумали поля — места, где положено пребывать данным. В одном поле содержатся данные одного типа. Предположим, вы собираете открытки с изображениями игроков любимой футбольной команды и хотите занести эту информацию в базу данных. Смею предположить, что поля каждой карточки будут называться примерно так: имя игрока, его функция на поле, год рождения, название команды и т.п. Каждый такой элемент данных — это уникальное поле базы данных.
54
Часть II. Поистине восхитительные таблицы
Как и в случае с определением данных, такие программы, как FoxPro, Paradox, единодушны в определении термина поле. Однако в больших программных пакетах, таких как Oracle и Microsoft SQL Server, вместо термина поле используется термин столбец. Расхождения возникают, когда речь заходит об имеющихся типах полей. То, что подразумевается под этим понятием в Paradox, не означает то же самое в Access. Более подробная информация по этому вопросу приведена в разделе "Пробежимся по полям" ниже в этой главе.
Записи (комнаты одной квартиры) Поле — это хорошая вещь, но если здесь остановиться, то как определить, какое имя соответствует определенной фамилии? Необходимо привести беспорядочный набор данных к четкой структуре — записи. Все поля, содержащие информацию об одном определенном объекте в Access, представляют собой запись. Если у вас есть две открытки, им будут соответствовать две записи в базе данных. В определении этого термина программы FoxPro и FileMaker единодушны, а вот в программах Oracle и Microsoft SQL Server вместо него используется термин строка. Каждая запись таблицы содержит абсолютно одинаковые поля, но в них (как правило) содержатся различные данные. В одной записи содержится вся необходимая информация об одном элементе таблицы (поле для номера счета, рецепт, все что угодно). •
Таблицы (квартиры одного подъезда) Таблица представляет собой набор записей, описывающих однотипные данные. Ключевыми словами в последнем предложении являются однотипные данные. Все записи одной таблицы содержат поля однотипных данных. Информация об открытках может содержаться в одной таблице, а информация о начислении вашей заработной платы — в другой. Однако в одной таблице не может содержаться и то и другое. Слияние двух таких таблиц будет представлять собой новую технологию работы с таблицами (и вполне может оживить ваши расчеты), но в Access этого сделать нельзя. В целом термин таблица одинаково трактуется всеми основными программами обработки данных, такими как FileMaker, FoxPro, а также Oracle и Microsoft SQL Server. Вы заметили, я сказал, что данные об открытках с футболистами могут содержаться в одной таблице? Тем не менее не хочу здесь биться об заклад, так как уверен, что ни одна таблица физически не сможет уместить все ваши открытки. Однако вы можете разместить их в нескольких связанных между собой таблицах. Это пока и все, что вам нужно знать, главное здесь — уловить идею. А более исчерпывающая информация по этой теме приведена далее, в разделе "Сплошные файлы против реляционных баз данных: кто кого?". Постарайтесь не упустить его из виду.
Базы данных (подъезды одного дома) База данных Access, или файл базы данных (это взаимозаменяемые термины), — представляет собой набор данных из определенной предметной области. База данных содержит
Глава 4. Разработка и создание жилища для данных
55
все таблицы, запросы, отчеты, формы и другие структурные элементы, которые можно создать и которыми можно управлять с помощью Access. Вместо того чтобы хранить данные на диске отдельно, где их можно потерять, забыть или просто стереть, они группируются и хранятся в одном общем файле.
по Как вы помните, поле— это место обитания ваших данных; одно поле содержит одну порцию данных, например год рождения или название футбольной команды. Поскольку окружающий нас мир очень разнообразен, то и Access для хранения данных предлагает целый набор (десять типов) полей. На первый взгляд может показаться, что этого мало, но практика показывает, что для описания всевозможных данных типов полей вполне достаточно. Если особо придирчивых пользователей и это не устроит, то в Access с помощью мастера подстановок можно создать новое поле и определить его возможное содержимое. Благодаря имеющимся инструментам вы можете настраивать поля по своему вкусу. Для каждого поля существуют параметры настройки, позволяющие задать для него нужные характеристики. Запросите справочную информацию, проверьте данные, а затем автоматически отформатируйте поле удобным для вас образом. Все, что необходимо знать по этому вопросу, будет подробно описано в главе 7. Ниже представлены все типы полей в том порядке, в каком они появляются на экране в Access. He беспокойтесь, если вам пока не понятно, для чего предназначен тот или иной тип. Просто сосредоточьтесь на типах полей, которые вам требуются в данный момент, но при этом помните и об остальных. •S Текстовое. В этом поле хранится текстовая информация (до 255 символов) — буквы, цифры и любые их комбинации. Числа, хранящиеся в текстовых полях, не являются числами, а представляют собой набор цифр, помещенных в поле. При проектировании таблиц базы данных следует учитывать этот факт. ^ ft^ jin | ч§Щ/
Текстовые поля имеют еще одну характеристику, о которой вам необходимо знать: речь идет о размере. При создании текстового поля необходимо указать количество содержащихся в нем символов, т.е. определить его размер. Например, если вы создали поле Имя длиной 6 символов, то имя "Сергей" здесь поместится, но для имени "Александр" места окажется недостаточно. Это может вызвать проблемы, поэтому длину поля рекомендуется указывать немного больше предполагаемых максимальных потребностей. Можно указать больший размер поля, а вот задавать меньший — намного опаснее. Срочное "хирургическое вмешательство" в параметры поля будет рассматриваться в главе 9. •S Мемо. В этом поле может храниться до 64000 символов, т.е. почти 18 страниц машинописного текста. Это огромное текстовое поле, в котором удобно хранить общие замечания, пространные комментарии или детальные описания, занимающие много места. •S Числовое. В этом поле хранятся только числа, с которыми можно выполнять арифметические и другие операции. При работе с денежными единицами (долларами или центами, рублями и копейками) используйте тип поля под названием денежное.
56
Часть II. Поистине восхитительные таблицы
Дата/Время. Поля такого типа могут хранить время, дату или комбинацию того и другого, в зависимости от выбранного формата. Используйте это поле для хранения информации о знаменательных датах и событиях своей жизни. Денежное. В этом поле можно хранить информацию о деньгах, ценах, суммах счетов и т.п. В базе данных Access деньги оседают именно здесь, будь то рубли, лиры, марки или иены. Для других количественных данных чаще всего используется числовой тип поля. Счетчик. Функции этого поля полностью соответствуют его названию: оно автоматически генерирует порядковый номер для каждой новой записи. Наличие такого поля трудно переоценить. Только представьте — вы добавляете информацию о новом клиенте в таблицу, и Access автоматически генерирует его порядковый номер! Подобные операции можно выполнять и в программе Microsoft SQL Server, а вот беднягам-пользователям Oracle для задания порядкового номера записи придется здорово попотеть. Логическое. В зависимости от выбранного формата это поле поддерживает выражения типа Да/Нет, Истина/Ложь или Вкл/Выкл. Если вам необходимо в определенном поле таблицы указать значение Да или Нет, используйте именно такой тип поля. Объект OLE. OLE — аббревиатура от Object Linking and Embedding (связывание и внедрение объектов) — представляет собой очень мощную технологию, предназначенную для создания составных документов (документ Word, электронная таблица Excel, растровая картинка и даже музыка в формате MIDI). При внедрении в таблицу объекта OLE база данных автоматически будет "знать", как отредактировать документ Word, электронную таблицу Excel или воспроизвести звуковой файл формата MIDI. Гиперссылка. Благодаря существованию этого типа поля (и возможностям Microsoft Internet Explorer) Access теперь распознает и может хранить ссылки на сетевые ресурсы. Если вы пользуетесь Access в локальной сети или часто работаете в Internet, вам пригодится этот тип. Более подробно об этом новом типе поля и других приемах работы в Internet рассказывается в главе 21. Мастер подстановок. Это одно из наиболее мощных средств программы. Мастер подстановок позволяет быстрее ввести данные (причем с меньшим количеством ошибок), используя заданный список. Использование этой замечательной функции позволит не переживать из-за ошибок при вводе информации. В некоторых системах управления базами данных это очень непростая процедура. К счастью, в Access мастер подстановок делает этот процесс совершенно необременительным. За более подробной информацией о мастере подстановок обратитесь к справочной системе или к помощнику. В качестве задела в похождениях по базам данных представляем вашему вниманию табл. 4.1, в которой кратко описаны поля, встречающиеся в самых разнообразных базах данных по всему миру. В ней наряду со старыми полями представлены и новые, разработанные специально для нового тысячелетия. Все эти поля текстовые, даже такое, как номер факса. Если внимательно проанализировать таблицу, то большая часть данных, которыми, по мнению Access, вы собираетесь напичкать базу данных, является текстовой информацией. Помните, что компьютер различает собственно число и набор цифр, образующих, например, номер телефона или ваш идентификационный код.
Глава 4. Разработка и создание жилища для данных
Таблица 4.1. Поля на все случаи жизни Тип Текстовое Текстовое Текстовое Текстовое Текстовое Текстовое Текстовое
Имя поля Обращение Имя Отчество Фамилия Должность Компания Адрес 1, Адрес 2
Размер 4 15 15 20 25 25 30
Текстовое Текстовое
20
Индекс
Текстовое
10
Страна
Текстовое
15
Текстовое
12
Факс Домашний телефон Мобильный телефон Электронная почта Web-узел
Текстовое Текстовое Текстовое Текстовое Гиперссылка
12
Телекс
Текстовое
12
Идентификационный код
Текстовое
11
Комментарии
Памятка
Город Область, регион
20
.
и- - \ Рабочий телефон
12 12 30 *
Содержимое Г-н, Г-жа, М-р, Мисс Имя Отчество Фамилия Название работы или должность Название организации Включает два поля для адреса, поскольку некоторые крупные организации кроме основного адреса имеют и дополнительные Название города Область или район; используйте название, которое точнее соответствует адресным данным Почтовый индекс; обратите внимание, что тип этого поля текстовый, а не числовой Это поле, как правило, не используется, если вы работаете в пределах одного государства Служебный телефон; размер поля по необходимости можно увеличить до 17 Номер факса Номер домашнего телефона Номер мобильного телефона Адрес электронной почты Адрес Web-страницы; размер устанавливается автоматически Стандартный номер телекса; может иметь до 22 знаков при работе в режиме автоответчика Личный идентификационный код или код организации Свободное место для заметок. Access автоматически выбирает размер поля
j Поэкспериментируем с именами полей I i I ;'
Из всех программ управления базами данных, работающих под управлением Windows, самые простые J правила формирования имен полей имеет Access. Запомните три основных правила, и никто не сможет j придраться к имени вашего поля. s Начните имя с буквы или цифры. После первого символа может идти любая буква или цифра. Вы также можете использовать в имени пробел! ( / Делайте имя кратким и понятным. В принципе имя может содержать до 64 символов, но даже и не думайте использовать для имени все это пространство. С другой стороны, не будьте и скрягой, присваивая имена вроде N1 или AZ773, если только они не ассоциируются для вас с чем-то определенным. I:•'.'" • , • - ." • '. • . ' • • , •. -•• ""• : ' . . •. . ;•.. /| i ^ В имени поля используйте только буквы, числа и пробелы. 1^.'^-^.С^_^—*,«.
58
^~»—^-..д.
...,.^«.,.~.j...
..^т—„—-^.—.... „Л.
™_,~_,__J»__™
^..*~.^*,,,*,..„„.<,...
-iiX-i
,L^A_™. ...-»„«,,....,
,,... . " . .....„.,л, .„ .,,,.,..., ,„"„„'. .'.. ,_
..„.„
Часть II. Поистине восхитительные таблицы
.-
-.;•;.;;•;-
г;:;.;
:—
.
:
;
•.-- • ;
;
._•
•-
; -
рХотя Access и позволяет включать в имена самые немыслимые знаки препинания, не стоит Hix ! ! использовать. Не создавайте себе дополнительных трудностей. <
.
.
......
. . .
•. .
' ,
•
'' '
„' , \
j
При создании поля спросите себя: "Буду ли я выполнять какие-нибудь математические операции с этими числами?" Если ответ положителен, то делайте поле числовым, если нет — пусть оно останется текстовым. Ниже, в разделе "Создание таблиц по мановению волшебной палочки", будет описан мастер таблиц, содержащий целый ряд готовых полей для таблиц.
Сплошные файлы nftorfi <$аз данных: tctfio tcoio? В отличие от мороженого, пива, автомобилей и других прелестей жизни, таблицы базы данных бывают только двух основных видов — сплошные и реляционные. База данных представляет собой либо сплошной, либо реляционный файл — она не может быть одновременно и тем и другим.
Эти два специальных термина поясняют, как хранится информация в таблицах вашей базы данных. При проектировании новой базы данных именно вы должны выбрать, какую структуру организации базы лучше использовать! Но не беспокойтесь, вы не останетесь в одиночестве при принятии такого важного решения. Следующие разделы приоткроют завесу над этой тайной, а в главе 5 вы найдете много интересных подробностей. •
Сплошные файлы: простые ответы на простые вопросы В неструктурированной системе, называемой также сплошным файлом, все данные объединены в одной-единственной таблице. Ярким примером такого файла может служить телефонная книга. Фамилии, адреса и номера телефонов (данные) собраны в одном месте (базе данных). Иногда в таких случаях возможно некоторое дублирование информации. Например, если кто-то провел себе домой три телефонные линии, то его фамилия и адрес в справочнике будут повторяться трижды. Но в целом база работает прекрасно.
Реляционные базы данных: комплексные решения сложных задач В реляционной (связанной) системе, или реляционной базе данных, данные организованы таким образом, чтобы занимать как можно меньше места. Достигается это за счет отказа от дублирования данных ("крутые" специалисты используют термин избыточность) в базе. При этом данные разбиваются на несколько таблиц, в каждой из которых хранится определенная информация. В случае с телефонным справочником при организации данных в реляционной базе одна таблица может содержать фамилию абонента и его адрес, а другая — номера телефонов. Благодаря такому подходу фамилия загадочной личности с тремя телефонными номерами только один раз будет фигурировать в таблице Абонент (все-таки это один и тот же человек), но в таблице Номер телефона ему будут соответствовать три ячейки (по одной для каждого
Глава 4. Разработка и создание жилища для данных
59
номера). Таким образом, в структуре реляционнрй базы данных резервируется только одна ячейка под персональную информацию об абоненте, что экономит дисковое пространство (рис. 4.1). Абонент Фамилия 18012 Петров 18013 Смирнов
Имя Василий Петр
Адрес Город Фрунзе 103 Киев Петровка 38 Москва
Область Киевская Московская
Абонент 18013 18013 18013
Тип Ф н о
Телефон 2252148 2324187 5553233
Рис. 4.1. В данном случае ключевым является поле Номера абонента Главным элементом такой усовершенствованной технологии является так называемое ключевое, или связующее, поле. Все таблицы реляционной системы базы данных содержат такое специальное поле. Данные этого поля связывают соответствующие записи из различных таблиц подобно тому, как номер корешка квитанции связан с пленкой, сданной вами для проявки, чтобы продавец мог легко отыскать ее. При получении пленки вы предъявляете корешок квитанции, на которой указан ее номер. Этот номер идентифицирует (или связывает) вас и вашу пленку. В случае с телефонной книгой каждому абоненту наверняка соответствует уникальный идентификационный номер. Этот номер хранится в таблице наряду с данными о номере телефона абонента. Для того чтобы определить, кому принадлежит определенный номер телефона, следует найти соответствующий ему идентификационный номер в таблице Абонент. Безусловно, для того чтобы найти телефонный номер абонента, придется затратить больше времени, чем в неструктурированной системе. Однако реляционная система позволяет сэкономить место (не дублировать имена абонентов) и в тоже время снижает вероятность появления ошибок. Если эта информация показалась вам слишком сложной— не падайте духом. Реляционные базы данных— действительно непростая штука! Именно поэтому в главе S детально рассматриваются основы создания такой базы данных, описана ее работа и приводятся советы, чтобы сделать из вас квалифицированного эксперта в этой области. Ради вашего собственного благополучия наберитесь терпения при освоении реляционных баз данных. Не стесняйтесь просить помощи у своих коллег.
Что же все это означает Теперь вы понимаете, чем сплошные файлы отличаются от реляционных баз данных. А для чего это нужно знать, спросите вы? Каждая система имеет свои достоинства и недостатки. •S Неструктурированные системы просты в создании и управлении. (Хорошим примером является электронная таблица Microsoft Excel.) •S Неструктурированную базу данных может создать любой человек. Таким образом создаются списки рассылки, телефонные справочники и каталоги видеокассет. Неструктурированные системы — это простые решения простых задач. •S Реляционные системы раскрывают все свои преимущества при решении сложных проблем в бизнесе, например, когда нужно вести учет счетов, бухгалтерских или инвентаризационных документов. Однако если вам необходимо решить несложную проблему, например составить список почтовых адресов или перечень сотрудников организации, то реляционный подход будет излишним. Проектирование надежной реляционной базы данных требует определенных
60
Часть //. Поистине восхитительные таблицы
навыков и опыта (а в некоторых странах с вами даже не будут разговаривать, если вы не предъявите диплом или другой документ, подтверждающий вашу квалификацию). Возможно, организация, в которой вы работаете, хранит огромное количество информации в реляционных базах данных. Важно понимать, как правильно их использовать. Данная книга предназначена для того, чтобы научить вас этому. Особенно обратите внимание на материал главы 5, где речь идет о связях между таблицами. С другой стороны, не рекомендую вам самостоятельно создавать реляционную базу данных. Если вы уверены, что вам необходима именно такая база, воспользуйтесь помощью мастера базы данных либо обратитесь к специалисту. Вам еще многое предстоит узнать о том, как образуются связи между полями (представьте себе гибрид урока биологии и занятия в компьютерном классе). Попробуйте сначала создать базу под руководством опытного профессионала, а потом пытайтесь сделать это самостоятельно. Несмотря на то что Access является программой управления реляционными базами данных, она прекрасно справляется и с задачей создания сплошных систем. Какой бы путь вы ни избрали, Access вас не подведет!
начинаю&ся, с серьезного Вы уже почти готовы включить компьютер и запустить Access. Почти, но не совсем. Нужно сделать еще один дополнительный шаг — спроектировать таблицу базы данных. Знаю, это может показаться излишней бумажной волокитой, но это совершенно необходимый этап для создания удачной базы данных. При создании систем для моих клиентов я всегда начинаю именно с этого. 1. Возьмите чистый лист бумаги и карандаш. Несмотря на все возможности, которые предоставляет компьютер и Windows, некоторые задачи пока что легче решить на бумаге. Кроме того, если база данных будет спроектирована плохо, вы всегда сможете что-нибудь дописать. 2. Кратко опишите отчеты, списки и другие документы, которые вы хотите получать с помощью вашей системы. Зачем начинать работу с конечного результата? Дело в том, что причиной создания базы данных является' именно необходимость получения конкретных конечных результатов. Не пытайтесь сразу создать идеальную и полную базу данных. Для начала постарайтесь включить в нее все необходимое, ведь затем в любое время вы сможете вернуться к своей базе и дополнить ее. 3. На другом листе бумаги набросайте несколько вариантов отчетов, списков и других документов, перечисленных в п. 2. На этом этапе нет особой необходимости углубляться в процесс проектирования отчетов — это не основная цель. Сейчас важно только понять, какую информацию вы хотите получить в итоге (отчеты, списки, почтовые наклейки и т.п.). Необходимо набросать, какой вид будут иметь самые нужные отчеты, и отметить данные,
Глава 4. Разработка и создание жилища для данных
61
с которыми они будут работать. Этот список станет путеводителем по полям базы данных. (В конце концов, вы ведь не сможете распечатать почтовые наклейки, если в базе данных не содержится информация об адресах клиентов.) 4. Для каждого поля в списке выберите имя и тип. Определите размер текстовых полей. Этот шаг необходим даже в том случае, если для создания таблицы вы собираетесь воспользоваться мастером баз данных или мастером построения таблиц. Хотя эти полезные помощники автоматически определяют размеры и имена создаваемых полей, вы можете настроить поля по своему усмотрению. 5. Организуйте поля в таблицы. Выберите поля, которые можно расположить в одной таблице, например имя клиента, адрес и номер телефона для базы данных по контактам, или код продукта, его описание, поставщик и стоимость — для создания базы данных по товарам. Если у вас слишком много полей или не хватает фантазии для придумывания имен, зовите на помощь знакомого специалиста по базам данных. Последний шаг— самый трудный, но с появлением опыта выполнять его будет легче. А для того, чтобы приобрести такой опыт, попробуйте создать несколько вариантов баз данных с помощью мастера, а затем сравните их. Возьмите знакомую для вас тему (бухгалтерский учет, расписание рабочего дня или коллекцию компакт-дисков) и посмотрите, как эти вопросы решают профессионалы из Microsoft. Попробуйте открыть различные таблицы в режиме конструктора (в окне базы данных щелкните правой кнопкой мыши на имени таблицы и из появившегося меню выберите пункт Конструктор (Design View). Как расположены поля в таблице? Почему они расположены именно таким образом? Разберитесь, как взаимодействуют таблицы в базе данных. Для этого щелкните на кнопке Схема данных (Relationships), расположенной на панели инструментов. Access выведет на экран окно Схема данных (рис. 4.2), в котором графически показано, как осуществляется связь между таблицами в базе данных (связи обозначаются линиями).
Рис. 4.2. Окно Схема данных
62
Часть II. Поистине восхитительные таблицы
Создание Яазы данных После того как вы прочитали страницу за страницей эту книгу, исписали стопку бумаги и выпили за это время ведерко кофе, наконец-то пришло время непосредственно приступить к созданию базы данных! Вы создадите основной файл, поддерживающий таблицы, отчеты и формы. А если вы будете использовать мастер баз данных, то на этом этапе также сможете создать таблицы, отчеты и формы — и все на одном дыхании! Ну а теперь, без промедления, приступим к созданию базы данных. 1. Загрузите Access, если вы этого еще не сделали. 2. Из системного меню выберите команду Фа И л >=> Создать (рис. 4.3) или щелкните на кнопке Создать панели инструментов.
Рис. 4.3. Для создания базы данных достаточно одного щелчка мышью Справа откроется окно Создание файла (New File). 3. Из подраздела На моем компьютере (On My Computer) выберите пункт Шаблоны (Templates). Откроется окно Шаблоны. 4. Щелкните на вкладке Базы данных (Databases). Вы увидите перечень шаблонов баз данных (рис. 4.4). Если ни один из существующих шаблонов вас не устраивает, вернитесь к подразделу Шаблоны на узле Office Online (Templates on Office Online).
Глава 4, Разработка и создание жилища для данных
63
Создание. w .,./„_ _.,;• . . . ; , , . • ./. Новая базе данных... Пустая страница доступа к данным ijjjjy Проект с ***юиу1мися данными.• Проект с нсеьми данными.. Из им-гюще-ося файла.....
Рис. 4.4. При создании базы данных вы можете выбрать один из существующих шаблонов Для того чтобы создать базу данных вручную, щелкните на вкладке Общие (General) в окне Шаблоны и дважды щелкните на пункте Новая база данных (Blank Database). Введите имя базы данных, и — о чудо! — база данных ожидает ваших распоряжений. Чтобы узнать, как в новую базу данных добавляются таблицы, обратитесь к разделу "Создание таблиц по мановению волшебной палочки" далее в этой главе. , Прокручивайте список до тех пор, пока не найдете подходящего мастера базы данных, который сможет помочь вам. Если таковой найдется, дважды щелкните на его имени. Откроется диалоговое окно Файл новой базы данных (File New Database). . Введите имя новой базы данных, затем щелкните на кнопке Создать (Create) (рис. 4.5). Для выбора места сохранения базы данных (обычно по умолчанию Access сохраняет их в папке Мои документы (My Documents)) раскройте список файлов и папок (для этого щелкните на стрелке рядом с полем Сохранить в (Save In)) и в дереве каталогов выберите подходящую папку для хранения файла базы данных. Если на экране появилось диалоговое окно с вопросом, хотите ли вы заменить существующий файл, это значит, что база данных с таким именем уже существует на диске. Если для вас это новость, щелкните на кнопке Нет (No) и подберите ей другое имя. Если же вы действительно хотите заменить старую базу данных новой, щелкните на кнопке Да (Yes).
Часть //. Поистине восхитительные таблицы
Файл новой базы данных Папка:
; О Otehel2003
W1
т
м последи,., • •
|Имяфайлаг ^Мероприятия! ] Тип файла:
Рис. 4.5. Введите имя базы данных и щелкните на кнопке Создать 7. Мастер базы данных выведет краткое пояснение своего предназначения. Ознакомьтесь с этой информацией и щелкните на кнопке Далее (Next). Появится список таблиц и полей, которые будут включены в новую базу данных (рис. 4.6). В левой части окна приводятся все таблицы, а в правой части — поля в выбранной таблице. Флажки нужно устанавливать напротив тех полей, которые должны присутствовать в таблице. Tff M T^SfW'BWfFrlF1^ iLiT
•
4й Открыть IjSiJi &онструк i i *Ш Cosдание таблицы в режиме конструктора Соэ дате таблицы с помощью мастера дание таблицы путем ввода данных • 3? Запросы j j !
Объекты/
i -J Таблицы':. ! ^
Ш=
• Создание баз даиных
| а отчеты
i
Для выбранной базы данных некоторые попя являются обязательными. Показанные курсивом дополнительные поля могут находиться е нескольких таблицах.
| %| Страницы | i 1 ^ МОДУЛИ \
Создать дополнительные поля?
i
Таблицы базы данных:
FS Иэбраж,.. П
L,
.—
Поля таблицы: .
!\
Группы
.
i L—
'
\ Сведения о посетителях ; Сведения о регистрации j Типы мероприятий |Сведения о сотрудниках : < Цены мероприятия 1 Сведения об организации i Сведения об оплате •Методы оплаты
1 . Е^
Отмена
v* Код мероприятия •"* Мероприятие ** Код типа 'У Состояние "+ Место *• Дата начала *-"Дата окончания • Время начала •* Время окончания
< Назад
II
Далее >
,Щ
|
Сотово
]
Рис. 4.6. Мастер базы данных спрашивает, какие поля вы хотите включить в свою базу данных
Глава 4. Разработка и создание жилища для данных
65
Если вы хотите, чтобы мастер сам во всем разобрался и создал базу данных, щелкните на кнопке Готово вместо Далее. После этого база данных создастся автоматически. Воспользуйтесь этим методом работы с мастером при первом знакомстве с ним, так как он здорово экономит время и в результате получается нормально выглядящий продукт. Поля и другие опции всегда можно будет изменить позже, с помощью средств проектирования Access. 8. Если вы хотите добавить или удалить какие-либо стандартные поля, снимите или установите флажки рядом с соответствующими опциями в поле Поля таблицы (Fields in the table), после чего щелкните на кнопке Далее. Обычно тех полей, которые предлагает Access, вполне хватает. Чтобы добавить новые поля, не предложенные мастером, нужно дать ему возможность завершить работу, а затем открыть таблицу в режиме проектирования. Более подробно эти действия описываются в главе 9. Теперь, когда самое сложное позади, мастер захочет узнать ваше мнение по поводу оформления внешнего вида базы данных. 9. Щелкните на заинтересовавшем вас элементе, чтобы просмотреть возможные варианты оформления экрана, а затем дважды щелкните на том, который больше всего пришелся по душе. Знаю, что жена снова обвинит меня в слабохарактерности, но все же порекомендую выбрать вид Стандартный (Standard). Другие тоже хороши, но для их загрузки требуется больше времени. Если вы все же хотите добавить своей базе привлекательности, попробуйте выбрать такие элементы, как Международный (International), Рисовая бумага (Sumi Painting) или Камень (Sandstone),— они не очень замедлят работу базы данных. 10. Выберите вид оформления своего отчета (наконец-то) и щелкните на кнопке Далее. Как и в предыдущем примере, один щелчок на выбранном элементе покажет вам возможные варианты. Тут трудно что-либо порекомендовать, каждый выбирает то, что ему больше нравится. 11. Присвойте название созданному вами шедевру, выберите изображение и щелкните на кнопке Далее. Итак, база данных почти готова. Мастер предусмотрительно предложит свой вариант, в который вы можете внести необходимые изменения. Введите что-нибудь оригинальное в текстовом поле, расположенном в верхней части диалогового окна. Чтобы добавить изображение к своим отчетам, установите флажок Да, я хочу вставить изображение (Yes I'd Like to Include a Picture), а затем щелкните на кнопке Изображение (Picture) и выберите рисунок, который желаете видеть в отчетах базы данных. 12. Щелкните на кнопке Готово, и создание базы данных будет завершено. По истечении некоторого времени под монотонное гудение жесткого диска мастер завершит свою работу. На экране появится окно (рис. 4.7), с помощью которого мастер "докладывает" вам о выполнении работы по созданию базы данных. После завершения мастер попросит вас ввести дополнительную информацию, такую как название вашей компании, адрес и т.д.
66
Часть II. Поистине восхитительные таблицы
Создание баз данных Создание базы данных..,
Создание отчета; Список посетителей...
Рис. 4.7. Мастер за работой 13. Когда мастер попросит вас ввести дополнительную информацию, сделайте одолжение, он не просит многого. Мастер баз данных завершает свою работу, автоматически создавая дружелюбную кнопочную форму, аналогичную изображенной на рис. 4.8.
А
j Создать: X : & "> В; Ш Объекты 13
Таблицы
! .Ш Создание формы в режиме конструктора Создание формы с помощью мастера Кнопочная 4 !$ Мероприяти. Э методы оплаты : Оплата Период отчета
Мероггоиятад ~^ 88од/просмотр формы'Посетители' ['"] Ввод/просмотр формы'Мероприятия1 Г~1 8вод/проснотр других сведений.. ~\ Просмотр отчетов... [
] Изменение элементов кнопочной форм
|"~~] Выход
Рис. 4.8. Access с гордостью представляет вновь созданную базу данных Теперь, когда база данных уже создана, можно переходить к главам 6 и 7, чтобы узнать, как вводить данные, настраивать таблицы и получать с их помощью необходимую информацию.
Созс/ание tfia&iuu, no палочки Добавить новую таблицу к базе данных с помощью мастера таблиц Access несложно. Мастер предлагает на выбор большой набор готовых полей и выполняет всю черновую работу по созданию таблицы, чтобы вы могли сосредоточиться на чем-то более важном.
Глава 4. Разработка и создание жилища для данных
67
С помощью мастера таблиц вы не столько создаете таблицу, сколько собираете ее. Мастер предлагает вам готовые "кирпичики", а вы выбираете то, что вам нужно, и складываете из них свою таблицу. Такой подход удобен, если вы новичок в создании таблиц. Вместо того чтобы забивать себе голову такими деталями, как типы и размеры полей, вы можете целиком посвятить себя обдумыванию имени поля и его назначения. После того как вы попробуете сами создать несколько таблиц, вам, наверное, уже не понадобится докучливый мастер, потому что вы уже будете знать, какие поля вам нужны и как их создать. Не будем медлить и сразу обратимся к мастеру за помощью в создании таблицы. 1. Откройте базу данных, в которой хотите создать новую таблицу. Для этого из системного меню выберите команду Файл^Открыть или щелкните на кнопке Открыть панели инструментов. Появится окно базы данных. 2. С левой стороны окна базы данных щелкните на кнопке Таблицы (Tables), чтобы сообщить программе, что вы хотите работать с таблицами. Затем дважды щелкните на пункте Создание таблицы с помощью мастера (Create Table by Using Wizard). Если все идет по плану, появится диалоговое окно мастера таблиц (рис. 4.9). Если появится другое окно, закройте его и повторите процедуру сначала. Создание таблиц Выберите образцы таблиц для применения при шзд»
ной таблицы.
Выберите категорию и образец таблицы, а затем нужные образцы полей. Допускается выбор полей из нескольких таблиц. Если заранее неясно, будет ли использоваться поле или нет, лучше добавить это поле в таблицу. Его несложно будет удалить позднее. Образцы полей:
Поля новой таблицы;
ВВШШВЕВ
^Префикс Образцы таблиц:
шив Контакты
Клиенты Сотрудники Товары Заказы
ри
[Отчество j Фамилия ^Суффимс {Прозвище I Должность : ИмяОрганиэации !Адрес
Рис. 4.9. Мастер таблиц предлагает вашему вниманию образцы имеющихся таблиц и полей 3. Щелкните на образце таблицы, чтобы просмотреть имеющиеся в наличии поля. Список готовых образцов таблиц составлен ужасно беспорядочно. Таблицы собраны вместе безо всякой системы, что вынуждает пользователя при выборе таблицы прокручивать длинный список. Поэтому будьте внимательны — и усилия будут приложены не напрасно. В итоге мастер таблиц предложит вашему вниманию большой выбор готовых полей. 4. Дважды щелкните на именах полей, которые вы хотите вставить в таблицу.
Часть //. Поистине восхитительные таблицы
При этом имя поля появится в столбце Поля новой таблицы (Fields in my new table). Выбирайте поля в том порядке, в котором хотели бы их видеть в новой таблице. Однако не беспокойтесь, если одно-два поля будут расположены не так, как вам хотелось бы, — это можно будет без труда исправить позже (как это сделать, вы узнаете в главе 9). Если вы хотите выбрать все поля из предложенной таблицы, щелкните на кнопке со знаком ». После этого будет скопирован полный набор полей.
• Для того чтобы удалить выбранное по ошибке поле, щелкните на имени поля, а затем на кнопке со знаком <. • Чтобы удалить все выбранные поля и начать подбор заново, щелкните на кнопке «. • Если вам не нравятся предложенные имена полей новой таблицы, щелкните на имени поля, а затем на кнопке Переименовать поле (Rename Filed). В появившемся диалоговом окне введите новое имя поля и щелкните на кнопке ОК. Все очень просто, не правда ли? 5. Повторяйте п. 4 до тех пор, пока полностью не сформируете список нужных полей (рис. 4.10). Щелкните на кнопке Далее, чтобы продолжить построение таблицы. Создание таблиц Выберите образцы таблиц для применения при создании собственной таблицы. Выберите категорию и образец таблицы, а затем нужные образцы полей. Допускается выбор полей из несколыод таблиц. Если заранее неясно, будет ли использоваться поле или нет, лучше добавить это поле в таблицу. Его несложно будет удалить позднее.
(3) Деловые 0Л4Цные . . Образцы таблиц:
ВшЕШиИВ Контакты -;Клиенты I Сотрудники Товары ;Заказы
Образцы полей: •
КодСпискаРассыпки
щ ; 1 : КодСпискэРассылки <|| 1 ,„>,.. J ;Лрефикс
[Отчество Фамилия ^Суффикс I прозвище {Должность ! ИмяОрганизации ;Адрес
Рис. 4.10. Выберите все поля, которые вы хотите внести в свою таблицу Поскольку отсутствует часть необходимой информации о полях, мастер таблиц пожелает восполнить этот пробел и узнать некоторые общие сведения о таблице.
6. Введите название таблицы и щелкните на кнопке Далее. Кроме того, в этом диалоговом окне имеются переключатели, определяющие способ задания ключа для данной таблицы. Сейчас на эти переключатели не обращайте внимания, иначе у вас голова кругом пойдет от обилия опций настройки. (В главе 5 мы к этому еще вернемся.) На экране появятся перечень таблиц, входящих в состав настоящей базы данных, а также указание на наличие или отсутствие связей между таблицами (рис. 4.11). Иногда мастер таблиц неправильно определя-
Глава 4. Разработка и создание жилища для данных
69
ет наличие или отсутствие связей, поэтому просматривайте перечень таблиц очень внимательно. Создание таблиц Связана ли новая таблица с другими таблицами базы данных? Связанные таблицы одержат соответствующие записи. Обычно новая таблица связана хотя бы с одной таблицей текущей базы дан ых. В некоторых случаях мастер создает связи между таблицами. В спита показаны имеющиеся связи таблицы, чтобы их изменить, выберите таблицу и нажмите woncy "Связи". новая таблица "Список рассылки": не связана с "Доставка" не связана с "Заказано" не связана с "Заказы" | не связана с "Поставщики" |не связана с 'Сотрудники* 1 i не связана с Типы '
Рис. 4.11. Мастер таблиц выводит список, всех существующих таблиц, указывая при этом на наличие или отсутствие связей между ними 7. Если мастер таблиц сделал неправильное предположение о связях между таблицами, и вы хотите помочь ему, проделайте следующее. а) Щелкните на кнопке Связи (Relationships). Откроется диалоговое окно Связи (рис. 4.12).
Определите тип связи новой таблицы "Список рассыпки' с таблицей "Заказы".
О Таблицы не связаны
О Одной записи таблицы "Список рассыпки" будет соответствовать много записей таблицы "Заказы". («} Одной записи таблицы "Заказы" будет соответствовать много записей 'гэбпицьГСписок рассылки". ^
Рис. 4.12. Укажите, каким образом ваши таблицы связаны друг с другом б) В диалоговом окне Связи установите переключатель в поле одной из трех имеющихся опций. В примере, приведенном на рис. 4.12, указано, что одной записи таблицы Products3 будет соответствовать много записей таблицы Items. (Более подробная информация о связях между таблицами будет представлена в главе 5.) в) Щелкните на кнопке ОК.
70
Часть II, Поистине восхитительные таблицы
8. Для завершения создания таблицы щелкните на кнопке Готово. Теперь в готовую таблицу можно вносить данные.
Рассмотрим образцы таблиц 1 Для вашего удобства ниже приводится описание некоторых наиболее распространенных i типов таблиц, создаваемых с помощью мастера, а также их предназначение. В каждом пункте указывается имя таблицы и ее предназначение. s Контакты. Таблица, содержащая необходимую информацию о клиентах. i ^ Клиенты. Подробная информация о клиентах, содержащая в том числе их электронный адрес. fV Сотрудники. Таблица с информацией о сотрудниках; хороший пример того, как в одной таблице можно использовать большое количество информации. j s События. Очень полезная вещь для заметок о ходе организации совещаний или семинаров. | -s Список рассылки. Информация, типичная для списка почтовой рассылки (фамилия, I адрес и т.п.). ^ Заказы. Данные о заказах клиента. v Сведения о заказе. Детальная информация о каждом заказе. ? : s Товары. Общая информация о каталоге товаров и ценах. : • Резервирование. Информация о резервировании мест и предварительной оплате. • • Записи работ. Отличный пример использования таблицы для управления служебной информацией. s Задачи. Данные о поставленных задачах. Многие из этих таблиц связаны и образуют реляционные базы данных. Например, Контакты, Клиенты, Заказы и Сведения о заказе работают как одна система. Не утруждайте себя, пытаясь собрать базу данных из отдельных кусков с помощью мастера таблиц. Для этой цели намного проще использовать мастер базы данных!
Созс/сшие Автоматизация — великое достижение человечества, но иногда она бывает неуместна. Например, хорошо, когда одним нажатием пальца можно выключить телевизор, лежа на диване. Но как некстати будет случайное нажатие такой кнопки, когда с наслаждением слушаешь любимую песню. Примерно так же обстоят дела с мастером таблиц. Сначала он облегчает вашу жизнь, но очень скоро ваши желания начинают превосходить его возможности. Не беспокойтесь, если вы созрели для независимой работы, Access позволит вам создавать таблицы самостоятельно. Существуют два простых способа создания таблиц без использования мастера таблиц.
При создании таблицы путем ввода данных Access выводит на экран пустую таблицу, в которую вводятся данные. По мере их ввода Access просматривает их и на основе этой информации определяет типы полей.
Глава 4. Разработка и создание жилища для данных
71
Единственная проблема в этом случае заключается в том, что Access может неверно истолковать вводимые данные и вам придется самостоятельно вводить типы полей. Отсюда можно сделать вывод: при создании сложной таблицы не следует использовать режим ввода данных. Другой, более совершенный, способ создания новой базы данных состоит в использовании режима конструктора. В этом режиме вы можете полностью контролировать процесс создания полей таблицы. Не пытайтесь охватить все непонятное сразу — экран имеет довольно сложный вид, но если вы будете не спеша следовать моим инструкциям, все будет в порядке. Чтобы создать таблицу вручную, выполните следующее. 1. Из системного меню выберите команду ФайлООткрыть, затем дважды щелкните на имени базы данных, в которой необходимо создать новую таблицу. Появится окно файла базы данных. j2!1~N. цд )
В мире Access таблицы живут внутри базы данных. Если у вас еще нет файла базы данных, начните с ее создания, выбрав команду Файл^Создать. 2. В левой части окна базы данных щелкните на кнопке Таблицы, а затем дважды щелкните на элементе Создание таблицы в режиме конструктоpa(Create Table in Design View). Access выведет на экран пустую форму для проектирования таблицы (рис. 4.13).
УНя поля
Общие
I
Тил данных
|
,
I-
; Подстановка
: Ичя попя иожбт состоять из 64 энагхвс учетом пробвшз. : \ Для справки по именам попей нажмите клавишу F1. '
:
Рис. 4. J3. Конструктор таблиц с нетерпением ожидает ваших указаний 3. Введите имя поля, а затем, чтобы переместить курсор дальше, нажмите клавишу <ТаЬ>. Курсор переместится в столбец Тип данных (Data Type).
72
Часть II. Поистине восхитительные таблицы
4. Щелкните на кнопке раскрывающегося списка, чтобы просмотреть список всех доступных типов полей (рис. 4.14). Щелкните на типе нужного поля, а затем нажмите клавишу <ТаЬ>. Ш Табяица2 ; таблица
!
Общие
i Падет;
: Размер поля ! Формат поля Маска ввода [ПОДПИСЬ I Значение по умолчанию ' Условие на значение | Сообщение об ошибке Обязательное поле . Пусть» строи i Индексированное поле ; Сжатие Юниквд | Режим IME " Режим предложений IME I Смарт-теги
;
. Тип данных определяет вна'-щния, которые можно сохранять в этом поле- Для справки по типам данных , . .. . .нажмиге клавишу F1.
El
Нет контроля |*г . '
Рис. 4.14. Из раскрывающегося списка выберите нужный тип поля Нажатие клавиши с буквой, соответствующей первой букве названия типа поля, приводит к тому, что в столбце Тип данных сразу же появляется полное название типа данного поля. Например, если вы нажмете клавишу с буквой "Л", то в столбце Тип данных автоматически будет выбран тип поля Логический. Каждый раз при выборе типа поля нижняя часть окна во вкладках Общие (General) и Подстановка (Lookup) будет заполняться новыми данными. Пока не нужно обращать на это внимание. Эти элементы помогают изменять и автоматизировать работу полей. Более подробно об этом рассказывается в главе 7. Если вы создаете текстовое поле, вам необходимо установить его размер (по умолчанию он соответствует 50 символам, а это, как правило, всегда больше, чем реально необходимо). Перед вводом данных в этот столбец щелкните в строке Размер поля (Field Size), расположенной во вкладке в нижней левой части окна, и введите нужный размер поля. 5. Нажмите клавишу <ТаЬ> и перейдите в поле Описание (Description). 6. Введите четкое, понятное описание содержимого поля. Этот шаг действительно важен! Информация, содержащаяся в поле Описание, появляется в строке состояния, расположенной в нижней части окна, и служит для вас автоматической подсказкой по ходу работы. Пожалуйста, не пожалейте времени для ввода краткого описания, это настолько облегчит вам дальнейшую работу, что сейчас вы мне просто не поверите. 7. Нажмите клавишу <ТаЬ> еще раз, чтобы вернуть курсор в столбец Имя поля (Field Name). 8. Повторяйте пп. 3-7 до тех пор, пока все поля не займут свои места (рис. 4.15).
Глава 4. Разработка и создание жилища для данных
73
U jjWlP<;
iii Сотрудники : таблица Имя поля КодСртрудника Фамилия
i
Имя
i
Должность Обращение ДэтаРождения ДатаНайма Адрес Город Область
йй^У.7.77.. Г "'"'." Страна
••I
Общие
Тип данных 1 Описание i Счетчик Номер, автоматически присваиваемый новому сотруднику, ' " ' ! Текстовый' ' • Тестовый . _ '_ ' .Текстовый : Должность .сотрудника.) ; Текстовый : Рекомендуемое обращение. ^Дата/еремя ] -_ ; Дата/время \ Текстовый • Улица или почтовый ящик. . текстовый i Текстовый . Область или республика. •Текстовый ; Текстовый Свойства поля
1 л]
j
. |
1 Подстановка ;
1 Размер поля ; Формат ПОЛЯ \ Маска ввода j Подпись 1 Значение по умолчанию ' Условие на значение ; Сообщение об ошибка ; Обязательное поле -\ Пустые строки I Индексированное поле i Сжатие Юникод | Режим 1МЕ 1 Режим предложений IME Смарт-теги
30
_
ii [ L
] 1
П •. Г; ;v .•'
'
-. •
.. '-:
.
' „ ;...
•
. : ' • . - _ - - -
•
i ; h1 ' i . ' • ' •, . -• •• . ' • • •••..•••.••:• ~ 'i f-i ' . .•' ' : ' - . ' . : • • , . • 1 |-i •:>.'••'••'.•• ' '••''."• * } иэоблэательнь»! Параметр. Выводится Б строку состояния | ': при выборе попя в форме. Для справки по огмсзиию пог.ч нажмите клавишу Fl. : ;
Нет
Mt
нет
i&IIIIZlZIZZIZIZZIIZZZj [•!' |Нет контроля
*^i ." . i ' z rnrriiz]
... у .
.-
. • .
•.
•.
Рис. 4.15. Все поля на месте - пришло время проверить таблицу в действии Подумать только! Таблица почти готова. 9. Для того чтобы сохранить новую таблицу на диске, выберите из системного меню команду Файл=>Сохранить (File^Save) или щелкните на кнопке Сохранить панели инструментов. 10. В появившемся диалоговом окне Сохранить введите имя, которое хотите присвоить таблице, и нажмите клавишу <Enter>. Access может вывести на экран диалоговое окно с сообщением "There is no primary key defined" (Первичный ключ не найден). Это сообщение означает, что таблица не будет упорядочена автоматически. В данном диалоговом окне щелкните на кнопке Да, а для более подробной информации о ключевых полях обратитесь к главе 5. 11. Полюбуйтесь своей новой таблицей! Созданная без автоматического вмешательства, таблица выглядит не так уж и плохо! Поздравляю!
74
Часть II. Поистине восхитительные таблицы
Глава 5
Связи, ключи и индексы заслуживают внимания главе ... > > > >
Причины появления и необходимость первичного ключа Раскроем секрет прочных связей Создание связен между таблицами Индексы — указатели на пути к славе, удаче и существенному ускорению выполнения запросов
з года в год жизнь течет по определенному руслу: за более короткий промежуток времени хочется выполнить больший объем работы с наименьшими затратами. Но это нельзя назвать проблемой, это — возможность для совершенствования. Вы спросите, зачем я все это говорю? Затем, что в этой главе вы сможете найти ответы на некоторые наболевшие вопросы. Итак, вам за минимальное время хочется успеть выполнить как можно больший объем работы, не так ли? Тогда возьмите на вооружение такое средство Access 2003, как индекс. И тогда ваши запросы будут летать, как птицы, сортировки будут выводить трели, а волосы на голове не будут шевелиться от ужаса. Если вас не устраивает тот факт, что таблицы наводнены повторяющимися данными, решить такую проблему можно за счет удачно подобранного ключевого поля. Его присутствие гарантирует, что записи в таблице будут встречаться один (и только один) раз. А как насчет реляционных баз данных! Неужели между таблицами могут существовать связи, или они просто объединены непонятным образом? Благодаря удивительному инструменту Access 2003 под названием Relationships (Связи) ваши таблицы найдут общий язык друг с другом. Несомненно, это не менее сложно, чем поладить с коллегами, но пусть это вас не волнует. С помощью советов, приведенных в этой главе, вы за короткий промежуток времени станете экспертом в области табличных связей.
jL/гичинм появления и неличного Первичный ключ — это специальное поле какой-либо таблицы. Практически каждая созданная вами таблица должна иметь первичный ключ! Для чего? Он позволит упорядочить данные путем единственно возможной идентификации каждой записи. Например, в таблице Клиенты первичным ключом могло
бы быть поле Номер клиента. Каждому клиенту вашей организации в этом случае присваивается его уникальный номер. S Если вы не будете следовать этому правилу, многие более опытные пользователи просто придут в ярость. Прежде чем приступать к созданию первичного ключа, необходимо знать несколько основных правил. Таблица может иметь только один первичный ключ. Индексов может быть много, но ключ — только один. Access автоматически индексирует поле первичного ключа (это одна из причин, по которым использование первичного ключа позволяет базе данных работать быстрее). Для того чтобы больше узнать об индексах, прочитайте раздел "Индексы — указатели на пути к славе, удаче и существенному ускорению выполнения запросов" данной главы. Если вы создадите новую таблицу без первичного ключа, Access автоматически напомнит вам об этом и спросит, не хотите ли вы его создать. При утвердительном ответе программа создаст поле Счетчик (AutoNumber) в начале таблицы и определит его в качестве первичного ключа. Если тип Счетчик уже задан для первого поля таблицы, Access использует его в качестве первичного ключа, ничего больше не добавляя в таблицу. В большинстве случаев первичным ключом будет одно поле, но иногда, в очень редких случаях, его функции могут выполнять сразу несколько полей. В такой ситуации используется специальный ключ, который называется многополевой, или составной, ключ. В качестве первичного ключа не могут использоваться поля типа гиперссылки, OLE и Мемо. В качестве первичного ключа можно использовать поле типа Логическое (yes/no), но тогда в таблице могут фигурировать только две записи (Да и Нет). Записи в таблице автоматически сортируются по первичному ключу. Благодаря этому данные в таблице всегда упорядочены. Для Access не имеет значения, где именно в таблице находится поле первичного ключа. Оно может быть первым, последним или прятаться где-то в середине. Вы сами определяете его местоположение. Однако, для того чтобы избежать путаницы, рекомендую делать ключевое поле первым в таблице. Лучше, если это станет привычкой. (Позже вы меня за это поблагодарите.) Все первичные ключи должны иметь имена, как и любое другое поле. Может быть, вам это не понравится, но Access автоматически присваивает всем первичным ключам имя Primary Key (Первичный ключ). Для задания поля, которое будет выполнять функции первичного ключа, выполните следующие шаги. 1. Откройте таблицу в режиме конструктора. Если вы не знаете, как это сделать, вернитесь к главам 1 и 4, так как пока что вы еще не готовы к созданию первичного ключа.
2. Щелкните правой кнопкой мыши на кнопке, расположенной рядом с названием поля, которое вы решили выбрать в качестве первичного ключа.
76
Часть II. Поистине восхитительные таблицы
Появится контекстное меню. Чтобы узнать, какое поле лучше выбрать в качестве первичного ключа, прочтите ниже врезку "Правильный выбор поля — ключ к решению проблемы".
3. Выберите из меню пункт Ключевое поле (Primary Key) (рис. 5.1).
ние компании, осуществляющей доставку. юн с кодом страны или региона.
Добавить строем У_далитъ строки QOCTpOtTb... Свойства
: Размер поля • Новые значения \ Формат полл jПОДПИСЬ j Индексированное none ! Смарт-теги
|Длим«>е целое Последовательные К
ВД доставки _____ Дз (Соыгадания не ^рпускаются)
i
I Имя поля может состоять иэ 64 энакт с учетом пробелов. Для справки по именам полей нажмите 'клавсяцу F1.
Рис. 5. 1. Первичный ключ создан! На кнопке маркера текущей строки появится изображение маленького ключика это значит, что первичный ключ установлен!
cetcfietfi /г/мчных связей В реляционных базах данные могут быть распределены в двух или нескольких таблицах. В Access для связи таблиц используется связующее поле, которое называется внешним ключом. Например, в одной таблице могут содержаться фамилии клиентов и их адреса, а в других — • информация о совершенных ими покупках. Информация о платежах клиента связывается с его данными посредством связующего поля, которым в этом примере может быть номер клиента. При создании связей между таблицами необходимо принимать во внимание следующее. Обычно связующим полем является первичный ключ одной таблицы, тогда как в другой таблице это поле является совершенно обычным. Например, информация о клиентах обычно упорядочивается по номерам клиентов, а кредитная история — по номерам платежных документов. Таблицы не связываются между собой по волшебству, только потому, что они содержатся в одном файле базы данных. Проинформируйте Access об этих связях, и она сама справится с деталями. Более подробные инструкции на этот счет вы найдете в следующем подразделе. Связующие поля должны содержать данные одного типа. Запомните, связываются только однотипные поля. А теперь быстро повторите эти три правила еще раз.
Глава 5. Связи, ключи и индексы заслуживают внимания
Когда вы связываете между собой две таблицы, образуется одна из четырех возможных связей. Хотя данная информация и относится к техническим подробностям, Access неравнодушна к этим терминам, поэтому с ними стоит ознакомиться. •S "Один к одному". При такой связи одна запись первой таблицы связывается только с одной записью другой таблицы. Эта связь самая простая, но встречается она нечасто. Таблицы, имеющие тип связи "один к одному", всегда можно скомпоновать в одну, что обычно и делается. •S "Один ко многим". Одна запись первой таблицы связана со многими записями во второй. Например, клиент может сделать несколько покупок, поэтому одна запись о нем связывается с несколькими записями о продажах в таблице совершенных сделок. S "Многие к одному". Много записей первой таблицы связано с одной записью второй таблицы. Такая связь прямо противоположна связи "один ко многим".
"Многие ко многим". В этом случае многие записи одной таблицы связаны со многими данными в другой. Фактически такой тип связи — сложный и запутанный, и в базах данных его создавать не разрешается. На практике используются связующие таблицы.
Правильный выбор поля - ключ к решению проблемы Как правильно выбрать первичный ключ? Какое поле будет лучше всего подходить для этой цели и как это определить? Эти два вопроса, касающиеся первичного ключа, по сути являются важнейшими. Главный критерий выбора хорошего первичного ключа— его уникальность. Значения, хранящиеся в этом поле, не должны повторяться. Access не допускает дублирования значений в поле первичного ключа. Каждое значение, вводимое в это поле, должно быть единственным и неповторимым. Если в будущем вы предполагаете создавать много" таблиц, то на листе бумаги напишите фразу "Думайте уникально" и повесьте ее на видном месте. С накрепко засевшим в вашей памяти словом "уникальный" самое время поискать подходящее поле в вашей таблице. Есть ли у вас поля, всегда содержащие уникальные данные? Это может быть номер клиента, номер ячейки склада, номер машины или какое-нибудь другое поле, которое содержит данные, не встречающиеся более чем в одной записи. Если в вашей таблице есть такое поле — прекрасно, пользуйтесь им на здоровье! Если же его нет, в таблицу рекомендуется ввести поле типа Счетчик (AutoNumber). В это поле для каждой новой записи автоматически будет введен ее уникальный порядковый номер. Программа следит даже за номерами записей, удаленными из таблицы, поэтому они не будут использоваться снова. Вам не придется программировать или прибегать к каким-то •другим специальным приемам для выполнения этой работы. Обо всем этом позаботится поле счетчика.
78
Часть II. Поистине восхитительные таблицы
Создание связей межуц Процесс связывания таблиц в Access достаточно наглядный. Достаточно посмотреть на таблицы и провести где нужно линии. Однако существуют три ограничения, о которых следует помнить. Связывать можно только таблицы, принадлежащие одной базе данных. Существует возможность связать с таблицами запросы, однако это выходит за пределы обычных задач. Необходимо отдельно сообщить Access, каким образом связаны ваши таблицы. И этого нельзя сделать динамически (на лету), поскольку это строго формальная процедура. Когда придет время установить некоторые формальные связи между таблицами, сделайте следующее. 1. Из системного меню окна базы данных выберите команду СервисоСхема данных (Tools^Relationships) или щелкните на кнопке Схема данных панели инструментов. Появится окно Схема данных, которое в данный момент, вероятно, будет незаполненным. Если в окне уже представлены таблицы, значит, кто-то (а возможно, и мастер Access) уже описал связи между таблицами этой базы данных. Если вы работаете в крупной организации, то остановитесь на этом моменте и прежде чем что-либо изменить в базе данных, обратитесь с вопросом к коллегам. 2. Из системного меню выберите команду СвязиОДобавить таблицу (Relationships^Show Table) или щелкните на кнопке Отобразить таблицу панели инструментов. Появятся диалоговое окно Добавление таблицы и список таблиц текущего файла базы данных. 3. Щелкните на первой таблице, для которой вы бы хотели создать связь, а затем на кнопке Добавить (Add). В рабочей области окна Схема данных появится небольшое окно с полями таблицы. 4. Повторите эту процедуру для других таблиц, которые хотите связать между собой. По мере добавления таблиц для каждой из них будет появляться небольшое окно с перечнем полей данной таблицы. Эти окна вы видите рядом с диалоговым окном Добавление таблицы на рис. 5.2. 5. Щелкните на кнопке Закрыть (Close). Теперь вы готовы установить связи между таблицами, представленными в окне! 6. Выберите две таблицы, которые вы хотели бы связать. , При создании связи типа "один ко многим" одна из таблиц является родительской, а другая — дочерней. В родительской таблице связующее поле будет первичным ключом.
Глава 5. Связи, ключи и индексы заслуживают внимания
79
:
Поставщики Сотрудники Список рассыпки
:ТИПЫ
Товары
Рис. 5.2. Чтобы добавить таблицы в схему связей, воспользуйтесь диалоговым окном Добавление таблицы В Access, прежде чем установить связь, нужно увидеть на экране два связующих поля. , 7. Поместите курсор мыши на то поле, с которого хотите начать связь в родительской таблице (являющееся первичным ключом данной таблицы), нажмите и удерживайте левую кнопку мыши. Совершенно неожиданно ничего не происходит! Вообще ничего. Вы не увидите никаких изменений на экране, пока не выполните следующее действие. Думаю, разработчики Access сделали это, чтобы всех нас удивить. 8. Удерживая нажатой кнопку мыши, перемещайте указатель мыши от одного связующего поля к другому. Указатель примет вид прямоугольника. Когда он окажется на связующем поле, отпустите кнопку мыши. Появится диалоговое окно Изменение связей (Edit Relationships), показанное на рис. 5.3, в котором представлено описание создаваемой связи. Access очень "переборчиво" относится к выбору связующего поля на этом этапе работы. При создании связи указатель мыши необходимо навести строго на название связующего поля. На рис. 5.3 показано, как поле КодСотрудника перетаскивается из таблицы Сотрудники на поле КодСотрудника таблицы Заказы. . Для создания надежной связи между двумя таблицами установите флажок в поле опции Обеспечение целостности данных (Enforce Referential Integrity). Таким образом, Access гарантирует, что данные, помещенные вами в одно ключевое поле таблицы, соответствуют данным другой таблицы. В данном примере Access не позволит вам ввести другое значение в поле КодСотрудника таблицы Сотрудники, если оно не будет соответствовать значению в поле КодСотрудника таблицы Заказы.
Часть //. Поистине восхитительные таблицы
[ Изменение связей 1 Обращать
л
Таблица^апрос: (Сотрудники КрдСотрудника
Связанная таблица/запрос: v Заказы ** КодСотрудника
10
«
t - ^ frJ !
' Отмена
| Объединение.^]
;
[Категория ^f
Описание ?С . [*/1 Обеспечение целостности данных
Новое..
J
Г]каскадное обновление связанных полей . :
Г^каскадное удаление связанных записей
Тип отношения:
один-ко-многим
Рис. 5.3. В окне Изменение связей скрупулезно описывается, каким образом данные таблицы будут связаны друг с другом 10. Взглянув на диалоговое окно, убедитесь в том, что правильно выбрали таблицу и имя поля. Если вы уверены в этом, щелкните на кнопке Создать (Create) (рис. 5.4).
КодТовара Цена •Соли честно Марка КодПоставщика КодТипа ЕдиницаИзмерения Цена ИаСкпаде Ожидается Минимапьный Запас ПостэькиПрекращены
кодклиента КодСотрудника ДатаРаэмещения ДатаНазначения Датэисполнения Дост СтоимостьДостаеки НазваниеПолучателя АдресПолучателя ГородПопучатепя ОбластьПолу цате ля иидекгЯолучатепя СтранаПолучатепя
КодДост Название ТелесЬон
КодТипа Категория Описание Изображение
Рис. 5.4. Access просто и ясно отображает таблицы и связи между ними Появится линия, показывающая, что таблицы связаны. Если был установлен флажок в поле Обеспечение целостности данных, рядом с элементом родительской таблицы появится символ 1, а рядом с дочерней таблицей— символ со. Таким образом отмечается связь типа "один ко многим". (На рис. 5.4 показаны связь "один ко многим" между таблицами Сотрудники и Заказы.)
Глава 5. Связи, ключи и индексы заслуживают внимания
81
Если имя таблицы или поля выбрано неверно, щелкните на кнопке Отмена (Cancel) и повторите пп. 6-8. 11. Чтобы связать другую пару таблиц, вернитесь к п. 3 и начните все сначала. Когда вы все это сделаете, возможно, в окне Схема данных будет небольшая неразбериха (линии связей могут пересекаться). Для внесения ясности поместите указатель мыши на строку заголовка окна какой-либо таблицы, затем нажмите кнопку мыши и перетащите таблицу в другое место экрана. Традиционным (хотя и не всегда возможным) является расположение родительской таблицы выше дочерней.
Секрет связи "многие ко многим" Несмотря на заманчивое название, связь между таблицами "многие ко многим" просто не работает. Вместо того чтобы решать некоторые странные проблемы с хранением данных, эти связи создают много новых проблем, Если для вашей базы данных требуется связь "многие ко многим" между несколькими таблицами, воспользуйтесь так называемой переходной таблицей. Переходная таблица играет роль посредника между двумя другими таблицами. Для этого в ней используется связь "один ко многим" с обеими таблицами, которые нужно соединить. Например, представьте себе базу данных учебного ; центра. В таблице Students посредством поля Student ID перечислены все посетители центра, а в таблице Courses содержится информация о каждом предмете в поле Course ID. Каждый студент посещает множество курсов, точно так же на каждом курсе присутствует множество студентов. О, нет! — это же связь 'многие ко многим"! Давайте решим эту проблему, добавив связывающую таблицу под названием Schedule. В первичном ключе для каждой записи этой таблицы содержится и поле Student ID, и поле Course ID, представляя собой одного студента на одном курсе. Таким образом, создается связь "один ко многим" между таблицей Schedule и таблицами Students и Courses. Делая запрос таблицы Schedule вместе с таблицами Students и Courses, работники учебного центра быстро найдут, какие студенты посещают определенный курс (для одного поля Course ID несколько записей Students ID) и какие курсы посещает определенный студент (одно поле Student ID, много записей Course ID). Таким образом, с помощью связывающей таблицы легко решается проблема связи "многие ко многим".
Unqeiccbi — цказсипели на Mftfiu к славе, и сци^есбМенномц t/ско/гтию запросов Хотите узнать некоторые подробности о возможностях программного обеспечения, описываемого в этой книге? Есть несколько советов, которые помогут сделать вашу работу в Access эффективнее, — ускорить выполнение запросов и сортировок, устранить дублирование записей в таблицах. Неплохо, правда? Вас это интересует? Тогда смелее двигайтесь дальше. Секретным средством, способствующим ускорению работы, является индекс. Таблица индексов Access аналогична предметному указателю книги. Использование индексов значительно ускоряет поиск нужной информации и позволяет не пролистывать зря всю книгу в тщетной надежде найти то, что вам нужно.
82
Часть II. Поистине восхитительные таблицы
Индекс Access работает примерно так же, как и в книге, но вместо перечня номеров страниц здесь используется список номеров записей. При выполнении сортировки.или создании запроса с использованием индексированного поля большая часть работы выполняется именно индексом. Именно поэтому индексы значительно ускоряют выполнение запросов и сортировок — индекс позволяет сразу выполнить запрос по поиску указанной информации без последовательного просмотра всей таблицы. Ниже приведено несколько полезных советов по использованию индексов. Проиндексировано может быть каждое поле таблицы, за исключением полей типа гиперссылка, Мемо и OLE. Так же как и первичный ключ, индекс может обладать уникальным именем, которое отличается от имени поля. Хотя благодаря использованию индексов выполнение запросов, поиск информации и сортировка происходят значительно быстрее, создание слишком большого числа индексов в таблице приводит к замедлению выполнения других задач. При добавлении записей в таблицу с несколькими индексами требуется больше времени, чем для добавления записей в неиндексированную таблицу. Access автоматически обновляет индексы, а на это тоже требуется дополнительное время. Индексы либо допускают дублирование данных в вашей таблице, либо препятствуют этому. Выбор за вами. Как его сделать правильным? В большинстве случаев дублирование записей допускается. Исключением являются поля первичных ключей. Access всегда индексирует их с пометкой Совпадения не допускаются. (В конце концов, зачем нужны два клиента под одним и тем же номером?) Установка Совпадения не допускаются (No Duplicates) гарантирует, что в одном индексированном поле не будет двух записей с одинаковыми значениями. Для того чтобы вывести список индексов таблицы, откройте ее в режиме конструктора и щелкните на кнопке Индексы (Indexes) панели инструментов. Программисты Microsoft постарались сделать процедуру создания индекса достаточно простой. Ниже приводится описание этой процедуры. 1. Откройте таблицу в режиме конструктора и щелкните на имени поля, которое вы хотите индексировать. На имени поля появится мигающий курсор. 2. Выберите вкладку Общие, расположенную в нижней части окна, и щелкните в строке Индексированное поле (Indexed). Курсор "перепрыгнет" в строку Индексированное поле, а в правом ее конце появится кнопка раскрывающегося списка. Если в списке не будет элемента индексированное, значит, это поле не может быть проиндексировано. Независимо от того, насколько велико ваше желание, нельзя выполнить эту операцию над полями типа гиперссылка, Мемо или объекты OLE.
Ф
3. Щелкните на кнопке раскрывающегося списка, чтобы просмотреть список элементов индексирования. Появится перечень опций индексирования. 4. Выберите из списка опцию индексирования.
Глава 5. Связи, ключи и индексы заслуживают внимания
83
В большинстве случаев рекомендуется выбирать пункт Да (Допускаются совпадения) (Yes (Duplicates OK)). В особых случаях, когда каждая запись должна иметь уникальное значение поля (как, например, поле Код клиента), лучше выбрать элемент Да (Допускаются совпадения). 5. Для того чтобы сохранить изменения, щелкните на кнопке Сохранить панели инструментов или выберите из системного меню команду Файл О Сохранить. В зависимости от размеров вашей таблицы при создании индекса может потребоваться чуть больше или чуть меньше времени. Не удивляйтесь, если вам придется немного подождать, пока Access выполнит эту операцию. Чтобы удалить индекс, выполните предыдущую инструкцию, но в п. 4 выберите Нет (Мо)из раскрывающегося меню. Access тут же удалит индекс поля.
84
Часть II. Поистине восхитительные таблицы
Глава 6
Новые, старые и нуждающиеся в восстановлении данные гмиве. . . > Открытие баз данных и таблиц >
Добавление новых записей
> Изменение существующей записи > Удаление ненужных записей > Что делать после того, как воскликнули "Ой!"
f одержание и техническое обслуживание всегда подразумевают дополнительные расV** ходы. Независимо от того, о чем идет речь, — будь то автомобиль, магнитофон, телевизор, ребенок, четвероногий друг и т.д., — поддерживать порядок намного сложнее, чем нам это представляется поначалу. Исключение из этого правила составляют ваши данные. Благодаря инструментам Access поддержание в порядке ваших данных — простой, сравнительно безболезненный и недорогостоящий процесс. По существу, одной из главных задач программы является содержание данных в рабочем состоянии. В этой главе объясняются необходимые основы работы с данными: добавление новых записей, удаление старых и восстановление тех, которые были в силу какой-то причины испорчены. Кроме того, в главе 9 будут даны полезные советы по работе с таблицами (как добавить новые столбцы, переименовать поля и т.п.).
О&несем, (на&шщ в цифровую Обычно все записи сгруппированы в таблицах, поэтому, прежде чем побеспокоиться о состоянии данных, необходимо открыть таблицу. Таблицы также любят компанию. Они объединяются в базы данных. Базы данных не интересуются ничем, кроме собственных персон, поэтому вы можете найти их где угодно: в папке, на дискете или на сетевом диске. Первый шаг на пути к управлению записями состоит в открытии базы данных. Открыть базу данных можно по-разному, но все способы работают примерно одинаково. При загрузке Access на экране появится область задач (рис. 6. 1 ), в которой можно создать новую базу данных, открыть базу данных, с которой вы недавно работали, либо перейти в новое диалоговое окно для работы с какой-либо другой базой данных. Каждая из этих операций представлена в области задач в виде соответствующей гиперссылки.
Рис. 6.1. При загрузке Access на экране появится область задач, в которой вы сможете выполнить необходимые действия В нижеприведенном перечне представлены операции, которые можно выполнить в области задач. I •/ Щелкните в верхней части области задач, чтобы открыть другие панели, такие как Начальные сведения (Getting Started), Справка (Help) и Поиск (File Search). •/ Чтобы открыть любую базу данных, указанную в списке, щелкните на ее имени. •/ Если нужной вам базы данных в списке нет, дважды щелкните на элементе Дополнительно (More Files), в результате чего откроется диалоговое окно Открытие файла базы данных (Open). Оно предоставит доступ ко всем файлам баз данных в текущей папке. S Как? Выи там не обнаружили нужной базы данных? В этом случае почитайте советы об использовании поисковых средств диалогового окна Открытие файла базы данных в приведенной ниже врезке "Поиск потерявшихся файлов". »^ Если вы имеете желание создать новую таблицу, вернитесь к главе 4, где подробно описана данная процедура. Все это было бы именно так, если бы вы только что загрузили Access. Но что делать, если программа уже загружена и работает? В этом случае щелкните правой кнопкой мыши на панели инструментов и выберите элемент Область задач (Task Pane) либо Видо Область задач (ViewoTask Pane).
86
Часть II. Поистине восхитительные таблицы
Если все это для вас звучит слишком сложно, откройте нужную базу данных старым известным способом. 1. Из системного меню выберите команду Фа и л о Открыть (FileOOpen) или щелкните на кнопке Открыть панели инструментов. Появится диалоговое окно Открытие файла базы данных (рис. 6.2). Открытие файла базы данных
з
|ОSAMPLES
Папка:
1Г-Л№ОРЛТН~
ш
I*
!; т \
\ Мои документы!
тяфайги: Тип файлов: 'Mtrosoft Office Access
"
Рис. 6.2. Появление искомой базы данных 2. Прокручивайте содержимое списка до тех пор, пока не найдете базу данных, которую хотите открыть. Если нужной вам базы данных в списке нет, она, вероятно, содержится в другой папке, на другом диске или в локальной сети. Для того чтобы найти ее, щелкните на кнопке раскрывающегося списка в поле Папка (Folder) (расположенной в верхней части диалогового окна Открытие файла базы данных) и просмотрите список локальных и сетевых устройств. Щелкните на имени того устройства, в котором хотите осуществить поиск, и Access покажет полный список имен баз данных и папок этого диска. Чтобы значительно облегчить свою работу, добавьте в папку Избранное (Favorites) несколько ярлыков. Включите туда те сетевые области или каталоги жесткого диска, которые вы чаще всего используете при работе с базами данных. 3. Когда вы найдете нужную базу данных, дважды щелкните на ее имени. Появится окно файла базы данных (рис. 6.3), которое наглядно демонстрирует, как ведет себя хорошо воспитанный файл базы данных в приличном обществе. Далее в этой главе предполагается, что ваша база данных будет вести себя именно так. Возможно, вместо этого диалогового окна появится так называемая кнопочная форма. Это означает, что база данных была особым образом запрограммирована либо была создана с помощью мастера баз данных. Вероятно, у вас есть специальные формы, которые помогут вам работать с информацией, содержащейся в базе данных.
Глава 6. Новые, старые и нуждающиеся в восстановлении данные
87
4. Щелкните на кнопке Таблицы (Tables), расположенной под панелью Объекты (Objects) (если эта панель до сих пор не выбрана). Появится список таблиц вашей базы данных. 5. Дважды щелкните на имени таблицы, которую хотите отредактировать. Появятся данные, выразительно представленные в виде электронной таблицы.
Поиск потерявшихся файлов
•
Поиск потерявшихся файлов далеко не всегда представляет собой легкую задачу. Однако не j стоит волноваться, так как создатели Access изобрели способ поиска всех "спрятавшихся" от вас файлов. В диалоговом окне Открытие файла базы данных, в правом верхнем углу, имеется меню Сервис j (Tools), одним из элементов которого является пункт Найти (Search). Выбрав его, вы увидите] диалоговое окно, предлагающее несколько способов поиска файлов, На приведенном ниже рисунке в диалоговом окне Поиск файлов выбрана вкладка Расширенный (Advanced) и осуществлен поиск | всех баз данных, в названии которых встречается слово Борей. Результаты поиска отображены в нижней части диалогового окна. Для открытия щокной базы данных дваждьп1юлкните на ее имени.
88
Часть II. Поистине восхитительные таблицы
Sf Борей : база данных (формат Access ZOGO) III Конструктор '[ЭСоэдать I X I *г Создание таблицы в режиме конструктора Создание таблицы с помощью мастера Создание таблицы путем ввода данных
объекты ЙЗ'табпЙВ;! SP Запросы Э верны Ш Отчеты *J Страницы В Макросы 1
'it Модули 1
. Группы
[Ц Избранное
^3 О [3 О *3 Ш I 3
Заказы Клиенты Поставщики Сотрудники Список рассылки Титы Товары
Рис. 6.3, Окно файла базы данных, в котором представлены все таблицы, запросы и т.п.
2)о£авлен,ие записе В жизни бывает много неприятных моментов. Например, загрузив автомобиль всем необходимым для заслуженного отдыха, вы вдруг обнаруживаете, что забыли еще что-то положить (как правило, это что-то весьма внушительных размеров). В реальном мире необходимая в этом случае переупаковка вещей будет весьма утомительным занятием, но в цифровом мире Access добавление одной или сотни записей в таблицу не представляет никакого труда. Для добавления записи к таблице нужно выполнить всего пару действий. Приведенная ниже инструкция предполагает, что вы уже открыли файл базы данных и выбрали таблицу, с которой будете работать. (Если это еще не сделано, то следуйте инструкциям, приведенным в предыдущем разделе данной главы.) Чтобы добавить новую запись в таблицу, сделайте следующее. 1. Выберите команду ВставкаоНовая запись (lnsert<=>New Record) или щелкните на кнопке Новая запись, расположенной в нижней части окна базы данных. Access добавит в таблицу новую запись и поместит курсор в ее первое поле (рис. 6.4). Первым полем во многих базах данных является поле типа Счетчик (AutoNumber), поскольку оно прекрасно справляется со своей работой, когда нужно создать уникальные номера — код клиента, номер главы или другую нумерацию. На этом этапе поле счетчика внимательно следит за вашими действиями, но ничем не проявляет себя (до следующего шага). 2. Начинайте вводить информацию. Если первое поле вашей таблицы — поле счетчика, нажмите клавишу <ТаЬ> и начинайте ввод данных со второго поля. Как только вы начнете ввод, в поле счетчика автоматически появится соответствующая нумерация (рис. 6.5).
Глава 6. Новые, старые и нуждающиеся в восстановлении данные
89
* Клиенты : таблица Название | Код клиента 1 *:SIMOB Simons bistro Spec i allies du monde '*[spic5
Обращаться* i Jytte Petersen Dominique Perrier iArt Braunschweiger «'SPUR" Pascale Cartrain _ «jSUPRD^II Supremes delices .The Big Cheese Liz Nixon The Cracker §ox Liu Wong ~ «•iTHECR JKarin Josephs _ IJTOMSP^ '_ Tom<; Spezialitaten Tortuga Restaurants ; Miguel Angel Paolino ; Tradiero Hipermercados [Anabela Domingues — 4" fRADH Trail's Head Gourmet Provisioners iHelvetius Nagy «iTRAJH iVaffeliemet ~ _r ; Palle Ibsen «JVAFFE [Mary Saveley _ »jvicfi^7 Victuailles en stock _ «IviNEf iPaul Hennot Vinette bistro Rita Muller Die Wandernde kuh ! ~~ ; 'WARTH Pirkko Koskitalo Wellington Importadora j Paula Parente _ ^-t^-— White Clover Markets :Karl JablonsW iMaffi Karttunen _ «JWILMK. "Wiiman Kala * 'WOLZA jTbyszek Pjestrzeniewicz Wolski Zajazd. ~ ./ «.НЙЙПВ НИИ Повехности] ~*92|Т)7Г}>Ж)иэ92
' : <,
У :
"'fl
"
BUffii 1 Должность I ill jVinbaelteU4 i Совладелец ' [25. rue Lauri i Главный менеджер Менеджер по продажам 1P.OBCKW5 Boulevard fir Бухгалтер 89 Jefferson • Главный менеджер i Помощник менеджера 55 Grizzly P< Luisenstr. 48 • Главный менеджер 'Совладелец Avda Aztecs j Представитель ;Av. Ines de С Ученик продавца [Менеджер по продажам Smiigsloget t [2, rueduCoi [Продавеи, Бухгалтер 1 59 rue de fAJ [Представитель Adenaueralle iforikatu 38 i Бухгалтер ^Менеджер по продажам Rua do Merc [Совладелец i Управляющий [Совладелец ]Ul. Fijtroyya ё L
-
--
Рис. 6.4. В таблице появилась новая запись, помеченная изображением маленького карандаша, в которую можно внести необходимые данные to Доставка : таблица I Код доставки | Название | Телефон 1|Ространс 1(095)972-9831 2; Почта [(095)124-3199! 1(095)211-9931 3;Иное '_ 5| Клиент (Счетчик);
Рис. 6.5. Запись практически полностью введена, и Access присваивает ей порядковый номер Не волнуйтесь, если вам покажется, что поле счетчика не отреагировало должным образом на появление новой записи и пропустило номер. Программа запоминает последний введенный номер и автоматически вводит следующий по порядку. Если номер пропущен, то это означает, что вы, вероятно, ввели (или, по крайней мере, начали вводить) запись в поле счетчика, а потом удалили ее. 3. Поле того как вы закончите вводить запись, дело сделано! Поскольку Access автоматически сохраняет новую запись по мере ее ввода, вам больше не о чем беспокоиться! Если вы хотите добавить еще одну запись, нажмите клавишу <ТаЬ> и продолжайте. Если вы передумали и решили удалить только что добавленную запись, выберите из системного меню пункт ПравкаоОтменить ввод (Edit^Undo Saved Record) либо нажмите комбинацию клавиш <Ctrl+Z>. Когда Access попросит подтвердить удаление записи, щелкните на кнопке Да. Если данный элемент меню недоступен, щелкните на только что добавленной записи и выполните команду Правка1* Удалить запись (EditO Delete Record). Как и в предыдущем случае, для подтверждения удаления щелкните на кнопке Да.
90
Часть II. Поистине восхитительные таблицы
изменение именыцейся записи Несмотря на то что ваши данные могли спрятаться где-то в глубине таблицы, можно легко добраться до них и внести необходимые изменения. Фактически данные настолько легко изменить, что трудно сказать, является ли это положительным или отрицательным моментом.
®
Будьте внимательны при просмотре таблицы! Access без предупреждения сохраняет внесенные изменения, даже если они внесены случайно. (Если бы я был одним из тех авторов, которые любят поучать своих читателей, я бы, наверное, сделал здесь пространное отступление о пользе создания резервных копий важной информации.)
Для внесения изменений в какой-либо записи прокручивайте содержимое таблицы до тех пор, пока не найдете эту запись. Щелкните в поле, которое хотите изменить; при этом в нем появится мигающий курсор. Если вы работаете с мышью Microsoft IntelliMoiise, воспользуйтесь колесиком для быстрого перемещения по таблице. Это небольшое нововведение позволяет сэкономить массу времени! Более подробно об использовании IntelliMouse можно узнать в главе 8. t Последующие действия зависят от того, какие именно изменения вы хотите внести в данное поле. •/ Для замены всего содержимого поля нажмите клавишу <F2> (таким образом вы выделите все данные), а затем вводите новую информацию. На месте старых данных появятся новые. S Для частичной замены содержимого поля щелкните в поле, а затем используйте клавиши перемещения курсора, чтобы установить его в нужной позиции. Нажатие клавиши <Backspace> удалит символ, расположенный слева от курсора, а клавиши <Delete> — символ, расположенный справа от курсора. Затем вводите новые данные. ^ Если вы хотите ввести текущую дату в поле типа Дата/время, нажмите комбинацию клавиш <CtrI+;> (точка с запятой). Для ввода текущего времени нажмите комбинацию клавиш <CtrI+:> (двоеточие). После внесения всех изменений нажмите клавишу <Enter>, чтобы сохранить их. Если вы передумали и хотите восстановить первоначальные данные, то для отмены внесенных изменений нажмите <Esc> или <Ctrl+Z>. Не нажимайте клавишу <Enter>, пока окончательно не убедитесь в правильности введенных изменений. Сохранив изменения, вы навсегда потеряете старые данные.
Удаление ненужных записей Нет смысла хранить ненужные данные. Если пришло время сказать им "прощай", удалите их быстро и без сожаления. 1. В открытой таблице щелкните правой кнопкой мыши слева от записи, которую хотите удалить.
Глава 6. Новые, старые и нуждающиеся в восстановлении данные
91
Появится всплывающее меню. Прежде чем сделать следующий шаг, убедитесь, что вы хотите удалить именно эту запись! Сейчас исправить эту ошибку будет намного легче, чем впоследствии.
2. Из всплывающего меню выберите команду Удалить запись (Delete Record). Access выполнит эффектное действие, в результате которого выбранная запись исчезнет с экрана. Однако она еще не удалена окончательно! Появится диалоговое окно (рис. 6.6) с просьбой подтвердить удаление.
Уникальное число, автоматически присваиваемое новой компан/м по достаете.
Рис. 6.6. Вы уверены, что хотите удалить эту запись? 3. Если вы твердо уверены в том, что хотите отправить запись в небытие, щелкните на кнопке Да, а если передумали, щелкните на кнопке Нет. Если у вас возникают хотя бы малейшие сомнения, щелкните на кнопке Нет и еще немного подумайте, прежде чем применить команду удаления к какой-либо записи своей таблицы. Access может сообщить вам, что текущую запись удалить невозможно. Это может произойти в случае, если вы работаете с таблицей, которая связана с какой-либо другой таблицей, а записи, которую вы хотите удалить, соответствуют дочерние записи другой таблицы. Если вы все же хотите удалить такую запись, то сначала необходимо удалить дочерние записи или отредактировать их так, чтобы они больше не были связаны с родительской записью, подлежащей удалению. Если все сказанное вам непонятно, вернитесь к главе 5 и прочитайте о том, как создаются связи между таблицами.
92
Часть II. Поистине восхитительные таблицы
восстановление записи после неудачного Могу посоветовать вам только три варианта поведения при обнаружении результата неудачного редактирования. К сожалению, пока еще не придумали волшебного средства для оживления потерянных данных, как бы ни хотелось закончить главу на оптимистической ноте! •/ Вы можете отменить последнее действие или правку с помощью команды Отменить (Undo). К сожалению, эта команда не работает в случае удаления данных. Дважды проверяйте все внесенные изменения, прежде чем их сохранить. Если изменения важны, то проверьте их трижды. Если у вас нет сомнений в правильности своих действий, нажмите клавишу <Enter> и внесите изменения в таблицу. Если есть хоть доля сомнения, не сохраняйте изменения. Сначала решите все возникшие вопросы, а уж потом редактируйте записи. Всегда создавайте резервную копию базы данных, чтобы по необходимости пропавшие данные можно было восстановить. Резервные копии — незаменимая вещь. Если у вас хорошие резервные копии, то вероятность потерять данные будет ничтожно мала, начальник будет продвигать вас по службе, ваша вторая половина целиком посвятит вам свою жизнь и, возможно, вы даже выиграете в лотерею. •
•
, •
Глава 6. Новые, старые ч нуждающиеся в восстановлении данные
93
Глава 7
Форматирование, создание масок и проверка значений В э&ой гиаве... >
Где живут настройки
>
Форматирование как возможность улучшения представления данных
>
Маскированные данные
> Условие проверки значения
•у ченые предлагают очень детальное и весьма замысловатое толкование термина мыш\S пение, мое же определение значительно проще. Если вы видите драконов в облаках, восхищаетесь детскими шалостями или удивляетесь тому, как растут цветы, — значит, вы мыслите. Неважно, каким определением этого термина вы будете пользоваться (ученых мужей или моим), ясно одно — таблицы Access думать не могут. В этой главе поясняется, как предотвратить попадание в таблицу некорректных данных, и рассматриваются три различных подхода— форматы, маски и правила проверки значений. Эти термины могут показаться вам слишком специализированными, но, поверьте, вы сможете воспользоваться этими средствами. Каждый метод описан в отдельном разделе, поэтому, если вы ищете определенную информацию, можете сразу перейти к нужному разделу.
Jlouctc меана внесения, изменений Для начала хорошо бы знать, куда именно необходимо вносить изменения. К счастью, все эти три опции содержатся в одном месте — во вкладке Общие (General) окна конструктора таблицы. Для перевода вашей таблицы в режим конструктора выполните описанные ниже действия, а затем перейдите к соответствующему разделу главы, где описаны подробности применения форматирования, маски ввода или проверки значений полей таблицы. 1. Откройте файл базы данных и щелкните на имени таблицы, с которой хотите работать. 2. Щелкните на кнопке Конструктор (Design) или щелкните правой кнопкой мыши на имени таблицы и из появившегося меню выберите пункт Конструктор (рис. 7.1). Таблица отроется в режиме конструктора и предстанет во всей своей красе.
4» Борей : база данных (формат Access 2000)
f. !{D|fX)
ЦЙОцфыть &^Конструктор '(ЗСоздать. •! X j *t й-ЦдЯ i
Объекты
1 Ji Таблицы Г 3? Запросы :
21
i а
ФОрМЫ
отчеты
i ^ Страницы I . & . Макросы ' | & модули Группы j Си Избранное
i 1У Создание таблицы в режиме конструктора \ *Ш Создание таблицы с помощью мастера |Э Создание таблицы путем ввода данных | 3 Доставка i 3 Заказано j 3 Заказы 1в 1ЛИШ"1 ! 3 Пост» Щ Открыть i Э Сотруд! |2 Конструктор к \ 3 Список ! 3 Титы . j' Печать i О Товары Уж Предварительный просмотр
Г
Й| Вырезать Я Копировать •:'Ш Сохранить как... Экспорт... >У Отправить Добавить в группу
> ^
; Создать ярлык... X
Удалить Переименовать
3 Свсйлеа Зависимости объектов... .''"•
•
Д^К'П'.-ТЧл.Т! С:;..'.^^-'Нл Г :.-5A;.iU
Рис, 7.1. Структуру таблицы можно просмотреть и отредактировать в режиме конструктора Если данная таблица уже открыта в режиме просмотра таблицы, то, чтобы перейти в режим конструктора, щелкните на кнопке Конструктор панели инструментов. 3. Щелкните на имени поля, с которым хотите поработать. Вкладка Общие, которая находится в нижней части окна конструктора, в подразделе Свойства поля (Field Properties), содержит подробную информацию о текущем поле (рис. 7.2). Можете смело приступать к работе? 4. Щелкните на соответствующем поле в области Свойства поля, расположенном в нижней части окна, и введите необходимые изменения. Каждому элементу— Формат поля (Format), Маска ввода (Input Mask) и Условие на значение (Validation Rule)— соответствует определенное поле. (Есть еще и такое поле, как Сообщение об ошибке (Validation Text), но его мы подробнее рассмотрим позже, пусть пока это будет тайной.) 5. Если вы хотите поработать с другими полями, вернитесь к п. 2 и повторите все описанные действия. 6. Когда Access подскажет вам, что пора сохранить внесенные изменения, щелкните на кнопке Да, после чего можете закрыть таблицу. Конечно, использование форматов, масок и условий — не такая простая операция, она требует намного больше усилий, но начинается она всегда одинаково, независимо от того, к какому элементу вы ее применяете. В следующих разделах мы подробно рассмотрим применение каждого из этих инструментов.
Глава 7, Форматирование, создание масок и проверка значений
95
КодКлиента Название Jk_ Обращат
Город Область Индекс Страна Телефон Факс
Тип данных . | Уникальный пятисимеольньм код, образуемый из названия организации. Текстовый Текстовый Текстовьм •Текстовый Улица или п/я. . Текстовый Текстовый Текстовый Область или республика. Текстовый : Тестовый Телефон с кодом страны или региона. Текстовьм Текстовый Телефон с кодом страны или региона.
Свойства поля j Общие • Подстано ' Размер поля ; Формат поля Маска ввода \ Подпись • Значение по умолчанию - Условие на значение Сообщение об ошибке , Обязательное поле Пустые строки Индексированное поле , Сжатие Юн«од ' Режим IME Режим предложении IME Снарт-теги
Обращаться к | Имя поля мож^т. состоять из 64 знаков с учетом пробелов, Для справки по именам полей нажмите клавииу F1.
:Да :Нет контроля Мет '
Рис. 7.2. Работаем с выбранным полем таблицы
ксис Инструмент форматирования изменяет только способ отображения данных на экране. Они меняют форму представления, а не способ хранения данных в таблице. Хотя форматирование не позволяет напрямую обнаружить ошибки ввода информации, оно позволяет представить ваши данные в лучшем виде. Каждый тип поля имеет определенный набор форматов. Обратите особое внимание на тип поля, с которым работаете, поскольку применение неправильного формата поля может вылиться в напрасную трату времени и сил. (В этом случае ваши данные не будут выглядеть надлежащим образом, как бы вы ни старались.) Для того чтобы помочь вам избежать этой ошибки, рассматриваемая далее информация, касающаяся форматов, организована по типам полей. Выясните тип поля, с которым вы работаете, а затем обратитесь к соответствующему разделу. О»ЕГ Ь
Ь
ЕСЛИ примененная команда форматирования не будет работать, еще раз проверьте тип поля, а затем еще раз просмотрите команды форматирования. Такой подход позволит очень быстро устранить возникшую проблему.
Текстовые и мемо-поля Существуют четыре способа форматирования текстовых и мемо-полей. По какой-то причине для поля Формат поля в Access нет готовых примеров, но этот небольшой недостаток не означает, что вы не сможете его использовать. Вот, что вам необходимо знать.
96
Часть //. Поистине восхитительные таблицы
•S Символ > (больше чем) позволяет выводить всю текстовую информацию поля прописными буквами, независимо от того, в каком виде она была введена. Чтобы использовать эту возможность, введите в текстовое поле Формат ПОЛЯ символ >. Хотя Access хранит данные в том виде, в котором они были введены, на экран они будут выводиться только прописными буквами. •S Символ < (меньше чем) по производимому действию прямо противоположен символу > и выводит содержимое поля в режиме строчных букв. Для применения этого инструмента форматирования в текстовое поле Формат поля введите символ <. Даже если данные введены в смешанном виде, на экране они примут вид строчных символов. Как и в случае использования символа больше чем, содержимое поля меняет свой вид только при выводе на экран. •S
Символ @ указывает Access, что в это поле нужно обязательно ввести символ или пробел. Если количество вводимых символов меньше, чем указано в формате, Access добавляет дополнительные пробелы, пока их количество не будет соответствовать формату. Например, если в качестве формата поля используется строка символов @ @ @ @ @ @ , а данные поля содержат только три символа (например, имя Аня или слово шар), то Access сначала выведет в поле три пробела, а уже затем данные. Если слово состоит из четырех символов, то в начале поля будут находиться два пробела.
•S Специальный символ & (амперсанд) является форматом по умолчанию. Это означает, что нужно вывести символ, если он существует, а если его нет, то ничего делать не надо. Это свойство используется для создания специальных масок. Например, маску & & & - & & & - & & & можно использовать для поля Идентификационный код. Если в это поле пользователь введет цифры 123456789, то на экране они отобразятся в виде 123-456-789. Обратите внимание, что каждый символ @ или & соответствует каждому символу поля, а один символ > или < соответствует всему полю.
Числовые и денежные поля Хорошие ребята из Microsoft выполнили за вас всю основную черновую работу, необходимую для форматирования полей числового и денежного типов. В раскрывающееся меню Формат поля они встроили шесть наиболее распространенных форматов для числового и денежного типов полей. Чтобы установить формат поля в числовой или денежный, щелкните в текстовом поле Формат поля, а затем на кнопке раскрытия списка, которая появится справа от него. На рис. 7.3 показано уже заполненное поле. В левой части меню указано название формата, а в правой — его образец. Ниже приведено описание наиболее часто используемых опций. General Number (Основной). Этот формат используется по умолчанию. Access применяет этот формат для отображения на экране введенной информации безо всяких изменений. Currency (Денежный). Этот формат выводит стандартное числовое поле в денежном виде. Данные указываются в десятичном виде, при этом если десятичная дробная часть отсутствует, то после запятой выводятся два нуля. Кроме того, в это поле добавляется соответствующий валютный знак и пунктуация, согласно установкам в окне Язык и стандарты (Regional Settings), которое вызывается в панели управления Windows.
Глава 7. Форматирование, создание масок и проверка значений
Ш Тооары ; таблица ""Имя попя ; ?» КодТовара ____: .Марка КодПостэвщика __ КодТипа ЕдиницаИзмерения Цена НаСкладе Ожидается Минииал^ыйЗапас ПоставкиГ^>е1<ращены
ч
1
1 Тип данных ;Счетчик Декстрвыи Числовой ^числовой текстовым .Денежный I Числовой 1 Числовой ;Чиспрвой Логический
\
• ' Описание1'1 '_ • Уникальное число, автоматически присваиваемое новой записи.
•
;
•••
=
ГШ
Совпадает со значением попя "КодПоставщикз" в таблице "Поставщики*, Совпадает со значением поля "КодТипа" в таблице "Титы". (например, в ящиках по 24 бутылки, 1-литровая бутылка и т.п.).
Минимально допустимый складской запас. '"Да" означает, что товар больше не поставляется.
-
Общие j^ Подстановка Размер поля Длинное целое l Новые значения Последовательные Формат поля Подпись Основной индексированное тле Денежный Фиксированный С разделителями разрядов Процентный Экспоненциальный
'--".. : - : '-""- : "
Свойства поля
'•«г-,
\. .j
;345б,789 '345б,79грн.
;Э45б,79 ! 123.00% ! 3,46Е+03
'
'. • ' :
'• ,
'
;.:::::::...- • -.
• .
. . . : . ' . ' : • " ' ' . ' .• •••:' '
.
. ' ....
формат или создайте новый, Для справки по форматам •'••••' ' нажмите клавишу F1, * . • '.
!
Рис. 7.3. Выберите числовой формат из списка Euro (Евро). Подобен денежному формату, но при этом в поле сразу указывается символ евро. Fixed (Фиксированный). Этот формат выводит данные с определенным числом знаков после десятичной запятой. По умолчанию числа округляются до двух десятичных знаков. Для установки конкретного значения количества десятичных знаков (отличного от принимаемого по умолчанию) задайте это число в поле С разделителями разрядов (Decimal Places), выбрав его непосредственно под текстовым полем Формат поля. Standard (Стандартный). Этот формат аналогичен формату Фиксированный, но добавляет еще разделители групп разрядов. Количество знаков после десятичной точки можно задать с помощью установки С разделителями разрядов. Percent (Процентный). Этот формат служит для выражения значений в процентах. Он выводит десятичную дробь (например, 0, 97) в виде, который используется значительно чаще,— (97%). Не забывайте вводить данные в виде 0, 97, а не 97, иначе Access выведет на экран цифру, внушающую благоговейный трепет! Если ваши данные выводятся в виде 0 , 0 0 % или 1,00%, прочтите следующий абзац, чтобы разобраться в этой ситуации. Scientific (Технический). Если ваша таблица живет в мире таких огромных чисел, что хранить их можно только в экспоненциальном представлении, используйте данный формат. В этом случае такие числа, как 38 000, отображаются в виде 3, 8Е+04 (для некоторых довольно прозрачное отображение числа). Если вводимые вами числа автоматически округляются до ближайшего целого числа и при этом на месте десятичных знаков выводятся нули, измените установку Размер поля (Field Size) (расположенную непосредственно над полем Формат поля) с Длинное целое (Long Integer) на Одинарное с плавающей точкой (Single). Это не позволит Access пренебрегать десятичной частью числа. По умолчанию во время ввода числа Access автоматически округляет число до целого.
Часть II. Поистине восхитительные таблицы
Поля Дата/время Подобно числовым и денежным форматам, поля Дата/время (date/time) имеют встроенные, готовые к использованию форматы, содержащиеся в раскрывающемся списке. Щелкните в текстовом поле Формат поля, а затем на кнопке раскрывающегося списка, после чего ознакомьтесь с элементами меню (рис. 7.4). Ш Товары : таблица ' • Имя поля
V. Код Товара
Чарка <одПоставщика КодТипа ЕдиницаИэмерения Цена НаСкладе Ожидается МинимальныйЗапас ПостаекиПреиращены
ОЭШ Тип данных ] Описание - " " • . Т Счетчик Уник элытое число, автоматически присваиваемое новей записи. Текстовый .Числовой Совпадает со значением поля "КодПоставщика" в таблице "Поставщики*, !Числовой ..jCpenадает со знамением поля "ХодТипа* в таблице Типы*, : Текстовый . <нап(зимер, в ящиках по 24 бутылки, 1-литровая бутылка и т.п.). Денежный Числовой • Чисповой • Числовой ;Mmi< мально допустимый складской запас. *Да" означает, что товар больше не поставляется. 4Лсгический
'
'
~\ ^
I А
Свойства поля Общие [ Прдаановка ! ; >ормат поля ; | Полный формат даты •N аска ввода |г Одпись Средний формат даты :э начение по умолчанию •у сповие на значение Краткий формат даты с ообщение об ошибке Длинньм формат времени сОбязательное поле Средний формат времени ;t Ыдексироеанное поле Краткий формат времени •F ежим 1МЕ Нет контроля F ежим предложений IME нет Сяарт-твги ;4
:
•ВШВВВшИм! ' • -•• ' "'• 19^^1994 : 19.06. 1994 :17:Э4:23 5:34 ! 17:34
К
:
'!' "-
[
!..
" i:""''V
'
• " - . ' ' •'••'•• -
, '• '• '/ ••"'-
1 Формат вывода значений данного полч.' Выберите стандартный '. формат или создайте новый, для справки по форматам ' .''''... нажмите клавишу F1,
•
.
•
.
Рис. 7.4. Формат, подходящий для любой даты, адата -для любого формата
Эй, Access, забронируй мне место! Метод, о котором вы сейчас узнаете, является довольно специфическим, но он так полезен, что я беру на себя смелость рассказать о нем, При вводе данных иногда необходимо пропустить текстовое поле, поскольку в данный момент информация для него отсутствует. В этой ситуации было бы очень здорово, если бы Access могла автоматически j пометить такое поле как незаполненное. Это напомнило бы вам о том, что позже необходимо вернуться к этому полю и заполнить его. Access позволяет создать такой пользовательский формат, и вам даже не нужно учиться на волшебника. Для этого в текстовое поле Формат поля введите следующее: @;"Не Л заполнено":[Красный] (@; "Unknown" ;[Red]). Это своеобразное примечание, если в поле не будет содержаться никакой информации, выведет красным цветом текст Не заполнено. Вы должны ввести команду именно так, 5| как показано в примере (кавычки, квадратные скобки и все остальное), иначе она не будет ,\ работать. Только вместо слова Не заполнено можете ввести что-нибудь другое по j вашему усмотрению. Для успешного выполнения команды информация, содержащаяся в j кавычках, не имеет значения. Названия форматов говорят сами за себя, но все же дадим несколько советов.
I
S При использовании одного из наиболее длинных форматов Полный формат даты (General Date) или Длинный формат даты (Long Date) убедитесь, что ширина столбца таблицы позволяет вывести дату целиком. В противном слу-
Глава 7. Форматирование, создание масок и проверка значений
чае вывод даты в этом формате будет бессмысленным, так как большая ее часть отображаться не будет. •/ Если база данных используется несколькими пользователями, то лучше выбрать такой формат, который обеспечит вывод большего количества информации. Мне, например, больше нравится Средний формат даты (Medium Date), потому что он показывает название месяца и день. С другой стороны, формат даты в виде 3 / 7 / 9 9 может ввести в заблуждение, потому что в различных странах он понимается по-разному.
Поля логического типа О поле с тремя опциями формата много не расскажешь. Как видно на рис. 7.5, .предварительные установки форматирования несколько ограничены. По умолчанию поля логического типа устанавливаются в формате Да/Нет (Yes/No). Можете поэкспериментировать и с другими вариантами, особенно если они в вашей таблице будут более уместными.
ШИ»
te Тооары : таблица Имя пиля КрдТсеара Марка _ КодПостаещика КодТипа ЕдиницаИэмерения Цена НэСкладе Ожидается Минимальныйзапас ПоставимПрефащены
Типданных ; Счет чис ^Текстовый : Числовой Числовой i Тестовый Денежный 'Числовой Числовой Числовой Логический Логический
Уникальное число, автоматичеом присваиваемое новой .записи. Совпадает со значением поля "КодПоставщмка" в таблице "Поставщики". Совпадает со значением поля "КодТила" в таблице "Типы", (например, в ящиках по 24 бутылки, 1-питроеая бутылка и т.п.).
Минимально допустимый складской запас. "Да" означает, что товар больше не поставляется.
Свойства поля '-. Общие ; Подстановка . Формат поля Подпись Значение по умолчанию I Условие на значение Сообщение об ошибке • Обязательное поле Нет ; Индексированное поле Нет
; Формат вывода значений данного поля. Выберите стандартный формат или создайте новый. Для справки по форматам нажмите клавищу F1.
Рис. 7.5. Выбор элементов меню довольно скуден Для того чтобы обогатить выбор, вместо банальных Да и Нет вы можете создать пользовательский формат. Эта процедура во многом аналогична настройке текстового формата, описанной выше в этой главе. Вот один из удачных примеров формата: "Принято"[Зеленый]; "ОТКАЗАНО"[Красный]. Если элемент есть в наличии, то будет выведен зеленым цветом текст Принято, в противном случае появится ярко-красное предупреждение ОТКАЗАНО. Можете подставить свои заготовленные фразы, и Access без всяких редакторских правок выведет текст, который содержится в кавычках. Убедитесь, что в поле Тип элемента управления (Display Control) на вкладке Подстановка (Lookup), расположенной рядом с вкладкой Общие, установлено значение Поле со списком (Text Box). В противном случае в вашем поле, скорее всего, появятся флажки.
100
Часть II. Поистине восхитительные таблицы
Мааси/говсшнме данные Маски ввода, хоть и имеют забавное название, на самом деле представляют собой фильтры, позволяющие вводить в поле только определенные данные. Когда они применяются совместно с условиями проверки значений (речь о них пойдет ниже), поля вашей таблицы будут надежно защищены от некорректной информации. Маска ввода— это наборы символов, которые указывают Access, какого вида данные должны быть введены в этом поле. Если вы хотите, чтобы в поле содержались только числа, а не буквы, можете поручить это дело маске ввода. Можно изменить условие ввода на противоположное (например, вводить только буквы, но не числа) или осуществлять ввод по комбинации этих условий. Маски ввода хранятся в одноименном поле вкладки Общие наряду с другими установками, описанными в этой главе. Больше половины типов полей в Access могут иметь свою собственную маску ввода. Перед созданием маски вы должны точно знать, данные какого типа должны храниться в поле. Если для поля, предназначенного для хранения адреса клиента, вы создадите маску, которая позволит вводить в него только буквы, это будет примером неудачного применения маски. Проанализируйте свои данные, прежде чем устанавливать для них маски ввода. Маски ввода эффективно работают в случае, когда нужно вводить данные небольшой длины и достаточно информативные. Хорошим примером таких данных могут послужить числа или комбинации цифр и букв. Использование маски ввода для почтовых индексов и номеров телефонов обеспечит корректность данных указанных полей. Существуют два способа создания маски ввода.
I
S Введите ее с клавиатуры вручную. •S
Создайте ее с помощью мастера масок.
К сожалению, этот мастер знает не так много, он разбирается только в текстовых полях и полях Дата/время. Но, несмотря на это, он может предложить несколько вариантов, которые облегчат вашу жизнь. Для того чтобы сделать что-то более значительное, засучите рукава и беритесь за дело сами.
Использование мастера маски ввода Мастер маски ввода с удовольствием поможет вам создать маску для ввода телефонных номеров, почтовых индексов или данных типа Дата/время. В других случаях он бессилен. Чтобы вызвать на помощь мастера масок ввода, выполните следующие действия. 1. Откройте файл базы данных и щелкните на имени таблицы, с которой хотите работать, а потом на кнопке Контруктор. Таблица отобразится в режиме конструктора. 2. Щелкните на имени поля, которое вы бы хотели настроить. Вкладка Общие в области Свойства поля, расположенная в нижней части окна конструктора, содержит подробную информацию о текущем поле.
3. Щелкните в текстовом поле Маска ввода (Input Mask). Курсор переместится в это поле, и справа от него появится кнопка с тремя точками. Она называется Построить (Build).
Глава 7. Форматирование, создание масок и проверка значений
101
4. Щелкните на кнопке Построить, расположенной в правой части текстового поля Маска ввода. Появится диалоговое окно Создание масок ввода (Input Mask Wizard) (рис. 7.6).
^к5«гКлиента Название ОбращатьсяК Должность
Адрес". Город
;
Область
nyiaEZZIl
Страна Телефон Факс
Общие
: Текст Текстовые Текстовый ; ТемстовыС ! Текстсеь*
; Текст)
Проверить работу выбранной маски можно в поле "Проба".
^ Темстовь* 1 Те^стовь*
Для изменения списка масок ввода нажмите кнопку "Список".
Длинный формат времени ] Краткий формат даты Краткий формат времени Средний формат времени ^Средний формат даты
| Подстано
| Размер поля ; Формат поля ^ Маска ввода Подпись Значение по умолчанию Условие на значение Сообщение об ошибке Обязательное попе Пустые строки "' ОДексированное поле Сжатие Юникод Режим IME | Режим предложений !МЕ [смарт-теги
Которая из масок ввода обеспечивает нужный вид данных?
>ULJLL_ _____ Код клиенте
0:00:00 ^27 .09. 1969 00:00
; 12:00 ^27-сен-1%9
' Проба: !
кзбых данных в попе Нет Нет ^{!Срвпалв>м_нвдап]оаотся} _
Рис. 7.6. Мастер маски ввода Мастер маски ввода можно использовать только для полей текстового типа и полей Дата/время. '. Прокрутите список доступных масок ввода и найдите ту, которая вам больше всего подходит. Щелкните на ее имени, а затем на кнопке Готово (Finish). Если вы хотите проверить, будет ли маска работать так, как вы рассчитываете, щелкните в поле Проба (Try It), расположенном в нижней части диалогового окна. Если результат вас устроит, щелкните на кнопке Готово, чтобы применить маску к вашему полю. Выбранный вариант маски появится на экране окна конструктора (рис. 7.7). Если вместо того, чтобы щелкнуть на кнопке Готово, вы щелкнете на кнопке Далее, мастер предложит вам некоторые дополнительные возможности. Он поинтересуется, понадобится ли сохранить в таблице вместе с введенными данными дефисы, скобки и другие знаки пунктуации, использующиеся в маске ввода. По умолчанию принимается ответ Нет, которым я и рекомендую вам воспользоваться. В завершение процесса щелкните на кнопке Готово.
102
Часть II. Поистине восхитительные таблицы
* Клиенты : таблица имя поля
V* КодКлиеита
Название ОбращатьсЖ Должность Адрес Город Область Индекс Страна Телефон Факс
-
| Тип данных Текстовый Текстовый .Текстовый Текстовый [Текстовый Текстовый [Текстовый . Текстовый Текстовый Текстовый [Текстовый
j • ' Описание -- ' ' . Уникальный пятисимвальньй код, образуемый из названия организации,
]'А.
• _
Улица или п/я, Область или республика.
Телефон с кодом страны или региона Телефон с кодом страны илирегиона
• г
1
Свойства поля Общие
| подстановка •
' Размер поля - Формат поля ' Маска ввода 1 Подпись | Значение по умолчанию | Условие на значение | Сообщение об ошибке | Обязательное поле : Пустые строки 1 Индексированное поле • Сжатие Юникод \ Режим IME i Режим предложений IM6 1 Смарт-теги
5 ОДООД)000;0; код клиента
^L-j|
;• Ь ™
Нет Нет ;Да (Совпадения не допускаются) 'Да Нет контроля Нет
.1 . - '1
' '•
Маска для ввода любых данньпг в поле
..; •-
•'•;;•. ' '
•• :;
'л,;,;..';;" .. -..;.- - .
.. - -
' ''.•
'"• ••.-
.-•.-";, :',.. . . " .
.
Рис. 7.7. Мастер маски ввода выполняет за вас всю работу
Создание маски вручную Самостоятельно сделанные вещи приносят чувство удовлетворения. Попробуйте сделать что-либо собственноручно, и вы почувствуете то же самое. Процесс создания маски не очень труден, хотя готовая маска всегда выглядит сложной. Приобретя некоторый опыт, вы будете создавать маски вообще без всяких усилий. Следующие инструкции и табл. 7.1 помогут вам разобраться в этом.
Таблица 7.1. Коды для маски ввода Вид символов
Обязательный код
Только цифры (от 0 до 9)
0 (нуль)
Цифры и знаки + и -
Отсутствует
Опциональный код 9 *
Только буквы
L
? (вопросительный знак)
Только буквы или цифры
А
а (строчная)
Любой, символ или знак пробела
& (амперсанд)
С
Для создания и использования маски ввода выполните следующие действия. 1. На листе бумаги изобразите примерный вид данных, которые вы хотите ввести в таблицу с использованием маски. Если ваши данные имеют небольшой разброс в значениях (например, номер партии товара, который может включать сочетание буква/число либо буква/буква), подберите варианты таким образом, чтобы в созданной маске учитывались эти различия. Если вы не знаете своих данных, вы не сможете создать маску. 2. Составьте доходчивое описание данных; укажите, какие элементы должны присутствовать обязательно, а какие являются опциональными.
Глава 7. Форматирование, создание масок и проверка значений
103
Возьмем в качестве примера номер партии или код товара 728816АВС7. Запишем: шесть цифр, три буквы, одна цифра, все элементы обязательны. Не забудьте отметить возможные варианты. Разница между одной цифрой и одной буквой или цифрой может оказаться принципиальной. Access использует разные коды для обязательных и опциональных данных. В связи с этим необходимо знать разницу между ними. • Обязательная информация (например, телефонный номер) должна быть обязательно введена в поле. • Опциональные элементы являются необязательными (например, междугородный код в номере телефона). 3. Используя коды, приведенные в табл. 7.1, создайте маску ввода для своих данных. Поскольку вы знаете, данные какого вида храните (числа, буквы или и то и другое), их количество, а также какие из них являются обязательными, а какие нет, работа с таблицей и создание маски не составят для вас особого труда. • Для включения в маску символов тире, косой черты или круглых скобок поставьте перед ними символ обратной косой черты (\). • Чтобы включить в маску больше одного символа, заключите их в кавычки. Например, маска для номера телефона с междугородным кодом может быть такой: ! \ ( 9 9 9 " ) "000\-0000. • В маске для номера телефона используются и символ обратной косой черты и кавычки, чтобы вставить код области в круглые скобки и пробел между кодом и самим номером. Ниже, во врезке "Восклицательный знак: просим любить и жаловать!", объясняется, почему в номерах телефонов используется восклицательный знак. (Этому действительно есть причина.) 4. Если поле содержит буквы и вы хотите, чтобы они всегда были прописными, добавьте в начале маски символ >. Чтобы все буквы были строчными, введите символ <.
Вы уже готовы создать в Access маску ввода. 5. Щелкните в текстовом поле Маска ввода. В поле появится готовый к дальнейшим действиям мигающий курсор. 6. Тщательно (без ошибок) введите окончательный вариант маски в строке Маска ввода (рис. 7.8). Не волнуйтесь, если ваша маска выглядит как текстовое чудовище. В мире технологий красота совсем не обязательна. 7. В конце маски поставьте ;;_ (два символа точки с запятой и один символ подчеркивания). Эти символы означают, что в поле, где должны появиться буквы, Access выведет символы подчеркивания. Этот шаг необязателен, но, думаю, маска будет более наглядной. Хотя ваше мнение может быть и другим. 8. Щелкните на кнопке Режим таблицы (Datasheet View) панели инструментов, чтобы увидеть результаты своей работы.
704
Часть //. Поистине восхитительные таблицы
ЕЛВК!
le Клиенты ; таблица 1 TVrf^aHHbK | • ; "Описание :, • . екгтовый Уникальный пятисимеопьиый код, образуемый из названия организации. • екстовый екстовый '• екстовый екстовый Улица или п/я. ; Текстовый Текстовьм Область или республика. Текстовый Текстовый 'Текстовый Телефон с кодом страны или региона. .Текстовый Телефон с кодом страны или региона.
ИМЯ ПОЛЯ
2t КодКлиента __ Название ббращатьсяК Должность _ Адрес _ Город __ Область Индекс Страна
__ Факс TwieteLLZl _
Свойства поля
I Общи© | лодстанов<а , ' Размер попя ? 1 Формат поля .' \ Маска ввода |00-Н.<и-0000;0;_
•
7
f
л
1
:
; 1
1
''••''•
Н - '•
["•-> .; V
• '
.-•
;
.
:
" '
......
••-.-".•
..
•" '-
: '•'•'•'
•
•-
'-
-'
Код клиента
; ПОДПИСЬ
i Значение по умолчанию \ Условие на знамение : Сообщение об ошибке ; Обязательное поле j Пустые строки 1 Индексированное поле -. Сжатие Юникод ! Режим IME ' Режим предложений IME Смарт-теги
1
!
И
: ..
" ' ' • ' " •'••. Маска для ввода любых данных в попе ;? ; ; /
Нет Нет Да (Совпадения не допускаются) |Да '."... ;нет контроля 'Н5г__'_ _Ц
_ ~ „_1Г1 I I I "III.- J
Рис. 7.8. Введение маски для поля Код
Восклицательный знак: просим любить и жаловать! Найти информацию о назначении восклицательного знака в маске ввода оказалось непросто/Кроме того, маска замечательно выглядит и без него. Даже объяснение справочной системы в интерактивном режиме не убедило меня. Однако на примере с использованием номера телефона я, в конце концов, понял, каково же истинное назначение восклицательного знака и в каких ситуациях он может быть полезен. Он указывает Access, что при заполнении поля нужно вводить данные справа налево, а не наоборот. Хотя это может показаться непонятным и довольно специфическим примером, но это действительно важно. Позвольте мне объяснить почему. В примере с телефонным номером междугородный код, в отличие от самого номера телефона, является опциональным элементом. Если не вводить в маску восклицательный знак, Access позволит опустить при вводе междугородный код и ввести только номер телефона. Все выглядит замечательно до тех пор, пока вы не нажмете клавишу <Enter>. После этого мой семизначный телефонный'номер примет вид (555) 121-2. А это совсем не то, что я подразумевал при вводе. А произошло это потому, что Access заполняла маску с левого края, а не с правого, начиная с необязательных элементов телефонного кода (которые как раз и были пропущены). Добавив восклицательный знак в маску ввода, я указываю Access, что заполнение поля должно происходить с правого края. В этом случае на экране мы увидим ( ) 555-1212, т.е. именно то, что и было нужно. Восклицательный знак может присутствовать в любом месте маски ввода, но вам следует выработать привычку вводить его либо в начале, либо в конце маски. Предлагаю ставить его на первое место, хотя бы потому, что тогда вы не забудете о необходимости его использования. Теперь попытайтесь что-нибудь ввести в маскированное поле. Маска ввода не позволит вам ввести некорректные данные. Если она будет работать неправильно, снова вернитесь в режим конструктора (щелкните на кнопке Конструктор панели инструментов) и внесите необходимые исправления.
Глава 7. Форматирование, создание масок и проверка значений
105
Если вы добавляете маску в уже существующую таблицу, она не обнаружит автоматически некорректные данные, уже имеющиеся в таблице. Для выполнения проверки на соответствие маске вы должны щелкнуть на содержимом поля каждой записи таблицы. Только после этого Access сообщит вам о том, что какие-то данные не соответствуют маске.
Условие nfio6eftfcu значения, Третий (и самый мощный) способ борьбы с некорректными данными — это условие проверки значения. С его помощью Access тщательно проверяет вводимые данные, чтобы убедиться, соответствуют ли они определенным требованиям. В противном случае на экране появится сообщение об ошибке (вы сами можете определить его содержание!), после чего вы сможете повторить ввод информации. Подобно другим инструментам, описанным в этой главе, условие проверки значения находится во вкладке Общие, расположенной в нижней части окна, в области Свойства поля. К нему относятся две опции. Условие на значение (Validation rule). Это собственно проверка. Сообщение об ошибке (Validation text). Это текст сообщения, которое появится на экране при вводе некорректных данных. Условие проверки значения наиболее эффективно работает при вводе числовых, денежных данных и данных типа Дата/время. Можно создать условие проверки значения для текстового поля, но по мере усложнения эти условия становятся очень сложными. В табл. 7.2 приведены некоторые наиболее общие и готовые к использованию условия проверки значений. Они упорядочены по типам полей, поэтому вам будет легко ориентироваться при выборе соответствующего условия.
Таблица 7.2. Условия проверки на все случаи жизни Тип поля
Условие проверки значения
Описание
Числовой Числовой
>0
Должно быть больше нуля Не равно нулю
Числовой Числовой
>0 И <100
Больше 0 и меньше 100 Больше или равно 0 и меньше или равно 100 (включительно) Меньше или равно 0 или больше или равно 100 (включительно) Не ранее сегодняшней даты
Числовой (в том числе)
>=0 И <=100
<=о или >=ЮО
Дата Дата
>=Дата( }
>=Дата ( ) ИЛИ ноль
Не ранее сегодняшней даты или дата не определена
Дата
<Дата( )
Ранее сегодняшней даты
Дата
>=*01.01.90# И <=Дата( )
Между 1 января 1990 года и сегодняшней датой (включительно)
106
Часть II. Поистине восхитительные таблицы
Чтобы показать всю мощь логических операторов, используемых при создании условий на значение, в таблицу включено несколько соответствующих примеров. Можете свободно пользоваться комбинацией этих операторов при создании своих условий. Поработайте с ними, и вы удивитесь их возможностям! При использовании оператора AND (И) условие будет истинным, если выполняются обе части условия проверки значения. При использовании оператора OR (ИЛИ) условие будет истинным, если выполняется хотя бы одна часть выражения. Будьте внимательны при комбинировании условий >= и <=. Здесь можно легко ошибиться и написать такое выражение, которое никогда не будет выполняться (как, например, <=0 AND >=100).
Глава 7. Форматирование, создание масок и проверка значений
107
Глава 8
Заставьте таблицы плясать под свою дудку В эШой 1лаве... >
Просмотрим таблицу
> Изменение ширины столбца, высоты строки и многое другое > Изменение шрифтов таблицы > Изменение фона
И кучно, когда новая таблица похожа на любую другую. Где же индивидуальность, V** творчество? Где живость, раскованность, где, наконец, элементарный вкус? Access — это программа управления базами данных, а базы данных в целом не склонны к светской жизни. Но это вовсе не означает, что вам никуда не деться от однообразных, бесцветных таблиц. В этой главе описаны средства, с помощью которых вы сможете превратить даже самую невыразительную таблицу в красочную витрину, на которой ваши данные будут представлены в самом выгодном свете. Эта глава целиком посвящена описанию приемов работы с таблицами, т.е. действий, которые вы выполняете при манипулировании информацией, содержащейся в таблицах. Эти приемы работают как с таблицами, так и с динамическим набором данных, поэтому использовать их можно в обоих случаях.
Табличные данные в Access выводятся на экран в окне определенного размера, поэтому все строки и столбцы могут не поместиться в нем (если только вы не имеете дело с микроскопической таблицей). Для того чтобы увидеть остальные данные, приходится перемещаться по таблице, т.е. прокручивать в окне тот участок таблицы, который необходимо просмотреть. Access предлагает несколько способов перемещения по таблице. Все зависит от того, как далеко вы намерены зайти. Перемещение от поля к полю. Воспользуйтесь клавишам управления курсором <->> или <4->. Того же результата можно добиться, если щелкнуть мышью на кнопках со стрелками, расположенных по краям горизонтальной полосы прокрутки в нижней части окна. Перемещение от записи к записи. Воспользуйтесь клавишами <ф> или <Ф>. Если вы предпочитаете пользоваться мышью, щелкните на кнопках со стрелками, расположенных по краям вертикальной полосы прокрутки с правой стороны окна.
Отображение новой страницы данных. В этом случае вам пригодятся клавиши <PgUp> и <PgDn> (на некоторых клавиатурах они обозначены как <Page Up> и <Page Down>). • Клавиши <PgUp> и <PgDn> отвечают за вертикальную прокрутку таблицы. • Комбинации клавиш <Ctrl+PgUp> и <Ctrl+PgDn> служат для горизонтальной прокрутки таблицы. Щелчок на полосе прокрутки приведет к тому же результату. В табл. 8.1 представлены комбинации клавиш для перемещения по таблице. Благодаря приведенным рекомендациям и этой информации вам будут известны практически все возможные способы перемещения по таблице Access.
Таблица 8.1. Перемещение по таблице Комбинация клавиш или управляющий элемент
Действие
Перемещение по полям
<Ноте> <End> Перемещение по записям
Перемещение на одно поле вправо в текущей записи Перемещение на одно поле влево в текущей записи Переход к первому полю текущей записи Переход к последнему полю текущей записи Перемещение вниз на одну запись Перемещение вверх на одну запись
»
Перемещение по экранам
<PgDn> <PgUp> <Ctrl+PgDn> <Ctrl+PgUp> Перемещение по таблице <Ctrl+End> <Ctrl+Home> Горизонтальная полоса прокрутки Вертикальная полоса прокрутки Колесико IntelliMouse Кнопка IntelliMouse
Прокрутка на один экран вниз Прокрутка на один экран вверх Прокрутка на один экран вправо Прокрутка на один экран влево Переход к последнему полю последней записи таблицы Переход к первому полю первой записи таблицы Прокрутка на одно окно вправо или влево Прокрутка на одно окно вверх или вниз При повороте колесика таблица прокручивается вверх или вниз на три записи (эта возможность доступна только при наличии мыши IntelliPoint и соответствующего драйвера) Нажмите кнопку, и она превратится в клавишу "суперстрелка", с помощью которой осуществляется прокрутка на строку или столбец за раз (эта возможность доступна только с мышью IntelHPoint и соответствующим драйвером)
Глава 8. Заставьте таблицы плясать под свою дудку
109
if£uqetHb Яольиье (или данных. Речь идет прежде всего о средствах, с помощью которых можно представить таблицу на экране. Здесь есть простор для творчества. На первый взгляд, ваша таблица выглядит так же, как и сотни других (рис. 8.1). Для того чтобы придать ей индивидуальность, можно изменить ширину столбцов, высоту строк и порядок следования столбцов, наконец, можно зафиксировать один из столбцов, а оставшиеся — прокручивать. Более того, вы даже можете временно скрыть некоторые столбцы. » Тоодры ; таблица [Код товара Марка | Поставщик ': 55 Tourtiere ;Ma Mai son ; : 56i Pate chinois MaMaison 57j Gnocchi di nonna Alice Pasta Buffini s.r.1. , 58! Ravioli Angelo Pasta Buffini s.r.1. ! 59 Escargots de Bourgogne Escargots Nouveau: 6o!Raclette Courdavault Gai paturage : 61;Camembert Pierrot i Gai paturage ! 62i Sirop d'erable Forots d'Erables : 63:Tarte au Sucre Forots d'Erables : 64'chai : OOO Экзотика 65 Chang .OOO Экзотика 66 Aniseed Syrup OOO Экзотика '. 67 Chef Anton's Cajun Seasc New Orleans Cajun 68! Chef Anton's Gumbo Mix !New Orleans Cajun ^_ i 69: Grandma's Boysenberry SKarkkiOy 70 Uncle Bob's Organic Drie' Grandma Kelly's Ho 71!Northwoods Cranberry Sc Grandma Kelly's Ho : 72 Mishi Kobe Niku : Tokyo Traders \ 73: Ikura :Tokyo Traders 74 Queso Cabrales : Cooperative de due _ i 75 Queso Marichego La Past Cooperative de Que ; i 76;Konbu i Mayumi's 77-Tofu Mayumi's tie] | (Счетчик) Запись: | iV}' | ГГ>Ти{>Й]ш 77 <
k.
Тип Мясо/гггица Мясо/птица Хлебобулочные Хлебобулочные Рыбопродукты Молочные прод Молочные пред Приправы Кондитерские и Напитки Напитки Приправы Приправы Приправы Приправы Фрукты Приправы Мясо/птица Рыбопродукты Молочные прод Молочные прод Рыбопродукты Фрукты
:>'
'
^Единица измерени! * Цена ] На складе] С А; ; 16 штук : 335.25Р 21 115!" 24 коробки по 2 Ш1 1 080, ООр ;24 упаковки по 25С 1 710. ООр 21: збТ" : 24 упаковки по 25С 877.50Р 124 штуки т 596.25Р 62! 79!' |5 кг упаковка ; 2 475.60р 22 '! 15 упаковок по 30( 1 540, ООр _24 бутылки по 500 1 282,50р 11 3| 17;" •48 штук . 2 218, 50р 39] 810. ООр ;10 коробок по 20 ц 17! 24 бутылки по 355 855,00р i 1 2 бутылок по 550 450. ООр 2з! |48 банок по 177 м; ..990.00р 53! _в :36 коробок 960,75р 0 ! 1 2 банок по' 237 ш 1 1 25 , ООр lib! 5 И 2 штук i 1 350,00р 1 12 банок по 355 м; 1 800, ООр : 1 8 штук по 500 г А 365,ррР 29Г~" 12 банок по 200 м; 1 395, ООр 31| 1кг упаковка 945. ООр 22:" '. : .10 штук по 500 г . 1 710,00р 86! ; 2 кг коробка 270. ООр 241 40 штук по 100 г 1 046. 25р 35 i 0.00р о: и!
i:.:::..:;.i5е !":i
" '. :
ж. "'
Рис. 8.1. Данные в Access представлены в виде строк (записей) и столбцов (полей) В каждом разделе этой главы рассматривается одна из возможностей изменения внешнего вида данных. Вы можете по своему усмотрению использовать либо одну из них (например, изменение ширины столбцов), либо несколько. Каждую настройку можно выполнить независимо от остальных. К тому же все эти изменения никоим образом не повлияют на данные, а только изменят их вид представления на экране. Большую часть команд можно выполнить с помощью мыши, но некоторые из них требуют обращения к системному меню. Если команда доступна в обоих случаях, значит, независимо от используемого способа, она выполняется одинаково. После того как вы по своему усмотрению настроите таблицу, не забудьте сохранить изменения, иначе весь ваш кропотливый труд будет напрасной тратой времени. Из системного меню выберите команду ФайлоСохранить (FileOSave) либо просто закройте окно. Если в таблице были сделаны какие-либо несохраненные изменения, то при закрытии окна Access автоматически предложит их сохранить.
110
Часть II. Поистине восхитительные таблицы
; Альтернативный способ перемещения по таблице Если вам повезло и у вас есть IntelliMouse и специальный драйвер IntelHPoint, значит, в вашем распоряжении имеется еще одно средство перемещения по таблицам Access. Между двумя обычными кнопками у IntelliMouse имеется колесико, действующее как третья кнопка. При повороте колесика таблица прокручивается вверх или вниз по три строки за раз. Если щелкнуть кнопкой-колесиком и переместить мышь, это приведет к перемещению окна по таблице; направление зависит от того, куда вы перемещаете мышь. (Эта возможность ничем не отличается от обычного приема "щелкнуть и перетащить", за исключением того, что здесь вы используете кнопкуколесико, а не левую кнопку мыши.) Если вам приходится много работать с Access или с другими приложениями Office ХР, мне кажется, вам стоит испытать новую мышь. В каждой программе кнопка-колесико используется немного по-другому, но все программы (и даже сама Windows) поддерживают ее, облегчая вам жизнь. И еще один момент. В пакете Office предлагается несколько новых (кроме традиционных клавиатуры и мыши) способов взаимодействия пользователя и компьютера. В Office поддерживается опция распознавания рукописных текстов и голосовых команд. И хотя распознавание рукописных текстов можно использовать при работе с Access, рассмотрение этого вопроса выходит за рамки данной книги. Однако способность распознавания голоса может показаться вам чрезвычайно полезным средством,: позволяющим надиктовывать данные своему компьютеру и давать ему всевозможные команды. Самое главное, что в наши дни распознавание голоса действительно работает, в отличие от ситуации несколько лет назад, когда вам приходилось говорить как машина, чтобы компьютер понял, что вы от него хотите. Более подробно распознавание голоса описывается в главе 25.
Изменение ширины столбца Даже такая замечательная программа, как Access, имеет некоторые недостатки, например она не понимает, как правильно установить ширину столбца таблицы. Как правило, она устанавливает для всех столбцов одинаковую ширину, при этом для одного столбца эта ширина будет слишком большой, а для другого — слишком маленькой. По-моему, это не самое лучшее решение для такой мощной программы. Установка новой ширины столбца не займет много времени. Вот как это можно сделать. 1. В режиме таблицы установите указатель мыши на самой границе вертикальной панели, расположенной справа от имени поля. Указатель мыши превратится при этом в вертикальную черту с двунаправленными стрелками. 2. Щелкните левой кнопкой мыши и, удерживая ее, переместите указатель на нужное расстояние (рис. 8.2). Для того чтобы расширить столбец, переместите указатель мыши вправо, а чтобы уменьшить — влево. 3. Когда столбец будет иметь нужную ширину, отпустите кнопку мыши. Теперь ширина столбца изменилась (рис. 8.3).
Изменение высоты строк Высоту строк Access определяет немного лучше, чем ширину столбцов. При выводе информации на экран программа автоматически рассчитывает междустрочное расстояние. Тем не менее и здесь есть возможность для совершенствования, поскольку вы не всегда сможете увидеть все свои данные, содержащиеся в самых длинных полях. Изменение высоты строк позволяет вывести на экран больше информации в каждом поле при неизменном количестве столбцов.
Глава 8. Заставьте таблицы плясать под, свою дудку
111
i* Товары : таблице , | Код товара) Марка J. |_" Поставщик 4 ; 55:Тоигйеге Ma Maison 4 J 56 Pate chinqis :Ma Maison 4 i 57 Gnocchi di nor Пс Pasta Buttini s r.l. 4 ; 58 Ravioli Angelo : Pasta Buttini s.rl. 4 \ 59:Escargots de E 01 Escargots Nouveai. 4 ! eo'Raclette Gourd av Gai paturage 4 1 61 Carnembert Pi irr.Gai paturage 4 j_ 62:Siropd'erable iForots d'Erables 4 i. 63Tarte au sucre Forots d'Erables 4 r J ' 64 Chai . :000 Экзотика 4 ! : I 65 Chang OOO Экзотика 4 1 66 Aniseed Syrup GOO Экзотика 4 i 67: Chef Anton's С ajt New Orleans Cajun 4 i " 68: Chef Anton's Gur New Orleans Cajun 4 \ 69 Grandma's Boys* Karkki Oy 4 s [ 70 Uncle Bob's Or g£ Grandma Kelly's H< Z 71 Northvroods Cr ar Grandma Kelly's H< 4 : 72 Mishi Kobe Nik ujTqkyo Traders 4 ; 73: Ikura : Tokyo Traders 4 | 74: Queso Cabrale в 'Cooperative de Q.U' 4 ; : 75 Queso Manche gc Cooperativa de Qui Mayumi's *i 76 Konbu 4 i 77Tofu iMayumi's 1 ж (Счетчик)
| Тип i Мясо/птица i Мясо/птица i Хлебобулочные . Хлебобулочные Рыбопродукты : Молочные прод : Молочные прод Приправы : Кондитерские и : Напитки [Напитки Приправы Приправы Приправы 4 Приправы Фрукты Приправы Мясо/птица Рыбопродукты Молочные прод i Молочные прод Рыбопродукты [Фрукты
•
т
Запись: 1.И{.<] |
!« нРНХз Цена | На скпг « [Единица измерен^ 335.25р. : :16 штук 24 коробки по 2 ил i oso.oopZ '. .24 упаковки по 25С. 1 710.o6pZZZZ" : 24 упаковки по 25( 877,50р. ; '596,25рГ| ' :24 штуки 2475.00р.! 5 кг упаковка •15 упаковок по ЗОС 1 540,о6р. | 24 бутылки по 500: '1 282,50pZ ;48 штук 2218,5бр"1 10 коробок по 20 и 810,OOpJ 24 бутылки по 355. ^855.00pTZZZ' 12 бутылок по 550: 450,00р ' 48 банок по 177 м; 990,00р. : ! 36 коробок 960J5p7 Z 12 банок по 237 м; 1 125,00р. I 1 350,00р. ''•• ;12 штук 12 банок по 355 м; '1 800.00р.; 'ZZjt 1 8 штук по 500 г J 4 365, ООр \ 12 банок по 200 м/ 1 395.6dp. [ ; 1 кг упаковка 945,00р. ' 10 штук по 500 г : 1 710.00р. : 2 кг коробка 270,00р.: 40 штук по 100 г ; 1 046.25pJ O.OOpJ ' ' ij!
>
59 j > I И !>*] ИЗ 77
Рис, 8.2. Ширину столбца можно изменить in Товары : таблица _[Кодтовара Марка . 4 SSTourtiere ; 4 : 56: Pate chinois 4 \ 57 Gnocchi di nonna Alice 4 j 58'Rawoli Angelo 14: 59: Escargots de Bourgogne 4 j eOPaclette Courdavault 4 i 61 Carnembert Pierrot 4 62'sirop d'erable ;j 4 : 63:Tarte au Sucre 4 i 64Chai 4 j 65; Chang 4 i 66;Aniseed Syrup 4 \ 67 Chef Anton's Cajun Seasoning 4 i 68! Chef Anton's Gumbo Mix 4 j 69: Grandma's Boysenberry Spread 4 70; Uncle Bob's Organic Dried Pears :i 4 71 Northwoods Cranberry Sauce 4 j 72^Mishi Kobe Niku 4 ! 73 Ikura 4 ; 74 Queso Cabrales 4 i 75: Queso Manchego La Pastora 4 j 76 Konbu i 77:Tolu •Ж (Счетчик):
_
Запись: ГНЦТЦ ' 59 |T]Tf И из 77
ВШЯ
ь.
[Единица измерен») :>; f4 Поставщик J Тип Ma Maison : 16 штук Мясо/птица Ma Maison Мясо/птица : 24 коробки по 2 шт ' Pasta Buttini s.r.l Хлебобулочные ; 24 упаковки no 25C ' Pasta Buttini s.r.l. Хлебобулочные 24 упаковки по 25С: Escargots Nouveai РыбОП^ОДуКТЫ ;•^ 24 штуки Gai paturage Молочные прод 5 кг упаковка '. Gai paturage Молочные прор 15 упаковок по ЗОС ' Forots d'Erables Приправы i 24 бутылки по 500 ' Forots d'Erables : '. Кондитерские и :48 штук 000 Экзотика Напитки j 10 коробок по 20 и 666 Экзотика Напитки : 24 бутылки по 355 000 Экзотика Приправы 1 2 бутылок по 550 New Orleans Cajun Приправы :48 банок по 1 77 м; :, New Orteans Cajun 36 коробок Приправы KarkW Oy : 12 банок по 237 ш • я Приправы Grandma Kelly's He Фрукты :12 штук Grandma Kelly's He Приправы 12 банок по 355м; 'f Tokyo Traders 18 штук по 500 г ' :;: Мясо/птица Tokyo Traders ; 12 банок по 200 щ ; Рыбопродукты Cooperativa de Qu> Молочные про/з 1 кг упаковка Cooperativa de QU' Молочные прор . ;10 штук по 500 г j ' Mayumi's Рыбопродукты j 2 кг коробка Mayumi's Фрукты :40 штук по 100 г <'. : .
•№ •
М'ЙГ
: ^. >. i
;
Рис. 8.3. Ширина столбца Название была изменена так, что теперь его содержимое можно увидеть целиком Как и в случае изменения ширины столбца, для изменения высоты строки достаточно лишь пару раз щелкнуть мышью.
112
Часть II. Поистине восхитительные таблицы
1. Работая в режиме таблицы, установите указатель мыши с крайней левой стороны окна, на разделительной линии между любыми двумя строками. Указатель мыши превратится в горизонтальную черту с двунаправленными стрелками (рис. 8.4). Ш Товары : таблица | Код товара ] , -» j 55;Tourtiere •* | 56: Pate chinois
Марка
>t
JL
*•! «j •H *•{ _ tj __ *\ ТГ _ *! — *j_ *i *:! *! — *j +1 *] *| »; *1 ••]
ж"
58 Ravioli Angelo 59iEscargots de Bourgogne 60:Raclette Courdavault 61 Camembert Pierrot 62;Sirop d'erable 63'Tarte аи Sucre 64[Ch?L 65: Chang 66 Aniseed Syrup 67! Chef Anton's Cajun Seasoning 68 Chef Anton's Gumbo Mix 69l Grandma's Boysenberry Spread : 70 Uncle Bob's Organic Dried Pears 71Northwoods Cranberry Sauce 72;Mishi KobeNiku 73 Ikura 74 Queso Cabrales 75[Queso Manchego La Pastora 76lKonbu
*j~ ^ '_ 77]fofi73HZIIZZZIII ' (Счетчик)
За чсь: П<У"Ч J |~~^
Si [ТИШИ*] из 77
Поставщик Ma Maison MaMaison
1
Тип
Мясо/птица Мясо/птица
[Единица измерен^ А": ;16 штук 24 коробки по 2 ил '
Pasta Buffi nis.r.1. 24 упаковки по 25С : Хлебобулочные Escargots Nouveai Рыбопродукты .24 штуки Gai paturage Молочные прор ,5 кг упаковка ; Gai paturage Молочные прор ; 15 упаковок по ЗОС ' Forots d'Erables Приправы ;24 бутылки по 500 ' Forots d'Erables Кондитерские и 48 штук '. 066 Экзотика Напитки i 10 коробок по 20 и : 666 Экзотика Напитки 24 бутылки по 355 OOO Экзотика Приправы 12 бутылок по 550 New Orleans Cajun Приправы 48 банок по 177 м; • New Orleans Cajun Приправы ;36 коробок Karkki by Приправы 12 банок по 237 м; ' , , Grandma Kelly's H( Фрукты 12 штук Grandma Kelly's He 1 2 банок по 355 м;;, Приправы Tokyo Traders Мясо/птица 18 штук по 500 г ' Tokyo Traders Рыбопродукты •12 банок по 200 MS ' Cooperative de Qu' Молочные прор '- 1 кг упаковка Cooperativa de Qui Молочные прол 10 штук по 500 г Mayumi's .^.рь'бопррдукты 2 кг коробка Mayumi's Фрукты ...i^P ._ЦЩ^ ЛРЛ2Р г . <: " , '. ' . ':•*-.
;*-'
Рис. 8,4. Вы можете изменить высоту строк таблицы 2. Щелкните левой кнопкой мыши и, удерживая ее, переместите указатель на нужное расстояние. Переместите указатель мыши вниз, чтобы сделать строку шире, или вверх, чтобы уменьшить ее высоту. 3. Когда строка будет иметь нужную высоту, отпустите кнопку мыши. Access отобразит таблицу с новой установленной высотой строки (рис. 8.5).
Реорганизация столбцов При проектировании таблицы вы заранее определяете, в каком порядке должны располагаться поля. При работе с таблицей вид данных на экране вас, как правило, устраивает, но иногда эту последовательность приходится менять. Для того чтобы переместить поле в таблице, выполните следующие действия. 1. Нажмите и удерживайте левую кнопку мыши в поле, которое вы хотите переместить. При этом столбец будет выделен целиком, а указатель мыши превратится в стрелку, и рядом с ней появится изображение небольшого прямоугольника (рис. 8.6). 2. Переместите столбец на новое место. По мере перемещения мыши между столбцами будет перемещаться темная вертикальная полоса, показывая то место, где разместится столбец, если вы отпустите кнопку.
Глава 8. Заставьте таблицы плясать под свою дудку
113
55iTourtiere
;MaMaison
Мясо/птица
fi6 Pate chinois
MaMaison
Мясо/птица
; 16 штук
\ 24 коробки по 2 !ШТ.
57iGnocchi di nonna Alice
Pasta Buffini s.r.l.
Хлебобулочны е изделия
58! Ravioli Angelo
:Pasta Buttini s.r.l.
Хлебобулочны е изделия
24 упаковки по i 250 г
;
;24 упаковки по 250 г
59jEscargots de Bourgogne
Escargots Nouveaux
Рыбопродукты
eoiRaclette Courdavault
Gai paturage
Молочные продукты
; 5 кг упаковка
Gai paturage
Молочные продукты
• 15 упаковок по 300 г
61;C8membert Pierrot
: ВИЗ! "
1
i 24 штуки
>
56 [ДНИ " 77
Рис. 8.5. Теперь в строках достаточно места для отображения всей информации
Зато»: ГЩ « i|
i [ЕШН-»
Рис. 8.6. Подготовка столбца к перемещению Если вы случайно отпустите кнопку мыши до того, как появится темная полоса, Access не переместит столбец. В этом случае снова начните с п. 1 .
114
Часть II. Поистине восхитительные таблицы
3. Когда столбец займет нужное положение, отпустите кнопку мыши. Столбец с содержащимися в нем данными переместится на новое место в таблице (рис. 8.7).
Поставщик Ma Maison
57:Gnocchi di nonna Alice
[Единица измерен^ Мб штук
Ц( 33(
24 коробки по 2 шт.
1 081
Pasta Buttini s.r.l.
24 упаковки no 250 г
1711
Pasta Buttini s.r.l.
i 24 упаковки по :250r
8Г
59:Escargots de Bourgogne
60 Raclette Courdavault
elCamembert Pierrot
Запись: ГЩ"<"": Г
Gai paturage
5 кг упаковка
2 47!
i 15 упаковок no
1 541
:зоог
1 ГГТмТмЗ из 77
Рис. 8.7. Теперь столбец расположен в другом месте таблицы
Сокрытие столбца Это одна из тех возможностей Access, необходимость которой трудно назвать значимой до тех пор, пока в ней не возникнет реальной потребности. Если вы временно не хотите выводить на экран какой-то столбец, сделайте его невидимым. При этом данные по-прежнему останутся в таблице, но не будут появляться на экране. Здорово, правда? Чтобы скрыть какой-либо столбец, выполните следующие шаги. 1. В режиме таблицы щелкните правой кнопкой мыши на названии столбца, который хотите сделать невидимым. Столбец будет выделен черным цветом, и появится контекстное меню.
2. Из меню выберите команду Скрыть столбцы (Hide Columns) (рис. 8.8). Оп-ля! Столбец исчез. Для того чтобы сделать невидимыми сразу несколько столбцов, щелкните на названии столбца и (удерживая кнопку мыши) переместите его по всем именам столбцов, которые хотите скрыть, а затем из системного меню выберите команду Формат1* Скрыть столбцы (Format^Hide Columns).
Глава 8. Заставьте таблицы плясать под свою дудку
115
л иница измеренй
Ц<
Сортироека по возрастанию Сортировка по убыванию Попировать
57:Cnocchi di nonna Alice
Закрепить столбцы
коробки по 2
1 081
упаковки по
1711
Ог
Освободить все столбцы Найти...
упаковки по
Ог
Добавить столбец Столбец подстановок... 59 Escargots de Bourgogne
Удалить столбец Переименовать столбец
60 Raclette Courdavault
15 упаковок no
61;Camembert Pierrot
300 г
Рис. 8.8. Я больше не хочу видеть этот столбец!
Изменения, сделанные в режиме таблицы, небезопасны До сих пор все описанные в этой главе изменения в таблице не затрагивали ее содержимого. Перемещение или сокрытие столбцов, изменение их ширины, а также высоты строк — все эти невинные изменения лишь изменяли внешний облик таблицы. Однако ситуация изменится, если из контекстного меню, появляющегося после щелчка правой кнопки мыши, выбрать такие команды, как Переименовать столбец (Rename Column), Добавить столбец (Insert Column), Столбец подстановок (Lookup Column) и Удалить столбец (Delete Column). Эти команды меня/or структуру таблицы, а потому при их использовании не торопитесь и будьте внимательны! ^ Команда Переименовать столбец изменяет имя поля. S Команда Добавить столбец добавляет в таблицу новый столбец, т.е. в таблицу добавляется новое поле. S Команда Столбец подстановок из контекстного меню подключает мастер подстановок, который вставит столбец из другой таблицы. •/ Назначение команды Удалить столбец понятно из названия (не забывайте, что Access может отменить только последнюю выполненную команду, а поэтому • хорошенько подумайте, прежде чем что-либо удалять). Выполнение любой из вышеперечисленных команд изменяет структуру таблицы. Более подробно об этих командах и их безопасном использовании (что особенно важно) рассказывается в главе 9. Когда вам понадобится снова показать на экране скрытые столбцы, выполните следующие действия.
1. Из системного меню выберите команду ФорматООтобразить столбцы (FormatoUnhide Columns).
116
Часть II. Поистине восхитительные таблицы
Появится небольшое диалоговое окно, в котором перечислены все поля текущей таблицы. Поля, перед названием которых установлен флажок, являются в данный момент видимыми. 2. Установите флажок перед именем поля, если хотите, чтобы оно снова появилось на экране (рис. 8.9). Отображение столбцов Столбец:
И Марка
И Тип Р! Поставщик ffi Единица измерения
.
В Цена f?f На складе Pi Ожидается Р' Минимальньй запас р! поставкИТрекращены
Рис. 8.9. Установите флажки рядом с именами тех полей, которые хотите увидеть на экране Если таблица состоит из большого количества полей, которые не помещаются в окне, то для того чтобы найти нужное поле, вам придется воспользоваться полосой прокрутки. 3. Щелкните на кнопке Закрыть (Close).
Закрепление столбцов Если в таблице содержится много столбцов, они могут не поместиться в окне. При прокрутке содержимого таблицы по горизонтали одни из них будут последовательно появляться, а другие — исчезать из поля зрения. А что если вам необходимо одновременно видеть на экране содержимое всех столбцов? Лучшее решение в этой ситуации — закрепить столбец в левой части таблицы, чтобы он не перемещался при прокрутке других столбцов. Безусловно, существует и обратная процедура — снять закрепление, ведь вы же не хотите, чтобы ваши столбцы навсегда остались неподвижными? Ниже описана процедура, позволяющая закрепить столбец. 1. Щелкните правой кнопкой мыши на имени столбца, который хотите закрепить. . Столбец окажется выделенным, и тут же появится неизменное контекстное меню. 2. Выберите из меню команду Закрепить столбцы (Freeze Columns). При этом столбец будет зафиксирован на текущем месте. Теперь вы беспрепятственно можете прокручивать таблицу, и ничто не сможет "сдвинуть с места" закрепленный столбец. Если требуется закрепить больше одного столбца, выполните следующие действия. 1. Выберите столбцы, которые хотите закрепить.
Глава 8. Заставьте таблицы плясать под свою дудку
117
Помните, что закрепленные столбцы в таблице располагаются рядом друг с другом. Нельзя закрепить несколько столбцов, оставить несколько свободных для прокрутки, а затем закрепить еще пару. (Если вы все равно попытаетесь это сделать, Access переставит столбцы в таблице так, чтобы зафиксированные располагались рядом друг с другом.) 2. Удерживая нажатой клавишу <Shift> щелкните мышью на именах столбцов. В результате вы получите некоторую выделенную область, состоящую из столбцов, которые требуется закрепить. 3. Щелкните на имени первого столбца, удерживая клавишу нажатой, а затем на имени другого столбца, при этом все столбцы, расположенные между ними, окажутся выделенными. 4. После выделения всех столбцов отпустите клавишу <Shift>. 5. Закрепите столбцы на месте, ФорматоЗакрепить столбцы.
выбрав
из
системного
меню команду
Все выделенные столбцы "застынут на месте". Если вы захотите снять закрепление столбцов, выберите из системного меню команду Формат^ Освободить все столбцы (FormatoUnfreeze All).
Будучи обычной программой, предназначенной для работы с базами данных, Access выводит табличную информацию обычным, базовым шрифтом. Однако всегда пользоваться именно этим шрифтом не обязательно. Вы можете не только выбрать шрифт, стиль, но и цвет для представления данных в таблице. Описанные ниже установки применяются ко всей таблице, а не к отдельным строкам или столбцам. Для изменения шрифта, стиля или цвета данных таблицы выполните следующие действия. 1. Находясь в режиме таблицы, выберите из системного меню команду Формата Шрифт (FormatoFont). Появится диалоговое окно Шрифт, предназначенное для установки шрифтов. 2. Из списка, расположенного в левой части диалогового окна, выберите нужный шрифт и щелкните на его названии. В правой нижней части диалогового окна Access будет продемонстрирован фрагмент текста с использованием данного шрифта. Лучше всего выбирать шрифты True Type, обозначенные символом ТТ, так как они поддерживаются практически любым принтером и могут выводиться на экран с любым размером и прекрасно подходят для всего, включая таблицы. 3. Щелкните на названии подходящего стиля в списке Начертание (Font style). Некоторые шрифты не поддерживают все общие стили (нормальный, полужирный, курсив и полужирный курсив).
118
Часть //. Поистине восхитительные таблицы
4. Для изменения размера символов щелкните на соответствующем значении в списке Размер (Size). Если вы выбрали шрифт для принтера (рядом с названием такого шрифта есть пиктограмма принтера), выбор может быть ограничен всего несколькими доступными размерами. 5. Если вы хотите подобрать для шрифта новый цвет, раскройте список Цвет (Color) и выберите тот цвет, который вам нравится. 6. Для того чтобы применить к таблице внесенные изменения, щелкните на кнопке ОК.
Л}гедс1навле*ше данных, виде Эта последняя операция — чисто "косметическая", но даже таблицам небезразлично, как они будут выглядеть на экране. В Access имеется несколько возможностей для придания таблице трехмерного вида. Чтобы придать таблице вид настоящего произведения искусства, выполните следующие действия. 1. Из системного меню выберите команду ФорматоРежим таблицы (Format^ Datasheet).
Появится диалоговое окно Формат таблицы (Datasheet Formatting). 2. Чтобы придать таблице трехмерный вид, из группы Оформление (Cell Effect), расположенной в левом верхнем углу окна, выберите переключатель Приподнятое (Raised) либо Утопленное (Sunken). В окне Образец (Sample) (расположенном в нижней части окна) можно увидеть, как будет выглядеть таблица после применения Этих установок. Если вы не хотите накладывать на таблицу сетку, в группе Оформление оставьте переключатель в позиции Обычное (Flat) и снимите флажки подраздела Линии сетки (Gridlines Shown). 3. После всех внесенных изменений щелкните на кнопке ОК. Таблица примет вид в соответствии с вашими установками. Если вы плохо разбираетесь с цветами и их комбинациями, оставьте цветовую палитру в покое. Те из вас, кто регулярно пытается носить брюки в полоску, а пиджак — в клетку, точно должны доверить Access выполнить эту настройку самостоятельно.
I
Глава 8. Заставьте таблицы плясать под свою дудку
•
119 "
Глава 9
Советы по самостоятельной модернизации таблиц 1ла£е... > Опасности, подстерегающие таблицу > Добавление нового поля в таблицу
> Удаление ненужного поля > Переименование поля
Т)
i^ емонт дома или квартиры — это неотъемлемая часть нашей жизни, по крайней мере, *^ если у вас есть дом или квартира. Здесь нужно повесить картину, там поставить мебель, и вскоре в доме будет полная неразбериха, потому что завершить эту работу невозможно, ее можно только бросить. Например, жена попросила меня установить в доме новые электрические розетки. Я потратил на это три года, но до сих пор еще восемь розеток не установлено. Таким образом, я устанавливаю примерно одну розетку в квартал и занимаюсь этим главным образом тогда, когда нужно что-нибудь включить, а старая розетка для этих целей не подходит. В отличие от розеток, мои базы данных всегда находятся в порядке и регулярно обновляются. Когда я начинаю что-то изменять в таблице, то всегда довожу работу до конца. Жена говорит, что это объясняется моим отвращением к физическому труду, но в действительности все заключается в инструментах, предоставляемых Access. (К тому же молоток меня явно недолюбливает.) Что бы вы ни делали — добавляли новое поле, удаляли старое или вносили какие-то незначительные изменения в свою таблицу, — эта глава поможет вам выполнить поставленные задачи. Прежде чем перейти к какому-либо серьезному вмешательству в таблицу, обязательно прочтите первый раздел этой главы. Здесь вас может поджидать несколько серьезных ловушек, но я надеюсь, что вы с успехом их обойдете. Все изменения в таблице выполняйте, работая в режиме конструктора, где вы можете полностью контролировать этот процесс. Инструкции, представленные в этой главе, даны для работы именно в этом режиме. Несмотря на то что некоторые поставленные в этой главе задачи можно выполнить в режиме таблицы (например, добавить или удалить столбцы), настоятельно не рекомендую делать этого, поскольку при этом легко допустить ошибку и нарушить структуру таблицы.
Окасноапи, Всегда приятно начитать дело с хорошего сообщения, но сейчас не время для этого. Для того чтобы настроить вас на серьезный лад, я хотел бы начать эту главу с предупредительных знаков, которые было бы естественно сопроводить табличками "Не прикасаться" — что-то
вроде зубастого аллигатора, разъяренного льва или налогового инспектора. Но редактор книги предложил ограничиться предупреждающими пиктограммами. Во имя компромисса (и еще потому, что в наши дни найти хорошего редактора — непростая задача) я согласился. Пожалуйста, будьте предельно внимательны при чтении этой главы. Вы имеете дело с инфраструктурой всей базы данных, поэтому ошибка (особенно при выполнении операции удаления) может привести к тому, что вы будете рвать на себе волосы, заработаете нервное расстройство и потеряете значительную часть своих данных. Короче говоря, может случиться непоправимое.
новою поля, в Несмотря на великолепный дизайнерский проект вашей базы данных, вы можете забыть внести в таблицу какое-то поле. Или, поработав с ней какое-то время, вдруг обнаружите необходимость внесения туда дополнительных данных. В любом случае Access позволит вам без труда вставить в таблицу новое поле. Эта операция займет у вас совсем немного времени, но, перед тем как приступать к ней, убедитесь, что вы точно знаете, какие операции хотите выполнить. Поэтому снова возьмите карандаш и листок бумаги, чтобы набросать следующую информацию о новом поле. •S Типичные примеры данных, которые будут храниться в этом поле. •S Тип поля (текстовый, числовой, логический и т.п.). •S Размер поля (по возможности). •/ Предположительное название поля. •S Где в таблице будет расположено это поле. Теперь, вооружившись всей вышеприведенной информацией, можете приступать к созданию нового поля. Чтобы в режиме конструктора добавить поле, выполните следующее. 1. Откройте файл базы данных. Щелкните правой кнопкой мыши на имени таблицы, с которой хотите работать, и из всплывающего меню выберите пункт Конструктор (Design View). На экране появится таблица в режиме конструктора. 2. Выделите строку, перед которой хотите поместить новое поле, щелкнув мышью на кнопке, расположенной слева от столбца Имя поля (Filed Name). Некоторые вещи непросто объяснить, но все становится на свои места, если вы увидите, как это происходит. Чтобы разобраться с этим пунктом, взгляните на рис. 9.1, и тогда выполнение этой операции сразу же станет ясным и понятным. 3. Из системного меню выберите команду ВставкаОСтроки (Insert** Rows). В месте щелчка появится новая пустая строка. Все, что находилось под выделенной строкой, сместится вниз, освобождая место для нового соседа. Не беспокойтесь о своих данных — Access позаботится о них. Ни на что в таблице введение дополнительной строки не повлияет. А вот удаление строки, которое описывается в следующем разделе данной главы, — это совсем другое дело. 4. Щелкните в столбце Имя поля новой строки и введите имя нового поля. Имя поля удобно расположится в текстовой области.
Глава 9. Советы по самостоятельной модернизации таблиц
121
2. Щелкните на серой кнопке, расположенной с левой стороны от строки с именем поля, которое хотите удалить. Обреченное поле окажется выделенным. 3. Из системного меню выберите команду Правка^Удалить строки (Edit1^ Delete Rows). Появится роковое диалоговое окно, спрашивающее, требующее подтверждения удаления этого поля (рис. 9.3). Если знакомиться с Access вам деловито помогает Помощник Office, он тоже, но в несколько иной форме, задаст этот вопрос.
КодТовара
Счетчик
Марка КодПоставщика КодТипа ЕдиницэИэмерения Цена наСкладе Ожидается МинимапьныйЗапас
Текстовый .Числовой числовой Текстовый Денежный Числовой Числовой Числовой
• Уникальное число, автоматически присваиваемое новой записи. Microsoft Office Access • Совпадает со знач« 1 • Совпадает со значс Удаление поля "Код потребует от приложения 'Microsoft Office Access' (например, в ящик; удаления одного или нескольких индексов, При нажатии кнопки "Да" приложение Microsoft Office Access' удалит это поле и все его индексы. : Минимально допус] Подтвердите удаление этого попя, Свойства поля
Общие i Подст. ; Размер попя ! Формат поля Маска ввода jПодпись ; Значение по умолчанию : Условие на значение : Сообщение об ошибке Обязательное попе : Пустые строки : Индексированное поле . Сжатие Юникод : Режим 1МЕ : Режим предложений IME ; Смарт-теги
ifla _,__ __ :Да (Допускаются совпадения)
• Имя поля может состоять из 6-1 : знаков с учетом пробелов. Для справки по именам попей нажмите клавишу F1,
Рис. 9.3. Access предупреждает о том, что удаление поля приведет к удалению всех его данных 4. Для удаления поля щелкните на кнопке Да (Yes); если возникли сомнения, щелкните на кнопке Нет (No). Если вы удалили поле и тут же пожалели об этом, нажмите комбинацию клавиш <Ctrl+Z> или из системного меню выберите команду Правка^Отменить удаление (EditoUndo Delete) (рис. 9.4). Ваше поле моментально вернется из небытия. 5. Выбрав из системного меню команду Файл^Сохранить, вы сделаете удаление поля необратимым процессом. Этого же результата можно достигнуть, щелкнув на кнопке Сохранить панели инструментов. Ключевой фразой здесь служат слова необратимый процесс, так как вы никогда больше не увидите этого поля. Это действие отменить нельзя — увы, что сделано, то сделано!
124
Часть II. Поистине восхитительные таблицы
Вырезать
ctrl+Х
Попировать
Ctri+C
Буфер обмена Office...
Уникальное число, автоматически присваиваемое новой записи, Совпадает со значением поля КодПрставщика в таблице Поставщиц^ Совпадает со значением поля "КодТипа" в таблице "Типы", (например, в ящиках по 24 бутылки, 1-литроеая бутылка и т.п.).
Минимально допустимый складской запас. •Да" означает, что товар больше не поставляется.
Общие
_
| подст
Размер поля Формат поля Маска ввода Подпись Значение по умолчанию Условие на значение Сообщение об ошибке Обязательное поле Пустые строки Индексированное поле Сжатие Юникод Режим IME Режим предложений IME Смарт-теги
Имя поля может состоять из 64 знаков с учетом пробелов. Для справа по именам полей нажмите клавишу F1. Да (Допускаются совпадения) Да ._._... 71". ~1_~™" Нет контроля Нет
Конструктор. F6 = переключение окон. F1 = справка.
Рис. 9.4. Если вы передумали удалять поле, восстановите его с помощью команды Отменить удаление
Access совершенно безразлично, какие имена вы присваиваете полям своей таблицы. Хотя существуют определенные правила, регламентирующие присвоение имен, в общем случае это не так важно. Придавать особое значение имени поля — черта, присущая слабым человеческим существам (глупые люди, вечно мы тратим время на пустяки). Существуют два способа изменить имя поля. Ввести новое имя поля, находясь в режиме конструктора (это официальный путь, которым следуют специалисты). Щелкнуть на имени поля, находясь в режиме таблицы (интуитивный способ). Далее вы найдете описание обоих способов — выбирайте тот, который вам по душе.
Переименование поля в режиме конструктора Для переименования поля в режиме конструктора выполните следующие действия. 1. Откройте файл базы данных и правой кнопкой мыши щелкните на имени таблицы, в которую хотите внести изменения. Из всплывающего меню выберите пункт Конструктор. Появится таблица в режиме конструктора. 2. Щелкните на имени поля, которое хотите переименовать, а затем нажмите клавишу <F2>, чтобы выделить его (рис. 9.5).
Глава 9. Советы по самостоятельной модернизации таблиц
125
• Товары : таблица
ЕМЙ 1 ТипТанных Счетчик Текстовый Текстовый Числовой 'Числовой Текстовый .Денежный
№я поля ? КодТоеара
тш
_ Марка КодПссгавщика КодТипа __ ЕдиницаИэмерения __ Цена НаСклэде Ожидается МинимальныйЗапас ПоставкиПрекрацены
i Описание • "•""• Уникальное число, автоматически присваиваемое новой записи.
""
•
|х|
'Совпадает со значением попя "КодПостаещика" в табпице "Псставщиси". [Совпадает со значением поля "ЧодТипа" в табпице 'Типы*. : (например, в ящиках по 24 бутылки, 1-литровая бутылка и т.п.).
•Чслщвй Числовой Числовой Ло™чво«й
"Минимально допустимый складской запас. -да" означает, что товар больше не поставляется.
Свойства поля Общие
j Подстановка !
1 Размер поля i Формат поля 1 Маска ввода
150
_
_
J
i подпись
- Значение по умолчанию ! Условие на значение 1 Сообщение об ошибке 1 Обязательное поле i Пустые строки ; индексированное попе ' Сжатие Юникод | Режим INC 1 Режим предложений IME Смарт-теги
| ' \
\
'
-
" '
-
" ' '• •
.
' \
:
"-.:.'.::"' ;
" "'
•
;
• ' •'
' ."-..
"
" -
1ИмД поля может состоять из 64 знание с учетом ' ..пробелов. Для cnpaswi по именам попей - нажмите клавишу FX. - •- • '
'Нет
• '.;'. .
Ifla .Да (Допускаются совпадения)
.
',;••'. '
*
Дз Нет контроля
и*т;- . , "":::::::::;;::i'::::i::;"::. .::;:.::; 1 . . . zz ; !wwz j 1;
/-...
-
' •
:
\
Рис. 9.5. Имя поля выделено; теперь его можно изменить В ожидании вашего следующего шага поле затрепещет. 3. Введите новое имя поля. Поскольку вы выделили имя поля, перед тем как вносить изменения, Access автоматически заменит старое имя на новое. 4. Чтобы сохранить внесенные изменения, из системного меню выберите команду ФайлОСохранить или щелкните на кнопке Сохранить панели инструментов. Процесс переименования завершен!
Переименование поля в режиме таблицы Переименование поля в этом режиме предусматривает такое же количество операций, но некоторым пользователям кажется, что в режиме таблицы работать проще. Из любви к разнообразию привожу здесь описание этой операции. 1. Откройте файл базы данных и дважды щелкните на имени таблицы, в которую хотите внести изменения. Вот так сюрприз — на этот раз первый пункт отличается от остальных! На экране появится таблица данных в режиме таблицы. 2. Щелкните правой кнопкой мыши на имени поля (оно находится в верхней части окна), которое хотите изменить. Столбец окажется выделенным, и появится контекстное меню.
3. Из этого меню выберите команду Переименовать столбец (Rename Column) (рис. 9.6). Имя столбца будет выделено, демонстрируя готовность к изменению.
126
Часть II. Поистине восхитительные таблицы
Сортировка по ео^астаиию Сортировка по уёьванно Попировать Вставить Ширина столбца... Скрыть столбцы Закрепить столбцы Освободить все столбцы Найти.... Добавить столбец Столбец подстановок.. Удалить столбец
Приправы Кондитерские изделия Мясо/птица _ Кондитерские изделия Кондитерские изделия Кондитерские изделияХлебобулочные изделия Хлебобулочные изделия Напит»1_ Кондитерские изделия Кондитерские изделия Кондитерские изделия _
Переименовать столбец
Мясо/птиуа_ Рыбопродукты
Pavlova. Ltd. _ Plutzer Lebensmittelgrossmarkte AG New Orleans Cajun Delights New Or|eans Cajun Delights Bigfoot Breweries Specialty Biscuits. Ltd. Norske Meiener
Приправы Приправы НвПИТКИ Кондитерские изделия Молочные продукты
~
Рис. 9.6. Щелкните правой кнопкой мыши на имени столбца и из появившегося меню выберите пункт Переименовать столбец 4. Введите новое имя столбца и нажмите клавишу <Enter>. Несмотря на то что правка была выполнена в режиме таблицы, Access сделает все необходимые изменения в структуре таблицы. 5. Выбрав из системного меню команду Файл^Сохранить или щелкнув на кнопке Сохранить панели инструментов, вы сделаете изменения необратимыми. Вот и еще одно поле нашло смысл своего существования в стильном имени. Готово.
Глава 9. Советы по самостоятельной модернизации таблиц
127
Часть' Поиск точного ответа на любой вопрос
ЭЯАУ/СШ
Я
(Бою жизнь/ НО
мыо ИАМННО
дмня
3tflOU Электронная организация данных —это прекрасно, но если вы запол2 няете жесткий диск только для того, чтобы не захламлять офис, много ли от этого проку? Рискуя быть похожим на авторов брошюр по маркетингу, все же скажу, что возможность взаимодействовать с данными — одна из самых полезных функций в Access. Поскольку Access — это компьютерная программа, вы не можете позволить себе такие выражения, как взаимодействие нлн сбор данных (это было бы слишком легко). На языке баз данных надо сказать — составить запрос к таблице. Хотя такое выражение звучит намного приятней, чем просто "задать вопрос", -г— но по сути это то же самое. В этой части мы полностью углу; бимся в эту тему, начав с простых запросов и Заканчивая более сложными. Материал части — лакомый кусочек, так что нагуливайте аппетит и
: приступайте к приятной трапезе.
Глава 10
Быстрый поиск с помощью команд Найти, Фильтр и Сортировка В э&ой гиа£е... >
Использование команды Найти
> Сортировка базы данных > Фильтрация по выбору >
Фильтрация по форме
f*f ет смысла повторять, что базы данных помогают хранить нужную и полезную инf 9* формацию. Но для этого же предназначена и обычная картотека (и .вам наверняка не придется тратить время и 600 долларов на модернизацию ящика для карточек). Для того чтобы оправдать моральные травмы, возможное облысение и потраченное время, системы управления базами данных должны позволять делать что-то, на что просто не способен обыкновенный набор карточек. Например, уметь быстро просматривать огромное количество информации и в мгновение ока находить нужные сведения. Благодаря возможностям команд Найти (Find), Сортировка (Sort) и Фильтр (Filter} Access способна производить поиск и преобразовывать данные в таблице быстрее, чем это когда-либо было возможно ранее. Эти три команды в любой момент готовы прийти на помощь, когда требуется быстро получить ответ на простой вопрос. В этой главе упомянутые команды рассматриваются по порядку: быстрая — Найти, организующая — Сортировка и, наконец, гибкая — Фильтр. . С помощью команд Найти, Сортировка и Фильтр можно получить ответы на простые вопросы. Для ответа на сложный вопрос требуется полномасштабный запрос Access, но пусть это вас не пугает — подробная информация о запросах приведена в главе 1 1 .
Лоис/с данных, Когда требуется найти некоторую запись без промедления, на создание запроса уйдет слишком много времени. К счастью, в Access имеется упрощенное средство поиска данных в таблицах и формах — команда Найти. Эту команду можно найти и на панели инструментов, и в строке системного меню (Правкам Найти), и даже вызвать нажатием клавиш <Ctrl+F>. Access все равно, каким образом вы активизируете команду Найти, — во всех случаях она работает одинаково. Хотя команда Найти очень проста в использовании, вам не помешает знать о нескольких приемах, которые позволят максимально использовать ее возможности. После того как вы познакомитесь с основами процесса поиска в таблице, обратите особое внимание на раздел "Ускорение и конкретизация поиска", посвященный настройкам команды Найти. В нем подробно объясняется использование установок этой команды для конкретизации поиска.
Начнем с простого... Воспользоваться командой Найти чрезвычайно просто. Вот как это делается. 1. Откройте таблицу или форму, в которой требуется произвести поиск. Команда Найти работает как в режиме таблицы, так и в формах Access. Если вы сразу хотите перейти к рассмотрению форм, обратитесь к главе 22. 2. Щелкните на поле, в пределах которого хотите произвести поиск. Команда Найти автоматически выполняет поиск во всех записях таблицы в пределах текущего поля, поэтому перед началом поиска важно правильно выбрать поле. Access совершенно не волнует, в каком именно поле вы щелкнули, — поэтому правильный выбор поля остается целиком за вами. 3. Инициируйте выполнение команды Найти. Для этого либо щелкните на кнопке Найти, расположенной на панели инструментов (с нарисованным на ней биноклем), либо выберите из системного меню команду ПравкаОНайти. Появится диалоговое окно Поиск и замена (Find and Replace). 4. В поле Образец (Find What) введите информацию, которую хотите найти (рис. 10.1). Поиск и замена i
Поиск «5Р»еч: Поиске:
замен
С I Поставщик
Совпадение: ;Попя целиком Просмотр;
;Все
$§; учетом регистра
0С учетом формата полей
Рис. 10.1. Диалоговое окно Поиск и замена готово к работе Проверьте, чтобы во введенном тексте не было грамматических ошибок или опечаток. Access не настолько умна, чтобы понять, что вы хотите найти диск, в то время как введено слово писк. 5. После щелчка на кнопке Найти далее (Find Next) начнется поиск информации. Очень скоро нужная запись будет обнаружена, к ней будет перемешен курсор, а найденный текст окажется выделенным. Если в результате поиска нужная информация найдена не будет, появится небольшое диалоговое окно с соответствующим сообщением. 6. Если в результате поиска нужная информация найдена не будет, выполните следующее. • Щелкните на кнопке ОК, чтобы окно исчезло. • Убедитесь, что вы выбрали правильное поле и верно ввели текст в строке Образец. Также полезно проверить состояние специальных опций поиска, которые рассматриваются в следующем разделе. Возможно, одна из настроек не позволила выполнить поиск правильно. • Снова щелкните на кнопке Найти далее.
132
Часть III. Поиск точного ответа на любой вопрос
А что если первая найденная запись — не та, которую вы ищете? Предположим, вы хотите найти в таблице второго, третьего или четырнадцатого Ивана Ивановича? Нет проблем — именно для этого в диалоговом окне Поиск и замена и существует кнопка Найти далее. Продолжайте щелкать на этой кнопке, пока Access либо не найдет нужную вам запись, либо не сообщит, что достигнут конец таблицы.
Ускорение и конкретизация поиска Иногда информации, представленной в текстовом поле Образец, для организации поиска недостаточно. Вы можете найти либо слишком много записей, либо такие, которые вас не совсем устраивают. Один из лучших способов ограничить количество найденных записей — это ввести дополнительные условия поиска. Точное определение задачи ускоряет ее выполнение.
Access предоставляет несколько средств для конкретизации поиска. Откройте диалоговое окно Поиск и замена, щелкнув на кнопке Найти панели инструментов, либо выбрав из системного меню команду Правка1^ Найти. Ниже приводится краткий перечень различных опций поиска и объясняется порядок их использования. Поиск в (Look In). По умолчанию Access ищет совпадения только в текущем поле — на котором вы щелкнули перед началом поиска. Для того чтобы поиск осуществлялся по всей таблице, измените настройку поля Поиск в, выбрав опцию поиска по всей таблице (рис. 10.2). Поиск и замена
Просмотр;
jBce
^
Qc учетом регистра
Рис. 10.2. Чтобы осуществить поиск по всей таблице, измените настройку поля Поиск в Совпадение (Match). Иногда при выполнении определенных задач Access самостоятельно делает некоторые предположения, и эта опция — хороший тому пример. По умолчанию элементу Совпадение присваивается значение Поля целиком (Whole Field). Это означает, что требуется найти поле, которое содержит информацию, полностью совпадающую с текстом, введенным в поле Образец. И если в поле Образец ввести слово сок, программа не найдет поля, содержащие слова сокол, кусок или осока. Не слишком удачный результат для дорогостоящей программы, правда? Такое поведение программы можно изменить, установив соответствующим образом опцию Совпадение. Установка С любой частью поля (Any Part of Field) допускает совпадение в любом месте поля (будут найдены такие записи, как Сократ и семейство соколиных). Установка S С начала поля (Start of Field) распознает только
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
133
совпадения в начале поля. Чтобы настроить опцию, щелкните на находящейся в текстовом поле Совпадение (рис. 10.3) кнопке раскрывающегося списка, а затем выберите из него подходящий элемент. Поиск и замена Поиск Образец:
Поиске:
(
Товары : таблица
;
Совпадете: <Поля целиком Просмотр:
Рис. 10.3. Чтобы правильно произвести поиск, внимательно изучите настройки опции Совпадение Просмотр (Search). Если в результате поиска было найдено слишком много записей, постарайтесь ограничить их число. Применив эту опцию, можно дать указание команде Просмотр выполнить следующее. Просмотреть Все (АИ) записи (установка по умолчанию). Искать по направлению Вверх (Up) или Вниз (Down) от текущей записи. Если щелкнуть на записи посередине таблицы, а затем осуществить поиск Вниз, то будет выполнен просмотр записей, начиная от текущей и до конца таблицы. Чтобы выбрать нужный элемент опции Просмотр, щелкните на кнопке раскрывающегося списка, расположенной в текстовом поле Просмотр, а затем выберите из него подходящий вариант. С учетом регистра (Match Case). Применение данной опции означает требование, чтобы искомый элемент в точности соответствовал данным, хранящимся в базе, в том числе и регистру составляющих его символов. При выборе этой опции в результате поиска слова Internet не будет найдено ни слово internet, ни INTERNET. Данную опцию удобно выбирать при осуществлении поиска имен. С учетом формата полей (Search Fields As Formatted). Данная опция дает указание Access обращать внимание на формат искомых данных, а не на их содержимое. Такое сужение области поиска удобно при поиске дат, идентификационных номеров и других полей со специальным форматом. Активизировать эту опцию можно, установив флажок в одноименном поле. Необходимо также отметить, что опции С учетом регистра и С учетом формата полей не будут работать одновременно. Можно активизировать только одну из них. Как правило, этой опцией вы пользоваться не будете. Она может понадобиться вам только при поиске множества полей со сложным форматом. Если команда Найти работает не так, как вам нужно, проверьте настройки вышеописанных опций. Скорее всего, одна или несколько из них установлены неправильно.
134
Часть III. Поиск точного ответа на любой вопрос
Со/г&и/говка всего живом на Наверное, только в небольшом количестве баз данных содержащаяся в них информация уже представлена в алфавитном порядке. А что делать, если ваш шеф через час захочет увидеть на своем столе весь мир в отсортированном виде? Ключ к решению этой проблемы, конечно, заключается в применении команды Сортировка (Sort), а использовать ее действительно просто! Она находится в пункте системного меню Записи (Records). Кроме того, на панели инструментов имеются две кнопки, которые отлично справятся с этой работой, — Сортировка по возрастанию (Sort Ascending) и Сортировка по убыванию (Sort Descending). j A J • г и ф. |
I ^ С помощью кнопки Сортировка по возрастанию можно упорядочить записи в алфавитном порядке сверху вниз так, что список записей будет начинаться со слов на букву "А" и завершаться словами на букву "Я". С помощью кнопки Сортировка по убыванию записи сортируются также по алфавиту, но в обратном порядке, начиная с буквы "Я" и заканчивая буквой "А". Кроме того, можно одновременно выполнить сортировку данных более чем в одном столбце. Для этого выполните следующие действия. . Щелкните на заголовке первого столбца, по которому хотите произвести сортировку. Столбец окажется выделенным. . Удерживая нажатой клавишу <Shift>, щелкните на заголовке последнего столбца, подлежащего сортировке. Теперь будут выделены все столбцы, расположенные между первым и последним выбранным столбцом.
>. Теперь выберите одну из опций сортировки: Сортировка по возрастанию или Сортировка по убыванию. Сортировка всегда выполняется слева направо. Иными словами, нельзя произвести сортировку по содержимому четвертого столбца, а затем по его записям — содержимом третьего столбца. Выбранные столбцы должны быть смежными (т.е. располагаться в таблице рядом). Жизнь была бы пресной, если бы все и всегда достигалось без всяких усилий и подвохов. Так и при работе функции сортировки имеется своя особенность, касающаяся работы с текстовыми полями, содержащими числа. Если вы хотите провести сортировку по полю, содержащему числа вперемешку с пробелами и буквами (как это бывает, например, в почтовых адресах), то Access не отсортирует числа по их по величине, так как будет трактовать их как буквы, а не как цифры. Это может привести к такому результату, когда, например, запись "10608 W . V e r m o u n t " окажется перед записью "119 Spring Mill", поскольку на втором месте в первой записи стоит цифра 0, а во второй записи на втором месте стоит 1.
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
135
записе, имеющих, н&ино о<$1цее Иногда требуется найти группу записей, совместно использующих значение одного из полей, например список клиентов в одном и том же городе, список должностей в одной организации или книг выбранной тематики. Для таких целей на вооружении Access имеется специальное средство — команда Фильтр (Filter). С помощью команды Фильтр осуществляется поиск и вывод на экран информации согласно заданным критериям. При этом создаются мини-таблицы, содержащие только отобранные записи. Эта процедура напоминает создание настоящего запроса, правда, без сопутствующего объема работы, сложностей и накладных расходов (и без особых затрат энергии). Команда Фильтр обычно обитает в системном меню Записи (Records) или на панели инструментов в виде кнопки. Access предлагает на выбор пять неповторимых команд:
Фильтр для (Filter For); Фильтр по выделенному (Filter by Selection); Изменить фильтр (Filter by Form); Исключить выделенное (Filter Excluding Selection); Расширенный фильтр (Advanced Filter/Sort). Все они выполняют одну и ту же основную функцию и отличаются только способом реализации. В следующих разделах рассматриваются первые четыре вида команды, а в главе 11 представлена подробная информация о расширенном фильтре. Фильтры работают в таблицах, формах и запросах. (Можно применить фильтр и к отчетам, но я этого делать не советую, так как при этом вы можете столкнуться с некоторыми трудностями.) В каждом из следующих разделов рассматривается применение фильтра к таблицам, но точно такие же подходы используются и при работе с запросами и формами.
Фильтр для Команда Фильтр для позволяет найти и просмотреть записи, удовлетворяющие определенному критерию. Предположим, что вы хотите увидеть записи о товарах, цена которых больше 2000 р. Вот как это сделать. 1. Щелкните правой кнопкой мыши на первом поле столбца. Откроется меню, аналогичное изображенному на рис. 10.4. После щелчка правой кнопкой на заголовке вверху столбца появится другое меню с различными полезными командами управления данным столбцом, по этому делать этого не нужно. 2. Введите условие поиска Фильтр для. В данном случае это условие ">2000, 00". Если в качестве критерия поиска задать 2 0 0 0, О О, без символа >, Access будет трактовать это условие как "=2000,00". 3. Нажмите клавишу <Enter>. В данном столбце будет произведен поиск, в результате которого Access покажет только записи, удовлетворяющие заданному критерию Фильтр для.
136
Часть III. Поиск точного ответа на любой вопрос
•Гооары : таблица
{Г)Ё®
в ИИИИНИИЯИНИИ^ВШГШЧНД'М^ t Приправы Кондитерские изделия Мясо/птица
—
—
в aijQD^. ж 7 Я фильтр по выделенному 17 :?: исключить выделенное
24 бутылки по 250 мл | 32 коробки по 500 г 20 банок по 1 кг
Кондитерские изделия 10 коробок по 12 шт. ; 4 Кондитерские изделия 30 коробок ! 36 Ч Кондитерские изделия 24 упаковки по 4 шт. 4 j Хлебобулочные изделия 24 упаковки по 500 г : 9 f Хлебобулочные изделия 12 упаковок по 250 г j 4 j Напитки 12 банок по 355 мл 2 : Кондитерские изделия 20 банок по 450 г 6 ^J ; Кондитерские изделия 100 пакетов по 250 г 14 1 Кондитерские изделия 100 штук по 100 г 19 Фрукты 25 банок по 825 г ; 2С Рыбопродукты Приправы :Хпебобулочные изделия : Приправы Приправы :Напитки Кондитерские изделия
10 штук по 200 г 15 банок по 625 г 20 пакетов по 4 шт. ; 32 бутылки по 237 мл 24 банки по 237 мл 24 бутылки по 355 мл . : 10 коробок по 8 шт.
За*къ:[М} < ("^"""Т(Т1»Т](М*]из 77
Фидьтрдля: >2000,00| Удалить фильтр Сортировка по возрастанию Сортировка по у£ьванию
§ 1
? 0
)' 3
)
D
I
Попировать
) >
Вставить Д-:^й#ть объект.. г -у...j• -^ т<-
1165,05р. | 1975.50р. j : 1 496,25р. 947.25р. : 765.00р. 630.00р.: 562,50pJ .4
0, >
10 24. 22; 76 4; 52: 6:
P 0 0^ 0 80. 0! 100 о 10
V,- т , Ji
•'""
Рис. 10.4. Команда Фильтр для в действии 4. Чтобы снова увидеть все записи, щелкните на кнопке Удалить фильтр (Remove Filter) панели инструментов или снова щелкните правой кнопкой мыши на поле и выберите из раскрывшегося меню команду Удалить фильтр. Вся таблица со всеми записями снова появится на экране. После щелчка правой кнопкой мыши еще на одном столбце и последующего выполнения команды Фильтр для Access применит ее только к уже отфильтрованным записям данного столбца, т.е. этот процесс кумулятивный. Фильтрация для всех элементов, которые больше 2000 р., будет работать нормально, но если к этому списку применить фильтрацию по элементам, которые меньше 2000 р., то мы получим пустой список. И правда, вряд ли что-то может быть одновременно меньше и больше 2000.
Фильтр по выделенному Фильтр по выделенному — самая простая из команд фильтрации. Она предполагает, что вы уже нашли одну запись, удовлетворяющую заданному критерию. Использование этой команды сродни ситуации, когда вы вытащили из толпы какого-нибудь человека и крикнули: "Эй, все кто на него похож, постройтесь здесь в ряд!" Допустим, вы просматриваете товары и вас интересуют только те из них, количество которых на складе равно 15. Команду Фильтр по выделенному можно применить следующим образом. 1. Щелкните в поле, по которому хотите выполнить фильтрацию. В данном случае это поле На складе. 2. Прокручивайте столбец до тех пор, пока не найдете товар, количество которого на складе равно 15.
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
137
3. Щелкните на этом значении, а затем на кнопке Фильтр по выделенному. (Либо щелкните на нужном значении правой кнопкой мыши и из появившегося меню выберите пункт Фильтр по выделенному.) Access немедленно отобразит таблицу, содержащую только записи о товарах, количество которых на складе равно 15 (соответствующий пример приведен на рис. 10.5). Ш Товары ; таблица
Тип [ Кондитерские изделия Напитки Кондитерские изделия {Фрукты
Единица измерения 100 пакетов по 250 г 24 бутылки по 355 мл 10 упаковок 12 штук
На складе | Ожидается | Минимальный запас Цена 1 405.35р. 675.00р. 573.75р. о"" 1 350,00р. 0:"
Рис. 10.5. Access отображает только записи, совпадающие с заданным критерием Фильтр по выделенному
\
4. По окончании фильтрации щелкните на кнопке Удалить фильтр панели инструментов. Ваша таблица будет отображена в обычном виде. Возможно, на этом этапе вы захотите сохранить список, полученный в результате работы фильтра. К сожалению, сделать этого не удастся. Для того чтобы иметь под рукой сохраненные записи по результатам поиска-фильтрации, нужно создать специальный запрос (о создании запросов вы узнаете в главе 11).
Изменить фильтр Разброс результатов поиска можно сузить, применив дополнительные фильтры. Это позволит избавиться от нежелательных записей, но такая процедура потребует намного больше усилий. Простой способ исключения группы записей на основе значений нескольких полей состоит в использовании команды Изменить фильтр. При отсеве ненужных записей команда Изменить фильтр руководствуется сразу несколькими критериями. (В некоторых случаях это похоже на самый настоящий, хотя и простой запрос. Настолько похоже, что можно сохранить критерий команды Изменить фильтр как настоящий запрос!) Допустим, вам нужен список клиентов, которые проживают в Москве или Киеве. Конечно, можно выполнить две операции поиска с использованием фильтров типа Фильтр по выделенному и записать результаты каждого из них в свой список. Однако при использовании команды Изменить фильтр можно обойтись одной процедурой поиска и получить всю эту информацию в одной таблице. Чтобы воспользоваться командой Изменить фильтр, выполните следующее. 1. Из системного меню выберите команду ЗаписиОфильтрОИзменить фильтр (RecordsOFilter^Filter by Form) либо щелкните на кнопке Изменить фильтр панели инструментов. Появится пустой фрагмент таблицы, аналогичный изображенному на рис. 10.6.
138
Часть III. Поиск точного ответа на любой вопрос
к Тооары фильтр Единица измерения
| На складе | Ожидается ] Минимальный запас
10.6. Команда Изменить фильтр запоминает последнюю установку фильтра и предполачто начнете вы с нее Обычно Access отображает кнопку со стрелкой напротив первого поля в таблице. Если же вы ранее уже использовали команду Фильтр, кнопка со стрелкой появится в последнем поле, к которому применялся фильтр (см. рис. 10.6). Обратите внимание, что Access автоматически вставила значение, которое было использовано при последней фильтрации. (Не правда ли, умная программа? Нет, нет, отвечать на этот вопрос не нужно.) 2. Щелкните на столбце, к которому вы хотите применить фильтр (воспользуйтесь полосами прокрутки, чтобы добраться до него, если на экране он не поместился). Кнопка со стрелкой переместится к тому столбцу, на котором вы щелкнули. 3. Щелкните на стрелке, чтобы просмотреть список значений, содержащихся в данном поле (рис. 10.7). Щелкните на том значении, которое вы хотите использовать в своем фильтре. На складе
Ожидается
Минимальный зе
10.7. В раскрывающемся списке указаны все уникальные значения данного поля Например, если вы выберете 15 из раскрывающегося списка поля На складе, "15" переместится в столбец На складе. Access автоматически добавит кавычки — одна небольшая деталь, которую необходимо помнить. Чтобы добавить в фильтр еще одно значение, щелкните на вкладке Или (Or) в левом нижнем углу таблицы. Откроется второе окно команды Изменить фильтр, позволяя задать альтернативный критерий поиска. Кроме того, Access добавит еще одну вкладку Или в нижнем левом углу экрана (рис. 10.8). С помощью команды Изменить фильтр хорошо отвечать на простые вопросы, например: "показать все записи, в которых содержится 15 в поле На складе." Для более сложных вопросов (например, "показать записи, в которых содержится либо 15, либо 17 в поле На складе") требуется вторая форма. Если вам необходимо задать вопрос, похожий на последний из вышеперечисленных, лучше воспользоваться полноценным запросом, а не командой Изменить фильтр. Перейдите к главе 11, где вы более подробно узнаете о запросах.
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
139
Рис. 10.8. Для определения критерия используйте столько элементов Или, сколько вам нужно 5. Повторите пп. 2-4 для каждого дополнительного критерия, который необходимо использовать в фильтре. При этом каждый раз внизу окна будет добавляться.еще одна вкладка Или. 6. По завершении задания критериев поиска щелкните на кнопке Применение фильтра (Apply Filter). Результаты поиска показаны на рис. 10.9.
Тип ; Напитки : Напитки Кондитерские изделия
Единица измерения 12 бутылок по 75 мл 16 банок по 500 г 48штук
ь
Цена 11 857.50р. 2 070,00р. 2 218,50р О.ООр
15. '25 6J
5
Рис. 10.9. В результате поиска были найдены клиенты из соответствующих регионов Дадим еще несколько советов по применению команды Изменить фильтр. •S Хотя вы можете создавать совершенно невероятные комбинации с использованием операторов Или для поиска необходимой информации, очень скоро вам станет трудно следить за своим произведением. Прежде чем создавать фильтр, который найдет все мыслимые и немыслимые элементы вашей базы данных, вспомните о существовании запросов, которые при решении сложных задач работают лучше, чем фильтры. В главе 11 речь пойдет именно о них.
щ 140
•S Создав сложный и безумно нужный фильтр, вы можете сохранить его в качестве полноценного запроса. Для этого щелкните на кнопке Сохранить как запрос (Save As Query) панели инструментов. Access добросовестно сохранит ваше произведение как запрос, а затем поместит его в список, где хранятся все запросы базы данных. Закончив экспериментировать с фильтрами, щелкните на кнопке Удалить фильтр, расположенной на панели инструментов, и ваша таблица возвратится к нормальному состоянию (настолько нормальному, насколько это возможно для таблицы данных).
Часть III. Поиск точного ответа на любой вопрос
Удаление ошибок (или когда хорошие критерии превращаются в плохие) А что делать, если в критерий вкралась ошибка? Или если вы решили не включать в поиск город Санкт-Петербург уже после того, как ввели его в критерий поиска? Не стоит делать из этого проблемы, как раз для таких случаев предусмотрена кнопка Очистить бланк (Clear Grid). Сразу же после щелчка на этой кнопке Access аннулирует все записи в бланке Изменить фильтр и предоставит вам возможность начать все сначала. Если вместо того, чтобы удалять целый фильтр, вы хотите исключить из него только один оператор Или, можете выбрать эту вкладку, а затем воспользоваться командой системного меню ПравкаоУдалить вкладку (Edit1*Delete Tab).
Команда Исключить выделенное Команда Исключить выделенное (Excluding Selection) является полной противоположностью команды Фильтр по выделенному (Filter by Selection) — она позволяет быстро скрыть несколько записей с общим атрибутом (определенный почтовый индекс, название региона, номер телефонной станции и т.д.). Вот как это сделать. 1. Прокручивайте таблицу до тех пор, пока не найдете поле, которое нужно исключить. 2. Щелкните правой кнопкой мыши на значении и выберите команду Исключить выделенное (рис. 10.10).
12 бутылок по 75 мл 16 банок по 500 г Фильтр для: удалить фильтр Сортировка по возрастанию Сортировка по убыванло Вырезать Копировать
Рис. 70.10. В мгновение ока Access скроет все записи клиентов, живущих в выбранном регионе Щелчок правой кнопкой на поле со значением производится так же, как и при использовании команды Фильтр по выделенному. 3. Нажмите клавишу <Enter>. Access оставит только те записи, в которых нет выбранного вами значения. И делается все это всего одним щелчком мышью!
Глава 10. Быстрый поиск с помощью команд Найти, Фильтр и Сортировка
141
Глава 1 1
Задайте простой вопрос и получите 10 000 ответов й гмг£е . . . >
Определение запроса
> Создание простого запроса с помощью расширенного фильтра > Глубокое изучение запросов > Используйте мастер запросов
то-то гораздо более сообразительный, чем я, когда-то заметил, что наиболее интересные вещи узнаешь не из ответов, которые дает жизнь, а из поставленных самому себе вопросов. Так или иначе — все, что мы знаем, каждая частичка информации, которой мы владеем, — порождается вопросами, которые мы задаем. Их можно задать вслух, тщательно обдумать самому или украдкой задать сидящему впереди студенту, в надежде, что он знает ответ и рискнет подсказать его. Базы данных скрупулезно следуют этому правилу. Свести информацию в базу данных — непросто, да и сам факт сбора данных не упрощает их использование. (В конце концов, готовая база данных по существу мало чем отличается от старой доброй картотеки, только занимает намного меньше места.) Настоящая мощь базы данных заключается в вопросах, которые вы ей задаете, и в ответах, которые она вам предоставляет. Access (как и другие системы управления базами данных) использует своеобразную терминологию для вопросов, задаваемых базам данных. Access называет их запросами — и это самые коварные технологические существа, которые здесь обитают. Им и будет посвящена эта глава. Она открывается вступлением о простом (а зачастую загадочном) искусстве постановки вопросов об информации, содержащейся в базе данных. Далее рассматриваются основы создания простейших запросов в Access, которые настолько просты, что программисты назвали их Расширенным фильтром. После этого вы углубитесь в джунгли информации и познаете всю мощь Access, достижимую с помощью команды Запрос на выборку. Не беспокойтесь, если ваш первый запрос выдаст обескураживающий результат. Именно так начинается знакомство с миром запросов (так же случилось и со мной). Научиться составлять хорошие запросы — не так просто, но результат будет впечатляющим. Не торопитесь, наберитесь терпения, и пусть вас утешит осознание факта, что с этого начинали все (иногда получая ответ совсем не на тот вопрос, который был задан).
fc дозам данных всю черную Запросы — это настоящие труженики Access. Именно благодаря запросам можно извлечь пользу из всей той информации, которые вы, ваши коллеги и тысячи других людей часами, днями и годами напролет вводят в базы данных. Как таблица выводит готовую к обработке информацию в удобном для представления виде, так и запросы отсеивают несущественные данные, чтобы перед вашими глазами предстал сияющий кристалл информации. Когда вы используете запросы к базе данных, то наконец получаете наглядный результат всей предыдущей утомительной и трудоемкой работы. Все вышесказанное звучит очень заманчиво, но вопрос остается открытым: что же такое запрос! Попросту говоря, это вопрос о данных, содержащихся в одной или нескольких таблицах базы данных. Запросы могут формировать списки, подсчитывать количество записей и даже выполнять расчеты, основываясь на данных вашей базы. С помощью запросов из базы данных можно извлечь любую интересующую вас информацию, например, сколько шелковых ниток в данный момент находится на складе, какие клиенты купили питательный крем для лица или как погодные условия влияют на объемы продаж мороженого. Короче говоря, именно запросы помогают ощутить всю мощь Access. Настоящие волшебные запросы могут не только отвечать на вопросы. Наиболее сложные из них могут добавлять или удалять записи из таблицы, делать математические вычисления и проводить статистический анализ.
Составление nftoctnoio запроса с помощью На первый взгляд может показаться странным, что я трачу столько времени на рассказ о запросах, если я начал эту главу с фильтров. Поверьте мне — это средство приводит меня в экстаз, и оно стоит того. Создатели Access знали, что разные способы поиска нужной информации требуют различных методик. Для разных способов поиска они включили в программное обеспечение два поисковых инструмента: фильтры и запросы. Фильтр, самый простой из них, — быстро просматривает таблицу в поисках нужных данных. Это быстрый, но недостаточно удобный и гибкий инструмент. Например, если нужно быстро вывести список всех клиентов, живущих в определенном городе, фильтр — незаменимое средство. Однако, если необходимо не только просмотреть, но и каким-либо образом обработать этот список, — одного фильтра становится недостаточно. В главе 10 рассматривались полезные, но весьма ограниченные свойства фильтра. В этом отношении запросы представляют собой гораздо более эффективное средство. Но, с другой стороны, они имеют более сложную по сравнению с фильтром структуру. Подумайте сами, может быть, ездить на велосипеде очень легко, но разве он может сравниться по скорости с мотоциклом? Однако управлять мотоциклом все-таки чуточку сложнее, чем обычным мускульным транспортом. Так же обстоят дела и с запросами. Они могут работать с одной или несколькими таблицами, проводить поиск по одному или нескольким полям и даже сохранять результаты для дальнейшего анализа.
Глава 11. Задайте простой вопрос и получите 10 000 ответов
143
Кроме всего прочего, наиболее сложный фильтр по сути является простым запросом. И первая ступенька, сделанная по лестнице запросов, — - это последний шаг по территории, принадлежащей фильтрам. Добро пожаловать во владения суперфильтра Access, который называется Расширенный фильтр и который довольно удачно выдает себя за скромный запрос! Как следует из его названия, Расширенный фильтр — это более мощная команда, чем все остальные фильтры. Она обладает такими возможностями, что ее можно рассматривать как простейшую разновидность запроса. Последовательность действий при инициировании команды Расширенный фильтр почти такая же, как и при создании запроса, — и результаты тоже сходны. Однако, несмотря на то, что команда Расширенный фильтр выглядит и действует как запрос, она остается фильтром и ограничена определенными рамками. К ним можно отнести следующие. В определенный момент времени Расширенный фильтр может работать только с одной таблицей или формой базы данных, и его нельзя применить к набору связанных таблиц. С помощью команды Расширенный фильтр можно задавать только простые вопросы. Настоящие "добропорядочные" запросы не связаны подобными ограничениями. (Именно поэтому целая часть этой книги посвящена работе с запросами.) Фильтр в виде таблицы выводит все колонки каждой записи, соответствующей заданному критерию. С помощью запроса в окончательном варианте можно вывести на экран только необходимые столбцы. Если вам не нужны некоторые столбцы, можете исключить их из запроса. Фильтры этого сделать не позволяют. Несмотря на эти ограничения, Расширенный фильтр — хорошая возможность попрактиковаться в мастерстве создания запросов. '— "*•- Хотя в этом разделе говорится только о применении фильтров к таблицам, их с тем же успехом можно применить и к запросам. Вы можете поинтересоваться, для чего это нужно. Ответ очень простой. Дело в том, что обработка некоторых запросов занимает достаточно много времени. Предположим, что вы составили достаточно сложный запрос о результатах продаж, в результате которого получили данные о продажах во всех городах. Однако вы хотите узнать о продажах не во всех городах, а только в одном из них. В этом случае гораздо легче не изменять запрос, а применить к нему соответствующий фильтр.
Заглянем в окно фильтра Окно фильтра разделено на две отдельные части. В верхней части окна располагается список полей, в котором перечисляются все поля текущей таблицы или формы. Сейчас вам не стоит особо задумываться об этой части окна. Верхняя часть окна вступит в действие, когда придет пора создавать полноценные запросы. В нижней части окна находится пустая таблица, которая будет содержать детальное описание фильтра. Несмотря на то что вы создаете фильтр, нижняя часть окна называется таблицей запроса. Далее в этой главе, когда мы будем рассматривать создание запросов, вы увидите точно такую же таблицу.
144
Часть III. Поиск точного ответа на любой вопрос
Для создания фильтра достаточно заполнить таблицу, расположенную в нижней части окна (рис. 11.1). Access с помощью раскрывающихся списков даже поможет вам это сделать. В следующем разделе приводится подробное описание каждого элемента таблицы запросов. 1в* КлиентыФильтр1 : фильтр ' 1
вшдадаон *
[^ ISlfXI ;
,; -•'':;' • . '•'. •-.•- v'. ';"у;. Л\: •
• . • ' - : '.,? : •
-
'
'..•!••-;
• •
•
• :>•. •• '
^
*..!
КодЮиента
-
!
Название
Обращатьсяк Должность *г <
:
JiV '
'
'-щI*
none; Сортировка: Условие отбора: . у или;
1
!
.* •'-,•'•
;
V
.*»•
Рис. П. 1. Окно Фильтр выглядит так же, как и обычное окно запроса
Создадим простейший запрос (фильтр) Итак, начнем увлекательный процесс создания запроса с помощью команды Расширенный фильтр. 1. Откройте таблицу, к которой хотите применить фильтр. Появится таблица. Команду Расширенный фильтр можно также применять и к формам. Если вы хотите внести разнообразие в работу (или хотите изменить готовую форму), попробуйте применить к ним фильтр. Использование фильтра при работе с таблицами и формами очень похоже, поэтому следуйте дальнейшим инструкциям. 2. Подумайте, какой вопрос вы хотите задать и какие поля будут в этом участвовать. Можно запросить список товаров, поступивших на склад два месяца назад, перечень клиентов, проживающих в Москве или Амстердаме, список книг, отсортированных по фамилии автора, или рецепты блюд, содержащие шпинат и которые можно быстро приготовить. В зависимости от вопроса, отметьте, какое поле в таблице должно содержать ответ на него, и четко сформулируйте сам вопрос. ^ ft,. ЦД j ч|ИР/
He волнуйтесь, если ответ на ваш вопрос будет содержаться в нескольких полях (как, например, в случае с рецептом) или включать несколько критериев (как, например, клиенты в разных странах или городах). Фильтры и запросы могут обрабатывать вопросы, содержащие несколько полей и включающие несколько условий.
3. Из системного меню выберите команду ЗаписиОФильтрОРасширенный фильтр (Records^FilteroAdvanced Filter/Sort). Появится диалоговое окно Фильтр (см. рис. 11.1), готовое к выполнению дальнейших указаний. Если к этой таблице ранее уже применялся фильтр, Access отобразит информацию из старого фильтра в новом окне. В противном случае окно Фильтр будет пустым. Это окно представляет собой не что иное, как упрощенное окно запроса. Фильтр выглядит и ведет себя во многом как настоящий запрос. По сравнению с полным окном запроса окно Фильтр содержит меньшее количество подсказок. Более подробная информация о запросах приведена далее в этой главе.
Глава 11. Задайте простой вопрос и получите 10 000 ответов
145
4. Щелкните в первом текстовом поле строки Поле (Field), расположенной в нижней части окна, а затем на кнопке раскрывающегося списка. В раскрывающемся списке будут перечислены все имена полей таблицы. 5. Щелкните на названии того поля, которое вы определили в п. 2. Access услужливо поместит его в текстовое поле Поле таблицы запросов. Все идет по плану. 6. Чтобы отсортировать результаты поиска с применением фильтра по этому полю, щелкните в поле Сортировка (Sort), а затем на появившейся кнопке со стрелкой. Из раскрывающегося списка выберите пункт По возрастанию (Ascending) либо По убыванию (Descending). Если вы хотите, чтобы таблица с результатами появилась в том же виде, в котором обычно выводится ваша информация, пропустите этот шаг. Сортировка по возрастанию означает упорядочение от меньшего к большему (А, Б, В...), а неубыванию — наоборот, от большего к меньшему (Я, Ю, Э...). 7. Щелкните в поле Условие отбора (Criteria), расположенном ниже. Введите интересующий вас вопрос. Постановка условия является наиболее сложной частью при создании запроса и может нарушить весь стройный процесс. Постановка условия представляет собой ваш вопрос, переведенный на язык понятий Access. Эта процедура может занять массу времени, но приведенная ниже таблица упростит задачу. Если вы хотите подробнее ознакомиться с булевой логикой — языком критериев Access, — загляните в главу 13. 8. Если для одного поля необходимо задать больше, чем одно условие, щелкните в поле Или (Or), которое находится непосредственно под полем Условие отбора, и введите дополнительное условие. Не стесняйтесь использовать несколько вкладок Или, смело создавайте новую строку для введения дополнительного условия. Если вы уже ввели несколько критериев Или, может показаться, что первоначальное значение исчезло с экрана. Не волнуйтесь — вы ничего не перепутали. Просто Access прокручивает таблицу таким образом, чтобы осталось место для введения нового условия. Чтобы перейти к первой записи, щелкните на стрелке, расположенной на полосе прокрутки. 9. Если необходимо задать условия для нескольких полей, повторите действия, описанные в пп. 4—8. Когда все условия будут расставлены по своим местам, пора приступать к испытаниям. 10. Для применения фильтра из системного меню выберите команду Фильтр1^ Применить фильтр (FilterOApply Filter/Sort) или щелкните на кнопке Применение фильтра (Apply Filter) панели инструментов. После секундного раздумья программы таблица чудесным образом изменится, и перед глазами останутся только те записи, которые соответствуют примененному фильтру (рис. 11.2). Здорово, правда?
146
Часть III. Поиск точного ответа на любой вопрос
НИИ. Повехнрсти Rattlesnake Canyon Grc Paula Wilson Помощник првдста: 2817 Milton Dr. pLDWO _Old World Delicatessen Rene Phillips Представитель 2743 Bering St. ;Walserweg 21 'Ахен ''"iprachenblut Delikatesse; Sven OfflietT^I I Координатор JLAS LILA-SuperrpercacIo Carlos Gonzalez Бухгалтер _ jCarrera 52 con Ave Баркисимето Lara •GALED ~ Galena del gastrynomo Eduardo Saavedra Главный менеджер Rambla de Cataluna Барселона Magazzmi Alirnentari Rn Giovanni Royelli Главный менеджер Via Ludovico II Moro Бергамо_ Alfreds Futterkiste Mana Anders Представитель Obere Str. _57_ _ Берлин Совладелец ;Hauptstr. 29 _ [Берн CHOPS''' Chop-suey Chinese Yang Wang Ученик продавца • Maubelstr. 90 ;Бранден6ург jKOENE ....... :Koniglich Essen [Philip Cramer Совладелец Xkergatan 24 ;Брекке [Maria Larsson '~:£<*ochlaHB ^'~ iFOLKO ' [Rue Joseph-Bens 5: Брюссель Maispn Dewey I Catherine Dewey Продавец _ [iywrSD'7 'SAVEA Saye-a-lot Markets I Jose Peyarpffi Представитель И 87 Suffolk Ln. ,Буа ID JLiyWong ;THECR ........ The Cracker Box Помощник менедж< 55 Grizzly Peak Rd. |Бут МТ CACTU" Продавец jCerrito 333 ; Буэнос-Айрес ; Cactys Cqmidas para lie Patricio Simpson OCEAN Oceano Atlantico Ltda Yvonne Moncada Продавец ;lng. Gustavo Moncai Буэнос-Айрес Представитель : Ay. del Libertador 9C Буэнос-Ай|зес.. [RANCH Rancho grande ^Sergio Gutierrez .Ванкувер Вс5 ILAUGB ...... Laughing Bacchus Win Yoshi Tannamun Помощник менедж< 1900 Oak St i WOL2A Wolski Zajazd IZbyszek Piestrzenie Совладелец ;ul Filtrowa 68 ;Варшава ILACOR La corne d'abondance i Daniel Tonini Представитель 67, avenue de ГЕиго:Версаль Frnst Няпг<й1 iRnlflnd МЙП^А! МЙИРПШ^П пп пппл; Kirr.hna^^ft R Тпягс 'FPNSH [ > 1 ИТ>*1 из 41 .«. .
V
Рис. 11.2. Отфильтрованные данные появляются, словно по волшебству Для того чтобы вернуться к первоначальному виду таблицы и снова увидеть все данные, еще раз щелкните на той же кнопке, но которая теперь называется Удалить фильтр. В мгновение ока данные займут свои прежние места.
Таблица 11.1. Основные операторы сравнения Название
Символ
Назначение
Пример
Равно
(нет)
Отображает все записи, значения которых точно соответствуют введенному условию
Для просмотра всех сделок, совершенных клиентом под номером 37, введите 37 в строке Условие отбора
Меньше чем
<
Выводит все записи, значения которых меньше введенного
Если в поле Цена ввести условие <30, то будут найдены все цены ниже этого значения, например 2 9 , 9 9
Больше чем
>
Выводит все записи, значения которых больше введенного
Если в поле Цена ввести условие >30, то будут найдены все цены, значения которых будут больше 30 (начиная с 30,01)
Больше или равно
>=
Аналогичен оператору больше чем, но включает также значение, указанное в критерии поиска
При условии >=зо будут выбраны все значения от 30 и выше
Меньше или равно
<=
Если добавить знак = к оператору меньше чем, то в результате поиска будут выведены все записи, значения которых меньше или равны заданному
При условии <=30 будут выбраны записи, значения которых не только меньше 30, но и равные ему
Не равно
<>
Этот оператор ищет все записи, значения которых не соответствуют заданному критерию
Если вы хотите вывести список всех записей со всеми значениями, кроме 30, введите условие озо
Глава 11. Задайте простой вопрос и получите 10 000 ответов
147
Если вам понравился созданный фильтр и вы хотите его сохранить, сделать это можно следующим образом. i 1. Щелкните на кнопке Сохранить как запрос (Save As Query), расположенной на панели инструментов (на ней изображена дискета с маленькой воронкой). Появится диалоговое окно, спрашивающее, под каким именем вы хотите сохранить запрос. 2. Введите имя и щелкните на кнопке ОК. Access бережно сохранит данный фильтр как запрос и поместит его в разделе Запросы (Queries) в окне базы данных.
Уанали OfH сложных вопросов? Соанавыне запрос Иногда все, что вам нужно, — это быстро получить необходимую информацию. В следующий раз вам может понадобиться тщательный, продуманный анализ, иными словами, над ним придется как следует попотеть. Благодаря инструментам, которые предоставляет Access, такая работа чрезвычайно упрощается. Основной инструмент запросов, который существенно облегчает вам жизнь, — запрос на выборку. Разработчики программного обеспечения изо всех сил стараются называть свои творения в соответствии с выполняемыми функциями, поэтому этот элемент так и называется — запрос на выборку. Такие запросы выбирают соответствующие записи из базы данных и выводят на экран результаты, соответствующие поставленным условиям. В отличие от своего упрощенного собрата, о котором шла речь в предыдущем разделе, команда Запрос на выборку предлагает широкий выбор полезных и мощных инструментов. К ним можно отнести следующие функции. •S Запрос можно применять сразу к нескольким таблицам. Поскольку команда Запрос на выборку "понимает" реляционные связи Access, такой тип запроса может использовать данные из нескольких таблиц. S На экран можно вывести только необходимые поля. Команда Запрос на выборку включает такой популярный элемент настройки, как Вывод на экран (Show), который и указывает Access, какие поля должны быть отображены при выводе результата запроса. •/ В таблице результатов запроса можно менять порядок расположения полей. Вы можете располагать поля именно так, как вам нравится, и при этом исходная таблица останется неизменной. , S На экран можно выводить только необходимое количество записей. Если вас интересуют первые 5, 25 или 100 записей, либо в процентном отношении 5 или 25%, Access с удовольствием пойдет вам навстречу посредством опции Набор значений (Top Value). В следующем разделе рассматриваются основы создания Запроса на выборку с использованием одной таблицы, но в дальнейших главах будет подробно рассказано о перечисленных выше преимуществах запросов.
148
Часть III. Поиск точного ответа на любой вопрос
Со&навление зсигрюсов и поучение otnetHO Создание Запроса на выборку очень напоминает использование команды Расширенный фильтр, но этот процесс включает несколько дополнительных шагов. Ниже приводится подробное описание составления запроса и даются некоторые советы, о которых следует помнить. 1. Откройте базу данных, в которой хотите создать запрос. Щелкните на кнопке Запросы (Queries), расположенной в левой части окна. Появятся список всех имеющихся запросов (если предположить, что таковые имеются) и несколько дополнительных опций, предназначенных для создания новых запросов. 2. Подумайте, какой запрос вы хотите создать, какие поля понадобятся для этого и какие поля должны появиться в таблице результатов. Поскольку Запрос на выборку позволяет использовать большее количество опций, вам следует продумывать шаги тщательнее, чем при выполнении команды Расширенный фильтр. Однако основные этапы остаются прежними. Например, в каких полях содержится интересующая вас информация? Какие поля вы хотите увидеть в результирующей таблице? Отнеситесь к этим вопросам со всем вниманием, поскольку именно они будут формировать фундамент вашего запроса. 3. Дважды щелкните на элементе Создание запроса в режиме конструктора (Create query in design view). Внешний вид экрана мгновенно изменится, и вы увидите два окна: • пустое диалоговое окно Запрос на выборку; • небольшое диалоговое окно Добавление таблицы (Show Table). 4. В окне Добавление таблицы щелкните на имени таблицы, к которой хотите создать запрос, а затем на кнопке Добавить (Add). Для того чтобы закрыть окно, щелкните на кнопке Закрыть (Close). В верхней части окна Запрос на выборку появится небольшое окно с перечнем всех полей таблицы. . 5. Щелкните на раскрывающемся списке текстового поля Поле (Field) и выберите нужное имя поля. Access автоматически помещает имя таблицы в поле Имя таблицы (Table) и предполагает, что вы хотите включить это поле в таблицу результатов (появится флажок в поле Вывод на экран). В маленьком окне таблицы (в верхней части окна запроса) вы можете просмотреть список всех полей, имеющихся в данной таблице. Дважды щелкните на имени поля, которое хотите использовать в создании запроса, и Access поместит поле в таблицу запроса, расположенную в нижней части окна запроса. По крайней мере именно так я и поступаю, особенно когда приходится иметь дело с запросами, в которых используется несколько таблиц (об этом я расскажу в следующей главе). 6. Повторяйте п. 5 до тех пор, пока все необходимые поля не займут свое место в таблице запроса.
Глава 11. Задайте простой вопрос и получите 10 000 ответов
149
А теперь пришло время заняться сортировкой. 7. Для того чтобы провести сортировку по определенному полю, щелкните в поле Сортировать (Sort), затем на кнопке раскрывающегося списка и выберите из него пункт По возрастанию или По убыванию. Как и при использовании команды Расширенный фильтр, Access предоставляет на выбор уже знакомые вам опции. Если вы дадите указание провести сортировку по нескольким полям, Access начнет этот процесс с крайнего левого поля и далее по порядку, в строгом соответствии с номерами записей, содержащихся в первом поле. Некоторые подробности о процессе сортировки вы можете прочитать в приведенной ниже врезке "Расставим все по местам". 8. Если вы не хотите, чтобы какое-либо поле появлялось в таблице результатов, снимите для него флажок в поле опции Вывод на экран. 9. Для каждого поля введите условие запроса. В Запросе на выборку используются те же правила, которые рассматривались применительно к Расширенному фильтру, включая все операторы, приведенные в табл. 11.1. Если вам понадобятся условия Или (например, клиенты в разных городах), используйте в таблице запросов поле Или (пример приведен на рис. 11.3). Запрос! : запрос на выборку
Поле: Имя таблицы: СорП-рОвкэ: Вывод на хран: Условие отбора:
"-'.
или:
ОбращатьсяК Клиенты
Ж
Lice's" Uke"S"
Город
; 'Лондон" ^'Лондон"
Рис. 113. Я хочу увидеть клиентов, проживающих в Лондоне, фамилии которых начинаются на букву "S" Будучи более мощным средством, Запрос на выборку поддерживает для поля Условие отбора некоторые специальные операторы, помимо тех, что приводились в табл. 11.1. Более подробная информация о других операторах приведена в главе 13. 10. Бросаем последний взгляд на проделанную работу, глубоко вдыхаем и щелкаем на кнопке Запуск (Run). Через мгновение Access выведет на экран таблицу с результатами запроса (рис. 11.4).
750
Часть III. Поиск точного ответа на любой вопрос
г1 Запрос 1 : запрос на выборку
Рис. 11.4. А вот наконец-то и результат запроса! Если то, что вы видите на экране, не соответствует вашему представлению о правильном результате (похоже, это любимое занятие компьютеров), еще раз перепроверьте поставленные условия. Ошибки чаще всего встречаются при некорректном применении символов больше чем (>) и меньше чем(<), пропуске знака равенства (=) в операторах условий больше (меньше) чем или равно или при неправильном написании района, области или почтового кода. Если вам понравился созданный запрос, не забудьте его сохранить! Если вы все равно не сделали этого, Access напомнит вам об этом, когда вы попытаетесь закрыть окно запроса.
Расставим все по местам
-
—"
-
'
• •
В арсенале Access имеется замечательный инструмент для сортировки результатов, полученных после выполнения запросов. Ведь от того, что вы щелкаете на маленьких кнопочках с названием Сортировка и выбираете команду По возрастанию или По убыванию, создание запросов не становится сложнее, правда? Единственная проблема заключается в том, что Access автоматически сортирует результаты слева направо. Если сортировка применяется только один раз, это не имеет значения. Но если необходимо провести сортировку по двум параметрам (например, код клиента и код товара), то процесс усложняется. Столбец, который расположен левее, автоматически сортируется как базовая, а все остальные поля играют вспомогательную роль. Управление сортировкой — несложный процесс, однако и не очевидный. Поскольку Access сортирует записи в таблице слева направо, весь фокус состоит в том, чтобы соответствующим образом переместить столбцы. (Согласитесь, что к такому выводу мог прийти только настоящий профессионал.) Для того чтобы поменять столбцы местами, подведите,указатель мыши к тонкой серой панели, расположенной как раз над именем поля в таблице запросов. Когда указатель превратится стрелку, указывающую вниз, один раз щелкните кнопкой мыши, и все поле окажется выделенным. (Бояться не следует— это была самая сложная часть во всем процессе.) Затем еще раз нажмите кнопку мыши и, удерживая ее, переместите поле к новому месту в таблице. По мере перемещения указателя появившаяся черная вертикальная черта будет указывать, где окажется поле, когда вы отпустите кнопку мыши. Когда эта черта окажется в нужном месте, отпустите кнопку, и вновь появившееся поле уютно устроится на новом месте. Добавлю, что наряду с порядком сортировки этот трюк с перемещением также повлияет на порядок вывода полей в результирующей таблице. Можете смело поэкспериментировать с перемещением столбцов и выстроить их на свое усмотрение.
Глава 11. Задайте простой вопрос и получите 10 000 ответов
151
Macinefi запросов Помимо использования команд Расширенный фильтр и Запрос на выборку, можно позвать на помощь мастера простых запросов. А если вы умеете создавать запросы вручную с помощью команды Новый запрос (New Query), то мастер покажется вам детской игрушкой. Как и все встроенные мастера Access, мастер простых запросов позаботится обо всей черновой работе. Вам придется лишь отметить поля для сортировки и ввести условие отбора. Если вы хотите использовать мастер простых запросов, выполните следующие действия. 1. В окне базы данных щелкните на категории Запрос, затем выберете команду Создать запроса с помощью мастера (Simple Query Wizard). Откроется диалоговое окно Создание простых запросов (рис. 11.5) с просьбой выбрать поля для данного запроса. Создание простых запросов Выберите поля для запроса. Допускается выбор нескольких таблиц или запросов,
Тэблщы и запросы Запрос: Выбор счета Доступные поля:
Выбранные поля:
! АдресПолучатепя : ГородПолучателя i ОбластьПопу чэтепя ! ИндеюгПолучатепя \ СтранаПолучателя ]Кодклиента ! Клиенты.Название
Рис. 11.5. Мастер простых запросов интересуется вашей базой данных Щелкните на кнопке раскрывающегося списка Таблицы и запросы (Tables/Queries) и выберите из него элементы, которые хотите использовать в своем запросе. Мастер позволит вам выбрать поля как из любых привязанных таблиц вашей базы данных, так и из других, ранее созданных запросов. Сообщите мастеру, какие поля будут использоваться в запросе. • Чтобы переместить поле из подраздела Доступные поля (Available Fields), щелкните на названии поля, а затем на кнопке >. • Чтобы поместить все поля базы данных в подраздел Выбранные поля (Selected Fields), щелкните на кнопке ». • Если вы решили отказаться от какого-либо выбранного поля, выделите его в окне Выбранные поля и щелкните на кнопке <. • Для удаления из этого окна всех выбранных полей щелкните на кнопке «.
152
Часть III. Поиск точного ответа на любой вопрос
• Чтобы просмотреть поля из другой таблицы или запроса, щелкните в окне Таблицы и запросы на кнопке с раскрывающей стрелкой и выберите из списка новую таблицу или запрос. В списке Доступные поля автоматически появятся содержащиеся в них поля. 4. Щелкните на кнопке Далее (Next). Мастер на мгновение задумается и сделает одно из двух, в зависимости от того, выбирали вы поля из одной таблицы или из нескольких. Если в запросе участвуют поля из двух и более таблиц или запросов, мастер обычно выводит на экран диалоговое окно с резюме и детальными опциями. Если в запросе используются поля только из одной таблицы (или если мастер своенравно решит, что никакие результирующие опции не нужны), вы сразу прейдете к присвоению имени запросу. Откуда мастер знает, нужны ли ему какие-либо окончательные настройки? Хороший и довольно серьезный вопрос, поэтому читайте внимательно. Решение мастера в основном зависит от первого, добавленного вами в запрос поля и от связей между таблицами. Помните связь между таблицами "один ко многим" из главы 5? Вот где она используется. Если первое поле в запросе является ключевым для связи "один ко многим" с другой таблицей в запросе, мастер сделает итоговые значения сам. Если же первое поле в запросе для данной связи ключевым не является, мастер этого делать не будет. Более подробно о связях между таблицами см. в главе 5. 5. Если мастер предложит вам выбрать опции Итоговый (Summary) и Подробный (Detail), выберите одну из них и щелкните на кнопке Далее. Если вы хотите видеть каждое поле каждой записи, выберите Подробный. Чтобы увидеть краткий обзор, в том числе автоматически подсчитанные суммы любых указанных числовых полей вашего запроса, выберите Итоговый. 6. Введите имя создаваемого запроса (рис. 11.6). Создание простых запросов Задайте имя запроса:
Указаны все сведения, необходимые для создания запроса с помощью мастера, Дальнейшие действия: (#) Открыть запрос для просмотра данных. О Изменить макет запроса.:
\ 1 Вывести с.правку по работе с запросом?
Рис. 11.6. Каждый запрос должен иметь имя •Если установить флажок внизу экрана, откроется файл помощи, в котором объясняется, как настроить ваш запрос.
Глава 11. Задайте простой вопрос и получите 10 000 ответов
153
7. Если вы хотите придать новому запросу лоск и шик, щелкните в поле Изменить макет запроса (Modify the Query Design). В результате вы вернетесь в окно конструктора запросов, где сможете выполнить такие операции, как, например, сортировку или суммирование. 8. Если вас вполне устраивают выбранные настройки запроса, то, чтобы просмотреть полученные данные в режиме таблицы, установите переключатель в поле опции Открыть запрос для просмотра данных (Open the Query to View Information). После этого запрос запустится и представит результаты в обычной таблице Access. Другая команда, Изменить макет запроса, перенесет вас на экран конструктора запроса, чтобы можно было вручную настроить запрос. 9. Щелкните на кнопке Готово и наслаждайтесь результатами своей работы. Как бы то ни было, на экране появятся результаты. Поздравляем, работа выполнена успешно (или как минимум запрос был выполнен).
154
Часть III. Поиск точного ответа на любой вопрос
Глава 12
Поиск данных во многих таблицах вэ&ой главе... >
Настройка запросов с использованием нескольких таблиц
> Обратимся к мастеру запросов >
Создание запросов в режиме конструктора
[ оздание всего лишь одного запроса к одной таблице несколько умаляет достоинства ^** такой мощной программы, как Access. В конце концов, программы, управляющие реляционными базами данных, к числу которых принадлежит и Access, все свое время и энергию затрачивают на организацию данных в виде многих таблиц. Для чего бы это было нужно, если бы не существовало способа, благодаря которому создаются связи между разрозненными таблицами, вследствие чего появляется возможность отвечать не только на простые, но и на сложные вопросы? Это выглядело бы слишком скучно. Безусловно, Access обладает инструментами для создания запросов к нескольким таблицам. И в освоении этого непростого процесса вам поможет мастер запросов. Кроме того, в главе будет подробно рассматриваться процедура создания такого запроса вручную. Нет ничего постыдного в использовании мастера при создании сложных запросов. Это очень непростая процедура — только представьте себе, некоторые люди специально поступают в учебные заведения, чтобы освоить управление базами данных, — но мастер запросов выполнит за вас всю черновую работу.
Несколько оЯщих соо ко созданию мяй10*на&1ич,нмх зап/юсов Иногда для получения всей необходимой информации нужно воспользоваться несколькими таблицами. (Мы живем в корпоративном мире, и тот факт, что вам придется работать со многими таблицами, практически предрешен.) К счастью, Access является реляционной базой данных, а потому позволяет устанавливать связи между различными таблицами, с которыми вы работаете. Это означает, что пользователь может работать с двумя или несколькими таблицами и находить связанную информацию. В большинстве случаев многотабличные запросы выполняются точно так же, как запросы, созданные для одной таблицы. Вам только следует указать Access, что вы нуждаетесь в информации из различных источников, а программа сама сделает все остальное. Access поддерживает связи между таблицами базы данных. Как правило, такие связи создаются при проектировании базы данных. Когда вы создаете таблицы и вводите в них ключевые поля, вы уже подготавливаете таблицы для работы с запросами.
•
Ключевые поля — это тот "клей", который связывает таблицы вместе. Эти связи используются для указания соответствия записей в разных таблицах при создании запросов. Например, можно создать связь между поставщиками и покупателями, а также различными видами поставляемых товаров и их ценой (рис. 12.1). '
Рис. 12.1. В многотабличном запросе таблицы связаны с целью совместного использования данных В таблице Поставщики хранится контактная информация для всех, кто продает товары с аукциона. Чтобы не путать клиентов с одинаковыми именами, компания присвоила каждому из них уникальный номер (КодПоставщика). Таким образом, не существует двоих клиентов с одинаковыми номерами, и именно это поле является ключевым для таблицы Поставщики. ~ Во второй таблице, Товары, перечислены все товары, которые выставляются этими клиентами на продажу. Для порядка каждый товар имеет свой собственный уникальный идентификатор КодТовара. Так как каждый товар поступает от кого-то из таблицы Поставщики, компания поместила номер продавца (число, хранящееся в поле КодПоставщика таблицы Поставщики) в поле Код Поставщика таблицы Товары. Таким образом, связываются две таблицы. Посредством такой связи каждый номер КодПоставщика в таблице Товары соответствует номеру КодПоставщика таблицы Поставщики. Чтобы определить, кто выставил определенный товар на аукцион, сотрудник компании считывает номер товара в поле КодПоставщика и по нему переходит к полю КодПоставщика таблицы Поставщики. Информация поступает незамедлительно! Перед тем как создавать многотабличные запросы, следует понимать, как взаимодействуют таблицы в базе данных. Если говорить точнее, нужно знать, какие поля используются для создания связей между таблицами. Если вы этого не знаете, то можете попасть в беду (что может выразиться в-создании совершенно бесполезного запроса). Более подробную информацию о связях и использовании инструментов для создания связей см. в главе 5.
fc MactHefitf зсиг/госов Мастер запросов не был бы мастером, если бы он мог создавать запросы только для одной таблицы. К счастью, он гордо несет имя мастера, потому что работает и с многотабличными запросами. Чтобы создать многотабличный запрос, выполните следующие действия.
1. В окне базы данных щелкните на вкладке Запросы (Queries), расположенной под панелью Объекты (Objects) в левой части окна. В окне появятся все запросы, имеющиеся в настоящий момент в базе данных.
2. Дважды щелкните на кнопке Создание запроса с помощью мастера (Create Query by Using Wizard). •
156
Часть ///. Поиск точного ответа на любой вопрос
Появится диалоговое окно Создание простых запросов (Simple Query Wizard). Не удивляйтесь, если оно выглядит очень знакомым, — то же самое окно вы видели при создании простого запроса. Он не волшебник, но тоже умеет создавать многотабличные запросы! 3. В поле Таблицы и запросы (Tables/Queries) щелкните на кнопке раскрывающегося списка (рис. 12.2), а затем на имени первой таблицы, которую требуется включить в этот запрос. Создание простых запросов Выберете поля для запроса Допускается выбор нескольких таблиц или запросов.
таблицы и запросы
Таблица; клиенты Таблица: Сотруд>*1ки Таблица: Список рассылки Таблица: Типы Таблица: Товары Запрос: Выбор счета Запрос: Выбор счета Запрос Запрос Десять самых дороги* т Запрос: Запрос Заказы
—jHibi.Hdjajdme
Рис. 12.2. Для создания многотабличного запроса воспользуйтесь мастером простых запросов В списке Доступные поля (Available Fields) появятся поля, имеющиеся в данной таблице (впрочем, вы об этом, наверное, уже догадались). 4. В списке Доступные поля дважды щелкните на имени каждого поля, которое нужно включить в запрос. Если вы случайно ошиблись, дважды щелкните на имени "лишнего" поля в списке Выбранные поля (Selected Fields). Оно вернется в список Доступные поля. 5. После того как вы завершите выбор полей из этой таблицы, повторите пп. 3 и 4 для следующей таблицы, которую хотите использовать в запросе. Таким образом, когда все нужные поля окажутся в списке Выбранные поля, переходите к п. 6. 6. Щелкните на кнопке Далее (Next). Появится диалоговое окно (рис. 12.3), однако не паникуйте, если этого не произойдет. Если вместо него Access предложит присвоить запросу имя, перейдите к п. 8. Если вы включили в запрос поля двух таблиц, не связанных друг с другом, то после щелчка на кнопке Далее на экране появится помощник Access. Помощник напомнит, что таблицы должны быть связаны, и предложит устранить эту проблему. Впрочем, предложит — не то слово. Он вежливо потребует установить связь между таблицами прежде, чем создавать запрос. В этом случае щелкните в окне помощника на кнопке ОК и перейдите непосредственно в окно Схема данных (Relationships). Устраните проблему со связями, а затем вновь вызовите мастера запросов и начните все сначала. О связях между таблицами см. в главах 4 и 5.
Глава 12. Поиск данных во многих таблицах
157
Создание простых запросов Выберите подробный или итоговый отчет:
.
(«') родробИэй (вьвод каждого поля каждой затеи) Q) итоговый
Далее >
Рис. 12.3. В зависимости от типа информации, содержащейся в запросе, мастер может предложить создать либо подробный, либо итоговый отчет 7. Если мастер предложит сделать выбор между Подробным (Detail) (вывод каждого поля каждой записи) и Итоговым (Summary) запросом, установите переключатель в соответствующее поле, а затем щелкните на кнопке Далее. • Подробный запрос создает таблицу, в которой представлены все записи, соответствующие данному запросу. В соответствии со своим названием он предоставит вам все подробности. • Итоговый запрос сообщает мастеру, что вам не нужно видеть каждую запись; вам требуется всего лишь итоговая информация. Если вы хотите сделать какие-либо настройки итогового запроса, щелкните на кнопке Итоги (Summary Options). Появится диалоговое окно Итоги, аналогичное изображенному на рис. 12.4. Установите нужные опции и щелкните на кнопке ОК.
Отпуонаяцена
S H O D
[j Подсчет числа записей в Заказано
Рис. 12.4. Access предлагает разные способы резюмирования данных
158
Часть III. Поиск точного ответа на любой вопрос
8. В текстовом поле введите имя запроса и щелкните на кнопке Готово. Запрос сделает свое дело, и на экране появятся результаты, как показано на рис. 12.5. Примите поздравления!
Pavlova Alice Mutton Carnarvon Tigers Teatime Chocolate Biscuits Sir Rodney's Marmalade ;ir Rodney's Scones Gustaf's Knackebrod Tunnbrod Guarana Fantastica NuNuCa Nuss-Nougat-Creme Gumbar Gummibarchen Scnoggi Schokolade la Яяг
Mayumi's JPaviova. Ltd. • iPavlova. Ltd. jPaylova. Ltd. i Specialty Biscuits, Ltd. : Specialty Biscuits. Ltd. Specialty Biscuits, Ltd. :PB Knackebrod AB PB Knackebrod AB :Refrescos Americanas LTDA iAp Германия-Россия IAO Германия-Россия ;Ap Германия-Россия Pli it7ftr I fthflnqmittfllnrneicmflrktft I I 77
|! "3645.0pp. 'Jt 450.00р. 8i ?45,00p 9! 405.00р. Ipi 202,50рГ Tli 630, pop Г 12J" 1405.35р. 13i " 1 975.50р.
Рис. 12.5. Результаты многотабличного итогового запроса, представленные в виде таблицы
SatcatfiutHe fu/кова u Использование для построения запроса мастера — не всегда лучшее решение. Запрос может оказаться слишком сложным или требовать специальной обработки данных (а может, в данный момент вам просто не хочется иметь дело с мастером). В этом случае можно создать запрос вручную в режиме конструктора. Хотя этот режим может показаться несколько сложным, не стоит его бояться. Привыкнув, вы, возможно, обнаружите, что именно таким путем предпочитаете создавать запросы. (Какая дикая мысль!)
Мастера на все случаи жизни Интересно, а имеется ли общее название для набора мастеров? Пожалуй; должно быть, поскольку- Access предлагает услуги целого арсенала ассистентов. В главе 11 вы уже познакомились -с мастером простого запроса — наиболее полезным средством для повседневных потребностей при работе с Access. Однако в Access имеются еще три мастера запросов, которые всегда готовы прийти вам на помощь, — Перекрестный запрос, Повторяющиеся записи и Записи без подчиненных. К сожалению, не все эти средства настолько же понятны, насколько понятен простой запрос/Существует вероятность, что рядовым пользователям может понадобиться мастер перекрестного запроса. Более подробно об этом запросе можно узнать в главе 14. Оставшиеся два мастера (Повторяющиеся записи и Записи без подчиненных) настолько причудливы, что вам нет необходимости помнить о них.
Глава 12. Поиск данных во многих таблицах
159
Перед созданием многотабличного запроса убедитесь, что таблицы базы данных связаны друг с другом. Если вы в этом не уверены, вернитесь к окну базы данных и щелкните на кнопке Схема данных панели инструментов (о связях между таблицами см. в главе 5). Для создания многотабличного запроса вручную (в режиме конструктора) выполните следующие действия. 1. В окне базы данных щелкните на вкладке Запросы, расположенной в левой части окна базы данных. Появится список всех имеющихся запросов, готовых к выполнению. 2. Дважды щелкните на кнопке Создание запроса в режиме конструктора (Create a Query in Design View). Через мгновение появится диалоговое окно Добавление таблицы (Show Table). За ним видно пустое окно, в котором вскоре будет сформирован ваш запрос. 3. Дважды щелкните на имени первой таблицы, которую хотите включить в запрос. В окне запроса появится небольшое окно, содержащее перечень полей данной таблицы (рис. 12.6). Добавление таблицы Табшцы Доставка Заказано .Заказы Поставщики •Сотрудники : Список рассылки :Типы : Товары
Рис. 12.6. Первая таблица занимает свое место в создаваемом запросе . Для каждой таблицы, которую вы хотите добавить в запрос, повторите п. 3. Затем, щелкнув на кнопке Закрыть, избавьтесь от диалогового окна Добавление таблицы. Не волнуйтесь, если в окне запроса между таблицами появятся линии (рис. 12.7). Так и должно быть — Access показывает, что знает, как связать эти таблицы. Если вы уже добавили таблицы в запрос, но никаких связей между ними не появилось, это говорит о том, что Access не имеет ни малейшего представления, как связать таблицы. В этом случае одним из вариантов решения проблемы будет отмена создания запроса. Закройте диалоговое окно запроса и щелкните на кнопке Схема данных панели инструментов, чтобы установить необходимые связи. Другим вариантом является создание связей в окне запроса. Для этого достаточно перетащить поле из одной таблицы в соответствующее ему поле другой таблицы. . Добавьте нужные поля в бланк запроса. Для этого дважды щелкните на каждом из них в диалоговом окне таблицы (рис. 12.8). Повторяйте это действие до тех пор, пока все необходимые поля не займут положенные места. 160
Часть III. Поиск точного ответа на любой вопрос
г1- Запрос 1 : запрос иа выборку • "
ЛЩЬШЦИ II IlillJM |ШИЬуЦШ|М|
ЕжшшШ^НН КодТовара Марка КодПоставщика КодТипа Единицаизмерения Цена
"-"" '
"».."
" " .
"
"
.
•
,
" '.;'Х"~
КолПпггавгцикэ
"
,
"
'«"'•"«
.,....,;
i
и
,;
.1
.11
.mil., i
.;.. ..
1
название еХ^ : ОбращатьсяК 1
[Должность ;
АДрвС
|Город
НаС кладе
Область "индекс
Ожидается
i
v
ПоставкиПоекоашень! *
щ
-
; • •*:
.' •,
"'' - ;»;;>';-'•
..''.
:
.":"••;.
.
Попе: Имя таблицы: Сортировка: вывод на экран: Ус ловив отбора:
П
',..•
:
•
;
.
^
М
О
.
•
.
ч
П
,. f
• _
Г
или:
~':~:
; ; ;~; i
;
г;"; ; ;." j "
#
Рис. /2.7. Access знаег, ка/с связать таблицы
^нннв /•
^ Запрос 1 ; запрос не выборку ' •' 1 *
<
.
/ . . •Название
^.1
КОДТовара Марка КодПоставщика ;: -; КодТига ЕдиницаИзмеренид :Цена ^НаСкладе :Ожидэется Постае^Аэекпашеиы
| ^
v
Поле: Марка Имя таблицы: Товары Сортировка: Вывод на экран: Условие отбора:,
или:
-
/
[ОбращатьсяК ^Должность [Адрес [Город !Область ^Индею: 'Страна •Телефон
i
ч;
f. jffeijXI •:\'
.
,. ,, .':.
'
-'
.
"",
. .
. • •
."" ••.'
. . - •
•: .•"
'
•
.
••
..'•;•'•
.
- '
- . : •
(Г...
'
.
'
.
•
-
•
•
:
|
'
h(азвание Г Ьстаещики
fv>|
Р1
Цена Товары
Город Поставщики
Ьй
ЕдиницаИзмервния Товары
И
<: : @^9 " Поставщики
М
Р!
|
т- ~ —
~f — :
< :г
h-
•
.
i
>/:^
;
Рис. 12.8. Поля, принадлежащие различным таблицам, можно добавлять в запрос в любом порядке Выбирайте поля в том порядке, в котором они должны появиться в результатах запроса. Можно включать поля из любых таблиц, находящихся в верхней части окна запроса. В конце концов, именно для этого таблицы и были включены в запрос. Если вы случайно ошиблись в выборе поля, ошибку можно легко исправить. Щелкните на имени поля в бланке запроса, а затем выберите из системного меню команду ПравкаоУдалить столбцы (Edit^Delete Columns), и ненужное поле (его столбец) исчезнет из списка. 6. Если вы хотите отсортировать данные по определенному полю, щелкните в поле Сортировка (Sort) в столбце под именем поля, а затем на появившейся
Глава 12. Поиск данных во многих таблицах
161
справа кнопке раскрывающегося списка. Выберите из него опцию По возрастанию (Ascending) или По убыванию (Descending) (рис. 12.9). !$>* Запрос! : запрос на выборку
Щ
гтпшш 1ШДУВ1
КедТовара Марка КодПоставщикэ КодТипа ЕдмницаИзмеренич Цена НаСкпаде Ожидается
• мМшммм название ;06ращаты:яК Должность Адрес |Город
/ /^|t • ..;;•-~|;|;
т 1 я
irtHAew: Страна Телефон
Попе; Имя таблицы: Сортировка: Вывод на ифан: Условие отбора: или;
Марка Товары
Г
"
:
.-• ";:
.
'
'•:'.•'':'.'"'
••';'".
'
Иаэванив [поставщик
d
ЯЯиЧЯНР^^^в^рД по убыванию (отсутствует) |
.
'
^
'
:
.
.'
'^).
'
•
' ' . ••"•'.:' . '••• : ' • ' " • • • • • ' '
;*!^i .
'
;j||;
ПоставкиПоекоашены *
.:•.
I
^».
i» !ft3i;Xj
Цена Товары
[v!
' ' ' - ' . ' .' : -: ••'"-^ - •
: :
Город Поставщик»
W
И
И !
':
• [
т
Страна Щ Поставщиш 11
ЕдиницаИэмерения Товары
•
*$
[V
;
(
-
UAf
'•
:.
*1
Рис. 72.9. При сортировке мы пойдем... по возрастанию Если вы хотите отсортировать данные по нескольким полям, повторите этот пункт для каждого поля. Помните, что сортировка выполняется слева направо. Если вы сначала хотите отсортировать данные по второму полю, необходимо поменять местами соответствующие столбцы. 7. В поле Условие отбора (Criteria) для каждого поля введите критерии запроса. Хотя мы создаем многотабличный запрос, критерии отбора здесь используются таким же образом, как и при создании запросов для одной таблицы (см. главу 11). 8. Если поле нужно включить в запрос, но вы не хотите, чтобы оно появилось в итоговой таблице, снимите соответствующий флажок с опции Вывод на экран (Show). 9. Еще раз взгляните на свою работу. Если вы уверены, что все в порядке, сохраните запрос с помощью команды Файл^Сохранить (File^Save). 10. В диалоговом окне Сохранить как введите имя запроса, а затем щелкните на кнопке ОК. Вы же не хотите, чтобы весь ваш кропотливый труд пропал даром?! 11. Из системного меню выберите команду Запрос^Запуск (Query^Run) или щелкните на кнопке Запуск панели инструментов, чтобы выполнить вновь созданный запрос. Ну и как он работает? Получили ли вы ответ, на который рассчитывали? Если нет, возвращайтесь в режим конструктора для доработки запроса. Из системного меню выберите команду ВидО Конструктор (View<=> Design View) или щелкните на кнопке Конструктор панели инструментов.
162
Часть III. Поиск точного ответа на любой вопрос
Глава 13
Булевы операторы AND, OR
'
в эЛой гмгве,.. > Отличия между операторами AND и OR > Использование оператора AND > Использования оператора OR
,,
> Включение операторов AND и OR в одном запросе
полне естественно, что чем больше вы работаете с базой данных, тем сложнее становятся поставленные ей вопросы. Простой сортировки и фильтрации данных становится недостаточно — вы уже хотите, чтобы данные маршировали перед вами, гримасничая при этом. (Что ж, вы всегда ставили высокие цели.) С помощью запросов можно проделывать различные фокусы с данными, но при выполнении наиболее замысловатых трюков нужна некоторая ловкость рук. Именно здесь выходит на сцену д-р Буль со своими магическими операторами. Воспользовавшись уникальными возможностями булевых операторов, ваши запросы смогут покорять новые высоты, выполнять немыслимые акробатические трюки и вообще развлечь и изумить вас и ваших коллег. Они смогут удивить даже вашего начальника! Данная глава посвящена двум основным логическим операторам Access — AND и OR (И и ИЛИ). Здесь вы узнаете, для чего эти операторы предназначены, как они выполняются и (что наиболее важно) для чего все это нужно знать. Приготовьтесь к интенсивному освоению мира логики.
Сравнение oneftcuHOfioe Л№) и OR Операторы AND и OR — звезды первой величины на булевом небосклоне. В разговорном языке и на бумаге оператор AND объединяет фразы в единое целое, в то время как OR служит для перечисления равнозначных возможностей, одну из которых необходимо выбрать. В области баз данных эти термины выполняют ту же роль. Например, если говорят, что в лесу полно львов И тигров, можно ожидать встречи с животными обоих видов. С другой стороны, если леса полны львами ИЛИ тиграми, становится ясно, что речь идет о тех или других, но не об обоих видах одновременно. В терминологии баз данных И (AND) означает оба, а ИЛИ (OR) — один из (ей-богу, совсем как на уроке грамматики). Существуют простые правила, которыми следует руководствоваться при выборе операторов. I •" Оператор AND сужает количество вариантов возможных ответов. I -S Оператор OR расширяет этот список. ••••
Например, если вы ищете лиц женского пола, у которых голубые глаза, И рыжие волосы, И рост 180 сантиметров, то список кандидаток будет очень ограниченным. (Никто из причастных к подготовке этой книги данному условию не удовлетворяет.) Если же вы ищете женщин или девушек с голубыми глазами, ИЛИ рыжими волосами, ИЛИ ростом 180 сантиметров, то вы найдете немало представительниц прекрасного пола, соответствующих этим критериям поиска.
Лоиск значений в заданном, диапазоне Один из наиболее распространенных запросов, создаваемых в программе Access, заключается в перечислении данных, находящихся в пределах двух определенных значений. Например, вам могут понадобиться все записи со сроком исполнения заказа с 1 января 2003 года до 1 января 2004 года. Для создания подобного запроса необходимо воспользоваться оператором AND. Сделать это достаточно просто.
I
S Введите в одной строке оба условия. •/
Разделите их оператором AND.
На рис. 13.1 изображено окно запроса, в котором необходимо найти заказы, исполненные в течение 2003 года.
if Щ| • ; ' " ' '
•
f' Запрос 1 : запрос на выборку
| I
КодКлиента .
!КодСотрудиика
- . • ' • . |ДатаРаэмещени .£•
щ - -У : • Поле: КодЗакзза Имя таблицы: Заказы Сортировка: Вывод на эфан: Условие отбора: или:
КодКпиемта
Заказы
в
и
ДатаРазмещения Заказы
0
датаиспопнения Заказы
"
и
>=»01.01.20D3» And C01.01.20CM»
-
г*\
--.
>
РИС. 13.1. Оператор AND поможет- найти все заказы, выполненные с 1 января 2003 года до 1 января 2004 года
.
Между прочим, можете не обращать внимания на знаки препинания — Access заботливо проставит их сама. Подождите-ка! А с каких это пор мы стали заключать дату в знаки номера (ft)? Существуют некоторые необъяснимые причины, известные только разработчикам программы, и вам придется с этим смириться. Внимательно посмотрите на вид формулы, указанной в запросе. Access начинает выполнение запроса, просматривает записи в таблице и задает каждой первый вопрос: "Дата была введена именно 1 января 2003 года или позже!" Если запись датируется более ранним числом, то Access ее игнорирует и переходит к следующей записи. Если дата была введена после 1 января 2003 года, то Access задает второй вопрос: "Она введена до 1 января 2004 года?" Если условие выполняется, то запись включается в список результатов. Если нет, она игнорируется и программа переходит к следующей записи.
164
Часть III. Поиск точного ответа на любой вопрос
Обратите внимание, что здесь по отношению к дате 1 января 2003 года используется условие "больше или равно ", и поэтому в таблицу также включаются записи, сделанные в первый день нового года. Инструкции такого типа — с условием "между" — можно использовать для любых типов данных. В такой список можно включить все числа, находящиеся в определенном интервале значений, или ,имена, начинающиеся с заданных букв, или даты, попадающие в конкретный временной интервал. Access не обращает внимания на тип обрабатываемых данных. Другой способ поиска дат в пределах 2003 года заключается во включении в критерий поиска оператора BETWEEN (пример работы оператора BETWEEN приведен на рис. 13.2). В результате запроса с критерием BETWEEN #1/1/03 AND 31/12/03# будут найдены записи, в поле Дата которых указаны значения в диапазоне 1 января-31 декабря 2003 года включительно. 0 Запрос? : запрос на выборку,
£Ti[ftjfXl ' -
ФтШЯЯкШШШ'ШШ
-
КодЗакаэа КодКлиента
"...
• ' ••'
'.
'"'•'• .-
•••
и.
;
КодСотруднжа ДатаРазмещени . ^
|S
.'**'
Попе: КодЗаказа Имя таблицы: Заказы Сортировка; : -Вывод нажран: fv* условие отбора:
КодКлиента Заказы
ДатаРазмещения __ Заказы
т
или:
<,
Щ
\
1
ДзтэИсполнения Заказы
""
.А
1
ш Between #01.01.2003f And *01.01.2004*
2L
Рис. 13.2. Так работает оператор BETWEEN
Неосолысо Одна из самых замечательных особенностей Access заключается в ее гибкости. При создании запроса программа позволяет вам делать все, что душе угодно. Например, Access не ограничивает пользователя постановкой в каждой строке запроса только одного критерия! Вы можете поставить столько условий, сколько вам понадобится. Access воспринимает такие условия, как если бы вы ввели между ними оператор AND. Однако использование множественного критерия может сыграть злую шутку. Кажлое вновь вводимое условие должно располагаться в той же строке, что и предыдущее. После того запуска запроса на выполнение Access проверит каждую запись на предмет соответствия всем условиям, содержащимся в строке, и только потом поместит ее в таблицу результатов. На рис. 13.3 приводится пример запроса с использованием трех критериев. Поскольку все условия располагаются в одной строке, при их выполнении "негласно" используется оператор AND. Если у вас очень большая база данных и вы пытаетесь сузить результат поиска в ней jjp нескольких записей, то самый эффективный способ состоит в применении нескольких операторов AND.
Глава 13. Булевы операторы AND, OR
165
0 Запрос! : запрос на выборку --
юШВДЙ *
*
'• ' s i /
O5W 1
НСРННШ
яИМЯИ
'-"-'•'
-
••'••••
\
|Ед1»*<цаИэмер^,'|
наэва
"" рнаскладе >ЬьМЦ— ОбращатьсяК ^ Ьжидается *
,
КздЗаказа (одКпивнта
>
КодСотрудник ДатаРазмещ» .^.
» Поле: Марка Имя таблицы: Тсеары Сортировка: Вывод на экран: V! Условие отбора: "Louisiana Hot Spiced C*ra"
Страна Поставщики
Ожидается Товары
PI
jv ; "США'
-^ ;Щ
Цена Товары
>700
и
;
или:
;;•;;;:
; ^
i ~— ; ;: :т;
:
(— : : : :г;я
Рис. 13.3. Пожалуйста, покажите записи, удовлетворяющие всем перечисленным условиям Вам нужно еще больше сузить полученные результаты? (Да, у вас действительно требовательный начальник.) Поскольку Access выводит результаты в режиме таблицы, то все доступные в программе инструменты, в том числе и старый знакомый — фильтр, — находятся в вашем распоряжении. Для сужения результатов поиска используйте подходящую команду фильтрации (меню ЗаписиОФильтр (Records'* Filter)). (См. главу 10, чтобы вспомнить, как ее 'применять.)
UUU злой Часто бывает необходимо выделить из некоторого множества группу записей, которые отвечают тем или иным требованиям (например, вывести список клиентов, которые проживают в России, ИЛИ Украине, ИЛИ в Грузии). Такой запрос использует поиск по условию ИЛИ. Его проще провести, чем рассказать о нем, причем эта опция встроена в диалоговое окно запроса. Для того чтобы вставить в условие поиска оператор OR (ИЛЩ, следует для каждого условия ИЛИ использовать отдельную строку в нижней части окна запроса. Условия также можно указывать в разных строках одного поля (рис. 13.4). г- Запрос 1 : запрос на сыборку
^кодПоставщис : Название ОбращатьсяК Должность
:
;?
Поле: Марка Имя таблицы: Товары Сортировка: Вывод на жран: Условие отбора:
или:
Страна Товары
J_L :"США"
•
"Великобритания"
": "Япония"""
Рис. /3.4. Встроенный оператор ИЛИ позволяет расширить поиск
166
Часть III. Поиск точного ответа на любой вопрос
При желании условия можно указывать и в различных столбцах. Например, на рис. 13.5 показан запрос на поиск товаров, предложенных из США, Японии ИЛИ Великобритании ИЛИ с ценой, меньшей или равной 50, независимо от того, кто .предложил товар. к1 Запрос 1 ; запрос не выборку
С ,Г~- ' X 1
ДДДДЯ
[^^.1 Название
;ОбращатьсяК
: ;
'ДОЛЖНОСТЬ
:
***si
ЕдиницаИэмер ** ****
. |
.
ч——.
[кодклиента
Ожидается •— . ; .. Л**мальньи- lv
ДатаРазмещй- 1 '-v* '
-"
-•" •
""£•
§
<-.
Попе: Марка Имя таблицы: Товары Сортировка: Вывод на *кран: Условие отбора: или:
.
1'
Страна Поставщики
["США"
PI
Ожидается Товары
Цена Товары
И
КЯ
i "ЯПОНИЯ"
: "Великобритания* !"<4150
Рис. УЗ. 5. Введите условие ИЛИ для разных полей Обратите внимание, что каждый критерий расположен в отдельной строке. Если критерии указать в одной строке, то будет выполняться операция логического умножения и в результате вы получите только те записи, которые удовлетворяют обоим поставленным условиям.
и ОЯ?
tuu ОЯ?
В некоторых случаях использования только операторов AND и OR бывает недостаточно. Допустим, вам нужно получить информацию о нескольких различных группах данных с помощью запроса, часть которого отбирает определенные записи (при этом используется оператор AND), а другая часть требует включить в этот список записи, удовлетворяющие другим определенным критериям (оператор OR). Будьте внимательны при создании таких запросов. Они настолько же быстры, насколько и капризны. Если запрос разросся так, что вы уже не можете отследить влияние всех содержащихся в нем операторов AND и OR, то либо начните все сначала, либо воспользуйтесь помощью специалиста по базам данных. Не добавляйте все новые и новые слои условий в один запрос. Разбейте свой необъятный запрос на несколько более мелких запросов, встроенных один в другой. Начните с простого запроса с одним или двумя критериями. Затем создайте еще один запрос, начинающийся с результатов работы первого запроса. По необходимости создайте третий запрос, который использует ответы второго запроса. Каждый следующий успешный запрос отбрасывает ненужные результаты, пока не появится окончательный набор записей. Дополнительным преимуществом данного метода работы является то, что он позволяет вам дважды проверить каждый шаг в логической цепочке, и таким образом уменьшается шанс появления ошибок в результатах.
Глава 13. Булевы операторы AND, OR
167
Запомните, самое важное — то, что каждое условие ИЛИ (каждая строка, содержащая этот критерий) определяется отдельно. Если вы хотите скомбинировать несколько различных условий, то убедитесь, что каждое условие ИЛИ представляет один аспект вашего запроса. Например, может быть нужно узнать, какие товары поставляются с ценами меньше 100 р. и больше 450 р. на одном аукционе. Для поиска таких записей необходимо использовать оператор OR и каждое условие должно быть введено в отдельной строке. (Если бы вы пытались найти товары, начальная цена которых больше 100 р. и меньше 450 р., то должны были бы использовать оператор AND.) Однако этого недостаточно. Нам необходимы товары, количество которых на складе равно 4. Для того чтобы такой запрос работал, необходимо повторить в каждой строке OR информацию о количестве. Поздравляем — вы успешно объединили операторы AND и OR. Чтобы настроить этот запрос, необходима строка с двумя критериями. В одной строке запрашиваются товары, цена которых ниже 100 р. И их количество на складе равно 4. Во втором критерии вызываются товары дороже 450 р. И их количество на складе также равно 4. Так как критерии находятся в двух строках, Access считает их большим оператором OR. На рис. 13.6 изображено два оператора AND и один OR. & Запрос 1 : запрос на выборку
;
Поле: Имя таблицы: Товары Сортировка: Вывод на >*ран; Условие отбора:
НэСкпаде товары
Ж
Ожидается Товары
Страна
~РГ
ngr
:.'••
или:
Рис. 13.6. Любые критерии, стоящие в одной строке, будут выполнять функцию оператора AND, тем самым ограничивая поиск. Любые операторы, стоящие в разных строках, являются операторами OR и расширяют поиск При просмотре поставленных условий тщательно просмотрите каждую строку, чтобы убедиться, что она представляет определенную группу записей, которую вы хотите включить в результат. Затем проверьте, чтобы все части критерия правильно выполняли совместную работу для выведения необходимого результата. Все операторы AND располагаются в одной строке и объединяются в одно условие. Операторы OR находятся в разных строках, и каждая строка проверяется отдельно. Если вы хотите использовать несколько операторов OR, они должны располагаться в разных строках.
168
Часть III. Поиск точного ответа на любой вопрос
Глава 14
Научите запросы думать и считать в э&ой гиабе... > Открывающиеся возможности со строкой Групповая операция > Изучение строки Групповая операция в запросе > Группируем >
Суммируем результаты
> Подсчитываем все сразу > Изучение входов и выходов оператора Where
случить быстрые ответы на простые вопросы о содержимом базы данных — что может быть прекраснее? Однако часто требуется больше, чем просто узнать, какие товары покупались с января по май прошлого года. А что если нужно подсчитать затраченную на них разными клиентами сумму? А выбрать пять наиболее активных покупателей? Именно в данном случае на сцену выходит секретное средство резюмирования — строка Групповая операция (Total). Благодаря ее специальным возможностям с помощью запросов можно собирать итоговые значения, подсчитывать совпавшие элементы, выводить результаты в любом виде и делать еще очень много других полезных вещей. Как же выполнить все это? Вполне закономерный вопрос. Для этого нужно вставить строку Групповая операция в запрос и выбрать определенные опции, в зависимости от того, что вам нужно. В этой главе рассказывается, как это сделать, объясняются "внутреннее устройство" строки Групповая операция и ее полезные функции. Сделайте свои запросы более функциональными!
зсиг/госов пос/геус*нвом операция, Вы уже знаете, что делает обычный запрос: вы задаете программе Access вопрос, а она просматривает одну или несколько таблиц в поисках ответа. В результате на экран выводится либо несколько подходящих записей, либо огромное количество данных. В любом случае все эти данные просто сваливаются вам в кучу, и приходится ее разбирать и преобразовывать в более удобный вид. Тем не менее запрос в Access может гораздо больше, чем кажется на первый взгляд. Кроме ответов на простые вопросы и вывода на экран огромных списков найденных записей, запросы также могут производить простые вычисления. Допустим, вы знаете, что запрос может найти всех клиентов из Германии. Но почему мы запрашиваем только список, когда Access может еще и считать? А если так, то почему бы программе не сообщить вам, сколько товаров эти клиенты приобрели за последний год из различных линеек продуктов? Теперь поняли, о чем я?
Самое главное заключается в том, что задать большой вопрос, как при создании запроса Access, гораздо проще, чем кажется. Вы спросите почему? Да потому, что все сложные вычисления (итоговые суммы, расчеты и преобразование полученной информации в нормальный вид), выполняются в одном месте— в строке Групповая операция вашего запроса (рис. 14.1). Если нужно подсчитать, просуммировать, отсортировать или найти самое большое или самое маленькое значение, то, обратившись к строке Групповая операция, вы незамедлительно это получите.
. 01®
3
is Запрос! ; запрос на выборку
•
•
КодТовара "$ /~ |№¥Пветаяци«-,^! ТТоле! / • [Название |Мзрка / • рбращатьсяк КодПоставщик'^'' ^ Шолжность ^ • • \;
Попе: кодПоставщикэ Имя таблицы: Товары Групповая операция^ Группиоовка| Сортировка Ц Вывод на афан; (71 Условие отбора: ;. ••'•. ' . .' или: . ..
ОбращатьсяК Поставщики . - i Группировка
Должность Поставщики Группировка
И
КодТовара Товары Группировка
В
И
|
-
— """Я ' 14 :
ф^Ъ
Рис. 14.1. Строка Групповая операция находится между строками Имя таблицы (Table) и Сортировка (Sort) Строка Групповая операция может показаться довольно невзрачной, но на самом деле она очень эффективно работает. В табл. 14.1 приведены все возможные опции рассматриваемой строки. Там же приводится краткое описание каждой из них. Наиболее полезными функциями строки Групповая операция являются Группировка (Group By), Sum, Count и Условие. В следующих разделах мы подробно обсудим каждый из этих элементов: для чего они нужны, как их использовать и почему они действительно так важны. После того как вы научитесь обращаться с этими функциями, попробуйте создать несколько запросов, используя другие опции строки Групповая операция. Хотя они предназначены для более специализированных задач, таких как подсчет среднего отклонения или поиск самого большого или самого маленького значения, все функции строки Групповая операция в основном работают одинаково. Когда вы разберетесь с одной опцией, все остальные сразу станут для вас понятными.
Таблица 14.1. Функции строки Групповая операция Функция Group By (Группировка) Sum Avg Min Max
170
Выполняемое действие Группирует результаты запроса по значениям полей В результате выполнения запроса суммируются все значения данного поля Вычисляет среднее значение всех чисел, содержащихся в данном поле В результате выполнения запроса из всех значений поля находится минимальное В результате выполнения запроса из всех значений поля находится максимальное
Часть III. Поиск точного ответа на любой вопрос
Окончание табл. 14.1
Функция
Выполняемое действие
Count
Подсчитывает количество записей, удовлетворяющих критерию запроса
StDev
Вычисляет статистическое среднее отклонение значений поля
Var
Вычисляет статистическую дисперсию значений поля
First
Выводит первую запись, найденную в результате выполнения запроса (удовлетворяющую условию отбора)
Last
Выводит последнюю запись, найденную в результате выполнения запроса (удовлетворяющую условию отбора)
Выражение
Сообщает Access о вашем желании выполнить вычисления в поле (подробнее об этом — в главе 15)
Условие
Это поле используется для выбора записей, но не выводит никакого резюме
магической ctnftoicu операция в запросы Строка Групповая операция обычно не выводится в окне запроса, ее нужно заставить показаться с помощью определенной команды. Этот процесс объясняется в нижеследующей инструкции. После этого Access добавит строку Групповая операция в окно запроса. Почему же строка Групповая операция не выводится в окно запроса всегда? Откровенно говоря, потому что разработчики из Microsoft захотели сделать так, чтобы запросы выглядели немного проще. Если принять во внимание разнообразные строки, столбцы, кнопки и все остальное, запросы становятся на первый взгляд довольно сложными. Но чтобы создание запросов было по силам каждому, строка Групповая операция по умолчанию скрыта. Итак, что же нужно сделать, чтобы строка Групповая операция появилась в окне запроса и можно было произвести какие-либо вычисления? В следующей инструкции вы об этом узнаете. 1. Создайте обычный запрос. Вы, вероятно, уже знаете, как создать новый запрос и выбрать необходимые таблицы и поля, которые вы хотите видеть в результатах. Если нет, см. главу 1 1 . 2. Активизируйте строку Групповая операция, щелкнув на кнопке Групповые операции (Totals) панели инструментов либо выбрав из системного меню Вид<=>Групповые операции (View^Totals). Появится строка Групповая операция. Для каждого поля, находящегося в запросе, Access автоматически заполнит строку Групповая операция значением по умолчанию, а именно Группировка. Вы удивлены, что на кнопке Групповые операции изображена греческая буква сигма? Дело в том, что математики, инженеры и все те, кто не способен общаться нормальным, простым языком, используют этот символ, когда хотят сказать: "Покажи мне итоговую сумму".
Глава 14. Научите запросы думать и считать
171
3. Чтобы изменить итоговое значение с опции Группировка (Group By) на чтонибудь другое, щелкните на строке Групповая операция данного поля. В строке Групповая операция, рядом с кнопкой раскрывающегося списка, появится мигающий курсор. 4. Щелкните на кнопке раскрывающегося списка и выберите новую запись строки Групповая операция. В строке Групповая операция появится новая запись. 5. Сделайте все необходимые изменения и запустите запрос. При включенной строке Групповая операция в результаты запроса автоматически будет добавляться выбранное вами резюме. В следующем разделе подробно описывается использование наиболее популярных и полезных функций строки Групповая операция.
Заапавим. fia^OfnatHb с&рющ 7fiif пневая После того как вы вывели строку Групповая операция в окно запроса (см. предыдущий раздел), можно использовать мириады ее возможностей, дабы сэкономить время, усилия и избежать нервного срыва. В этом разделе описываются четыре наиболее часто использующиеся инструкции строки Групповая операция: Группировка, Sum, Count и Условие. В каждом подразделе описывается принцип работы инструкции и приводится небольшой пример ее использования. Когда вы познакомитесь с основными опциями строки Групповая операция, поэкспериментируйте с остальными. Все они настраиваются одинаково, а отличаются только выводимыми окончательными результатами. Более подробно о расширенных возможностях строки Групповая операция можно узнать, воспользовавшись системой помощи Access (Справкам Справка: Microsoft Office Access). Большинство инструкций строки Групповая операция отлично работают сами по себе, но они также хорошо работают совместно друг с другом. При запуске нескольких запросов попытайтесь для экономии времени использовать сразу несколько инструкций. Вначале, конечно, придется попрактиковаться, чтобы удостовериться, что все работает так, как предполагается, но результат оправдает все ожидания.
Группируем с помощью инструкции Группировка Инструкция Группировка разбивает результаты запроса по группам в зависимости от значений в одном и нескольких полях. Она также удаляет идентичные записи в результатах. При включении строки Групповая операция в окне запроса Access автоматически вставляет Группировка для каждого поля. Эта инструкция объединяет записи, которые выводят другие инструкции строки Групповая операция, такие как Sum и Count. Если вставить в запрос одну инструкцию Группировка, то Access разобьет результаты по каждому уникальному значению в поле (например, по каждому номеру клиента или по названию продукта). Каждый уникальный элемент будет присутствовать в результатах только один раз и только в одной строке с итоговой информацией. Если включить в запрос больше одной инструкции Группировка (рис. 14.2), Access создаст итоговую строку для каждой уникальной комбинации полей с инструкцией Группировка.
172
Часть ///. Поиск точного ответа на любой вопрос
•
*г Зал рос 1 ; запрос на выборку
., '" 'х!
; Л КодКгиикта Название !ОбращэтьсяК [Должность Ш!
Попе: Область Имя таблицы; Клиенты Групповая операция: Группировка! Сортировка: Вывод на эфан: Условие отбора: или:
у]
^ц
__
н
в
В '
„
КодКлиента Клиенты Группировка
Клиенты _х Группировка
'"
;
'
д| Г"
" '
г
Рис. 14,2. Этот запрос выводит итоговую строку для каждой комбинации значений в полях Область и Адрес Инструкцию Группировка следует вставлять в поле, когда нужно что-то подсчитать, и это поле отвечает на вопрос "Подсчитать для кого?" Например, если необходимо подсчитать количество продуктов, приобретенных каждым клиентом, инструкция Группировка вставляется в поле, содержащее номер клиента или другую, уникальную, идентифицирующую клиента, информацию. Чтобы подсчитать клиентов в определенной местности, инструкцию Группировка нужно вставить в поле, содержащее название местности, где проживают клиенты. При использовании инструкции Группировка Access автоматически сортирует результаты в том порядке, в котором указано в поле инструкции. Например, если вставить Группировка в поле Адрес, Access отсортирует результаты в алфавитном порядке. Чтобы изменить такое поведение и выбрать другой порядок сортировки, в запросе необходимо воспользоваться строкой Сортировка (рис. 14.3). Выберите поле, значения которого необходимо как-то отсортировать, и соответствующую команду сортировки в строке Сортировка данного поля (по возрастанию или по убыванию, в зависимости от ваших нужд). Остальное Access сделает автоматически и в правильном порядке выведет на экран результаты запроса.
Попе; имя таблицы: Групповая операция: Сортировка: Вывод на *ран: Условие отбора: или:
Рис. 14.3. Access отсортирует результаты запроса так, как вам нужно
Глава 14. Научите запросы думать и считать
173
Суммируем с помощью инструкции Sum Инструкция Sum работает только с числовыми полями. Когда Sum добавляется в поле, Access подсчитывает сумму его значений. Если воспользоваться инструкцией Sum отдельно, Access подсчитает общую сумму значений данного поля для всей таблицы. Используя в паре инструкции Группировка и Sum (рис. 14.4), получим сумму для каждого уникального пункта поля Группировка. jp Запрос! : запрос на выборку
ElbfifXl • • ' ..'"'
:
"'
•
. ' • . • ' '
•'•'.'...'.'
,.
-А
У |КрдТовара i Марка КодПоставщик КодТипа
__„*— 2^^^*^
^- «ДОэтиц *^""*"^ ^Название \ |ОбращатьсяК [Должность
j
?Ж
: : попе: КодПоставщика Имя таблицы: Поставщики Групповая операция: Группировка Сортировка; Вывод на экран: .vl Условие отбора:
или:
ОбращатьсяК Поставщики Группировка
и
Должность Поставщик Группировка
0
МинимальныйЗапас Товары
• — -ш щ
2 LVv
И1
т
П
Г
л«
.
е:
Рис. 14.4. Вставьте инструкцию Sum в числовое поле, чтобы она могла выполнять свои функции Чтобы получить больше одного набора итоговой информации для каждой строки результатов, добавьте инструкцию Sum к любой другой опции строки Групповая операция. Обычно инструкции Count и Sum используются вместе, точно так же, как и Sum и Average, Minimum и Maximum. А чтобы ограничить область охватываемых инструкцией Sum записей, воспользуйтесь инструкцией Условие (о которой вы скоро узнаете).
Подсчитываем все сразу Инструкция Count используется в запросе, когда нужно узнать количество элементов, а не их сумму. Так как эта инструкция не пытается производить какие-либо математически операции над данными в полях, она работает с любыми полями таблицы. Когда данная инструкция используется сама по себе (рис. 14.5), она подсчитывает число элементов в определенном поле, просматривая все записи во всей таблице, а затем выводит на экран результат. Если к функции Count добавить одну или несколько инструкций Группировка в других полях, то Access подсчитает число элементов, относящихся к каждой уникальной записи в поле Группировка. Чтобы быстро и правильно подсчитать число записей в группе, укажите инструкциям Группировка и Count на одно и то же поле запроса (рис. 14.6). Чтобы запись была членом группы, в ее определенном поле должны быть нужные для членства данные. Если вы знаете, что в поле для инструкции Группировка содержится что-то (а именно: данные, которые определяют группы для результатов запроса), то это поле отлично подойдет и для инструкции Count. Еще раз добавьте это поле в ваш запрос, выбрав имя этого поля в новом столбце, и в строке Групповая операция выберите опцию Count.
174
Часть III. Поиск точного ответа на любой вопрос
iff* Запрос1 ; запрос на оыборку
[„ jfDjlX'j
;л ;*;КодТовара '^ ' -,г-, ! КодЛштаацига *"" $• ,;.$. |Марка ' 'КодПссгаацик — 'КодТипа Э"
У ^
'Название [Обращатьсяк - [Должность
' ' ' • • • " : ^ ""•••
^ ; ••'. Щ? . - '
,.
- - . . . •
.
'.-••.,',•.
•
: &:.:/'Л:> '
;--.
:
;<.;.",'
I;*!
Поле: КодТоварз • имя табпщы : Товары Групповая операция : Count Сортировка: Вывод на эфан: Условие отбора:
' i£
Я
Е
:
п
п
или:
п
I
•СлШк
i
>;
Ш
Рис. 14.5. Используя инструкцию Count в одном поле, подсчитаем число записей в таблице & Запрос! : запрос на выборку ,
|ИЙШИЁ(ШИ|
:
:;:
; ...,
j«- iiiSsfX! ''••',•
-
.
:
••:""'••"• " ' . " 3 ; '-
"ад'Оивнта
:•
•
.
•..-:;.,-:: •
.-::.:... '
.'VJ:.' •.-";
:
:
: :..••"<•-.:-" '"":: \^:
^
-
"
«
*
£|
Обращатьсяк Должность Ч;.!
-Т&:
"Т"11"^
"
-Ч:-
! Поле: Страна Имя таблицы; Клиенты Групповая операция: Группировка Сортировка: Вьсюд на эфан; Условие отбора:
и
:
' ' "':. " .или:
:-'.
-. •;.:,•.•'.:
Страна Клиенты Count)
~^^
. .
&,
_
i
--'
1
J
LX!
!^1
-.
^
н
mm
.
/^4»
:
^
П
'Ш
ш".
Рис. 14.6. Добавив инструкции Группировка и Count в одно и то же поле, получим число клиентов в каждом регионе
Изучение входов и выходов оператора Условие Инструкция Условие немного отличается от других опций строки Групповая операция. Она не вычисляет, не подсчитывает, не перечисляет и не оценивает. Эта инструкция позволяет добавить критерии для запроса (показать клиентов, проживающих только в определенных регионах, или включить заказы, полученные только после определенной даты, и т.д.), чтобы не нагружать результаты ненужной информацией. В запросе, изображенном на рис. 14.7, используется инструкция Условие для ограничения количества записей в результатах. Обычно этот запрос должен был подсчитывать количество клиентов по полям Страна и Индекс и выводить на экран все записи таблицы. Добавив инструкцию Условие во второе поле Страна, мы сообщаем запросу, что нужно проверить данные перед тем, как включать их в список результатов. В данном случае критерий инструкции Условие пропускает записи только тех людей, которые живут в Германии или Франции (данные в поле Страна совпадают со значением Германия или Франция).
Глава 14, Научите запросы думать и считать
175
iS^ Запрос 1 ; запрос на выборку '•
tj@ii~
ЙШЖШШШВИЫИ
*йШП^^Я^Н
••'
;
"'Ж'' \-.~:Ж'
-Л'"
]
;
-••••,':'• ' ,^Г.
1
КедЮиенга gj название Обращаться* Должность ""?,.. -
Попе: Страна Имя таблицы; Клиенты Групповая операция: Группировка Сортировка: Вывод на экран : 0 УсАооие отбора: или;
-
" ' . ' - :
,
Индекс Клиенты Группировка
И
'
'
•
.
'
'" '
Кодклиента Клиенты Count
а
'"
. .
'
'
:
-
"
.
-
'
'
'
.
-
'
'
.
.
-
***"
л
Страна Клиенты Условие
Г 'i
Термания" От "Франция"т
шш
Г!
-
!
т
Рис. 14.7. Инструкция Условие в правом поле Страна предотвращает попадание ненужных записей в список результатов
правильного поля qua Suwnan/ Выбор поля для одной из инструкций строки Групповая операция, Sum, Count или какой-нибудь другой, очень влияет на результаты запроса. Поэтому, если вы случайно выберете не то поле, Access неожиданно выдаст неправильные данные. Почему такая "умная" программа, как Access, впадает в кому при таких простых операциях, как подсчет или суммирование? Дело в том, что Access не резюмирует каждую подходящую запись, найденную в таблице. Программа замечает лишь те поля, в которых что-то содержится. И если в поле с инструкцией строки Групповая операция нет никаких данных, Access пропускает запись, не учитывая ее при подсчете. Рис. 14.8 проливает больше света на такое странное поведение. В первых трех полях каждой записи данной таблицы (КодПоставщика, Название и Адрес) содержится информация, а это только и нужно инструкции Count. Так как в каждой записи этой таблицы есть определенное значение, находящееся в полях КодПоставщика, Название и Адрес, Access легко сможет подсчитать записи таблицы. Теперь сравним эти полностью заполненные поля с пустыми местами в полях Область, Факс и Домашняя страницы. Если вставить инструкцию Count в одно из этих полей, Access подсчитает только те записи, в полях которых есть какие-то данные. Это очень удобно, если необходимо узнать, сколько клиентов в базе данных указали свои рабочие телефоны, но если вы попытаетесь ответить на вопрос, сколько клиентов находится в определенном регионе, то ничего вразумительного не получите. Мораль такова: избегайте ненужных ошибок в результатах, вставляя инструкцию Count только в те в поля, где содержатся какие-либо данные. Пока Access будет что-то находить в полях, она будет счастлива. (В конце концов, ведь именно этого мы и добиваемся.)
176
Часть III. Поиск точного ответа на любой вопрос
яе. Поставщики : таблица
^_
{Код .! i_ 't i i ! 1 j j i i I L I j • ' \
[«Г]|ёГ}^С]
гшс] Название '• ' ] """"" " Адрес ™ i "Город j ^ласть'Т " Должность | ОгЗраи "А" 1-ОЪо Экзотика Большая Садовая ул. 12 Москва ; Менеджер по закупка. Вероника Ку, __2=New Orleans Cajunpejig P.O. Box 78934 Новый Орлеан JLA _ |Кородинатор Shelley Burke , 3: Grandma Kelly's Homest 707 Oxford Rd. Ml = Представитель Regina Murpf ' i Анн-Арбор 4!Tpkyo Traders £0Sekimai '• Токио Главный менеджер Yoshi Nagast 5iCopperatiyade.Quesps;i Calle del Rpsal 4 Ювьедо J.A?M!.3S ^Специалист по экспс; Antonio dei_V: . 6;Mayumi's 92 Setsuko : Осака ; Директор Mayumi Ohnc . i; •; : 7 Pavlova, Ltd. 74 Rose St ; Victoria i Главный менеджер lan Devfing -'-'{; : Мельбурн Bi Specialty Biscuits. Ltd. 29King'sWay i Представитель ; Peter Wilson i Манчестер 9: PB Knackebrod AB Kalqadagatan 13 ; Гетеборг Продавец Lars Petersoi 1 Главный менеджер ^Carios Diaz 1Q : RefrescQS Americanas L Av. das Americanas 12.890 ; Сан-Паулу 1 l.AO Германия-Россия Тверская 5 i Менеджер по продаж Петр Моргун' ; Москва l2!Plutzer Lebensmittelgros Bogenallee 51 Франкфурт 'Менеджер по связям Martin Bein : Внешний координате Sven Peterse 13 Nord-Dst-FischmbH Frahmredder 112a Куксхавен 14 Formaggi Fortini s.r.l. Viale Dante. 75 Представитель lEtio Rossi ; Равенна 15;Norske Meierier Hatlevegen 5 ; Главный менеджер Beate Vileid Сандвикен : IB^Bigfoot Breweries 3400 - 8th Avenue /Бенд ;OR Местный представит Cheryl Saytor 17:Svensk£jofoda AB Brovallavagen 231 ; СТОКГОЛЬМ Представитель . Michael Bjorn I^Auxjoyeuxecclesiastique 203. Rue des Francs-Bpurc eois Париж ; Менеджер по продаж, Guylme Nodie : J9[New England Seafood C; Order Processing Dept. Бостон jMA Агент по продажам Robb Mercha ^
3эт1СЬ;
[ИО]Г
3
9 СУ^Щ*] и 29
. . . < : . . . -
Л-""-
>'
Рис. 14.8. Используя какую-либо резюмирующую инструкцию в полях с множеством пустых записей, можно запутать все подсчеты!
Исправление результатов запроса Если при многотабличном запросе выдается слишком много или слишком мало данных, вы, скорее всего/столкнетесь с проблемой восприятия программой Access двух соединенных таблиц. К счастью, эту проблему легко решить, но только после того, как вы узнаете, где найти диалоговое окно Параметры объединения (Join Properties). Когда вы в запросе соединяете две таблицы, Access показывает их над окном запроса и рисует между ними линию, обозначающую связь. Но эта линия служит не только для наглядности, она также ведет к диалоговому окну Свойства соединения, секретному хранилищу информации о лом, как Access обрабатывает данные, которые находит в этих связанных таблицах. Чтобы открыть диалоговое окно Параметры объединения, дважды щелкните на линии, соединяющей две таблицы. Появится маленькое окно, изображенное на рисунке. (Если вместо него откроется диалоговое окно Свойства запроса (Query Properties), закройте его и попробуйте еще раз. Access просто подумала, что вы не попали на линию.)
тшятяянаятт
И
КодТомра
j
_^^- [ИмПостмци.!*:
кодПостаащ* ]S^-^^ КсиТита Щ ' .
i
±»
;;."
Попе: Имя таблицы: Групповая операция: Сортировка: Вывод на экран: Условие отбора: или:
робращатьс* . ^Должность .%!
Левая таблица
F1
8!Р?8Ш1т?й! Левый столбец '• ;кодПоставщ1«са
Правая таблица
п
.**.;: 'Товары Правый столбец ~^:\ :;КодПоставщикэ
.v:.]
(<£; i.
Объединение только тек записей, в «вторых связанные поля обеих таблиц совпадают'
02.
Объединение ВСЕХ записей из "Поставщики" и только тех записей из Товары', в которых связанные поля совпадают.
. " • 3.
Объединение ВСЕХ записей иэ "Товары" и только тех записей из "Поставщики", в пяорых связанные поля совпадают. !..„-.„„*•?*•
— ..-
\? :|Х i •
М Параметры объединения
[Отмена J i
Глава 14. Научите запросы думать и считать
Создать
V'
j
177
-•—•"".':
•
'
'
•
'
'
.
Взгляните на три опции в нижней части диалогового окна. С их помощью можно управлять тем, как ; Access будет выбирать, какие строки включать в результаты запроса. По умолчанию Access выбирает j первую опцию, которая заставляет его показывать только совпадающие записи из обеих, соединенных таблиц. Чаще всего именно это и нужно. Однако в этом случае, если в одной таблице нет соответствующей другой таблице записи, .Access эту запись в результаты не включит. Если вы не хотите, чтобы в результате резюмирования вы получили нуль, эта опция нам не подойдет. В этих редких случаях, когда необходимо увидеть в результатах все записи из одной или другой таблицы, выберите в диалоговом окне Параметры объединения вторую или третью опцию. Эти опции включат в результаты больше записей, так как будут выбираться и совпадающие и не совпадающие записи.
178
Часть III. Поиск точного ответа на любой вопрос
Л
Глава 15
Расчет пути к славе и почету В Э1пой главе... > Разработка выражения > Более сложные вычисления >
Подсчет текстовых полей
> Использование построителя выражений
дно из основных правил создания базы данных заключается в том, чтобы таблица содержала минимально возможное количество полей. Дело в том, что небольшие таблицы быстрее загружаются, их легче поддерживать и они занимают меньше места на диске. Одно дополнительное поле само по себе не много значит, но представьте его вес, если в таблице содержится несколько сотен тысяч записей! Чтобы таблицы оставались небольшими, они должны содержать только действительно нужную информацию, а все другие значения можно вычислять на основе уже имеющихся данных. Например, если в таблице имеются отдельные поля для указания оптовой и розничной цены товаров, то не имеет смысла создавать в ней еще одно поле с указанием разницы этих цен. Если возникнет необходимость в таких данных, их можно получить с помощью вычисляемого поля. Вычисляемое поле получает информацию от другого поля базы данных и выполняет над этими данными некоторые арифметические операции. В действительности вычисляемое поле может получать данные из нескольких полей и комбинировать их для создания совершенно нового поля. В этой главе показано, как выполнять такие вычисления — от простого суммирования до сложных уравнений — и как использовать их при построении запросов. Хотя в рассматриваемых примерах вычисляемые поля входят в состав запросов, с таким же успехом их можно применять и к отчетам. Более подробно о включении вычисляемых полей в отчеты рассказывается в главе 20.
вычисление Прежде чем ввести вычисляемое поле в состав запроса, определите, какие поля необходимы для проведения вычислений и в каких таблицах они содержатся. Все эти таблицы должны быть включены в запрос. Если необходимые поля содержатся в одной таблицы, то в запросе может содержаться только эта таблица. Если же необходимые поля "разбросаны" по нескольким таблицам, убедитесь, что в верхней части окна конструктора запроса находятся все таблицы, поля которых вы хотите использовать при проведении вычислений. В противном случае Access окажется не в состоянии выполнить вычисления.
Для того чтобы создать вычисляемое поле, щелкните на области ввода любого столбца, где должен будет появиться результат. Вместо того чтобы выбирать из раскрывающегося списка одно из уже существующих полей, введите формулу, по которой следует выполнить расчет. Вы наверняка догадываетесь, что для вычисляемых полей Access использует специальный синтаксис команд. Совершенно очевидно, что вы не можете ввести команду как фразу просуммировать и показать результат, —- это было бы слишком просто и понятно. К счастью, выполнение вычислений представляет собой не слишком сложную задачу. Как правило, команды необходимо вводить так же, как вы делаете это в своем обычном калькуляторе, разве что вместо чисел используются имена полей. Основным элементом здесь служит символ квадратных скобок ([']), в которые заключаются имена полей. Благодаря этому Access понимает, что с данными этих полей необходимо произвести определенные вычисления. Все остальные символы, которые используются в выражении (например, числа), Access считает константами. Рассмотрим такой пример. Предположим, что на аукционе большинство товаров продается по цене, которая на 47% выше минимальной ставки (или 147% минимальной ставки). Тогда, для того чтобы вычислить предполагаемую цену на товар, нужно умножить цену на 147%. Так как Access не достаточно "умна", чтобы распознать знак процента, необходимо преобразовать проценты в десятичные дроби (т.е. 147% станет 1,47.) Соответствующая формула будет выглядеть так: [Цена]*1,47 Поскольку слова Цена в формуле заключены в квадратные скобки, Access знает, что это название поля, а не набор текстовых символов. Поскольку число 1,47 не заключено в скобки, Access полагает, что это числовое значение. На рис. 15.1 изображена конечная формула, готовая к использованию.
Попе: КодТоеара Имя таблицы: Товары Сортировка: Вывод на экран: Ь>! Условие отбора:
Цена Товары
[ценаМЦема]*0,47
и
Л,'
*
Ш i
.<т;:«:;
у;
;
-К-
Рис; 15.1. Вычисления производится сразу после обычных полей запроса Можно дважды использовать одно и то же поле в одной и той же формуле. Например, предыдущий пример можно решить и с помощью следующей формулы, которая, помимо самих вычислений, показывает, как они работают: [Цена]+[Цена]*0,47
180
Часть III. Поиск точного ответа на любой вопрос
Как только вы щелкнете где-нибудь за пределами готового выражения, Access добавит в начало имя Выражение!:. Зачем она это делает? Хороший вопрос. Хороший ответ (и что важно, объяснение, как изменить этот текст) находится в следующей врезке.
Почему Access называет все формулы именем выражение Несмотря на все свои вычислительные мощности, фантазии у программы Access не слишком много. Когда вы вставляете первую формулу в запрос, Access автоматически называет ее Выражение!, т.е. первая формула (или выражение) в запросе. Если вы добавите вторую формулу, Access назовет ее Выражение^. Это делается для того, чтобы выражения были более-: менее организованы и чтобы было что вставить над результатами вычислений. К счастью, Access знает, что эти имена выглядят довольно глупо, поэтому программа позволяет вам самим присваивать имена полям для вычислений. Чтобы заменить имя выражение! более вразумительным, щелкните на кнопке Конструктор (Design View). Вместо окна с результатами появится окно запроса. Найдите свою формулу и аккуратно замените имя выражение! другим. Не забудьте вставить между именем и формулой двоеточие! В итоге у вас должен получиться запрос, аналогичный изображенному на рисунке. •Р Запрос! : запрос на выборку
HPJB
КедТовара Попе! Марка КодПоставщик ,*£ . • '
• Поле: Цена Имя таблицы: Товары Сортировка: Вывод на эрран: Условие отбора: или: <--;
Выражение!: [Цена ]+[Цена]* 0,47
Я
И ;";;^
Выражение2: [Цена]
Увеличение: ([Выражение!]- [Цена ])/[Цена]
П ,
И ?
Кстати, в мире Access этот текст (имя над полем для вычислений) называется меткой. Это старый компьютерный термин обозначает "текст, который что-то описывает". При создании формул необходимо следовать таким правилам. */ Имя каждого поля, используемого в формуле, необходимо вводить вручную, нельзя перетащить что-то из списка таблицы. •S При перетаскивании имени поля добавляется само поле, а не его имя (а это не совсем то, что нужно). •S Не беспокойтесь, если ваш запрос выходит за пределы строки Поле (Field). Access запоминает все данные, даже если они не отображаются полностью на экране. Чтобы сделать столбец запроса немного шире, поместите курсор мыши над линией справа от узкой панели над полем с формулой. Как только вы это сделаете, вид курсора изменится на отрезок с горизонтальной стрелкой. После этого щелкните и перетащите мышь влево или вправо. Таким образом, столбец можно увеличить до необходимых размеров. Так же легко можно изменить размер любого столбца в вашем запросе.
Глава 15. Расчет пути к славе и почету
I •/ Чтобы ввести в создаваемую формулу значения полей, содержащихся в нескольких таблицах, для каждого поля укажите имя соответствующей таблицы. Это уже становится интересным! Чтобы вместе с полем указать имя таблицы, сделайте следующее: введите в квадратных скобках имя таблицы, затем поставьте восклицательный знак и введите имя поля, также в квадратных скобках. В итоге у вас должно получиться приблизительно такое выражение: [таблица]![поле]. После выполнения созданного запроса Access выведет на экран таблицу, в которой будут содержаться используемые поля и дополнительный столбец для значения вычисленного поля (рис. 15.2). £* Запрос 1 : запрос на выборку
ЁШЖ1
'Цена [выражение! |-*й 697, 50р ; 1025.325 : 785,25р. Г 1154,3175 '--i 2579,85i зГ 1 755,Ь6р.| 4 2 81 2,50р. Т 4134.375; 5< 608,58; 414,о6рГ| ' 3 645,00р. I 5358,15! 7\ 661,5 450,00р. 1 ё; 945,00р. Г 1389^15; 595,35' 9; 405,00р. '[ 202.50р.! 10; 297,675; 926.1 630.00р.! 11; 2065,8645: 12! 1 405,35р. ; 13! 1 975,50р. [ ' 2903,985;
Код товара Т 1 ... ^
*
ж
Э^®ШГ~
^ШЙЕ*!из 77
Рис. 15.2. Вычисление выполнено, но Access присвоила результатам странное имя
ше,
сложнее
Выполнив простые вычисления, попробуйте применить Access и для более сложных расчетов. Например, попробуйте создать формулы, которые используют значения, полученные в результате вычисления других выражений того же запроса. При этом ваши запросы станут более гибкими и эффективными.
Добавление одного и нескольких вычислений Access позволяет выполнить несколько вычислений в одном запросе. После того как вы введете первую формулу, можете смело продолжать создавать другие выражения в следующих пустых ячейках строки Поле. Можете вводить новые формулы до тех пор, пока вам самим это не надоест, и Access с удовольствием сделает необходимые вычисления. Одно и то же поле может использоваться в нескольких вычислениях. Такое в Access встречается очень часто.
Использование одного выражения для ответа на несколько запросов Один из наиболее мощных приемов при проведении вычислений состоит в использовании в одном и том же запросе значения одного вычисляемого поля в качестве составного эле-
182
Часть ///. Поиск точного ответа на любой вопрос
мента другого выражения. В результате вычисления, во-первых, появляется новое поле, а, во-вторых, полученные значения вычисляемого поля можно использовать для дальнейших вычислений в этом же запросе. В этом случае вычисляемое поле используется так же, как и другое, обычное поле таблицы. Хотя1 на словах это выглядит просто, на самом деле данный прием можно отнести к разряду технических тонкостей. Будьте очень внимательны при написании таких формул, поскольку малейшая ошибка в одном выражении может привести к самым непредсказуемым результатам в следующих вычислениях. Каждое выражение имеет свою уникальную метку (это тот текст, который находится непосредственно перед самим выражением). Все метки по умолчанию начинаются со слова Выражение. Однако название можно изменить на что-то более красочное, например Новая цена. Как это сделать, см. во врезке "Почему Access называет все формулы именем Выражение". Чтобы результаты одного вычисляемого поля можно было использовать при выполнении другого вычисления, имя первого вычисляемого поля достаточно заключить в квадратные скобки, как это делается при использовании имени обычного поля. В примере запроса, приведенном на рис. 15.3, показано, как использовать такую методику. Результаты первого (Новая цена) и второго (Старая цена) вычислений используются в третьей формуле (Увеличение). & Эапрос1 ; запрос на выборку
" -*^! !КцдТовара УЩ - - •''•.': !Поле1 Марка КодПостаадик v
'.-.•'.'•
f^TifQlfScj
'. ••'••. :
'':•'•. : •
"
'•' ,
' '' ''• '
'
.'' ""
'•'
.' " ' •. : •.'••;•• • '•':. ~~"
'
. • • . • : . . , . . - • - . : .
< .
'
...
.
•
-• .=,';'.:
;•'.
. . . . . .
.
.:
> :,
'
1 Поле: новая Цена: [Цена]* 1,47 Сортировка; Вывод на эфан : 1^1 Условие отбора : или:
1
-
$
>.
Старая цена: Цена
Увеличение: ([Новая Цена]-[Старая Ценэ])ЛЦена] л . ..
1^]
:
'
fvl
и
;
««
Рис. 15.3. Использование результатов одной формулы в другой На рис. 15.4 изображены результаты работы запроса.
Пусть Access задаст вопрос
;
.
•
.
В некоторых случаях возникает необходимость включить в формулу значение, которого нет в базе данных. Если вы знаете это значение, сразу введите его в формулу. В приведенном ранее примере вместо значения 147% в формулу вводилось число 1,47. Но что если такое число постоянно изменяется? Для этого не нужно постоянно переделывать запрос. Вместо того чтобы вставлять постоянно изменяющееся число в формулу, позвольте Access попросить ввести это число при выполнении запроса. Вы не поверите, как просто это делается. Чтобы заставить Access запрашивать число, придумайте какое-нибудь название для значения (например, Текущая цена, Последняя цена или Процентное увеличение) и используйте его в формуле так, как будто это обычное поле. Вставьте это имя в квадратных скобках в формулу, как вы это делаете с другими полями.
Глава 15. Расчет путч к славе и почету
183
При выполнении запроса Access выведет диалоговое окно (рис. 15..5). В него и вводится нужное значение. Таким образом, можно использовать один и тот же запрос с различными значениями, чтобы посмотреть, как изменение данного значения повлияет на результаты. tf' Запрос 1 : запрос на выборку
BBS
Код товара |" Новая Цена | Старая Цена| Увеличение » 1025,325 697,50р. i 0.47В ±_ D 0,47*1 1154.3175 "785.25р. | 2: 0,47 2579.85 1 755,00р i з^; 0,47 4 4134.375 2 812.50р. Г : 608.58 414.00р 0.47 5 3 645.арр 0.47 5358.15 6! 661.5 450.00р. 0,47 7| ; 0,47 1389.15 945,00р. I 8 9 595.35 405.00р. i 0,47 0.47 297.675 202.50Р .1 10; 630.00р. | 0,47 926,1 — 1 405.35р. | 0.47 2065,8645 : 2903,985 1 975,50р. I 0.47 13 14 3016.44 2 052,00р. | 0,47. Я1ЯЯ 7ПЯ5 Я 57П Wn : ПАТв ifil «' > "i] из 77 Ъ • ЗапиЬ,:[М}'< | ~ИШ5
ji] 12!
Рис. 15.4. Access вывела на экран результаты двух вычислений Введите значение параметра Г? Процент увеличения
Рис. 15.5. Access просит указать значение Выбирая имя для такого значения, не используйте названия уже существующих полей таблицы (вы только запутаете Access). Придумайте что-нибудь, что описывало бы само значение. Как видно из запроса, показанного на рис. 15.5, я решил использовать название [Процент увеличения], так как оно говорит само за себя. Если вы обратитесь к этому запросу через месяц (или даже год), то легко вспомните, что под названием [Процент увеличения] скрывается не обычное поле, а значение, которое Access будет спрашивать при выполнении запроса. Кроме того, названия такого рода хорошо смотрятся в небольшом диалоговом окне, которое появляется для ввода значения. •
Поработаем со словами В выражениях можно использовать не только числа, но и слова. Часто это бывает даже полезней, чем операции с числами. Access обращается с текстовыми полями при вычислениях почти так же, как и с числовыми. Имя поля также нужно заключать в квадратные скобки и внимательно вводить название вручную. Однако существует важное различие: несколько текстовых полей соединяются не с помощью знака "плюс" (+), как это делалось при выполнении простых математических операций, а с помощью знака амперсанда (&). Амперсанд выполняет практически ту же операцию, что и знак "плюс", но технические умы в компании Microsoft предпочитают использовать именно амперсанд. Они называют его операцией конкатенации, что на обычном языке означает соединение чего бы то ни было.
184
Часть III. Поиск точного ответа на любой вопрос
На рис. 15.6 изображена формула с текстовыми полями. В этом примере решается обычная проблема баз данных: составление имени из частей, разбросанных по разным полям. В приведенной формуле комбинируются поля Имя и Фамилия в одно полное имя, которое можно сразу вставить в соответствующее поле почтового сообщения или проделать массу других нужных вещей. f Запрос! : запрос на выборку -
1
гщТтг^ШшШ ;
*
,
" : • : . ,
{-J6j5tj •
y.^r
.*ч.
КодСотруд^ if Фамипия
Имя ^Должность
-*
•
'
<
'
-
-
-
"
".' '" ' .
'
''ty,
Ш-
(.
Поле: Выражение!: [Имя] S " " а [Фамилия] Имя таблицы: Сортировка: Вывод на экран: g Условие отбора; или:
v
Рис. 15.6. Превращение двух имен в одно вычисляемое поле
'
Эта формула состоит из поля Имя, символа "&" (амперсанд), одного пробела в двойных кавычках, за которым следуют еще один знак амперсанда и поле Фамилия: [Имя]&" "&[Фамилия] При выполнении данного запроса Access объединяет информацию из двух полей и вводит между ними пробел. Результат выполнения запроса показан на рис. 15.7.
Мария Белова Павел Новиков Ольга Бабкина Дарья Воронова Андрей Кротов Иван Акбаев Петр Кралев Анна Крылова Инна Ясенева
Рис. 15.7. После слияния отдельных полей имя и фамилия привычно располагаются рядом
помощь nfiuxoqutH пос&/гоий1ем> выражений При создании вычисляемых полей необходимо решить две основные задачи. I S Понимать, какие функции выполняет данная формула. I S Ввести формулу таким образом, чтобы Access смогла ее распознать.
Глава 15. Расчет пути к славе и почету
К сожалению, Access не сможет помочь вам при решении первой задачи, но окажет всестороннюю поддержку при решении второй. Чтобы создать вычисляемое поле именно в том виде, в котором Access сможет работать с ним, щелкните на кнопке Построить (Build). Это приведет к открытию диалогового окна Построитель выражений (Expression Builder). Теоретически построитель выражений помогает вам не запутаться в синтаксисе при создании формулы (или на языке Access — выражения) и выполнить все требования программы. Конечно, теория — это замечательная вещь, но она не всегда совпадает с суровой действительностью. Несмотря на то что построитель выражения может помочь какому-нибудь ленивому программисту составить сложнейшую формулу, чаще всего обычному человеку нужно создать работающую формулу. Перед тем как обращаться к построителю выражений, попробуйте найти ошибку самостоятельно. Если ваша формула работает не так, как должна бы, дважды проверьте правильность написания каждого поля. Чаще всего проблемы возникают именно из-за таких простых ошибок. Попробуйте также включить имена таблиц вместе с именами полей с помощью конструкции [таблица] ! [поле], которая упоминалась ранее в этой главе. Если ничего из этого не помогло, что ж, вздохните поглубже и отдайтесь во власть построителя выражений. Кто знает, может, именно он вам поможет. Как видно на рис. 15.8, диалоговое окно Построитель выражений состоит из нескольких частей. В верхней части окна располагается область, где фактически создается выражение. А ниже находятся операторы, которые можно использовать при создании выражения. Построитель выражении
Штабшцы SJЗапросы Ш Forms S3 Reports ЕЙ функции D константы О Операторы | О общие выражения
\ КодПоставщика ;КодТовара Цена
Рис. 15.8. Построитель выражений в действии Первая группа операторов выполняет простые математические действия: сложение, вычитание, умножение и деление. Следующий оператор, амперсанд (&), .служит для объединения двух текстовых полей, точно так же, как знак "плюс" необходим для сложения чисел. Следующие две группы операторов (=, >, <, <> и And, Or, Not и Like) выполняют операции логического сравнения. С помощью этих операторов можно создать выражения, подобные тем, которые используются при задании условий отбора в окне запроса. В результате выполнения эти операторы возвращают значение Истина (True) или Ложь (False). Две последние кнопки в ряду позволяют вводить в формулы круглые скобки. (Хотя проще будет ввести эти символы с помощью клавиатуры.) В нижней части окна находятся три секции. Если щелкнуть на чем-то в первой секции, ее содержимое появится во второй и в третьей секциях, в зависимости от того, что программе
186
Часть III. Поиск точного ответа на любой вопрос
нужно вывести на экран. В первой секции перечислены все папки всех таблиц, запросов, форм и многого другого текущей базы данных. В нижней части списка в первой секции находится несколько элементов для использования действительно техническими профессионалами. В этих папках находятся константы (такие как true и false), список операторов для операций сравнения и формул, а также папка Общие выражения (Common Expressions), содержащая все необходимое для создания отчета. Построитель выражений подобен большому калькулятору, совмещенному с текстовым редактором. Дважды щелкните на чем-либо в окне с тремя секциями, чтобы включить это в свое выражение. Щелкните на кнопке сразу под верхним окном, чтобы добавить в выражение оператор. Кроме того, всегда можно щелкнуть где-либо в большом окне сверху и вручную ввести нужную информацию. Так помогает или мешает построитель выражений? Черт возьми, хороший вопрос. Все зависит от того, как вы лучше запоминаете различные вещи и какая помощь наиболее подходящая для вас. Если вы решили, что построитель выражений вам поможет, я настоятельно рекомендую щелкнуть на кнопке Справка (Help) в окне Построитель выражений и обратиться к помощнику, чтобы тот рассказал вам обо всех элементах окна.
•
Глава 15. Расчет пути к славе и почету
187
Глава 16
Автоматическое редактирование данных /3э&ой иаве... > Мученический процесс > Замена данных > Удаление данных > Обновление данных
Access несложно исправить ошибки и неточности, допущенные при вводе данных в таблицу. Достаточно пару раз щелкнуть мышью, ввести несколько символов с клавиатуры — и проблема решена. Но как быть, если нужно исправить 2628 1 запись? Только представьте, сколько времени на это уйдет! После этого редактирование таблицы вручную уже не будет выглядеть так привлекательно, как сначала. Это примерно то же самое, что с помощью зубной щетки почистить стадо слонов. К счастью, в арсенале Access имеется набор инструментов для такого всеобъемлющего редактирования. Они позволяют автоматически внести глобальные изменения в базу данных. В этой главе мы рассмотрим эти средства и разберем примеры с их использованием.
слово cnottcofiif £• — 54 Пожалуйста, ради вашего же блага, внимательно прочитайте материал, изложенный в этой главе. Запросы, которые будут рассмотрены в ней, представляют собой замечательные инструменты редактирования данных, но они напоминают обоюдоострые ножи. Если использовать их по назначению, они помогут вам сэкономить массу времени и сил. Но стоит только сделать неверный шаг, т.е. щелчок, и вашей таблице будет нанесен огромный ущерб. Каждый раз, прежде чем изменить, удалить или добавить новую информацию в таблицу с помощью одного из описанных здесь средств, не пожалейте времени на создание резервной копии таблицы, а то и всей базы данных. Для создания резервной копии таблицы выполните следующие действия. 1. Откройте файл базы данных и щелкните на кнопке Таблицы (Tables), расположенной в левой части окна. В правой части диалогового окна вы увидите список всех таблиц, имеющихся в базе данных. 2. Щелкните правой кнопкой мыши на имени таблицы, которую собираетесь редактировать, и из появившегося меню выберите команду Копировать (Сору). Access поместит копию данной таблицы в буфер обмена Windows.
3. Еще раз щелкните правой кнопкой мыши на свободном пространстве окна базы данных и выберите команду Вставить (Paste). Появится диалоговое окно Вставка таблицы (Paste Table As). 4. Введите новое имя таблицы (например, копия таблицы клиенты), а затем щелкните на кнопке ОК. Не беспокойтесь о переключателях, которые вы увидите в диалоговом окне. Опций, установленных по умолчанию, вполне достаточно. После щелчка на кнопке ОК диалоговое окно закроется, а в списке таблиц базы данных появится копия выбранной таблицы.
омское исправление ошибок, замены данных Запрос автоматического изменения данных представляет собой очень эффективный инструмент редактирования. Но перед тем как перейти к крупномасштабному наступлению, поговорим о более простом редактировании. Этот способ может показаться банальным, но простота эта кажущаяся. Для начала попробуем отредактировать данные с помощью команды Заменить (Replace). Для этого выполните следующие действия. 1. Откройте таблицу в режиме таблицы. 2. Щелкните на столбце, данные которого хотите изменить, а затем из системного меню выберите команду Правка^Заменить (EditoReplace). Откроется диалоговое окно Поиск и замена (Find and Replace) (рис. 16.1). Поиск и замена Замена
Поиск Образец:
|США
Заменить на: Соединенные штаты
Совпадение:
Поля ценимом
Просмотр:
-Все
•
v;
И::
Й
ГПс учетом регистра
0с учетом формата попей
Рис. 16. /. Диалоговое окно Поиск и замена позволяет изменить данные во всей таблице 3. Введите подлежащие изменению данные в текстовое поле Образец (Find What), а новое значение — в текстовое поле Заменить на (Replace With). После того как вы введете текст в оба поля, можно вносить изменения. 4. В зависимости от того, как вы хотите вносить изменения в таблицу, щелкните на одной из кнопок, расположенных в правой части окна. Как только вы щелкнете на кнопке Заменить или Заменить все, Access навсегда изменит данные вашей таблицы. Не забывайте, что Access позволит вам отменить только последнее изменение, поэтому, если вы щелкнете на кнопке Заменить все и обновите 12 528 записей, вы сможете отменить только самое последнее изменение, остальные же 12 527 записей останутся в своей новой форме.
Глава 16. Автоматическое редактирование данных
189
• Чтобы найти следующую запись для изменения, щелкните на кнопке Найти далее (Find Next). Курсор перейдет к следующей записи таблицы, в которой содержится текст, введенный вами в поле Образец. На этом этапе изменения вноситься не будут, Access только найдет следующее совпавшее с критерием поиска поле. Чтобы внести изменения, щелкните на кнопке Заменить, которая описывается далее. • Чтобы внести изменения в текущую запись, щелкните на кнопке Заменить. После этого изменения будут внесены, а курсор переместится в следующую совпавшую запись базы данных. Для продолжения процесса снова щелкните на кнопке Заменить. Чтобы пропустить запись, не меняя ее, щелкните на кнопке Найти далее. • Чтобы внести изменения во всей таблице, щелкните на кнопке Заменить все. После этого Access не будет останавливаться на каждой изменяемой записи. Программа будет считать, что вы дали ей разрешение исправить все, что она найдет. Не используйте эту опцию, если вы не полностью уверены, что хотите везде внести изменения. 5. После того как все замены будут сделаны, щелкните на кнопке Отмена (Cancel) или X, расположенной в правом верхнем углу диалогового окна. Диалоговое окно Поиск и замена закроется. Если во всей таблице имеется слово с ошибкой и 1 вы хотите заменить его на правильное, щелкните на кнопке Заменить все. Компьютер учтет ваше пожелание и заменит в таблице каждое слово, введенное в поле Образец, на слово из поля Заменить на. Access позволяет вам контролировать процесс замены. В дополнение к уже знакомым командам, рассмотренным в главе 10 при описании команды Поиск, для команды Заменить существуют дополнительные опции. Поля целиком (Match Whole Field). Активизируется щелчком на кнопке раскрывающегося списка. Эта опция сообщает Access искать только те случаи, когда информация в поле Find What точно совпадает с записью в таблице. (Если в данных поля таблицы присутствует хотя бы один дополнительный символ, программа пропустит его.) С любой частью поля (Match Any Part of Field). Производит замену всегда, когда находит текст с любой частью текста из критерия поиска. Например, с помощью этой установки можно найти код региона в номере телефона. К сожалению, если в номере телефона присутствуют цифры из кода региона, то они также будут заменены. С начала поля (Start of Field). Заменяет совпавший текст, только если он находится в начале поля. С помощью этой установки можно заменить только код региона в нескольких телефонных номерах, не затрагивая остальные цифры. Если результаты внесенных изменений вас не устраивают, вспомните, что замечательная команда Отменить (Undo) исправляет только самую последнюю запись, измененную Access. Выберите из системного меню команду ПравкаоВосстановить запись (EditOUndo) или нажмите комбинацию клавиш <Ctrl+Z>.
190
Часть III. Поиск точного ответа на любой вопрос
запасы ула ftastibtx, задач Хотя с помощью запросов на выборку в Access выполняются очень многие задачи, это не единственно возможный инструмент, а только один из представителей семейства запросов, созданных в помощь пользователю. В режиме конструктора запроса из меню Запрос (Query) или с помощью кнопки Тип запроса (Query Type), расположенной на панели инструментов, можно выбирать и другие типы запросов. Щелкнув на стрелке, расположенной справа от кнопки Тип запроса, отобразится список типов запросов (рис. 1 6.2). Необходимо только выбрать из списка нужный. Выборка Перекрестный | Создание таблицы... Обновление *! Добавление... Удаление
Рис. 16.2. Из меню выберите интересующий вас тип запроса Последние четыре типа запросов (Создание таблицы (Make-Table), Обновление (Update), Добавление (Append) и Удаление (Delete)) помечены восклицательными знаками. Это напоминание о том, что запросы данных типов изменяют структуру организации данных в таблицах. Если вы работаете с запросами этих четырех типов, используйте для предварительного просмотра тех изменений, которые будут выполнены при выполнении запроса, кнопку Режим таблицы (Query View). Настоятельно рекомендую пользоваться режимом предварительного просмотра перед выполнением любого из перечисленных запросов, поскольку это единственный способ убедиться в том, что вы собираетесь внести именно те изменения, которые вам необходимы. При выполнении большинства запросов нет большого различия между использованием кнопок Запуск (Run) и Режим таблицы. А вот для запросов на удаление записей или запросов на обновление записей эти отличия становятся существенными. Когда используется кнопка Режим таблицы, вы видите результаты выполнения запроса без реального изменения содержимого базы данных. При использовании кнопки Запуск ваша информация будет изменена сразу и навсегда (ну, может быть, кроме тех случаев, когда у вас есть резервная копия данной таблицы).
Одним из самых простых видов запросов на изменение данных является запрос на удаление. К сожалению, он является и самым опасным. (И почему в компьютерных программах простое всегда Соседствует с опасным1?} При создании запросов на удаление используются те же команды, что и при создании запросов на выборку. Единственное отличие состоит в выборе типа запроса. Перед выполнением запроса на удаление можно сначала выполнить запрос на выборку, убедиться в том, что выбраны нужные записи, а затем уже удалять их с помощью запроса на удаление. Все, что необходимо для этого сделать, — это изменить тип запроса: с запроса на выборку на запрос на удаление.
Глава 16. Автоматическое редактирование данных
191
Ниже приводится порядок создания запроса на удаление. 1. Создайте обычный запрос на выборку. 2. Введите условия для отбора тех записей, которые хотите удалить. 3. Выполните запрос и убедитесь, что на экран выведены только те записи, которые вас интересуют. Если среди отобранных присутствуют и другие записи, пересмотрите условия отбора. 4. Вернитесь в режим конструктора запроса. 5. Щелкните на кнопке Тип запроса и из раскрывающегося списка выберите запрос Тип запроса либо выберите из меню команду ЗапросОУдаление (Query о Delete Query). При выборе запроса на удаление в строке заголовка окна конструктора запроса появится надпись Удаление, а строка Сортировка (Sort) будет изменена на Удаление. На рис. 16.3 показано типичное окно запроса на удаление записей. Запрос 1 ; запрос «а удаление
Попе: ОЕуащатьсяК Имя таблицы; Удаление: Условие отбора:
или:
Рис. 16.3. Окно запроса на удаление предписывает Access удалить все отобранные записи 6. Выполните запрос. Access выведет на экран сообщение с просьбой подтвердить удаление записей и напоминанием, что в случае положительного ответа они будут безвозвратно потеряны. 7. Если вы действительно хотите удалить отобранные записи, щелкните на кнопке Да (Yes). При выполнении запроса Access найдет записи, соответствующие введенному условию, и удалит их из базы данных. Это все, что необходимо сделать. Вам не удастся отменить действие, произведенное при выполнении этого запроса. После удаления записей назад их уже никак не вернуть.
192
Часть III. Поиск точного ответа на любой вопрос
Можно создать запрос на удаление записей, использующий для поиска необходимой информации сразу несколько таблиц. Но при этом будьте особо осторожны, так как последствия таких изменений могут оказаться весьма драматичными. И снова я предлагаю сначала сделать резервную копию базы данных, а затем выполнить запрос на выборку для просмотра записей, которые вы хотите удалить. Внесение изменений становится немного более сложным, когда записи удаляются из более чем одной таблицы. При удалении записи Access сможет сделать это только в случае связей в таблице "один к одному", т.е. когда каждая запись одной таблицы связана с одной записью другой. Если вы посмотрите на структуру связей между таблицами, отображаемую в верхней части окна запроса, то увидите, что связи типа "один к одному" помечены линией с числом 1 на обоих концах соединения. Если установлена связь типа "один ко многим" (обозначается цифрой 1 с одной стороны и символом бесконечности (ее) с другой), то вам потребуется выполнить как минимум два запроса на удаление записей: один из них — на удаление данных из одной таблицы и второй — на удаление данных из другой. В зависимости от индивидуальных настроек базы данных Access иногда просто не позволит удалить записи. Удаление записей, связанных по типу "один ко многим", затрагивает очень специфическую область, которая носит название целостность данных. Проще говоря, это означает, что записи должны быть в таблице, поскольку от их существования зависят данные, содержащиеся в других таблицах. Это свойство используется во многих корпоративных базах данных, поскольку дает гарантию, что информация не будет случайно удалена. Если вы работаете в корпоративной среде и получили сообщение о такого рода ошибке, свяжитесь с системным администратором.
внесение маашнаЯных изменений В жизни каждой базы данных неизбежно наступает время перемен. К счастью, для внесения глобальных изменений существуют специальные запросы на обновление записей, выполняющие эту операцию автоматически. Запросы этого типа дают возможность сначала выбрать записи, а затем воспользоваться инструкциями для изменения информации. Как и при использовании запросов других типов, модифицирующих данные (в частности > таких, как запросы на удаление записей), важно убедиться в том, что запросы будут изменять только нужные записи. Именно поэтому я предлагаю всегда сначала выполнять запрос на выборку с заданными условиями. Для того чтобы создать запрос на обновление записей, можно либо выбрать команду Обновление (Update Query) из меню Запрос, либо соответствующий пункт из раскрывающегося списка Тип запроса. Окно запроса примет вид, показанный на рис. 16.4. Хотя с первого взгляда кажется, что внешний вид окна не изменился, в конструкторе запросов появилась строка Обновление. Для выбора записей можно использовать любое условие отбора, как в обычном запросе на выборку. Пусть нужно отобрать все записи сотрудницы по фамилии Белова. Для этого в окне запроса выберите поле Фамилия, а в строке Условие отбора (Criteria) введите Белова. Предположим, сотрудница Белова вышла замуж и поменяла фамилию. Теперь по всей базе данных необходимо изменить фамилию Белова на новую, например Иванова. Для этого в строке Обновление введите Иванова. При этом окно запроса на обновление будет выглядеть так, как показано на рис. 16.5.
Глава 16. Автоматическое редактирование данных
193
К? Запрос! : запрос на обновление
. ..:.:".•• I область |страна
j*i; Ш ' • ' " . ' : • • • • ' • •• -
s '"' '
=
'""
•'
:
поле; КодКлиента Имя таблицы: Клиенты Обновление: Условие отбора: •"
!- ifpi^j
ИЛИ!
А;:
i-.'i-T''."-'1"'-. . • .;
..' :••"-, . . . " ' / :
:
.".":у.:- .'.•• , - ; . . : -- ••• ^Л'! :','''•-. . .' '
; ""' ' "'"'" : ; "' : '''' : '"' "' " '«р
Название Клиенты
ОбращатьсяК Клиенты
'
dE
BeSEffi Клиенты
v
'Щ
;
^ ; : : : ; i ^ ; : ##
Рис. 16.4. В нижней части окна запроса на обновление появится новая строка под названием Обновление fc"- Запрос! : запрос на обновление
Поле: КодКлиента Имя таблицы: Клиенты Обновление: Условие отбора: или:
Название Клиенты
1
ОбращатьсяК Клиенты "Иванова" Ъелова1
;
Телефон Клиенты
1
:...
.л:
i .. •
Рис. 16.5. Запрос на обновление найдет записи сотрудницы Белова и изменит ее фамилию на Иванова После щелчка на кнопке Запуск на экране появится предупреждение о том, что будет производиться обновление записей. Если вы уверены в правильности вносимых обновлений, щелкните на кнопке Да. В запрос на обновление можно включать данные из нескольких таблиц. Предположим, вы хотите обратиться к поставщикам, цена товаров которых составляет более 450 р. Такая задача представляет собой типичный пример использования нескольких таблиц. 1. В окне конструктора запроса выберите таблицы, в которых содержатся записи, подлежащие обновлению. В данном случае необходимы таблицы Поставщики и Товары. 2. Выберите поля, которые необходимы для создания запроса на выборку. Для данного запроса из таблицы Поставщики необходимо • выбрать столбец Заметки (его необходимо обновить), а из таблицы Товары — столбец Цена. Выберите для вашего запроса поля, которые помогут найти записи, подлежащие изменению, а также поля, которые будут изменяться в процессе. 1 3. Для изменения типа запроса щелкните на кнопке Тип запроса.
194
Часть ///. Поиск точного ответа на любой вопрос
В окне запроса добавятся строка Обновить, а также строки Условия отбора, которые вам уже знакомы. 4. Для выбора записей, которые вы хотите обновить, введите критерий поиска. В данном случае нужно изменить записи, минимальная цена которых превышает 450 р. Для этого необходимо ввести >450 в строку Условия отбора в столбце Цена. 5. Введите новое значение поля, которое требуется обновить. Этот элемент сообщает Access, что делать в строках, которые совпадают с вашей спецификацией, указанной в прошлом действии. Например, мне нужно добавить в поле Заметки фразу Очень дорого для каждого продукта с начальной ценой превышающей 450р. На рис. 16.6 видно, что я ввел "Очень дорого" в строке Обновить столбца Заметки. is-' Запрос! : запрос на обновление ШтИттЖ^И л Название ОбращатьсяК Должность -^:„
• '• ИШщ*
.
г
1 * i
'
1
Х ^ |марка ^~ КодПостаещик [КодТипа ^
1
.
v» .
Ш| ..." : Поле: Цена Имя таблицы: Товары Обновление; Условие отбора: >450 ' , - . • • или; •
,
;
Заме TKW Ток ры •Оче нь дорого' 1
Рис. 16.6. В результате работы этого запроса будут найдены все товары, купленные более чем за 450 р., а в поле Заметки вставлено примечание "Очень дорого" 6. Запустите запрос, щелкнув на кнопке Запуск или выбрав из системного меню команду Запрос^ Запуск. Access скажет, сколько записей будет обновлено, и предоставит вам шанс передумать (щелкните на кнопке Отмена). Здорово, правда? Также можно вносить изменения, производя вычисления на основе существующих значений полей. Для этого воспользуйтесь построителем выражений, описанным в главе 15. Допустим, необходимо сделать 10-процентную надбавку на все товары поставщиков из Германии. Чтобы внести соответствующие изменения, выполните следующие действия. 1. В окне запроса на обновление выберите поле, по которому вы хотите произвести поиск, и введите соответствующее условие поиска. В данном примере я выбрал поле Страна и ввел критерий Германия. 2. Выберите поле, подлежащее обновлению, и в строку Обновить введите новое значение. В данном примере необходимо применить формулу [Товар] ! [Цена] *1,1. На рис. 16.7 показано, как будет выглядеть окно такого запроса.
Глава 16. Автоматическое редактирование данных
вив
i? Запрос! ; запрос на обновление
ншмвв
. 1 КодПоставщик .-> Название Обращатьсяк Должность v.
кодТовара
„•/
;ГЮТе1 марка v [КодПоставщи<
'.
< 1 Поле: Страна Имя таблицы: Поставщики Обновление: Условие отбора: "Германия" • . или:
L (ена " оеары [Товар]! [Цена]*!,!*
^
Л
'
— •; "
«
Рис. 16.7. При выполнении данного запроса Access найдет всех поставщиков из Германии и увеличит начальную стоимость товаров на 10% Квадратные скобки говорят Access, что речь идет о таблице или о поле. В первые квадратные скобки заключено имя таблицы, а во вторые — имя поля. Между ними стоит восклицательный знак. 3. Выполните запрос на обновление, в результате чего данные будут изменены соответствующим образом. < f Следует повторить еще раз. Будьте очень внимательны, так как запросы на обновление и удаление могут оказать существенное влияние на информацию базы данных, а отменить внесенные изменения будет невозможно. Если строку Условия отбора оставить пустой, то при выполнении запроса изменения будут внесены в каждую запись таблицы! Для начала необходимо выполнить запрос на выборку и убедиться в том, что изменениям подлежат именнЪ те записи, которые были отобраны. После этого запрос на выборку можно изменить на запрос на обновление или удаление. В любом случае не забудьте создать резервные копии соответствующих таблиц.
196
Часть III. Поиск точного ответа на любой вопрос
Часть IV X'
Превращение таблицы в книгу КЛАН
А MOXiWi SbltvM»,
M Hihv.
<то-то сказал, что компьютерная революция покончит с бумажной волокитой. Нет нужды говорить, что этот человек ошибся. (Сейчас он, вероятно, занимается составлением гороскопов для одного из известных ; таблоидов.) г До сих пор в этой книге говорилось о вводе данных и их последующих преобразованиях. А теперь настало время вывести данные на экран, немного "подчистить" их, а затем увековечить на бумаге для будущих поколений. • Access обладает мощными средствами, позволяющими создавать отлич- 1 ные отчеты, содержащие несколько тысяч страниц текста. Более того, она предлагает великолепные инструменты для подготовки итоговых документов, которые позволяют забыть об этих объемных отчетах. По- , святите свое время изучению этой части и постарайтесь вынести для себя как можно больше полезного!
Глава 17
Автоотчет: неповортливый, но мощный тяжеловес гммбе... > Выбор между ленточным автоотчетом и автоотчетом в столбец > Создание автоотчета > Отчет в режиме предварительного просмотра > Изменение отчета в режиме разметки страницы
ак быть, если ваш начальник захочет воочию увидеть все "откровения", созданные в базе данных с помощью таблиц и запросов? А если он захочет ознакомить с этими сведениями других сотрудников организации? Только представьте себе добрый десяток человек, сгрудившихся вокруг вашего компьютера, изучающих тысячи записей и десятки запросов. К счастью, в Access имеются инструменты для создания и печати отчетов. Фактически они являются частью системы управления базой данных. Отчеты могут выбирать информацию из таблиц и запросов и организовывать ее согласно вашим указаниям. В Access даже имеется мастер отчетов, который может провести вас через все этапы создания нужного отчета. Вполне возможно, что вы открыли эту главу именно потому, что ваш начальник хочет увидеть отчет немедленно, поэтому в следующем разделе вы пройдете курс создания автоотчета. В последнем разделе этой главы и в остальных главах этой части (если начальник даст вам время для их изучения) вы найдете советы о том, как украсить отчет, чтобы он стал не только образцом информативности, но и красоты.
— основа поучения, инфо/гмации
-/
Можете считать, что автоотчет представляет собой ваш собственный информационный конвейер по конструированию однотабличных отчетов согласно предъявляемым требованиям. Обратитесь к программному обеспечению, объясните ему, что нужно делать, и получите отличный результат. Несмотря на то что автоотчет умеет одновременно работать только с одной таблицей, он может предложить создать отчет одного из двух типов: многоколоночный (автоотчет в столбец) или ленточный. Различие между ними заключается не в данных, а в способе их организации. S Ленточный автоотчет размещает каждую запись в отдельной строке, а каждое поле — в отдельном столбце, над которым помещается название поля. Чтобы столбцы помещались по ширине страницы, их уменьшают до необходимого размера.
Автоотчет в столбец располагает каждую запись вертикально, в два столбца: в первом находятся имена полей, а во втором — их содержимое. Если в таблице содержится больше 15 полей, то каждая запись, как правило, размещается на отдельной странице. Не существует общих рекомендаций относительно того, какой вид автоотчета предпочтительней использовать в том или ином случае. Это, скорее, дело вкуса и представлений об эстетике. Можно только сказать, что ленточный формат удобнее использовать, если отчет содержит большое количество записей с небольшими размерами полей. А формат в столбец больше подходит для отчетов, в которых мало записей, но внушительный размер полей.
\ Преимущество запросов
\ Замечательно, что Access для создания отчетов позволяет использовать запросы. Если вы i создаете отчет на основе таблицы, то в отчете будут содержаться все записи таблицы. | А что делать, если нужны только некоторые записи? Для этого необходимо сначала создать I ! запрос, а затем использовать его при разработке отчета. Однако преимущества на этом не заканчиваются. Создав запрос, основанный на j нескольких таблицах, можно свести результаты в одну таблицу. Если в результате | I выполнения запроса вы получаете таблицу, то в отчете, созданном на ее основе, | информацию можно организовать и представить в любом удобном виде. (О создании i запросов, использующих данные нескольких таблиц, см. в главе 12.) Независимо от того, какой вид отчета вы предпочтете, можете смело вносить в него изменения. Создайте отчет и, используя его в качестве отправной точки, добавляйте названия, заголовки, примечания или форматируйте по своему усмотрению. С помощью автоотчета создается обычный отчет Access, а со всеми основными командами и инструментами по его созданию и форматированию можно ознакомиться в режиме конструктора. Для того чтобы подробнее узнать о способах форматирования, заголовках и других инструментах работы с отчетами, перейдите к главам 19 и 20.
в уей&нвие с/геуанва nfiotftecca Хотя для создания двух типов автоотчетов в Access используются различные инструменты, принцип их работы аналогичен. Единственное отличие заключается в организации данных при выводе на экран. Для создания какого-либо типа автоотчета выполните следующее. 1. Щелкните на кнопке Отчеты (Reports) панели Объекты (Objects) окна базы данных. Затем щелкните на кнопке Создать (New). Появится диалоговое окно Новый отчет (New Report) с перечнем всех типов отчетов. 2. Выберите из списка пункт Автоотчет: в столбец (AutoReport: Columnar) или Автоотчет: ленточный (AutoReport: Tabular). После щелчка на соответствующем пункте списка изменится вид небольшого графического изображения отчета в этом окне.
200
Часть IV. Превращение таблицы в книгу
3. Из раскрывающегося списка, расположенного в нижней части диалогового окна, выберите таблицу или запрос, которые хотите использовать в качестве источника. Выберите из списка таблицу или запрос, на основе которого хотите создать отчет (рис. 17.1). Помните, что каждый автоотчет может работать только с одной таблицей или запросом. Новый отчет
Автоматическое создание отчетов с полями, расположенными в один стопбец.
Автоотчет: ленточный | Мастер диаграмм ; Почтовые наклейки
Вьберите в качестве мсто*»**а i десять смк дорогих товаров данных таблицу или запрос: • •' ~т— - •
Рис. 17.1. С помощью мастера создадим автоотчет в столбец 4. Щелкните на кнопке ОК. Access выведет на экран отчет в режиме предварительного просмотра, что на языке программистов означает: так он будет выглядеть на бумаге (рис. 17.2). В этом режиме имеется ряд инструментов, которые позволят вашему отчету несколько преобразиться. (О них вы узнаете в следующем разделе.)
Десять самых дорогих товаров СаяыеДорогяеТовюры
[СаеаеВВу
Цена Самые Дорогие Товары
|Thuringef RostbratwufSl
Цена СаяжДорож Товары
|мам косе
Цепа СаяыеДорогшТоварн Цена СаяыеДарогяе Товары
|C»n»rvon Tigers
Паш
СамькДорогшТовары
«•
аром»:; 15 М ;|
IRatteltaCoutdavaul
Пша Г:>г
Рис. 17.2. В окне предварительного просмотра можно увидеть, как отчет будет выглядеть на бумаге
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес
Обычно отчет появляется на экране в таком виде, в котором он может понравиться только обезличенному существу. Если вы хотите изменить внешний вид отчета и немного приукрасить его, перейдите в режим конструктора. Об этом будет рассказано далее, в разделе "Как украсить отчет".
созданном информационного "шеуев/га В режиме предварительного просмотра вы получаете возможность определить, как будет выглядеть документ в напечатанном виде. В табл. 17.1 представлена информация о кнопках панели инструментов окна предварительного просмотра.
Таблица 17.1. Инструменты предварительного просмотра Инструмент
Название
Функция
S-s
Вид (View)
Служит для переключения между режимами конструктора и предварительного просмотра
Печать (Print)
Посылает отчет на печать
Масштаб (Zoom)
Позволяет указать масштаб отображения страницы (вывод в натуральную величину и страница на экране целиком)
11
Одна страница (One Page)
-
;
Отображает на экране одну страницу
Две страницы (Two Pages)
Отображает на экране две страницы
Несколько страниц (Multiple Pages)
Отображает на экране до 6 страниц
Масштаб (Zoom)
Позволяет задать одно из десяти значений масштаба изображения
Закрыть (Close)
Закрывает окно предварительного просмотра
Установка (Setup)
Устанавливает параметры страницы и принтера
Связи с Office (Office Links)
Экспортирует отчет в программу Microsoft Word или Excel (если они установлены на вашем компьютере)
Изменение масштаба просмотра страницы Страница, показанная на рис. 17.2, выведена на экран не полностью. А вот на рис. 17.3 страница представлена на экране целиком, и видно, как она будет выглядеть в распечатанном виде. К счастью, Access знает гораздо больше трюков, а не просто втискивает страницу на экран монитора. Ниже приведен краткий обзор инструментальной панели системы создания отчетов.
Часть IV. Превращение таблицы в книгу
Рис. 17.3. Когда вы видите на экране всю страницу, ее содержимое прочитать практически невозможно •S Хотите увидеть, как будет выглядеть вся страница? Щелкните на кнопке Масштаб (Zoom) и выберите пункт Страница целиком (Fit). Access выведет на экран страницу, подобную изображенной на рис. 17.3. S Если вы хотите изменить масштаб просмотра данной страницы, щелкните на другой кнопке Масштаб (рядом с которой расположена кнопка раскрывающегося списка) и выберите какой-либо из коэффициентов масштабирования (от 10 до 1000%). Если вы хотите выбрать коэффициент масштабирования, который не указан в раскрывающемся списке, щелкните непосредственно в поле масштабирования, введите необходимое значение (например, 82%), а затем нажмите клавишу <Enter>. При перемещении по странице отчета курсор принимает вид лупы. Это означает, что щелчок мышью в любом месте отчета автоматически увеличит ту часть документа, где вы щелкнули. Еще один щелчок вернет документ к прежнему виду. Обратите внимание, что после щелчка на кнопках Одна страница, Две страницы и Несколько страниц масштаб отображения страниц принимает значение Страница целиком. При просмотре двух страниц страницы с нечетными номерами всегда находятся слева. (При издании книг нечетные страницы всегда располагаются справа, если, конечно, в производственном отделе все в порядке.) Если выбрать из меню команду Вид-^Число страниц (View1*Pages), на экране появится подменю, показанное на рис. 17.4. Можете поэкспериментировать с количеством страниц, выводимых в режиме предварительного просмотра.
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес
Предварительный просмотр Зависимости объектов...
Рис. 17.4. В режиме предварительного просмотра можно одновременно увидеть до J2 страниц отчета
Вызов контекстного меню Если в режиме предварительного просмотра щелкнуть в любом месте экрана правой кнопкой мыши, появится меню, предоставляющее возможность изменить масштаб изображения или просмотреть определенное количество страниц. При выборе из этого меню команды Масштаб появится точно такой же список опций масштабирования, как и в списке Масштаб системного меню. Кроме того, в контекстном меню доступны еще две команды. Экспорт (Save As/Export). Эта команда необходима, когда требуется сохранить отчет Access в формате, используемом другой программой. Одной из наиболее полезных особенностей программы Access является возможность преобразования отчета в документ формата HTML. Это значит, что вы можете сохранить свой отчет как Web-етраницу. Отправить (Send). Эта команда позволяет создать копию отчета Access и отправить его как почтовое сообщение.
Как украсить отчет Вы просмотрели отчет в режиме предварительного просмотра, а теперь должны принять решение. Если вас устраивает внешний вид отчета — великолепно! Приступайте к печати документа. Однако несколько минут дополнительной работы могут сотворить чудо даже с простейшими отчетами.
204
Часть IV. Превращение таблицы в книгу
Начнем с самого простого. Команду Файл^Параметры страницы (File^Page Setup) можно выбрать из режима просмотра любого отчета Access либо щелкнуть на кнопке Установка (Setup). В результате любого из этих действий отобразится диалоговое окно Параметры страницы с тремя вкладками с опциями, позволяющими сделать отчет более эффектным и привлекательным.
Вкладка Поля Здесь вы не найдете ничего нового. Вкладка Поля (Margins) диалогового окна Параметры страницы задает ширину отступов от края страницы. На рис. 17.5 изображена вкладка Поля с имеющимися в ней опциями. Как известно, каждая страница имеет четыре поля (верхнее, нижнее, левое, правое), каждому из которых соответствует одноименная опция настройки. етры страницы
П Печатать тенью дажые
Рис. 17.5, Установите поля страниц своего отчета с помощью вкладки Поля Рассмотрим установку полей страницы. 1. Дважды щелкните в соответствующем поле и введите его новое значение. Access самостоятельно преобразует внешний вид документа в соответствии с установками, используемыми Windows (дюймы, сантиметры и др.). В правой части диалогового окна показан образец страницы с новыми значениями полей. 2. После установки всех параметров страницы щелкните на кнопке ОК. 3. Если хотите убедиться, что страницы отчета будет выглядеть именно так, как вы хотите, перейдите в режим предварительного просмотра. Если вы не удовлетворены сделанным, вернитесь в диалоговое окно Параметры страницы и еще раз внесите необходимые изменения. Последним элементом вкладки Поля является опция Печатать только данные (Print Data Only). Трудно сказать, почему ее поместили на эту вкладку, так как ничего общего с установкой полей она не имеет. При установке флажка в поле этой опции Access будет печатать только данные из отчета, а заголовки полей выводиться не будут. Этой опцией можно воспользоваться, если вам необходимо использовать допечатные формы, когда внешний вид отчета не имеет никакого значения.
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес
205
Вкладка Страница Вкладка Страница (Page) сообщает Access о формате и размере бумаги в принтере, названии принтера и т.д. Здесь можно принять несколько очень важных решений относительно внешнего вида своего отчета (рис. 17.6). Параметры страницы
г'Ориентация га
®»«жмая
Рис. 17.6. Вкладка Страница позволяет настроить принтер, размер бумаги и некоторые другие элементы С помощью опций подраздела Ориентация (Orientation) можно задать расположение отчета на бумаге. Книжная (Portrait). (Большинство книг и журналов имеют именно такую ориентацию.) Эта опция предлагается по умолчанию. Альбомная (Landscape). При выборе данной опции отчет будет размещен по горизонтали. ' Ориентация — это нечто большее, чем просто дело вкуса. Альбомная ориентация, например, позволяет отображать более широкие столбцы, содержащие больше информации в каждом поле. Однако длина столбца будет меньше. Отчет в столбец не очень подходит для альбомной ориентации, поскольку для него требуется больше вертикального пространства, чем горизонтального. Другие настройки вкладки Страница определяются возможностями принтера. Раскрывающийся список Размер (Size) в группе Бумага (Paper) позволяет установить размер используемой бумаги (см. рис. 17.6). А из списка Подача (Source) можно выбрать опции непрерывной, автоматической или ручной подачи бумаги в принтер. В последней области вкладки Страница с помощью пары переключателей можно выбрать принтер, с помощью которого будет распечатан отчет. Предлагается использовать либо Текущий принтер (Default Printer), либо U Другой принтер (Use Specific Printer) (выбирается пользователем самостоятельно). Как правило, вам не придется изменять эту установку; она может понадобиться только в том случае, если вы захотите, чтобы отчеты печатались на определенном принтере. Чтобы выбрать его, установите переключатель Другой принтер, щелкните на кнопке Принтер (Printer) и из появившегося диалогового окна выберите название необходимого принтера.
206
Часть IV. Превращение таблицы в книгу
Вкладка Столбцы На вкладке Столбцы (Columns) (рис. 17.7) расположено гораздо больше опций, позволяющих отрегулировать ^лиоовать размеры оазмеоы и расположение оасположение отчета.
Рис. 17.7. Вкладка Столбцы позволяет придать отчету желаемый вид Вкладка Столбцы диалогового окна Параметры страницы состоит из трех подразделов. Параметры сетки (Grid Settings). Указывает количество столбцов в отчете и расстояние между ними.
•/ Размер столбца (Column Size). Позволяет определить высоту и ширину столбцов. Макет столбца (Column Layout). Определяет способ, с помощью которого Access размещает данные в столбцах. ~ щд j ч|Щ/ r
По умолчанию для поля Число столбцов предлагается установка одного столбца на страницу, но это число можно легко изменить. Однако не забывайте, что при этом в каждом столбце отчета окажется меньшее количество информации. При использовании слишком большого количества столбцов данные могут не поместиться на экране. В этом случае Access выведет соответствующее предупреждение.
Если число указанных столбцов вас удовлетворяет (а может быть, вы не хотите выводить информацию некоторых полей базы данных), можно щелкнуть на кнопке ОК, чтобы просмотреть, как будет выглядеть документ с несколькими столбцами. С помощью опций подраздела Параметры сетки можно также контролировать размеры строк и столбцов. •/ Интервал строк (Row Spacing). Позволяет задать размер междустрочного интервала. Для этого надо щелкнуть в соответствующем текстовом окне и ввести нужное значение. Интервал столбцов (Column Spacing). Позволяет определить ширину столбцов. Если выбрать слишком маленькое значение, вы сэкономите место, но отчет будет сложно читать.
Глава 17. Автоотчет: неповортливый, но мощный тяжеловес
207
Нижняя область вкладки Столбцы, называемая Макет столбца (Column Layout), определяет порядок положения столбцов на странице. Здесь предлагаются на выбор два варианта. Сверху вниз (Down, then Across). Access начинает вводить новую запись в том же столбце (если предыдущая запись не заполнила страницу полностью). Так, например, запись 13 будет вводиться под записью 12 (при условии, что там есть место), а записи 14 и 15 появятся в следующем столбце.
Слева
направо (Across, then
Down). Предполагает размещение
записи 13 справа от записи 12; записи 15 — под записью 13 и т.д.
записи 14 — под записью 12;
Если столбцы с первого раза не стали выглядеть так, как вам нужно, не опускайте руки. Небольшое изменение в интервале столбцов или строк вносит большие изменения в большой отчет, а функция предварительного просмотра, позволяющая сразу увидеть, как будет выглядеть отчет, не даст вам "наломать дров".
208
Часть IV. Превращение таблицы в книгу
Глава 18
Создание наклеек, диаграмм и многоуровневых отчетов с помощью мастеров f3 э&ой гмиве... >• Печать наклеек с помощью мастера наклеек > Добавление диаграмм с помощью мастера диаграмм >• Организация отчета > Использование мастера отчетов > Создание групповых уровней > Добавление резюме
оздание автоотчетов, рассмотренное в предыдущей главе,— это только верхушка V** айсберга возможностей Access. При желании можно использовать Access для создания и быстрого форматирования намного более сложных отчетов. Можно даже получить весьма привлекательную печатную продукцию, которую трудно отнести к отчетам, — почтовые наклейки и диаграммы. Однако не пугайтесь — в Access имеются мощные средства, которые помогут вам при их создании.
Создание наклеек Иногда (особенно перед праздниками) возникает необходимость разослать корреспонденцию большому числу абонентов. В этом случае одно только написание адресов на почтовых конвертах может занять целый день. Но даже в этом случае Access готова прийти на помощь. В дело вступает мастер наклеек — один из многочисленных мастеров отчетов, имеющихся в распоряжении Access. Мастер наклеек позволяет отформатировать данные для использования любых типов наклеек на любых почтовых конвертах, использующихся в этом мире. Почтовые наклейки, названия папок, ярлыки для отправки, карточки участников конференции — этот список можно продолжать до бесконечности. А самое главное — мастер наклеек выполнит за вас всю черновую работу. В прошлом самой трудной частью работы при создании наклеек было задание их размеров. Именно поэтому программисты снабдили мастера доброй сотней разных вариантов наклеек. Можно просто выбрать тип наклейки из имеющегося списка, и мастер сам подберет соответствующие размеры.
-;
Перед тем как активизировать мастера наклеек, подумайте, какая информация должна быть указана на наклейке. Если вы не хотите, чтобы на наклейке были указаны все имеющиеся в таблице данные, то прежде всего следует создать запрос, который отберет нужные сведения, отсортирует их в нужном порядке и подготовит к выводу на печать. Если вы немного подзабыли, как создаются запросы, см. часть III. Итак, имея готовую таблицу или запрос, можно приступать к созданию наклеек. 1. В окне базы данных щелкните на кнопке Отчеты (Reports) панели Объекты (Objects). Появится список отчетов, имеющихся в базе данных. 2. Для создания нового отчета щелкните на кнопке Создать (New). Появится диалоговое окно Новый отчет (New Report), предлагающее на выбор все виды отчетов, включая мастера наклеек. 3. Выберите из списка пункт Почтовые наклейки (Label Wizard). В левой части диалогового окна появится маленькое изображение страницы с наклейками. Это говорит о том, что все идет правильно (рис. 18.1).
:
Создание отчета, отформатированного для печати почтовых наклеек.
Конструктор : Мастер отчетов !Автоотчет: в столбец ;Автоотчет: ленточный \ Мастер диагр;
Выберите е качестве источника данных таблицу или запрос:
Рис. 18.1. Access готовится к созданию наклеек 4. Щелкните на кнопке раскрывающегося списка в нижней части диалоговогоокна. В раскрывающемся списке представлены таблицы и запросы, данные которых могут потребоваться для создания наклеек. 5. Щелкните на имени таблицы или запроса, данные которых вы хотите использовать для создания наклеек. Мастер наклеек готов к работе и ожидает нужных данных. 6. Для запуска мастера наклеек щелкните на кнопке ОК. После непродолжительной паузы появится диалоговое окно Создание наклеек (рис. 18.2). 7. В нижней части окна находится раскрывающийся список Фильтр по изготовителю (Filter by Manufacturer). Щелкните на стрелочке и выберите нужный пункт. Access призвана максимально облегчить процесс создания наклеек. Если вы сразу нашли нужное вам название, щелкните на нем. В верхней части окна появится весь перечень соответствующих данному пункту наклеек, отсортиро-
210
Часть IV. Превращение таблицы в книгу
ванных по порядковому номеру. Просмотрите список, выберите подходящий размер и переходите к п. 9. Создание наклеен ; Мастер создает стандартные или гсгъзовательские наклейки. Выберите размер наклейки. Код товара:
Размеры:
|С2180 JC2244 JC2245 JC2353
21 mm x 15 mm 72 mm x 72 mm 246 mm ж 166 mm : 110 mm л 146 mm
'••••• ~ - -
• • Система единиц :
О британская'
(«'• метрическая
Чело по горизонтали:
Тип наклеек (<*) на листах
Q рул»**»
Фильтр по изготовителю:
Рис. 18.2. Мастер наклеек умеет создавать наклейки множества стандартных размеров
' 1
Если вы не нашли подходящий вариант, еще раз просмотрите список наклеек. Тип Avery предоставляет очень широкий перечень всевозможных вариантов, и многие изготовители наклеек просто добавляют к ее коду соответствующий код Avery с пометкой соответствует Avery xxxx, где хххх обозначает код Avery. Поэтому можно выбрать тип наклейки из списка Avery, а затем найти в перечне наклеек нужный размер. После этого можете переходить к п. 9. В случае, есл» ни один из предложенных вариантов вас не удовлетворяет, выполните п. 8. Если все усилия оказались тщетны и вы не можете найти подходящий вариант наклейки, создайте его самостоятельно. Для этого щелкните на кнопке Настройка (Customize) и выполняйте появляющиеся на экране инструкции. Основная задача заключается в задании размеров наклеек (с этой целью используйте линейку) и количества наклеек, которое необходимо разместить на одной странице.
8. Для того чтобы использовать наклейки другого размера, щелкните на кнопке Настройка диалогового окна Создание наклеек. Создать наклейку другого размера не составит труда, но на это потребуется несколько дополнительных шагов. К счастью, Access поможет вам в этом. Программа попросит вас ввести общие размеры всех наклеек. Обратитесь к информационной таблице или к конфигурации, которая поставляется с наклейками, чтобы отыскать нужные размеры. После того как вы введете информацию, щелкните на кнопке ОК и перейдите к п. 10.
9. Щелкните на кнопке Далее (Next). Откроется диалоговое окно (рис. 18.3), в котором предлагается выбрать используемый шрифт.
10. Выберите шрифт, размер, насыщенность и цвет текста наклейки, а затем щелкните на кнопке Далее.
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов.
211
Создание наклеек Выберите шрифт и цвет для текста Неклейки. вид текста : шрифт:
размер:
цвет текста:
насыщенность: Светлый [J курсив
О подчеркнут»!
[~ от
Рис. 18.3. Выбирайте шрифт с умом - он будет использоваться на всех наклейках Можно выбрать любой шрифт Windows, а также изменить его размер, начертание (жирный или курсив), подчеркнуть слова или изменить цвет (если, конечно, у вас цветной принтер). Образец, расположенный слева в диалоговом окне, дает представление о том, каким шрифтом будет напечатана ваша наклейка на бумаге. Все настройки, которые вы здесь выберете, будут автоматически применяться ко всему тексту каждой наклейки. Если вы выбрали выделение курсивом, то ко всему тексту каждой наклейки будет применен этот стиль. 11. Укажите, какая информация из таблицы будет использоваться для создания наклейки. 12. Из списка Доступные поля (Available Fields) выберите нужные элементы и щелкните на кнопке >, чтобы они оказались в разделе Прототип наклейки (Prototype Label), как показано на рис. 18.4. Создание наклеек Каше поля требуется разместить в наклейке? Выберите попя для наклейки из списка слева. Если на каждой наклейке нужно вывести определенный теист, введите его в прототип справа. Доступные поля: ! Область \ Индекс 1 Телефон :Факс
Прототип наклейки: г
•|{Название} I {Обращаться^
-.
' |~~| ; (Адрес) 1
'
! (Город) ! (Область) I (индекс) (Страна)
< Назад
Далее > .
Рис. 18.4. Выберите поля, значения которых необходимо указать в наклейках
212
Часть IV. Превращение таблицы в книгу
Если вы хотите, чтобы поля появлялись в отдельных строках, для перехода на новую строку нажмите клавишу <Enter> или используйте клавишу со стрелкой, направленной вниз. Дважды щелкните на имени поля (или щелкните на кнопке >) — и поле появится в области Прототип наклейки. Access определяет количество строк в наклейке, исходя из размера наклейки и величины используемого шрифта. Если вы хотите, чтобы в поле наклейки использовался определенный символ, слово или текст, щелкните в том месте, где он должен будет появиться, а затем введите его с клавиатуры. Например, чтобы вставить запятую между названиями города и области на почтовых наклейках, выберите поле Город, введите запятую, нажмите клавишу пробела, а затем выберите поле Область. При печати каждой наклейки Access вставит название города, запятую, а затем добавит остальную информацию. 13. Когда все будет готово, щелкните на кнопке Далее.
Теперь нужно отсортировать наклейки. 14. Выберите имя поля, по которому будет проводиться сортировка (рис. 18.5), и щелкните на кнопке Далее. Создание наклеек Имеется возможность отсортировать наклейки по нескольким полям (например по имени и фамилии) или только по одному полю (например no почтовою? индексу). Выберите поля для сортировки. Доступные поля;
Сортировка:
•
КодКлиента ОбращатьсяК : Должность
< Ьаэад | Далее >
Рис. 18.5. Укажите Access, в каком порядке вы хотите распечатать наклейки Если вы планируете отправить огромное количество почты, посоветуйтесь с сотрудниками локального почтового отделения, как правильно ее оформить. Они обычно очень требовательны к таким вещам, но Access справится с этим. 15. Введите имя отчета по почтовым наклейкам и щелкните на кнопке Готово. Если вам кажется, что результат требует небольшой доработки, щелкните на кнопке Конструктор (Design) панели инструментов, на которой изображены треугольник и карандаш, и внесите необходимые изменения.
quaificuui Обычно отчеты представляют собой наборы слов и чисел, организованных так, чтобы облегчить восприятие информации. Но бывают случаи, когда словам и числам нужно придать
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов...
213
наглядность. Вот тогда и следует использовать диаграммы. Как говорится, одна наглядная схема стоит тысячи слов (таким образом, включив в свой отчет несколько диаграмм, вы сохраните множество деревьев от вырубки). В Access создание диаграмм осуществляется с помощью мастера, который по вашему приказу готов создать диаграммы любого вида. Для того чтобы построить диаграмму или график (в Access используются оба этих термина), вам потребуются не меньше двух полей (но не больше шести). Одно поле должно содержать числовые данные, которые будут графически представлены в отчете, а другое — подписи, характеризующие эти числа (в противном случае ваш график никому ни о чем не расскажет). Можно использовать данные только одной таблицы или запроса. Поскольку в арсенале мастера имеется несколько видов диаграмм, вам следует определиться, какой из них будет наиболее наглядным для того или иного отчета. Мастер предлагает пять основных видов диаграмм. •S
Линейчатые диаграммы. Этот классический вариант, известный каждому из школьного курса геометрии, получил второе рождение в цифровом мире. Идеальны для отображения изменений каких-либо параметров во времени.
•S Гистограммы, конические и столбчатые диаграммы. Являются разновидностями линейчатых графиков и изображаются с помощью горизонтальных и вертикальных гистограмм. Используются при сопоставлении нескольких групп данных (например, квартальные продажи в каждый год работы). Секторные и кольцевые диаграммы. Служат для представления данных в процентном отношении к общему количеству. Идеально подходят для показа вклада каждого подразделения компании в общий доход организации, соотношения клиентов по регионам и других примеров, где каждая величина может выражаться в виде сектора круга или кольца. Комбинированные двумерные диаграммы (диаграммы с областями). Представляют собой нечто среднее между линейчатой и секторной диаграммой и показывают, как происходит изменение итогового значения в группе данных в течение определенного промежутка времени. Они идеально подходят, например, для графического изображения изменения стоимости и доходов в течение нескольких лет. •S Точечные и пузырьковые диаграммы. Говоря техническим языком, они показывают соотношение двух величин по отношению к третьей (например, количество человек, посещающих клуб каждый месяц, распределяемых в соответствии с уровнем их дохода). Если выражаться яснее, даже и не думайте использовать эти диаграммы, если только у вас нет достаточно веской причины. Ими, как правило, пользуются инженеры, экономисты, ученые и те, кому некуда девать свободное время. Благодаря компетентным советам мастера построение диаграммы не займет у вас много времени. Для создания диаграммы выполните следующие действия. 1. В окне базы данных щелкните на кнопке Отчеты, я затем на кнопке Создать. Появится диалоговое окно Новый отчет (New Report) с перечнем доступных опций.
2. Выберите из списка пункт Мастер диаграмм (Chart Wizard).
214
Часть IV. Превращение таблицы в книгу
3. Из раскрывающегося списка, расположенного в нижней части диалогового окна, выберите имя таблицы или запроса, на основе которых вы хотите построить диаграмму. 4. Щелкните на кнопке ОК. Access откроет выбранную таблицу или запрос и выведет список полей, доступных для использования в диаграмме. 5. Выберите числовые и текстовые поля, а затем щелкните на кнопке Далее. 6. Для добавления или удаления полей воспользуйтесь кнопками > и < Кнопки » и « добавляют или удаляют все имеющиеся поля. 7. Щелкните на кнопке Далее. Access покажет образцы диаграмм, которые может построить. 8. Щелкните на изображении необходимого типа диаграммы, а затем на кнопке Далее. После щелчка на изображении диаграммы (см. рис. 18.6) в правой части диалогового появится ее краткое описание. Мастер объяснит, как отобразить данные, и предоставит вам возможность внести изменения. • Создание диаграмм
щ ь
Выберите тип диаграммы.
т ш | i IL L L— fe «
1 1 1
Правильный тип диаграммы позволяет наглядно представить значения . выбранных полей;
ь.
i Гистограмма
$т 0
i- i i
(
i Отображает изменения за период ; времени или показывает ! относительные значения элементов. \ Категории данных располагаются по i горизонтали, изменяющиеся по j времени значения - по вертикали. i 'i: ;.-;'-> • •
, • t
\. ;. ;
Ы От иена "'•!':''"'.. :
< Вазад
|
it
-. • j .:••..
Далее > . \
KJ
Ч
Цотово -
. ' Е£ , ; ;
Рис. 18.6. Access отобразит и опишет возможные типы диаграмм 9. Если тип выбранной диаграммы вас устраивает, щелкните на кнопке Далее. 10. Хотя мастер заполняет поля самостоятельно, вы можете все поменять местами. Например, перенести на график поля из левой части окна, дважды щелкнуть на элементе диаграммы и изменить его настройки и т.д. П. Щелкните на кнопке Образец (Preview Chart), чтобы посмотреть, как будет выглядеть диаграмма на экране (рис. 18.7). 12. Если вы удовлетворены созданной диаграммой, щелкните на кнопке Далее. 13. В появившемся окне введите имя созданной диаграммы. 14. Чтобы увидеть результаты своего труда, щелкните на кнопке Готово.
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов...
215
Создание диаграмм Выберите тип отображения данных на диаграмме.
Образец
Перетащите кнопки полей е область образца. Если требуется изменить вид rpynrvpoewi или вычислений, дважды щепкните на диаграмме числовое поле или попе типа даты. Ряды
! СамыеДорогиеТоеары l!
.
:
'
Цена
L СамыеДороги Товары
j
Рис. 18.7. Внесите изменения в диаграмму и для предварительного просмотра результатов своей работы щелкните на кнопке Образец
Cosqattue Мастер автоотчетов, рассмотренный в главе 1 7, создает отчеты на основе данных только одного запроса или таблицы. Этот мастер хорош в случае, если вам (или, что более вероятно, вашему начальнику) необходимо получить отчет немедленно. Если вам требуется более сложный, многоуровневый отчет или отчет, использующий информацию из нескольких таблиц, обратитесь к мастеру отчетов. Он позволяет добавлять в отчет поля из многих таблиц и создает из этих полей многоуровневую структуру. Каждый новый уровень образует свой собственный раздел отчета со своими заголовками. В таком отчете ваши данные наконец-то найдут свое настоящее место. Создание сложного отчета, безусловно, требует больших усилий, но результат того стоит. Поскольку создание многоуровневого отчета — довольно сложный процесс, лучше разделить его на несколько этапов, каждый из которых описан в следующих разделах.
Запуск мастера и выбор полей Готовый многоуровневый отчет существенно отличается от своего простого собрата, но первые этапы создания отчетов практически не различаются. Итак, приступим к знакомой процедуре. 1. В окне базы данных щелкните на кнопке Отчеты. Как обычно, Access отобразит список имеющихся отчетов. 1. Для создания нового отчета щелкните на кнопке Создать. Появится диалоговое окно Новый отчет, предлагающее на выбор все доступные виды отчетов. 3. Выберите из списка пункт Мастер отчетов и щелкните на кнопке ОК. Появится диалоговое окно, показанное на рис. 18.8.
216
Часть IV. Превращение таблицы в книгу
Создание отчетов Выберите поля для отчета. Допускается выбор нескольких таблиц или запросов.
Таблицы и запросы Таблица: Товары Дцступные поля:
Выбранные поля:
Марка :КОДПоСТаВщийЭ 'КодТипа ;ЕдиницаИэмеренмя ;Цена НаСкладе Ожидается
Рис. 18.8. Мастер отчетов позволяет добавлять поля из одной или нескольких таблиц или запросов базы данных
.
4. Из раскрывающегося списка Таблицы и запросы (Tables/Queries) выберите имя таблицы (или запроса), содержащей нужные поля. Как только вы выберете имя таблицы или запроса, на экране появится список доступных полей. Так как конкретные таблицы или запросы выбраны не были, мастер будет считать, что нужно рассмотреть все элементы из всей базы данных. 5. Выберите нужные поля, дважды щелкая на их имени или пользуясь соответствующими кнопками. Кнопка > добавляет поля в окно Выбранные поля (Selected Fields), а кнопка < удаляет их. Самый простой способ переместить поле из одного окна в другое— дважды щелкнуть на его имени. Независимо от того, в каком списке находится поле, двойной щелчок на его имени переносит его в другое окно. 6. Повторите действия, описанные в пп. 4 и 5 для каждой таблицы или запроса, содержащих поля, которые вы хотите включить в отчет. 7. После того как все необходимые поля будут перенесены в список Выбранные поля, щелкните на кнопке Далее. Появится диалоговое окно (рис. 18.9). Мастер отчетов позволяет пользователю сгруппировать данные по своему усмотрению. Кроме того, мастер отчетов самостоятельно анализирует данные, на основе чего выводит на экран образец страницы отчета. Однако мастер может и ошибиться (это всего лишь программа). Продумайте все возможности организации данных в отчете и определите, какая из них наиболее эффективна. Для оценки различных вариантов организации данных попробуйте выбрать каждое из полей, расположенных в левой части диалогового окна.
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов...
217
Создание итнетоо :
Выберите вид представления . 'данных: ' • " . • . • \- Клиенты
|
а
' -^-Л Код Товара, Марка, КодПостэещикз, Подтипа, ЕдиницаИзмерения, Цена,
|КодКлиента, Название, ОбращатьсяК, Должность, Адрес, Город, Область, [Индемс, Страна, Телефон, Факс
.
|
|
1.'. QK) вывести дополнительные сведения
. . •. ;•• ':•' •
'
| |
Отмена
|
'
< Назад | аапве>к| [ Сотою
н
j
Рис. /8.9. Мастер отчетов позволяет сгруппировать данные Если вы не увидите окно, показанное на рис. 18.9, не волнуйтесь. Это означает, что в своем отчете вы используете данные только из одного запроса или таблицы.
Если вы не хотите сортировать записи по группам, щелкните в первой строке списка, расположенного слева в диалоговом окне. По непонятным для меня (но, без всякого сомнения, понятным для программистов) причинам это действие приводит к отображению всех записей без сортировки по группам.
Создание новых групп данных Теперь перейдем к следующему этапу организации данных в отчете. Access предлагает дополнительные возможности для организации информации в отчете, которые основаны на использовании различных полей (помимо тех, что рассматривались в предыдущем разделе). Слева в диалоговом окне (рис. 18.10) представлен список всех доступных полей. Вы можете добавить столько полей, сколько вам необходимо. Чтобы организовать новую группу на основе конкретного поля, щелкните на его имени, а затем на кнопке >. Мастер преобразует вид отчета в соответствии с новыми указаниями (рис. 18.11). Как поступить в том случае, если вы хотите изменить структуру группирования данных? Для этого необходимо лишь реорганизовать уровни с помощью кнопок Уровень (см. рис. 18.11). Если выделить поле и щелкнуть на кнопке со стрелкой, направленной вверх, приоритет уровня этого поля возрастет. Соответственно, если щелкнуть на кнопке со стрелкой, направленной вниз, уровень выделенного поля понизится. Каждое поле, выбранное для организации отчета, формирует новый раздел. Каждый из этих разделов имеет свой собственный заголовок и примечание, которые могут-содержать информацию из базы данных или информацию, которая непосредственно добавляется в отчет в режиме конструктора.
218
Часть IV. Превращение таблицы в книгу
Создание отчетов Добавить уровни группировки?
t
;Код Товара, Марка, КодПоставщика, Код Типа, ЕдиницаИэмерения, Цена,
тт
ц,
-
pqgj \
1
КодКпиента, название, ОбращатьеяК, .Должность, Адрес, Город, Область, iMHAew:, Стра>«, Телефон, Факс
!
|
Сотово
'
^КодПоставщика i Код Типа \ ЁдиницаИзмерения |Цена .! # к/;" !НаСкпаде i Ожидается -| Л4«*тмальныйЭапас i ПостэвкиПрекращены ^ '••
i ;i.~"f'"""'~]^- •
1
Отмена
'< Ыаэад
| Далее > k
j [
j
Рис. 18.10. В этом диалоговом окне укажите поля, на основе которых вы хотите сгруппировать данные Создание отчетов Добавить уровни группировки? :
'
.
,
-
'
L3
1МинимальныйЗапас !КодТовара !КодТипа j ЁдиницаИзмерения ОЦена |НаСкпаде
| г- т
|Код Товара, Марка, КодТипа, БдиницаИзиерения, Цена, НаСкпаде, Ожидается, Постави^Прекращены, Заметки
Г г > \ [< { | | [ * {
ЙШЩЦЦЯМмшшц*' "' i Заметки
Груопировка...
1
" „ '
|
Отмена
J
<Иазад
| Далее >
j [
, Сотово
j
Ч
Рис. 18.11. Конкретизируйте структуру отчета, добавив новые группы данных
Сортировка данных В Access поля, которые не подлежат группировке, называются записями области данных. В окне, представленном на рис. 18.12, эти записи можно отсортировать (по возрастанию либо по убыванию) по полям, которые не участвуют в группировке. Для этого выберите имя поля из раскрывающегося списка, а затем щелкните на кнопке, расположенной справа, чтобы выбрать порядок сортировки. (О сортировке данных см. в главе 10.) После щелчка на кнопке Итоги (Summary Options), расположенной в нижней части диалогового окна, появится диалоговое окно Итоги (рис. 18.13). (Если у вас на экране нет кнопки Итоги, это значит, что в отчете нет ни одного поля, над которым можно выполнять математические действия.) Здесь приведены некоторые статистические функции, в том числе общая сумма (Sum), среднее значение (Avg), минимум (Min) и максимум (Мах). Для того чтобы применить эти формулы к выбранному полю, нужно всего лишь установить соответствующие флажки.
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов...
219
Создание отнетоо Еыберите порядок сортировки и вычисления, выполняемые для записей. Допускается сортировка записей по возрастанию или по убыванию, включающая до А попей.
V'.! I по возрастанию
v
< Назад
|
:
| по возрастанию
Дапее >
Рис. 18.12. Отсортируйте данные по выбранному полю
Кафе итоговые значения необходимо вычислить? '•- Поле | Цена ', НаСкпаде j Ожидается \ МинимагъньйЗапас - ПоставюЛрафащены
sum
Avg
ип гт п а п п п па
Min
Max
п а о а а. о а а па
1
Отмена
;
. Показать
;
; (*Э данные и итоги
.; 1
= О гольга итоги
]
. \
Q Вычислить проценты
Рис. 18.13. Обработайте свои данные Если вы хотите, чтобы на экран выводились и данные, и итоговая информация, выберите опцию Данные и итоги (Detail and Summary) в разделе Показать (Show). Если вас интересует только итоговая информация, выберите опцию Только итоги (Summary Only). Последняя опция в этом диалоговом окне — Вычислить проценты (Calculate Percent). Если установить этот флажок, Access вычислит сумму значений поля и укажет в процентах долю каждого значения в этой сумме.
Выбор макета отчета После того как данные выбраны, сгруппированы и отсортированы, мастер отчетов предложит на выбор ряд макетов, позволяющих представить отчет в наглядном и информативном виде (рис. 18.14). Выполните следующие действия, чтобы добавить последний штрих к вашему почти готовому отчету.
220
Часть IV. Превращение таблицы в книгу
Создание отчетоо е вид макета для отчета. Макет
Ориентация !
(3 ступенчатый
(* &*!Жная
О блок
'О альбомная
Q структура 2
"
•
•
Q fw левому краю 1 '--..; Q по оевому краю2
Г-.
V j Настроить изрину полей для размещения на одной странице.
Далее >
Рис. 18.14. Access позволяет выбрать один из имеющихся макетов отчетов 1. В области Макет (Layout) выберите стиль (рис. 18.14). Слева в окне показаны образцы имеющихся типов макетов. Сделайте свой выбор в зависимости от данных, содержащихся в отчете.
2. В зависимости от того, каким образом вы хотите расположить отчет на странице, установите переключатель в одно из полей подраздела Ориентация (Orientation). Если в вашем отчете выводится много небольших полей или несколько полей большого размера, рекомендуется выбрать альбомную ориентацию. Если полей немного и они имеют небольшой размер, выбирайте книжную ориентацию.
3. Снимите или установите флажок в поле Настроить ширину полей для размещения на одной странице (Adjust the Field Width So All Fields Fit on a Page). Если флажок установлен (это настройка по умолчанию), Access принудительно размещает все поля на одной странице, даже если это приведет к усечению некоторых из них. В результате усечения поле может оказаться слишком маленьким для того, чтобы вывести все содержащиеся в нем данные. Например, поле, включающее имя и фамилию Harriet Isa Finkelmeier, после усечения может выглядеть как Harriet Isa Fink. (Вся фамилия просто не поместилась при выводе на экран.) Если флажок не установлен, Access размещает на странице столько полей, сколько поместится без изменения их ширины. Оставшиеся поля останутся за пределами страницы.
4. Если вы удовлетворены своим макетом, щелкните на кнопке Далее. Откроется диалоговое окно, в котором можно сделать выбор одного из шести 'возможных стилей отчетов. Окно, расположенное слева, показывает, как выглядит тот или иной стиль.
5. Выберите тот стиль, который вам больше нравится, и щелкните на кнопке Далее. 6. Присвойте имя своему отчету.
Глава 18. Создание наклеек, диаграмм и многоуровневых отчетов...
221
Отчет сохранится под заданным именем. Кроме того, вы получаете возможность просмотреть вновь созданный отчет, модифицировать его или вызвать справку.
7. Для предварительного просмотра отчета установите переключатель в поле Просмотреть отчет (Print Preview). 8. Если вы хотите внести изменения в макет отчета, установите переключатель в поле Изменить макет отчета (Modify the Report's Design). Access откроет отчет в режиме конструктора, что позволит внести в него необходимые изменения.
9. Щелкните на кнопке Готово. Access автоматически сохранит новый отчет вместе с остальными отчетами вашей базы данных. В главе 19 рассказывается, как изменить и отформатировать отчет, чтобы он имел неповторимый вид.
*
222
Часть IV. Превращение таблицы в книгу
Глава 19
Даже небольшое форматирование творит чудеса ff мКой tMtSe..t > > > > > > > >
Обзор режима конструктора Работаем с разделами отчета Отмечаем текстовые поля и наклейки Просмотр выполненной работы Автоформатирование работает на нас Рисуем линии и поля Добавляем в отчет графические изображения Переносим отчеты в Microsoft Word и Excel
астер отчетов Access— отличный напарник. После короткого раунда переговоров, состоящего приблизительно из 20 вопросов, он автоматически выдает информативный и привлекательный отчет. Да, он информативен, но несколько уроков по искусству дизайна ему не повредят. Хотя мастер Access старается сделать все как можно лучше, ему не всегда удается сделать именно то, что нужно вам. Прозорливые инженеры из Microsoft предвидели такое развитие событий и оставили "запасной выход" — так называемый режим конструктора отчета. Благодаря этому режиму вы можете изменить все что угодно (разумеется, в конструкции отчета): поменять местами или добавить текстовые поля, выделить определенные поля, а также многое другое. Эта глава посвящена некоторым популярным приемам конструирования, которые сделают ваши отчеты гордостью фирмы.
ttacffifioutca OfH^etna toottctHfUftctHO/га
в [гежиме
Если вы хотите улучшить внешний вид своего отчета, вам не обойтись без режима конструктора отчета. И пока вы не перейдете в этот режим, вы ничего не сможете изменить. К счастью, есть несколько способов заставить отчет перейти в режим конструктора. Какой из них выбрать, зависит от того, где именно в Access вы находитесь в данный момент. S После того как вы создадите отчет с помощью мастера, он спросит, не хотите ли вы просмотреть свой отчет и по необходимости изменить его (даже сам мастер знает, что его творение далеко от совершенства). Для перехода в режим
I
конструктора установите переключатель в поле опции Изменить макет отчета (Modify the Report's Design), и мастер незамедлительно проводит вас туда. •S Если вы находитесь в режиме предварительно просмотра отчета, можете перейти в окно конструктора, щелкнув на кнопке Вид (Design View) панели инструментов. */ Чтобы перейти в режим конструктора из окна базы данных, щелкните на кнопке Отчеты (Reports), щелкните на имени нужного отчета, а затем на кнопке Конструктор (Design). Какой бы способ вы ни выбрали, Access откроет отчет в режиме конструктора (рис 19.1), после чего его можно совершенствовать. 12 Microsoft Access Вид Встдвка
Формат Cgpanc Окно Оправка
Конструктор
Рис. 19.1. В окне конструктора имеются инструменты, необходимые для редактирования отчета
Ofaactfiu
u
Если взглянуть на отчет в режиме конструктора, можно заметить множество маркеров, расположенных в нескольких разделах (или областях). Эти маркеры показывают, где Access планирует разместить поля и вывести текст, который появится в окончательном варианте отчета. Они также дают представление о том, как программа планирует отформатировать каждый элемент отчета. В зависимости от того, какая информация включена в отчет, Access может использовать два вида маркеров.
224
Часть IV. Превращение таблицы в книгу
•S Текстовые поля служат для отображения в отчете данных, содержащихся в конкретном поле. Каждое поле базы данных, которое вы хотите включить в отчет, должно быть размешено с помощью такого маркера. Если для какоголибо поля, содержащегося в отчете, не имеется маркера, то данные этого поля в окончательный отчет не попадут. •S Надписи. Это маркеры для обычного текста, отображающие в отчете текстовое сообщение. Иногда такие надписи существуют сами по себе (например, Этот отчет конфиденциален); часто они дополняют текстовые поля, поясняя, какие данные там содержатся (например, Код клиента или Размер). Маркеры организованы по областям, которые относятся к различным частям отчета. Эти области определяют, в каком месте и с какой периодичностью определенное поле или текстовое сообщение появляется в отчете. В примере отчета, приведенном на рис. 19.1, показаны три наиболее распространенные области:
•/ Заголовок отчета; s Верхний колонтитул; •S Область данных. Стрелки, расположенные слева от названий этих разделов, указывают на область, в которой содержатся маркеры. Существуют парные области, расположенные по обе стороны области данных отчета. К ним можно отнести, например, Заголовок отчета и Примечание отчета, Верхний колонтитул и Нижний колонтитул. На рис. 19.2 показаны области отчета, парные к изображенным в примере, приведенном на рис. 19.1. Итоги продаж по объему : отч ' 1 ' ' ' 2 ' ' ' S ' i ' 4 ' ' ' 5 ' ' ' 6 ' ' ' 7 ' ' ' 8 ' i ' 9 ' " ' 10' ' ' IT l ' 12' ' ' 13' ' ' 14' I ' 15' ' ' 16' I * Заголовок отчета
продаж по об
гп Назв; нив:
Счет mic
I) * Область данных
:рбъемПродаж \
:
Итого nil странице::
;КодЗак;
Свободный1!
г i I I i г=+-
9} & " из " & [Pages
Приме чание отчета
Рис. 19.2. Нижний колонтитул и область примечаний отчета являются "зеркальным отображением" верхнего колонтитула и заголовка отчета Рассмотрим, как работают эти области (в том числе и такие важные аспекты, как где и насколько часто они появляются в распечатанном виде).
Глава 19. Даже небольшое форматирование творит чудеса
22S
•S Заголовок отчета. Все, что появляется в заголовке отчета, печатается в самом начале отчета. Эта информация выводится только один раз — вверху первой страницы отчета. •S Верхний колонтитул. Информация, содержащаяся в верхнем колонтитуле, печатается вверху каждой страницы отчета. Единственным исключением является самая первая страница отчета, где Access помещает сначала заголовок отчета, а затем верхний колонтитул. S
Область данных. Это основная часть отчета, она содержит собственно интересующие нас данные и занимает большую часть самого отчета. Каждая запись, используемая в отчете, находится в этой области.
S Нижний колонтитул. Access помещает его в конце каждой страницы отчета. •S Область примечаний. Область примечаний отчета появляется внизу самой последней страницы отчета, сразу же за нижним колонтитулом этой страницы. Поскольку информация о разделах (или областях) очень важна при создании отчетов, ей будет посвящена целая глава. Обо всех подробностях управления областями отчета и о выполнении с их помощью вычислений рассказывается в главе 20.
все, Ч1но С помощью инструментов панели форматирования (рис. 19.3) в отчете можно отформатировать почти все элементы. Если вы хотите изменить цвет текста, размер шрифта или визуальный эффект вокруг поля, на этой панели найдутся все необходимые для этого средства.
Объект
Шрифт
У|ОбъемПродаж ^Arial Cyr '
По левому Цвет краю текста По правому Ширина границы Размер шрифта Курсив краю ^J 10
Полужирный По центру I Цвет границы Подчеркнутый Цвет заливки/фона Оформление • , • ,.:
-•
.
Рис. 19.3. Access предлагает целый набор инструментов форматирования отчета
Для редактирования элементов отчета с помощью инструментов панели форматирования выполните следующие действия. 1. Щелкните на элементе, который хотите отформатировать. Это относится к любому полю, надписи или линии — Access относится ко всем одинаково. После щелчка на каком-либо поле вокруг выбранного объекта появляются небольшие черные квадратики (рис. 1 9.4). 2. Щелкните на кнопке панели инструментов, соответствующей необходимому элементу форматирования. Результаты применения большинства инструментов форматирования сразу появятся на экране. Некоторые средства (управляющие цветом, обрамлением и трехмерными эффектами) представляют собой раскрывающиеся списки с перечнем элементов. Эти элементы будут описаны далее в данной главе.
»
Часть IV. Превращение таблицы в книгу
3. Повторите пп. 1 и 2 для всех полей, которые хотите отформатировать.
Если при форматировании вы допустили ошибку, выберите команду Правкам Восстановить свойство (EditoUndo Property Setting). Access отменит последнее примененное форматирование. .
Следующие разделы посвящены некоторым наиболее типичным задачам форматирования, с которыми вы можете столкнуться. Следуйте инструкциям, и вскоре ваш отчет, хотя и будет несколько уступать портрету Моны Лизы, но зато наверняка превзойдет налоговую декларацию.
(|/ продаж по объему
zzbzzz^^ =Format(DateO: at9(): "rfd-mm "rfd-mm m-yyyy m-yyyy*1 *\
"—т;т-т.г"-™г|-
•* Верхний колонтитул С бъвм продажу дЗаказ
" Область данных
ЮбьемПродаж" |КодЗак;;
•••;
Г **г* "1
Название
'
Г
ПримвчаIMPгруппы"Объе^Продаж*
*НЮЯЧИЙ голонтитул
""Т"^ итого по странице:! ! _ Свободный;;
<
age] & " из" & [Pages]
Примечание отчета
1
• Рис. 19.4, Выбрано поле ОбъемПродаж
Раскрасьте свой отчет Ничто так не оживляет тусклый отчет, как применение цвета. Кнопки Цвет заливки/фона (Fill/Back Color) и Цвет текста (Font/Fore Color), расположенные на панели инструментов форматирования, превращают процесс раскрашивания отчета в весьма простое и увлекательное занятие. Обе кнопки изменяют цвет текстовых маркеров в отчете, однако результаты их использования несколько различаются. •у;
§ */ Кнопка Цвет текста изменяет цвет текста, содержащегося в поле или надписи. Кнопка Цвет заливки/фона изменяет цвет фона, при этом цвет текста не изменяется.
Чтобы выбрать понравившийся цвет, щелкните на стрелке, расположенной справа от кнопки, а затем выберите соответствующий цвет из появившейся палитры. Обратите внимание, что образец выбранного вами цвета также появится на кнопке.
Глава 19. Даже небольшое форматирование творит чудеса
Чтобы изменить цвет поля или цвет надписи в отчете, щелкните на соответствующем маркере. Для изменения цвета текста щелкните на кнопке Цвет текста, а чтобы изменить цвет фона, щелкните на кнопке Цвет заливки/фона. Проделанные изменения сразу же отобразятся на экране. Кнопку Цвет текста можно использовать для изменения цвета текста в текстовом поле или надписи. Это позволяет создавать специальные эффекты, например выбирать контрастирующие цвета для фона и переднего плана (рис. 19.5).
| • I • 1 • I • 2 ' I ' 3 ' > ' « ' ' ' 5 ' > ' S ' ' ' 7 ' ' ' в ' ' ' 9 ' > ' 10' I ' 11' I ' 12' I • 13' I ' U 1 I ' 15' I ' 16' ' ' *>
| *3а-олоеок
Итоги продаж по объему =Fortnat(Date(): oo-mmm-yyyy
~Т~
галснтитул
гого по странице:; I
Свободный
Рис. 19.5. Задайте цвета фона и переднего плана
i Возьмите свой отчет под контроль { [ i ?
Помимо обычных средств, предоставляемых Access для редактирования отчета (надписей и полей), можно использовать некоторые другие элементы. Они называются управляющими элементами, и их можно вывести на экран, щелкнув на кнопке Панель элементов, находясь в режиме конструктора. Некоторые элементы управления предназначены для работы с определенными типами полей. Например, элемент управления Флажок может графически показать значение поля ; типа Да/Нет. (К тому же это придает вашему отчету более привлекательный вид.) ! Все, что на первый взгляд кажется простым и понятным, на самом деле всегда оказывается 1 довольно сложным, и это наблюдение можно отнести и к использованию управляющих элементов. Поэтому в Access есть несколько мастеров управляющих элементов. Подобно \ другим своим собратьям в программе, они неторопливо проведут вас через все этапы создания ! управляющих элементов. Как правило, соответствующий мастер предлагает свои услуги сразу, \ как только вы поместите управляющий элемент в отчет. ! Если вы создали -управляющий элемент, а мастер не приходит на помощь, убедитесь, что на панели элементов активизирована кнопка Мастер (с изображением волшебной палочки). • В активном состоянии эта кнопка выглядит как нажатая. Если вы в этом не уверены, щелкните > на ней несколько раз, чтобы понять разницу. i Некоторые инструменты (Линия, Прямоугольник, Разрыв страницы и элементы, г предназначенные для вставки рисунков) описываются далее в этой главе. А следующая I глава посвящена использованию управляющих элементов, предназначенных для выполнения вычислений в отчетах.
228
Часть IV. Превращение таблицы в книгу
Кнопку Цвет текста можно также использовать для изменения цвета текста в текстовом поле или любой надписи. Можно легко создать специальные эффекты, выбрав контрастные цвета для фона и переднего плана, и получить белый текст, плывущий над черным фоном (рис. 19.5). Будьте внимательны при выборе цветов — если установить одинаковый цвет для текста и фона, может показаться, что поле исчезло! В этом случае, чтобы вернуться к исходным цветовым установкам, выберите команду ПравкаО Восстановить свойство.
Перемещение элементов Хотите заняться реорганизацией? В отчете можно перемещать практически все элементы (поля, надписи, линии и т.д.). Это настолько просто, что необходимо проявлять большую осторожность, чтобы случайно не переместить то, чего не следует. Для того чтобы переместить линию, рамку, надпись или текстовое поле, выполните следующие действия. 1. Щелкните на объекте, который хотите переместить. Вокруг выбранного элемента появятся черные квадратики, давая понять, что он выделен. Если возникают трудности с выделением линии, старайтесь щелкнуть у ее краев. Почему-то, когда вы хотите выделить линию, Access не всегда понимает ваши намерения. Если щелкнуть у конца линии, программа, кажется, лучше понимает, что вы хотите сделать. 2. Переместите курсор мыши на границу рамки, которая появилась вокруг объекта. Курсор примет вид маленькой руки с указательным пальцем. 3. Нажмите кнопку мыши и, удерживая ее, переместите объект на новое место. По мере перемещения мыши будет перемещаться и рамка объекта. (В зависимости от видеокарты, установленной в вашем компьютере, вы увидите либо весь объект, либо только его рамку.) 4. Когда объект займет нужное положение, отпустите кнопку мыши. Если новый вариант вам не понравился и вы хотите вернуть объект на прежнее место, выберите команду Правка^Отменить сдвиг (Edit^Undo Property Setting) или нажмите <Ctrl+Z>. В некоторых отчетах Access (в частности, в автоотчетах в столбец) поля и их надписи связаны друг с другом. Поэтому при перемещении одного элемента будет перемещаться и другой. Если вы хотите переместить поле отдельно от его имени, выполните все описанные выше действия, но курсор мыши помещайте не на рамку, а на один из больших квадратных маркеров (рис. 19.6). Рассмотрим, для чего предназначены эти маркеры. 1 ^ Маркер, расположенный слева, служит для перемещения надписи. I V Маркер, который находится между двумя другими, перемещает текстовое поле. Щелкните в поле, а затем подведите курсор к большому маркеру. Когда он примет вид руки с указательным пальцем, переходите к п. 3 (нажмите кнопку мыши и, удерживая ее, начинайте перемещение). Отпустите кнопку мыши, когда объект окажется в нужном месте. Если вместо руки с указательным пальцем курсор примет вид двунаправленной стрелки, попробуй-
Глава 19. Даже небольшое форматирование творит чудеса
229
те снова подвести курсор к маркеру. Двунаправленная стрелка означает, что Access собирается изменить размер объекта, а не перемещать его. В некоторых типах отчетов, например в ленточных отчетах или почтовых наклейках, надпись поля и его содержимое не связаны. Надписи поля либо нет вообще, либо она появляется только один раз в области верхнего колонтитула. Если надписи не связаны с соответствующими полями, то у них нет больших маркеров, аналогичных изображенным на рис. 19.6. Маленькие маркеры на границах поля используются для изменения размера поля в отчете. Если вы обнаружите, что информация в поле усечена, можно щелкнуть на этом поле и использовать маркеры для изменения длины поля. Если текстовое поле содержит большой объем информации, можно увеличить высоту поля. В этом случае Access расположит информацию в нескольких строках. Расстояние между маркерами определяет расстояние между элементами отчета при выводе на печать. Увеличение этого пространства придаст отчету "разреженный" вид, а уменьшение — позволит разместить больше объектов на странице.
1 • I • 2 ' ' ' i ' I • < ' I ' 5 ' I ' 6 • I ' ; ' ' ' 8 ' I ' 9 ' I ' 10' I ' 1Г ' ' 12' ' ' 13' ' ' 14' I ' 15' I ' 16
Mniosto гоги прооаж т по объему TMt(D^0;W.mmm-y^T~ | т—J—.-.--, -у jJ
ОбьемПродфк | |КодЗак|
j
\
Г
Название
L-L-L-
* Нижний колонтитул
Г
>ro по CTjMfmitni Т _Z3 ЛГ Т
Свободный
:ча ив отчета
Надпись
Поле
Рис. /9.6. Большие маркеры используются для независимого перемещения надписи или поля
Создайте красивое обрамление Применение линий и рамок может до неузнаваемости изменить внешний вид отчета. Они могут привлечь внимание к определенным разделам страницы, выделить некоторые области отчета и вообще придать щеголеватый вид однообразной странице. Панель инструментов содержит три кнопки, предназначенные для редактирования линий и рамок: Цвет линии/границы (Line/Border Color); Толщина линии/границы (Line/Border Width); Оформление (Special Effect).
230
Часть IV. Превращение таблицы в книгу
Раскрасьте линии и рамки Кнопка Цвет линии/границы изменяет цвет линий, используемых для обрамления поля или нарисованных с помощью инструмента Линия (Line). Она функционирует точно так же, как кнопки Цвет заливки/фона и Цвет текста, поэтому ее использование не представляет особой сложности. Для того чтобы изменить цвет линии или рамки, выполните следующие действия. 1. Щелкните на рамке или линии, чтобы выделить ее. Не забудьте, что щелкать нужно у конца линии, иначе вы потратите массу времени зря. !,._/ •»; 2. Щелкните на стрелке справа от кнопки Цвет линии/границы. Появится палитра доступных цветов (рис. 19.7).
mmmmmmmm mmmmmmmm • anо п ш*G Рис. 19.7. Из имеющейся палитры выберите подходящий цвет 3. Выберите подходящий цвет.
Измените толщину линий и рамок Кроме изменения цвета линий и рамок, можно также регулировать их толщину. 1. Щелкните на линии или рамке, с которой хотите работать. 2. Щелкните на стрелке рядом с кнопкой Толщина линии/границы, чтобы появился список доступных опций настройки. Толщина линий измеряется в пунктах С/к дюйма, или 0,35 мм). В меню предлагается набор линий толщиной 0,5; 1; 2; 3; 4; 5 и 6 пунктов. (Заметим, что линия толщиной 6 пунктов, или 2,1 мм, в отчете выглядит довольно тяжело весной.) 3. Щелкните на подходящей опции. Вот и все. Как и в остальных случаях, команда Правка^Восстановить свойство исправит любую случайную ошибку, поэтому смело экспериментируйте с имеющимися значениями.
Примените х линиям и рамкам специальные эффекты С помощью кнопки Оформление можно изменить стиль рамки. Здесь вам будет предложено на выбор шесть вариантов (рис. 19.8). Рассмотрим назначение этих элементов. */ Опции Утопленное оформление и Приподнятое оформление меняют цвет с двух сторон поля, создавая трехмерный эффект. При использовании опции Утопленное оформление будет казаться, что поле или его блок вдавлены в текст. Опция Приподнятое оформление создает обратный эффект — выпуклость поля.
Глава 19. Даже небольшое форматирование творит чудеса
Приподнятое Обычное Утопленное
Вдавленное Рельефное С тенью
Рис. 19.8. Шесть элементов кнопки Оформление Элемент Рельефное оформление приподнимает нижнюю часть рамки поля, а Вдавленное оформление создает эффект гравировки рамки. Элемент Оформление с тенью создает эффект падения тени справа от поля. Элемент Обычное оформление помещает вокруг текстового поля стандартную рамку с обычными линиями. Несмотря на то что в меню приведены небольшие примеры каждого поля, сложно сказать, как они будут выглядеть на самом деле, пока вы не примените их к своему отчету. Попробуйте поэкспериментировать с разными установками, распечатайте отчет и выберите то, что вам понравилось. В конце концов, всегда можно отменить внесенные изменения, так почему же не попробовать что-нибудь новенькое? Для добавления специальных эффектов достаточно выполнить те же действия, что и при изменении цвета или толщины линий. 1. Щелкните на маркере объекта, вид которого хотите изменить. 2. Щелкните на стрелке рядом с кнопкой Оформление, чтобы увидеть шесть элементов. 3. Щелкните на изображении эффекта, который решили применить.
Поработайте с текстом Для того чтобы изменить шрифт или его размер, щелкните на стрелке, расположенной справа от окошка с названием шрифта или указанием его размера, и из раскрывающегося списка выберите нужный элемент. При установке стиля выделите текстовый блок и щелкните на соответствующей кнопке для изменения начертания (полужирный, курсив или подчеркивание). Если стиль применен (соответствующая кнопка панели инструментов выглядит утопленной), повторный щелчок на этой кнопке отменит его. Кроме того, можно управлять выравниванием текста внутри надписей и полей. Для этого нужно выделить объект и щелкнуть на одной из трех кнопок выравнивания, расположенных на панели инструментов. Выравнивание по левому краю. Выравнивание по правому краю. Центрирование текста.
Часть IV. Превращение таблицы в книгу
Чтобы сделать внешний вид своего отчета более привлекательным, обязательно обращайте внимание на такие элементы форматирования, как выравнивание надписей и данных. Цифровые данные следует выравнивать по правому краю, чтобы цифры располагались строго друг под другом. Большинство других типов данных лучше выравнивать по левому краю. Заголовки, как правило, располагают по центру.
После того как вы вдоволь поработаете над отчетом в режиме конструктора, наступит время посмотреть, как будет выглядеть итоговый результат. Ваше воображение тут не поможет, поскольку представить себе, как будет выглядеть отчет на бумаге, очень непросто. В Access имеются два режима для предварительного просмотра отчета. •S
Образец (Layout preview). Если выбрать этот режим просмотра, Access возьмет в качестве образца фрагмент данных и покажет часть отчета, которая и даст вам представление о том, как будет выглядеть окончательный вариант документа. В режиме предварительного просмотра можно увидеть только образец данных (без выполнения вычислений). Главная задача на данном этапе — не анализ данных, а оценка внешнего вида. Для того чтобы перейти в этот режим, щелкните на кнопке раскрывающегося списка, расположенной рядом с кнопкой Вид (Report View), а затем выберите из него пункт Вид (рис. 19.9).
Конструктор
Рис. 19.9. Чтобы оценить внешний вид отчета, просмотрите его в режиме Bud, а для того, чтобы увидеть полный отчет, выберите режим Предварительный просмотр
Глава 19. Даже небольшое форматирование творит чудеса
Предварительный просмотр (Print preview). Для просмотра всего отчета со всеми расчетами и данными щелкните на кнопке Предварительный просмотр. Можете пойти длинным путем и щелкнуть на кнопке раскрывающегося списка, расположенной рядом с кнопкой Вид, и выбрать элемент Предварительный просмотр (рис. 19.9). Какой бы метод вы ни выбрали, появится окно предварительного просмотра (рис 19.10). В этом окне различные элементы отчета представляются так, как они будут выглядеть в распечатанном виде. Чтобы изменить вид экрана, можно воспользоваться управляющими элементами, расположенными в верхней части окна.
Итоги продаж по объему
104966.00р.
10479
Rattlesnake Canyon Grocery
I01917.00p
10540
QUICK-Stop
Рис. 19. Ю. Теперь вы точно знаете, как будет выглядеть ваш отчет О режиме предварительного просмотра см. в главе 17.
Если вы хотите изменить внешний вид всего отчета с помощью одного-двух щелчков мышью, воспользуйтесь кнопкой Автоформат (AutoFormat). После щелчка на этой кнопке Access предложит применить на выбор один из заранее подготовленных стилей форматирования, которые позволяют изменить все — от шрифта заголовка до цвета линий, разделяющих элементы отчета. Чтобы применить автоформатирование, выполните следующие действия. 1. Щелкните в пустой серой области под примечанием отчета.
234
Часть IV. Превращение таблицы в книгу
Это действие может показаться странным, однако щелчок в этой области — лучший способ пояснить Access, что в данном случае не нужно выбирать какой-то определенный раздел отчета. Если будет выделена определенная область, команда Автоформат будет применена только к содержимому этой области. Хотя такая избирательность в некоторых случаях может оказаться полезной, перед вами, как правило, стоит задача преобразования всего отчета. I 2. Щелкните на кнопке Автоформат панели инструментов. Появится диалоговое окно, содержащее несколько различных опций форматирования. 3. Щелкните на имени выбранного вами формата, а затем на кнопке ОК (рис. 19.11). Access преобразует весь отчет в соответствии с выбранным стилем. Отчет - авдоформат: Деловой : [Обычный
Подпись данных Элемент данных
Рис. 19,11. Выберите стиль форматирования и примените его ко всему отчету Если изменилось только несколько полей в одной области, скорее всего, вы выделили именно эту область отчета. Вернитесь к п. 1 и снова попытайтесь щелкнуть на пустой серой области. С помощью кнопки Настройка (Customize) можно создать собственный стиль и сохранить его в свойствах команды Автоформат.
все, ч*но можно При перемещении объектов можно запросто нарушить их выравнивание. Например, заголовки столбцов могут оказаться в области верхнего колонтитула, а текст заголовка отчета — в области данных. Естественно, лучше всего, чтобы поля данных располагались непосредственно под заголовками столбцов. Однако выравнивать все вручную — занятие малоприятное. Сетка, наложенная на фон экрана, облегчит позиционирование элементов таблицы при выравнивании по вертикальным линиям или точкам. При перемещении объектов в отчете можно выбрать команду ФорматоПривязать к сетке (Format1* Snap to Grid). Эта команда характеризует перемещение объектов: от линии к линии (или от точки к точке сетки) или независимое перемещение.
Глава 19. Даже небольшое форматирование творит чудеса
При перемещении объектов с активизированной командой Привязать к сетке левый верхний угол всегда выравнивается по одной из меток сетки. Используйте эту команду и при изменении размера объекта, тогда выравнивание перемещаемой стороны также будет происходить по меткам сетки. В меню Формат имеются и другие полезные команды для расположения объектов. / Выровнять (Align). Можно выбрать два или несколько объектов и выровнять их относительно друг друга или относительно сетки. Элементы по левому краю (Left), по правому краю (Right), по верхнему краю (Тор) и по нижнему краю (Bottom) обеспечивают выравнивание выбранных объеьтов по соответствующей стороне. Например, если выбрать несколько объекте >, а затем выполнить команду ФорматО Выровнять1^ по левому краю, вь деленные объекты переместятся таким образом, что их левые стороны окаж; тся на одном уровне. По умолчанию Access выравнивает объекты относительно крайнего левого объекта. •/ Размер (Size). Можно также изменить размер группы объектов. Для эт эго надо их выделить, а затем выбрать нужный элемент из подменю команды ФормаЮРазмер. •
Команда Формат^Размеропо размеру данных (Formats Size1* to Fit) устанавливает размеры каждого из объектов так, чтобы он вместил всю необходимую информацию. Значение по узлам сетки (to Grid) настраивает все объекты так, что их углы позиционируются по точкам сетки.
•
Выбор варианта по самому высокому (Tallest), по самому низкому (Shortest), по самому широкому (Widest) и по самому узкому (Narnwest) настраивает все объекты в выбранной группе в соответствии с этими характеристиками. Другими словами, если вы отметили группу и выбрали вариант выравнивания размера по самому высокому, все выбранные объекты при; 1ут такую же высоту, как самый высокий из группы.
s Интервал по горизонтали (Horizontal Spacing) и Интервал по вертикали (Vertical Spacing). Эти команды из меню Формат могут использоваться для равномерного размещения выбранной группы объектов. Для этого нужно выделить эти элементы, а затем выбрать элемент сделать равным (Make Equal) из дополнительного меню команды Интервал по вертикали или Интервал по горизонтали. v
HaftuctfUfne
линии
Для того чтобы сделать отчет более наглядным, можно добавить в него разделительные линии. Для этого выполните следующие действия. 1. Откройте панель инструментов, щелкнув на кнопке Панель элементе в. 2. Щелкните на инструменте Линия панели инструментов. Курсор примет вид крестика с небольшой линией. 3. Щелкните в том месте, где хотите начать линию, и переместите указал ель до точки, где хотите закончить линию. Отпустите кнопку мыши.
236
Часть IV. Превращение таблицы в книгу
Для изменения цвета, толщины и внешнего вида линии можно применить различные инструменты панели форматирования, которые мы уже рассмотрели в этой главе. С помощью кнопок Цвет линии/границы (Line/Border Color), Толщина линии/границы (Line/Border Width) и Оформление (Special Effects) можно создать самые различные эффекты. Инструмент Прямоугольник (Box), который находится справа от инструмента Линия, применяется для рисования рамок вокруг отдельных объектов. Выберите этот элемент, затем щелкните в точке, где должен быть верхний левый угол вашего прямоугольника, и растягивайте прямоугольную фигуру до положения нижнего правого угла. После этого отпустите кнопку мыши, и прямоугольник появится в отчете.
Как правило, при подготовке отчетов разделителям страниц уделяют не много внимания. Более детально рассматриваются вычисления, выравнивание информации в аккуратные столбцы и строки и выбор подходящего оттенка для линий и рамок. Однако бывают ситуации, когда необходимо указать, где именно должна заканчиваться страница отчета. Иногда нужно вывести итоговые данные или сгруппировать определенную часть информации на одной странице. Как бы там ни было, для вставки в отчет разделителя страниц требуется всего один щелчок мышью. Для того чтобы вставить в отчет Access разделитель страниц, выполните следующие действия.
1. Щелкните на кнопке Разрыв страницы (Page Break) панели инструментов. Указатель мыши примет вид крестика с пиктограммой страницы. 2. Поместите крестик туда, где должен находиться разделитель страниц, и щелкните кнопкой мыши. У левого края отчета появится пара небольших черных меток. Это и есть маркеры разделителя страниц. Отныне в этой точке будет начинаться новая страница. Для того чтобы удалить разделитель страниц, щелкните на нем, а затем нажмите клавишу <Delete>.
fH4etn /шсцшссиш После щелчка на кнопке Рисунок (Image) или Свободная рамка объекта (Unbounded Object Frame) появится указатель в виде знака "плюс" вместе с пиктограммой этой кнопки. С помощью этого инструмента вы можете нарисовать на экране прямоугольник. Если вы использовали инструмент Рисунок, Access откроет диалоговое окно Выбор рисунка (Insert Picture), которое используется для выбора файла вставляемого рисунка. После щелчка на кнопке Свободная рамка объекта появится диалоговое окно Вставка объекта (Insert Object), в котором можно выбрать тип используемого объекта.
Глава 19. Даже небольшое форматирование творит чудеса
237
Рисунки, безусловно, оживят ваш отчет, но их рекомендуется размещать только в заголовке или примечании отчета. Если вы вставите рисунок в область данных, он будет повторяться слишком часто. Если вы не располагаете готовым рисунком, можете воспользоваться кнопкой Свободная рамка объекта, чтобы добавить объект OLE. Технологии OLE (Object Linking and Embedding — связывание и внедрение объектов) позволяет поместить объект на страницу, поддерживая при этом связь объекта с исходным файлом. Любые изменения в исходном файле тут же отразятся на объекте, вставленном в отчет. Такая связь возможна с графическим файлом или файлом любого типа, поддерживающим технологию OLE.
Jlefteqa4,a сннче&ов в Microsoft Office В арсенале Access имеется широкий выбор всевозможных инструментов, но иногда другие профаммы могут выполнить поставленную задачу быстрее и лучше. Главную роль здесь играет команда системного меню Сервио=>Связи с Office (Tools^Office Links). Она выполняет три функции: две отвечают за связь отчета с программой Microsoft Word, а третья — с программой Excel.
238
Часть IV. Превращение таблицы в книгу
Глава 20 .
Заголовки и примечания для групп, страниц и всего отчета гмиве... > Группирование и сортировка записей >
Изменение размера областей
> Точная настройка разметки отчета > Управление верхним и нижним колонтитулами > Вставка выражений в нижний колонтитул > Добавление нумерации страниц и дат
ри создании отчетов мастер всегда готов прийти на помощь, но, к сожалению, его возможности далеко не безграничны. Даже при работе с мастером необходимо знать, как группировать поля отчета для достижения оптимального результата. Кроме того, вам может потребоваться изменить организацию данных или модифицировать компоненты отчета, чтобы он отвечал новым требованиям. И вам придется не полагаться на чью-то помощь, а самостоятельно перейти в режим конструктора отчета и внести все необходимые изменения вручную. i Не отчаивайтесь! Информация, изложенная в этой главе, поможет вам избежать многих трудностей. В ней описана логика группировки полей и приводятся вспомогательные функции. Она послужит вам проводником на сложном и тернистом пути ознакомления с режимом конструктора.
Расставим все по своим меанам Основной секрет правильной организации отчета заключается в том, каким образом вы разместите маркеры (известные программистам под названием управляющие элементы) над-' писей и полей при его проектировании. Каждый отчет состоит из нескольких областей (в других системах управления базами данных их называют разделами), которые определяют отдельные части отчета. Распределение элементов отчета по областям зависит от типа отчета. Отчет в столбец (Columnar). В стандартном отчете в столбец (рис. 20.1) заголовки полей печатаются для каждой записи. Это происходит потому, что как описания полей, так и поля данных размещаются в области данных отчета. Поскольку текст заголовка отчета размещается в области заголовка, он печатается только один раз, в самом начале отчета. Ленточный отчет (Tabular). В ленточном отчете все происходит совершенно иначе (рис. 20.2). Заголовок здесь печатается в начале отчета, как и в предыдущем примере, однако на этом сходство заканчивается. Вместо того чтобы
:
находиться в одной области с данными, заголовки полей переместились в область верхнего колонтитула. При этом они печатаются не отдельно для каждой записи, а один раз на каждой странице.
2 • I ' 9 ' ' ' 4 ' ' ' 5 ' I ' С ' I ' 7 ' I ' 9 ' ' ' 9 ' ' ' 10' ' ' 11' ' ' 12' ' ' 13' I ' 14' ' ' 15' > ' 1
* Обпасть данных
.Код|ипа | "" '
"Т "~
г™
Категория] ' Описание !
J
n'T
""""[К'зтегорпя
. IT з i . i
-Nowfl
|
. .j
p
^
1
1
1
! j
J
J
i Oimic.tHiie 1
] * Нижний колонтитул
|
'
i .1
i :.
.
i
...
1
I
. .
L
I
1
.. 1:. ••„.
-"Страница " 8. [Pafle] S/'и» "& [Pages]
* Г^зимечание отчета
Рис. 20.1. В отчете в столбец надписи находятся слева от полей и повторяются для каждой записи Тцпы4 ; отчет 1
|| • I • 1 • I ' Z ' > ' j ' ' ' 4 ' I ' 5 ' I ' 6 ' ' ' 7 ' I ' в ' ' ' 9 ' I ' 10' i ' 1Г i ' 12' ' ' 1Э I • 14' I • 15' ' ' 16''
;|
Г
' 1 .-• I : ' I
i
I
I
I!
-"Страница "1[Раре}& р и>"1[Рао«5]:|й4
<
Рис. 20.2. В ленточном отчете надписи становятся заголовками столбцов В случае необходимости кардинального изменения дизайна существующего отчета или создания нового необходимо четко понимать структуру каждой области. В противном случае окажется, что группировка отчета выполнена некорректно, объекты не на своем месте, и, вообще, вам будет не до шуток. Прежде всего необходимо уяснить, что содержимое каждой области печатается только при соблюдении определенных условий. Например, информация, содержашаяся в области верхнего колонтитула, печатается в начале каждой стран*щы, а заголовок отчета — только на первой.
240
Часть IV. Превращение таблицы в книгу
Понять, для чего отчет разделен на области, легко, если начать с самого главного — с области данных. Область данных (Detail). Access печатает объекты из этой области столько раз, сколько существует записей в таблице. Каждой записи таблицы, используемой в отчете, соответствует копия строки из области данных. Верхний и нижний колонтитулы групп (Group headers and footers). Над областью данных может находиться одна или несколько областей группировки записей. На рис. 20.3 показана одна из таких областей. Обратите внимание, что в строке заголовка области группировки указываются поля, используемые для группировки. * Товары по типам : отчет |;j • I • 1 ' ' ' 2 ' ' ' 3 ' I ' 4 ' ' ' 5 ' ! ' 6 ' ' ' 7 '
l
' 8 ' ' ' 9 ' I ' 10' ' ' 1Г ' ' 12' ' ' 13' " ' 14' ' ' 15' I ' 16' ! ' 1
j * Загопоеок отчета
ТЪварь/ лю п ип ш Заголовок группы Категория'
Категория: Категория
J * Область да*+ньт
Марка "•• I • • • • ! • '! " i Примечание грутты Категория' Число! товаров:
| ;1Ларка]}|
* т-*1жний юлонтитул
J
примечание отчета
Рис. 20.3. Группировка записей по полю Категория, а затем по полю Марка Области группировки записей образует пара верхний колонтитул группы и нижний колонтитул группы. Область верхнего колонтитула группы всегда располагается над областью данных, а область нижнего колонтитула — под областью данных. Информация из заголовка каждой группы печатается для каждого уникального значения поля группировки. Верхний и нижний колонтитулы страниц появляются в верхней и нижней части каждой страницы. Они относятся к тем немногим областям, содержимое которых не связано с содержимым ваших записей. Информация этих областей служит, например, для указания порядкового номера страниц отчета. Заголовок и примечание отчета. Эти области печатаются только один раз в самом начале отчета (заголовок отчета) и в конце (примечание отчета), в отличие от других областей, которые могут появляться в отчете множество раз. Что же происходит со всеми этими областями при создании отчета? Процесс происходит следующим образом. 1. Все начинается с печати заголовка отчета вверху первой страницы. 2. После заголовка отчета следует верхний колонтитул (если вы захотите напечатать его на первой странице), который затем печатается и на каждой последующей странице.
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
3. Если отчет содержит группы, то далее выводятся заголовки первой группы записей. 4. После заголовков Access наконец выводит строки из области данных для саждой записи, принадлежащей этой группе. 5. После печати всех строк области данных для первой группы Access печата .т примечание для этой группы. 6. Если в отчете используется несколько групп, Access печатает заголовок сгседующей группы, строки области данных, принадлежащих к этой группе, и ее примечание. 7. В конце каждой страницы Access проставляет нижний колонтитул. 8. Как только все группы будут напечатаны, Access печатает примечание отчета, которое, как и заголовок отчета, появляется только один раз. Для чего же нужны заголовки и примечания? Заголовок отчета обычно содержит общую информацию об отчете. Здесь, как правило, указываются название отчета, дата печати и другая полезная информация. В верхнем колонтитуле может содержаться любая информация, которая будет уместна вверху каждой страницы. Это может быть дата, логотип вашей компании или что-либо подобное. Заголовки групп обычно служат для обозначения содержимого группы л имен полей.. Примечания к группе записей обычно содержат итоговую информацию или результаты расчетов для группы (например, расчет стоимости товара). Нижний колонтитул располагается внизу каждой страницы и традиционно содержит номер страницы и дату. Здесь же может располагаться указание о конфиденциальности приведенной информации (вы можете, например, включить сюда надпись Только для служебного пользования). Теперь осталось только вывести на печать примечание отчета. В случае, если отчет планируется распространить среди сотрудников организации, здесь можно указать контактную информацию (фамилию и имя человека, подготовившего отчет, его номер телефона).
Группировка записей Если вы создаете отчет с нуля, то для создания групп и управления ими можно восгользоваться диалоговым окном Сортировка и группировка (Sorting and Grouping). Однако еще более важным является тот факт, что при создании отчета с использованием мастера с помощью этого же диалогового окна можно управлять структурой отчета и определять, какая информация должна присутствовать в той или иной области отчета. При создании отчета мастер автоматически формирует области заголовка и примечания для каждой группы. Таким образом, если мастеру отчетов будет дано указание сгруппировать информацию по полю Страна, он автоматически создаст области Заголовок гэуппы "Страна" и Примечание группы "Страна". Однако ваши возможности не ограничиваются только тем, что может сделать мастер, — если вы отважный человек, можете попытаться самостоятельно указать поля для группировки.
242
Часть IV. Превращение таблицы в книгу
Основную роль при самостоятельном создании групп играет диалоговое окно Сортировка и фуппировка (рис. 20.4). Данное окно определяет порядок организации записей отчета. Если в отчете используется фуппировка по какому-либо полю, то это поле автоматически включается в список групп в окне Сортировка и фуппировка (независимо от того, кто создал эту группу: мастер или вы). Сюда можно добавить дополнительные поля для сортировки записей, хотя у них уже не появятся свои заголовки областей.
Заголовок группы Примечам« группы Группировка Интервал , : : Не разрывать
Вьб&р поля или ввод выражения для сортиров^ или rpynruipoem
Рис. 20.4. Отрегулируйте структуру отчета с помощью диалогового окна Сортировка и группировка Для самостоятельного создания группы выполните следующие действия. 1. Из системного меню выберите команду ВидоСортировка и группировка (ViewOSorting and Grouping). Появится диалоговое окно Сортировка и фуппировка. 2. Щелкните на пустой строке под заголовком Поле/выражение (Field/ Expression). В строке появятся мигающий курсор, а также кнопка раскрывающегося списка. 3. Щелкните на кнопке раскрывающегося списка и выберите нужное поле. Access добавит в диалоговое окно Сортировка и фуппировка новую строку для этого поля. По умолчанию в этом поле будет выполнена сортировка данных по возрастанию (от меньшего к большему). 4. Щелкните в поле Заголовок группы (Group Header), расположенном в нижней части диалогового окна. Таким образом вы сообщите Access о том, что данный элемент будет представлять собой полноценную группу. 5. Щелкните на появившейся кнопке со стрелкой, а затем в выпадающем меню выберите пункт Да. Незаметно для вас Access добавит область новой группы в структуру отчета. Для того чтобы создать для новой группы примечание, повторите этот шаг еще раз, только теперь щелкните в поле Примечание группы (Group Footer). 6. По завершении работы закройте диалоговое окно. Теперь в отчете появилась новая группа. Для того чтобы удалить группу, щелкните на серой кнопке слева от названия группы в перечне Поле/выражение и нажмите клавишу <DeIete>. Когда Access спросит, действительно ли вы хотите удалить эту группу, щелкните на кнопке Да.
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
Если вы хотите изменить порядок групп, вернитесь к диалоговому окну Сортировка и группировка (с помощью команды Вид •=> Сортировка и группировка). Щелкните на серой кнопке рядом с названием группы, которую хотите переместить; затем щелкните и перетащите группу на новое место. Access автоматически внесет в структуру отчета соответствующие изменения. Будьте очень осторожны при изменении порядка групп. Очень легко сделать невинное на первый взгляд изменение, а потом окажется, что отчет безнаденно ис-порчен. Прежде чем вносить в отчет какие-либо серьезные изменения, со> раните его (Файл^Сохранить). Если отчет окажется испорченным, вы сможете закрыть его (Файл<=>Сохранить) без сохранения изменений. При этом сохраненный вариант отчета останется в неизменном виде.
Группируйтесь, пижоны! Группы являются одним из тех полезных инструментов, которые делают отчеты Access весьма гибкими, при этом имея в запасе множество скрытых резервов. Например, в диалоговом окне Сортировка и группировка можно установить опцию Группировка (Group On). Это свойство указывает Access, когда именно начинать новую группу записей в отчете. Для удобства группировки предусмотрены два условия: По полному значению (Each Value) и Интервал (Interval). s Опция По полному значению указывает Access, что нужно группиювать одинаковые значения. Если между значениями группируемого поля имеется как»-либо различие, Access размещает их в различных группах. Эта опция удобна в случае, когда группировка осуществляется по учетным номерам покупателей, продавцов или по идентификационным кодам. Однако она менее пригодна при работе с фамилиями и именами, так как любое незначительное различие (например, Баранов вместо Баранов) приведет к созданию новой группы. v' При выборе опции Интервал группировка осуществляется по диапазону элементов. Эта опция зависит от типа значений группируемых полей (числовое или текстовое), Если группировка осуществляется по числовому полю, то при формировании групп учитываются значения опции Интервал. Если оно установлено равным 1), то группируются записи со значениями от 0 до 9, от 10 до 19, от 20 до 29 и т.д. С текстовыми полями Access работает немного иначе. Предположим, что значение опции Интервал равно 1. В этом случае Access сгруппирует записи по первому стмволу текстового поля. Иными словами, все записи данного текстового поля, начинающееся с буквы А, образуют одну группу, с буквы в — другую и т.д. Если значение опции Инте рвал установить равным 2, то записи будут сгруппированы по первым двум символам значения текстового поля (например, в одну группу войдут значения Москва и Монреаль, тогда как значения Москва и Минск окажутся в разных группах). В нижней части диалогового окна Сортировка И группировка указываются свойства выделенной группы записей.
^ Заголовок группы (Group Header) и Примечание группы (Group Footer) указывают, включены ли в отчет данные области. Отчет может содержать Заголовок группы, или Примечание группы, или обе эти области. */ Группировка (Group On) определяет способ группировки для данного поля. Более подробно об этом свойстве см. в приведенной выше врезке. •S Интервал группы (Group Interval). Вероятно, вам никогда не прадется пользоваться этим параметром. (Лично я не рекомендую этого делать.) ^та оп-
244
Часть IV. Превращение таблицы в книгу
ция указывает Access, сколько символов необходимо учитывать при группировании записей. По умолчанию значение этого параметра равно 1 . Это означает, что записи будут группироваться в алфавитном порядке, так как рассматривается только первая буква поля. Если увеличить это значения до 3, то Access сгруппирует все по первым трем символам каждой записи (в одной группе будут находиться Иванов, Ивашков, а также Иванченко). •S Не разрывать (Keep Together) указывает, что данные, принадлежащие к одной группе, должны быть напечатаны на одной странице; должны ли быть напечатаны на одной странице первая строка из области данных и заголовок группы; может ли Access разделять информацию по собственному усмотрению. Раскрывающийся список значений Не разрывать предлагает на выбор три опции. • Нет (No). Позволяет Access действовать по своему усмотрению. • Вся группа (Whole Group). Означает, что группа полностью (с заголовком и примечанием) должна размещаться на одной странице. • С первыми данными (With first detail). Означает, что заголовок группы должен печататься на одной странице с первой строкой из области данных. Выберите эту опцию, если хотите, чтобы каждая из страниц отчета начиналась с набора соответствующих заголовков.
Изменение размера области Один из наиболее сложных вопросов, возникающих при разработке отчета, касается размещения данных. Иногда в отчете может остаться много свободного места. При печати области, будь то верхний колонтитул страницы, заголовок группы или область данных, она обычно занимает столько же места, сколько и на экране в режиме конструктора. Возможно, вы захотите уплотнить пространство внутри группы так, чтобы не было слишком много "белых пятен" на странице, однако нужно принять во внимание, что каждая область должна иметь достаточные размеры для размещения необходимых элементов. (Создание отчетов, которые изменяют размеры области в зависимости от объема содержащейся в ней информации, рассматривается в следующем разделе.) К счастью, изменить размер области достаточно легко. Подведите курсор к верхней части панели, соответствующей определенной области, и перетащите его вниз или вверх, в зависимости от того, хотите вы увеличить или уменьшить размер области.
nactHfioutca внешнего вица Когда все необходимые поля находятся в нужном заголовке, примечании и области данных, считайте, что основная работа уже выполнена. Теперь осталось только немного подправить и настроить то, как отчет будет выглядеть. Настройки, описываемые в следующих разделах, позволяют изменить внешний вид вашего отчета. *— £с*'
Некоторые настройки, описываемые ниже, могут на первый взгляд показаться сложными, так как при их использовании мы углубляемся в механизмы создания отчета. Не пугайтесь. Закончив работу по организации строк заголовков, примечаний и данных, вы выполнили всю сложную работу. А все что осталось — проще пареной репы.
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
Изменяем настройки Основная работа по форматированию отчета связана с настройками в эдномединственном диалоговом окне. Чтобы что-то изменить в отчете, дважды щелкните на выбранном элементе. А чтобы отформатировать весь отчет, дважды щелкните на небольшом черном квадратике, расположенном в левом верхнем углу окна отчета в режиме консруктора, рядом с горизонтальной линейкой. Появится диалоговое окно, показанное на рис. 20.5. В заголовке окна указывается название элемента отчета, на котором вы дважды щелкнули. В зависимости от этого, заголовок может содержать надпись Отчет, Раздел, Поле или Надпись, а также конкретное название элемента. Кроме того, Access подсвечивает элемент отчета, чтобы вы точно знали, над чем работаете в данный момент. Например, так как на pi ic. 20.5 в заголовке написано: Раздел: ВерхнийКолонтитул, в раскрывающемся меню (которое мы рассмотрим далее) написано ВерхнийКолонтитул, а сама Access выделила область заг оловка страницы в окне конструктора, то можно точно сказать, что это диалоговое окно со свойствами для области заголовка страницы. В самом диалоговом окне содержатся раскрывающийся список в верхней части окна с перечисленными областями вашего отчета и изменяющаяся остальная часть окна с вклгдаами. В раскрывающемся списке перечислены абсолютно все области вашего отчета, начиная с самого отчета и заканчивая заголовками, полями, метками и даже пустыми строками. К каждой области относится своя группа вкладок с опциями, поэтому, перед тем, как что-либо пенять, сначала правильно выберите область отчета. В диалоговом окне расположено пять областей с вкладками: Макет, Данные, Сооытия, Другие и Все. Макет — единственная вкладка, которая вам понадобится. В ней содержится 99 процентов данных, которые вам когда-либо придется изменять. Остальные вкладки интересны только профессиональным программистам, да и те обращаются к ним довольно редко. Если в нижней части диалогового окна нет какого-то определенного параметра, проверьте название области, указанное в заголовке окна. Если выбрана не та область, то и нужного параметра может не оказаться.
З 1 1 ' 4 ' I ' 5 ' I ' 6 ' ' ' 7 ' ' ' в ' ' ' 9 ' ' '10' ' '11' ' '12' I '' 13' ' '14' ' '15'
!
'16' ' '17=1
голоеок отчета
Tp«tapEI Г Раздм: ВеркнииКопонтитул .лаят.к1«1.идиид ВерхнийКолонтитул •* Заготовок группы Категория: ; К
; [ ,--l:—.U" 1 j Марке:
Макет
; Данные " Собьт
Вывод на >кран Высота Цвет фона Оформтение
. .
Другие Д238СМ 12632256 Юбычное
j * Область данных Марка
J ~
Числи товаров: Нижний копонтитул
Рис. 20.5. Дважды щелкните в любой части отчета, чтобы открыть свойства выбранного элемента
246
Часть IV. Превращение таблицы в книгу
Поэкспериментируем с колонтитулами Настройка колонтитулов отчета производится в диалоговом окне Отчет (Report). Так как нельзя дважды щелкнуть на всем отчете сразу (Access все равно будет думать, что вы щелкаете на чем-то определенном внутри отчета), дважды щелкните на черном квадратике, расположенном в левом верхнем углу отчета (рис. 20.6). На экране появится диалоговое окно Отчет.
• 15' I ' 16' I ' 17?
=fort \at(D4 Отчет
* Верхний гопонтитуп
Ц
Заголовок группы Категори! Категория: ;Катего Марке: * Область данных Иэрка
••- т
"ч
_____
1
Примечание группыi Уатегор Число товаров: Нижний юпонтитуп
|
Макет
j Данные I События ;; Другие
Все
Подпись Автоматический размер ........... Да Выравнивание по центру ........... Нет Верхний копонтитул .............. все страницы Нижний колонтитул ............... jBce страницы Неразрывная группа .............. в столбце Тип границы .................... 1и^4Я8ная ___ Кнопка оконного меню ........ , . . . ;Да Кнопки размеров оша ............. JBce Кнопка закрытия ................. Ща Ширина ........ • ............... 24,127см Рисунок ....................... '(отсутствует) Тип рисунка .................... внедренный
Примечание отчета
Рис. 20.6. Чтобы изменить настройки всего отчета, дважды щелкните на черном квадратике в верхнем левом углу В диалоговом окне есть такие установки. По умолчанию для опций Верхний колонтитул (Page Header) и Нижний колонтитул (Page Footer) установлено значение Все страницы (All Pages), которое указывает, что соответствующий элемент появится на каждой странице отчета. Если выбрать установку Без заголовка (Not with Rpt Hdr) или Без примечания (Not with Rpt Ftr), то верхний или нижний колонтитул отпечатается на всех страницах, кроме первой или последней, где обычно печатаются заголовок и примечание отчета. Опция Неразрывная группа (Keep Together) влияет на элемент Не разрывать (Keep Together), который устанавливается в диалоговом окне Сортировка и группировка. Выберите На странице (Per Page), чтобы данная опция применялась ко всем страницам. Или, если у вас отчет с несколькими столбцами, выберите В столбце (Per Column), чтобы опция применялась к столбцам. Кроме того, существуют и другие опции настройки верхнего колонтитула. Дважды щелкните в области верхнего колонтитула в окне конструктора отчета, и на экране появится его диалоговое окно Раздел: ВерхнийКолонтитул (рис. 20.5). Щелкните на вкладке Формат, на которой имеются следующие опции.
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
247
•S Вывод на экран (Visible). Эта опция определяет, будет ли верхний колонтитул появляться вообще. •S Высота (Height). Access автоматически устанавливает значение этого элемента при изменении размера области заголовка с помощью мыши. Дтя того чтобы указать точный размер (например, если вы хотите, чтобы область верхнего колонтитула была высотой ровно 4 см), введите соответствующее число. (Помните, что Access использует единицы измерения, установленные в Windows. •S Цвет фона (Back Color). Если требуется изменить цвет области, щелкните в этом текстовом поле, а затем на небольшой серой кнопке, появляющеш я справа. В появившейся палитре цветов щелкните на понравившемся цвете, и Access самостоятельно введет число, соответствующее выбранному цвету. Хотя определить цвет фона верхнего колонтитула можно в диалоговом окне Отчет, проще поступить так: щелкнуть в области верхнего колонтитулг в окне режима конструктора отчетов и воспользоваться раскрывающимся списком панели инструментов Форматирование. ^ Оформление (Special Effects). Данное свойство определяет визуальный эффект области верхнего колонтитула так же, как влияет на элементы отчета кнопка Оформление панели инструментов. Однако здесь ваш выбор несколько ограничен. Щелкните в текстовом поле Оформление, а затем на кнопке раскрывающегося списка, появившейся справа. В ваше распоряжение поступают опции Обычное (Flat) (по умолчанию), Приподнятое (Raised) и Утопленное (Sunken).
Форматирование отдельных областей отчета А как поступить в том случае, если нужно изменить формат не всего отчета, а только одной из его областей, например заголовка группы? Нет ничего проще. В режиме конст] >уктора дважды щелкните в области Заголовок группы (GroupHeader), и на экране появится диалоговое окно, показанное на рис. 20.7. |£'Раздел; ЗаголоооиГруппыО ЗаголовокГругпьЮ Макет
-События
Конец страницы Новая Строка или столбец . Не разрывать Вывод на экран , . , Расширение Схатие Повторение раздела Высота Цвет фона Оформление
Другие >'
Все
.: До раздела
, .!Да .Нет
. 11,905см
•
few^L
. .Обычное
Рис. 20.7. Это диалоговое окно позволяет отформатировать отдельную группу данных отчета Установки опции Конец страницы (Force New Page) указывают на то, будут ли изменения в данной группе автоматически приводить к размещению информации на новой странице* С их помощью вы можете задать условие, при котором разрыв страницы будет применяться либо только перед заголовком, либо только после примечания, либо в обоих с гучаях. Аналогично вы можете указать; каким образом должны обрабатываться области нгчала и
248
Часть IV. Превращение таблицы в книгу
окончания отчета, содержащего большое количество столбцов (например, чтобы группа всегда начиналась с нового столбца). Как и в других диалоговых окнах, вы можете использовать свойства Не разрывать и Вывод на экран.
Возможно, самыми важными опциями в этом диалоговом окне являются Расширение (Can Grow), Сжатие (Can Shrink) и Повторение раздела (Repeat Section). Применение опции Расширение позволяет расширять границы области в зависимости от объема содержащихся в ней данных. Это свойство особенно полезно при печати отчетов, включающих поле типа Memo. Вы устанавливаете ширину поля по своему усмотрению, а затем опция Расширение определяет его высоту, так чтобы все данные из этого поля были отображены в отчете. Опция Сжатие позволит сократить размеры области, например при наличии пустых полей. В случае использования свойств Расширение и Сжатие необходимо установить их как для всей области, так и для ее отдельных элементов, размер которых может изменяться. Свойство Повторение раздела позволяет дублировать заголовок области на новой странице, если информация этой области не уместилась на одной странице.
Форматирование отдельных элементов области С помощью двойного щелчка можно редактировать не только свойства области, но и всех ее элементов. Если вы хотите отформатировать любой элемент своего отчета (поле, надпись или рисунок), в режиме конструктора дважды щелкните на этом элементе. Access откроет диалоговое окно, предлагающее широкие возможности настройки.
Заполнение o&iactneu Хотя для области заголовков и примечаний в Access по умолчанию уже используется несколько установок, они не отличаются индивидуальностью и не производят особого впечатления. Их можно усовершенствовать таким образом, чтобы они включали не только дату, но и формулы для вычисления или текст для подведения итогов. Здесь мы рассмотрим некоторые виды заголовков и примечаний, которые произведут неизгладимое впечатление на ваших коллег и поднимут ваш авторитет в глазах начальства.
Форматирование заголовков Заголовки влияют на внешний вид и информативность окончательного варианта отчета, так что неплохо было бы уделить им некоторое внимание. Они должны легко читаться и содержать полезную информацию. При создании отчета поэкспериментируйте с заголовками и посмотрите, что в итоге получится, — результаты могут вас удивить. Например, при создании отчета и выполнении группировки данных с помощью мастера по умолчанию заголовки будут помещены в область верхнего колонтитула. На рис. 20.8 приведен пример отчета, созданного таким образом. Обратите внимание на расположение заголовков столбцов. Заголовки столбцов будут появляться на каждой странице, так как они размещены в области верхнего колонтитула. Это не самая худшая разметка, но той же цели можно достичь и другими способами. В качестве альтернативного варианта рассмотрим организацию отчета, показанную на рис. 20.9. В данном случае заголовки столбцов повторяются для каждой новой записи соот-
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
249
ветствующего поля. Это происходит из-за того, что теперь заголовки располагаются t области заголовка соответствующей группы. Отчет выглядит намного лучше и легче читается. При сравнении этих рисунков можно заметить, что также были перемещены некоторые надписи, а у других изменились размеры. Кроме того, удалены две линии, отмечающие границы верхнего колонтитула страницы.
Категория: Кондитерские изделия На схлзде;
Категория:
Молочные продукты
Марка:
Chocolade
Camembert Pierrot
Gurnbar Gummibarchen
Ffotemysost
Maxitaku
Geitost
NuNuCa Nuss-Nougat-Crerne
Gorgonzola Telino
Pavlova
Gudbrandsdalsost
Schoggi Schokolade
Mascarpone Fabtoli
Scottish Long breads
Mozzarella di Giovanni
Sir Rodney's Marmalade
Queso Cabrales
Sir Rodney's Scones
Oueso Manchego La Pastora
Tarte au Sucre
Raclette Courdavau
На складе; 22 26 112
Teaiime Chocolate Biscuits
Рис. 20.8. В данном отчете заголовки находятся в области верхнего колонтитула
Нумерация страниц и даты В заголовок и примечание Access может поместить определенную информацию. Обычно эти разделы используются для вывода порядкового номера страниц или даты. Для этого предназначены команды системного меню Вставка^Номера страниц (Insert^Page Number) и Вставка^Дата и время (InsertsDate and Time).
Какая это страница
:
s
После выбора команды Вставка^Дата и время откроется диалоговое окно Номера страниц, в котором имеются следующие опции. •S Формат (Format). Можно выбрать печать номера страницы (Page N) или указать Access, что нужно подсчитать общее количество страниц в отчете и вывести номер текущей страницы (Страница N из М). S Расположение (Position). Здесь указывается место для номера страницы — в верхнем или нижнем колонтитуле.
250
Часть IV. Превращение таблицы а книгу
ы по типам -M3P-2CW
ЯНМНЯВНВННН Категория: Кондитерские изделия
' Категория: Кондитерские изделия
Рис. 20.9. Теперь надписи находятся не в области верхнего колонтитула, а в области заголовка группы Выравнивание (Alignment). Служит для определения места появления номера страницы в отчете. Раскрывающийся список Выравнивание содержит несколько опций. ' Отображать номер на первой странице (Show Number on First Page). При установке этого флажка номер страницы появится уже на первой странице отчета.
Ж .0«ни,
£СЛИ вы хотите что-то изменить в нумерации страниц, сначала вручную удалите существующее поле номера страницы (щелкните на нем и нажмите клавишу <Delete>). Затем выберите команду ВставкаОНомера страниц и повторите процедуру нумерации.
Когда напечатан этот отчет Команда Вставка^Дата и время выводит на экран диалоговое окно Дата и время. Главными опциями этого окна являются Формат даты и Формат времени, где можно установить необходимый формат даты и времени. Пример любезно предоставляется в разделе под названием Образец (Sample]. «gjS^^
Хотя на первый взгляд такая информация, как дата и время, не обязательна, на самом деле она очень важна, когда данные постоянно изменяются. При автоматическом внесении этой информации внизу страницы сразу видно, когда был создан отчет. И даже если вам сейчас не нужно это знать, такая информация никогда не помешает.
Глава 20. Заголовки и примечания для групп, страниц и всего отчета
251
-
Часть V
Мастера, формы и другие таинственные средства
нем мАкого & люЦю MWHI^W\^ можем
чмо l- .
4,acfiiu . . . Часть V не поддается рациональному объяснению. (Как вам нравится такое вступление?) В ней рассматривается широкий диапазон средств, которые сами по себе важны, но никак не связаны друг с другом. Единственное, что их объединяет, — это как раз то, что они не связаны ни с чем. В главе 21 идет речь об интеграции с Internet <— одной из наиболее выдающихся возможностей Access. В главе 22 рассказывается все о формах в Access. Формы— -это мощное и гибкое средство, а процесс их создания способен доставить истинное наслаждение. Глава 23 посвящена импортированию и экспортированию данных. В главе 24 рассказывается, как следует анализировать таблицы. Пожалуй, вам стоит ознакомиться с этой информацией. И, наконец, в главе 25 мы рассмотрим., как заставить работать Access без использования клавиатуры.
Глава 21
Размещение данных в Web в эйлй гмиве... > Что Access знает об Internet > Вставка и использование гиперссылок > Публикация работы в Web >
Расширенные возможности
if"F а сегодняшний день Access — это рабочая лошадка, которая без устали трудится в г 9* Internet и корпоративных сетях. Если вам не терпится присоединиться к информационной революции или если вы стремитесь воспользоваться преимуществами электронной супермагистрали, Access (да и весь пакет Office) готова прийти вам на помощь. В этой главе представлен краткий обзор интерактивных возможностей Access, а также описаны отдельные детали использования гиперссылок и размещения баз данных в Web. В конце главы рассматриваются некоторые возможности, представляющие интерес для продвинутых пользователей (возможности, о которых идет речь, выходят далеко за рамки тем, обсуждаемых в этой книге).
и Internet: cMiqtcasi n
из В наши дни практически все производители программного обеспечения декларируют связь своих продуктов с Internet. Вряд ли кто-то может сказать наверняка, что это на самом деле: естественная необходимость или маркетинговый трюк, однако никто не хочет оставаться вне киберпространства. Объединение Internet и Access, без сомнения, относится к области естественной необходимости. Базы данных являются прекрасным дополнением World Wide Web. Web всегда отличалась высокой степенью интерактивности и гибкости, касающейся способов представления информации. Однако до сих пор процесс размещения баз данных в Web был сложным делом, требующим времени и усилий. Для того чтобы облегчить процесс публикации данных, компания Microsoft нашла способ внедрить поддержку Internet в Access. Основную роль здесь играет технология Microsoft, называемая ActiveX. Вероятнее всего, вы уже встречались с такими терминами, как OLE (Object Linking and Embedding — связывание и внедрение объектов), COM (Component Object Model — объектная модель программных компонентов) и DNA (Distributed interNet Architecture — распределенная сетевая архитектура). Хотите — верьте, хотите — • нет, но все эти термины являются синонимами технологии ActiveX. (Дело в том,
•
что Microsoft имеет скверную привычку периодически присваивать своим т< хнологиям новые названия. Делается это, естественно, в сомнительных маркетинговых целях.) Но благодаря технологиям ActiveX (или OLE, или СОМ) существует возможность совместного использования информации различными программами. Однако вам не стоит беспокоиться о познании этих технологий. Вам не нужно знать никаких технических подробностей об ActiveX, благодаря которым Access имеет возможность взаимодействовать с Internet или какой-либо локальной сетью. Возможности Access в Internet основываются на Web-браузере компании Microsoft — Internet Explorer, а связующим звеном между этими двумя программными продуктами служит технология ActiveX. Когда вы работаете с гиперссылками, блуждаете в Internet, вся ос новная черновая работа ложится на плечи Internet Explorer. Даже когда кажется, что Access работает "в поте лица", информация из Internet поступает через Internet Explorer. А за все это о гвечает технология ActiveX. Для того чтобы Access могла взаимодействовать с Internet, установите на своем компьютере Internet Explorer 5.0 или одну из последующих версий. Кроме того, необходимо иметь соединение с Internet (или локальной сетью компании).
/Запавим tuneficcbutctf в Говоря об Internet, нельзя не упомянуть термин гиперссылка. Хотя смысл этого слова может показаться туманным, в действительности гиперссылки представляют собой хранилища, а щелчок на гиперссылках позволяет перейти к содержащейся в них информации. С помощью гиперссылки вы можете перейти к различным адресам Internet или корпоративной сети. Гиперссылки начинаются со специального идентификационного кода, который объясняет компьютеру, на какой тип ресурсов указывает ссылка (компьютерные гуру называют этот код протоколом). В табл. 21.1 приведены основные коды протоколов и кратко описан каждый из них.
Таблица 21.1. Типы гиперссылок в Access Код протокола f lie : / / ftp : / / http : / / mailto : news : / /
Описание
_
^
_
Открывает локальный или сетевой файл Протокол передачи файлов; связь с РТР-сервером Протокол передачи гипертекста; связь со страницей World Wide Web Отправка электронной почты по сетевому или Internet-адресу Открытие группы новостей Internet Если вы хотите получить полный список гиперссылок, которые распознает Access, вызовите систему справки Access (с помощью клавиши <F1>) и проведито поиск по слову гиперссылка.
Если вы регулярно посещаете просторы World Wide Web, многие из этих терминов покажутся вам знакомыми. Хотя большинство из них ориентировано на приложения, работающие с Internet или корпоративными сетями, технология ActiveX настолько гибкая, что Ас( ess может использовать гиперссылки для определения локальных документов Microsoft Office.
256
Часть V. Мастера, формы и другие таинственные средства
Добавление поля гиперссылки в таблицу Гиперссылки тоже должны где-то храниться, поэтому в Access для них имеется свой тип поля. Вы уже, наверное, догадались, что он называется гиперссылка. Таблица с таким полем изображена на рис. 21.1.
Типланныж ;Счетчик 1 Текстовый : Текстовый 'Гиперссыпка
Т Код Сайта
Имя _
,web Адрес.;;;; _t Web.Ca.ne
Общие
[ Номер кода сайта название Сайта • Общий адрес URL Управляющая ссыпка на сэйт|
; подстанс
. Формат поля : Подпись i Значение по умолчанию Условие на значение [Сообщение об ошибке \ Обязательное поле \ Пустые строю! | Индексированное поле ! Сжатие Юм*ад | Режим IME | Режим предложений IME !Смарт-твги
_.
Да (Допускаются совпадения)
''
: необязательным параметр. Выводится в строку состояния 1 при выборе попя в форме. Для справки' 'по описанию поля . ."• нажмите клавишу Fi.
РИС. 21.1. Добавление поля гиперссылки в таблицу Добавление поля гиперссылки в таблицу не требует выполнения каких-то специальных действий. Эта операция аналогична введению в таблицу любого другого поля. Поле гиперссылки ничем не отличается от остальных полей таблицы.
Ввод и использование гиперссылок Гиперссылка может иметь до четырех частей, разделенных символами #, и выглядит приблизительно так: экранный текст#адрес#дополнительный адрес#всплывающая подсказка Каждая из частей гиперссылки описана в табл. 21.2. Большинство из приведеных частей, как видно из таблицы, — опционально. Таблица 21.2. Формат гиперссылок в Access Часть гиперссылки
Описание
Экранный текст
Опционально. Отображаемый текст. Если эта часть опущена, на экран выводится только URL
Адрес
Адрес URL (унифицированный указатель информационных ресурсов), например Web-страницы. Это обязательная часть гиперссылки
Дополнительный адрес
Опционально. Ссылка на конкретную страницу или документ
Всплывающая подсказка
Опционально. Текст, который появляется при наведении курсора мыши на адрес
Глава 21. Размещение данных в Web
Для получения оптимальных результатов попробуйте самостоятельно поэкспериментировать с гиперссылками. В примере, приведенном на рис. 21.2, показано, как отформатированные гиперссылки введены в таблицу и как они отображены в форме Access. Изменение гиперссылки Связачы::
Текст: ;ntlp:/Avww. microsaft.com
страстей
Q
местом в документе
а
текущая папка 'просмотрен-
Закладка.^.^ J Выбор рамки
*У Access2003_dummies ^-jchepOO
|
ные
; страницы
ноеым документом файлы
^chap04 ^chapOS :hnp://Www. microsoftcom/
^ L
Удаг> т ссь 1<
!^ " У ]
Рис. 21.2. В диалоговом окне Изменение гиперссылки можно полностью настроить гиперссылку Рассмотрим несколько примеров форматированных гиперссылок и команд, необходимых для их создания. (Чтобы создать более сложные гиперссылки, прочитайте нижеследующий совет.) www.microsoft.com. Отображается только URL гиперссылки h t ^ p : / / www. microsoft . com. Microsoft Corporations http: //www. microsoft . comt. Отображается текст Microsoft Corporation. •/ Microsoft Corporation! http://www.microsoft.comt Inf ormationtt. Отображается текст Microsoft Corporation со ссылкой на тему Information. Microsoft Corporation! http://www.microsoft.coml Information#Redmond#. Отображается текст Microsoft Corporation со ссылкой на тему Information. При наведении курсора на ссылку появтяется слово Redmond. Microsoft Corporation! http: //www. microsoft . com!#Rednond#. Отображается текст Microsoft Corporation. При наведении курсора на ссылку появляется слово Redmond. Из-за отсутствия дополнительного адреса после URL стоят два символа #. Если вас смущакгг все эти значки #, то гиперссылки можно сформатировать с помощью меню Изменение гиперссылки. Для этого щелкните правой кнопкой мыши на поле гиперссылки, которое хотите изменить, и выберите из раскрывающегося меню Гиперссылкао Изменение гиперссылки. В появившемся ди.шоговом окне (рис. 21.2) вы сможете ввести адрес узла, экранный текст (если вы, например, хотите, чтобы ссылка выглядела как Microsoft Corporation) и всплывающую подсказку (маленькое окошко с текстом, которое появляется при наве ценим курсора на Web-ссылку). Это диалоговое окно также поможет вам создать в своей таблице ссылки для документов, электронных таблиц, графических изображений и
258
Часть V. Мастера, формы и другие таинственные средства
адресов электронной почты. Поэкспериментируйте немного с этим диалоговым окном и узнайте, как что работает. Это не займет много времени. Хотя большинство гиперссылок содержит адреса World Wide Web или другие адреса Internet, гиперссылки могут указывать и на другие ресурсы. Гиперссылки распознают страницы Web, серверы корпоративных сетей, объекты баз данных (отчеты, формы и т.п.) и даже обычные документы Microsoft Office на вашем компьютере или компьютерах, подключенных к сети. Воспользоваться гиперссылками очень просто. Вот как это сделать.
1. Подключитесь к локальной сети или к Internet.
-
Прежде чем появиться на экране, Internet Explorer убедится, что все работает должным образом. 2. Откройте нужную базу данных Access, а затем таблицу, содержащую гиперссылки. Представление начинается!
3. Щелкните на одной из гиперссылок. Если гиперссылка указывает на Web-страницу, то на экране появится Internet Explorer и загрузит указанный узел. Если ссылка указывает на другой ресурс, Windows автоматически запустит соответствующую программу и откроет файл.
Размещение данных в Web Если ваша база данных Access содержит актуальную информацию, почему бы не поделиться ею с другими сотрудниками вашей компании, а может быть, даже выставить ее на обозрение всему миру? Независимо от того, создаете вы коммерческий Web-узел или корпоративную сеть, призванную объединить подразделения вашей компании, инструменты Access позволят подготовить ваши данные для размещения в Web. Хотя при размещении в Web данных Access не требуется знание языка HTML, познакомиться с ним все же не помешает. Чтобы этот процесс был безболезненным, прочитайте книгу HTML 4 для "чайников", выпущенную издательством "Диалектика". Access позволяет публиковать данные в двух режимах: статическом и динамическом. Выбор зависит от технических характеристик оборудования, целей и рекомендаций специалиста. Ниже приведены краткие сравнительные характеристики этих режимов. Статический режим. Под этим термином подразумевается непосредственное преобразование данных из Access в HTML. Из названия видно, что информация, которую вы конвертировали, не изменяется с течением времени, — это все равно, что снять копию с данных. Если вы добавите в свою таблицу новые записи и захотите включить их в данные, опубликованные в Web, вам придется переделывать Web-страницы. Статические преобразования прекрасно подходят для размещения в Web списков и каталогов, данные которых изменяются не очень часто. К тому же именно с этого режима лучше начинать изучение возможностей Web. С помощью команды ФайлОЭкспорт (File1^Export) в статическую Web-страницу можно преобразовать практически любой объект Access, включая таблицы, запросы, формы и отчеты. (В следующем разделе мы выясним, как это сделать.)
Глава 21. Размещение данных в Web
Динамический режим. В этом случае вместо простой HTML-страницы создается специальная страница доступа к данным. Благодаря такой HTMLстранице пользователи посредством локальной сети или Web смогут не только получить доступ к просмотру информации, но и вносить в нее свои изм« нения. Такие HTML-страницы работают только с таблицами и запросами Access. Благодаря мастеру создать страницу доступа к данным совсем не сложно. Но, поскольку это техническое чудо требует серьезного взаимодействия Web-сервера, Access и вашей базы данных, внедрение динамических Web-страниц— задача не для начинающих. Если ваша страница предназначается для просмотра пользователями, находящимися за пределами компании, лучше .всего обратиться за помощью к специалисту. ;
..v/.,..
...~, .........
..........
..
__„ -
_._,„...
^.^„..^
\ Несколько слов о World Wide Web I На первый взгляд кажется, что гиперссылки могут представлять интерес только для УЗКОГО | круга специалистов. Однако на самом деле это не так. В настоящее время все больше и ' больше компаний размещают информацию о себе в World Wide Web. К тому же все более ! широкое распространение получают внутренние корпоративные сети (привычные Webсерверы предоставляют информацию сотрудникам, подключенным к сети). В этих условиях новые возможности Access делают ее незаменимой и предоставляй: т вам , ! отличный шанс проявить себя. Технологии Web и корпоративных сетей не являются I новыми, но они находятся в непрерывном развитии. В область, раньше безразлально [ принадлежавшую специалистам по компьютерам, все больше вторгаются изобразительное {1 I искусство, маркетинг и практически все остальные виды человеческой деятельности. В условиях, когда компании пытаются поставить себе на службу мощные коммуникационные i возможности Web, новые рабочие места возникают как грибы после дождя. [ Если вы рассчитываете на дальнейший служебный рост в своей компании, то ваши знания о Web могут сыграть решающую роль. Независимо от того, в какой области вы будете [совершенствоваться (создание Web-узлов, информационный менеджмент или собственный ; i бизнес), перед вами открываются новые широкие возможности. Не упустите свой шан:! N
Хотя создание страниц доступа к данным может потребовать помощи профессионален, формально создать такую Web-страницу под руководством мастера по силам буквально каждому. 1. Откройте базу, данные которой предназначены для размещения в локальной сети или в Web. Появится окно базы данных. 2. Щелкните на кнопке Страницы (Pages), расположенной в левой части окна. Появится список из трех пунктов, отвечающих за создание страниц. 3. Дважды щелкните на пункте Создание страницы доступа к данным с помощью мастера (Create Data Access Page by Using the Wizard). Появится диалоговое окно Мастер страниц (Page Wizard), показанное на рис.
21.3.
4. Щелкните на кнопке раскрывающегося списка в поле Таблицы/Запросы (Tables/Queries), а затем на таблице или запросе, которые хотите поместить на страницу. В списке Доступные поля (Available Fields) появится перечень всех пол^й выбранной таблицы или запроса.
260
Часть V. Мастера, формы и другие таинственные средства
Мастер страниц Какие поля следует добавить на страницу? Допускается выбор нескольких таблиц или запросов.
Таблицы и запросы Запрос: Выбор счета Доступные поля:
Выбранив поля:
I АдресПолучателя ; Горо дПопу чзтеля : ОбластьПопу чатепя ; ИндексПолучателя . ] СтранаПопу чатепя : КодКлиента Клиенты, Название
Рис. 21.3. Мастер создания страниц доступа к данным очень похож на мастер отчетов 5. Для каждого поля, которое вы хотите использовать, сначала щелкните на его имени, а затем на кнопке >. Выделенные поля появятся в списке Выбранные поля (Selected Fields). Чтобы скопировать все доступные поля в список Выбранные поля, щелкните на кнопке ». Чтобы удалить какое-либо поле, выберите его в списке Выбранные поля и щелкните на кнопке <. Чтобы удалить все поля, щелкните на кнопке «. 6. Повторите пп. 4 и 5 для каждой таблицы или запроса, которые хотите здесь использовать, и щелкните на кнопке Далее. Мастер прекрасно понимает, как работают связанные таблицы, поэтому можете смело включать поля из разных таблиц. (О структуре связей см. в главе 5. Не стесняйтесь также задавать вопросы специалистам.) 7. Если вы хотите сгруппировать данные на странице доступа, то, чтобы добавить новую группу, щелкните сначала на нужном имени поля, а затем на кнопке >. После этого щелкните на кнопке Далее. Когда группировка будет закончена, Access перейдет к сортировке и обработке данных. Группировка на страницах доступа к данным происходит так же, как и в отчетах.
8. Для того чтобы провести сортировку, выберите имя соответствующего поля в разделе Порядок сортирвки и итоговая информация и щелкните на кнопке Далее. Как правило, вам не понадобится применять несколько уровней организации данных, поскольку благодаря работе вышколенных опций группировки они уже будут поданы вам на блюдечке. Однако, если это нужно, вы сможете добавить до четырех разных уровней сортировки и итоговых вычислений.
Глава 21. Размещение данных в Web
261
9. Введите имя, которое вы хотите присвоить странице, а затем щелкните на кнопке Готово. В подтверждение того, что он занят серьезным и сложным делом, мастер в течение довольно продолжительного времени будет издавать странные звуки. После этого на экране появится законченная страница (рис. 21.4). t* Клиенты по Странам
iAIfre* Futterkiste Страна:
Германия
Город:
Бергин
\ Клиенты 1иэ 1
Кпиенты-Наэвание 1 из 92
?j, Ц ^ Y G)
I
Рис. 21.4. Окончательный вид страницы доступа к данным 10. Настало время испытать вновь созданные страницы. Запустите Web-браузер и загрузите в него страницы для просмотра (рис. 21.5). 3) Клиенты по Странам - Microsoft Internet Explorer Файл
правка
Вид •--- -*
Избранное
Сервис
Справка
*j j?j Vi' j '' поиск -г у Избранное |J*Me/u4a «0 ,у I^J Переход
:'.; ьч/я,
*'
[Alfreds Futtetktste Страна: Город: Клиенты 1 из 1 , Кпиемты-Наэеанив 1 из 92
^ Мсм компьютер
Рис. 2?.5. Страница доступа к данным, отображенная с помощью Internet Explorer Вероятнее всего, вы не сможете разместить свою страницу на больших коммерческих Web-узлах. Хотя с помощью технологии ActiveX страницы создаются довольно легко, существуют определенные ограничения на их размещение. На момент написания этой книги отображать страницы доступа к данным можно было только с помощью браузера Internet Explorer 5.Он последующих версий.
262
Часть V. Мастера, формы и другие таинственные средства
Если материал этой главы не пробудил в вас технического энтузиазма, не беспокойтесь, есть еще кое-что, к чему у вас должен проявиться живой интерес. Ниже приводится несколько советов, которые помогут поддерживать ваш мозг в активном состоянии, сделают ваши Web-страницы актуальными, а ваши формы в Access — по-настоящему "крутыми". Каждый совет содержит краткое описание и ключевые слова, которые помогут вам задать правильный вопрос помощнику Office. •S Экспортировать таблицы, отчеты и формы в статические HTML-страницы лучше всего с помощью команды меню ФайлО Экспорт. Один-два щелчка — и данные будут преобразованы в статическую Web-страницу. Этот способ отлично подойдет для тех, кто знаком с языком HTML и хочет быстро подготовить страницы с последующей настройкой вручную. Ключевые слова: экспорт в HTML. Вставляйте гиперссылки непосредственно в свои отчеты и формы. Access позволяет присоединить их к кнопкам, надписям и изображениям. Ключевая фраза: добавить гиперссылку в форму. Создавайте файлы шаблонов HTML, чтобы экспортируемые вами таблицы выглядели и функционировали одинаково. Если вы создаете Web-узел, содержащий файлы баз данных, файлы шаблонов сэкономят вам массу времени. Кроме того, они придадут вашему узлу профессиональный вид. Ключевая фраза: шаблоны файлов HTML. Добавляйте возможность использования Web-браузера во всех формах Access. Просматривайте документы Web из формы, не переходя много раз из Access в браузер и назад. Здесь скрываются невероятные возможности для работы в корпоративных сетях и Internet. Ключевая фраза: использование Webстраниц в форме. 1 . Эти советы представляют собой только небольшую часть колоссальных возможностей Access. Кроме Internet, Access может весьма продуктивно сотрудничать с другими программами пакета Microsoft Office. Microsoft специально создала огромный информационный файл, в котором описываются возможности взаимодействия этих программ. Этот файл можно бесплатно получить через Internet. Более подробная информация содержится по адресу w w w . m i c r o s o f t . c o m / o f f i c e / ork. В жизни нет ничего хуже смерти, налогов и неправильных гиперссылок. Если вышеуказанный адрес не будет работать, выполните следующее. 1. Введите www.microsoft.com. Вверху открывшейся страницы появится ссылка Support. 2. Щелкните на ссылке Support и из появившегося меню выберите пункт Knowledge Base. 3. В окне Knowledge Base введите критерий поиска Office Resource Kit. '
Поисковая машина найдет ссылку, ведущую к нужному ресурсу.
Глава 21. Размещение данных в Web
263
Глава 22
Создание замечательно выглядящих и функционирующих форм гмгве... > Взгляд на формы в Access > Создание форм с помощью мастера форм > Создание простых форм с помощью мастера автоформ > Улучшение творений мастера форм
^f^/ ирменные бланки— неотъемлемая часть любой организации. Если бы это било не f так, деревьев было бы больше, а жизнь — проще. Но поскольку в своей работе программисты опираются на жизненные реалии, то и в Access имеются средства для просмотра и работы с формами. Электронная версия форм более дружественна к человеку, чем ее бумажный аналог. На самом деле вы можете даже обнаружить, что вам нравится неспешная работа с формами в Access. (Только если такое случится, никому не говорите об этом.) В этой главе будут рассмотрены различные виды форм, способы их создания и предложены некоторые советы по их настройке, благодаря которым ваши формы обретут именно тот вид, который требуется.
Различия между бумажными бланками и элек,*н/гон,нмм,и фо/гмамм усшнмс Все формы созданы по-разному. Из бланков отчетности получаются отличные бумажные самолетики, они имеют существенные размеры, их тяжело обновлять, и (в зависимости от количества) они могут быть небезопасны в плане хранения. В противовес этому, электронные формы Access просты в обновлении и надежны в хранении (хотя создание форм може г оказать существенное влияние на состояние вашего здоровья). Формы в Access — это цифровой аналог бумажных документов, однако между двумя этими понятиями больше различий, чем сходства. Все преимущества— на стороне электронных форм Access. Вот несколько примеров, поясняющих, как формы Access облегчают про-мотр информации базы данных. Избавление от необходимости просматривать данные в режиме таблицы. Вместо того чтобы прокручивать таблицу вперед и назад, вы можете сое редоточиться на просмотре только одной записи, тогда как остальные данные не будут загромождать экран и отвлекать ваше внимание.
Модификация форм по своему желанию. Если потребуется внести в форму изменения, перейдите в режим конструктора форм и измените ее. В отличие от бумажного варианта, изменение будет применено ко всем записям этой формы. Представление данных в любом виде. Access позволяет разработать множество разнообразных форм для одних и тех же данных. Можно создать один вид формы для операторов базы данных (тех, кто вводит данные), другой — для аналитиков и третий — для себя. Хорошо спроектированные формы предоставляют людям только необходимую им информацию, не перегружая их при этом избыточными данными. Просмотр элементов таблицы или результатов запроса. Формы извлекают информацию из таблиц или запросов с одинаковой легкостью. Формы, основанные на запросах, являются особенно гибким инструментом, так как всегда отображают самую свежую информацию. Использование данных из связанных таблиц. Форма может показывать данные, извлеченные из нескольких связанных таблиц. Формы автоматически используют связи, встроенные в базу данных. Подобно отчетам и запросам, формы хранятся в файле базы данных и представлены в отдельном разделе основного окна базы данных (рис. 22.1). Они являются полноценными объектами Access, и работать с ними можно так же, как и с любыми другими объектами. t» Борей : база данных (формат Access ZOOO)
ВИЯ
-:- Л Создать! У. • ^а >'[Щ]Ш Объекты
Таблицы \i" ™j~ Запросы
т
''•тал •ВНВЙВЕПВШ
\ Ш' Отчеты
\ #£
страницы Макросы
: **£ Модули
"" : ; 43
113
п 3 Ш i ^ ]gj i<i ^
| - _3
ii ж
i i «g
"ijэ
Из \\m
из
iig
- Из
Из
1
1 5s
\\т I \ 31
'\\т
11 3
Группы
Пз 1 1 21 . .I i -^
Создание 4-ормь! в рс*им<: коме t руктора; Создание формы с помощью мастера Анализ продаж Главная кнопочная форма заказы Заказы клиентов Заставка Квартальные обороты Клиенты наклейки для клиентов Отчеты о продажах Подчиненная для анализа продаж! Подчиненная для анализа продаж2 Подчиненная для квартальных оборотов Подчиненная форма заказов Подчиненная форма заказов 1 Подчиненная форма заказов 2 Поставщики Продажи по годам Сотрудники Список товаров Телефоны клиентов Типы Товары
;.
. |
!• '-
\ \ \ 1; |
! i
! [
Рис. 22.1. Чтобы увидеть перечень форм Access, в окне базы данных щелкните на кнопке Формы В зависимости от ваших нужд формы можно создать одним из следующих способов. Мастер форм задаст вам целый ряд вопросов и создаст довольно примитивную форму. Три инструмента под общим названием Автоформа (AutoForm) создают такие же формы, как и мастер форм, не задавая при этом никаких вопросов.
Глава 22. Создание замечательно выглядящих и функционирующих форм
265
I S При создании форм вручную Access предлагает пустую форму и блок инструментов, оперируя которыми можно разработать любую нужную форму. Обычно я придерживаюсь правила— чем проще, тем лучше, поэтому в этом главе я расскажу, как использовать для создания базовых форм мастер форм и средства автоформы. В конце главы приводятся советы и инструкции, как вручную преобразовать созданные "шедевры" в привлекательные формы.
Создание фо[гм по мановению вомиедной палочки Самый простой путь создания удобных компьютерных форм (обратите внимание, что я не говорю об изумительных или особо полезных формах) заключается в применении мастера форм. Как и все другие мастера Access, он станет надежным проводником на пути к созданию форм. Для запуска мастера форм выполните следующие действия. 1. Откройте файл базы данных. 2. Щелкните на кнопке Формы панели Объекты. Access выведет список текущих форм базы данных. Не беспокойтесь, если с писок пуст, — это дело поправимое. 3. В верхней части основного окна базы данных щелкните на кнопке Со (дать (New). Появится диалоговое окно Новая форма (New Form). Вместо этого в следующий раз при создании новой формы можете дважды щелкнуть на элементе Создать форму с помощью мастера (Create Form by Using the Wizard). 4. В диалоговом окне дважды щелкните на элементе Мастер форм (Form Wizard) (рис. 22.2). Новая форма
'••
""-
Автоматическое создание формы на основе выбранных полей.
: в столбец !Автоформа: ленточная АЕтоформэ: табличная ; Автоформа: сводная таблица : Автоформа: сводная диаграмма ! Диаграмма Сводная таблица
Выберите в качестве источника данных таблицу или запрос •
Рис. 22.2. Вызов мастера форм Появится диалоговое окно Новая форма. 5. Из раскрывающегося списка Таблицы/Запросы (Tables/Queries), в котором перечислены все таблицы и запросы базы данных, выберите ту (или тот) из них, который содержит поля, включаемые в форму. Мастер формы выведет список имеющихся полей.
Часть V. Мастера, формы и другие таинственные средства
6. Чтобы включить в форму какое-либо поле, дважды щелкните на его имени в списке Доступные поля (Available Fields). Повторите эту операцию для каждого поля, включаемого в форму (рис. 22.3). Создание форм Выберите поля для формы. Допускается выбор нескольких таблиц или запросов.
Таблицы и запросы ГГэблица: Клиенты Выбранные поля:
Доступные поля: ;
ДОЛЖНОСТЬ
Адрес \ ТОРОД [Область 1 !l*wai [Страна
Рис. 22.3. Выберите поля, которые хотите включить в форму Если вы хотите включить в форму все поля, щелкните на кнопке ». Чтобы удалить поле из списка Выбранные поля (Selected Fields), дважды щелкните на его имени, в результате чего это поле снова окажется в списке Доступные поля. 7. Щелкните на кнопке Далее. Если вы выбрали поля из нескольких таблиц, мастер формы спросит, как вы хотите организовать данные в форме. 8. Если мастер спросит, как отсортировать данные, щелкните на одном из пунктов в списке диалогового окна и щелкните на кнопке Далее. 9. Когда мастер спросит о разметке формы, оставьте значение В один столбец (Columnar) (или в Таблице (Datasheet), если по умолчанию стоит это значение), а затем щелкните на кнопке Далее. . Если вы хотите выбрать другую опцию, а не установленную по умолчанию, обратитесь к разделу "Придадим форме правильный вид" далее в этой главе. 10. Выберите один из стилей отображения данных (рис. 22.4) и щелкните на кнопке Далее. Дело в том, что большинство сочетаний цвета и фона существенно замедляет работу программы. Если использование цвета вам жизненно необходимо, поэкспериментируйте с различными стилями. 11. В окне Задайте имя формы в верхней части окна мастера введите имя формы. По умолчанию в качестве имени форм мастер предлагает название исходной таблицы, но лучше выбрать более подходящее имя. 12. Щелкните на кнопке Готово. Появится ваше новое творение (рис. 22.5).
Глава 22. Создание замечательно выглядящих и функционирующих форм
267
Создание форм Выберите требуемый стиль.
!Диффуэный .Камень ! Международный ! Наждачная бумага : Официальным •Промышленный - Рисовая бумага I Рисунок Суми ! Чертеж
Отмена
| |
< Назад
|[
Далее >
j [
Цотово
Рис, 22.4. Всегда хочется пофантазировать, но сейчас упростите свою работу Ш Клиенты! >
£Л©8|
Код клиента
ня
Название
Alfreds Futterkiste
Обращаться к
:Meria Anders
Должность
; Представитель
Адрес .
ibbereStr57
Город
^Берлин
• .".
••• . ,. " " j
Область Индекс
42209
Страна
Германия
Телефон
;оз(к)074321
4>ekt
:030-0076545
Запись: (и]'. 4 |
'
Г|Т]{^Г@иэ 92
*"%
. .
.
'..•••,;'.
Рис. 22.5. Новая форма не очень красива, но для начала совсем неплоха Мастер формы автоматически сохраняет форму в процессе ее создания, ТЕК что вам не придется сохранять ее вручную.
Jtftuqaqiui фб/гме п/ювьиьнмй В зависимости от включаемых в форму данных (например, взяты ли они из одной или из нескольких таблиц), существует несколько опций для отображения данных. •/ В один столбец (Columnar). Классическая форма, на каждой странице которой размещается по одной записи. S Ленточный (Tabular). На одной странице размещается несколько записей (рис. 22.6). При выборе этой опции приготовьтесь к выполнению над фермой некоторых "косметических" операций (перегруппировка, изменение размеров и т.п.). Такой тип форм наиболее широко применяется в отчетах.
Часть V. Мастера, формы и другие таинственные средства
fr" Клиенты 1 Код Название
Обращат Должное Адрес
Горо
М
Alfreds Putter* Mana Anc Предста! Obere Str. 57
>
оел! ин.
Строи Телефс Факс
Берг
122 Терма 030-007» 030-0076:
AN/; AnaTrujilloEr AnaTrujilt Co в л аде Avda.de la Constitui Mext-
050 Микен (5) 555-1; (5) 555-3;
AN1 Antonio Morer Antonio M' Совладе Mataderos 2312
Mext
jOSO Мекси (5) 555-S
ARC Around thVRc Thomas h Предств! 120 Hanover Sq
flow
BEF Beiglunds sne iChnstina E Клордин( Berguvsvagen 8
Пупе '""
BLA BlauerSeeDi Henna Me Предста! Forsterstr. 57
М0н,
.683 Герме 0621-08' 0621-069;
BLO Blonde) pete f |Fredefiqu Главный 24. place K.teber
Стре
!j670 *P°HL 8 8 6 0 1 5 8860.15:'
BOL Boli do Comidi Martin Sot Сов ладе C/Araquil, 6?
Meaj "' iJ28t> Испан (91)555' (91)555!:
ВОГ- Bon app'
,w Велик ;
ло« Б
=СЕГ. Cenlro сотеп Francisco
Г ЛОБНЫЙ
Sierras de Granada
CMC Chop-suey CK;Yeng Wat Совладе. Hauptstr. 29
сок
ГИЕН»*
...£
ФрвН1
(171)55!; (171)555;
9i"M«" 9Т.2445.
Be пик (171)551
С;
. И 01 Арген
а эн
Л'.135-5; (1)135-4(1
050 Мекси (5) S55-J (5) 55мг
,^» Бери
'
:
Кшвд (604) 55Ё (604) 555
Т2(
301 Швей1
.
054 Брози (11)555-
Comercio Min ;PedroAlo Ученик п Av. dos Lusiadas, 2c Сон- ЕР
з««ь:|Ш..<,1
-
S-9 Шве» 'Ь'921-12 ' 0921-125
;тзб
B01 Bottom-Dollar Elizabeth Бухгалте 23 Tsawassen Blvid. TCBE ВС
CAC Cactus Comid Patricio Si Продеве Cerrito 333
:
;
i Laurence Совладе. .12, rue ties Boucher! Мере
BSE B's Beverage 'victoria A Предста! Fauntle toy Circus
f.
'
.
II.1"] ~~~] ^
Рис. 22.6. Такая ленточная форма функциональна, но для придания ей привлекательности вам придется еще немного потрудиться Табличный (Datasheet). Страница внешне напоминает электронную таблицу с сеткой. В данную форму встроена опция просмотра данных Access в режиме таблицы. Эту форму выбирают для презентации данных в Excel. Выровненный (Justified). Данные расположены в разных местах формы в нескольких строках (рис. 22.7). Такой макет может оказаться полезным при работе с полями типа Memo.
!
'Обращаться к Mario Anders
Кдд клиента Название 3BI Alfreds Fulterkiste
Должность Представитель ;Город :Берлин ' ;ФВКС
Область ;
Индекс 12209
'Страна Германия
.Телефон 1030-0074321
"
Рис. 22.7. Форма типа Выровненный Сводная таблица (Pivot Table). Резюмирование с возможностью обработки данных и их анализа. Сводная диаграмма (Pivot Chart). Графический анализ данных (рис. 22.8).
Глава 22. Создание замечательно выглядящих и функционирующих форм
269
6 Товары! Сумма "Цена' 120000,00ц
[[Итоги]
Рис. 22.8. При работе с формой Сводная диаграмма можно проанализировать данные
массовое Еще в детстве меня поразило массовое производство. А особое впечатление произвел переход от кустарного производства к конвейеру Генри Форда. Конвейерная линия имеет свои преимущества и недостатки. Но у меня слово "конвейер" всегда ассоциируется с фразой "Вы можете выбрать любой цвет, если он черный". После такого вступления я хочу пригласить вас посетить фабрику автоформ! Наш девиз: "Вы можете выбрать любую из трех видов форм, производимых нами". Access утверждает, что автоформа — это мастер. Но поскольку он несколько ограничен, я имею в виду узко специализирован, я бы не стал относить его к этому классу волшебников. Скорее, их можно отнести к шаблонам Office: достаточно указать данные, и форма будет создана. Для использования автоформы выполните следующие действия. 1. Откройте базу данных и щелкните на кнопке Формы. 2. Щелкните на кнопке Создать. Появится диалоговое окно Новая форма. 3. Выберите элемент автоформа в качестве типа создаваемой формы. Access выделит имя соответствующего мини-мастера. 4. Щелкните на кнопке раскрывающегося списка, которая находится под этим перечнем. Откроется список таблиц и запросов текущей базы данных. 5. Щелкните на имени таблицы (или запроса), из которой вы хотите взять информацию для формы, и щелкните на кнопке ОК. Соответствующий мини-мастер начнет работу, и через несколько мгновений новая форма появится на экране.
270
Часть V. Мастера, формы и другие таинственные средства
Автоформа может работать только с одной таблицей или запросом. Чтобы включить поля более чем из одной таблицы, начните создание автоформы из запроса, который сам будет выбирать поля. Эта часть процесса выходит за рамки ограниченного ума автоформы. 6. Сохраните созданную форму, выбрав из меню команду Файл^Сохранить или щелкнув на кнопке Сохранить панели инструментов. В открывшемся диалоговом окне введите имя формы. 7. Щелкните на кнопке ОК. В отличие от мастера форм, мастер автоформ не сохраняет созданные формы автоматически, так что вам придется делать это вручную. В результате форма будет включена в базу данных и появится в разделе Формы.
Hacriifiouica
фо/ъмм
Хочу задать вам один вопрос. Будете ли вы трудиться в поте лица, чтобы вводить в форму данные, как показано на рис. 22.5, или вставите несколько записей в форму на рис. 22.9? Подумайте, прежде чем ответить.
Рис. 22.9. Это та же самая форма, что и изображенная на рис. 22.5, но только после маленькой "косметической" операции Хотите — верьте, хотите — нет, но на рисунках изображена одна и та же форма. Да, это правда. На рис. 22.5 показана стандартная форма в столбец, только что сошедшая с конвейера фабрики автоформ. На рис. 22.9 изображена хорошо спроектированная, привлекательная и удобная форма, полученная в результате небольших преобразований. Я просто переместил поля, добавил немного графики и изменил порядок ввода данных. В следующих разделах будут рассмотрены инструменты, которые помогут преобразовать внешний вид формы. Через некоторое время ваши неуклюжие формы обретут функциональную полезность и внешнюю привлекательность.
Глава 22. Создание замечательно выглядящих и функционирующих форм
271
Режим конструктора форм Для того чтобы внести некоторые изменения, следует перевести форму в режим конструктора. Существуют два способа перехода в этот режим, в зависимости от того, где вы находитесь в настоящий момент. „ •/ Из окна базы данных. Щелкните на кнопке Формы, чтобы увидеть список имеющихся форм. Щелкните на форме, которую хотите изменить, а затем на кнопке Конструктор (Design). . Из окна формы. Щелкните на кнопке Конструктор панели инструментов или выберите из меню команду Вид ^Конструктор. Не пугайтесь кажущейся сложности режима конструктора форм. Если ны допустили ошибку или что-то напутали в форме, сразу же выберите команду ФайлоЗакрыть. Закройте форму без сохранения изменений, после чего глубоко вздохните и начните создание формы заново.
Перемещение полей Для того чтобы переместить поле, находясь в режиме конструктора формы, выполните следующие действия. 1. Поместите указатель мыши над перемещаемым полем. Указатель можно поместить также на имя поля или рамку, где находится шачение поля. Если поле уже выделено (вокруг имени имеется рамка с маленькими маркерами), щелкните в любом пустом месте формы, чтобы отменить выбор поля, а затем начните с п. 1. Иначе Access придет в замешательство и подумает, что нужно не перемещать поле, а делать что-то другое. 2. Нажмите и удерживайте нажатой кнопку мыши. Указатель мыши примет вид руки. Тем самым Access докладывает о своей готовности к перемещению. 3. Перетащите поле на новое место. Во время перемещения поля вместе с указателем, чтобы точно указать новое положение поля, передвигается пара прямоугольников. 4. Когда поле окажется в нужном месте, отпустите кнопку мыши. Поле мягко впишется в новую обстановку. Если новое положение поля вам не понравится, перемещайте его далее или нажмите комбинацию клавиш <Ctrl+Z>, чтобы отменить последнее перемещение и начать все сначала. ,
Добавление линий и обрамления В нижней части окна в режиме конструктора на панели элементов есть две кнопки, которые позволят создать в форме следующие элементы: ' !\ • '
КЭ
:
I—У
линии; прямоугольники (или границы).
:',-'-. _'. :vi4£,j - sij
272
Часть V. Мастера, формы и другие таинственные средства
Рассмотрим, как пользоваться этими инструментами. 1. Щелкните на кнопке выбранного инструмента. Выбранная кнопка окажется утопленной. 2. Поместите указатель мыши в то место, где вы хотите начать линию или установить вершину прямоугольника; затем нажмите и удерживайте нажатой кнопку мыши. Будьте внимательны, хотя впоследствии вы всегда сможете отменить ошибочно выполненное действие или переместить объект. 3. Переместите курсор в то место, где должен быть конец линии или противоположная вершина прямоугольника, а затем отпустите кнопку мыши. Появится линия или прямоугольник. К добавляемым линиям или графическим изображениям прямоугольников можно применить специальные эффекты оформления.
•S
Оформление для линии может быть Обычное или Приподнятое. Несмотря на то что существуют и другие опции, в данном случае они ничем не отличаются от приподнятого стиля.
S К рамкам можно применить все шесть видов оформления: Обычное, Приподнятое, Утопленное, Вдавленное, Рельефное, Оформление с тенью. Чтобы применить эффекты оформления, сначала нарисуйте линию или рамку, а затем щелкните на ней правой кнопкой мыши (если это линия, щелкните на одном из ее концов). Из раскрывающегося меню выберите пункт Оформление (Special Effects), а затем примените необходимое оформление. Если вы хотите выполнить дальнейшую настройку созданной линии или рамки, поэкспериментируйте с другими установками. В диалоговом окне Оформление щелкните на кнопке Формат и выберите один из следующих пунктов. Тип границы (Border Style). Определяет вид линии. Есть несколько вариантов: от сплошной до штрих-точечной.
Цвет границы (Border Color). Изменяет цвет линии. Ширина границы (Border Width). Может принимать значения от Сверхтонкой до ширины в 6 пунктов. Поэкспериментируйте с различными настройками и подберите их наиболее подходящую комбинацию. По завершении работы закройте окно Свойства, щелкнув на кнопке закрытия окна.
Изменение порядка перехода от одного поля к другому Изменение порядка переключения полей— не такое простое занятие, как другие действия, описанные в данной главе, но оно стоит того, чтобы о нем рассказать. Если вы переместите поля в форме, а затем попытаетесь поработать с ней, то быстро обнаружите, что поля "помнят" свой старый порядок при перемещении от одного поля к другому с помощью клавиши <ТаЬ>. Для того чтобы устранить этот недостаток, необходимо выполнить определенные настройки в окне Последовательность перехода (Tab Index). Сделать это можно следующим образом.
Глава 22. Создание замечательно выглядящих и функционирующих форм
273
1. Откройте форму в режиме конструктора и выберите команду Последовательность перехода. Откроется диалоговое окно Последовательность перехода, в котором содержится список с существующим порядком перемещения по полям. 2. Щелкните на небольшой серой кнопке, расположенной с левой стороны от имени поля, с которым хотите поработать (рис. 22.10). Поле будет выделено.
• 9 • I '10' ' ' {1 •
ji* Заголовок формы
Клиенты
J
:
Последовательность перехода • Раздел . -
Последовательность:
О заголовок : (•) область данных
:
.
Опримечание
И23 Е2ЭИ §23223;
Выделите одну или несколько строк с помощью мыши и расставьте выбранные поля в нужной последовательности.
ЯВИЛ
j j * г^имечаше фор^|
Рис. 22.10. В диалоговом окне Последовательность перехода можно изменить порядок, согласно которому курсор перемещается по полям Для того чтобы Access автоматически установила порядок перехода после нажатия клавиши <ТаЬ> для всех полей формы, щелкните на кнопке Авто, расположенной в нижней части диалогового окна. Access определит порядок перекода в соответствии с расположением полей в форме слева направо и сверху вниз. 3. Щелкните на уже выделенной небольшой кнопке, расположенной с левой стороны от имени поля, и перетащите поле на новое место. Рядом с указателем мыши появится темно-серый прямоугольник. Как только он окажется на нужном месте, отпустите кнопку. Access переместит поле на новое место.
.
4. Повторите пп. 2 и 3 для всех полей, которые хотите переместить. Access абсолютно все равно, сколько вы будете этим заниматься, поэтому можете экспериментировать в свое удовольствие. 5. Щелкните на кнопке ОК. Диалоговое окно исчезнет. 6. Щелкните на кнопке Режим формы панели инструментов, чтобы проверить свою работу. Если какое-либо из полей окажется не на месте, запомните его имя, а затем еще раз выполните приведенную выше последовательность действий.
274
Часть V. Мастера, формы и другие таинственные средства
Глава 23
Если любовь универсальна, почему бы ее не экспортировать? u главе, . . >
Вставка данных в Access
>• Когда импортировать, а когда ссылаться на данные > Разговор на иностранных языках данных > Поместим данные в недружелюбный внешний мир
наши дни для достижения настоящего успеха недостаточно знать только родной язык. Вы должны свободно владеть несколькими языками. Я, например, хорошо владею американским английским — языком, который британцы считают слабым подобием своего языка. А для работы я изучил несколько вариантов компьютерного языка, включая языки для Windows, DOS, специальный язык символов $%@&#! и трудно поддающийся изучению диалект Macintosh. Access также является полиглотом, поскольку в компьютерном мире количество не согласующихся между собой языков превышает даже количество стран, входящих в ООН. Она знакома с несколькими форматами электронных таблиц, конкурирующих баз данных и воспринимает даже старые текстовые файлы. Благодаря таким способностям Access позволяет обмениваться данными со многими источниками. Должен сказать, что Access является одной из самых гибких программ, с которыми я когда-либо работал (а я повидал немало программ). В этой главе рассмотрены такие возможности Access, как импорт и экспорт данных. Если наряду с Access вы используете другую программу баз данных, вам обязательно следует прочитать эту главу, поскольку вскоре многие данные могут оказаться не на своем месте. Попробуйте догадаться, кому придется все исправлять?
•
инфо/гмсщию
м/ч,щю
•
Access получает данные двумя путями. Один из них — импортирование — заключается в преобразовании данных из инородного формата в формат файла базы данных Access (в котором, согласно заявлениям Microsoft, в недалеком будущем будут храниться данные всего мира). Другой метод — связывание — заключается в создании временного моста между внешними данными и Access. Если вы работали с предыдущими версиями Access, то там второй способ (связывание — linking) обычно назывался присоединением (attaching). Принцип остался прежним, а название операции изменилось (чтобы запутать ни в чем не повинных пользователей). '
^ '
!
•
\
Преобразование форматов файлов Независимо от способа получения, Access воспринимает только определенные форматы данных. В табл. 23.1 приведены наиболее популярные форматы файлов, с которыми в:аимодействует Access. Эта таблица охватывает подавляющую часть данных, находящихся в персональных компьютерах по всему миру.
Таблица 23.1. Форматы файлов, поддерживаемые Access Программа Access
Расширение файла
ODBC
Нет
Версии 2.0, 7.0/95, 8.0/97, 9.0/2000, 10.0/2002 Нет
Exchange/ Outlook dBASE
Нет
Нет
.DBF
III, IV, 5
FoxPro
.DBF
2.x, 3.0, 5.0, 6.x
Paradox Excel
.DB
Lotus 1-2-3 Text
.WKS, .WK1, .WK31, . W K 4 .TXT
XML
.XML
HTML
.HTM,
.MDB
.
.XLS
•
3.x, 4.x, 5.0 3.0, 4.0, 5.0, 7.0/95, 8.0/97, 9.0/2000, 10.0/2002 Bee
Нет
Все .HTML
1.0 (списки), 2.0 (таблицы), 3.x (таблицы)
Примечания При одинаковом имени данные версии используют немного отличающиеся от Access форматы файлов Используйте ODBC для связи Access с £ругими базами данных, такими как Oracle Подключите свою папку с контактами из Outlook прямо в базу данных Access Один из самых популярных форматов; по щерживается многими программами Другая программа баз данных Microsoft; в некоторых случаях несовместима с dBASE Конкурирующая база данных от Borland Хотя это электронная таблица, многие и> пользуют ее в качестве диспетчера сплошных файлов баз данных В свое время самая популярная электронная
таблица Используется в самом крайнем случае; Access понимает как файлы с неограниченными по ширине текстовыми полями, так и файлы с фиксированной шириной поля XML (расширяемый язык разметки) испс льзуется для описания и хранения данных Коды Web-страниц
Хотя в процессе конвертирования файлов Access ведет себя достаточно благоразумно, необходимо учитывать некоторые особенности.
•/ Дважды проверьте информацию, конвертируемую из других программ электронных таблиц, на совместимость и полноту. Прежде всего удостоверьтесь, что данные, содержащиеся в каждой колонке (т.е. в одном поле), однотипны (числовые, текстовые и т.д.). В противном случае импортирование данных может быть некорректным. (А вы знаете, как программы относятся к таког 5 рода просчетам.) •S При работе с файлами dBASE и FoxPro следует обращать особое внимание на индексные файлы, сопровождающие файлы баз данных. Для работы с габли-
276
Часть V. Мастера, формы и другие таинственные средства
цами Access необходим индекс. Если Access не может найти индекс или если он испорчен, закройте окно приглашения, запрашивающее имя файла, и проверьте, как прошло импортирование. Access испытывает трудности при связывании таблиц Paradox, не имеющих первичного ключа. В частности, она не сможет записать изменения в такую таблицу. Для решения этой задачи сначала создайте первичный ключ в таблице Paradox, а уже затем привязывайте эту таблицу к Access. Если вы испытываете трудности при импортировании данных определенного формата, попробуйте открыть этот файл с помощью соответствующей ему программы, а затем экспортировать его в текстовый формат (или, говоря техническим языком, в формат ASCII). После этого попытайтесь импортировать созданный текстовый файл. Может быть, вам покажется это сложным, но это самая распространенная форма хранения данных, известная человечеству (или компьютеру). Обязательно сделайте резервную копию базы данных, перед тем как решите импортировать, экспортировать данные или просто уйти в отпуск. Несмотря на весь свой оптимизм, человек всегда должен быть готов к худшему развитию событий. Поэтому сделайте копии базы данных перед тем, как перейти к рассмотрению всяких технических премудростей, описанных в этой главе.
Импортирование или связывание файлов Некоторые моменты при импортировании или связывании в значительной степени обусловлены типом импортируемого файла. Но для того чтобы дать вам верное направление, ниже я привожу описание общих действий. Хотя эти команды предназначены главным образом для импортирования файлов, здесь приводятся также особенности, характерные для связывания файлов. 1. Откройте базу данных Access, в которую будут импортироваться данные.. ^—"
Если вы не знаете, как это делается, остановитесь — ни шагу вперед. Вернитесь к главе 1 и освежите свои знания об Access. 2. Из системного меню базы данных выберите команду ФайлОВнешние данные<=>Импорт (File<=>Get External Data<=>lmport). Появится диалоговое окно, аналогичное изображенному на рис. 23.1. 3. Щелкните на кнопке раскрывающегося списка Тип файла (Files of Type), расположенного в нижней части окна, а затем на строке, указывающей тип импортируемых данных. Для поиска файлов воспользуйтесь раскрывающимся списком Папка (Look In). В диалоговом окне появятся файлы выбранного типа. Убедитесь, что вы правильно указали тип файла. В противном случае в диалоговом окне вы не увидите имя нужного файла! Если имя файла базы данных имеет нестандартное расширение (наподобие .FOO, . DTA или . XXX), Access, возможно, не сможет распознать имя такого файла. В этом случае лучше проконсультироваться у специалистов. 4. Дважды щелкните на имени файла, который хотите импортировать. С этого момента процесс пойдет в разных направлениях, в зависимости от формата импортируемого файла и от того, импортируется он или связывается. Единст-
Глава 23. Если любовь универсальна, почему бы ее не экспортировать?
277
венный полезный совет, который можно дать в этом случае, — внимательно следовать инструкциям, появляющимся на экране, помнить о приведенных выше советах, надеяться на лучшее и уповать на то, что в ящике стола у вас лежит копия базы данных. (Надеюсь, вы не забыли ее сделать.)
b|J|
i jfjNcrthwhdcs
т
Мои последи.
т. \ Имяфайпа:
•
1 Тип файпов: ; Microsoft Office Access Lotus I-2-3/OQ5 Lotus 1-2-3 Outlook Paradox
I
Рис. 23.1. Убедитесь в том, что вы выбрали правильный тип файла Если процесс импортирования затягивается, возможно, Access старается исправить ошибки, просочившиеся в исходные данные. Нажмите комбинацию клавиш <Ctrl+Break>, чтобы прервать процесс, и проверьте импортируемые данные на наличие очевидных ошибок (некорректные или потерянные данные, плохо организованная структура таблицы, неправильная индексация и т.д.).
Импортировать или связывать? ' Поскольку Access предлагает два различных способа получения данных, естественно i возникает вопрос: какой из них использовать? i Ответ на этот вопрос главным образом зависит от другой программы и ее роли в вашей ; организации. Вы все еще используете эту другую программу для обновления донных? [Ваши коллеги применяют ее для доступа к данным? Если ответ положительный, ? используйте связывание с Access. Это позволит вам манипулировать данными и в то же : время хранить их в исходном формате, доступном и для других пользователей. { С другой стороны, если вам больше никогда не придется использовать другую программу i для модификации данных, смело импортируйте данные в новое и удобное место. Нет i смысла сохранять формат данных, с которым никто уже не работает.
Лом/поем, с/лл усишых, Зилейг в oqun, конец Экспортирование очень похоже на импортирование, но здесь есть свои нюансы. Экспортирование таблицы включает преобразование содержащихся в ней данных в другой формат. Подобно импортированию, Access может перевести данные на разные "языки" в
278
Часть V. Мастера, формы и другие таинственные средства
зависимости от ваших потребностей. Список форматов экспортирования совпадает со списком форматов импортирования. Таблица форматов уже рассматривалась в этой главе. Прежде всего, необходимо следить за тем, чтобы при экспортировании данные не были потеряны. Дело в том, что не все форматы баз данных точно соответствуют друг другу (кроме того, Microsoft не может сделать все форматы совместимыми). То, что данные славно выглядят в таблице Access, отнюдь не означает, что их ждет та же судьба при экспортировании в Paradox или FoxPro. Можно с уверенностью сказать, что данные некоторых типов полей Access, например Счетчик, Логическое, Мемо и OLE, будут содержать ошибки. Будьте готовы к решению таких проблем. Имена полей также могут стать причиной неприятностей. Access очень либерально относится к именам полей, чего не скажешь, например, о dBASE. Такая неразборчивость может привести к появлению полей с одинаковыми именами (что было бы очень смешно, если бы не было так грустно). Если вы экспортируете таблицу Access с полями Projected2000Sales (Планируемые продажи на2000), Projected2000Net (Планируемый доход на2000) и Projected2000Overhead (Планируемая прибыль на2000), то в результате можно получить три поля с именем Projectedl. Довольно неприятная ситуация. Вам придется потратить время на надлежащую настройку процесса экспортирования. Тем не менее процедура экспортирования таблицы намного проще импортирования. 1. Откройте базу данных и выберите таблицу, которую хотите экспортировать. Как и положено, имя таблицы окажется выделенным. 2. Выберите из системного меню команду Файл •=> Экспорт. Откроется диалоговое окно Экспорт объекта (Export Table). 3. Щелкните на кнопке раскрывающегося списка Тип файла (Save As Type). Из появившегося списка выберите нужный формат (рис. 23.2). Если в раскрывающемся списке отсутствует один из форматов, приведенных в табл. 23.1, еще раз запустите программу установки Access и добавьте этот формат в свою систему. Экспорт объекта: Таблица 'Таблица гиперссылок' как _'J SAMPLES
0
' «ft У ;.~1 И
lilNFOPATH N18 Analyze Sate CS i /^Emptoyees CS 1 ^Review Orders CS ; ^Review Products CS
Рабо*йстол i ^Анализ продаж I Р^Юменты по Странам • \$\ i ^Обзс^> заказов l^j/ ; '^обзор товаров МОИ ДОКуНвНТЫ ; ^ТэОДаЖИ "Сотрудники
| №зд файла:
[Таблица гиперссыпок
i Тип файла:
Рис. 23.2, Пусть таблицу необходимо экспортировать как документ HTML
Глава 23. Если любовь универсальна, почему бы ее не экспортировать?
279
4. Теперь возьмите себя в руки и щелкните на кнопке Экспорт. В зависимости от типа файла, в который производится экспортирование, программа, скорее всего, ни о чем вас не спросит, если процесс прошел успешно. Поэтому можете смело открывать другую программу и просмотреть в ней экспортированный файл. При экспортировании файлов в формат HTML или XML установите флажок в поле опции Автозагрузка (Autostart) (см. рис. 23.2). После выполнения экспортирования откроется окно Internet Explorer, в котором будут отображены экспортированные данные (рис. 23.3). 31 Таблица гиперссыяон - Microsoft Internet Explorer Файл Правка Вид Избражое Сервис Справка &•""•"••'• ' 0 ' И И и 'р поиск ^Избранное <§>Медиа
Щ®Ш, •& v
«.;;р*. :*!j D:VymykV/ow документы\Та6лг(а гиперссылок-htjril
1«3 Переход
Таблица пшерс сыпок jlfTXBT"
Kvww. ixbt.com
;2:"ГГС"
К^ллул^.иа
3 Компания "ЕПОС"
Kvwvv.epos.kie\".4a
«ИКневскпй клубВолговодов •5 ^Издательство "Диалектика" |w\vw.dialektika.com
ittti.> : /w\vw. txbt. com/
iffl;.»a http ;/\vxnv.dialcktikn lOiii <2i-biriiU!sksj;si-
;6 Издательский Дом "Внльяыс" iu4nv,\villiamspiiblishing.com;httii:/7\v\\4v\yillimiigi:nibht'hiiig com/ j7|Cisco Press нарусском языке iUAnv.ciscopress.ra
И http://www.volga.kiev.ua/
"\Щ>:/Avww.ciscopiess m'
Мои компьютер
Рис. 23.3. Отображение экспортированной таблицы в окне Internet Explorer Перед тем как экспортировать файл в формат HTML или XML, опытные пользователи редактируют его. Вы сами видите, что несмотря на то, что Webстраница, изображенная на рис. 23.3, была создана безо всяких усилий, ее внешний вид не отличается привлекательностью. Редактируя файл, ложно сделать его гораздо более приятным, применив соответствующее форм жирование, цветовое оформление и т.д.
280
Часть V. Мастера, формы и другие таинственные средства
Глава 24
Анализатор данных: д-р Фрейд, д-р Ватсон и д-р Джекилл в одном лице главе... ~> Создание реляционных баз данных >
Документирование базы данных
>
Анализ быстродействия
нализатор выполняет три задачи, близкие сердцу пользователя базы данных: •S автоматически конвертирует сплошные файлы в реляционные базы данных; •S документирует базу данных и различные ее компоненты (включая таблицы, запросы, формы, отчеты и многое другое); •S анализирует структуру таблиц, удостоверяя, что все спроектировано наилучшим образом. Несмотря на то что в последние годы компьютерные технологии и совершили большой рывок вперед, они еще не оправдали всех возложенных на них ожиданий. То же самое можно сказать и об анализаторе — его название обещает больше возможностей, чем имеется в распоряжении на самом деле. Отдавая ему должное, нужно отметить, что он способен на многое, поэтому ему посвящена отдельная глава, в которой превозносятся два его достоинства и раскрывается один недостаток (думаю, что два достоинства против одного недостатка — не так уж и плохо).
Создание {геядционных <$аз данных 4
Все радужные перспективы анализатора скрываются под командой СервисоАнализО Таблица (ToolsOAnalyzeoTable). Утверждается, что с помощью этой команды можно преобразовать таблицу сплошного файла в реляционную базу данных. При этом вмешательство со стороны пользователя будет минимальным « одновременно появится возможность проверить ошибки в данных. Нужно отметить, что анализатор трудится в поте лица, чтобы преобразовать сплошной файл в реляционную базу данных. Но как и все программное обеспечение, он иногда приходит в замешательство и выбирает неверный путь. Тем не менее позвольте ему попробовать, хотя бы потому, что он может хорошо потрудиться именно над вашей таблицей и, таким образом, сэкономить вам много времени и усилий.
,
Анализатор прекрасно работает со сплошными файлами таблиц, которые содержат много повторяющейся информации. Например, представьте сплошной файл таблицы, содержащий информацию о клиенте, о заказе и место для четыре> товаров, которые можно разместить в одном заказе. В связи с тем, что информация о заказах содержится в записи о данном клиенте, каждый раз при размещении заказа информация о клиенте повторяется. Аналогичным образом, в связи с тем, что описание товара хранится в той же таблице, каждый раз при заказе товара клиентом данные о товаре повторяются. Все это представляет собой реляционный кошмар! Чтобы привести базу данных в порядок, воспользуемся мастером анализатора таблиц. 1. Откройте базу данных и выберите из системного меню команду Сервис<=> Анализ^Таблица. После некоторого раздумья, сопровождаемого активной деятельностью жесткого диска, на экране появится диалоговое окно Анализ таблиц (Table Analyzer Wizard) (рис. 24.1). Анализ таблиц Анализ таблиц: постановка задачи
ptiAngelq iPAST di.norW PAST ^Carnarvon Tiger; PAVL ' ' '
Pasta Buttm s.r. Via del Gels Pasta Buttmi s.r, Via del Geteomr Pavlova, Ltd. 74 Rose St Pavlova, Ltd. 74 Rose St. Pavlova, Ltd. 74 Rose St Pav, Lid, ' ;I74RoseSt.
Одни и те же сведения часто сохраняются в таблице много раз. Повторная запись дачных может привести к определенным оилбкам. Во-первых, повтор данных приводит к излишнему увеличению их объема. Показать пример. Во-вторых, повтор данных может ошибки обработки. Показать пример.
Рис. 24,1, Представляем вашему вниманию анализатор таблиц
•
1. Два первых диалоговых окна особого интереса не представляют — от носят чисто образовательный характер. При желании можете прочесть их, каждый раз щелкая на кнопке Далее. После этого откроется диалоговое окно, показанное на рис. 24.2. 3. Щелкните на имени таблицы, которую вы хотите преобразовать в реляционную, а затем на кнопке Далее. Мастер поинтересуется, следует ли ему проанализировать таблицу, и выскажет свои предположения относительно того, как должна работать эта таблица. 4. Установите переключатель в положение Да, а затем щелкните на кнопке Далее. Это основной этап во всем процессе. Засучив рукава, мастер берется за з щание, причем на экране видно, как проходит процесс. После завершения работы экран примет приблизительно такой вид, как показано на рис. 24.3.
282
Часть V. Мастера, формы и другие таинственные средства
Анализ таблиц В каких таблицах есть поля, значения которых повторяется много раз? Данный мастер разделит исходную таблицу на несколько связанных таблиц. При этом сана исходная таблица изменена не будет. Таблицы: [Доставка Заказано Заказы ШвВаВЕВ! Поставщики ; Сотрудники список рассыпки Таблица гиперссылок Типы {Товары
(w*j Вывести страницы с пояснениями?
Отмена
< Назад
Далее >
Рис. 24.2. Выберите таблицу, подлежащую анализу Анализ таблиц Правильно ли мастер группирует данные? Бели нет, перетащите поля с помощью мыши в подходящие по смыслу группы. Камю имена следует присвоить новым таблицам? Как правило, имя таблицы указывает на хранящиеся в ней данные.
Отмена ~~j [
< Цазад ~|
Далее > к j
Рис. 24.3. К сожалению, Access не очень удачно проанализировала эту базу данных 5. Если результат пришелся вам по душе, озаглавьте таблицы. Для этого сначала щелкните на таблице, а затем на кнопке Переименовать таблицу (Name Table) (с изображением карандаша, рисующего в таблице). Либо с помощью мыши перетащите поля из одной таблицы в другую, а затем переименуйте таблицы. После этого щелкните на кнопке Далее.
Глава 24. Анализатор данных: д-р Фрейд, д-р Ватсон и д-р Джекилл.
283
Если мастер рекомендует не расщеплять таблицу, щелкните на кнопке Отмена (Cancel) и поблагодарите себя за успешную работу. Ведь в данном случае мастер считает, что таблица и так достаточно хороша. 6. Назначьте ключевые поля. Для этого сначала щелкните на имени поля, а затем на кнопке Ключевое поле (Key). Кнопка Ключевое поле находится на месте кнопки Переименовать таблицу (см. п. 5), в правом верхнем углу диалогового окна. Этот шаг позволит вам избавиться от многих созданных мастером униюшьных номеров (соответствующих каждой записи), которые он поместил в таблицы. Перед тем как продолжить работу, убедитесь, что каждая таблица имеет ключевое поле. Поскольку структура в основном завершена, мастер переключает свое внимание на опечатки (предположительно допущенные оператором при вводе данных) в базе данных. Если он находит записи, которые, по его мнению, являются почти одинаковыми, он попросит привести их в порядок. После того как структура базы данных будет проанализирована, мастер авт оматически исправит опечатки, допущенные при вводе данных. В зависимости от состояния ваших данных, вы можете обнаружить много записей, подлежащих корректировке. Проявите терпение — мастер изо всех сил старается вам помочь! Как только исправления будут внесены, мастер предложит создать запрос, который будет выглядеть и выполняться как исходная таблица. Если для работы с плоскими файлами были созданы отчеты и формы, они будут пригодны и для работы с новой таблицей. 7. Если вы передумали и хотите отменить все предыдущие действия, выберите переключатель Нет. В противном случае завершите работу мастера, щелкнув на кнопке Готово. Если вы щелкнете на кнопке Готово, Access создаст запрос, который будет выглядеть как исходная таблица. Исходная таблица будет переименована, а любые формы и отчеты вместо нее будут использовать запрос, созданный мастером. Вряд ли анализатор таблиц корректно преобразует сплошной файл ба: ы данных в реляционную базу данных. Для изменения структуры базы данных лучше всего обратиться к специалисту, который выполнит эту задачу более квалифицированно.
дозы Позвольте сделать небольшое отступление. Есть вещи, в которых наш мир нуждается и, по-видимому, будет нуждаться всегда. Речь идет о документации. Если бы мы внимательнее относились к этому, все было бы совсем по-другому. Возможно, вам нет до этого никакого дела, но если вы создаете базу данных, Чтобы облегчить себе работу, она может сыграть в вашей жизни большое значение. Знаю, что времени едва хватает для выполнения текущей работы и тестирования базы данных, но вам обязательно следузт документировать все, что вы делаете. Как всегда, при решении проблемы документирования приходится разрываться между крайней необходимостью и постоянной нехваткой времени. Что же делать? Использовать архивариус базы данных!
284
Часть V. Мастера, формы и другие таинственные средства
Эта вторая часть анализатора пересматривает все элементы вашей базы данных (я действительно имею в виду все) и документирует жизненно необходимые элементы. Собранная информация очень загадочна, и я не уверен, что сами программисты смогли бы объяснить ее некоторые части. Но самое интересное состоит в том, что программа работает сама по себе. Запустите программу, натравите ее на базу данных и сходить перекусить. Когда вы вернетесь, отчет будет готов. Моментальное документирование! Для того чтобы запустить архивариус базы данных, выполните такую последовательность действий. 1. Откройте базу данных и выберите из системного меню команду Сервис1^ Анализ^ Архивариус (ToolsOAnalyze^Documenter). 2. В диалоговом окне Архивариус (Documenter) выберите вкладку Все объекты (All Object Types), как показано на рис. 24.4.
Заказано • Заказы Ш Клиенты Ш Поставщики Ш Сотрудники Ш Список рассылки Ш Таблица гипарссылок О Типы омом
Рис. 24.4. Выберите вкладку Все объекты и щелкните на кнопке Выделить все
3. Щелкните на кнопке Выделить все (Select All), чтобы задокументировать всю базу данных. Затем щелкните на кнопке ОК. Архивариус исследует все объекты базы данных, начиная с таблиц, а затем перейдет к запросам, формам, отчетам и т.д. В процессе документирования на экране на непродолжительное время будут появляться формы — так и должно быть. Процесс займет некоторое время, так что можно сделать перерыв и выпить чашечку кофе. После завершения работы архивариус составляет отчет, содержащий информацию о базе данных (рис. 24.5). 4. Для того чтобы распечатать этот отчет, щелкните на кнопке Печать панели инструментов или выберите команду Файл^Печать. Access не заботят деревья или стоимость бумаги, поэтому она весело создаст сотни страниц документации для базы данных. Если вам не нужны огромные стопки бумаги с описанием, сохраните отчет, чтобы можно было позже к нему вернуться. Для этого выберите из системного меню команду Файл^Сохранить как таблицу и придумайте имя для сохраняемой таблицы.
Глава 24. Анализатор данных: д-р Фрейд, д-р Ватсон и д-рДжекилл...
285
Рис. 24.5. На данной странице показаны некоторые связи между таблицами
Как и рассмотренный ранее анализатор таблиц, анализатор быстродействия также далек от совершенства. Но иногда им приходится пользоваться, а для этого требуется выполнить следующие действия. 1. Откройте файл базы данных, а затем из системного меню выберите команду СервисОАнализОБыстродействие (Tools'^ Analyzes Performance). Появится диалоговое окно Анализ быстродействия (Database Performance Analyzer). 2. Выберите объекты, которые хотите проанализировать, и щелкните на кнопке Далее. Рекомендуется выбрать вкладку Все объекты и щелкнуть на кнопке Выделить все. Диалоговое окно будет выглядеть аналогично изображенному на рис. 24.4. 3. После выполнения анализа (рис. 24.6) просмотрите полученный результат и прочтите сделанные комментарии. Если в базу данных были внесены какие-либо изменения, кнопка Оптимизировать (Optimize) станет активной. В противном случае вооружитесь ручкой и на листке бумаги выпишите все пожелания и идеи, возникшие у Access после анализе вашей базы данных. Перед тем как вносить какие-либо изменения, которые порекомендовала Access, посоветуйтесь со знакомым компьютерным гуру.
286
Часть V. Мастера, формы и другие таинственные средства
&" Анализ быстродействия Результаты анализа ? Приложение, сохраните е формате МОЕ. ? Таблица 'MSysAccourrts': установите связь с таблицей 'MSysGroups'
• | Оптимиэцхеать ,
Выделить все Снять выделение
Обозначения: i Примечания.
!
совет - . •
; Оптимизация улучшит работу объекта Запрос MSysGroupMembers1 и, возможно, других - объектов базы данных. I Создание связей между таблицами в базе данных дает большие преимущества. Для \ создания связей откройте окно базы данных и выберите в меню "Сервис* тманду "Схема \ данных'.
Рис. 24.6. Access высказывает свои пожелания по улучшению базы данных
Глава 24. Анализатор данных: д-р Фрейд, д-р Ватсон и д-р Джекилл...
287
Глава 25
Поговорим с компьютером главе... >
Что такое система распознавания речи
«•
> Установка системы распознавания речи >
Отправим Access в школу постановки голоса
>
Поговорим с Access
> Использование командного режима системы1 распознавания речи
ще совсем недавно попытка поговорить с компьютером привела бы окружающих в недоумение. Однако времена меняются. Теперь весь пакет приложений Office, в том числе и Access, оснащены встроенной системой распознавания речи Lernout & Hauspie (L & Н). Это значит, что теперь вы сможете подавать Access достаточное количество "олосовых команд и ожидать, что эти команды будут выполнены. Большинство пользователей считают систему распознавания речи в Access достаточно ограниченной. Однако, если в вашей базе данных имеется много текстовых полей или если у вас возникают проблемы при использовании клавиатуры, то возможность диктовки и средство распознавания речи Access окажут неоценимую услугу. В этой главе вы познакомитесь с принципом работы системы распознавания речи в нелокализованной версии Office и узнаете, как ею воспользоваться.
tncucoe сис*ием,а [нюгознавания Технология распознавания речи поражает пользователя открывающимися перед ним широкими возможностями. Компьютер "слушает" ваши команды, подаваемые через микрофон, и преобразовывает их в индивидуальные лексемы. Затем он преобразовывает эти лексемы в слова на основе стандартного словаря, "понимаемого" программным обеспечением. (Поэтому, если вы произнесли слово "гастроэнтеролог", компьютер вряд ли поймет его, ес№ только вы предварительно не установили медицинский словарь.) На практике все даже еще сложнее. Процесс распознавания речи осложняется тем, что у всех нас совершенно разная дикция и произношение. Кроме того, при работе в офисе часто возникают посторонние шумы, которые препятствуют нормальной диктовке. Пока что система распознавания речи далека от идеальной, и не стоит ожидать от нее очень точных результатов. Однако для людей, стра(ающих заболеваниями опорно-двигательной системы или имеющих другие физические недостатки, система распознавания речи окажет неоценимую услугу. Существуют два режима работы системы распознавания речи: режим диктовки v режим подачи команд голосом.
!
*/ Диктовка. Поместите курсор в какое-либо поле, например Фамилия клиента, и скажите "Смит". Возможность диктовки можно использовать практически везде, где требуется вводить текст.
Команды. Продиктуйте какую-либо команду (например, чтобы распечатать документ, продиктуйте команду Print).
Установка cuctfceMM [1аспозн,авсши& {гечи Естественно, ваш компьютер должен иметь возможность поддержки системы распознавания речи. Для этого Microsoft рекомендует следующую минимальную конфигурацию: •S высококачественный головной микрофон с регулировкой усиления (Microsoft рекомендует микрофоны с интерфейсом t/55); •S процессор с тактовой частотой 400 МГц или выше; •S 128 Мбайт памяти; •S операционная система Windows 98, Windows NT 4.0 или последующие версии; •S обозреватель Microsoft Internet Explorer 5.0 или последующие версии. Основное из вышеупомянутых требований касается памяти. Я проверил работу системы распознавания речи на компьютере с процессором 350 МГц и памятью 256 Мбайт. В этом случае система работала хорошо. А вот на компьютерах с памятью 128 Мбайт (при этом на одном из них был установлен процессор 400 МГц, а на другом — 733 МГц) она работала значительно хуже. Ваши результаты могут не совпадать с моими. Естественно, при одновременном запуске нескольких программ производительность компьютера изменяется. Наверное, вы догадываетесь, что перед тем, как воспользоваться системой распознавания речи, ее необходимо установить. Но что для вас точно будет неожиданностью, так это то, что установка системы распознавания речи для Access производится из Microsoft Word. По каким-то непонятным причинам разработчики из Microsoft встроили распознавание речи в Word. Чтобы установить все компоненты, запустите Word 2003 и выберите из основного меню команду Tools1^Speech. Выполните все экранные инструкции, и вскоре ваш компьютер начнет понимать все, что вы скажете. Систему распознавания речи используют все приложения пакета Office, так что к счастью ее необходимо установить только один раз.
Access в uctcuM компановки
icaoca Чтобы эффективно пользоваться системой распознавания речи, необходимо, чтобы она узнавала подаваемые вами команды. К примеру, речь москвичей с растянутым звуком "а" сильно отличается от произношения жителей Вологды, Рязани или Прибалтики (которые вообще говорят по-русски с сильным акцентом). Процесс постановки голоса поможет компьютеру распознавать, каким образом вы произносите слова "привет" или "до свидания". Access автоматически перейдет в режим обучения при первой же попытке использовать систему распознавания речи. Если вы обнаружите, что компьютер вас не понимает, дайте ему еще пару уроков. Для этого выберите команду Training на панели инструментов Speech (которая открывается каждый раз при запуске системы распознавания речи). Чтобы научить Access распознавать вашу речь, выполните следующие действия.
Глава 25. Поговорим с компьютером
1. Наденьте головной микрофон и разместите его на расстоянии 2-3 см от своих губ. Не стоит размещать микрофон прямо напротив губ, так как при этом он будет регистрировать дыхательные звуки. Каждый раз при использовании системы распознавания речи размещайте микрофон в одном и том же месте. 2. Выберите команду Tools^Speech. Появится окно приветствия. 3. Чтобы установить оптимальную громкость звука в микрофоне, следуйте подсказкам и советам, появляющимся на экране. За короткое время Office установит громкость звука. Все, что вам понадобится сделать, — это прочитать несколько фраз. Теперь вы можете учить компьютер распознавать свой голос. 4. Зачитайте текст, который увидите на экране. Access контролирует этот процесс, выделяя понятые программе слова. Если слово не было понято, оно останется невыделенным. В этом случае повторите слово или фразу. По окончании процесса обучения распознаванию речи на экране появится диалоговое окно, в котором будет указан процент распознанных слов. Чем чаще вы будете пользоваться системой распознавания речи, тем лучше компьютер будет "понимать" вас. Если точность распознавания оказалась слишком низкой, вернитесь в режии обучения и продолжите упражнения по чтению. Таким образом, вы достаточно (>ыстро увеличите точность распознавания.
ЛоговоfiUM
с
Чтобы включить систему распознавания речи, из системного меню выберите команду Tools1* Speech. Микрофон можно включить, щелкнув на одноименной пиктограмме. При первом выборе команды Speech автоматически запускается режим обучения системы. Помимо распознавания речи, с панели языка можно получить доступ к нескольким альтернативным методам ввода данных. Например, если к вашему компьютеру подсоединен графический планшет, то на нем можно вручную (с помощью пера) написать текст, а затем преобразовать его в текстовые символы с помощью системы распознавания рукописного текста, имеющейся в пакете Office. i Существуют два режима работы системы распознавания речи: режим диктовки и режим подачи команд голосом. Важно понимать, в чем заключается разница между этими режимами. Предположим, вы произносите слово "open". Access воспримет этот слово по-разному в зависимости от того, работаете вы в режиме диктовки или в режиме подачи команд голосом. В режиме диктовки Access введет слово "open", а в режиме подачи команд откроет диалоговое окно для открытия файла. В следующих разделах будет подробно рассмотрен каждый из режимов.
290
Часть V. Мастера, формы и другие таинственные средства
Access, напиши мне письмо При работе в режиме диктовки слова, произносимые в микрофон, преобразуются в текстовые символы. Чтобы перейти в режим диктовки, выполните следующее. 1. Если вы работаете в режиме подачи команд голосом, щелкните на кнопке Dictation, расположенной на панели языка, или произнесите слово "Dictation ". На панели языка всегда показывается, в каком из двух режимов вы работаете в данный момент. i
2. Щелкните в поле, в которое хотите ввести текст, и начните говорить. Говорите нормальным голосом, четко выговаривая каждое слово, но не делая пауз между ними. Внимательно смотрите на панель языка, так как по ходу работы на ней могут отображаться различные справочные сообщения, советы или подсказки.
Чтобы выйти из режима диктовки, щелкните на кнопке Voice Command (Подача команд голосом) панели инструментов или произнесите "voice command". В качестве альтернативного варианта можно выключить микрофон, щелкнув на кнопке Microphone. При диктовке сложных слов можно перейти в режим произнесения слов по буквам. Для этого произнесите "spelling mode", обождите секунду, а затем произнесите нужное слово по буквам. В режим диктовки встроены некоторые специальные символы и цифры. Наиболее распространенные команды диктовки приведены в табл. 25.1.
Таблица 25.1. Некоторые команды режима диктовки, распознаваемые в Access Произносимые слова
Вставляемые символы
Dot или period (точка) At sign (символ @)
@
Comma (запятая)
'
Backslash (обратная косая черта)
\
Slash (косая черта)
/
Equals (равно) Plus или Plus sign (плюс или знак плюс)
+
New line (новая строка)
Знак абзаца
New paragraph (новый абзац)
Два знака абзаца
1
One (числа меньше 20 вставляются прописью)
21
21 (числа больше 20 вставляются в виде цифр) Полный список команд, доступных в режиме диктовки, указан в файле справки, в подразделе Возможности, предоставляемые средством распознавания речи.
Глава 25. Поговорим с компьютером
Исправление ошибок, допущенных при диктовке Допущенные ошибки можно исправить в любой момент при диктовке. Однако рекомендуется все же завершить диктовку, а затем уже переходить к исправлению ошибок. Ни самом деле все зависит от вас. Закончив диктовку, некоторые пользователи не могут вспомнить, что они говорили в начале. Поэкспериментируйте, и вы поймете, как лучше поступать в дальнейшем. Итак, исправить ошибки можно тремя способами. Ввод с клавиатуры. Выделите ошибку и исправьте ее с клавиатуры. Э"от способ часто самый простой. Повторная диктовка. Выделите неправильный текст с помощью мыши или клавиатуры и повторно продиктуйте правильный вариант. Если вы решили воспользоваться этим способом, лучше всего будет выделить все предложение, в котором была допущена ошибка. Дело в том, что при диктовке нескольких слов точность распознавания повышается. Диктовка по буквам. Выделите ошибку с помощью мыши или клавиатуры, произнесите "spelling mode", выждите секунду и произнесите слово по буквам с небольшой паузой между ними. Закончив вносить исправления, перейдите в режим диктовки.
Использование режима подачи команд голосом
.'
При работе в режиме подачи команд Access воспринимает произносимые слова кг к руководство к действию. Например, если вы откроете таблицу и скажете "print", Access немедленно отправит эту таблицу на печать. Если вы работаете в режиме диктовки, перейдите в режим подачи команд голосом произнеся "voice command" (либо щелкните на кнопке Voice Command панели языка). Рассмотрим основные инструкции по работе в режиме подачи команд голосом. S Для указания какой-либо кнопки, расположенной на панели инструментов, произнесите ее название, например Save или Spelling. Если вы не зна;те имя данной кнопки, наведите на нее курсор и прочитайте экранную подсказку. •S Для открытия меню произнесите его название. Например, после произнесения слова "file''' откроется раскрывающееся меню File. Если после этого произнести "insert", откроется раскрывающееся меню Insert. •S Чтобы выбрать элемент меню, произнесите его название, когда открыт о соответствующее меню. Например, чтобы открыть окно About, произнесите "help" (откроется меню Help), а затем произнесите "about Microsoft Access". •S Чтобы щелкнуть на кнопке, произнесите ее имя. Например, произнеся "okay", вы активизируете кнопку ОК. При работе с диалоговыми окнами произнесите название элемента, с которым хотите работать. Рассмотрим в качестве примера диалоговое окно Options. Чтобы выбрать вкладку Spelling, произнесите ее название. Чтобы установить флажок в поле какой-либо опции, произнесите ее название (например, "Suggest from main dictionary only"). Если вы произнесете название*этого элемента еще раз, то флажок с данного поля будет снят. Чтобы получить доступ к раскрывающемуся списку, также произнесите его название.
292
Часть V. Мастера, формы и другие таинственные средства
Как и при работе в режиме диктовки, Access распознает некоторые специфические команды. Наиболее распространенные из них указаны в табл. 25.2. /
Таблица 25.2. Некоторые команды, которые распознает Access Произносимые команды Left или Go left Right или Go right Page down Page Up Tab Delete Right-click Escape Return или Enter Space
Их действие Нажатие клавиши <стрелка влево Нажатие клавиши <стрелка вправо> Нажатие клавиши <Page Down> Нажатие клавиши <Раде Up> Нажатие клавиши <ТаЬ> Нажатие клавиши <Delete> Открытие контекстного меню Нажатие клавиши <Escape> Нажатие клавиши < Enter> Нажатие клавиши <пробел>
сис&емы распознавание Ниже приведены советы по повышению точности распознавания речи в Access. За более подробной информацией обратитесь к файлу справки или из меню Справка выберите элемент Office в Интернете. •S Работайте в спокойной обстановке. Если у вас в офисе шумно, Access будет пытаться распознавать не только вашу речь, но и все посторонние реплики ваших коллег. •/ Используйте высококачественный микрофон. Убедитесь, что в микрофоне имеется возможность настройки усиления и что он является однонаправленным ("слушает" только в одном направлении). S При каждой диктовке размещайте микрофон в одном и том же положении: на расстоянии двух-трех сантиметров от угла рта и не напротив рта, чтобы не дышать в микрофон. •S Используйте высококачественную звуковую карту. Если в микрофоне слышится шипение, то же самое "слышит" и Access. Постарайтесь разместить звуковую карту как можно дальше от источника питания. S Произносите фразы, не делая длинных пауз между словами. Слова произносите разборчиво. S Когда вы не диктуете, выключите микрофон. •S Настройте систему распознавания речи, читая ранее подготовленные тексты в режиме обучения. 1
S Добавляйте новые слова в словарь с помощью команды Tools ^ Add/Delete words. Введите новое слово с клавиатуры, а затем произнесите его.
Глава 25. Поговорим с компьютером
293
Часть VI
Великолепные десятки
VV
Mbl Hi OMjtHU&AtM КйМ^Ул&О UAU рА&ОМЫ.
ЛиилЬ бы k\pOilCtA
Перед вами — часть "Великолепные десятки", которой завершается бая книга серии ...для "чайников". В заключительной части этой книги содержатся советы, которые можно использовать сегодня, которые понадобятся вам завтра и которые могут указать более короткий и легкий путь при решении возникающих задач. Я старался включить всего понемногу для каждого из вас, так что читай-, те каждую главу очень внимательно, чтобы найти информацию, нужную именно вам.
Глава 26
Десять клавиш быстрого доступа, главе... >
Выделить целое поле — клавиша <F2>
>
Вставить текущую дату — <Ctrl+;>
>
Вставить текущее время — <Ctrl+:>
> Ввод последнего значения — <Ctrl+'> > Вставить разрыв строки без создания нового абзаца — <Ctrl+Enter> > Добавить новую запись — <CtrI++> > Удалить текущую запись — <Ctrl+-> >
Сохранить запись — <Shift+Enter>
> Отменить последнее изменение — <Ctrl+Z> > Открыть выбранный объект в режиме конструктора — <Ctrl+Enter>
з того факта, что операционная система Windows была задумана как среда с графическим пользовательским интерфейсом, вовсе не следует, что клавиатура вам больше не понадобится. На самом деле в Access предусмотрены некоторые клавиши и их комбинации, позволяющие ускорить работу. Естественно, доступны они только с клавиатуры. В этой главе описывается десять комбинаций клавиш, которые сделают вашу жизнь чуточку легче. Одни из них автоматически вводят данные, другие позволяют ускорить редактирование.
и&юе поле — клавиша Эта клавиша особенно полезна, когда нужно заменить длинный адрес или развернутое описание поля. Вместо того чтобы пытаться с помощью мыши выделить содержимое поля, нажмите клавишу <F2> и убедитесь, что все данные в поле уже выделены. Эта клавиша работает как в режиме таблицы, так и в режиме формы. .
/Занавшнь влекущую qatnif — Эта и следующая комбинация клавиш не только позволяют сэкономить время, но и повышают точность. При нажатии комбинации клавиш <Ctrl+;> вы будете застрахованы от ошибочного ввода неправильной даты (как по вашей вине, так и по вине клавиатуры). Чтобы правильно выполнить данную команду, сначала нажмите клавишу <Ctrl> и, удерживая ее, нажмите клавишу с символом точки с запятой. Эта комбинация клавиш работает как в режиме таблицы, так и в режиме формы.
Еще одна дань точности. Для того чтобы вставить текущее время, одновременно ьажмите клавиши <Ctrl> и <Shift> и, удерживая их, нажмите клавишу с символом двоеточия. Эта комбинация клавиш работает как в режиме таблицы, так и в режиме формы.
/Звод последнего значения, — При вводе данных часто приходится использовать одну и ту же информацию — например, для клиентов, проживающих в одном городе или одной стране. Вместо того чтобы вручную дублировать эту информацию, находясь в режиме таблицы или формы, нажмите комбинацию клавиш <Ctrl+'>. Это сочетание клавиш не угадывает ваши мысли, а просто определяет последнее значение, введенное в это поле в предыдущей записи, и повторяет его. Применяемся для любого поля.
/3ctfta£uriib fiasfttotf ctnfiotcu Яез создания, новою абзаца — <Ctrl+€nter> Когда кажется, что длинному текстовому полю или полю типал/емо нет конца, вставляйте между такими полями разделители строк. Они делают ваши данные более разборчивыми. Эта комбинация клавиш работает и в режиме таблицы, и в режиме формы. • > .'
2)о£ави1нь новую запись — <Ctrt+ + > Хотя указанная комбинация выглядит забавно, она незаменима при большом количестве правок. Возрастает и скорость работы, и точность, поскольку для вставки записей не требуется постоянно переключаться между мышью и клавиатурой. В отличие от комбинации клавиш <Ctrl+:>, которая описывалась ранее в этой главе, вам не нужно нажимать клавишу <Shift>, чтобы комбинация <CtrI++> сработала. Попробуйте.
^пекущую запись — У вас в таблице есть ненужные записи? Комбинация клавиш <Ctrl+-> без труда избавит вас от них. Как и родственная ей <Ctrl++>, эта комбинация работает как в режиме таблицы, так и в режиме формы.
запись — <Shlft+£nter> После длительной и трудоемкой правки сохраните запись, нажав комбинацию ьлавиш <Shift+Enter>. Это сигнализирует Access, что вы недаром трудились над данной записью.
298
Часть VI. Великолепные десятки
Профамма реагирует сразу и немедленно записывает изменения. Используйте эту комбинацию в режиме таблицы или в режиме формы. Она позволит сэкономить немало времени.
О/яменшнь последнее изменение — Эту комбинацию клавиш должен запомнить каждый. Учитывая склонность Access автоматически сохранять объекты всякий раз, стоит только вам отвлечься, это средство не раз выручит вас в трудной ситуации. Если вы допустили ошибку, не паникуйте — попробуйте нажать комбинацию клавиш <Ctrl+Z>. Она работает не только в Access, но и во многих других приложениях Windows.
вызванный оЗъемн Как это понимать? Разве комбинация клавиш <Ctrl+Enter> выполняет в Access две функции? Все верно. Когда вы редактируете таблицу в режиме таблицы или в режиме формы, <Ctrl+Enter> служит для вставки разделителя строк. Когда вы работаете в окне базы данных, используйте <Ctrl+Enter>, чтобы открыть предварительно выбранный объект в режиме конструктора. Пусть мышью пользуются обычные люди. Теперь вы знаете больше их и можете ускорить работу с помощью клавиатуры. '
Глава 26. Десять клавиш быстрого доступа
299
Глава 27
Десять наиболее распространенных затруднений и способы их преодоления > Вы ввели число 73,725, а оно само изменилось на 74 > Что делать, если вы получили неверный ответ на свой запрос > Стоило вам отвернуться, и запись исчезла > Выражение, которому не суждено быть выполненным >
Сегодня — здесь, а завтра — там
> Невозможно связать данные с таблицей dBASE > Невозможно обновить связанные таблицы dBase или Paradox > Повреждение ключа при импортировании таблицы >
Программа все равно не запускается
> Мастер не может выйти из своей мастерской
*7Т if оскольку существуют компьютеры,
значит, существует и программное обеспече*^ С* ние, так как без него компьютеры функционировать не могут. А там, где ест ь программное обеспечение, там обязательно возникают проблемы, так как программное обеспечение, при работе с которым не возникает проблем, очевидно, является устаревшим и нуждается в замене. Проблемы являются частью нашей жизни. Если они возникают при работе с вашими драгоценными данными, это действительно неприятно. В этой главе рассматривается только десять проблем, с которыми можно столкнуться при работе в Access. Если возникший у рас вопрос попал в этот перечень, попробуйте воспользоваться предложенным решением. Если же у вас более серьезные затруднения, обратитесь за помощью к главе 3. Желаю вам удачи!
/Зы ввели число 73,725, а оно изменилось на 74 Автоматическое округление может значительно расстроить ваши планы, но эта проблема легко решается. По умолчанию Access рассматривает все числовые поля как данные типа длинное целое, т.е. числа без десятичной точки. Необходимо изменить установку в группе Размер поля на значение Одинарное с плавающей точкой. Для разрешения проблемы откройте таблицу в режиме конструктора, а затем щелкните на требуемом поле. В нижней части окна конструктора в области Свойства поля (Properties),
расположенной во вкладке Общие (General), щелкните на поле Размер поля (Field Size). Из раскрывающегося списка выберите опцию Одинарное с плавающей точкой (Single). Сохраните таблицу, и (ура!) проблема с автоматическим округлением решена.
уелайгь, если вы мщчили неверный ойгвейг на свой запрос Время от времени запросы возвращают в высшей степени странные результаты. Что же делать в этом случае? Данная проблема в большинстве случаев возникает по одной из следующих причин. Введен неправильный критерий отбора. Одной неправильно нажатой клавиши достаточно, чтобы Access обратилась не к тем данным. Внимательно проверьте критерий отбора и попробуйте запустить запрос еще раз. */
Неправильная логика выбора. Например, в главе 13 описывалась работа с логическими операторами AND и OR. Несмотря на это, многие пользователи часто путаются при их использовании. Поэтому, если в результате выполнения запроса были получены необычные результаты, перепроверьте заданный критерий поиска и обратитесь к главе 11, в которой была описана работа в режиме конструктора запросов. Таблицы связаны неправильно или не связаны вообще. Если в результате выполнения запроса, в котором использовались данные из нескольких таблиц, было получено слишком много записей, то наиболее вероятная причина кроется в неправильных связях между этими таблицами. Вернитесь к главе 12, в которой эта тема была рассмотрена более подробно. Таблицы связаны правильно, но Access не может найти подходящих соответствий между ними. Если в результате выполнения запроса, в котором использовались данные из нескольких таблиц, было получено записей меньше, чем ожидалось, то, скорее всего, это произошло по вышеупомянутой причине. Например, если в результате запроса вы хотели получить список всех клиентов и их заказов, то по умолчанию вы увидите только клиентов, разместивших заказы. Чтобы увидеть список всех клиентов, независимо от того, размещали они заказы или нет, выполните следующие действия.
1. В режиме конструктора запросов щелкните правой кнопкой мыши на линии связи между таблицами и из контекстного меню выберите элемент Параметры объединения (Join Properties). Если вам требуется освежить свои знания о связывании таблиц в режиме конструктора запросов, обратитесь к главе 12. 2. Изучите предложенные типы связей и выберите ту из них, которая звучит приблизительно следующим образом: Объединение всех записей из "КЛИЕНТЫ" и только тех записей из "ЗАКАЗЫ", в которых связанные поля совпадают (Include ALL records from 'Customers' and only those records from 'Orders' where the joined fields are equal).
Название данной опции может меняться в зависимости от названия выбранных таблиц. Говоря техническим языком, такая связь называется внешней. 3. Щелкните на кнопке ОК и выполните запрос.
Глава 27. Десять наиболее распространенных затруднений и способы...
301
Теперь вы должны получить все записи из таблицы Клиенты, независимо от того, имеются ли для них соответствующие записи в таблице Заказы. Если вы создали сложный запрос, в который входят вычисляемые погя, то в этом случае наиболее распространенной ошибкой будет попытка создания такого запроса за один раз. В таком случае запрос следует разбить на нес колько частей и убедиться в том, что каждая из них работает правильно. (Подобно этот способ описан в главе 15.)
Не забудьте, что для проведения вычислений и другой обработки данных можно воспользоваться инструментом Построитель выражений (Expression Burder). А теперь дадим самый лучший совет. Если с вашим запросом случилась какая-то неприятность, то, независимо от того, что вы с ним делали, встаньте со стула, сделайте гл/бокий вдох и во всю силу закричите "Спасайте!" Если это не поможет, обратитесь к знакомому специалисту. Вне всякого сомнения, если он посмотрит на ваш запрос, то в течение нескольких минут сможет определить, что именно было сделано неправильно. После 20-летней раооты в этой области я могу точно сказать, что когда дело доходит до составления запросов, мы часто не замечаем собственных ошибок.
вам
oin£efiMjtfibcsi,
и запись исчезла "Она только что была здесь!" Безусловно, ключевым словом здесь является глагол была, который указывает на то, что записи уже нет. Ответ на вопрос, куда подевалась запись, может дать только компьютер, а машины, подчиняясь своему неведомому кодексу, не раскрывают такие тайны. Не впадайте в панику. Паникующие люди порой проделывают странные в :щи, а вам в ближайшие минуты потребуется ясный разум. Вы успеете это сделать после того, как осядет пыль. Перед тем как что-либо сделать, используйте комбинацию клавиш <CtrI+Z> (для о гмены последнего изменения). Если запись появилась снова:— это как раз то, что и было ьужно. После этого можете закрыть таблицу и идти паниковать в комнату для отдыха. Если использование команды отмены ни к чему не привело, считайте, что неприятностей у вас прибавилось. В этой ситуации самое лучшее решение — воспользоваться резервной копией файла базы данных. Но это годится только в том случае, если вы сделали копию базы данных до того, как все произошло. Если имеется распечатанная копия данных, вы юегда можете ввести их в базу вручную. Однако, если у вас была одна-единственная копия записи, скажите ей "до свидания", поскольку она уже утеряна навсегда. Пожалуйста, повторяю, пожалуйста, регулярно создавайте резервные копии своей базы данных. Никогда нельзя точно знать, когда произойдет неприятность.
302
Часть VI. Великолепные десятки
fcotHOfiOMi/ не суждено выполненным Логические выражения — это мои любимые объекты в Access. Но, если их применять неправильно, могут произойти неприятности. Особое беспокойство вызывают некорректно сформулированные выражения. Пусть комулибо (но, конечно, не вам и не мне) потребовались записи со значениями, находящимися в диапазоне 0-100, и он создал выражение вида <0 And >100. К сожалению, такое условие не будет выполняться никогда. В результате неправильного применения оператора сформулировано условие, требующее, чтобы элементы были меньше 0 и больше 100 одновременно. А насколько я знаю математику, такие числа встречаются не часто. Не допускайте таких ситуаций. Сначала напишите условие на бумаге и проверьте его на нескольких данных. Постарайтесь использовать разные варианты данных (как правильные, так и неправильные), чтобы убедиться, что условие выполняется именно так, как и должно быть.
Сегодня — здесь, a sauinfia — /нам, Благодаря новым, в целом замечательным, а в некоторых местах — несколько неудачным свойствам программ из семейства Office, вы не увидите на экране всех имеющихся в распоряжении Access команд меню. По умолчанию открываются только наиболее часто используемые меню плюс небольшой треугольный указатель, расположенный в самом низу. (Утешайте себя тем, что это должно было облегчить вам жизнь.) Этот указатель — ключик к открытию полного меню. Если вы щелкнете на нем, на экране гордо появится полное меню во всей своей красе. После этого можете воспользоваться любой командой. После этого Access автоматически добавит эту команду в сокращенную версию меню.
Невозможно свазсиКь устные с В данном случае основной причиной становится, как правило, использование неправильной версии dBase. Если, к примеру, не работает версия dBase 5, попробуйте воспользоваться dBase IV или dBase III.
Глава 27. Десять наиболее распространенных затруднений и способы...
303
Невозможно о£новий1ь связанные 1 dBase иии Paradox Если вы не можете обновить связанную таблицу dBase или Paradox, лучше всего обратиться за помощью к специалисту. Драйверы, поставляемые по умолчанию с Access, позволяют осуществлять только чтение таблиц dBase или Paradox. Для обновления упомянутых таблиц на компьютере необходимо установить систему баз данных фирмы Borland (Borland Database Engine). На момент написания этой книги наиболее полную информацию можно было найти на странице поддержки BDE www.bdesupport.com. Там же можно по; учить соответствующий драйвер, полезные справочные документы и пообщаться с разработчиками. Если вам необходима более подробная информация, обратитесь к базе Microsoft ( h t t p : / / search.support.microsoft.com) и в качестве темы поиска введите Boiland Database Engine.
Лов/гежуение ключа nfiu При повреждении ключа в процессе импортирования таблицы Access прилагает вес усилия, чтобы справиться с ситуацией, однако в импортируемых данных существуют одинаковые значения ключевого поля. Поскольку Access не может самостоятельно изменить эти данные, вам необходимо самим внести исправления. Возвратитесь в исходную программу найдите испорченные значения и устраните повторяющиеся значения. Потом снова попробуйте импортировать таблицу.
все [ювно не защскае&сл После того как вы выбрали из меню Пуск пункт Access, на экране, как и положею, не спеша появляется заставка. Неожиданно может ворваться небольшое окно с предупреждением, что Windows Не удается найти файл ODD_ESOTERIC_FILE.MDB. Заставка Access исчезает, и вы остаетесь один на один с рабочим столом Windows. Время от времени такое действительно случается. Это оборотная сторона медали работы с любым компьютером. В этом случае я говорю себе: Это всего лишь файл. А файлы имеют обыкновение портиться. Поскольку сообщение об ошибке любезно указало вам имя файла (что случается далеко не всегда), можно для его поиска воспользоваться программой Проводник. Если файл нах< >дится на месте, значит, он наверняка поврежден. Если файл отсутствует, по крайней мер'), вы знаете, почему Access не может его найти. В любом случае необходимо заменить его на файл с установочных программных дисков Access. Если у вас есть копия Access на компакт-диске, то все очень просто. Вставьте компакт-диск в дисковод CD-ROM, найдите нужный файл и скопируйте его в папку, где находится Access. Если Access обитает в джунглях вашей корпоративной сети, обратитесь к администратору. И к вам наверняка придут на помощь. Пожелайте ему удачи и сделайте перерыв, чтобы выпить чашечку кофе.
304
Часть VI. Великолепные десятки
Macfnefi не Mootceril вмй&и из своей Moaneh&cou § Существует и другая версия предыдущей проблемы, в случае если Access не хочет запускаться. На сей раз она заключена в отдельно взятом мастере. Ее решение точно такое же: найдите отсутствующий файл, замените его файлом с установочных дисков, а затем посмотрите, что из этого получится. Если ничего не выйдет (а такое вполне возможно), приглашайте для оказания помощи уже знакомого специалиста. По умолчанию диалоговые окна и меню Access показывают все возможные опции, а не только те, что установлены на вашем компьютере. Это означает, что время от времени Access будет предупреждать, что информация о выбранном вами пункте меню отсутствует. В этом случае вам придется установить его самостоятельно или (если вы работаете в корпоративной среде) связаться с администратором.
1
•
•
••
.
•
•
т. .'
Глава 27. Десять наиболее распространенных затруднений и способы...
305
Глава 28
Десять советов от знатоков баз данных гмгбе... "> > > > > > > > >• >
Документирование как неотъемлемая часть жизни Не делайте поля слишком большими Числовые поля — только для чисел Правильное логическое выражение обеспечивает корректность данных Используйте понятные имена Будьте внимательны при удалении Храните резервные копии Сначала хорошенько подумайте, а потом подумайте еще раз Организованность и простота — залог успеха Когда обратиться за помощью
f^f равится вам это или нет, но где бы вы ни оказались, всегда найдется кто-нибудь, кто f 9* разбирается в технике лучше вас. Иногда эти люди выглядят забавно, часто действуют непредсказуемо и могут казаться совершенно оторванными от действительности. Однако в моменты просветления эти люди могут дать массу ценных советов. В этой главе приводятся именно такие идеи, которые я кропотливо собирал годами. Некоторые из них носят конкретный характер, в то время как другие — явно выраженный философский. Работать с техническими специалистами нелегко (но вы об этом уже знаете и сами).
tcatc нео&ъемлемаа чаань жизни Да, это причиняет страдания. Да, это вызывает беспокойство. Да, я сам испытал это на себе (немного пугает, когда кто-то прислушивается к своим собственным советам). Когда вы создаете базу данных, убедитесь, что задокументировали каждую мелочь. Вот краткий перечень таких мелочей. Общая информация о базе данных, включая расположение файлов, назначение базы и краткое описание ее работы. Структура таблиц, включая имена полей, их размеры, содержимое и примеры. Если некоторые данные поступают из скрытых или временных источников данных, это следует указать в документации. Имена отчетов, комментарии к отчетам и перечень лиц, кому передаются напечатанные отчеты. Если перед выполнением отчета необходимо выполнить некоторые запросы, задокументируйте этот процесс (а лучше обратитесь
за помощью к специалисту, чтобы автоматизировать весь процесс). Документирование перечня лиц, которым передаются отчеты, особенно важно. Не забудьте указать конкретное лицо и его должность. •S
Запросы и логика. Для каждого запроса запишите подробное объяснение его назначения, особенно если он использует несколько таблиц или другие источники информации (например, таблицы SQL).
•S Ответьте на вопрос "Почему?" При документировании базы данных сфокусируйте свое внимание на том, почему база ицеет именно такую структуру? Почему в запросах используются именно данные таблицы? Почему отчеты предназначены именно для указанных лиц? Если вы работаете в корпоративной среде, то, вероятнее всего, знаете ответы на эти вопросы. Однако подстраховаться никогда не помешает. */
Разнообразные детали. Укажите информацию, такую как график составления резервных копий, места, где они будут храниться (вы ведь создаете резервные копии, правда^ и как поступать в случае поломки компьютера. Если ваша база данных выполняет жизненно важную функцию, например бухгалтерский учет, инвентаризацию, сбор статистики о продажах или поставляемых товарах, убедитесь, что имеется альтернативный вариант выполнения такой процедуры, который поможет продолжить вашу деятельность, даже если компьютер вдруг выйдет из строя. Не забудьте задокументировать и этот процесс.
Если вам необходима помощь по какому-либо из этих пунктов, обратитесь к кому-нибудь! Будете ли вы надоедать кому-нибудь из отдела информационных технологий или наймете профессионала, но добейтесь помощи. Считайте свою документацию страховкой — а ведь без нее никуда не денешься. Каждые несколько месяцев делайте обзор документации, чтобы выяснить, не пришло ли время для обновления. И помните — эта процедура имеет смысл только в том случае, если она проводится регулярно, и ее назначение и месторасположение известны не только вам, но и, например, вашему коллеге. К тому же желательно иметь распечатанный вариант. .,
Не уелаййге шля слииисом, Яолыиими При создании таблиц тщательно подбирайте размер текстовых полей. По умолчанию Access устанавливает размер текстовых полей равным 50 символам. Это очень щедрый жест, 'особенно если поле предназначено для хранения какого-нибудь двухбуквенного кода. Разумеется, 48 символов пробела — это не так уж и много, но если это число умножить на сто тысяч адресов, то получится около 4,8 Мбайт напрасно используемого пространства. Настроить размер поля можно в строке Размер поля (Field Size), которая находится на вкладке Общие (General) окна конструктора таблиц.
Числовые поил — только для чисел Используйте числовые поля только для чисел, а не для текста, который выглядит как число. Компьютер различает почтовый индекс 47201 и число 47201. Почтовый индекс хранится
Глава 28. Десять советов от знатоков баз данных
307
как последовательность из пяти символов, каждый из которых является цифрой. Но шсло хранится действительно как число. Над ним можно совершать различные математические действия (попробуйте-ка проделать это с почтовыми индексами). Если при выборе типа поля вы столкнетесь с числовыми значениями, задайте себе вопрос: будете ли вы когда-нибудь выполнять математические операции над содержимым этого лоля? Если да, используйте числовой тип, в противном случае — текстовый.
Л/ювильное логическое выражение Логические выражения наряду с масками препятствуют проникновению в таблицу некорректных данных. Они просты при создании и установке и к тому же всегда бдительно чесут службу (утомившись, вы всегда можете допустить ошибку). Если вы еще не пробовали использовать логические выражения для защиты целостности базы данных, вернитесь к п аве 7 и оцените их возможности.
Ucnoj,b3ifutfie по пленные имена При построении таблицы или создании базы данных хорошо продумайте имена полей, таблиц, запросов и других объектов. Сможете ли вы вспомнить, что они означают, чере в три месяца? А через шесть? Достаточно ли информации они несут, чтобы потом кто-то другой, взглянув на таблицу (когда благодаря знанию Access вас повысят), мог понять, что они эзначают. Сейчас операционная система Windows поддерживает длинные имена файлов, поз тому можете смело использовать их. Конечно, вас не должно заносить, но называть файл ОЗК1бдв5 непростительно. Название Кв1 2003 Бюджет Версия 5 выглядит намного понятнее.
записи Во время удаления записей из таблицы дважды убедитесь, что вы удаляете именно п е записи, которые нужно. Даже после этого вы все еще можете нажать комбинацию кл.шиш <Ctrl+Z> и восстановить удаленную запись. К чему все эти проверки и перепроверки? Дело в том, что после того, как вы уда-v. лите запись и выполните какое-либо другое действие в таблице, Access на1- исто забывает содержание вашей старой записи. Она исчезает, как будто и не существовала вовсе. Будет жаль, если окажется, что запись имела важное значение и е; резервная копия не сохранилась.
копии Ничто не заменит резервной копии данных, особенно если данные имеют жизненно важное значение для вашей компании. Кроме того, помните, что на случай непредвиденны:: ситуаций хранить их нужно в другом месте. Не верите? Тогда пусть в вашей голове пром( лькнет фраза "Никаких квартальных премий". Ну, как вы теперь относитесь к копиям?
308
Часть VI. Великолепные деситки
Сначала а полном, noqtfMautfle еще /газ Применяйте это правило к любому действию в Access, которое связано со словами удалить или изменить. Всегда хорошенько обдумайте то, что собираетесь делать. Программное обеспечение намного облегчает управление большим числом данных, но оно также дает в руки инструменты, которые могут нанести невиданный ущерб.
и залог успеха Несмотря на то что на первый взгляд эти два совета могут показаться разными, они выражают одно и то же: "каждому элементу — свое место" и "мой запрос выполняется быстрее вашего". Если ваше рабочее место (компьютер) будет содержаться в порядке, в нужную минуту все инструменты окажутся под рукой. Дополните это удобным креслом, дистанционным управлением, и вам вообще не придется покидать офис. Однако, с другой стороны, с этим можно и переборщить. Умерьте свой пыл и желание сделать все как можно быстрее. Ограничьте на своем компьютере количество используемых папок: пять уровней — это более чем достаточно. Если их будет больше, ваша громоздкая система организации снизит производительность (а это немногим придется по душе).
odfiaiHUiHbcsi за помощью Если у вас возникли трудности, подавите свое эго и попросите о помощи. Нет ничего постыдного в том, чтобы сказать: "Я не знаю". Это особенно важно, когда вы совершенно запутаетесь в тысячах записей базы данных. Незначительные на первый взгляд ошибки могут впоследствии привести к катастрофическим последствиям, так что обращайтесь за помощью, пока не поздно!
Глава 28. Десять советов от знатоков баз данных
309
Предметный указатель A Sum, 174
ActiveX, 255
w
С World Wide Web, 255
COM, 255 Count, 174
D
X XML, 280
dBASE, 276 DNA, 255
FoxPro, 276
H HTML, 280
IntelliMouse, 91 Internet, 255 Internet Explorer, 256
Автоотчет, 199 Автоотчет в столбец, 200 Автоформа, 265; 271 Автоформат, 234 Альбомная ориентация, 206 Анализатор, 281 Анализатор быстродействия, 286 Архивариус, 285
База данных, 25 База данных Access, 55
В Lernout & Hauspie (L & H), 288
M Microsoft Access 2003, 23 msaccess.exe, 23
Вдавленное оформление, 232 Версия, 24 Верхний колонтитул, 225 Верхний колонтитул группы, 241 Внешний ключ, 77 Выбранные поля, 152 Высота строк, 111 Вычисляемое поле, 179
О OLE, 238; 255 OLE (Object Linking and Embedding), 57
Paradox, 277
Гиперссылка, 57; 256 Гистограммы, 214 Главное меню, 37 График, 214 Группирование данных, 218 Группировка, 172 Групповая операция, 169
д Данные, 54 Дата/время, 99 Диаграмма, 214 Диктовка, 288 Длинное целое, 98 Добавление записи к таблице, 89 Добавление нового поля, 121 Документация, 284 Документирование базы данных, 284 Доступные поля, 152 Дочерняя таблица, 79
Завершение работы, 35 Заголовок отчета, 225 Закрепление столбцов, 117 Записи области данных, 219 Записи таблицы, 40 Запись, 55 Запрос, 42 Запрос на выборку, 148 Запрос на обновление записей, 193 Запрос на удаление, 191 Запуск запроса, 162 •
И Изменение данных, 31 Изменить фильтр, 138 Импорт, 275 Имя поля, 40 Индекс, 83 Индексированное поле, 83 Интервал по вертикали, 236 Интервал по горизонтали, 236 Интервал столбцов, 207 Интервал строк, 207 Исключить выделенное, 141 Исправление ошибок, допущенных при диктовке, 292 Итоги, 158 1
К Ключевое поле, 60; 77 Книжная ориентация, 206 Кнопка Пуск, 23 Кнопка системного меню, 36
Предметный указатель
У
Кнопки выравнивания, 232 Кнопочная панель, 28; 39 Кнопочная форма, 87 Кольцевые диаграммы, 214 Команда Tools^Speech, 290 Вид1*Групповые операции, 171 Вид^Конструктор, 162 Вид'ФСортировка и группировка, 24*3 Вид^Число страниц, 203 Вставка1* Дата и время, 250 Вставка^Жовая запись, 89 Вставка1* Номера страниц, 250 Вставка^Строки, 121 Записи^Фильтр^Изменить фильтр, 138 Записи^Фильтр1*Расширенный фильтр, 145 Запрос1* Запуск, 162 Запрос1* Удаление, 192 Правка^Восстановить свойство, 227 Правка^Заменить, 189 Правка^НаЙти, 132 Правка^Отменить ввод, 90 Правка^Отменить запись, 31 Правка^Отменить сдвиг, 229 Правка^Отменить удаление, 124 Правка1* Удалить запись, 90 Правка1*Удалить строки, 124 Связи1*Добавить таблицу, 79 Сервис1* Анализ1* Архивариус, 285 Сервис1* Анализ^Быстродействие, 286 Сервис1*Анализ1*Таблица, 281 Сервис"*Связи с Office, 238 Сервис^Схема данных, 79 Файл^Внешние данные1*Импорт, 277 Файл^Выход, 35 Файл^Параметры страницы, 205 Файл^Сохранить, 74 Файл^Экспорт, 263 Фильтр"*Применить фильтр, 146 Формат^Освободить все столбцы, 118 Формат^Отобразить столбцы, 116 ФорматОПривязать к сетке, 235 Команды, 289 Конструктор, 62; 94; 121; 162 Конструктор форм, 272 Контекстно-зависимое меню, 44 Критерий запроса, 42
Л Лексемы, 288 Ленточный автоотчет, 199
311
Ленточный отчет, 239 Линейчатые диаграммы, 214
м Макет столбца, 207 Маркеры, 224 Маркеры на границах поля, 230 Маска ввода, 95; 101 Мастер запросов, 155 Мастер маски ввода, 102 Мастер наклеек, 209 Мастер простых запросов, 152 Мастер страниц, 260 Мастер форм, 265 Микрофон, 290 Множественный критерий, 165
н Навигационные кнопки, 40 Накопитель на магнитной ленте, 34 Нижний колонтитул, 226 Нижний колонтитул группы, 241 Номер страниц, 250
О Обеспечение целостности данных, 80 Область группировки записей, 241 Область данных, 225 Область примечаний, 226 Объект, 27; 38 Объект OLE, 57 Обычное оформление, 232 Одинарное с плавающей точкой, 98 Окно Анализ быстродействия, 286 Анализ таблиц, 282 Архивариус, 285 базы данных, 38 базы данных Access, 36 Вставка таблицы, 189 Добавление таблицы, 79 Запрос на выборку, 149 запроса, 42 Изменение гиперссылки, 258 Изменение связей, 80 Итоги, 158 мастера таблиц, 68 Новая форма, 266 Открытие файла базы данных, 26; 86
312
Параметры объединения, 177 Параметры страницы, 205 Поиск и замена, 29; 132; 189 Последовательность перехода, 274 Построитель выражений, 186 Результаты поиска, 24 Создание масок ввода, 102 Создание наклеек. 210 Создание простых запросов, 152; 157 Создание файла, 63 Сортировка и группировка, 242 Схема данных, 62; 79 Файл новой базы данных, 64 Фильтр, 145 Экспорт объекта, 279 Оператор AND, 163 Оператор BETWEEN, 165 Оператор OR, 163 Ориентация страницы, 206 Открытие файла, 26 Открыть базу данных, 85 Отчет в столбец, 239 Оформление, 231 Оформление с тенью, 232
п Панель задач, 38 Панель инструментов, 37; 43 Параметры сетки, 207 Параметры страницы, 205 Первичный ключ, 75 Переименование поля, 125 Перемещение по таблице, 108 Перемещение элементов отчета, 229 Печать, 33 Поиск данных, 131 Поиск записи, 29 Поле, 54
Поле счетчика, 89 Полоса прокрутки, 40 Поля, 205 Поля новой таблицы, 69 Помощник, 38; 48 Порядок сортировки, 219 Последовательность перехода, 273 Построитель выражений, 186; 302 Почтовые наклейки, 209; 210 Предварительный просмотр, 202; 234 Привязка к сетке, 236 Применение фильтра, 146 Приподнятое оформление, 231
Предметный указатель
Прямоугольник, 237 Пузырьковые диаграммы, 214
Размер столбца, 207 Размещение данных в Web, 259 Разрыв страницы, 237 Расширенный фильтр, 144 Режим конструктора отчета, 223 Режим конструктора форм, 272 Режим обучения, 289 Режим таблицы, 104 Резервная копия, 34 Результат поиска, 47 Рельефное оформление, 232 Реляционная база данных, 59 Реорганизация столбцов, 113 Родительская таблица, 79
Таблица, 28; 32; 55 Таблица данных, 40 Тип данных, 122 Тип запроса, 191 Тип поля, 54 Тип файла, 277 Толщина линии/границы, 231 Точечные диаграммы, 214
Удаление поля, 123 Условие, 175 Условие на значение, 95 Условие отбора, 146 Условие проверки значения, 106 Утопленное оформление, 231
Ф Сбор данных, 142 Свободная рамка объекта, 237 Сводная диаграмма, 269 Сводная таблица, 269 Свойства поля, 95 Связывание и внедрение объектов, 238 Система помощи, 46 Служебные кнопки, 37 Снять закрепление, 117 Совпадение, 134 Создание таблицы, 68 Создать ярлык, 24 Сокрытие столбца, 115 Сообщение об ошибке, 95 Сортировка по возрастанию, 135 Сортировка по убыванию, 135 Составной ключ, 76 Сохранить как запрос, 140 Столбец, 55 Страница целиком, 203 Страницы доступа к данным, 260 Строка, 55 Строка заголовка, 36; 42 Строка состояния, 38 Структура, 218 Схема данных, 79 Счетчик, 76
Предметный указатель
Файл базы данных, 55 Фильтр, 136; 143 Фильтр по выделенному, 137; 141 Фильтрация записей, 136 Форма, 41 Формат поля, 95; 97 Форматирование, 96 Форматы файлов, 276 Формы, 264
Ц Цвет заливки/фона, 227 Цвет линии/границы, 231 Цвет текста, 227 Целостность данных, 193
ш Шаблоны баз данных, 63 Ширина столбца, 111
Эффекты оформления, 273
313
- Научно-популярное издание Джон Кауфельд
Access 2003 для "чайников" В издании использованы карикатуры американского художника Рима Теннанта Литературный редактор И.А. Попова Верстка А.Н. Полинчик Художественный редактор Е.П. Дынник
Корректоры З.В. Александрова, Л.А. Гордиенко, О. В. Мишутина, Л.В. Чернокозинская . Издательский дом "Вильяме". 101509, Москва, ул. Лесная, д. 43, стр. 1. Изд. лиц. ЛР № 090230 от 23.06.99 Госкомитета РФ по печати. Подписано в печать 25.04.2004. Формат 70X100/16. Гарнитура Times. Печать офсетная. Усл. печ. л. 25,8. Уч.-изд. л. 19,4. Тираж 5000 экз. Заказ № 2687.
Отпечатано с диапозитивов в ФГУП "Печатный двор" Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 197110, Санкт-Петербург, Чкаловский пр., 15.
BESTSELUNG
BOOK
SERIES
Панель инструментов База данных
Строка меню
Строка состояния
Окно базы данных
Мастер ответов
Помощник
Жилы псией Текстовое Memo Числовое Счетчик Денежный Дата/время Да/Нет Гиперссылка Объект OLE
Любая текстовая информация (буквы, цифры, а также и буквы и цифры) Большое количество текстовой информации (например, описание товара или отчет) Любые числа, предназначенные для вычислений Автоматически присваиваемый уникальный код для каждой записи Числа и символы, отображающие валюты разных стран Содержит дату, время или и то и другое Бинарные парные значения типа Да/Нет, Истина/Ложь, Мужской/Женский Адреса Web или внутренней сети организации Очень сложные объекты, которые могут сделать почти все, что угодно
ттм
Access 20O3
//тм
BESTSELUNG
BOOK
SERIES
Схема данных
КолГ Юстаещ л | ||КедТ«>ара "' Название ^'| LJiMapKa Обращаться! j £|Н|КодПос Должность :*• | г-|;КодТипл
КодЗакл» КодКлиента £»;]
|КодТавара |Цеиа
:
|КлдЮиенга| ] Название ;; i Обращаться! £ Должность i | Адрес ! Город i Область [Индекс ';•*
ДатаРазмещ' ДатаНазначе ДатаИспол«1а$
КодТта <атегория Описание JSiii |Должность
*•
. ;|: Код (спйе нта 1 Название '"'•"'• Обращаться к \ Должность :"~Т] -""..: • ' • ' •*? -;ALFKI Alfreds Futterkiste Maria Anders Представитель • Obere Str. 57 ; | | ; J_ Код заказа! Сотрудник .: -j .Дата размещения Дата назначения] Дата исполнения j Доставка | Стоимос'; •;;: ЩЩ Воронова. Дарья i 13-10-1997; 24-11-1997; 21-10-1997; Ространс ; 10952 Белова, Мария 16-03H998l ^ЖЙ1998! 11'^4-Ш-1^|Рост^анс'7 T.~'.. vi 09-04-1998; 07-05-1998; 13-04-1 998; Ространс i 11011 Бабкина, .Ольга j Летчик) tjANATR ;Апа Trujillo Emparelados Ana Trujillo Совладелец :Avda. de la СопьШ'-"+ [ ANTON Antonio Moreno Taqueria Antonio Moreno Совладелец |Mataderos 2312 + ;AROUT Around the Horn Thomas Hardy ; Представитель 120 Hanover Sq '*! BERGS IBerglunds snabbkop Christina Berglimd .Координатор iBerguvsvagen 8 : .Blauer See Delikatessen *}BLAUS Hanna Moos i Представитель ; Fors(efstr 57 : Blondeil pere et tils Frederique Crteaux Главный менеджер 24. place Kleber ;; HBLONP Bolido Comidas preparadas Martin Sommer : Совладелец С/ Araquil, 67 : + 1BOUD Laurence Lebihan i Совладелец i12, rue des Bouch + :BONAP ' Bon app' ; Bottom-Dollar Markets Elizabeth Lincoln бухгалтер :23 Tsawassen Blvt •* 1 BOTTM •HBSBEV B's Beverages Victoria Ashworth Представитель Fauntleroy Circus : Cactus Comidas para llevar Patricio Simpson ; Продавец i Certito 333 * 1 CACTI/ ;Centro comercial Moctezuma Francisco Chang Главный менеджер i Sierras de Granad; *TCENTC i .Chop-suey Chinese *l CHOPS. Yang Wang .„Совладелец Ш?.УР*?1Гл.?? + i COMMI Comercio Mineiro Pedro Afon so : Ученик продавца Av dos Lusiadas, *-[CONSH Consolidated Holdings Elizabeth Brown 'Представитель Berkeley Gardens DrachE-nblut Delikatessen Sven Dttlieb Координатор Walserweg 21 * i DRACD * ; DUMON Du monde entier Janine Labrune j Совладелец |67. rue des Cinqus ; Eastern Connection * : EASTC Ann Devon j Продавец ;35 King George j +IERNSH Emst Handel Roland Mendel Менеджер по продажам jKirchgasse 6 ( *:FAMIA Tamilia Arquibaldo Aria Cruz ;Л°У.0.Щ^.и.к..!||*в..неДжеР.а. ^ua Ores,, 92 FJSSAFabiica Inter Salchichas S.A. Diego Roel !Бу_хгалтер ;C/Moralzarza|,86' ' + ;FISSA'^ *;FOLIG .Folies gourmandes Marline Ranee ; Помощник продавца ; 184, chaussee de Folk och fa H8 Maria Larsson Совладелец ILkergatan 24 щHFOLKO
JL *!..
I
j* i (
Запись: (TTj: ^ I '" .
I'dlEDil из 3
[ ^
_j
.<; • у.: г/ .„,,:,,;•;;;
"
"_ "
i
и
•>.;
ПРОФЕССИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ В MICROSOFT OFFICE ACCESS 2003 Элисон Балтер
Alison Baiter's
Mastering Microsoft Office
Access 2003 www.williamspublishing.com
Плановая дата выхода 3 кв. 2004 г.
Книга предназначена для пользователей, которым стал узок круг стандартных функций Access и макросов. Вы научитесь создавать пользовательские программы для автоматизации базы данных, созданной с помощью Microsoft Office Access 2003, и узнаете, что многие рутинные функции по поддержанию базы данных могут выполняться автоматически, почти без вашего участия. В книге приведены примеры программных кодов, тщательно подобранные автором. Книга рассчитана главным образом на пользователей Access 2003 с различным уровнем подготовки, желающих расширить свой профессиональный кругозор и навыки программирования на VBA. Особенно полезной книга будет для разработчиков баз данных корпораций, доступ к которым необходимо обеспечить для группы пользователей локальной сети.
ИНТЕНСИВНЫЙ КУРС ПРОГРАММИРОВАНИЯ В ACCESS 2003 ЗА ВЫХОДНЫЕ Керри Н. Праг, Дженнифер Рирдон, Лоренс Казевич, Дайана Рид, П. В. Фэн
Access 2003 Programming •" .' .•.{•;.-.
15 Hours www.dialektika.com
Плановая дата выхода 3 кв. 2004 г.
Книга посвящена вопросам программирования в среде Access 2003 — простой и мощной системы управления базами данных, входящей в состав новейшей версии общеизвестного комплекта программных продуктов офисного назначения Microsoft Office. Авторы книги делятся своим многолетним практическим опытом щедро и непринужденно. Доступный стиль изложения, будет понятен даже новичкам, осваивающим передовые информационные технологии, а используемый пример приложения CheckWriter, который можно загрузить с сопровождающего Web-узла книги, добавляет наглядности.
Познакомьтесь мастерами задайте правильные вопросы придайте данным форму и поделитесь ими с другими Что? Ваши данные до сих пор в беспорядке? Берите эту книгу и создайте собственную базу данных! Джон Кауфельд раскрывает тайны баз данных для всех. Вскоре вы легко будете создавать таблицы, генерировать отчеты, разбираться в существующих базах данных и извлекать из них данные с помощью запросов.
Об авторе Джон Кауфельд написал вс предыдущие издания книги Access для "чайников" и несколько других книг. Джон также управляет Internet-ресурсом shippertools.com.
ISBN 5-8459-0611-3 Категория: базы данных/ Microsoft Access Уровень: для начинающих и рядовых пользователей Посетите "Диалектику" в Internet по адресу: http://www.dialektika.com
04056
For Dummies
Мир интересных книг от издательской группы "ДИАЛЕКТИКА - ВИЛЬЯМС"
ISBN 5-8459-0551-6
ISBN 5-8459-0521-4
ISBN 5-8459-0098-0
ISBN 5-8459-0207-Х
ISBN 5-8459-0508-7
ISBN 5-8459-0530-3
ISBN 5-8459-0509-5
ISBN 5-8459-0514-1
ISBN 5-8459-0476-5
ISBN 5-8459-0528-1
ISBN 5-8459-0565-6
ISBN 5-8459-0618-0
... u много других книг Бы найдете на наших сайтах
И
www.dialektika.com
Ш
www.williamspublishing.com