Оглавление

ОБ АВТОРЕ...........................................................................................................................................12
БЛАГОДАРНОСТИ................................................................................................................................13
ВВЕДЕНИЕ..........................................................................................................................................14
Какие задачи можно решать в программе Access.....................................................................14
Две стороны программы Access................................................................................................17
Access или Excel?.......................................................................................................................17
Access или SQL Server?.............................................................................................................18
Новый облик программы Access 2007........................................................................................19
Лента...........................................................................................................................................19
Использование ленты с помощью клавиатуры.......................................................................22
Меню Office'................................................................................................................................25
Инструментальная Панель быстрого доступа..........................................................................26
Новые возможности в программе Access 2007..........................................................................27
Об этой книге.................................................................................................................................29
Краткое содержание....................................................................................................................29
Об → этих → стрелках.............................................................................................................30
О сочетаниях клавиш..................................................................................................................32
О щелчках кнопкой мыши.........................................................................................................33
Примеры......................................................................................................................................33
О Web-сайте MissingManuals.com
......................................................................................................................................................
33
Safari Enabled.................................................................................................................................33

ЧАСТЬ I. ХРАНЕНИЕ ДАННЫХ В ТАБЛИЦАХ...................................................................34
ГЛАВА 1. СОЗДАНИЕ ВАШЕЙ ПЕРВОЙ БАЗЫ ДАННЫХ................................................................................35
Что такое базы данных Access....................................................................................................35
Приступая к работе.......................................................................................................................36
Создание новой базы данных
......................................................................................................................................................
38
Что такое таблицы
......................................................................................................................................................
43

1

Создание простой таблицы.......................................................................................................44
Редактирование таблицы..........................................................................................................48
Сохранение и открытие БД Access............................................................................................53
Создание резервных копий.......................................................................................................53
Сохранение БД с другим именем или форматом....................................................................55
Открытие БД..............................................................................................................................56
Одновременное открытие нескольких БД...............................................................................58
Открытие БД, созданной в более старой версии Access..........................................................59
Создание еще одной БД.............................................................................................................60
Область переходов......................................................................................................................61
Просмотр таблиц с помощью области переходов....................................................................62
Управление объектами БД........................................................................................................64
ГЛАВА 2. СОЗДАНИЕ БОЛЕЕ сложных ТАБЛИЦ...................................................................................66
Типы данных..................................................................................................................................66
Конструктор................................................................................................................................67
Организация и описание ваших полей.....................................................................................69
Как действуют обновления в Конструкторе...........................................................................71
Типы данных Access......................................................................................................................71
Текстовый.
......................................................................................................................................................
74
Поле MEMO
......................................................................................................................................................7
8
Числовой
.....................................................................................................................................................
80
Денежный
......................................................................................................................................................
83
Дата/время
......................................................................................................................................................
84
Логический...................................................................................................................................8
8
Гиперссылка.................................................................................................................................8
9
Вложение....................................................................................................................................90
Счетчик.......................................................................................................................................9
3
Первичный ключ
.........................................................................................................................................................
96
Создание поля для вашего собственного первичного ключа…………………….…..………
97
Шесть правил проектирования БД
.........................................................................................................................................................
98
Правило 1. Выбирайте подходящие имена полей...................................................................98
Правило 2. Разбивайте ваши данные.......................................................................................99
Правило 3. Храните все детали в одном месте......................................................................100
Правило 4. Избегайте дублирования данных.......................................................................100
Правило 5. Избегайте избыточной информации..................................................................102
2

Правило 6. Включайте поле Код............................................................................................103
ГЛАВА 3. ОБРАБОТКА ЛИСТА ДАННЫХ: СОРТИРОВКА, ПОИСК,
ФИЛЬТРАЦИЯ И ДРУГИЕ ДЕЙСТВИЯ.....................................................................................................104
Настройка листа данных............................................................................................................104
Форматирование листа данных............................................................................................105
Реорганизация столбцов........................................................................................................106

3

Изменение размеров столбцов и строк..................................................................................107
Скрытие столбцов...................................................................................................................109
Закрепленные столбцы............................................................................................................110
Перемещение в таблице..........................................................................................................111
Сортировка...............................................................................................................................112
Фильтрация..............................................................................................................................116
Поиск.........................................................................................................................................120
Усовершенствованное редактирование.............................................................................123
Проверка орфографии.............................................................................................................123
Автозамена................................................................................................................................128
Специальные символы.............................................................................................................129
Печать листа данных................................................................................................................131
Предварительный просмотр страницы...................................................................................132
Тонкая настройка распечатки...................................................................................................134
ГЛАВА 4. БЛОКИРОВКА НЕПРАВИЛЬНЫХ ДАННЫХ
.....................................................................................................................................................
136
О целостности данных.................................................................................................................136
Запрет незаполненных полей..................................................................................................137
Задание значений по умолчанию............................................................................................139
Предотвращение дублирования значений с помощью индексов.........................................141
Маски ввода..................................................................................................................................145
Применение готовых масок.....................................................................................................147
Создание собственной маски...................................................................................................151
Правила верификации или условия на значения..................................................................154
Применение условия на значение поля..................................................................................154
Запись условия на значение поля...........................................................................................156
Создание условия на значение для таблицы..........................................................................160
Подстановки..................................................................................................................................162
Создание простого списка подстановок, состоящего из констант........................................163
Добавление новых значений в ваш список подстановок......................................................166
ГЛАВА 5. СВЯЗЫВАНИЕ ТАБЛИЦ с помощью ОТНОШЕНИЙ
........................................................................................................................................................
168
Основы отношений между таблицами
........................................................................................................................................................
168
Избыточные данные в противоположность связанным........................................................169
Совпадающие поля: связующее звено отношения.................................................................171
Связывание с помощью столбца Код (ID)..............................................................................171
Отношение тина "родитель — потомок".................................................................................172
Применение отношений
........................................................................................................................................................
173
Определение отношения..........................................................................................................174
Редактирование связей.............................................................................................................179
Целостность на уровне ссылок................................................................................................179
Переходы в отношении............................................................................................................183
Поиск в связанных таблицах
....................................................................................................................................................
186
4

Более экзотические связи.........................................................................................................190
Отношение "один-к-одному"...................................................................................................191
Отношение "многие-ко-многим"............................................................................................192
Практическое применение связей.............................................................................................197
Музыкальная школа.................................................................................................................197
Магазин шоколадных изделий................................................................................................202

ЧАСТЬ II. ОБРАБОТКА ДАННЫХ С ПОМОЩЬЮ ЗАПРОСОВ....................................206
ГЛАВА 6. ЗАПРОСЫ, ВЫБИРАЮЩИЕ ЗАПИСИ..........................................................................................207
Основные сведения о запросах..................................................................................................207
Создание запросов.......................................................................................................................208
Создание запроса в Конструкторе.........................................................................................209
Создание простого запроса с помощью Мастера запросов...................................................220
Режим SQL................................................................................................................................224
Запросы и связанные таблицы.................................................................................................229
ГЛАВА 7. ОСНОВНЫЕ ХИТРОСТИ, ПРИМЕНЯЕМЫЕ в ЗАПРОСАХ................................................................241
Вычисляемые поля.......................................................................................................................241
Определение вычисляемого поля............................................................................................242
Простая математическая обработка числовых полей............................................................245
Выражения с текстовыми значениями...................................................................................247
Функции запросов
........................................................................................................................................................
248
Применение функций...............................................................................................................249
Построитель выражений..........................................................................................................250
Форматирование чисел............................................................................................................254
Дополнительные математические функции...........................................................................255
Текстовые функции..................................................................................................................256
Функции для обработки дат....................................................................................................259
Обработка пропущенных или неопределенных значений....................................................261
Итоговые данные
........................................................................................................................................................
262
Группировка в итоговом запросе.............................................................................................265
Объединения в итоговом запросе...........................................................................................267
Параметры запроса.....................................................................................................................270
ГЛАВА 8. ЗАПРОСЫ, ОБНОВЛЯЮЩИЕ ЗАПИСИ.......................................................................................272
О запросах на изменение...........................................................................................................272
Тестирование запросов на изменение (с осторожностью)...................................................275
Семейство запросов на изменение.........................................................................................275
Запросы на обновление..............................................................................................................276

5

Запросы на добавление
.........................................................................................................................................................
280
Создание запроса на добавление (или на создание таблицы)…………………………………...281
Получение начальных значений типа Сметчик, отличных от 1................................................284
Запросы на удаление..................................................................................................................285
Учебный пример: маркировка заказов на товары, которых нет в наличии…………………..288
Поиск продуктов, которых нет в наличии...................................................................................288
Перевод заказов в режим ожидания...........................................................................................290
ГЛАВА 9. АНАЛИЗ ДАННЫХ С ПОМОЩЬЮ ПЕРЕКРЕСТНЫХ ЗАПРОСОВ И
сводных ТАБЛИЦ..........................................................................................................................292
О перекрестных запросах..........................................................................................................292
Создание перекрестных запросов............................................................................................296
Создание перекрестного запроса с помощью мастера................................................................297
Создание перекрестного запроса с нуля.....................................................................................301
Сводные таблицы........................................................................................................................304
Построение сводной таблицы.....................................................................................................305
Манипуляции сводной таблицей................................................................................................309
Создание вычисляемого поля.....................................................................................................311
Скрытие и отображение подробностей.......................................................................................314
Фильтрация в сводных таблицах................................................................................................314
Сводные диаграммы...................................................................................................................318
Выбор типа диаграммы...............................................................................................................319
Печать сводной диаграммы.........................................................................................................321
ЧАСТЬ III. ОТЧЕТЫ................................................................................................................323
ГЛАВА 10. СОЗДАНИЕ ОТЧЕТОВ.........................................................................................................324
Базовые сведения об отчетах....................................................................................................326
Создание простого отчета............................................................................................................326
Компоновка отчета......................................................................................................................329
Добавление и удаление полей.....................................................................................................330
Разные режимы отображения отчета..........................................................................................333
Создание пустого отчета.............................................................................................................334
Печать, предварительный просмотр и экспорт отчета............................................................336
Предварительный просмотр отчета............................................................................................337
Экспорт отчета.............................................................................................................................339
Получение дополнительного модуля "Save As PDF"................................................................342
Форматирование отчета............................................................................................................343
Форматирование столбцов и заголовков столбцов....................................................................345
Условное форматирование.........................................................................................................350

6

Фильтрация и сортировка в отчете....................................................................................353
Фильтрация в отчете
......................................................................................................................................................
353
Сортировка данных о отчете.......................................................................................................355
ГЛАВА 11. ПРОЕКТИРОВАНИЕ сложных ОТЧЕТОВ................................................................................356
Улучшение отчетов в Конструкторе...............................................................................356
Разделы в режиме конструктора
......................................................................................................................................................
357
Об элементах управления...........................................................................................................359
Удаление полей из макета...........................................................................................................360
Добавление дополнительных элементов управления
......................................................................................................................................................
363
Создание отчета без помощи мастера.........................................................................................366
Мастер создания отчетов.............................................................................................................368
Мастер создания наклеек
.........................................................................................................................................................
371
Тонкая настройка отчетов с помощью свойств
.........................................................................................................................................................
375
Корректировка самых широкоиспользуемых свойств
......................................................................................................................................................
377
Выражения
.........................................................................................................................................................
379
Группировка
.........................................................................................................................................................
381
Группировка в отчетах
......................................................................................................................................................
382
Тонкая настройка с помощью панели Группировка, сортировка и итоги
......................................................................................................................................................
384
Многоуровневая группировка
......................................................................................................................................................
390
ЧАСТЬ IV. РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
С ПОМОЩЬЮ ФОРМ
........................................................................................................................................................
391
ГЛАВА 12. СОЗДАНИЕ ПРОСТЫХ ФОРМ
........................................................................................................................................................
392
Основные сведения о формах
........................................................................................................................................................
392
Создание простой формы
7

......................................................................................................................................................
393
Применение формы
......................................................................................................................................................
399
Сортировка и фильтрация в формах...........................................................................................,
.............................................................405
Сортировка в форме
......................................................................................................................................................
405
Фильтрация в форме
......................................................................................................................................................
405
Применение фильтра по форме
......................................................................................................................................................
406
Сохранение фильтров для дальнейшего использования
..................................................................409
Создание улучшенных макетов
........................................................................................................................................................
410
Высвобождение элементов управления из макета
......................................................................................................................................................
410
Применение нескольких макетов
......................................................................................................................................................
412
Применение табличных макетов
......................................................................................................................................................
414
Отображение нескольких записей в любой форме
.....................................................................................................................................................
416
Разделенные формы
.....................................................................................................................................................
418
Еще более полезные свойства формы......................................................................................420
Мастер создания форм
........................................................................................................................................................
423

8

ГЛАВА 13. ПРОЕКТИРОВАНИЕ сложных ФОРМ
..............................................................................................................................................................
426
Настройка форм в Конструкторе
..............................................................................................................................................................
426
Разделы формы; разные части вашей формы
...........................................................................................................................................................
428
Вставка элементов управления в форму
...........................................................................................................................................................
429
Галерея элементов управления: краткий обзор
...........................................................................................................................................................
433
Расположение элементов управления на форме
...........................................................................................................................................................
436
Привязка: автоматическое изменение размеров элементов управления
...........................................................................................................................................................
439
Последовательность перехода: облегчение переходов с помощью клавиш
...........................................................................................................................................................
445
Контроль с помощью элементов управления
..................................................................449
Блокировка полей................................
..............................................................449
Предупреждение ошибок с помощью условий на значения
...........................................................................................................................................................
450
Выполнение вычислений в выражениях
...........................................................................................................................................................
451
Компоновка с применением элемента управления Вкладка
...........................................................................................................................................................
452
Переходы по ссылкам
...........................................................................................................................................................
454
Переходы с помощью списков
...........................................................................................................................................................
456
Выполнение действий с помощью кнопок
...........................................................................................................................................................
458
Формы и связанные таблицы
..............................................................................................................................................................
461
Связи таблиц и простые формы
...........................................................................................................................................................
461
Элемент управления Подчиненная форма
...........................................................................................................................................................
462
Создание настроенных подчиненных форм
9

...........................................................................................................................................................
463
ГЛАВА 14. СОЗДАНИЕ СИСТЕМЫ ПЕРЕХОДОВ
..............................................................................................................................................................
465
Освоение области переходов
..............................................................................................................................................................
465
Настройка списка области переходов
...........................................................................................................................................................
466
Улучшенная фильтрация
...........................................................................................................................................................
470
Скрытие объектов
...........................................................................................................................................................
472
Использование групп Custom
...........................................................................................................................................................
473
Поиск в списке области переходов
...........................................................................................................................................................
475
Построение форм со средствами автоматического перехода
..............................................................................................................................................................
475
Создание кнопочной формы
...........................................................................................................................................................
476
Назначение стартовой формы
...........................................................................................................................................................
480
Альтернативы кнопочной формы
...........................................................................................................................................................
481
Отображение всех форм в списке
...........................................................................................................................................................
483
Ссылки на связанные данные
..............................................................................................................................................................
488
Отображение связанных записей в отдельной форме
...........................................................................................................................................................
488
Отображение более подробных отчетов с помощью связей
...........................................................................................................................................................
492
ЧАСТЬ V. ПРОГРАММИРОВАНИЕ В ACCESS
..............................................................................................................................................................
496
ГЛАВА 15. АВТОМАТИЗАЦИЯ ЗАДАЧ с помощью МАКРОСОВ
.............................................................................................................................................................
497
10

Базовые сведения о макросах
..............................................................................................................................................................
498
Создание макроса
...........................................................................................................................................................
499

11

Запуск макроса
...........................................................................................................................................................
502
Отладка макроса
...........................................................................................................................................................
504
Макросы и безопасность
..............................................................................................................................................................
507
Опасные макрокоманды
...........................................................................................................................................................
507
Как Access обрабатывает опасные макросы
...........................................................................................................................................................
509
Центр управления безопасностью
...........................................................................................................................................................
511
Задание надежного расположения
...........................................................................................................................................................
513
Три примера макросов
..............................................................................................................................................................
515
Поиск записи
...........................................................................................................................................................
515
Печать отчета
...........................................................................................................................................................
516
Отправка данных по электронной почте
...........................................................................................................................................................
517
Управление макросами
..............................................................................................................................................................
520
Группы макросов
...........................................................................................................................................................
520
Назначение макросу комбинации клавиш
...........................................................................................................................................................
522
Настройка макроса запуска
...........................................................................................................................................................
524
Присоединение макросов к формам
..............................................................................................................................................................
524
Что такое событие
...........................................................................................................................................................
524
Присоединение макроса к событию
...........................................................................................................................................................
527
Считывание аргументов из формы
...........................................................................................................................................................
529
12

Изменение свойств формы
...........................................................................................................................................................
531
Макросы с условиями
..............................................................................................................................................................
532
Построение условия
...........................................................................................................................................................
532
Проверка данных с помощью условий
...........................................................................................................................................................
534
Макросы с более сложными условиями
...........................................................................................................................................................
536
ГЛАВА 16. АВТОМАТИЗАЦИЯ ВЫПОЛНЕНИЯ ЗАДАЧ СРЕДСТВАМИ ЯЗЫКА
VISUAL BASIC
..............................................................................................................................................................
539
Редактор Visual Basic
..............................................................................................................................................................
539
Добавление нового модуля
...........................................................................................................................................................
541
Написание процедуры с простейшим программным кодом
...........................................................................................................................................................
543
Помещение кода в форму
..............................................................................................................................................................
546
Реакция на событие формы
...........................................................................................................................................................
546
Вызов кода в модуле
...........................................................................................................................................................
549
Чтение и запись полей на форме
...........................................................................................................................................................
551
Что такое объекты
..............................................................................................................................................................
553
Свойства
...........................................................................................................................................................
554
Методы
...........................................................................................................................................................
558
События
...........................................................................................................................................................
560
Применение объектов
..............................................................................................................................................................
561
Обозначение измененной записи
13

...........................................................................................................................................................
562
Создание эффекта перемещения указателя мыши
...........................................................................................................................................................
567
ГЛАВА 17. НАПИСАНИЕ КОДА с БОЛЕЕ РАЗВИТОЙ логикой
..............................................................................................................................................................
571
Изучение языка Visual Basic
..............................................................................................................................................................
571
Хранение информации в переменных
...........................................................................................................................................................
571

14

Принятие решений
...........................................................................................................................................................
.573
Повторение действий с помощью цикла
...........................................................................................................................................................
577
Создание пользовательских функций
...........................................................................................................................................................
578
Подытожим: функция для проверки кредитных карт
...........................................................................................................................................................
580
Обработка сбойных ситуаций
..............................................................................................................................................................
584
Отладка
...........................................................................................................................................................
585
Обработка ошибок
...........................................................................................................................................................
588
Углубленное рассмотрение объектов
..............................................................................................................................................................
590
Объект DoCmd
...........................................................................................................................................................
593
Преобразование макроса в VB-код
...........................................................................................................................................................
595
Улучшение работы компании средствами Visual Basic
..............................................................................................................................................................
597
Хранение промежуточного итога
...........................................................................................................................................................
598
Получение сведений о цене
...........................................................................................................................................................
601
Добавление нового товара во время заполнения заказа
...........................................................................................................................................................
602
Управление выполнением заказов
...........................................................................................................................................................
606
Обновление единиц наличного запаса
...........................................................................................................................................................
610
ЧАСТЬ VI. СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ACCESS
..............................................................................................................................................................
615
ГЛАВА 18. СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ БД НЕСКОЛЬКИМИ ПОЛЬЗОВАТЕЛЯМИ
......................................................................................................616
Открытие вашей базы данных всему миру
15

.........................................................................639 Открытие БД с монопольным доступом .............................................................. 646 Пароли и разделенные БД .................................................................. 619 Что такое разделенная БД ......... 635 Обработка конфликтов редактирования ......................................................................................................................................................................................................................................633 Многопользовательский доступ ....................... 619 Разделение БД с помощью мастера ....................................................................................................................................................................................... 625 Разделение БД вручную .............................................. 644 Защита паролем ................................................................................................................................................................................................................................. 647 16 ................................ 643 Предупреждение повреждений ............ 641 Повреждение данных ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 616 Как действует многопользовательская поддержка в Access ................................................................................................................................................................................................................... 628 Блокировка вашей клиентской БД ............................................................................................................................................... 635 Как вносятся изменения .................................................................................................................................................................. 644 Защита базы данных .......................................................................................................................................................................................................................................... 617 Подготовка вашей базы данных ........................................................................................................ 631 Использование БД совместно с пользователями........................................................................................................................... у которых нет Access ....................... 642 Диагностика и корректировка поврежденных БД ................................................................................................... 637 Применение блокировок для предотвращения наложения обновлений ....................... 621 Как действуют связанные таблицы ................................................................................................................................................................................................................................................................................................................................................................................

..................Применение защиты файлов ОС Windows ............................................................................................. 647 17 .............................................

.......................................................................................................................................... 671 Что такое XML на самом деле? ........................................................... 657 Импорт данных ......................................................................................................................................................................................................................................................................................................................................................................................................................... 664 Экспортируемые типы файлов .................................. 672 Три правила ХМL ........................................................ 666 Повторное применение параметров импорта и экспорта ........................................................ 661 Импорт из текстового файла ........................................... 650 Что такое импорт ............................................................................................................................................................................................................................................................................... 650 Что такое экспорт ....................................................... 652 Копирование таблицы из программы Access ...... 674 18 ......................................................................................................................................................................................................... 669 Access и XML ....................................................................................................................................................... 658 Импорт из файла Excel ...................................... 651 Применение буфера обмена ............ 650 Аргументы в пользу экспорта и импорта ............................................................................... ИМПОРТ и ЭКСПОРТ ДАННЫХ ................................................................ 656 Операции импорта и экспорта ..................................................................................................ГЛАВА 19..................................................................................................................................................................................................... 665 Экспорт данных .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 653 Копирование ячеек из Excel в Access ............................................................................................... 673 Файлы и схемы XML ...................................... 656 Импортируемые типы файлов ..........................................................................................................................................................................................................

......................................................................................................................................................................... 697 Подключение SQL Server к сети ............................................................................................................................................................................................................................... 697 Установка SQL Server Express ..............................................................................................................Поддержка XML в программе Access ......................................................................................................................................................... 702 Создание БД SQL Server ........................................................................................................................................................................................................ 676 Экспорт в XML-файл ................................................................................................ 703 Управление вашей БД ........................................................................................................................................ 679 Импорт из XML-файла ...................................... ПОДКЛЮЧЕНИЕ ACCESS к SQL SERVER ...................................................................................................................... 695 Приступая к работе с SQL Server 2005 Express .................................. 683 Ручная обработка ответов ............................................................................................................. 690 ГЛАВА 20............ 688 Автоматическая обработка ответов ........................................................................................................................................................................................................................................................................................... 710 Создание БД SQL Server вручную 19 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 693 Более дешевая версия SQL Server ........................................................................................................ 682 Создание сообщения электронной почты .................... 681 Сбор информации по электронной почте ........................................................................ 692 Нужно ли переходить на SQLServer? ............................................................................................................................ 693 Как работает SQL Server ........................................................................................................................................ 689 Управление параметрами вашего сбора данных с помощью электронной почты .................................................................................. 703 Преобразование БД .................................................................................................................

....................................................... 719 Создание представления .................................................................................................. 720 20 ........................................................................................................................................................................................................................................................................................... 711 Добавление объектов в БД SQL Server .......... 712 Создание таблицы ..................................................................................................................................... 712 О запросах ........................................................................................................................................................................................................

................................................................................................................................................................................................................... 724 Основные сведения о SharePoint ................................................................................................................................................................................................................................................................................................................................................... 735 Формирование списка .......................................................................................................................................................................... 752 ПРИЛОЖЕНИЕ................................... 729 Создание узла рабочей группы .................................. 748 Редактирование данных SharePoint в Access ............................................................................................. 737 Экспорт таблицы в SharePoint .................................... 733 SharePoint и Access ............................................................................................................................................................................................................................................................................... 755 Панель быстрого доступа ................................................................................................................................................................................................................................................................... 725 Что можно делать в программе SharePoint .................ГЛАВА 21....................................................................................................................................... 743 Импорт данных в Access ........................................................................ 727 Настройка SharePoint .................................................................................................................................................................................................................... 745 Перенос всей БД на сервер SharePoint ......................................................... НАСТРОЙКА ПАНЕЛИ БЫСТРОГО ДОСТУПА ....................... 755 Добавление кнопок ..................................... 757 Настройка конкретных БД .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 729 Настройка вашего узла .... 751 Внесение изменений в автономном режиме ................................................................................................................................................................. ПОДКЛЮЧЕНИЕ ACCESS к SHAREPOINT ................................... 759 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 21 ..

.............. 761 22 .................................................................................................................................................

0б авторе Мэтью Мак-Дональд (Matthew MacDonald) — автор и выдающийся программист. В почти забытой. "Creating Web Sites: The Missing Manual" и десятков книг о программировании с помощью Microsoft . прошлой жизни он изучал английскую литературу и теоретическую физику.NET Framework. Он автор "Excel 2007: The Missing Manual". .

кто трудился над форматированием книги. Сара Милштейн (Sarah Milstein). кто сделал эту книгу ясной. поступавшей в основном так же. кто помог мне исследовать все искусно разработанные и изобретательные средства. готовившим вкусную еду и помогавшим по дому. созданием предметного указателя и ее изданием. любви к страданию и боли). Джуел Бортолусси (Juel Bortolussi) и Майкл Шмалц (Michael Schmalz)). включая тех.е. как Access. Я глубоко признателен множеству людей. тех. Я выражаю любовь и признательность моей дочери Майе. Большое спасибо вам всем — без вас половина книги все еще оставалась бы только у меня в голове! . Разин (Razia). лаконичной и технически достоверной (Питер Мейерс (Peter Meyers). кто терпел. и нашим мамам и папам (Hope (Nora). и тех. нянчившим внучку. пока я писал ее (больше об этом — чуть позже). Написание книги потребовало нескольких бессонных ночей (и множества дней с недосыпом). можно только из любви (т. Я также благодарен всем. Полу (Paul) и Хамиду (Hamid)).Благодарности Написать книгу о такой объемной и сложной программе. Брайан Сойер (Brian Sawyer). которая выдержала большую часть времени без слез. моей дорогой жене Фарии (Faria). вошедшие в последнюю версию пакета Office (включая выдающихся блоггеров Дженсена Харриса (Jensen Harris) и Эрика Ракера (Erik Rucker). что позволяло не останавливать работу над книгой.

Как вы убедитесь. Какие задачи можно решать в программе Access Современный мир наполнен информацией. картонные коробки. Но после многолетних страданий люди обнаружили. Они применяли вращающиеся картотеки барабанного типа компании Rolodex. Программа Access 2007 слегка отличается от предыдущих версий. вызвавшему оживленные толки в среде ярых компьютерных фанатов. рискованных фильмов или еще чего-то. применяемые для автоматизации широко распространенных задач. У баз данных очень разные размеры — они могут обрабатывать все. вы сможете создавать большие базы данных в рекордное время. благодаря яркому новому интерфейсу. которые можно легко хранить в базе данных Access: ■ каталоги книг. включая числа. картотечные устройства вертикального хранения. как проектировать законченные базы данных. В этой книге вы узнаете. создаваемых приверженцами Access каждый день. структура сложна. перфокарты. что она с самого начала писалась для программы Access 2007. созданного корпорацией Microsoft. что людям разных профессий нужны мощные средства для хранения информации и управления ею. Поиск в Web-пространстве скучного словосочетания "консервированная морковь" вылавливает более миллиона Web-страниц. Access — это система управления базами данных — тщательно структурированные каталоги информации (или данных). каталоги с десятками тысяч страниц и (когда все оказалось тщетным) огромные стопки на плоских поверхностях. что вам хотелось бы коллекционировать и за чем вы хотели бы следить. Именно тогда и пригодилась программа Access корпорации Microsoft. находить значимую информацию и создавать привлекательные формы для быстрого и легкого ввода данных. Невозможно описать даже часть различных баз данных. . далее перечислены распространенные типы информации. Но в данном случае он не просто диковинка. В результате неудивительно. даже если до этого вы не написали ни одной строки программного кода. а корректировки очень часты. последней и величайшей реинкарнации самого популярного программного обеспечения для управления базами данных. Вы даже проникнете в черную магию программирования в Access и освоите важные приемы и методы. Для того чтобы дать вам профессиональное представление о базах данных. освоив новый стиль Access. особенно если ее объем велик. поддерживать их. Главное достоинство книги состоит в том. что для обработки информации гораздо удобнее использовать компьютеры. Базы данных могут хранить почти любой тип информации. CD-дисков. страницы текста и изображения. торгующего пуговицами и кнопками со скидкой (Aunt Ethel's Discount Button Boutique).Введение В прошлом люди использовали различные технологии для организации информации. редких марочных вин. начиная со списка семейных номеров телефонов и заканчивая огромным каталогом изделий для магазинчика тетушки Этель.

который может помочь организовать. каталоги изделий. В1. После того как специалисты по базам данных (это и ваше будущее после прочтения книги) разработали данные формы. что люди. списки клиентов.■ списки почтовой рассылки. ■ деловая информация. обновить и найти любой тип информации. ■ списки гостей и подарков для свадеб и других торжеств. Самое главное в том. Рис. Эта база данных о продажах содержит удобные формы. ■ перечни расходов. использующие формы в базе данных. агенты по обслуживанию клиентов — для регистрации новых клиентов. вкладов и других подробностей финансового планирования. а работники склада — для просмотра отправляемых заказов. которые продавцы могут использовать для размещения новых заказов (показанных здесь). редактирования и просмотра данных . Эта помощь — не только удобство: она позволяет делать то. например. записи заказов и счета. семьей и коллегами. любой может пользоваться ими для ввода. могут ничего не знать об Access. Воспринимайте программу Access как личного ассистента. что вы никогда бы не сделали самостоятельно. позволяющие поддерживать связь с друзьями.

В конце концов. Если вы когда-нибудь пытались рассмотреть номер телефона сквозь кофейное пятно. то знаете. . пока не израсходуете всесвободное пространство в книжке. Несмотря на то. такие как документы программы Microsoft Word и электронные таблицы. что большинству людей для хранения всех контактов достаточно маленькой адресной книжки. что произойдет. Не говоря уж о том. что вы только что закончили составление базы данных для вашей коллекции 10000 редких комиксов. Программа Access позволяет одновременно многим людям просматривать и изменять данные на разных компьютерах. он все равно приобретет новые функциональные возможности. в которых изображен человек-амфибия (Aquaman). Но что произойдет. в заголовках которых есть слова "специальное издание". По внезапному порыву вы решили взглянуть на все книги. В главе 18 приведена более подробная информация. Это ограничение создает проблемы. По большей части простая адресная книга отлично справляется с задачей. а вам нужно найти контактную информацию человека. Программа Access также — король мелких предприятий из-за ее легендарной способности к самонастройке. зовут Джоу? Программа Access может без усилий выполнить такой поиск. На профессиональном уровне. соблюдая алфавитный порядок для фамилий. В адресной книге контакты упорядочены одним способом — по имени и фамилии. что вы можете вычеркивать и записывать заново адрес вашего странствующего дядюшки. что порой выгодно хранить данные в электронной форме. • Резервная копия. дальними родственниками и надоедливыми коллегами. Но только Access облегчает создание полного пользовательского интерфейса для такой базы данных (как показано на рис. Поиск такого рода в бумажном каталоге занял бы несколько дней. если вы решите хранить эту информацию в базе данных Access. Вы даже можете поделиться этим списком с друзьями. не доступные без программы Access. которым нужны те же номера телефонов. написанные в 1987 г. что очень удобно. Она также может найти записи по номеру телефона. что ваш список контактов не сравним с объемами информации. или те. база данных гарантирует. если вы вносили всех. На среднем компьютере Access может выполнить все три поиска меньше чем за секунду. • Место. В1). • Совместное использование. если всем сотрудникам офиса необходимо поработать над составлением обеденного меню. • Поиск.Представьте. Но подумайте. хранимыми компанией Google. если ваш телефон сообщает перечень звонков и вы хотите выяснить. Преимущества хорошо спроектированной базы данных Множество людей применяет адресную книгу для связи с близкими друзьями. кто же это надоедает вам. которого. кажется. сколько нужно (каждую с отображением частичной или полной информации). Только один человек в конкретный момент времени может редактировать самые обычные файлы. или же те. на деле вы можете использовать любую программу управления базами данных для создания списка заказов клиентов. вы сможете уберечь ее от стихийного бедствия и напечатать столько копий. Несмотря на то. После того как вы поместите контактную информацию в базу данных. что вы никогда не займете полностью раздел "М".

вы затратите больше времени (в конечном счете) на вторую задачу. способная обрабатывать списки и таблицы данных. Вы можете передать список контактов в форме письма. Так в чем же разница? Несмотря на то. не имеющих аналогов в мире электронных таблиц. вы можете переходить ко второй задаче — к активному использованию базы данных в повседневной жизни. форм. что первая задача труднее. она не в состоянии обрабатывать информацию того объема и сложности. тем самым. таких как автоматическое составление стандартных писем (mail merge). формирующих привлекательные распечатки. Например. таких как возможность создания настраиваемых процедур поиска. ■ Проектирование вашей базы данных. проектирование форм для ввода данных с тонкой настройкой и вывод на печатающее устройство ярко оформленных отчетов. которое создаете в программе Word. Access или Excel? Программа Access — это не единственная составляющая пакета Office. и отчетов. способных выискивать важные порции информации. обновление имеющейся или поиск необходимых подробностей. Большая часть книги посвящена первой задаче — созданию и усовершенствованию вашей базы данных. что отличает знатоков Access от новообращенных. Все эти примеры демонстрируют серьезные основания для перехода к электронному способу хранения информации любого типа. каждый раз. запросы. Эта задача включает добавление новой информации в базу данных. когда вам нужно приготовить обед). Access позволяет установить четкие связи между таблицами и. которые вы уже сформировали. Две стороны программы Access Как вы увидите. Вы увидите. ■ Обработка данных. Эта работа — суть программы Access и та часть. В программу Microsoft Excel также включены функции для создания списков и управления ими. с помощью программы Access решаются две разные задачи. Программа Access также предоставляет полный набор функций. После того как первая задача выполнена. Excel плохо справляется с обработкой множественных списков со связанными данными (например. если вам нужно отслеживать список ваших деловых клиентов и список сделанных ими заказов). формы и отчеты. вводить же новую информацию и искать рецепты вы будете годами (скажем. В эту задачу входит создание таблиц для хранения данных. устранить подобные проблемы. вы можете провести пару часов над созданием базы данных ваших любимых кулинарных рецептов. которая поначалу кажется самой страшной. и автоматически сгенерировать десятки писем с разными адресами. Это именно то. что затрудняет анализ ваших данных и создает возможность появления противоречивых результатов.• Интеграция с другими приложениями. что программа Excel отлично работает с малыми порциями простых данных. которая подвластна Access. облегчающих ввод данных. в главе 19. . Access вводит вас в царство времясберегающих возможностей. запросов. Несмотря на то. Для выполнения этой работы используются таблицы. Программа Excel вынуждает полностью разделить эти списки. как это делается.

начиная от собственной поисковой машины корпорации Microsoft и кончая фондовой биржей NASDAQ. За столь узконаправлеиный подход приходится платить. но они обеспечивают более высокую производительность и нерушимы как скала. на верном ли вы пути. Обычный пользователь не может напрямую редактировать базу данных. что Access предлагает единое решение для хранения и обработки данных. Если же есть какие-то сомнения. заключается в том. быстрая проверка в режиме реального времени покажет. Вместо этого вы вынуждены использовать еще одну программу. генерируя статистические характеристики или прогнозируемые тренды. посмотрите далее примечание "Для тех. кто понимает. сохраняемую SQL Server. прежде чем сможете эффективно использовать вашу базу данных. Если без технических терминов. поддерживающую все. Когда программы Access недостаточно Если вы выбрали эту книгу. что программа Access соответствует вашим потребностям. вы должны написать целое приложение. что Access лучше Excel. Во многих организациях программу Access применяют для хранения информации и управления ею. чтобы проанализировать ее. подойдет ли вам Access. если вы применяете SQL Server. Процессоры баз данных. это означает. то. Программа идеальна для личного применения. Одно из главных различий между Access и системами управления базами данных. использующие сервер. все это не говорит о том. такие как SQL Server. способную общаться с SQL Server и запрашивать нужную информацию. управляющая базой данных на стороне клиента. что Access выполняется непосредственно на вашем персональном компьютере.com не продержался бы и пяти минут. если бы положился на базу данных Access. и поклонники Access удивятся. к которому вы обращаетесь с обычного ПК. Ясно. . Они хранят данные на высокопроизводительном компьютере-сервере. Другими словами. что SQL Server — это промышленный магнат. как можно сравнивать с ним их любимую программу управления базой данных. В действительности вам захочется использовать обе эти программы. а затем экспортируют часть этой информации в электронную таблицу Excel для того. В большинстве случаев такая программа должна быть написана профессиональным программистом.) Другое важное различие между программой Access и серверными системами управления базами данных состоит в том. (Это взаимодействие происходит с помощью локальной сети. вероятно. Но высококлассные базы данных SQL Server нужны только крупным организациям. Amazon. Для тех. Вы узнаете. Excel придает блеск бесконечным рядам чисел. Тем не менее Access вполне подходит для большинства предприятий малого и среднего бизнеса. Access или SQL Server? Корпорация Microsoft предлагает еще одну программу управления базами данных промышленного уровня — SQL Server. в главе 19. такие как SQL Server.Конечно. считаете. когда они их запрашивают). как это делается. нацелены исключительно на хранение данных (и пересылку этих данных на другие компьютеры. создавая диаграммы.) Базы данных на основе сервера (server-based databases) гораздо труднее создавать и сопровождать. Серверные процессоры баз данных. — это системы. что Access — это программа. (Если вы все еще сомневаетесь. подобными SQL Server. кто понимает. Когда программы Access недостаточно ". даже если одновременно их используют тысячи людей.

сможете ли вы преодолеть это ограничение. Excel и Access не слишком изменились. Microsoft тратит больше времени на втискивание причудливых трюков вроде говорящей канцелярской скрепки. которые применяются для взаимодействия с программой Access). Это ограничение трудно корректно интерпретировать. В главе 18 приведена дополнительная информация о совместном использовании программы Access группами пользователей. корпорация Microsoft набралась смелости и переработала его весь с нуля. Этот процесс не всегда бывает гладким. Иногда фанаты программы Access обращаются в гуру программы SQL Server. такой как SQL Server (и сильной команды программистов. Можно начать с современной базы данных Access и затем перейти к SQL Server. Новый облик программы Access 2007 С тех самых нор. Потратив слишком много времени на упрощение бессистемного. в конце концов. когда пакет Office корпорации Microsoft завоевал мир (в давних 1990 гг. но он возможен. созданной SQL Server. программы Word. засоренного панелями инструментов интерфейса. Несмотря на то. что программа Access не очень вам подходит. чтобы понять. Если вы не попадаете в данные категории. меню и ускоряющие сочетания клавиш. не создавая проблем. если не будете хранить в базе данных больших изображений или цифрового контента других типов. • Вы должны использовать вашу базу данных для запуска Web-приложения. Webприложение предоставляет большому числу людей возможность обращаться к базе данных одновременно. поздравляю — вы готовы к использованию в любой области наиболее последовательного и эффективного программного обеспечения для управления базами данных! • Вы должны хранить огромные объемы информации (более 2 Гбайт данных). что время от времени появляется действительно полезная новая функциональная возможность. Этот метод описан в главе 20. панели инструментов. но проблемы возникнут. когда ваши потребности превысят то. Программа Access 2007 нарушает эту традицию и вводит ряд изменений. Лента Лента программы Access 2007 — это инструментальная суперпанель. что может предложить программа Access. Следует протестировать вашу базу данных.В следующем перечне описывается несколько предупреждающих признаков того.). заменившая разнообразные панели инструментов и меню предыдущих версии. В этой ситуации вы выиграете от применения серверной базы данных. . когда группа людей настроена вносить изменения в один и тот же файл базы данных точно в один и тот же момент времени. У большинства баз данных Access размер — несколько мегабайтов (в 1000 раз меньше 2 Гбайт). Вы даже можете продолжать использовать Access как клиента для управления вашей базой данных. Вы врядли превысите этот предел. Базу данных могут спокойно использовать время от времени сотни людей. • Вы собираетесь совместно использовать базу данных в сети. которая выручит вас). Программа Access может не справиться с нагрузкой. Наиболее очевидное изменение — полностью исправленный пользовательский интерфейс (окна. и десяткам людей придется обращаться к ней одновременно. наиболее значительных из известных поклонникам программы со времен Office 95.

включая хорошо известные инструменты копирования и вставки и команды форматирования для выбора шрифтов и цветов оформления. хранящие данные. Лента разделена на зависящие от выполняемых задач вкладки — Главная (Ноmе). К ним относятся таблицы. выполните действия. Внешние данные (External Data) и т. "Просмотр таблиц с помощью области переходов" в главе 1). На рисунке мышь перемещается над командой Таблица Подсказка Хотите использовать пространство экрана. . Запускается программа Access с выводом на экран четырех вкладок (другие вкладки появятся. оставив видимой только строку с заголовками вкладок.  На вкладке Главная (Ноmе) собраны вместе разнообразные общие команды. пока вы не создадите базу данных. такие как сортировка. Сворачивание ленты" (см. Снова дважды щелкните мышью вкладку для того. когда вы начнете решать конкретные задачи). Далее приведен краткий обзор четырех основных вкладок ленты. поиск и фильтрация. описанные в разд. Рис. Это свойство более подробно описано в примечании "Малоизвестная или недооцененная возможность. позволяющих вставлять новые компоненты базы данных. Здесь же можно найти удобные средства. "Что такое базы данных Access" главы 1). Щелкните кнопкой мыши вкладку Создание (Create) (как показано на рис. вместо привычного скудного двух-трехсловного описания в желтом поле вы увидите привлекательное раскрывающееся поле с осмысленным кратким описанием. Когда вы перемещаете указатель мыши над кнопкой ленты. с которыми вы познакомитесь в главе 3. В2. "Создание новой базы данных" главы 1. д.Примечание Программа не выводит на экран ленту до тех пор. чтобы вернуть кнопки на всеобщее обозрение. и лента свернется. В2) и вы получите доступ к множеству мощных команд. о которых вы узнаете в этой книге (более подробную информацию см. для создания пустой базы данных. Если больше нет сил оставаться в неведенье и вы очень хотите увидеть ленту на вашем мониторе. Лента наполнена высокопрофессиональными средствами. Программа начинает работу на вкладке Главная (Ноmе). занятое лентой? Просто щелкните дважды кнопкой мыши текущую вкладку.  На вкладке Создание (Create) находятся команды вставки всевозможных объектов баз данных. в разд. Создание (Create). разд.

Они лишь слегка изменяют компоновку при изменении окна программы Access. вы не увидите команд. чтобы увидеть название . но вы видите теперь только маленькие пиктограммы без какоголибо текста. чтобы увидеть их содержимое. В этом очень узком окне программы Access не слишком много места для кнопок ленты. Здесь также можно найти команды для вставки кода на языке Visual Basic. В3). Все эти команды будут применяться в части VI. и отчеты. подробному изучению которого посвящена часть V. по-прежнему остаются на ленте. таинственно перемещающихся или исчезающих с мгновение ока. вы сможете еще легче переходить от вкладки к вкладке. перемещая указатель мыши вдоль ленты и двигая колесико скроллера вперед и назад. В2. Все команды. отображенные на рис. Подсказка Если у вас мышь со скроллером. формы. Одно из замечательных свойств ленты заключается в ее неизменности — другими словами. В3. исследующие данные.запросы. облегчающие редактирование данных. Имеет смысл потратить немного времени на освоение ленты и ее вкладок. так чтобы оптимально использовать доступное пространство (рис. Корпорация Microsoft решила разработать предсказуемую ленту. ■ На вкладке Работа с базами данных (Database Tools) собраны профессиональные средства. ■ Вкладка Внешние данные (External Data) включает команды импорта данных в программу Access и экспорта их в другие программы. расширения базы данных до возможностей SQL Server. В процессе чтения книги вы лучше познакомитесь со всеми этими командами. Рис. проведите указателем мыши поверх нее. связывания таблиц. Вы также найдете здесь инструменты для интеграции с Microsoft SharePoint Server. переходя вперед и назад по четырем разделам. поэтому ее команды всегда остаются на одном и том же месте. Попытайтесь поочередно щелкнуть кнопкой мыши каждую из них. выводящие данные на печатное устройство. Если вы сомневаетесь в назначении кнопки. которые применяются для анализа базы данных.

как минимум.0 завоевал популярность в начале 1990 гг. Использование ленты с помощью клавиатуры Если вы неисправимый любитель клавиатурных команд. которые появлялись тогда. 2. поскольку количество команд было достаточно мало. усеивающие весь экран. Вы не только легко можете понять ее организацию и перемещаться по ней.На этой вкладке выбираете команду. В конце концов. боровшиеся за сохранение лица более десяти лет.Уголок ностальгии. мы достаточно настрадались от некоторых болезненных экспериментов. раскрывающиеся боковые панели. не нужно нажимать одновременно все клавиши (как вы скоро увидите. заслуживают нового интерфейса. после того как нажата клавиша <Alt>. то поймете. как только вам понадобилась команда. которые всегда скрывались. как Word 2. вы делаете две вещи в следующем порядке: 1. если нужно пробираться в подменю. что после того как вы нажали клавишу <Alt>. Зачем опять изобретать колесо? Некоторые ветераны программы Access по понятным причинам скептически относятся к ее новому интерфейсу. что инициировать команды ленты можно с помощью клавиатуры. например. Как только вы освоитесь в новой системе. то будете рады услышать. В предыдущие версии программы вводились безумные идеи. В действительности все приложения пакета Office. Вам потребуется и больше нажатий. Вы действительно готовы запоминать десятки различных сочетаний ускоряющих клавиш? .Выбираете нужную вкладку. Каждое сочетание клавиш требует нажатия. ищите ее на одной из вкладок в верхней части окна программы Access. двух клавиш. Прежде чем запустить конкретную команду. Секрет в применении ускоряющих клавиш или сочетаний клавиш. где их искать. чтобы скрутить ваши пальцы похлеще. но и найти в одном месте все необходимое для работы. и плавающие панели инструментов. Важно усвоить. В те времена базовое меню и единственная панель инструментов были визитной карточкой. Уже сейчас весь процесс кажется практически бесполезным. чем в самой буйной игре Twister). когда вы меньше всего этого ожидали. в некоторых из них достаточно букв для того. что она не только помогает применять ваши любимые инструменты. У разработчиков пользовательского интерфейса корпорации Microsoft теперь новое заклинание: все есть на ленте. но и облегчает обнаружение новых функциональных возможностей благодаря1 просмотру вкладок. Вместо этого вы можете нажимать клавиши одну за другой. Для устранения этих недостатков и предназначена новая лента. начинающихся с клавиши <Alt> (этими сочетаниями вы пользовались для запуска команд меню). если вы хотите найти ту или иную функцию. вы должны выбрать правильную вкладку (даже если она уже есть на экране). что даже профессионалы не знают. Другими словами. индивидуализированные меню. Меню программ Office не менялись с тех пор. Применяя ускоряющие клавиши. Сегодня программы пакета Office тонут в обилии функциональных возможностей — и они запрятаны так глубоко в разные укромные уголки и щели.

то увидите буквы рядом с каждой командой этой вкладки. программа Access готова помочь. над каждой кнопкой этой вкладки снова появляются буквы. . Есть и другие сочетания клавиш. <У> перемещает данные на SQL Server). Например. Как только нажата клавиша <Alt>. Вверху: когда нажимается клавиша <Alt>. Внизу: если вы нажмете клавишу <Б> (для выбора вкладки Работа с базами данных). с помощью сочетания <Ctrl>+<C> копируется выделенный текст. Выйти из режима Клавиатурных подсказок без запуска можно в любое время. Теперь можно нажать одну из них для запуска команды (например. над каждой вкладкой по мановению волшебной палочки появляются буквы. Эти клавиатурные комбинации начинаются с клавиши <Ctrl>. названному "Клавиатурные подсказки" (KeyTips). благодаря новому инструменту. над меню Office и над кнопками Панели быстрого доступа. проведя указателем мыши над командой. Рис. He пытайтесь установить соответствие между буквами и именами вкладки или кнопки — в ленте спрятано так много функциональных возможностей. узнать ускоряющие сочетания клавиш можно. не использующие ленту.К счастью. На рис. Как правило. повторно нажав клавишу <Alt>. Вот как он работает. Теперь можно нажать соответствующую клавишу для запуска команды. а сочетание <Ctrl>+<S> сохраняет текущую работу. После того как нажата клавиша выбора вкладки. В4 показан этот инструмент о действии. программа Access накалывает буквенные подсказки рядом с каждой вкладкой. что в большинстве случаев буквы ничего не значат Примечание В некоторых случаях у команды могут быть две буквы-клавиши. и вам придется нажать поочередно обе клавиши. В4.

вы запускаете "воображаемое" меню Редактирование. Access просто выведет на экран всплывающую подсказку. что вы начали вводить ускоряющее клавиатурное сочетание для меню Access 2003. какую клавишу нажать далее. Сочетания клавиш в Access 2003 Если у вас есть опыт работы в предыдущий версии Access. что в Access 2007 сохранилась большая часть ускоряющих клавиатурных сочетаний. Если вы захотите увидеть меню для того. над лептой появляется всплывающая подсказка (рис. В конце концов. поскольку программа знает. если вы попытаетесь применить одну из уже несуществующих команд. Но всплывающая подсказка дает знать о том. сообщающую о том. и вы увидите подсказку. что ускоряющее сочетание клавиш — <Ctrl>+<V>. На первый взгляд не кажется. Если нажать комбинацию клавиш <Alt>+<E> в Access 2003. попытка будет безуспешной. Если вы работали в предыдущей версии программы Access.Проведите указателем над кнопкой Вставить (Paste) на вкладке ленты Главная (Home). открывающих меню и выбирающих нужную команду. Это поведение похоже на действие за кадром невидимого меню. Если вы продолжите и нажмете клавишу <S>. Теперь можно завершить действие. чтобы вспомнить. раскрывается меню Редактирование (Edit) (в главном меню). Оно не сработает. вы. что программа обратила внимание на вашу команду. это средство не всегда вас выручит. поскольку в Access 2007 оно не существует. Вы не можете увидеть его. Нажав сочетание клавиш <Alt>+<E>. Конечно. возможно. чтобы облегчить жизнь многолетним приверженцам Access. но они действуют несколько иначе. нажав следующую клавишу для запуска команды меню . приучили себя использовать сочетания клавиш для вызова команд меню — клавиатурных комбинаций. то обнаружите. Затем можно нажать клавишу <S> для выбора команды Специальная вставка (Paste Special). Рис. В5. Если нажать комбинацию клавиш <Alt>+<E> в Access 2007. то попадете в знакомое диалоговое окно команды Специальная вставка (Paste Special). в Access 2007 даже нет главного меню! К счастью. В5). Уголок ностальгии. что вы собираетесь делать. сообщающая о том. корпорация Microsoft согласилась на дополнительные трудности. что эти ускоряющие клавиши много значат в программе Access 2007. Вы можете по-прежнему пользоваться вашими ускоряющими сочетаниями клавиш для команд меню.

Некоторые команды меню Office скрывают в подменю с дополнительными командами. к которой надо привыкнуть. чем традиционное меню. Если щелкнуть его кнопкой мыши. Рис. Вы попадаете в него с помощью кнопки Office — большого круглого логотипа в верхнем левом углу окна программы (рис. позволяющее открывать. У меню есть одна особенность. Возьмем команду Печать (Print).Меню Office В программе Access 2007 вроде бы сохранилась небольшая часть традиционного меню Access. преобразовано в меню Office. Меню Office крупнее и легче читается. на экран выводится список команд меню (слева) и перечень недавно использовавшихся баз данных (справа) Как правило. Вы много раз будете делать это в главе 1. главу 3) и рассылка ее другим людям по электронной почте (см. ■ настройка поведения программы Access. меню Office применяется для решения трех задач: ■ открытие. ■ печать вашей работы (см. Вы можете выбрать Печать в меню Office для быстрого вывода на принтер вашей работы. В6). Но если щелкнуть направленную вправо стрелку у края строки с командой Печать . Стандартное меню Файл (File). В6. сохранять и печатать файлы. главу 19). создание и сохранение вашей базы данных. Выберите кнопку Параметры Access (Access Options) в нижней части меню для вывода диалогового окна Параметры Access — полнофункционального центра для настройки установочных параметров программы Access.

о ней не стоило бы и говорить. полностью замените команды Панели быстрого доступа своими собственными. В8). На нем находится ряд маленьких пиктограмм. запускаемая щелчком кнопки мыши. похожих на инструментальные кнопки в более ранних версиях программы Access. Эта область экрана называется Панелью быстрого доступа (Quick Access toolbar или QAT для фанатов Access). соответствующий вашим предпочтениям.(или несколько секунд подвигать над ней указателем мыши). Корпорация Microsoft сознательно сохранила Панель быстрого доступа очень маленькой. чтобы дать выход желанию создать интерфейс. пользуясь отсутствием каких-либо ограничений. можно удалить с панели неиспользуемые командыкнопки и добавить свои любимые. Если бы Панель быстрого доступа была только инструментальной панелью с тремя командами. В7. то вы увидите подменю c дополнительными командами. Другими словами. Она спроектирована для того. и подменю. что вы можете настраивать эту панель. Рис. В7. показанными на рис. В приложении рассказано. действующих аналогично Инструментальная Панель быстрого доступа Зоркий взгляд заметит крошечный кусочек экрана. Печать — одновременно и команда меню. Для вывода на экран подменю нужно подвигать указателем мыши над командой Печать (без щелчка кнопкой мыши) или щелкнуть мышью стрелку у правого края (показанную здесь). Если вы. расположенный справа от кнопки Office сразу над лентой (рис. как это делается. остальная . участок. На ленте есть еще несколько кнопок. Но основная изюминка ее в том.

что программа использует за кадром процессор Jet для управления операциями (такими как добавление и обновление данных). поскольку ими пользуются чаще других. не страдая от головной боли.) Рис. Когда корпорация Microsoft решила переработать программу Access 2007. что коллега или ваша супруга смогут пользоваться вашим компьютером. Программа Access выделяет эти команды. . (А это значит. ■ Новый усовершенствованный процессор баз данных (database engine).лента останется неизменной. У Access 2007 теперь есть собственная специализированная версия Jet. Примечание Не беспокойтесь. что вы можете продолжать использовать базы данных старого стиля. В8. Отменить и Вернуть. созданные в Access 2003. программа Access 2007 на 100% обратно совместима с предыдущими версиями программы. Но. вложения или сложные данные. Это означает. но при этом не сможете применять новые возможности (например. описанные далее) до тех пор. Но новый внешний вид — не единственное усовершенствование. которая разрабатывала Access 2003. пока не создадите файл базы данных нового формата. Панель быстрого доступа держит у вас под рукой команды Сохранить. как вы узнаете из приложения. позволившая создателям Access добавить новые функциональные возможности и применить тонкую настройку рабочих характеристик программы. на эту панель можно добавить любую нужную вам команду Новые возможности в программе Access 2007 Самое впечатляющее нововведение Access 2007 — новый пользовательский интерфейс программы. она сформировала команду разработчиков в семь раз больше той. Многолетние профессиональные пользователи программы Access знают. Далее перечислены основные из них. Этот дополнительный человеческий ресурс помог внести ряд долгожданных изменений.

■ Вложения (Attachments). позволяющий вставить форматирование и тут же увидеть результат. чтобы помочь группам людей совместно использовать данные и сотрудничать в пределах организации. разработанных для того. включая изображения. Access 2007 лучше распознает безопасный код (код. хранящуюся в списке SharePoint. и решите. Как вы узнаете в части V. т. Создание привлекательной формы для ввода данных или отчета для вывода на принтер всегда требовало множества рутинных операций. В Access 2007 сформировать их гораздо легче благодаря автоматической верстке — функциональной возможности. В главе 21 вы узнаете больше о возможности совместной работы сервисов SharePoint и программы Access. Одна из самых замечательных функциональных возможностей Access — тип данных Вложение (Attachment). ■ Примечание Сложные данные не для всех. Но программа Access печально известна своей недоверчивостью к любому программному коду. который программа не отключает даже в базах данных. . и хотите ли вы ими пользоваться. способного совершить что-либо опасное (например. ■ Улучшенная защита при работе с кодом. Сложные данные облегчают процесс связывания таблиц. (Не стоит использовать видео. если вы уже применяете сервисы SharePoint для хранения данных или вам нужно предоставлять информацию для совместного использования множеству людей. не способный привести к серьезным повреждениям). вы сможете обрабатывать и модифицировать информацию. Главная причина введения сложных данных — поддержка функции объединения сервисов SharePoint. ■ Легко конструируемые формы и отчеты. поскольку у нее нет способов выявления кода. размер любой базы данных Access ограничен 2 Гбайт. ■ Сложные данные (Complex data). полагаясь на их создателя или на место их хранения. "Вложение" главы 2. В результате у программы Access появилась досадная привычка отключать на всякий случай весь ваш код. Примечание Вы вряд ли захотите использовать SharePoint. не заслуживших доверия. ускоряющее средство.) Как применять вложения. В программе есть и новый Режим макета (Layout). позволяющий задать базы данных. предоставляемыми программой Access. удобно ли для этого специальное. вы узнаете в разд. аудио и другие объемистые медиафайлы. позволяющее хранить в одном поле несколько значений (или "сегмент" данных). позволяющий хранить целые файлы в вашей базе данных. которым вы готовы доверять. специалисты по базам данных применяют макросы и написанные вручную программные процедуры для решения трудных задач. Эти функции встроены в операционную систему Windows Server 2003. Это необязательное новое свойство. Например. если удовлетворены средствами. способными создать дополнительную путаницу. удалить ваши файлы). группирующей связанные порции данных в единое целое в виде подходящих столбцов или таблиц. В Access 2007 вы можете использовать новый центр управления безопасностью (trust center). а обычная база данных Access просто не поддерживает эти функции. документы и электронные таблицы. как связывать таблицы. с помощью сложных данных вы можете связать несколько авторов с одной книгой. Некоторые специалисты по базам данных считают их излишествами. Сервисы SharePoint — это популярный набор функций. В главе 5 вы узнаете. к. Применяя программу Access 2007. Интеграция с помощью SharePoint. Но вам понравятся возможности интеграции SharePoint.

■ Часть IV. ■ Приложение. вносить изменения в них и суммировать большие объемы данных. Теперь. ■ Часть II. Совместное использование Access. как с помощью отчетов можно превратить "голые" данные в ваших таблицах в хорошо сделанные распечатки с помощью форматирования. о том. если вы ищите краткое описание. и промежуточных итогов. необходимые для выявления ошибок до их возникновения. просмотра вашей базы данных и связывания таблиц. Хранение данных в таблицах. порой изобретательного. Краткое содержание Книга разделена на семь частей. как применять Access для взаимодействия с некоторыми наиболее мощными программами корпорации Microsoft: процессором баз данных SQL Server и программным обеспечением для совместной работы SharePoint Server. как создать привлекательную диаграмму. каждая из которых состоит из нескольких глав. ■ Часть V. . Отчеты. то не найдете ничего.Об этой книге Несмотря на многолетние и многочисленные усовершенствования программного обеспечения. которые делают ввод данных легкой задачей даже для новичков программы Access. ■ Часть III. Разработка пользовательского интерфейса с помощью форм. В этой части вы научитесь извлекать паши данные из файлов других типов (или помещать в них данные). ■ Часть I. С другой стороны. что вы будете читать интерактивную help-информацию для того. В этой части показано. как настроить Панель быстрого доступа для облегчения использования ваших любимых команд. чтобы познакомиться с тысячами функциональных возможностей. о которых вы (пока) не слышали. На ее страницах вы найдете подробные инструкции и советы по использованию почти всех функциональных возможностей Access. когда вы овладели основными сведениями о проектировании баз данных. хранящие данные. В этой части вы будете использовать макросы и программирование на языке Visual Basic для автоматизации сложных задач и решения распространенных проблем. Книга заканчивается приложением. Затем вы приобретете практические навыки. таких как текстовые документы и электронные таблицы программы Excel. В этой части вы создадите свою первую базу данных и узнаете. Эта книга представляет собой подробное руководство к программе Access 2007. Порой эти экраны помощи действительно очень полезны. одна составляющая не претерпела никаких изменений: документация корпорации Microsoft. скажем. Microsoft по-видимому рассчитывает. если вы хотите узнать. включенных в это программное обеспечение. Обработка данных с помощью запросов. включая те. способные извлекать интересующие вас данные. В этой части вы будете создавать запросы — специализированные команды. например. В этой части вы создадите формы — настраиваемые окна. ■ Часть VI. показывающим. В поставку пакета Office 2007 вообще не входит печатное руководство пользователя. Программирование в Access. объясняющее новую загадочную функцию. как добавлять и редактировать таблицы. кроме сжатых и иногда непонятных инструкций. то готовы погрузиться в черную магию программирования в Access. Вы также увидите.

Об → этих →стрелках На всем протяжении книги вы будете встречать предложения. Если вы сделали окно программы совсем маленьким. группа отображается как одна кнопка с названием группы. . Если щелкнуть мышью одну из них. Вместо этого отображается только маленькая пиктограмма. которую вы должны щелкнуть мышью. Программа Access учитывает эту ситуацию. В данном примере у программы Access недостаточно места для вывода на экран в раскрытом виде групп Режимы. Если размер окна Access мал. Скажем. некоторые функции нужны только в определенных обстоятельствах.2 и найдите нужную кнопку. Рис. Щелкните мышью эту кнопку. поясняющего назначение кнопки. на экране появится панель с искомым содержимым. У вас должно быть немного больше функций. и пропавшие команды появятся на раскрывающейся панели (рис. Контекстные вкладки Несмотря на то. помогающий вам найти нужную функциональную возможность или команду на ленте программы Access. В. В10). зависящих от решаемой в данный момент задачи.) Как было показано на рис. вставляя на ленту одну или несколько контекстных вкладок. что хорошо сделанные. щелкать ее мышью или нет. то могли не оставить места для отображения раскрытой группы. применение которых ограничено конкретным сценарием (рис. Это способ сокращенной записи последовательности действий. В9. вид ленты меняется в зависимости от размера окна программы. На вкладке найдите группу Таблицы. ВЗ. чем при вводе данных. Его можно расшифровать следующим образом: "На ленте щелкните кнопкой мыши вкладку Создание. В подобной ситуации можно поводить указателем мыши над загадочной кнопкой для того. В группе Таблицы щелкните мышью кнопку Таблица". поэтому они заменены кнопками. (Вернитесь к рис. чтобы увидеть ее имя и решить. Записи или Найти. На этих вкладках есть дополнительные команды. подобные следующему: "Выберите последовательно Создание -> Таблицы -> Таблица (Create -> Tables -» Table)". В9). вы можете не увидеть на экране текста. вы начинаете проектирование таблицы. В этом случае. предсказуемые вкладки — замечательная идея.

направленную вниз. как только вы щелкните кнопку мышью. Приведем пример: "Выберите Работа с таблицами | Режим таблицы → Поля и столбцы → Новые поля (Table Tools | Datasheet → Fields & Columns → New Fields)". щелкнуть мышью нижнюю часть кнопки Режим (View) (для вывода меню с дополнительными вариантами) и затем выбрать из меню Конструктор (Design View). нужно щелкнуть мышью часть кнопки с направленной вниз стрелкой. В10). которую программа считает наиболее распространенным вариантом) или команду. Если щелкнуть мышью другую часть кнопки. что вы должны выбрать вкладку Главная (Ноmе). вы не увидите списка. как показано на рис. приведенное в книге. Это значит. . расположенным на ленте. Обратите внимание на первую часть этой инструкции — она включает название обычной вкладки Работа с таблицами (Table Tools) и отделенное символом | имя контекстной вкладки Режим таблицы (Datasheet). Примечание Присмотритесь к направленным вниз стрелкам. который следует выбрать из раскрывающегося меню. вам рекомендуется: "Главная → Режимы → Режим → Конструктор (Home → Views → View → Design View)". которую вы использовали последней. Например. инструкции в этой книге всегда включают название основной вкладки (Работа с таблицами на рис. В10. Для того чтобы увидеть полный перечень возможных вариантов. названная Режим таблицы. найти группу Режимы (Views). При работе с такими кнопками последнее действие. Когда вы разрабатываете форму. а у других — только если щелкнуть мышью стрелку кнопки. сообщает о варианте. Вместо этого программа Access запустит стандартную команду (ту. Раскрывающиеся кнопки Время от времени вы будете обнаруживать на ленте кнопки с вложенными в нее краткими: меню. В11.Рис. Контекстные вкладки всегда появляются в правой части ленты Если речь идет о контекстных вкладках. под заголовком вкладки Работа с таблицами появляется новая контекстная вкладка. они поначалу кажутся коварными. У некоторых кнопок меню появляются.

отрывая пальцы от клавиатуры для того. а затем отпустить обе клавиши. чтобы все три клавиши оказались нажатыми одновременно). Но в паре случаев вы все еще будете применять знакомое меню Windows. нажать клавишу <S> (так. наконец. лента заменила традиционные панели инструментов и меню. или щелкните верхнюю часть кнопки. пока она нажата. это говорит о том. Далее выберите в меню команду Открыть (Open)". Эта инструкция переводится следующим образом: "Щелкните мышью кнопку Office в левом верхнем углу окна для вывода меню Office. Например. Аналогичные инструкции встретятся вам при использовании меню Office. затем нажать и держать клавишу <Alt> и. что вы должны нажать и держать нажатой клавишу <Ctrl> и. что нужно удерживать нажатой клавишу <Ctrl>. пользуются сочетаниями клавиш вместо панелей инструментов и меню. Программа Access предоставляет возможность переключаться в разные режимы отображения базы данных. Вот почему многие опытные компьютерные фанаты везде. Затем в меню Файл (File) следует щелкнуть мышью команду Открыть (Open). чтобы увидеть показанное меню. что нужно щелкнуть кнопкой мыши заголовок меню Файл (File).Рис. Они выглядят примерно так: "Выберите кнопку Office → Открыть (Office → Open)". В такой ситуации стрелки указывают на уровни меню. Если вы видите в книге сочетание <Ctrl>+<S>. чтобы взять в руки мышь. В11. О сочетаниях клавиш Каждый раз. . сочетание клавиш <Ctrl>+<S> сохраняет вашу текущую работу в программе Access (как и в большинстве других программ). где это возможно. вы теряете несколько микросекунд. Инструкция "Выберите Файл → Открыть (File → Open)" означает. главу 16). при использовании редактора Visual Basic (см. чтобы перейти в следующий режим в перечне без каких-либо уточняющих вопросов Традиционные меню Как вы уже видели. Щелкните мышью нижнюю часть кнопки Режим. например. Аналогично заплетающее пальцы сочетание клавиш <Ctrl>+<Alt>+<S> означает. нажать клавишу <S>.

Мы будем рады. загружать главы и находить быстрые ответы. Просто перейдите на Web-сайт www. при каждой допечатке тиража книги мы вносим предложенные вами и подтвердившиеся корректировки1. Примеры Читая книгу. вы столкнетесь с рядом примеров. Многие из них доступны в виде файлов баз данных Access. с которой можно загрузить zip-файл с примерами. позволяющая легко находить тысячи книг о передовых технологиях. конечно же. демонстрирующих функциональные возможности программы Access и средства построения хороших баз данных. как место для подписки на бесплатную рассылку издательских планов. вырезать и вставлять код примеров. что книга доступна в Интернете благодаря сервису издательства O'Reilly Network Safari Bookshelf. "перетащить мышью" означает перемещать указатель мыши с нажатой левой кнопкой. Это виртуальная библиотека.com. Для того чтобы книга оставалась современной и точной. Фраза "щелкнуть кнопкой" означает навести указатель в виде стрелки на какой-то объект на экране и затем — совсем не двигая указатель — нажать и отпустить левую кнопку мыши (сенсорной панели ноутбука).com На указанном Web-сайте можно найти новости. 1 Это утверждение касается оригинального издания. касающиеся будущих книг в сериях "Missing Manual" и "For Starters". требующих применения компьютерной мыши или встроенной сенсорной панели (track pad). Кроме того. наконец. поэтому вы сможете.О щелчках кнопкой мыши В этой книги приводится три вида инструкций. щелкните кнопкой мыши ссылку на эту книгу. . Мы также упоминаем о таких изменениях и на Web-сайте.oreilly. внести важнейшие корректировки в ваши экземпляры книги. Нам также очень хотелось бы услышать ваши собственные предложения. Двойной щелчок. щелкните кнопкой мыши заголовок книги и затем ссылку Errata (список опечаток)). О Web-сайте MissingManuals. касающихся книг названных серий.com. статьи и обновления книг серий "Missing Manual" (недостающее руководство) "For Starters" (для начинающих). Safari предлагает лучшее решение. каждый из которых можно загрузить из Интернета. На Web-сайте для них отведено специальное место. Испытайте этот сервис бесплатно на Web-сайте http://safari.missingmanuals. Web-сайт предлагает исправления и обновления для данной книги (чтобы увидеть их. это означает. упорядоченными по главам. — Ред. если захотите. чтобы перейти на страницу. чем просто электронные книги. насколько это возможно. Safari Enabled Когда вы видите пиктограмму Safari® Enabled на обложке книги о вашей любимой технологии. а затем ссылку Missing CD (отсутствующий CD) для того. И. означает два быстрых последовательных щелчка кнопкой мыши также без какого-либо перемещения указателя. если вы отправите собственные исправления и обновления. если вам необходима точная и свежая информация.

поиск. Блокировка неправильных данных Глава 5. Создание более сложных таблиц Глава 3. Обработка листа данных: сортировка. Связывание таблиц с помощью отношений .Часть I Хранение данных в таблицах Глава 1. Создание вашей первой базы данных Глава 2. фильтрация и другие действия Глава 4.

вы можете активизировать Word и сразу же начать набирать письмо. возможно. вам придется потратить время на создание других полезных инструментов. Таблицы — главный компонент любой БД. сколько нужно для хранения данных разных типов. Такой файл содержит объекты или компоненты БД. вероятно. но действующую БД. они правы. чем другие программы пакета Office из-за особенностей работы с базами данных (БД). перечень тренажеров и количество богатых белком коктейлей из молочной сыворотки. Одновременно вы познакомитесь с новым удобным пользовательским интерфейсом программы Access и узнаете. Access отпугивает больше. которые вы проглатываете за день. можно было бы хранить регистрационный журнал ваших ежедневных пробежек. что именно можно хранить в БД. Подобная настройка требует усилий и хорошего понимания принципов работы БД. В этой главе вы преодолеете имеющееся у вас предубеждение против программы Access и научитесь создавать простую. 10 самых популярных продуктов . подробно описанного в данной книге. Просто БД требуют строгого соблюдения правил. Всего у вас есть шесть объектов БД разных типов. и их можно создать столько. ■ Таблицы хранят данные. БД — это коллекция информации. программа Access может произвести устрашающее впечатление. Хотя Microsoft потратила миллионы на попытки облегчить работу с Access. Объекты БД играют главную роль в БД Access. Или можно запустить Excel и энергично заняться финансовым отчетом. вызывая появление холодной испарины у самых самоуверенных сотрудников. вам придется сформировать схему БД. которые можно использовать для упрощения поиска и ввода данных. что корпорация Microsoft не признает этого.Глава 1 Создание вашей первой базы данных Несмотря на то. В БД о вашей физической форме. Прежде чем ввести малейшую порцию информации в базу данных. ■ Запросы позволяют быстро обработать таблицу. И. Программа Access не так легко управляема. Что такое базы данных Access Как вы уже знаете. большинство пользователей все еще считают ее самой сложной программой в пакете Office. В программе Access каждая база хранится в одном файле. После этого вы будете готовы приняться за постижение высокого искусства проектирования баз данных. Обычно такая обработка включает извлечение выбранной порции информации (например. Другие программы не столь требовательны. таких как легко управляемые процедуры поиска и удобные формы. Например. состоящей из трех таблиц. И даже после этого шага.

Но сначала вам следует узнать больше о БД и рабочей среде программы Access. Формы облегчают просмотр или изменение данных таблицы. необязательно. Использование чужой БД Могу ли я использовать БД Access. а также способ форматирования. В данной главе вы познакомитесь с важнейшим типом объектов БД — таблицами. в то время как другие служащие будут искать заказы и заполнять их (тоже задача № 2). Вы можете использовать этот код для выполнения задач. ■ Отчеты помогают напечатать часть данных или всю информацию из таблицы. смышленый студент. ■ Макросы — это мини-программы. . Например.ресторанов-закусочных Ed's Roadside Dinner или все ваши покупки за день). Вы можете выбрать размещение информации на печатной странице. а штатный бухгалтер (resident accountant) может следить за общим объемом продаж (задача № 2). Запросы также можно использовать для внесения изменений. что все БД — это всегда результат двухэтапного процесса (сначала кто-то создаст их. Затем отдел продаж может использовать БД для ввода новых заказов (задача № 2). Приступая к работе Пора начать ваше путешествие и запустить программу Access.) Знатоки программы Access называют все эти составляющие объектами БД. поскольку всеми ими вы по существу управляете одинаково. Примечание Проектирование БД — это процесс вставки и настройки объектов БД. вы включаете его в вашу БД. Сотрудники склада могут проверять достаточность уровня запасов (снова задача № 2). которые вы создаете. В реальном деловом мире часто разные люди работают над их выполнением. (Глава 16 целиком посвящена языку Visual Basic. Вы начнете с яркой страницы Приступая к работе с Microsoft Office Access (Getting Started with Microsoft Office Access) (рис. варианты ее группировки и сортировки. Часто задаваемый вопрос. Макросы помогают получить желаемые результаты без знания программирования. которую проектировал кто-то другой? Несмотря на то. может создать БД для отслеживания заказов (задача № 1). ■ Модули — это файлы. которые вам больше не нужны. Впоследствии вы сможете просматривать свои объекты. присваиваете ему имя и затем выполняете его тонкую настройку. структурируете и раскрашиваете. подобных обновлению 10 000 записей или отправки электронной почты. а потом люди заполняют их данными). чтобы один и тот же человек выполнял обе задачи. ■ Формы — это чудесные окна. переименовывать их или удалять тс из них. автоматизирующие выполнение пользовательских задач. содержащие код на языке Visual Basic. 1. Для хранения этого множества БД Access может включать 32 768 разных объектов. проводящий летние каникулы на пивном складе.1). Если нужно использовать конкретный объект.

могут спокойно использовать ее для ввода. найти экономящие время . Используйте ссылки слева для просмотра разных категорий шаблонов (готовые к применению БД. О групповом использовании Access вы узнаете больше и главе 18. но на самом деле она служит следующим трем целям. ■ Знакомит вас с новейшей информацией Web-сайта Microsoft's Office Online. если БД хорошо спроектирована. Например. но им даже совсем не надо знать. немного знающие программу Access. 1.Если задача № 1 (создание БД) выполнена хорошо. люди. вы можете прочесть полезные статьи о программе Access. Рис. которые указывают на последние новости и советы. Страница Приступая к работе с Microsoft Office Access — это гибрид окна Windows-программы и Web-страницы. касающиеся программы Access На первый взгляд страница Приступая к работе с Microsoft Office Access немного сбивает с толку. Поразительно. Или проверьте ссылки внизу. которые вы можете загрузить и заполнить своими данными). обновления и поиска информации. На самом деле.1. что они работают в программе Access. выполнение задачи № 2 (использование БД) может быть очень легким.

Шаблоны. На профессиональном уровне. Вы можете начать с пустой БД (используя пиктограмму Новая база данных (Blank Database)) или попытаться найти готовый к использованию шаблон. Эта книга научит вас создавать собственные БД с нуля и подгонять в них каждый дюйм. отвечающий вашим требованиям. и содержатся другие подробности. как это сделать. Даже если вы найдете шаблон. которую вы использовали недавно. может оказаться. вы сможете проводить много доставляющих удовольствие часов в попытках переделать шаблоны и адаптировать их в соответствии с вашими потребностями. . Программа Access предоставляет вам и такую возможность. если начать прокручивать его содержимое. Найдите справа раздел Открыть последнюю базу данных (Open Recent Database). что заранее определенная схема не вполне правильная. но это не простая задача и рекомендуется только учреждениям. может оказаться что в шаблоне пропущены кое-какие данные. вам придется изменить проект вашей таблицы и применить те же средства программы Access. Для того чтобы заставить шаблон работать. вам захочется настроить страницу Приступая к работе с Microsoft Office Access. Создание новой базы данных В этой главе вы создадите на скорую руку довольно простую БД. (Для тех. за это удобство приходится платить. кто не знает. Как вы уже догадались. подходящие для разных целей Шаблоны — это заранее сформированные БД. Возможно. Если вас интересует эта функциональная возможность. в этом хранилище можно найти гораздо больше.  Она позволяет вам открыть БД. (Во время написания этой книги он все еще не был выпущен. желающим стандартизировать страницу Приступая к работе с Microsoft Office Access для облегчения условий работы их сотрудников.microsoft. которые вы хотите отслеживать.com. в следующем разделе показано. Пример разработан для хранения списка кукол-болванчиков (bobblehead dolls). пока не создадите новую БД. Все ссылки открываются в отдельном окне Webобозревателя.подсказки или загрузить обновления. в котором отображается список БД.  На этой странице можно создать новую БД.) Страница Приступая к работе с Microsoft Office Access — это лишь входная дверь в программу Access. которые для вас не важны (такие как дата приобретения вами каждого предмета). который можно найти на сайте http://msdn. что при ее создании. если вы решили использовать шаблон Home Inventory (домашний склад) для учета всего хлама с вашем подвале. Например. Но вы не можете опробовать другие возможности Access. планируемая стоимость перепродажи вашего хлама на сайте eBay). Став знатоком программы Access. которые вы бы хотели использовать (например. вам необходимо другое программное средство: свободно распространяемый пакет Access Developer'sToolkit. Они избавляют вас от необходимости создавать свою БД и позволяют перейти сразу к ее тонкой настройке и вводу данных. Предприятие может добавить ссылки на Web-сайт компании или часто используемый шаблон БД. хранящий данные.

Куклы-болванчики обычно похожи на известных звезд. Далее перечислены действия. необходимые для создания новой пустой БД. "Примеры" во введении. когда вы просматриваете шаблоны (щелкнув одну из категорий под заголовком Из Microsoft Office Online).microsoft. использованные в этой книге.) Такое же таинство совершается. если ваш компьютер не сможет подключиться к Интернету. спортсменов или вымышленных персонажей. Этот процесс настолько незаметен. Время от времени вы замечаете. она за кадром связывается с высокопроизводительными Web-серверами корпорации Microsoft и запрашивает последнюю информацию для области ссылок в нижней части страницы Приступая к работе с Microsoft Office Access. Само собой разумеется. и освобождает от необходимости обновления программного обеспечения Access. He соглашайтесь на имя. Один день вы можете видеть ссылку на статью о макровирусах. (Вместо этого вы будете бесконечно видеть одно и то же устаревшее содержимое.) Если вы хотите просмотреть более полный каталог статей и источников. что вы даже не подозреваете о его существовании. что содержимое в этой области меняется. (Если щелкнуть ссылку кнопкой мыши. Справа появится боковая панель (рис. чтобы получить список подходящих шаблонов. политиков. 1. предоставляемыми новейшими разработками и самой свежей информацией. Примечание БД Bobblehead и все остальные БД. 1. в разд. взятая с сайта Office Online. Программа Access хранит всю информацию о БД в одном файле с расширением accdb (что означает БД Access). указав адрес http://office. Введите имя файла. Работа Access в интерактивном режиме Одна из лежащих на поверхности функциональных возможностей страницы Приступая к работе с Microsoft Office Access — способ получения свежей информации из Webпространства.2). 2. на этот раз для того. которое Access выбирает автоматически . Когда вы запускаете программу Access. статья загрузится в окно Справка программы Access. касающихся программы Access. а на другой день появится статья с экономящими время подсказками или советами. создающей причудливые покачивания головы при легком касании. можно найти в Интернете.com в вашем любимом Webобозревателе.кукла-болванчик — это игрушечная фигурка с необычно большой головой на пружине.) На профессиональном уровне. то можете отправиться на Web-сайт Office Online самостоятельно (вне программы Access). Эта основанная на связи с Web-пространством система позволяет вам воспользоваться преимуществами. Более подробную информацию см. вы не увидите никаких обновлений. но не дайте себя одурачить: его содержимое — это по-прежнему просто Web-страница. Снова программа Access обращается к Web-пространству. На странице Приступая к работе с Microsoft Office Access щелкните мышью пиктограмму Новая база данных.

и выбрать другую папку для размещения. Если рядом с именем файла видна маленькая пиктограмма Access (в виде ключа). В этом примере имя Bobblehead.accdb будет размещена в папке C:\Documents and Settings\Matt\My Documents. цифр.accdb в программе просмотра. файл какого типа перед вами. Как правило.accdb вполне подходит. . 1. дефисов (-) и знаков подчеркивания (_).accdb). Databasel. Если же вы видите что-то другое (например. Вместо него подберите что-нибудь более подходящее. как и имена любых других файлов. пробелов. Вместо имени файла БД Access MyScandalousWedding. это свидетельство того. крошечную палитру с красками).2. посмотрев на его пиктограмму. В этом случае вы все же можете определить тип файла. щелкнув кнопкой мыши пиктограмму папки Замечание ОС Windows может скрывать расширения файлов. это зависит от настроек вашего компьютера. скобок. вам придется соображать.accdb). Названия файлов программы Access. Вы можете изменить имя файла. БД Bobblehead. вы можете увидеть только имя MyScandaiousWedding (без завершающей части . такой как Проводник (Windows Explorer). что вы смотрите на БД программы Access. лучше избегать применения других специальных символов. могут включать комбинацию букв. Рис.(например. некоторые из них недопустимы. щелкнув кнопкой мыши в поле Имя файла (File Name).

Как только вы создаете или открываете БД. перейдите в нужную папку (рис. щелкните кнопкой мыши пиктограмму папки для вывода на экран диалогового окна Файл новой базы данных (File New Database). Как и в остальных программах пакета Office. что вы хотите хранить все созданные вами файлы в личной папке Мои документы (My Documents). 1. как вы сможете воспользоваться вашей новейшей пустой БД.3. 1. Выберите папку. В данный момент вы находитесь в центре управления.3. связанные с вашей БД (как показано на рис.4). Диалоговое окно Файл новой базы данных позволит вам выбрать место для хранения файла новой БД Access. 1. но те же самые параметры 4. Во введении даны базовые сведения о принципах работы ленты инструментов. Для этого нужно выбрать в поле Тип файла (Save as type) вариант формата 2000 или 2002—2003. окно Access немного меняется. (Для получения более подробной информации см. то заметите. Рис.) Но сначала рассмотрим. на котором вы сможете создать свою первую таблицу БД. Оно также дает возможность сохранить вашу БД в формате.3) и щелкните мышью кнопку ОК. в Access предполагается. Если это не так.Если вы работаете под управлением ОС Windows Vista. что у диалогового окна Файл новой базы данных совсем другой внешний вид. а слева — область переходов (navigation pane). Щелкните мышью кнопку Создать (Create) (в правом нижнем углу окна Access). Программа создаст файл вашей БД и затем выведет на экран лист данных. . разд. В верхней части экрана появляется выразительная панель инструментов (лента). применявшемся в предыдущих версиях программы Access (mdb). здесь вы будете выполнять все задачи. вставив в нее таблицу. "Лента" во введении.

лучше выбрать формат accdb.accdb в Access 2003. переоснащенная (retooled) версия. введенная корпорацией Microsoft в Access 2002 и повторно использованная в Access 2003. в котором вы будете работать. появившаяся в Access 2000. 1. пропустите новое детище в списке типов и вместо этого положитесь на старый добрый формат mdb. В более ранних версиях программы Access используется файловый формат mdb (который обозначает БД Microsoft).4. отображаются различные элементы (или объекты) вашей БД. Если вам не нужно беспокоиться о совместимости. Несмотря на то. и еще раз улучшенная (improved-yet-again) версия.) . скажем. Слева.3. На ленте в верхней части экрана сгруппированы вместе все команды программы Access. что у формата mdb на самом деле три версии: действующая (really) версия — действующий старый исходный формат. созданных в более ранних версиях программы В старых версиях программы Access не применяется формат accdb. предыдущие версии программы распознают только формат mdb. Окно документа в середине занимает оставшуюся часть окна программы. Использование Access БД. то ваш лучший выбор — машина времени. показанное на рис. в области переходов. 1. Это окно. поскольку он обладает самой высокой производительностью и новыми дополнительными свойствами.) Это вы должны знать. С помощью этой области вы сможете перейти от списка изделий к списку заказчиков и вернуться обратно. позволяющий вам выполнять различные задачи обработки вашей БД. к формату Access 95. то получите пустое окно и сообщение об ошибке. (И чтобы немного разнообразить жизнь. выбирая подходящий формат для ваших новых БД. Но если придется обрабатывать БД в других версиях программы Access.Рис. Эта лента и есть центр управления. Для создания в Access 2007 файла БД со старым форматом mdb используйте поле co списком Тип файла. кто понимает. (Если вы твердо решили двигаться вспять в дальнейшем. проектируя таблицы и заполняя их данными Для тех. Вы можете выбрать формат файла версии Access 2002— 2003 или более старый версии программы Access 2000. что Access 2007 с успехом применяет файлы форматов accdb и mdb. учтите. Если бы попытаетесь открыть файл Bobblehead.

На рис. подарки. что прежде чем запускать программу Access. Например. приглашенных на вашу свадьбу. что вы хотите сохранить несколько списков связанной информации. Character (персонаж). В главе 5 вы найдете достаточно примеров БД. ■ У таблиц четкая структура. Каждое поле представлено в отдельном столбце. в таблице Dolls одно поле содержит имя прототипа куклы. 1. Проектирование БД для начинающих Многие гуру БД полагают.Что такое таблицы Таблицы — это информационные контейнеры. . которые вы попросили. у каждой записи должно быть четыре поля (хотя допускается отставлять некоторые поля пустыми. а третье — дату покупки куклы и т. PurchasePrice (покупная цена) и DateAcqutred (дата приобретения)) Прежде чем вы начнете конструировать таблицу. В простой БД. предназначенный для продажи. В этой таблице видно. вы должны точно определить с помощью мозгового штурма. какую информацию хотите хранить. вы не можете неточно выполнять правила. в каждой записи представлены данные об одной куклеболванчике. и трофеи. 1. которые вы на самом деле получили. Рис. если они не используются). Но если окажется. что вставлены сведения о шести куклах-болванчиках. На профессиональном уровне. например. Другими словами. без нее вам негде хранить данные. д. Информация о каждой кукле хранится в пяти полях (ID (код). В таблице Products (товары) каждая запись представляла бы отдельный товар. В таблице каждая запись занимает отдельную строку. достаточно одной таблицы (которую мы назовем Dolls).5 показан пример простой таблицы. Manufacturer (изготовитель). В любой БД должна быть хотя бы одна таблица. В таблице Family (семья) каждая запись содержала бы сведения об отдельном родственнике. В каждом поле хранится конкретный фрагмент данных. В таблице Dolls. захотите учесть гостей.5. Запись — это набор данных об одном предмете. В БД BigBudgetWedding-accdb (Пышная свадьба) вы. возможно. ■ Таблица — это всего лишь группа записей. Идея понятна. Если вы создали четыре поля. ■ Каждая запись состоит из полей. другое поле — цену. использующих множественные таблицы. такой как Bobblehead. следует усвоить несколько очень важных правил. вам потребуется несколько таблиц.

который вы хотите поставить в конец следующего предложения "Мне нужен список. который потребуется вам для извлечения информации. программа Access создает первый объект вашей БД — таблицу. для коллекции кукол-болванчиков. Но в дальнейшем вы сможете отсортировать их любым способом. т. В данной главе вы будете применять этот способ. Другие детали. 1.5). такие как год ее производства. . 1. можно приступать к созданию соответствующей таблицы в программе Access. что эта таблица появляется на свет пустой. необходимые вам. в который вы будете вводить данные вашей таблицы. Таблицы Access не отсортированы. описывающим процесс создания БД (см. Этот режим также позволяет сконструировать таблицу на лету. В данном случае это значит мысленно выбрать куклу-болванчик для включения в список. проведенному вами ранее (см. Почти все профессиональные разработчики БД предпочитают этот режим. примечание "На профессиональном уровне." (Пример: "Мне нужен список всех кукол-болванчиков. без определенных полей (и без данных). и вы начнете его применять в главе 2. Если вы следовали шагам.Вот как это делается. компания-изготовитель и краткое описание ее появления или состояния. сейчас у вас на экране лист данных (см.  Конструктор (Design view) позволит вам точно определить все параметры таблицы до того. вам потребуется хранить имя куклы.") Затем бегло набросайте на листе бумаги все виды данных. Следующие действия покажут вам. когда вы вводите новую информацию. ее цену и дату ее покупки. сведения о какой кукле вы введете первыми. Существуют два способа настройки таблицы. Проектирование БД для начинающих" в конце предыдущего раздела). Проблема заключается в том. Замечание Не важно. Для определения таблицы вам нужно вставить первую запись. могут потребовать некоторых раздумий. После того как этот процесс завершен и определены все важные сведения. Благодаря простому анализу. В столбце таблицы Добавить поле (Add New Field) введите первую порцию данных для формирования записи (рис. В главе 5 вы узнаете гораздо больше о планировании более сложных БД. "Создание новой базы данных" ранее в этой главе). Сначала определите тип списка. Например. 1. В этом примере вы используете модель ловкача Гомера Симпсона (Homer Simpson). она почти пуста. названную Таблица1. Некоторые детали очевидны.  В Режиме таблицы (Datasheet view) вы вводите данные в таблицу. хранящихся в моем подвале. как вы начнете ею пользоваться. а затем создаете ее с помощью программы Access. Создание простой таблицы Когда вы впервые создаете БД. у них нет внутренней упорядоченности. чтобы вы могли начать. 2.. е. Вы должны настроить эту таблицу в соответствии с вашими потребностями. Пример с куклами-болванчиками демонстрирует важный компонент проектирования БД: сначала вы планируете БД.6). которые у вас должны быть.. как в Режиме таблицы превратить новую пустую таблицу (такую как Таблица!) в таблицу Dolls. возможно. рис. разд. Но для того.

вы знаете.99 (цена) и текущая дата (дата покупки). что можно начать с любого поля. поместите указатель мыши на правый край прямоугольника Поле1. Рис. вы можете обнаружить. поместите указатель мыши на правый край заголовка столбца. Повторяйте шаги 2 и 3. . 1. поэтому. К счастью.) Затем перетащите столбец вправо. что вам нужно ввести четыре поля данных для каждой куклы. начав набирать текст.6. Для куклы Гомера Симпсона они следующие: "Homer Simpson" (имя). Нажмите клавишу <Таb> для перехода в следующий столбец и повторите шаг 2. что вышли за пределы видимой области столбца. пока не вставите все необходимые поля. имеет смысл начать с имени. Затем нажмите клавишу <Таb> для перехода во второй столбец и введите вторую порцию данных. Для того чтобы расширить столбец. Большинство пользователей предпочитает видеть всю информацию в столбце. но подобная ситуация может вызывать раздражение. (Для того чтобы раздвинуть столбец с именем Поле1 (Field1). $7. На профессиональном уровне. которое служит важной идентифицирующей характеристикой. нет нужды молча страдать из-за узких столбцов. Пока не обращайте внимания на столбец Код — программа Access добавляет его к каждой таблице для идентификации ваших строк 3. Несмотря на то. Следите за тем. Вставка больших значений в узкие столбцы Столбец может вмещать абзацы информации целиком. Для заполнения первой записи начните с ввода данных в первое поле (например. чтобы каждая отдельная порция данных помещалась в свой столбец. имени куклы "Homer Simpson"). чтобы увеличить его до нужного вам размера. Это не проблема (помимо всего прочего вы можете просто прокрутить ваше поле во время его редактирования). "Fictional Industries" (компанияизготовитель).

Недостаток этих бессмысленных имен состоит в том. Повторяйте этот процесс до тех пор. Manufacturer (изготовитель). Поле2. Имя поля переключится в режим редактирования. Введите новое имя и нажмите клавишу <Enter>.Если вы немного нетерпеливы. Если хотите быть профессиональнее. (В главе 2 вы узнаете. Щелкните дважды кнопкой мыши заголовок первого столбца (например. Вернитесь к шагу 4. Если вы допустили ошибку.7. с помощью клавиш со стрелками можно вернуться назад. January 1. то перейдете на следующую строку и начнете ввод новой записи. есть сокращенная команда.7 показана полностью введенная запись. Поле3 и т. Рис. Примечание Если вы нажмете клавишу <Таb> без ввода какой-либо информации. вы автоматически получаете все необходимое вам пространство. включите знак доллара ($) при вводе цены и убедитесь в том.). Подходящие для данного примера имена — Character (персонаж). 1. Для предотвращения таких оплошностей следует задать более информативные имена полей 4. что они могут привести к вставке порции данных в неподходящее место. вмещающего всю информацию в нем (при этом столбец не может выйти за пределы окна программы Access). В примере все еще остается единственная проблема: при вводе новой записи программа Access создает абсолютно неподходящие имена полей.) На рис. Вы можете очень легко вставить цену покупки в столбец дат. . Эти особые метки сообщают программе Access о типе данных. Таким образом. 5. пока не подчистите все имена полей. И сейчас самое время их исправить. Их варианты вы увидите в верхней части всех столбцов (это имена Поле1. д. что дата введена в распознаваемом формате для дат (например. 1. 2008 (1 января 2008) или 01-01-2008). как в полной мере управлять типом данных в каждом столбце и избежать возможных недоразумений. Поле1). помещаемых в столбец. Дважды щелкните кнопкой мыши правый край столбца для получения размера.

7. Выбирайте подходящие имена полей" главы 2 приведена более подробная информация об именовании полей. 1. хранящиеся в этом поле.PurchasePrice (покупная цена) и DateAcquired (дата приобретения). Для выбора подходящих имен дважды щелкните кнопкой мыши заголовок столбца. Поздравляю! Теперь таблица — часть вашей БД. Хорошее имя для таблицы — это короткий текстовой заголовок без пробелов (Dolls в этом примере) . Выберите кнопку Office и команду Сохранить (Save) (или нажмите комбинацию клавиш <Ctrl>+<S>) для того. В разд. чтобы сохранить вашу таблицу.8. "Правило 1. Этот процесс изображен на рис. 1. (У вас также есть возможность удалить существующие поля.) 6. 1. Далее введите настоящее имя поля и нажмите клавишу <Enter>. Вы всегда сможете переименовать поля впоследствии и даже вставить совершенно новые поля.9. Рис.8. Программа Access попросит вас ввести имя таблицы (рис. но при этом неизбежно будут удалены все данные. но пока будем придерживаться коротких текстовых заголовков без пробелов Подсказка Не тратьте слишком много времени на тонкую настройку вашей таблицы. Рис.9). 1. Введите подходящее имя и щелкните мышью кнопку ОК.

Представьте себе. не удаляйте Наиболее опытные проектировщики редко удаляют записи из своих БД. как они сняты с производства и больше не могут быть заказаны. Для тех. Перейдите в нужное место листа данных (с помощью клавиш со стрелками или мыши) и затем введите замещающую информацию. Возможно. Если сомневаетесь. чтобы ввести столько строк. Эта строка на самом деле не существует до тех пор. Кто понимает. Как видите. ■ Вставку повой записи. Это правило о сохранении всевозможной информации применимо ко всем видам БД. изготовляющая оригами. какие категории товаров лучше всего продавались в прошлом году. который будет описан в следующем разделе. Каждая капля информации важна. Программа Access попросит вас подтвердить желание удалить выбранную запись. Или производитель выпускает распоряжение об изъятии бумаги с добавлением асбеста и вам нужно найти всех. содержащая одну таблицу. вам может понадобиться определить. Этот процесс можно повторять бесконечно для того. что у вас есть БД с перечислением товаров. поскольку позже вы не сможете отменить это действие. кто ее заказывал. которые продает по почте компания. Программа Access напомнит вам об этом. Это часто нудный процесс ввода данных. вы можете создать другую таблицу в вашей БД. Например. Вы можете использовать режим редактирования. Если вам не терпится попытаться еще раз. выбрав на ленте Создание → Таблица (Create → Table). Существует несколько способов удаления записи. создание простой таблицы в Access почти так же просто. Для заполнения таблицы Dolls воспользуйтесь тем же листом данных. что стоит хранить эти записи о старых товарах под рукой. когда вы закроете лист данных (щелкнув мышью кнопку х в правом верхнем углу окна документа) или при выходе из программы. Но выясняется. Вы можете выполнять три основные задачи. стоит повнимательнее рассмотреть способы редактирования вашей таблицы. Для выполнения любой из этих задач вам следует сохранять записи о ваших товарах. содержится одна запись. Переместитесь с нижнюю часть таблицы к строке с расположенной слева звездочкой (*). как подготовка данных в программах Excel или Word. расположенную непосредственно под данной. сколько вам нужно (программа Access может обрабатывать миллионы строк). пока вы не начнете вводить в нее данные. в которой. но легче всего щелкнуть правой кнопкой мыши в поле слева от записи и выбрать команду Удалить запись (Delete Record). Редактирование записи. ■ Удаление записи. В этот момент программа Access создает строку и перемещает звездочку в строку. что имеет смысл удалить товары после того. .Примечание Нет технической необходимости сохранять таблицу немедленно. Допустим. вы считаете. Ваша следующая задача — заполнить таблицу полезной информацией. Редактирование таблицы Теперь у вас есть вполне действующая (хотя и простая) БД. Но прежде чем вы приступите к этому. что вы отслеживаете прием студентов в кулинарную академию высшей категории. который применялся для определения вашей таблицы. в свою очередь.

вы проведете много времени. проданных вещей. В большинстве случаев вы вставляете в свою таблицу дополнительные поля. Все эти сведения вам нужны (и. Суть в том. Это же справедливо и для сотрудников. 1. работая с листом данных. Внизу: режим редактирования. Режим редактирования Возможно. Для изменения поведения программы следует перейти в режим редактирования. Вам могут понадобиться сведения о том. вы не можете просто удалить запись о группе. которые принадлежали вам ранее.10 крупным планом показана разница режимов.10. Но при редактировании значения могут возникнуть некоторые трудности. возможно. Как только вы начнете набирать информацию. Знание некоторых деталей сможет облегчить вам жизнь. Вместо этого вы можете изменять ее или добавлять новые данные. На рис. начнем. у каких преподавателей он учился и т. которые уволены или переведены на более высокую должность. нажав клавишу <F2>. 1. д. которую вы намереваетесь удалить. вы сможете не учитывать эти изделия. что текст в выбранном поле . . программа Access сотрет имеющиеся данные. Итак. Если вы сейчас начнете ввод данных. перемещаться от поля к полю и от строки к строке можно с помощью клавиш со стрелками.Если группа закончила курс обучения. Например.это важная информация. Вверху: обычный режим. В режиме редактирования ваш набор не уничтожает уже имеющуюся в поле информацию. создавая форму размещения заказов. вы тут же сотрете существующий текст ("Hobergarten"). д. и т. их следует хранить вечно). Как вы уже знаете. помогающие отделить старые данные от новых. есть ли у студента необходимая подготовка для другого курса. Курсор указывает текущую позицию в выбранном поле. которых больше нет в наличии. в таблице Products (изделия) можно создать поле Discontinued (снятые с производства). Рис. Если сейчас начать набор. обозначающее изделия. текст вставится между "Hober" и "garten". Позже. Для выхода из режима редактирования снова нажмите клавишу <F2>.

1. А в обычном режиме клавиши со стрелками всегда перемещают вас от ячейки к ячейке. если вы достигли конца таблицы). В этом режиме они перемещают курсор в текущем поле. которая не помещается целиком в окне программы Access). Такие сочетания не всегда легко запомнить. В табл. если он был включен Перемещает курсор на одно поле влево или вверх при достижении конца таблицы. В режиме редактирования эта клавиша перемещает курсор вдоль текста в текущем Перемещает курсор на одно поле влево (в обычном режиме) или вверх при достижении конца таблицы. что самый быстрый способ выполнения команды — использование замысловатых комбинаций клавиш. если вы находитесь в режиме редактирования Перемещает курсор в последнее поле текущей строки. Это сочетание клавиш также отключает режим редактирования <→> Перемещает курсор на одно поле вправо (в обычном режиме) или вниз при достижении конца <←> таблицы. В режиме редактирования эта клавиша перемещает курсор вдоль текста в текущем поле <↑> Перемещает курсор вверх на одну строку (пока вы не достигли начала таблицы). Таблица 1.1 перечислены некоторые клавиши. Эта клавиша перемещает курсор к началу <End> текущего поля. Эта Действие <Shift>+<Tab> клавиша также отключает режим редактирования.Подсказка Входить в режим редактирования и выходить из него можно также двойным щелчком кнопкой мыши в ячейке таблицы. Эта клавиша также отключает режим редактирования (Edit) <Home> Перемещает курсор в первое поле текущей строки. для перехода в соседнюю ячейку вам придется в любом случае переместить курсор к концу текущего текста и затем снова нажать клавишу со стрелкой вправо (<→>). Режим редактирования также влияет на поведение клавиш со стрелками. что у вас большая таблица данных. Эта клавиша также отключает режим редактирования . Клавиши для перемещения по листу данных Клавиша <Таb> (или <Enter>) Перемещает курсор на одно поле вправо или вниз при достижении конца таблицы. таких как <Ctrl>+<Alt>+<Shift>+<*>. 1. если вы находитесь в режиме редактирования Перемещает курсор вниз на один полный экран (предполагается. Комбинации клавиш Опытные пользователи знают. Эта клавиша перемещает курсор к <Page Down> концу текущего поля. Например. Эта клавиша также отключает режим редактирования <↓> Перемещает курсор вниз на одну строку (или в позицию "новой строки". помогающие быстро перемещаться по листу данных. но вам поможет пара приведенных далее таблиц.

Таблица 1. но не сможете с помощью этой команды отменить операцию удаления Копирует значение из поля. Пользователь программы Access побывал на торгах Web-сайта eBay и ему нужно сразу добавить несколько кукол. описанную далее. Эта клавиша также отключает режим редактирования Перемещает курсор в первое поле первой строки. Access разрешает отменить только одно изменение. После перехода в следующую ячейку изменения вносятся в запись. 1. облегчающие редактирование записей. С помощью одновременного нажатия сочетания клавиш <Ctrl>+<"> дату покупки из предыдущей записи можно вставить в текущее поле В табл. Это сочетание клавиш не делает ничего. если вы находитесь в режиме редактирования Рис.11 показан этот часто игнорируемый прием в действии . Этот прием полезен. Например.) Отменяет последнее изменение. 1. и если вы закроете лист данных. К сожалению. Таблица 1. находящегося непосредственно над текущим.11.1 (окончание) Клавиша <Page Up> <Ctrl>+<Home> <Ctrl>+<End> Действие Перемещает курсор вверх на один полный экран. Эта клавиша действует <Esc> <Ctrl>+<Z> <Ctrb+<"> только в режиме редактирования. 1. Вы можете воспользоваться командой Отменить для уничтожения новой записи только сразу после ее вставки. то даже этого не сможете сделать. Клавиши для редактирования записей Клавиша Результат Отменяет любые изменения. если нужно ввести группу записей с похожей информацией.2 перечислены клавиши. если вы находитесь в режиме редактирования Перемещает курсор в последнее поле последней строки. Это сочетание клавиш не делает ничего.2. произведенные вами в текущем поле. (Для дополнительного управления отменой изменений попробуйте команду Отменить (Undo). команда Отменить в программе Access гораздо слабее одноименной команды в других программах пакета Office. На рис.

Вы узнаете больше о работе с датами в программе Access в разд. В разд. что один фрагмент копии не соответствует оригиналу. Щелкните правой кнопкой мыши слева от маркера новой строки и выберите команду Вставить (Paste). Для того чтобы воспользоваться ею. "Дата/время" главы 2 Вырезать. позволяет вырезать порции данных из одного места и вставлять их в другое место. Находясь в режиме редактирования. Этот трюк легко применять с помощью только трех комбинаций клавиш: <Ctrl>+<C> — Копировать. в разд. присваивая ему новый номер.2 (окончание) Клавиша <Ctrl>+<. 5. Вы узнаете. Щелкните кнопкой мыши поле слева от записи. выполните следующие действия: 1. "Задание значений по умолчанию" главы 4 Вставляет текущую дату в текущее поле. Формат даты зависит от настроек компьютера. позволяющая копировать запись целиком. Точная копия появится немедленно. но исходное содержимое удаляется) и <Ctrl>+<V> — Вставить. но.) . как практически любая Windows-программа. Прокрутите таблицу от начала к концу пока не увидите маркер новой строки (звездочку). Копирование записи целиком за один шаг Обычно вы копируете и вставляете небольшие порции или фрагменты данных. Щелкните правой кнопкой мыши и выберите команду Копировать (Сору). вы увидите нечто похожее на 24-12-2007. скорее всего. Программа Access обновляет столбец Код (ID) в вашей вставленной записи. пока все нужные записи не будут выделены. нажмите клавишу <Shift> и затем смещайте указатель мыши вверх или вниз до тех пор. которую хотите скопировать. <Ctrl>+<X> — Вырезать (аналог команды Копировать.Таблица 1. Делается это потому. Это позволит выделить запись. Если вы в обычном режиме. 4. можно использовать эти клавиши для копирования любого выделенного фрагмента. как задавать значение по умолчанию. (Следует признаться. "Первичный ключ " главы 2 вы узнаете.> Результат <Ctrl>+<Alt>+ < Пробел> Вставляет в поле значение по умолчанию. 2. операция копирования или вырезания захватывает все содержимое поля. Но у программы Access есть малоизвестная функциональная возможность. Копировать и Вставить Access. Она скопирует содержимое в буфер. 6. (Если вы хотите скопировать группу смежных записей.) 3. Малоизвестная или недооцененная возможность. почему. что у каждой записи должен быть уникальный номер.

Создание резервных копий Автоматическое сохранение может стать проблемой. "Создание новой базы данных "ранее в этой главе). 1. но программа Access предлагает даже более легкий вариант. а затем повторно ее открыли. и Access создаст для вас копию вашей БД в том месте. а затем обнаружили проблему. Если вы быстро спохватились. Но не беспокойтесь о том.13). разд. К несчастью. если вы закрыли вашу таблицу. все изменения были сохранены в тот момент. поэтому она бесполезна. Эту задачу можно выполнить с помощью Проводника (Windows Explorer).12. возможно. Когда вы создаете новую БД (см. которое вы укажете (рис. Примечание Помнить о резервном копировании БД — ваша задача. И когда вы вводите новые данные или редактируете существующие. Access сохраняет БД почти мгновенно. Для создания резервной копии необходимо просто скопировать файл БД в другую папку или создать копию с другим именем (например. поэтому она всегда доступна По этой причине неплохо почаще делать резервные копии БД. Команда Отменить не поможет и в том случае.accdb). Access не требует от вас сохранения результатов вашей работы. Выберите кнопку Office → Управление → Резервная копия базы данных (Office → Manage → Back Up Database). Этот процесс автосохранения протекает за кадром. ничего даже не заметите. программа Access сохраняет файл БД. и вы. 1. если внесены ошибочные изменения. что при выходе программа Access никогда не напоминает вам о необходимости сохранения изменений. Access снова сохраняет БД. Рис. когда вы их вносили. Примером может служить программа Диспетчер . то можете воспользоваться командой Отменить для отмены последнего изменения (рис. эта команда отменяет только самую последнюю корректировку.Сохранение и открытие БД Access В отличие от других программ.12). В программе Access нет операции автоматического резервного копирования. но вы можете использовать другое средство для периодического копирования файла вашей БД. Она автоматически сохраняет все внесенные вами изменения. Bobblehead_Backupl. если вы отредактировали группу записей. Когда вы добавляете в БД таблицу или другой объект. Команда Отменить выводится на Панели быстрого доступа в верхней левой части окна программы Access (дугообразная стрелка). 1.

но нельзя считать чем-то необычным сжатие БД размером 10 Мбайт до четверти первоначального размера. называемую сжатием. связанная с операцией сжатия. Таким образом. заставляющий программу Access сжимать текущую БД при каждом ее закрытии. . но полезное руководство по применению Диспетчера задач на странице www. После выбора последовательности кнопка Office → Управление → Резервная копия базы данных Access заполняет поле предлагаемым именем файла. в которое включена текущая дата. Единственная проблема. Если вы хотите всегда сохранять минимальный размер у ваших БД. программа Access не всегда упаковывает их с максимальной плотностью. (Вы можете прочесть краткое. может оказаться.pctechguide. если у вас есть несколько резервных копий. что ее размер раздувается как рыба недельной давности. вы можете выбрать ту.13. входящая в состав большинства версий ОС Windows. Сжатие БД Когда вы добавляете данные в БД.задач Windows (Task Scheduler). 1. — своевременное ее выполнение. Для этого выберите последовательность: кнопка Office → Управление → Сжать и восстановить базу данных (Office → Manage → Compact and Repair Database).htm. Объем освободившегося дискового пространства может быть разным.) Рис. Она больше озабочена максимально быстрым извлечением информации из БД и вставкой ее в БД. Если вы хотите сократить размер вашей БД. После того как вы поработаете с БД некоторое время.com/tutoriais/SchedufeTasks. можно применить операцию. следует включить режим. полежавшая на солнце. которая вам нужна Малоизвестная или недооцененная возможность.

Далее перечислены необходимые действия. находящихся под заголовком Сохранить базу данных в другом формате . Программа Access откроет окно Параметры Access. что он не устанавливается автоматически при первоначальном создании новой БД. вы можете воспользоваться заслужившей доверие командой Сохранить как (Save As). (Простой щелчок по команде Сохранить как приводит к выполнению стандартного варианта команды. 5. в котором вы можете изменить ряд конфигурационных параметров. Но помните.) Далее выберите один из вариантов. который сохраняет копию выбранного в данный момент объекта БД.14. а не всей вашей БД. Щелкните мышью кнопку ОК для сохранения изменений. Вы можете установить флажок Сжимать при закрытии для всех выбранных вами БД. Откройте БД. 1. 1. В списке слева выберите Текущая база данных (Current Database). Рис. расположенную рядом с командой меню Сохранить как. для того чтобы увидеть это подменю и возможные варианты выбора. 3. которую вы хотите автоматически сжимать. Сохранение БД с другим именем или форматом Если вы решили сохранить вашу БД с другим именем в другом месте или в формате более ранней версии программы Access. Выберите последовательность: кнопка Office → Параметры Access (Office → Access Options). 4. Щелкните направленную вправо стрелку. В правой части страницы установите флажок Сжимать при закрытии (Compact on Close). 2.

а затем найдите файл вашей БД Access.) Открытие БД После того как БД создана.) ■ Запустите Access. 1. как список файлов в разделе Открыть последнюю базу данных на странице Приступая к работе с Microsoft Office Access. поскольку не надо возвращаться на страницу Приступая к работе с Microsoft Office Access . Добраться до файла можно с помощью окна Мой компьютер (My Computer). В меню Office список Последние документы такой же. список Последние документы использовать удобнее. Access обновляет новый файл. Можно применить один из следующих способов. когда вы создаете таблицу или редактируете какие-то данные. ее легко открыть.15. ■ Запустите программу Access и найдите вашу БД в разделе Открыть последнюю базу данных справа на странице Приступая к работе с Microsoft Office Access. Другими словами. Рис. выберите последовательность: кнопка Office → Открыть (Office → Open). Напоминаю. ■ Дважды щелкните кнопкой мыши файл БД. 1.14.Начните с выбора: кнопка Office → Сохранить как (Office → Save As). 1. программы Проводник (Windows Explorer) или положить его на рабочий стол.15. представленных на рис. (Этот список можно увидеть с помощью меню Office. Помните о том. а затем используйте один из вариантов. у файлов БД Access расширение accdb или mdb. (Если вы хотите вернуться к старому файлу. что после создания файла новой БД программа Access только его и продолжает использовать. Но если у вас уже есть открытая БД. как показано на рис. то должны открыть его в программе Access или повторно использовать команду Сохранить как.

Тогда вам. когда вы закрываете вашу БД. главу 8). все будет совсем иначе. что Access не доверяет вашей БД — другими словами. У какого файла расширение laccdb? Я вижу дополнительный файл с расширением laccdb. чтобы она распознавала ваши файлы и научилась быть немного более доверчивой. . который вы не создавали.16). только пока вы (или кто-то другой) просматриваете БД. поэтому вы можете увидеть его. Рис. в данный момент работающих с БД. потому что прямо сейчас ваша БД даже не пытается делать что-либо рискованное. этот файл гарантирует. Символ "1" означает блокировку. Но если вы привыкли просматривать папки с помощью программы Проводник (Windows Explorer). 1. то заметите нечто немного странное. когда вы открываете файл БД. имеющим расширение acсdb. 1. захочется перенастроить программу Access так. и закрывает его. который препятствует выполнению вашей БД любых рискованных операций Подобное предупреждение слегка сбивает с толку.Когда вы откроете БД.16. Однако после того как вы начнете создавать БД с программируемыми процедурами (как описано в части V) или применять запросы на изменения (action queries) (см. Программа Access создает файл с расширением laccdb. ваш файл открыт в специальном безопасном режиме. то могли заметить еще один файл с загадочным расширением laccdb. Это предупреждение системы безопасности сообщает вам о том. возможно. Что происходит? Пока вы познакомились с типом файла. Access применяет файл с расширением laccdb для отслеживания пользователей. что в случае одновременного использования БД несколькими людьми они не смогут изменять одну и ту же запись в одно и то же время (что может вызвать всевозможные проблемы). Часто задаваемый вопрос.accdb появляется таинственный файл Bobblehead.laccdb. Вместе с файлом Bobblehead. Программа Access выведет панель сообщения с устрашающе звучащим предупреждением системы безопасности (рис.

Несмотря на то. Изменение папки. 2. Вам не нужно включать его в свои резервные копии. Вы также можете запустить второй (или третий. или четвертый. Access закрывает текущую БД и затем открывает выбранную вами. дважды щелкните кнопкой мыши файл другой БД. если есть другая папка. Введите в него имя папки. раздумываете над тем. Ниже вы обнаружите текстовое поле Рабочий каталог (Default database folder). Есть два варианта: ■ щелкните мышью значок х справа от полосы сообщения для того. В списке слева выберите Основные (Popular). когда вы применяете последовательность кнопка Office → Открыть (Office → Open). чтобы убрать его с экрана (оно появится опять. вам нужно запустить сразу несколько копий программы Access. что она может доверять вашим БД. указав доверенное место — папку на вашем жестком диске. 3. или укажите ее с помощью кнопки Обзор (Browse). На экране появится окно Параметры Access. Если вы уже находитесь в открытой программе Access. а сейчас можно без каких-либо опасений игнорировать файл с расширением laccdb. которую Access использует для хранения БД Программа Access всегда полагает. вероятно. . C:\MyDatabases). ■ сообщите программе Access о том. Если вы хотите видеть несколько БД одновременно. что вы можете выбрать другое местоположение при каждом сохранении или открытии БД. "Задание надежного расположения "главы 15. Практические занятия для опытных пользователей.) экземпляр программы Access из меню Пуск и затем использовать последовательность Office → Открыть (Office → Open) для загрузки разных БД в каждом из них. к которой вам придется часто обращаться. имеет смысл сделать ее стандартным местом хранения БД. Вы можете настроить программу Access на применение этой папки буквально за несколько шагов: Выберите последовательность кнопок Office → Параметры Access (Office → Access Options). что вы хотите хранить БД в папке Мои документы (My Documents).. как программа Access работает с многочисленными пользователями в главе 18. Одновременное открытие нескольких БД Каждый раз. На странице справа найдите заголовок Создание базы данных (Creating databases).Вы узнаете о том. 1. которую вы хотите использовать (например. как задавать доверенное место в разд.) Это сделать почти до неприличия легко. (Компьютерные фанаты называют подобное действие запуском нескольких экземпляров программы. что вам следует делать с полосой сообщения. для нее на панели задач появится второе окно Access. в которой вы храните файлы ваших БД. щелкните мышью кнопку ОК для сохранения внесенных изменений. когда вы в следующий раз откроете БД). Завершив настройку. Вы узнаете.. Сейчас вы.

1. Программа Access обрабатывает старые файлы БД по-разному в зависимости от того. Access сохраняет текущий формат.0. кто понимает. посмотрев на текст в скобках. насколько они устарели.17. 1. . созданных в более ранних версиях программы" в разд. когда вы открываете файл БД. 95 или 2. и вы можете вносить любые изменения. то не получите никакого уведомления или предупреждения. ваше плаванье также остается спокойным. но будете лишены возможности изменять структуру БД Совет Вы всегда можете назвать текущий формат БД. ■ Если вы открываете файл версии Access 2002—2003. Однако. Если вы открываете файл версии Access 2000. Использование Access БД. Если вы откроете файл в формате Access 2002—2003. программа Access спросит. Access 2000 может не принять добавленные вами новые компоненты. созданный в Access 97. Access откроет исходный файл без создания копии. "Создание новой базы данных" ранее в этой главе о разных форматах файлов программы Access). созданный в версиях Access 97. Если вы выбираете преобразование БД (щелкните мышью кнопку Да).0). созданную кем-то в предыдущей версии программы Access (см. в полосе заголовка можно прочесть: "Bobblehead: база данных (формат Access 2002-2003)" ("Bobblehead: Database (Access 2002-2003 file format)").Открытие БД. 95 или 2. если вы измените структуру БД. Вы все равно можете редактировать имеющиеся данные и вставлять новые. приведенный в заголовке окна Access. Если вы откроете устаревший файл Access (например. в примечании "Для тех. Access копирует имеющийся файл БД в новый файл БД в формате Access 2002—2003. Вот как это делается. Затем вы можете редактировать эту копию обычным образом. чтобы открыть БД Access. Программа Access предлагает вам выбор. Рис. хотите ли вы преобразовать БД или просто открыть ее (рис.17). созданной в более старой версии Access Можно воспользоваться последовательностью кнопка Office → Открыть (Office → Open) для того. Если же выбираете открытие БД (щелкните мышью кнопку Нет).

2. Вместо этого таблица откроется в обычном окне. 4. где вы можете выбрать переключатель Перекрывание окон (Overlapping Windows) (стандарт Access 2003) или Вкладки (Tabbed Windows) (технологию будущего). что изменилось кое-что еще. можно использовать эту же установку и заставить фирменную новую БД Access применять перекрывающиеся окна вместо вкладок. Очень скоро таблица. которое может располагаться в любом месте в главном окне программы Access. Создание еще одной БД Создание новой БД — теперь самая легкая задача. 1. В списке слева выберите Текущая база данных (Current Database). На экране появится окно Параметры Access.20).Если вы откроете БД Access "старой закваски". будет погребена на дне кучи окон Это недоброжелательное поведение задумано проектировщиками как уподобление более ранним версиям программы Access. Щелкните мышью кнопку ОК. пока вы не откроете несколько таблиц одновременно. то заметите. 3. то не увидите окна с вкладками (подобными показанным на рис. Закройте и снова откройте вашу БД. Рис. Сначала этот вариант может показаться удачным. даже если не преобразуете вашу БД в новый формат. показанной на рис. которая вам нужна. 1. В БД Access старого стиля разные окна могут перекрывать друг друга. Нужно просто выбрать последовательность: кнопка Office → Создать (Office → New). но лишь до тех пор. 1. Но не беспокойтесь — вы легко сможете вернуться к симпатичным вкладкам.18. Для того чтобы ощутить прикосновение прошлого. Нужно задать всего лишь один конфигурационный параметр для вашей БД.18. чтобы новая установка подействовала. В этом случае вы столкнетесь с полной неразберихой. Под заголовком Параметры приложений (Application Options) найдите Параметры окна документа (Document Windows Options setting). 5. Выберите последовательность: кнопка Office → Параметры Access (Office → Access Options). 1. Когда вы откроете таблицу. Программа Access вернет вас на страницу .

занятого областью переходов? Щелкните мышью кнопку Открыть/закрыть границу области переходов в правом верхнем углу (вверху). как было описано ранее (см. и область переходов уйдет с дороги. щелкнув мышью знакомую пиктограмму Новая база данных (Blank Database). Рис. 1. Для того чтобы вернуть отображение этой области. освободив место для листа данных (внизу). разд.19. что вы сделали к настоящему моменту.Приступая к работе с Microsoft Office Access (Getting Started with Microsoft Office Access). "Создание новой базы данных" ранее в этой главе). Вам жаль пространства. где вы сможете создать пустую БД. Область переходов Сейчас самое время отступить на шаг и посмотреть на то. еще раз щелкните мышью ту же кнопку .

вам нужно уметь переходить от одной к другой и обратно. Таким инструментом служит область переходов.) Рис. (Вы научитесь настраивать область переходов в главе 14.20. но вы обладаете наиболее важной составляющей — организованными данными.Вы создали БД Bobblehead и вставили один объект БД: таблицу. отчетов и процедур поиска — всего того. показанная на рис. Если вам кажется. если у вас несколько таблиц. что делает работу БД по-настоящему гладкой. и позволяет манипулировать ими. в области переходов отображаются только таблицы вашей БД. разд. являющиеся частью вашей БД. 1. Access отводит каждому листу данных отдельное окно-вкладку. который вас интересует. 1. что открыто слишком много таблиц. Пока этого достаточно — помимо всего прочего в вашей БД и нет ничего кроме созданных вами таблиц. Когда вы впервые создаете БД. сколько захотите. расположенный у правого края полосы вкладок. чтобы . Одна задача все еще осталась нерешенной — способ управления объектами вашей БД.19. названную Dolls. Например. У вас нет причудливых окошек. Вы внесли в таблицу Dolls несколько записей. Просмотр таблиц с помощью области переходов Область переходов отображает объекты (см. Но не всегда вы увидите все объекты вашей БД одновременно. Для перехода из одного окна в другое вы просто щелкаете кнопкой мыши нужную вкладку. У области переходов есть несколько разных режимов просмотра. Выберите на ленте Создание → Таблицы → Таблица (Create → Tables → Table) для того. щелкните мышью значок х. "Что такое базы данных Access" ранее в этой главе). поэтому вы можете выбрать именно тот. для того чтобы закрыть текущий лист данных Для настоящего испытания области переходов нужна БД с несколькими таблицами. С помощью области переходов вы можете открыть сразу столько таблиц.

в верхней части окна программы Access. . Теперь попробуйте придумать несколько подходящих полей для этой таблицы (помня о том. Если вы открыли достаточно большое количество таблиц. С другой стороны. ленты со всеми ее кнопками. Совет Не знаете. в конце концов. Они предпочтут смотреть еще на одну запись данных. Как только вы щелкнете мышью по нужной кнопке на этой вкладке (или щелкните мышью где-нибудь еще в окне программы Access). Если вам свойственен такой подход. Тот же прием сработает. то в области переходов просто дважды щелкните ее кнопкой мыши.20. как описано в разд. Вы можете с помощью этих кнопок перемещаться по всем вкладкам. программа Access отобразит их как вкладки (рис. вы все равно можете использовать все ее функциональные возможности. что не стоит слишком зацикливаться на подробностях). Если вы хотите открыть таблицу. а затем сравните вашу версию с примером на рис. После вставки новой таблицы вы увидите в области переходов и новую. 1. "Использование ленты с помощью клавиатуры" во введении. Выполните действия. то вас порадует возможность свернуть ленту. потребуется всего лишь дополнительный щелчок мыши для открытия вкладки. как показано на рис.добавить новую пустую таблицу. Просто щелкните мышью вкладку. В этой ситуации программа Access вставляет крошечные кнопки прокрутки слева и справа на полосе вкладок. вкладка Главная раскроется поверх вашего рабочего листа. если вы часто обращаетесь к ленте или знакомитесь с программой Access и хотите просматривать ленту. Сворачивание ленты Большинство пользователей рады присутствию под рукой. не тратьте время на ее сворачивание.20). Но даже когда лента свернута. разделяющих ваше увлечение куклами-болванчиками. Даже при свернутой ленте ее команды доступны. "Создание простой таблицы "ранее в этой главе для определения стуктуры таблицы и вставки в нее одной-двух записей. осе нужные вкладки могут не поместиться на экране. которая отслеживает всех ваших друзей. Но серьезным обработчикам информации требуется максимум пространства для их данных. хотя это займет немного больше времени. и старую таблицы одновременно. какую таблицу создать? Попробуйте создать таблицу Collectors (коллекционеры). Если вы щелкнете мышью заголовок Главная (Ноmе). Потеря дополнительного свободного пространства окупится с лихвой. состоящую из заголовков вкладок. представленную на ленте. лента свернется снова.21. если вы запустите на выполнение с помощью клавиатуры. 1. а не на навороченную инструментальную панель. имеет смысл свернуть ленту. Если вы пользуетесь лентой от случая к случаю или предпочитаете комбинации клавиш. команду. описанные в разд. чтобы узнать все ее доступные функциональные возможности. Малоизвестная или недооцененная возможность. Для этого дважды щелкните кнопкой мыши заголовок любой вкладки. превратив ее в одну строку. Если вы хотите открыть сразу несколько таблиц. 1.

. Затем введите новое имя и нажмите клавишу <Enter>. ■ Удалить объект. Щелкните его правой кнопкой мыши и выберите команду Переименовать (Rename). указывающий на файл вашей БД. касающиеся любых объектов БД. вы уже знаете. Программа Access попросит вас подтвердить необходимость этой операции. Щелкните мышью вкладку для того. но пока не готовы удалить оригинал. как открывать таблицу с помощью области переходов. В действительности вы можете выполнять три более простые задачи. Щелкните правой кнопкой мыши и выберите команду Копировать (Сору). чтобы открыть ее на время. Если же вы хотите выполнить этот трюк. Программа Access попросит вас ввести новое имя для копии. ■ Переименовать объект. что вашу таблицу Dolls стоит переименовать в DollsInMyWorldRenownedCoflection. если вы хотите попытаться реорганизовать имеющуюся таблицу.21. или дважды щелкните ее мышью. Вы познакомитесь с ними позже в этой книге. Вы хотите использовать каждый квадратный дюйм пространства экрана для ваших данных? Можно свернуть ленту (как показано здесь). используйте комбинацию клавиш <Ctrl>+<F1> Экономящая время подсказка. потому что вы не сможете отменить ее. дважды щелкнув кнопкой мыши любую вкладку. Access предоставляет дополнительные возможности перемещения объектов БД и скрывания их. если решите. отображенных в области переходов. Но она предназначена не только для открытия таблиц. 1. Рис. Возможность копирования объекта очень полезна. Действуйте предложенным способом. что можете поместить на ваш рабочий стол ярлык.Управление объектами БД Теперь вы знаете. Щелкните правой кнопкой мыши в любом месте области переходов и затем выберите команду Вставить (Paste). не отрывая пальцев от клавиатуры. Щелкните правой кнопкой мыши и выберите команду Удалить (Delete). Создание ярлыка для таблицы Возможно. чтобы вернуть ленту на экран насовсем. ■ Создать копию.

что можно создать ярлык. чтобы оно занимало не весь экран.Измените размер окна программы Access так. На самом деле этот прием даже легче создания обычного стандартного ярлыка. который открывает БД и переходит непосредственно к конкретной таблице. дважды щелкнув кнопкой мыши ярлык. Благодаря этому вы сможете видеть рабочий стол за окном Access. что существенно для данного приема. Но. 3. Программа Access создаст ярлык с именем похожим на следующее "Ярлык 'Dolls' (Bobblehead. которую вы хотите использовать.Найдите в области переходов таблицу.accdb)" ("Shortcut to Dolls in Bobblehead. возможно. и затем сверните окна других программ. Перетащите ее мышью из окна Access на рабочий стол. Дважды щелкните кнопкой мыши ярлык для загрузки БД и немедленного открытия листа данных с таблицей Dolls. 2. Теперь. выберите последовательность команд Создать → Ярлык (New → Shortcut). Просто выполните следующие действия: 1. вы сможете в любой момент снова попасть в вашу БД.Для этого просто щелкните правой кнопкой мыши на рабочем столе.accdb"). а затем в соответствии с инструкциями выберите файл вашей БД и задайте имя ярлыка. . вы не знаете.Отпустите кнопку мыши.

1. следует сообщить программе Access о том. что приводит к проблемам. БД обрабатывает текст. . найти среднюю стоимость ваших кукол-болванчиков) и не сможете найти ошибки (такие как "кукла-болванчик с ценой "восемьдесят и двадцать""). какие сведения должно содержать каждое поле. которые вы создали к настоящему моменту. После того как вы освоите типы данных. что вы создаете числовое поле. которая может интерпретироваться как дата. После того как правила установлены. даты и другие типы данных по-разному. которую вам предстоит решить в данной главе. Самое важное — вы не сообщили четко и ясно программе Access о том. предназначенное для хранения текста. Однако Access легко запутать. Когда вы создаете новое поле в Режиме таблицы. вы не сможете впоследствии выполнять вычисления (например.Глава 2 Создание более сложных таблиц В предыдущей главе вы научились создавать БД и без особых усилий вставлять в них таблицы. числа. что в поле PurchasePrice всегда содержатся числовые данные. Для устранения подобных проблем необходимо определить тип каждого поля вашей таблицы. какой тип данных вы намерены хранить в каждом поле вашей таблицы. Access проводит их в жизнь неукоснительно.  даты — в поле DateAcquired (дата приобретения). 2007. Вы задаете эти требования с помощью другого окна вашей таблицы — Конструктора. Если вы вводите Янв 6. Access делает обоснованное предположение о типе данных. программа считает. анализируя введенную вами информацию. "Создание простой таблицы "главы 1). В ее полях содержится информация нескольких типов:  текстовая — в полях Character (персонаж) и Manufacturer (изготовитель). Если вы поместите числовую информацию в поле. Для того чтобы устранить ошибки ввода. Это центральная задача. Типы данных Не все данные одинаковы. Но должен вас огорчить. программа Access не будет разделять ваши предположения и следовать тем же правилам. Но если вы не зададите корректно типы данных. показанным на рис. а в поле DateAcquired — информация. разд. созданную вами в главе 1 (см. что и вы. Для вас вполне естественно предполагать. Таблицы.  числовая — в полях ID и PurchasePrice (покупная цена). Access распознает дату. Рассмотрим таблицу Dolls. 2. Если вы ввели 4 4. можно перейти к рассмотрению более интересных аспектов проектирования БД. не отвечают предъявляемым требованиям.

1. Dolls) и выберите Конструктор. Эти варианты показаны на рис. Вместо этого вы получите груду перекрывающихся окон. Даты можно ввести в разных форматах (что затрудняет чтение данных в поле DateAcquired и делает невозможной их сортировку). "Открытие БД. СОВЕТ Для ускорения работы вы можете создавать новую таблицу. Access предлагает начать с единственной таблицы. прежде чем программа переключит вас в Конструктор. Если вы переходите в Конструктор с таблицей нового формата. на котором можно сформировать таблицу и ввести данные. так что выбирайте наиболее удобный для вас способ. Разрешен также ввод абсолютно бессмысленных данных. Для этого выберите на ленте Создание → Таблицы → Конструктор таблиц (Create → Tables → Table Design). Программа Access не распознает формат даты при создании поля DateAcquired. приведенные в разд. автоматически стартуя в Конструкторе. пользуйтесь кнопками вида (view buttons) или лентой для смены видов (вместо щелчка правой кнопкой мыши по заголовку вкладки.) Примечание Если вы открыли БД в формате Access 2003. у вашей таблицы не будет очень . В результате это поле интерпретируется ею как обычный текст.) Для переключения в Конструктор щелкните правой кнопкой мыши имя вкладки (например. отображаемой в Режиме таблицы. Но если вы выберите этот путь. Таблица будет сохранена на диске. 2. одноименной группой на вкладке Работа с таблицам → Режим таблицы → Режим (Table Tools → Datasheet → View) или кнопками режима в нижней части окна программы Access. 2.Рис. что Режим таблицы — это разделенный на ячейки лист. Эту проблему можно устранить и вернуть вкладки. Если же вы хотите оставить перекрывающиеся окна.2. (В предыдущей главе вы узнали. выполнив инструкции. описанного ранее). например "восемьдесят бананов" Конструктор Когда вы создаете новую БД. которую вы еще не сохраняли. то не увидите никаких вкладок. созданной в более старой версии Access" главы 1. (Вы также можете воспользоваться группой Режим (View) на вкладке Главная (Ноmе). Все перечисленные действия выполняют одно и то же. программа Access спросит у вас имя таблицы.

) В Режиме таблицы отображается содержимое вашей таблицы. принимать во внимание которые прямо сейчас нет никакой нужды. но не для добавления новых записей. 2. описанного в главе 9. Но без перехода обратно в Режим таблицы вы не сможете вставить вашу вновь купленную куклу Bono. поэтому вам придется добавить его самостоятельно. 2. как описано в разд. реорганизации и удаления полей.важного столбца Код (ID). На первый взгляд этот режим отображения кажется слишком сложным. Для отображения данного меню щелкните правой кнопкой мыши имя вкладки. Вы можете перейти в Конструктор (выбрать строку Конструктор) и вернуться обратно (выбрать Режим таблицы). следует начать с закрытия Окна свойств (Property Sheet).2. Конструктор можно использовать для вставки.) Для того чтобы убрать это окно. а в Конструкторе — только ее структура (рис. . В качестве альтернативы можно использовать маленькие кнопки вида в правом нижнем углу окна для переходов туда и обратно. расположенного в правой части окна программы. Для того чтобы упростить его внешний вид.3). (Пока не обращайте внимание на две другие кнопки вида. Конструктор не предназначен для ввода данных. В таблицу Dolls в Конструкторе можно вставить поле Quantity (количество) для учета дубликатов кукол-болванчиков. Рис. (В Окне свойств вы можете задать некоторые высокотехнологичные установочные параметры таблицы. В дальнейшем для восстановления окна вам нужно просто повторить эту последовательность. выберите на ленте Работа с таблицами | Конструктор → Страница свойств (Table Tools | Design → Property Sheet). "Создание поля для вашего собственного первичного ключа" далее в этой главе. Вы будете использовать их в сводной таблице для анализа ваших данных.

В этом режиме область переходов свернута для высвобождения дополнительного пространства Организация и описание ваших полей Конструктор позволяет изменить порядок следования полей. каждое в отдельной строке. переименовать имеющиеся и т. а в Режиме таблицы они отображаются по порядку слева направо. что легче работать в Конструкторе. поскольку вас не отвлекают данные в таблице. Все это можно сделать и в Режиме таблицы. В этом режиме поля располагаются сверху вниз. Перейдите в последнюю строку списка полей и введите имя нового поля. Это действие эквивалентно вставке нового поля в Режиме таблицы. Рядом с каждым полем приводится его тип данных и необязательное описание поля. ■ Вставка нового поля в конец таблицы. вставить новые. но знатоки программы Access считают. В Конструкторе перечисляются поля вашей таблицы. Далее перечислено несколько простых способов изменения структуры вашей таблицы в Конструкторе таблиц.Рис. 2. . Под списком полей располагается секция Свойства поля с дополнительной информацией о выбранном в данный момент поле.3. д.

это свойство не так полезно. что есть что. 2. куда вы хотите вставить новое поле. Перейдите к полю. что поля максимально ясны и понятны. Текст в строке состояния.Рис. 2. Щелкните поле правой кнопкой мыши и выберите команду Добавить строки (Insert Rows). Затем введите имя нового поля в пустую строку. Описания — это чудесная идея в том случае. сообщает о том.5) Рис. как кажется. К сожалению. Описания помогают напомнить о том. что хранится в данном столбце.5. Описания также выводятся в строке состояния при вводе данных в таблицу (рис. потому что большинство пользователей даже не обращают никакого внимания на строку состояния ■ Добавление нового поля между имеющимися полями. если несколько человек поддерживают одну и же БД и необходима уверенность в том. если позже понадобится изменять таблицу. ту . 2. находящемуся под тем местом.4. основываясь на описании поля.

Но большинство людей считают. расположенный у левого края поля. что может произойти позже. расположенный рядом с соответствующим полем (рис. Щелкните правой кнопкой мыши серый квадратик. (Обычный ответ. у вас есть возможность применить ваше обновление сразу. что порядок полей совсем не важен. прежде чем двигаться дальше. Примечание Помните о том. и выберите команду Удалить строки (Delete Rows). сделанные вами в Конструкторе. удаляя поле. Конструктор позволяет откорректировать все мельчайшие подробности.) В подобной ситуации вы не обнаружите проблему. Вы могли попытаться изменить тип данных поля. которую вы планируете хранить. В этот момент Access спросит о том. конечно. поскольку вы можете изменить порядок отображения полей в Режиме таблицы. ■ Удаление поля. таким образом. (В примечании "Для тех. вы также уничтожаете осе хранящиеся в нем данные. сообщающий программе Access о типе информации. Именно здесь вы отделите текст от чисел (и зададите другие типы . текстовый на числовой. расположенный рядом с соответствующим полем.) Иногда вносимое вами изменение может создать некоторую проблему. Access внесет изменение и сохранит таблицу. — да. программа Access сообщит вам о ней (и позволит выбрать способ ее устранения). Она ждет. как показано на рис.) Как действуют обновления в Конструкторе Программа Access не вносит немедленно изменения. 2. которое вы хотите удалить. Типы данных Access Для определения таблицы Конструктор — гораздо более мощное средство. кто понимает. вы сможете увидеть. что. прежде чем вы сделаете что-нибудь еще с вашей таблицей. чем Режим таблицы. ■ Вставка описания поля. упорядочив поля с самого начала. Для изменения типа данных выделите столбец Тип данных (Data Type). Это действие нельзя отменить. Для этого щелкните мышью кнопку Сохранить (Save) на инструментальной Панели быстрого доступа (Quick Access) (это пиктограмма дискеты в левом верхнем углу окна программы Access) или просто воспользуйтесь сочетанием клавиш <CtrI>+<S>. расположенный слева от поля. скажем. пока вы закроете таблицу или вернетесь в Режим таблицы. возникает ли проблема. на которых похожа данная кукла-болванчик" как описание поля Character (персонаж) в таблице Dolls. недоступные (или трудно модифицируемые) в Режиме таблицы. Не забывайте о том. Перемещение поля. Как вы увидите в этой главе. которое вы хотите переместить в новую позицию. Введите предложение или два в столбец Описание (Description). Если вы внесли потенциально проблемное изменение и не можете отложить его. 2. поэтому программа Access попросит подтвердить ваше желание выполнить именно это действие. (Вы можете использовать имя "знаменитости или вымышленного персонажа. пока не закроете таблицу или не вернетесь в Режим таблицы. Если возникнет проблема. что легче проектировать таблицу. чем вам хотелось бы. Изменение типа данных может привести к потере информации" в разд.4. параметр. Перетащите серый квадратик. "Текстовый" далее в этой главе данная проблема обсуждается более подробно. хотите ли вы сохранить таблицу. Одна из таких характеристик — тип данных вашего поля.6).

2.) . На экране появится раскрывающийся список с 11 вариантами Существуют и другие свойства поля. Если вы применяете текстовый тип данных. (В подобной ситуации вам. подсчет итогов или фильтрация. далее вы пользуетесь свойствами поля для указания его максимальной длины. Задаются свойства поля в Конструкторе в окне Свойства поля. Если выбирается десятичное значение (decimal value). выполнения надлежащей сортировки и других действий.данных). — выбор для него типа данных. способное хранить данные двух или трех разных типов. вы сможете откорректировать их для еще более точного определения типа. возможно. Примечание У поля может быть только один тип данных. Рис. Вы не можете создать поле. которое отображается под списком полей.6. то вы используете свойства поля для задания числа десятичных разрядов в дробной части. зависящие от выбранного типа данных. В этой главе вы узнаете больше о свойствах поля (и рассмотрите их снова в главе 4). 2. расположенный рядом с соответствующим полем. касающееся любого поля. поскольку у программы Access не будет достаточной информации для корректной обработки поля. Access применяет эти сведения для отклонения лишенных смысла значений (рис. Для выбора типа данных щелкните кнопкой мыши столбец Тип данных. вы узнаете больше в следующем разделе.7). Самое важное принимаемое вами решение. таких как вычисления. предоставляемого программой Access. какую информацию вы намерены хранить в данном поле. О принципах выбора наилучшего типа данных из длинного списка. нужны два разных поля. Тип данных сообщает программе Access о том.

Не применяйте этот (или и тип доставки. Прежде чем выбрать нужный тип данных. Но программа Access в действительности предлагает 11 разнообразных типов данных.7.Рис. номера телефонов и описания товаров. текст. Вы узнаете больше об этом варианте в разд. заметки. Этот элемент списка запускает Мастер подстановок.) Таблица 2. "Создание простого списка подстановок. для этого больше подойдет числовой тип данных Дни рождений. числа итоги и проценты Аналогичен числовому типу. знаки пунктуации и сим (Text) волы. платежи и статьи расходов - нежном выражении Дата/время (Date/Time) Календарная дата или время суток то и другое). свидания и время наблюде данных для задания временных НЛО интервалов (количество минут в песне или продолжительность вашей трени ровки). 2.1 дан обзор первых 10 вариантов из списка Тип данных.1. (Вариант Мастер подстановок (Lookup wizard) не включен в нее. состоящего из констант" главы 4. даты заказов. Access предоставляет возможность устранить проблему с помощью ввода нового Программа значения (правильный подход) или изменения типа данных поля на текстовый. Это наиболее размера) рас пространенный тип данных Большие обьемы неформатированного Статьи. не более 255 (абзац среднего Поле MEMO (Memo) Примеры - Имена. существуют три основных типа данных. буквы. но опти мизирован для хранения сумм в де - - Цены. неплохо познакомиться со всеми возможными вариантами. адреса. Ввод текста в поле с денежным ( currency ) типом данных строго запрещен. числа и даты. позволяющий задать список допустимых значений. Любой тип чисел за исключением де включая отрицательные и дробные нежных значений. Хранит измерения. включающих более специализированные варианты. допускающий ввод любых значений (абсолютно неправильный подход) Как вы уже знаете. поскольку на самом деле это не тип данных. 2. Типы данных Access Тип данных Описание Текстовый Числа. ордера на арест текста до 65 536 символов (среднего и другие короткие документы размера глава в романе) Числовой (Number) Денежный (Currency) Все многообразие числовых данных. даты - ний . В табл. письма.

Для тех. адрес электрон ной почты Вложение (Attachment) или полное имя файла Один или несколько отдельных Изображения.uk. звуковые фай лы и т. к. используемых для созда ментов. Приме няется редко. документы файлов. nore - унифици рованный указатель plies @antisocial . предложения ("Кандидатура — английская няня. приводит к быстро му увеличению размера БД и другим проблемам.com. характерные для определенного типа данных. пришедшего из "средневековья" БД Access.Таблица 2. . д. "Первичный ключ" автоматически при сваивается далее в этой главе). вы можете применять текстовое поле для хранения двух слов (например. иден - Код (ID) тифицирующий ее Поле объекта OLE (OLE Object) Хранит встроенные двоичные Некоторые типы изображений и доку данные. мах. "Мэри Поппинс"). элек тронные колиру ется в БД Счетчик (AutoNumber) Хранит число. склонная поэтическим взлетам. Каждой записи ключа ( primary key) (см. Изменение типа данных может привести к потере информации Лучше всего выбирать типы данных для ваших полей во время первоначального создания таблицы. Word .FantasyPets . разд. т. Главным ния данных Вложение (Attachment ) вместо поля объекта OLE составных документов внедрением и связыванием) ОС Windows . В каждом разделе также описаны все важные свойства поля. как муж ской/женский или санкционирован - считать значе ниями Истина (True ) ный/несанкционированный или Ложь (False )) Гиперссылка (Hyperlink) URL (uniform resource locator . применяется в Embedding . Текстовый Текстовый (Text) — это универсальный тип данных. (Вы можете их Примеры Строго двухвариантные поля. Итак. приме няется для обозначения технологий на БД Access старого стиля. цифр и других символов. Он принимает любую комбинацию букв.doc сайта. кто понимает. соответствующие созданных в других програм стандарту OLE (Object Linking and образом.co. В наши дни проектировщики БД используют тип основе СОМ. Содержимое этих файлов таблицы Excel .") или что-нибудь еще ("@#$d sf_&!").1 (окончание) Тип данных Описание Логический Содержит одно из двух значений: (Yes/No) Да или Нет. В этот момент наша таблица практически пуста. Почти всегда лучше выби рать тип данных Вложение (Attachment) В следующих разделах описаны все типы данных за исключением Поле объекта OLE. информационного ресурса) Web - f:\Documents\Report. генерируемое Применяется для уникальной иденти програм мой Access при вставке каждой записи. www . в особенности для первичного фикации новой записи. Обычно столбец называется уникальный номер. и вы не столкнетесь ни с какими проблемами.

и следить за корректировками. только если вы сохраняете информацию. жизнь станет не такой простой. вы без труда измените текстовый тип данных на числовой. Но в вашем поле содержатся дробные числа (например. но программе Access придется выполнить дополнительное действие и преобразовать имеющиеся данные в новый тип. прежде чем вносить любые радикальные изменения. перейдите в Режим таблицы и проверьте ваши данные. Но текст следует использовать. Программа Access дает вам знать (на свой слегка заумный манер). которая не может быть обработана с применением другого типа данных. Самый разумный план действий — щелкнуть мышью кнопку Нет для отказа от изменения и повнимательнее посмотреть таблицу в Режиме таблицы для проверки проблемных значений Примечание Поскольку текстовые поля столь покладисты. можете вводить в них числа.8. с которыми вы можете столкнуться. что вы имеете дело с числами. табл. He говорите о том. а вы забыли изменить свойство Размер поля (Field Size) (см.99 а текстовом поле. В большинстве случаев процесс преобразования проходит гладко.234). Access не поймет. которые сбиваются с пути истинного. • Вы изменяете текстовый тип данных на Дата/время. прежде чем двигаться дальше. Рис. Далее перечислены примеры проблем. но программа Access не может интерпретировать некоторые значения как даты. Третья проблема более коварна — Access выдаст предупреждение. 2. • Вы изменяете тип данных Текстовый на Числовой. Если в поле хранятся только числа. В первых двух случаях из приведенного перечня программа Access предупредит вас о необходимости удаления некоторых значений. даты и все что угодно. а затем решите изменить тип данных в одном из полей. "Создание резервных копий " в главе 1). что не может внести заданное вами изменение — преобразование типа данных поля из текстового в дату — без уничтожения значений в четырех записях. возникнет на самом деле проблема или нет. Если вы предполагаете сбой. 2. Другими словами. разд. .Если вы введете несколько записей. Вы и теперь можете воспользоваться Конструктором для изменения типа данных. 4. В результате программа Access полагает. поскольку они не соответствуют правилам типа данных (рис. Но в некоторых случаях преобразование не столь безболезненно. 2. что вы используете только целые числа. что вас не предупреждали. и не разрешит использовать его в вычислении. • Вы изменяете тип данных Текстовый на Числовой. Лучший способ справиться с этими проблемами — создать резервную копию (см. очевидно. если вы сохраняете число 43. поскольку Access всегда интерпретирует содержимое текстового поля как обычный заурядный текст.8). но у некоторых ваших записей есть текстовые значения в данном поле (даже если их не должно быть). но не сообщит вам. и обрезает все дробные знаки.2). вы.

находятся на вкладке Общие. обсуждаемые в главе 4. Например. с сегодняшними жесткими дисками гигантских размеров стоит ли беспокоиться об объеме? Не может ли ваша БД расширяться для того. Но вы хотите помешать вставлять в телефонные номера буквы.Иногда кажется. разд. не привыкших работать с БД. Для задания максимальной длины выберите ваше поле и щелкните кнопкой мыши поле Размер поля в списке Свойства поля (показанном на рисунке). поскольку они представлены последовательностью символов. программа Access обычно воспринимает номера телефонов как текст. К счастью. которые к ним не относятся.) Когда вы щелкнете кнопкой мыши область свойства поля. Длина текста У каждого текстового поля есть максимальная длина. Кроме того. такой как 123-4444 (а не одним числом 1 234 444). запрещающие использование определенных символов или вынуждающие текст следовать заранее заданному образцу. вы можете применить некоторые более строгие правила. {Все свойства поля. чтобы вмещать любые данные. Эта особенность вызывает изумление у людей.9. что текстовый тип данных уж слишком всеяден. "Маски ввода" главы 4) и проверку корректности (validation) — две функциональные возможности. которые вы хотите в нее затолкать? Рис. Для реализации этого требования можно использовать маски ввода (input masks) (см. 2. справа появится его описание . которые понадобятся вам в этой главе.

С другой стороны. номера кредитных карт и другой текст фиксированной длины. который может потребоваться записи. Дополнительное пространство — не главная проблема (возможно. Один символ. для большинства практических целей достаточно 50. Если нужно хранить большой абзац или целую статью. почтовые индексы. Максимально допустимая величина равна 255 символам. 25 символов достаточно для имени. • Название улицы и номер дома (уличный адрес). страны и другие географические названия. • Начальная буква отчества. Access может зарезервировать для каждой записи на вашем жестком диске объем. поэтому она всегда отводит максимальный объем дискового пространства. В дикой природе встречаются адреса электронной почты. по 50 символов у каждого. В примечании "На профессиональном уровне. чтобы в дальнейшем избежать модификации БД. • Имена и фамилии. а 50 символов позволят без риска хранить длинную двойную фамилию. за которым следуют пробел. 2. если у каждого вашего поля максимальная длина 100 символов. потому что она определяет. Access хранит в два раза больший объем для каждой записи.org/wiki/Longest_word__in_English). если почтовые индексы. (Иногда здравый смысл подсказывает верное решение. Адрес с указанием улицы состоит из числа.) • Адрес электронной почты. название улицы. у вас масса свободного пространства на компьютере). Несмотря на то. необходимый для хранения 200 символов.Максимальная длина имеет важное значение. Нормативы максимальной длины " далее в этом разделе содержатся дополнительные рекомендации. . • Номера телефонов. Подойдут 50 символов.). На профессиональном уровне.wikipedia. что они достигнут вашей БД. http://en. Сосчитайте количество символов без учета заполнителей и задайте соответствующий максимум. вам нужен тип данных Поле MEMO (см. следующий раздел). • Города. Нормативы максимальной длины Далее перечислены некоторые рекомендуемые значения максимальной длинны. но маловероятно. Стандартная максимальная длина — 50 — подходит в качестве отправной точки. Из соображений эффективности программа Access должна быть уверена. даже если в действительности вы не используете его полностью. приближающиеся к 100 символам (в качестве дополнительного примера поищите D Google самый длинный в мире почтовый адрес). что запись целиком хранится в одном месте. Если в вашей таблице четыре поля. штаты. тем медленнее поиск в ней. Для задания максимальной длины введите число в поле Размер поля (Field Size) в окне Свойства поля (рис. 50 символов хватит. или ул. но чем больше места занимает БД. названия городов и другие подробности адреса вы поместите в другие поля.9). Совет Стоит быть достаточно щедрым. задавая максимальную длину. еще один пробел и сокращение (такое как пр. что название горы в Новой Зеландии на языке маори превышает 80 символов (см. насколько плотно Access может упаковать все ваши записи.

вам нужен тип данных Поле MEMO. "Маска ввода" главы 4). содержащий разные шрифты. добавьте несколько полей Memo. а не БД. но при выводе на экран использовать маску ввода (см. 2. разд. Если вы хотите поместить в поле главу из книги. как данные других типов. Форматированный текст Текстовое поле и поле Memo хранят неформатированный текст. Описание или комментарии. цвета. Поле MEMO Корпорация Microsoft разработала тип данных Поле MEMO (Memo) для хранения больших объемов текстовой информации. 255 символов соответствуют трем или четырем предложениям среднего размера. Для форматирования фрагмента текста вам нужно просто выделить его и затем выбрать параметры форматирования на ленте в группах Главная → Шрифт → Текст RTF (Номе → Font Home → Rich Text). . которое вы хотите редактировать. Если вы создали поле Memo. для того чтобы добавить скобки и дефис. поэтому может хранить оставшуюся часть записи настолько плотно и эффективно. выравнивание и т. Этот подход хорош тем. поскольку трудно редактировать большие фрагменты текста в узких столбцах листа данных. Вы сможете хранить номер в виде 1234567890. что у этой главы примерно такой размер.10). Просто перейдите в поле. целую газетную статью или просто несколько абзацев текста. равной 10 символам. что позволит избежать проблем из-за ввода однотипных номеров телефонов разными способами. следующий раздел). Примечание Технически ограничение в 65 536 символов — это ограничение пользовательского интерфейса в программе Access. По существу. то она может хранить гораздо больше информации в поле Memo вплоть до гигабайта. рассмотрите возможность применения типа данных Поле MEMO (см. насколько это возможно. Но в поле Memo можно хранить и форматированный текст (rich text). Если нужно отредактировать большой объем текста во время работы на листе данных. а затем мини-панель инструментов (minibar). Учтите на будущее. Если вам нужно больше. д. вмещая при этом большой объем текста. Вместо этого используйте сочетание клавиш <Shift>+<F2> для открытия окна Область ввода (рис. Название немного странное — хотя поле Memo может хранить информацию из межофисного договора.Если нужно хранить номер телефона (123) 456-7890. задайте длину поля. оно также всегда полезно при наличии больших блоков текста. можно воспользоваться окном Область ввода (Zoom) (рис. программа Access хранит данные в поле этого типа не так. Длина поля Memo может достигать 65 536 символов. Если вам нужен больший объем.11). Но в большинстве случаев вы не будете прибегать к этому способу. она заталкивает данные типа Memo в отдельную секцию. и нажмите сочетание клавиш <Shift>+<F2>. Для этого установите для параметра Text Format значение Rich Text (в отличие от стандартного значения Plain Text (обычный текст)). вам не придется задавать его максимальную длину. 2. Если вы программируете приложение для обработки вашей БД.

его трудно увидеть целиком без долгой прокрутки. Иногда она слегка капризна и возможно придется выделить текст заново. Открыв окно Область ввода (<Shift>+<F2>). и редактировать его будет гораздо легче. чтобы заставить панель появиться на экране . чтобы снова вернуться на лист данных Рис. Если у вас в поле длинный текст.Рис. вы увидите больше текста. 2. 2.11. Для отображения мини-панели инструментов выберите какой-нибудь текст и наведите на него указатель мыши.10. Мини-панель инструментов — компактная панель с параметрами форматирования — постепенно станет более отчетливой. Вы должны будете щелкнуть мышью кнопку ОК (для принятия исправлений) или Отмена (для отказа от них) для того.

Применение этого способа сделает невозможной потерю файла (или указание на неверное местоположение). текстовом процессоре (таком как Word). Если вы действительно хотите хранить форматированное содержимое. Например. например файлом Word. рассмотрите возможность включения единиц измерения в описание поля (см. разд. Числовой Числовой (Number) тип данных включает огромное разнообразие чисел разной величины. При использовании числовых полей вы не включаете информацию о применяемых единицах измерения. представляющие вес в фунтах. это средство редко заслуживает внимания. Для реализации этого способа используйте текстовый тип данных или гиперссылку (см. указывающее на файл. как "44 фунта".docx. У вас могут быть поля. высоту в метрах и возраст в годах. Программа Access интерпретирует это значение как текстовое. которым больше подходит тип данных Денежный (Currency) (см. По эти поля содержат только числа. "Вложение" далее в этой главе). Можно выбрать вариант с дробной частью или использовать отрицательные числа (просто перед числовым значением поставить знак "минус"). что программа Access зарезервирует для него нужный . Только представьте себе необходимость изменить шрифт в 30 000 разных записей. "Денежный" далее в этой главе). В программе Access можно сделать это двумя способами: ■ создать поле. Ваша задача. Примечание Ваше поле никогда не должно содержать такие данные.Совет Существует другой. что другие могут запутаться. Все форматирование текста сохранится. c:\myfile\BonoBobbleheadDescription. HeightInMeters (высота в метрах)). разд. допустив такую ошибку. что обозначает каждое число. даже более легкий способ помещения форматированного текста в поле Memo. Размер числа Как и в случае текстового поля. "Организация и описание ваших полей" ранее в этой главе) или включите эту информацию в имя поля (например. разд. что после создания форматированного текста его поддержка может стать очень трудной задачей.— знать. "Гиперссылка " далее в этой главе)'. создавая числовое ноле. поэтому. встройте файл внутрь вашей БД. Аккуратно реализованное. о которых вы узнаете позже в этой книге. Для этого используйте тип данных Вложение (см. отформатируйте его в этой программе и затем скопируйте и вставьте в поле. Создайте текст в программе. вы должны задать свойство Размер поля (Field Size) для гарантии того. разд. что таблицы должны содержать чистые данные и что необходимо давать возможность другим программам (или разукрашенным формам) решать. вы не сможете применять все важные средства решения числовых задач большого объема (crunching) или проверки правильности (validation). Однако вам придется каждый раз при необходимости редактирования удалять файл. рассмотрите возможность связывания вашей БД с отдельным документом. как может показаться на первый взгляд. Числовой тип данных следует применять для любой имеющейся числовой информации за исключением денежных сумм. как их форматировать. Проблема заключается в том. Пуристы БД уверены. Если вы считаете.

объем пространства на диске. Хороший диапазоне от -2 147 483 648 до 2 147 выбор с достаточным объемом пространства 483 647.2. если вам не нужна дробная часть Одинарное с плавающей точкой (Single) Положительные или отрицательные Лучший выбор для хранения дробных чисел числа. числа разделены на несколько подмножеств. Для хранения требуется 4 байта для хранения. поскольку диапазоне от 0 до 255. поддерживают они или нет дробные значения (числовые разряды справа от десятичной точки или запятой) и сколько байтов программа Access использует для их хранения. если вам нужны необычно числа. Например. По существу. Для десятичной точки хранения числа требуется 8 байтов . Варианты значений в поле Размер поля для числового типа данных Свойство Содержит Когда применяется Размер поля Байт (Byte) Целые значения (целое число) а Это рискованный размер. Таблица 2. требуется 1 байт Обычно безопаснее использовать для таких чисел значение Целое (Integer) и тем самым обеспечить немного больше места для их хранения Целое (Integer) Целые значения (целое число) в Применяется для хранения чисел. которые слишком велики для десятичных разрядов точности. мельчайшей единицы хранения в компьютерном мире. содержащие до 28 нулей и 28 большим количеством разрядов справа от десятичных разрядов точности. Первоначально Access выбирает для всех полей значение Длинное целое (Long Integer).2 перечислены разные варианты значений поля Размер поля (Field Size). Для размера Длинное целое (Long Integer) хранения числа требуется 4 байта Двойное с плавающей точкой (Double) Положительные или отрицательные Полезен. Для хранения подходит только для маленьких чисел. Для имеющих дробной части хранения требуется 2 байта Длинное целое (Long Integer) Целые значения (целое число) в Стандарт программы Access. Примечание Байт — это группа из 8 битов. содержащие до 308 нулей и 15 большие числа десятичных разрядов точности. и объясняется. которые можно выбрать для данных числового типа. 2. Но в случае числового поля у вас более сложный выбор по сравнению с обычным текстом. но запрещающее наличие дробных чисел. Для хранения числа требуется 8 байтов Действительное (Decimal) Положительные или отрицательные Подходит для хранения дробных чисел с числа. не диапазоне от -32 768 до 32 767. В табл. мегабайт — это примерно миллион байтов. когда логичнее всего применять каждое из них. не превышающих максимум. в зависимости от того. предоставляющее достаточный объем. Используйте этот вариант для хранения любых чисел. содержащие до 38 нулей и 7 или чисел.

— Ред.0003 преобразуется в 3. поскольку он применяется только с типом данных Счетчик (см. $50. Например. Похож на фиксированный формат. идеальной для обработки чисел с широким диапазоном изменения (например. отображаемое как 3. разд. ■ Процентный. оно преобразуется в 50 %. 0.1). число 0. ■ С разделителями разрядов. Отображает дробные числа как проценты. . Числовой формат Свойство Размер поля (Field Size) определяет.10 превращается в 4. Вы должны ввести строку необходимого вам формата в поле Формат (Format).00. "Счетчик" далее в этой главе). 1. В противном случае вы всегда будете получать два. за исключением использования также разделителей для тысяч. 50.00 х 10-4.00 х 102илиЗЕ2. при необходимости заполняемых нулями (например. Для выбора формата задается свойство поля Формат (Format). "Денежный" далее в этой главе). Длинный столбец. 000 . Числа отображаются с одинаковым числом десятичных разрядов в дробной части. чтобы помочь анализировать большие числа. ■ Строка пользовательского формата. выровненный по позиции десятичной точки. 432.000. Это зашифрованный код. Эти виды форматирования используются только с денежным типом данных (см. Обычный. 00) и знаком валюты1. такие как 43.4534.00 и 5000% — все это одно и то же внутреннее число. например. сообщающий программе Access точную форму представления числа.11 и 39. Фиксированный. Например. Экспоненциальный. С другой стороны.00). разделителями тысяч (запятая в числе 1. процентный.00. Совет Если вы используете фиксированный. если ввести причудливо выглядящий код 1 Разделитель тысяч и знак валюты настраиваются в Панели управления. 2.2 не включен вариант Код репликации. как программа Access хранит ваше число в таблице. число 3 00 превращается в 3. если вы введете число 0. Экспоненциальное представление отображает первую ненулевую цифру числа с последующим фиксированным количеством цифр и затем указанием порядка. облегчает чтение ваших таблиц. Например. Например. 0003 и 300). Отображает числа в экспоненциальной форме.00Е-4. Но помимо этого вы можете выбрать способ его представления на листе данных. но люди воспринимают эти варианты очень по-разному. ■ Денежный и Евро. Любые дополнительные нули справа от числа отбрасываются (поэтому 4. количества перемножений числа 10 для формирования задаваемого числа. 50. экспоненциальный или с разделителями разрядов форматы. разд. 5Е1. В основные встроенные варианты представления включены следующие. Оба варианта представления отображают числа с двумя дробными разрядами.5. Отображаются обычные числа.Примечание В табл.000. также следует задавать свойство поля Число десятичных знаков (Decimal Places) для указания количества выводимых на экран десятичных разрядов в дробной части.

Форматирование.###. продающее все свои изделия за границей в долларах США (не в кронах). которые позволят делать почти то же самое. используемое Access для вывода денежных сумм. Начните со вставки символа. определяется установками в апплете вашего компьютера Язык и региональные стандарты (см. Это стандартный выбор.#. нуждающаяся в отображении поля с датской валютой (с форматом цены. Обычно оно равно 2. разд. означающий: "дай мне число с разделителями тысяч и двумя знаками в дробной части".## Тогда как компания США.###. Примечание Пользовательские числовые форматы не очень распространены в программе Access (гораздо чаще их используют в программе Excel). поскольку он использует оптимизацию. Денежный Денежный (Currency) тип данных — это легкая вариация числового типа данных. датская компания по производству хлопьев может использовать следующую строку формата для отображения символа валюты Соединенных Штатов: $#. Вы должны ввести строку необходимого вам формата в свойство Формат. обозначающего валюту (введите то. что нужно) и затем добавьте #. воспользовалась бы следующей строкой формата: kr #. базирующееся на региональных стандартах. Вы можете точно управлять форматированием денежных сумм. препятствующую возникновению ошибок округления в очень маленьких дробях.000. предназначенная для финансовых расчетов. Примечание Денежный тип данных лучше числового типа данных. Есть простой рецепт "приготовления" строк формата с пользовательским символом валюты. задав свойство Число десятичных знаков (Decimal Places).## — код программы Access.## . требующая восьми байтов для хранения каждого числа. "Определение вычисляемого поля" в главе 7).###. Этот вариант позволяет задать символ любой нужной вам валюты (как описано далее). для денежного не ладо выбирать значение свойства Размер поля (Field Size). Представление даты на вашем компьютере" в следующем разделе). Access скроет три последние цифры каждого числа. Например. ■ Евро. Вы можете изменить количество разрядов дробной части. Этот вариант всегда применяет символ евро (€). Он использует форматирование. Иногда эти установки могут создавать нежелательный эффект — например. У денежного типа данных точность до 15 цифр слева от десятичной точки и 4 цифр справа от нее. ■ Строка пользовательского формата. заданных на вашем компьютере. ##0.99). В отличие от числового типа данных. Позже вы узнаете о выражениях (см. которые программа Access отображает для значений этого типа при выводе на лист данных. задав свойство Формат (Format). поэтому 1 миллион будет выводиться как 1. у Access есть универсальная стратегия. (включая запятую в конце). таким как kr 342. а 15 000 как 15. примечание На профессиональном уровне. у вас малое предприятие в Дании по производству хлопьев. предоставляющее следующие варианты: ■ Денежный.

■ 23 Фев (аналогично). Для вставки даты и времени просто следом за датой введите время. только если она ненулевая. что в Access всегда для хранения в поле даты используется одно и то же количество байтов. что позволяет использовать их в вычислениях. Не забудьте вставить в конце обозначение АМ/РМ или используйте 24-часовую шкалу. днем и временем суток. па компьютерах за пределами США вам придется поменять местами день и месяц). чтобы правильно интерпретировать даты. некоторую часть информации можно не отображать. Дата/время Программа Access использует тип данных Дата/время (Date/Time) для хранения определенного момента времени в сочетании с годом. Программа Access достаточно интеллектуально развита. например. Внутри БД Access даты хранятся как числа. возможно. месяцем.3 перечислены возможные варианты. Формат влияет только на способ отображения информации о дате — он не меняет способ ее ввода. 2.3.Примечание Инициативные пользователи могут поиграть с числовым форматом. 2008 11:30:15 РМ Средний формат даты 23-Фев-08 Краткий формат даты 2/23/2008 Длинный формат времени 11:30:15 РМ Средний формат времени 11:30РМ Краткий формат времени 23:30 Примечание В случае применения Полного формата даты и Длинного формата даты информация о времени выводится. ■ Фев 23 (Access полагает. изменяя число десятичных разрядов в дробной части (просто вставляя и убирая знаки цифр) и удаляя разделители разрядов (простым уничтожением запятой). Форматы типа данных Дата/время Формат Пример Полный формат даты 2/23/2008 11:30:15 РМ Длинный формат даты Февраль 23. . что имеется в виду текущий год). ■ 2/23/2008 (наиболее распространенный вариант ввода. Несмотря на то. но. 23-Фев-08 5:06 РМ. ■ 23-Фев-08. Таблица 2. Для этого нужно просто задать свойство поля Формат (Format). В табл. заданным с точностью до секунды. Вы можете вывести на экран только дату (и игнорировать информацию о времени суток) или только время (и игнорировать дату). введенные следующим образом: ■ 2008-23-2 (всегда работает интернациональный стандарт "год-месяц-день").

(В ОС Windows XP щелкните кнопкой мыши кнопку меню Пуск (Start) и выберите последовательность команд Настройка | Панель управления (Settings | Control Panel). Но меняется способ ее вывода на лист данных. — например. В Access региональные установки определяют способ отображения разных форматов для дат. Вы можете откорректировать региональные установки. Access автоматически высвечивает на экране этот смарт-тег для всех полей с датами. А на британском компьютере он будет выводиться как 23/2/2008. появляющаяся рядом с полем. Но календарь не поможет ввести сведения о времени На профессиональном уровне. и они вовсе необязательно должны соответствовать району вашего проживания. Представление даты на вашем компьютере На вашем компьютере и ОС Windows есть региональные установки. Для внесения изменений перейдите на Панель управления (Control Panel). как показано на рис. в США на компьютере прямой поставки с завода Краткий формат даты отображается как 2/23/2008.Вместо набора даты можно использовать смарт-тег календаря (calendar smart tag). Английский (США) или Шведский (Финляндия). . что это глобальные параметры. например. Смарттег — это пиктограмма. влияющие на способ отображения дат и валют. предполагаемый для использования. у него есть раскрывающийся список. в котором вы сможете выбрать нужную дату. Первое поле — самое важное. Но помните. находящегося на другом континенте. вы можете задать их для центрального управления вашей компании. Рис.12. изменяя их. Все нужные вам установочные параметры находятся на первой вкладке. вы оказываете влияние на все ваши программы. из которого можно выбрать регион. дважды щелкните кнопкой мыши пиктограмму Язык и региональные стандарты. Щелкните кнопкой мыши пиктограмму для вывода на экран мини-календаря. В Windows Vista щелкните мышью Пуск и ищите Панель управления справа. В любом случае в БД хранится одна и та же информация. которая выведет на экран диалоговое окно. как только вы переходите в него. 2.) После того как вы открыли Панель управления. Другими словами.12. поэтому. 2.

Воспользуйтесь раскрывающимися списками для выбора разделителя даты. затем щелкните кнопкой мыши вкладку Дата (показанную на рис. месяц. предлагаемыми программой Access. касающиеся форматирования дат и не совпадающие со стандартными установками. расположенную рядом с полем выбора региона. 2. Щелкните мышью кнопку Настройка. такой как день. год. что его поведение покажется противоестественным всем остальным Пользовательские форматы дат Если вы не удовлетворены семью стандартными вариантами вывода дат. 2. задаваемых двумя последними цифрами. . час и т. Каждая часть представляет отдельный компонент даты. Диалоговое окно Настройка региональных параметров позволяет настроить способ отображения дат на вашем компьютере. порядка следования компонентов день. только если у вас есть конкретные предпочтения. минута. можно сформировать собственную строку формата даты и ввести ее в свойство Формат (Format). Можно формировать любые комбинации значений этих параметров.13). Строка формата даты состоит из нескольких частей.С помощью дополнительных параметров можно произвести более тонкую настройку. год в дате и способа интерпретации программой Access лет. Эта строка сообщает программе Access способ представления даты и времени. д. Рис. Делать это имеет смысл.13. но в итоге вы можете так настроить компьютер. месяц. для вывода на экран нового диалогового окна.

используемые в строке формата для даты или времени. 1—31 с номерами 1—9. затем двузначный номер месяца с последующим дефисом и далее двузначный номер дня в месяце. Если вы примените эту строку формата дат к полю. (для номеров 1—9 добавляется ведущий нуль (0)) 1 ddd dddd m Сокращенное название дня недели Полное название дня недели Номер месяца в диапазоне 1—12 (ведущие нули не приме няются) Вт Вторник 1 mm Номер месяца в диапазоне 1—12 (ведущие нули применя ются для 01— 09) 01 mmm mmmm уу уууу Трехбуквенное сокращенное название месяца Полное название месяца Сокращенное двузначное обозначение года Год задается всеми четырьмя цифрами Час от 0 до 23 (ведущий нуль не применяется) Час от 0 до 23 (ведущий нуль применяется для значений 00—09) Янв Январь 08 2008 13 13 Минута в часе от 0 до 59 (ведущий нуль не применяется) 5 dd h hh :m 01 .Вы можете соединять эти части в любом порядке. Вы также можете управлять способом вывода года. но данный пример определяет их порядок в соответствии со стандартом ISO (International Organization for Standardization.4. В табл. Вы вольны располагать эти компоненты как вам захочется. Международная организация по стандартизации) для дат. 2008) Номер дня в месяце. касающиеся даты.4 приведены основные заполнители. какую информацию вы решили отображать или скрывать при выводе. выводимыми без ведущего нуля (0) Номер дня в месяце. 2. Код для форматирования даты и времени Код Описание d Выводится (для даты Январь 1. Таблица 2. в котором содержится дата Январь 1. дня и месяца в дате. Access хранит в вашей БД одни и те же данные. Можно применять сокращенные или полные названия месяцев вместо номера месяца (просто замените код mm чем-то другим). что независимо от того. то увидите ее на листе данных в таком виде: 2008-01-01 Помните о том. в диапазоне 1—31. Например. 2008. посмотрите на следующую строку формата: yyyy-mm-dd Ее можно транслировать в следующие инструкции: выведи четырехзначный год с последующим дефисом.

2. Установленный флажок отображает значение Да (или Истина. или Вкл).14. Сброшенный флажок означает Нет (или Ложь.2008) 05 5 05 РМ рm Р p Логический Поле с логическим типом данных (Да/Нет) — это чудо эффективности.Таблица 2. или Выкл) . Представляет собой простейший тип данных Access. поскольку допустимы только два возможных значения: Да или Нет. В данном примере поле ForResale (для продажи) — поле с логическим типом данных.4 (окончание) Код Описание :mm :s : ss Минута в часе от 0 до 59 (ведущий нуль применяется для значений 00—09) Секунда в минуте от 0 до 59 (ведущий нуль не применяется) Секунда в минуте от 0 до 59 (ведущий нуль применяется для значений 00—09) АМ/РМ Предписывает программе Access использовать 12-часовую шкалу с индикацией первой (AM) и второй половины (РМ) суток am/pm Обозначает 12-часовую шкалу с индикацией первой (am) и второй (рm) половины суток А/Р а/р Предписывает программе Access использовать 12-часовую шкалу с индикацией первой (А) и второй половины (Р) суток Предписывает программе Access использовать 12-часовую шкалу с индикацией первой (а) и второй половины (р) суток Выводится (для даты Январь 1. Рис.

он окрашивается в синий цвет и подчеркивается. что поле содержит ответ "да" или "нет" на вопрос.Применяя поле с логическим типом данных. как показано на рис. не являющиеся гиперссылками.15 . файл или адрес электронной почты. срабатывающие по щелчку кнопки мыши. Access открывает ее в вашем Web-обозревателе (рис. Вы можете применять поле с именем InStock для отслеживания наличия изделий на складе. Эта особенность может создать проблему. заменяя слова "Да" и "Нет" словами Вкл/Выкл или Истина/Ложь. Гиперссылка Тип данных Гиперссылка (Hyperlink) подойдет. Примечание Программа Access не мешает вам вводить в поле с типом данных Гиперссылка значения. Male (мужчина) (для разделения мальчиков и девочек) и Republican (республиканец) (при условии. что вы хотите различать только две политические ориентации). который получается. 2. И когда вы щелкаете ссылку кнопкой мыши. Рис. Но у них мало различий. 2. Эти три варианта можно найти в списке свойства Формат (Format). представьте себе. который на самом деле не существует. Вы можете в одной таблице создавать любые комбинации этих трех видов указателей. что все поля логического типа одинаковы. В Режиме таблицы Access обрабатывает гиперссылки немного иначе. Несмотря на то. Щелкните кнопкой мыши эту гиперссылку Office Online и попадете прямо на доброжелательный Web -сайт . Access попытается отправить Web -обозреватель по адресу http ://saggy balloons .14. если БЫ хотите создать ссылку на Webстраницу. поскольку на листе данных поля этого типа отображаются с флажком. если добавить воображаемый вопросительный знак к названию поля.15). Если вы поместите текст " saggy balloons " (сдувшиеся ша рики) в поле типа Гиперссылка и щелкните его кнопкой мыши. для них можно выбрать слегка отличающиеся форматы. 2. когда вы щелкнете кнопкой мыши ложную гиперссылку. Когда вы вводите текст в поле типа Гиперссылка. В данном случае "да" или "нет" — ответ на вопрос "На складе?" Другими примерами могут служить поле Shipped (доставленные) (в списке заказов).

Он позволяет вставлять файлы в запись БД почти так же. Рис. которую откроет Access. к. включающие адреса электронной почты (в этом случае Access откроет программу электронной почты. на который вы переходите при щелчке кнопкой мыши ячейки (URL или полное имя файла). все три компонента получают одно и то же значение — то. URL ссылки и пояснительная надпись содержат одну и ту же информацию — URL — http://www. чтобы раскрыть окно Изменение гиперссылки (Edit Hyperlink) — рис.FantasyPharmacologists. С помощью окна Изменение гиперссылки можно изменить текст.Одно свойство поля типа Гиперссылка сразу не очень понятно. Когда вы вводите гиперссылку на листе данных. ■ адрес. позволяет быстро просмотреть ссылку. 2. ■ текст. появившийся в программе Access 2007. когда вы набираете http://www. перейдите в ячейку с набранным значением и нажмите сочетание клавиш <Ctrl>+<K> для того. который вы видите. Если вы хотите трем описанным компонентам присвоить разные значения.16. На самом деле такие поля хранят несколько порций данных.FantasyPharmacologists. т. Другими словами.16. который вы видите при наведении указателя мыши на ссылку (пояснительная надпись). Но это не единственно возможная стратегия. если вы щелкните ссылку кнопкой мыши (в нижней части окна). появляющийся в ячейке (в верхней части окна). что вы только что ввели. который вы видите в ячейке. Вы также можете создавать ссылки. Каждая гиперссылка включает три компонента: ■ текст. 2. Или щелкните значение правой кнопкой мыши и выберите последовательность команд Гиперссылка → Изменить гиперссылку (Hyperlink → Edit Hyperlink).com. и страницу. В большинстве случаев этот подход хорош. как вы вкладываете файлы в .com. текст. установленную на вашем компьютере) или ссылки на полное имя файла (с использованием области просмотра папки для выбора нужного файла) Вложение Тип данных Вложение (Attachment) — это новый тип.

ограничен двумя гигабайтами. Вам придется запустить программу Access и найти соответствующую запись. вставленные в поле типа Вложение как часть вашей таблицы. включенного в список контактов. объем. Если вы поместите часто корректируемый документ в БД Access. который может занимать БД Access. Лучше хранить большие документы в отдельных файлах. Тип данных Вложение хорошо подходит для вставки в запись изображения. или каталог изделий с изображением товаров. в заголовке столбца отображается скрепка. что задано свойство поля Подпись (Caption). 2. Вложения помечаются пиктограммой скрепки и числом в скобках. и вы никогда не потеряете их след. но без текста. рядом с ним расположена пиктограмма скрепки (рис. поскольку они хранятся в файле вашей БД.) Если свойство не задано. В этом случае у данных типа Вложение — очевидные преимущества. печати и поиска. 2. чтобы она могла забрать измененный файл и вставить его снова в БД.17). такого как Word или Excel. сообщающим о количестве вложенных файлов. На листе данных поле с типом данных Вложение легко узнать. В данном примере все значения в поле Picture с типом данных Вложение пустые за исключением Count Chocula. у которого оно равно двум . вы должны оставить программу Access открытой. Вы можете создать таблицу People (люди) с изображением каждого человека. к. определяющее текст. т. короткого звукового файла или документа из другого приложения пакета Office. а затем записывать имя файла в текстовое поле или поле с типом данных Гиперссылка (Hyperlink). Но данные типа Вложение не так привлекательны в случае больших файлов или файлов. Если вы начнете сохранять большие файлы в ваших таблицах. требующих частой корректировки. Если же нужно внести изменения. (Часто для заголовка используется имя файла. прежде чем связываться с вложенными файлами. встроенную в файл вашей БД. Как вы уже знаете. который появляется в заголовке столбца для этого поля. Применяя тип данных Вложение. Рис. прежде чем вы сможете открыть ваш документ. которые вы пролаете. Предупреждение Дважды подумайте.17. то можете просто превысить его. он не будет доступен для быстрого редактирования. убедитесь в том. Access хранит файлы.ваши сообщения электронной почты.

Вы увидите диалоговое окно Вложения (Attachments) — рис. . На рис. связанные с вашим полем Далее перечислены действия. автоматически обновляет вложенный файл и затем удаляет временный файл. ■ Вы не можете ограничить количество разрешенных вложений файлов в поле типа Вложение. Щелкните мышью кнопку Добавить (Add). Вы также не можете ограничить типы файлов. которые можно выполнить с помощью окна Вложения (Attachments). ■ Вставить новый вложенный файл. Далее перечислены некоторые ограничения этого типа данных. Рис. Затем найдите и укажите новый файл и нажмите кнопку ОК. 2. что происходит. ту. В диалоговом окне Вложения показаны все файлы. Выберите нужный вложенный файл. ■ Удалить вложение файла. ■ Редактировать и просматривать вложенный файл.19 показано. Если вы сохраняете файл.Для вложения файла или просмотра списка вложенных файлов дважды щелкните кнопкой мыши пиктограмму скрепки. Выберите вложенный файл и щелкните мышью кнопку Открыть (Open). Выберите в списке нужный файл и щелкните мышью кнопку Удалить (Remove). Вы увидите новый файл в конце списка файлов. предназначенных для вложения. Если вы меняете данные копии. предназначенных для вложения. 2. содержимое вложенного файла в вашей БД не меняется. У всех полей этого типа практически нет ограничения на количество вложенных файлов (хотя вы не можете вложить два файла с одним и тем же именем). К сожалению.18. то Access предупреждает о том. что ваши корректировки не будут отражены в вашей БД. Вы не можете ограничить и размер файлов. в которой сохраняется кэшируемая интернетинформация. Если вы закроете окно Вложения (Attachments) до того. Или щелкните мышью кнопку Сохранить все (Save All) для сохранения копий всех вложенных в это поле файлов. как закрыли файл. щелкните мышью кнопку Сохранить как (Save As) и затем укажите место на вашем компьютере для сохранения копии.2. у типа данных Вложение мало параметров управления. Access отслеживает изменения.18. Программа Access скопирует вложенный файл во временную папку па вашем компьютере. Сохранить копию вложенного файла.

она спрашивает вас о том.Рис. Иногда программа Access пропускает числа. Такой пропуск возможен. "Первичный ключ " далее в этой главе. Access гарантирует. которые вы внесли к данному моменту и не сохранили).19. Вы также можете удалить существующую запись. которые вы вносите (или любые изменения. когда вы вставляете новую запись. когда несколько пользователей одновременно работают с БД. В итоге. возможно. равное 401. а затем отменяете это действие. (Для того чтобы избежать подобных треволнений. Обычно поле типа Счетчик выглядит как последовательность чисел — Access стремится дать первой записи значение 1.doc" все еще открыт. что ей присвоено значение типа Счетчик. Примечание У каждой таблицы может быть не более одного поля Счетчик. как объясняется в разд. вы не захотите тратить много времени на его рассмотрение. хотите ли вы обновить БД последней сохраненной версией файла. Если вы продолжите. Вверху: в данном примере файл "The Story of the Count. Но истина не так проста. то все изменения. программа никогда не присвоит двум записям одно и то же значение типа Счетчик. значение Счетчик не отображает ничего реального. вкладывайте только те файлы. что в таблице уже есть 400 записей. что значение счетчика уникально — другими словами. если вы вставляете новую запись и видите. что вы сохраняли ваш файл с тех пор. то не можете с уверенностью сказать. В отличие от всех других знакомых вам типов данных. в поле типа Счетчик нельзя ввести значение. или когда вы начинаете вставлять новую запись. Внизу: если программа Access замечает. меньше. второй записи значение 2 и т. не будут отражены в БД. как открыли его впервые. Программа Access делает это автоматически. Обычно ваше поле типа Счетчик служит также и первичным ключом для вашей таблицы. возможно. и. Бесспорно.) Счетчик Счетчик (AutoNumber) — это специальный тип данных. нажав клавишу <Esc>. которые вы не собираетесь редактировать. 2. Реальное их количество. д. в этом случае Access никогда повторно не использует значение типа Счетчик из удаленной записи. Единственная задача поля с типом данных Счетчик — гарантировать наличие у каждой записи вашей таблицы уникального указателя. .

11003. Если вы когда-нибудь захотите сравнить данные. для того чтобы реализовать эту хитрость. Этот вариант действительно используется только в одном случае — если у вас есть отдельные копии БД и вам в будущем придется объединить данные из них. Коды репликаций (Replication ID) — это длинные непонятные коды. вы не хотите. прежде чем использовать их в своих таблицах. заставив генерировать числа типа Счетчик. что ваша торговая марка. что вы работаете в компании с несколькими региональными отделами продаж. . "не одурачила" и 12 заказчиков. 1671255778 и -1388883525. 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C. то быстро запутаетесь. например. Для их применения измените значение свойства Размер поля с Длинного целого на Код репликации. ■ Коды репликации.Применение поля типа Счетчик без раскрытия реального размера вашей таблицы У значений Счетчик есть маленький недостаток: они предоставляют сведения о количестве записей в таблице. Для того чтобы воспользоваться случайными числами. Теперь вы получите длинные номера для каждой записи. С другой стороны. Такой подход также гарантирует наличие у ваших идентификаторов одинакового количества цифр и позволяет разделить ID в разных таблицах. начиная их формирование с различных минимальных значений. отличных от 1" главы 8. их можно использовать как подтверждающие номера (confirmation numbers). торгующая скульптурными фигурками из масла в духе народных ремесел (Better Butter Sculptures). ■ Случайное значение типа Счетчик. вам надо обмануть Access с помощью специально разработанного запроса. И не сможете в будущем объединить данные в общей БД для дальнейшего анализа. Быть может. Лучше всего начать отсчет с большего числа. Есть два варианта. такие как 212125691. вы получите несколько клиентов с одинаковыми ID. (Например. новая компания. Вы можете обмануть программу Access. Если применять обычное поле типа Счетчик. что его номер. ID. гарантированно уникальные с точки зрения теории вероятностей. но в разных филиалах. серьезно оцените необходимость их применения. измените свойство поля Новые значения (New Values) со значения Последовательные (Increment) на значение Случайные (Randome). отслеживающую заказы. Оба этих варианта несколько затуманивают простую и понятную концепцию типа данных Счетчик. 11002. всего 6. вы можете заставить программу генерировать значения типа Счетчик иным способом. "Получение начальных значений типа Счетчик. В следующем разделе объясняется этот сценарий. которые другие люди не смогут угадать. Применение типа Код репликации Представьте себе.) Но в мире Access случайные числа типа Счетчик применяются редко. Поэтому вас смутит необходимость признаться ему в том. чтобы клиент знал. вместо создания номеров клиентов 1. который вы увидите в разд. поэтому. Вы можете использовать случайные числа типа Счетчик для формирования значений. если у вас есть таблица Orders (заказы). 2 и 3 вы можете создать ID-значения 11001. К сожалению. в конце концов. в которой применяются случайные числа в поле OrderlD (идентификатор заказа). Например. начиная с заданного минимума. каждый из которых имеет собственную БД.

Следовательно. равна 1/2128. Дело в том. 2. Код репликации — странное творение — очень длинный идентификатор (всего 16 байтов). каждая с уникальным с вероятностной точки зрения значением типа Счетчик . Более того. Вы узнаете больше о передаче данных из одной БД в другую в главе 19. что у каждого клиента уникальный идентификатор. если многочисленные копии одной и той же БД используются в разных местах. возможных значений типа Код репликации так много. Рис. 2. В теории вероятность того. В таблице FictionalCharacters показаны 10 записей.20 показана таблица. что вы создадите одно и то же значение дважды. вы можете быть уверены в том. вы можете периодически объединять отдельные таблицы в одной главной БД. в которой используются коды репликаций. и все же быть уверенным в отсутствии дубликатов в течение десятилетия или двух. если значение типа Счетчик применяется для отслеживания и бухгалтерского учета. гораздо легче поблагодарить кого-либо за отправку заказа Order 4657. Другими словами. На практике реальным ограничением служит качество используемого в программе Access генератора случайных чисел. что два GUID идентичны. чтобы вы могли заставить работать один биллион сотрудников. чем заказа Order 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C. глобально уникальный идентификатор). На рис. создающих не более одного биллиона GUID в год. которая выглядит примерно следующим образом: 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C Такой идентификатор — более громоздкий по сравнению с обычным целым числом. если у вас даже десятки отдельных копий вашей БД и они управляются сотнями клиентов. Другими словами.Программа Access предлагает вам другую возможность — Код репликации.20. представленный строкой цифр и букв. Код репликации использовать для этой цели не стоит. (Этот процесс называется репликацией и служит причиной появления термина "код репликации". Помимо всего прочего. что Код репликации гарантирует вероятностную уникальность значений. величина достаточно маленькая для того. Но эти коды помогают решить описанную ранее проблему. что практически невероятно.) Примечание Код репликации также называют GUID (globally unique identifier.

Этот метод хорошо работает. вы не можете вставить две записи с полностью идентичными данными. система управления базами данных. что гораздо быстрее. Другими словами. Вы можете пометить каждого человека в вашем списке контактов с помощью уникального ID-номера. что ни у каких двух людей из списка не будет одинаковых номеров) и больше не думать об этом. что можно создать первичный ключ как комбинацию имени и фамилии. они могут быть почти идентичны. что вы можете сделать. гарантируя уникальный номер для каждой куклы-болванчика. пробежав список этих номеров. ID останется прежним. такая как Access. у вас. и она не может позволить себе перепроверять вашу новую запись. если у вас есть два Шона Смита. что у вас есть список друзей (и их контактная информация) в таблице. Вместо этого она полагается на первичный ключ. Проблема устранения дубликатов не так проста. Вы не можете вставить в таблицу значение поля Код или изменить значение в имеющейся записи. Рассмотрим таблицу Dolls.Смитами (Sean Smith). В ней есть поле. сравнивая ее со всеми другими записями в таблице для выявления дубликата. должна уметь определять разницу между каждой и любой записью в вашей таблице. вы можете решить. как кажется. с одинаковыми данными во всех остальных полях. Это вполне приемлемо для программы Access. Чистоплюйство БД общеизвестно. у каждого из них будет свой ID. До тех пор пока у каждой записи в таблице есть уникальный. представляющий собой поле (или комбинацию полей). И даже если Феррис Вил (чертово колесо) Симпсон решит сменить имя. Как Access предотвращает дублирование записей " вы найдете подробный рассказ об этом. никогда не повторяющийся первичный ключ.) В таблице Employees (сотрудники) номер социального обеспечения (Social Security number) мог бы служить первичным ключом. Программа Access спроектирована в расчете на максимальную скорость обработки. названное Код (ID) и автоматически заполняемое Access. Представьте. В примечании "На профессиональном уровне. они не терпят такого рода мусора. Такой подход в большинстве . названной People (люди). чем просмотр целой таблицы. поскольку. Access может проверить наличие дублирования. но с разными первичными ключами. уникальное для каждой записи. Именно так действует программа Access. У всех таблиц должен быть первичный ключ. Лучше всего вставить новую порцию данных. Как Access предотвращает дублирование записей Для того чтобы функционировать корректно. Для того чтобы понять важность роли первичного ключа. Самое лучшее. (В худшем случае. созданную в главе 1.Первичный ключ В Конструкторе можно задать первичный ключ (primary key) таблицы. как раз так и не следует делать — в конце концов. когда вы создаете таблицу в Режиме таблицы. есть масса адресных книг с двумя Шонами. когда вы вставляете новую запись. На профессиональном уровне. не будет двух идентичных записей. нужно знать немного больше о принципах работы БД. — дать возможность программе Access создать такой номер для вас (и быть уверенным в том. Программа Access полностью контролирует это поле. Выбор первичного ключа — непростая задача. К сожалению. Рассуждая логически. В этом случае.

Она выводит на экран этот список для своего пользователя и предлагает ему внести изменения. пока не поработаете с более сложными примерами последующих глав. представьте. д. выбрав Создание → Таблицы → Конструктор таблиц). Создайте новое поле. что вы создали программу для редактирования таблицы Dolls. чем кажется на первый взгляд. ваша задача — создать его и установить первичный ключ. выбрав на ленте Создание → Таблицы →Конструктор таблиц (Create → Tables → Table Design). что программа Access создаст уникальное значение ID для каждой вставляемой вами новой записи. CustomerlD и т. вставив его имя в столбец Имя поля (Field Name). В столбце Тип данных (Data Type) выберите тип данных Счетчик (Currency). в чем проблема. что потребует больше работы. Если вы создаете таблицу в Конструкторе. BobbleheadID. 3. . В этом вся загвоздка — если произведена корректировка. должны однозначно идентифицировать запись. Некоторые пользователи предпочитают более информативное имя (например. вам придется использовать несколько иной подход. Вы должны вставить поле Код (или что-то подобное). Этот выбор помечает поле как первичный ключ для вашей таблицы.). программа должна иметь возможность внести изменения в соответствующую запись в БД. Вот как это делается. чтобы выделить несколько полей. Затем нажмите и удерживайте нажатой клавишу <Shift> и щелкните правой кнопкой выделенные поля. Access считает. включенных в таблицу. поэтому не пытайтесь изменить его или удалить поле Код.Щелкните поле правой кнопкой мыши и выберите команду Ключевое поле (Primary Key). что делаете. но это необязательно. 1. Программа Access не допустит повторяющихся значений в этом поле. использующие вашу БД. Для того чтобы понять. вы создали ее. Примечание Если вы хотите включить в первичный ключ несколько полей. 2. Почему так важна уникальность Вы не поймете до конца важность наличия уникального ID-номера у каждой записи. В этом случае вы отвечаете за ввод собственного уникального значения для каждой записи.случаев — как раз то. На профессиональном уровне. Если этот подход вас не устраивает. Но одну из причин можно назвать — другие программы. Создание поля для вашего собственного первичного ключа Если в вашей БД нет поля Код (возможно. и не создает для вас поле Код. Эта программа начинает с извлечения списка всех ваших кукол-болванчиков. Но есть одно исключение. Сначала щелкните кнопкой мыши отступ на странице рядом с именем поля. а затем переместите мышь с нажатой кнопкой. текстовый тип данных или числовой). Выбрав этот тип данных. Теперь можно выбрать команду Ключевое поле (Primary Key). что вы знаете. можно выбрать что-то другое (например. что вам нужно. Для автоматической генерации значений лучше всего подходит имя Код (ID). вы можете быть уверены в том.

Вы снова и снова вынуждены ссылаться на одни и те же имена. а это быстро надоест.А для того чтобы это сделать. уникальный "адрес" — поле Код куклыболванчика. язык структурированных запросов) (язык для работы с БД. т. Далее приведено несколько советов. Избегайте пробелов. но большинство приверженцев Access делают заглавной первую букву каждого слова (называют этот прием CamelCase (контур верблюда)) и затем сливают слова вместе для формирования имени поля. Увы. с ними легче работать. Вы можете выбрать одно из двух имен поля ProductPrice (цена_товара) и ProductPrice. В программе Access разрешается в именах полей применять пробелы. Шесть правил проектирования БД Чем больше власти. Это означает. В этом разделе вы познакомитесь с наиболее важными из них. Если вы соблюдали все практические рекомендации по проектированию. насколько это возможно. они приводят к гораздо меньшему числу трудно разрешимых проблем в случае извлечения информации. Примерами могут быть UnitsInStock (единиц на складе) и DateOfExpiration (годен до). это верный шаг к созданию путаницы . Как проектировщик БД вы должны разработать набор таблиц с подходящей структурой. Она позволяет включить 64 символа в создаваемое вами имя. ■ Будьте последовательны. в них больше шансов сделать ошибку. описанные ранее. к. Хорошо спроектированные БД легко усовершенствовать. Нельзя сказать. нет рецепта создания идеальной БД. Для достижения наилучших результатов прочтите следующие рекомендации и пробуйте создавать собственные тестовые БД. что вам придется использовать квадратные скобки при упоминании имен полей. формируете отчеты и даже когда пишете код. ■ Пользуйтесь заглавными буквами. Однако не следует смешивать оба подхода к заданию имен в одной БД. Правило 1. В языке SQL (Structured Query Language. но они могут вызывать проблемы. ■ Сделайте его простым и коротким. тем больше ответственности. то сэкономите массу времени и сил в будущем. Если без пробелов не обойтись. Если вы сделаете это как следует. Любой выбор вполне оправдан. Поэтому важно выбрать подходящее имя с самого начала. содержащих пробелы (например. их труднее втиснуть в формы и отчеты. требующее опыта. Выбирайте подходящие имена полей В программе Access не установлено особых правил для выбора используемых имен полей. ей нужна уникальная порция данных. Тем не менее имена полей важны. которую можно использовать для определения местонахождения записи. что это "железное" правило. Длинные имена утомительно набирать. которым вы будете пользоваться для поиска данных) пробелы запрещены. рассмотрите возможность их замены знаком подчеркивания (_). [Number Of Guests] ). Совет Разработка хорошей БД — это искусство. когда создаете формы. Но ряд рекомендаций может направить вас в нужное русло. Имя поля должно быть настолько коротко.

Точно так же. поэтому гуру БД редко соглашаются на дополнительные неприятности . если у вас несколько таблиц с аналогичной информацией (например. не давая ничего взамен. Вместо него применяйте такие имена. д. ■Не используйте для имени поля слово "Name". совершенно ясно. как ProductName. Правило 2. Учтите. используйте для этих полей одно и то же имя.) Вы также должны. что технически все еще возможно разделить данные позже — теоретически сведения об уличном адресе можно разделить на StreetNumber (номер дома).21. чтобы не включить слишком большую порцию данных в одно поле. Вы должны хранить в каждом поле элементарную порцию данных. что это труднопроизносимое имя. но постарайтесь выдержать имена всех таблиц в одном ключе. Но такой подход создает массу сложностей. StreetName (название улицы) и StreetType (тип улицы). ClassName и т. ■Не включайте в имя поля имя таблицы. как следует. слово "Name" — ключевое в программе Access. что вы имеете в виду страну (Country). Рис. CategoryName. подумать над именами ваших таблиц. когда следует нарушить правило о включении имени таблицы в имя поля. 2. И то и другое хорошо. (Это как раз тот случай. фанаты БД проводят часы в спорах о том. поле FirstName (имя) в таблице Employees (сотрудники) и в таблице Customers (клиенты)). Разбивайте ваши данные Следите за тем. Имя поля CustomerCountry было бы избыточным. Помимо того. Если у вас есть поле Country (страна) в таблице Customers. Например. в которой живет клиент. Данный пример демонстрирует правильный способ разделения данных (вверху) в таблице Contacts (контакты) и неверный способ (внизу). что лучше: Клиент или Клиенты). надо ли использовать множественное число в именовании таблиц (например. И снова последовательность достойна королевского звания.

21 (внизу) отображена опасная ошибка — попытка хранить несколько порций данных в одном поле. . что вы легко можете отфильтровать всю ненужную вам информацию на листе данных. вам не нужно поле Character (персонаж).21 показан пример надлежащего разбиения. Но эта неприятность — мелочь. это устраняет некоторые типы ошибок. это может быть не столь очевидно. Вы можете использовать таблицу Dolls для выявления дубликатов (и избежать повторной покупки одной и той же куклыболванчика). Аналогично следует разделить сведения об адресе на несколько столбцов. идентифицирующее куклу. совершенно ясно. если вы создаете более подробные таблицы. кто живет в Нантуките (Nantucket). пытающейся делать лишнюю работу. Избегайте дублирования данных Когда вы начинаете заполнять таблицу полями. если вы на основании новых научных данных решите изменить сведения о средней продолжительности жизни слона? В соответствии с имеющимся проектом таблицы вам нужно изменить все записи с одними и теми же данными. City (город). Все. которые разделены на маленькие порции. Для решения каждой из них нужен слегка отличающийся набор данных. "Фамилия.22.22 показана эта проблема в действии на примере таблицы. таких как Street (улица). подобное показанному на рис 2. 2. основываясь на одной порции этой информации. Однако. Имя" или "Имя Фамилия"). Существует множество оснований для разделения информации на отдельные поля. На рис. способные создать затруднения при попытке использовать данные в автоматизированной задаче какого-либо вида (например. что вам далеко не всегда нужны все эти поля. Но все равно следует все их включить в одну таблицу. вам не нужна информация о дате покупки (DateAcquired) или покупной цене (PurchasePrice). Такое включение создает нескончаемые проблемы и в подобную ловушку попасть на удивление легко. Прежде всего. написанное в этой книге. бесполезно расходующих дисковое пространство и повторяющих одни и те же значения снова и снова. Дублирование данных. State (штат) и Country (страна) — в этом случае вы гораздо легче найдете всех. гораздо разумнее вставить два поля: FirstName (имя) и LastName (фамилия). В поле Name имя можно ввести несколькими разными способами (например. неэффективно. Когда вы подсчитываете потраченную сумму. потраченной в этом году (для расчета величины налога). иногда возникает желание включить в нее несвязанную информацию. Правило 4. На рис. Но гораздо важнее то. Несмотря па то. чего нельзя было бы сделать в противном случае.Вместо того чтобы создать одно поле Name в таблице о контактах. объединение сообщений электронной почты). Легко вообразить таблицу с сотнями похожих записей. Разбиение имени устраняет эти проблемы. Правило 3. по сравнению с затратами на обновление подобной информации и возможностью возникновения противоречивости данных. После разделения поля Name на поля FirstName и LastName вы можете сортировать и искать информацию. доказывает. что значительно легче работать с данными. Не трудно представить себе версию таблицы Dolls. 2. а также в ваших формах и напечатанных отчетах. Что произойдет. Когда вы ищете дубликаты. содержащую 30 или 40 полей данных. для поиска самых старых экземпляров вашей коллекции и для определения общей суммы. На рис. Некоторые из них вы можете использовать только от случая к случаю. 2. что есть смысл поместить их все в одну таблицу. Храните все детали в одном месте Часто одна таблица применяется в решении многих задач.

Еще хуже то. Потребуется чуть-чуть больше времени для получения всей необходимой вам информации о животном — например. 2. как только у вас появляется несколько животных одного вида (в данном случае три слона). Рис. Данная таблица содержит список имеющихся в наличии домашних питомцев у человека. Поля же LifeSpan (продолжительность жизни). Окончательный итог — противоречивые данные — несогласованная информация и нескольких местах таблицы — что делает невозможным извлечение корректных данных. В таблице Pets — это домашние питомцы. Animal (вид животного) и Weight (вес). Как правило. Для того чтобы понять — почему. без дублирования. Теперь все касающиеся слонов подробности повторяются три раза Проблема возникает. что очень легко внести изменения в одни записи и оставить нетронутыми другие. нужно погрузиться поглубже в анализ БД. таблица в БД хранит один объект.23. В ней также приведена некоторая полезная информация о средней продолжительности жизни. Они не описывают . для того чтобы выяснить продолжительность жизни Беатрис. такие как Name (имя). Temperament (характер) и Diet (рацион) не совсем уместны. характере и пищевых предпочтениях каждого вида животных. но в итоге проект стал более логичным В таблице Pets все поля. Каждое поле в таблице — это порция данных об этом объекте. имеют смысл. 2. Теперь относящаяся к животным информация хранится в одном месте.22. занимающегося разведением редких животных. Они описывают конкретную особь. вам придется проверить запись Elephant (слон) в таблице AnimalTypes. Сначала такой проект кажется вполне разумным. Но проблема возникает. Рис. потому что не вся информация в таблице Pets (домашние животные) связана между собой.

Наконец. поэтому эта дополнительная работа вряд ли окупится. Country. Он больше характерен для размещенных на серверной стороне коммерческих БД. City. проектирующие БД. Далее перечислены еще несколько примеров избыточной информации. Как и в случае дублирования данных. В некоторых случаях дробление таблицы на все более мелкие части не стоит затраченных усилий. то в поле Age содержится избыточная информация. Но два клиента проживают по одному адресу довольно редко. Мы рассмотрим способы определения связей между таблицами. в главе 5. 2. вы усложняете жизнь. Для этого запишите все различные типы информации. Другими словами. то вы в опасности — если вы не сможете отслеживать дни рождения и тщательно редактировать каждую запись. Вы должны иметь возможность вычислять цену со скидкой как положено. В обычном деловом мире надбавки и скидки часто меняются. вы создаете возможность хранения в нем некорректных данных (возможно. PostalCode) из таблицы Customers и поместить ее в таблицу Addresses (адреса). возьмите поля из черновика и записывайте их по очереди на соответствующую учетную карточку до тех пор. Нужен опыт для поиска полей. нужно пересчитывать среднее значение и обновлять запись клиента. Примером может служить поле AverageOrderCost (средняя стоимость заказа) в таблице Customers. эти поля основываются не на вашем животном (как должны были бы) — они основываются на биологическом виде животного. ■ Поля Age (возраст) и DateOfBirth (дата рождения) (в таблице People). Затем отложите учетную карточку для каждой таблицы. необходимые для вашей БД. не связанных с другими полями. когда клиент вставляет заказ. которыми управляют большие компании или Web-сайты. ваши данные скоро станут некорректными. Примечание Небожители. Но если у вас только поле Age. Если же у вас их два.конкретного домашнего питомца. основываясь на заданных процентах. Если вы вычислите . Единственный способ решения проблемы — создание двух таблиц: Pets и AnimalTypes (виды животных) (рис. Кроме того. иногда действительно используют вычисляемые данные для повышения производительности. Теоретически вы можете извлечь информацию об адресе (содержащую такие поля. Но этот тип оптимизации очень редко встречается в БД Access. которая уже есть где-то в БД или даже в той же таблице. В них содержатся стандарты для животных этого вида. поскольку каждый раз. Правило 5. что вы можете определить среднюю стоимость заказа. пока они не разделятся на четкие связанные группы. такая избыточность может порождать противоречивость данных. как Street. Проблема в данном случае состоит в том. иногда в слегка иной форме. просмотрев в таблице Orders (заказы) все записи для данного клиента.23). Вычисляемые данные — самый распространенный тип избыточной информации. Совет Многие специалисты по проектированию БД считают лучшим методом планирования БД — применение учетных карточек (index cards). ■ Поле DiscountPrice (цена со скидкой) (в таблице Products). которую планируете использовать. Вводя поле AverageOrderCost. Избегайте избыточной информации Другой тип несвязанной информации — избыточные данные — информация. такими как Pets и AnimalTypes. Обычно вы включаете только поле DateOfBirth. и усреднить их. его значение не будет соответствовать реальным записям о заказах).

.скидки.

Не поддавайтесь искушению. И если вы используете связи между таблицами. Другая информация. Вставляя поле Код. . даже имена и номера социального обеспечения могут измениться. Включайте поле Код Как вы уже знаете. вы вынуждены искать его значение и разных местах БД.равные 10%. все равно вставляйте поле Код во все ваши таблицы. когда вы изучили Конструктор. в этом случае Access автоматически заполнит его числами и отведет ему роль первичного ключа. и назначает его первичным ключом вашей таблицы. Но даже теперь. и сохраните измененные цены в вашей БД. Убедитесь. Примечание Хорошо бы сделать привычкой включение полей Код во все ваши таблицы. В главе 5 вы поймете преимущества такого подхода. вы всегда увеличиваете степень свободы ваших действий. Поле Код не придется менять никогда. что в нем используется тип данных Счетчик. Если первичный ключ меняется. программа Access автоматически создает поле Код (ID). вас ждет много работы в случае снижения скидки до 9%. В некоторых ситуациях в вашу таблицу может быть включено уникальное поле. программа Access копирует первичный ключ в другие таблицы. Правило 6. которое можно использовать как первичный ключ. когда вы разрабатываете таблицу в Режиме таблицы. когда начнете устанавливать связи между таблицами.

видоизменяющих листы данных. если вы планируете создать маленькую империю кукол-болванчиков (готовую для демонстрации на международных выставках). разд. досконально освоив такие методы. что нужно. фильтрация и другие действия В главе 1 вы впервые познакомились с листом данных — простым и понятным средством для просмотра и редактирования данных таблицы. (Конструктор — более удобное средство для всевозможного управления БД. у программы Access есть чудодейственные средства управления листом данных. вы станете знатоком средств. но ваше творческое эго будет довольно. С помощью форм можно создать полностью настраиваемое окно для ввода данных. затраченное на работу с листами данных. Настройка листа данных Бас утомил тусклый лист данных с монотонно тянущимися рядами столбцов и строк? Вы можете кое-что сделать с ним. С другой стороны. Имея опыт создания таблицы Dolls (см. внесения изменений и добавления новых данных. В конце концов. мягко говоря. — исключительно ваш выбор. чтобы сделать его более удобным (или отвечающим вашему чувству . Прочитав эту главу. возможно. если вам необходимо вести учет только дюжины кукол-болванчиков. чувствуете себя излишне самонадеянно в отношениях с листом данных. К счастью. Программа Access позволяет настроить внешний вид и структуру листа данных. на самом деле никакая БД не нужна — вы будете вполне удовлетворены. лист данных — не лучший инструмент для создания таблицы. "Создание простой таблицы" главы 1). Неожиданно лист данных покажется. необъятным. Некоторые знатоки программы Access предпочитают создавать формы для всех своих таблиц (как описано в части IV). как сортировка. придется заполнить вашу таблицу сотнями или тысячами записей. способные сделать жизнь проще. В этом случае не так легко пересмотреть массу данных. Вы также узнаете. набросав краткий список в старой электронной таблице. поиск. Как вы уже узнали. как легко напечатать моментальную копию ваших табличных данных. Однако большинство таблиц гораздо больше виденных вами до сих пор примеров. Проектирование форм требует больше усилий. вы. чтобы найти то. Примечание Время.Глава 3 Обработка листа данных: сортировка. поиск и фильтрация.) Но лист данных — великолепный инструмент для просмотра записей таблицы. документе текстового процессора или на клочке бумаги.

Некоторые из этих настроек. могут действительно облегчить работу с большими таблицами. это доставит вам удовольствие. Но если рабочий стол вашего компьютера больше похож на фестиваль духовного возрождения в стиле 60-х. безусловно. Наиболее полезное средство — возможность отключения некоторых или всех линий сетки и применение чередующихся цветов для выделения соседних строк Любое внесенное вами изменение форматирования влияет на всю таблицу. 3. например.1. Примечание Access сохраняет изменения форматирования не сразу (в отличие от корректировок записей.стиля). вы. которые программа сохраняет. обрадуетесь. но обладают более развитыми средствами форматирования. Другие параметры. Группа Шрифт на вкладке Главная позволяет изменить шрифт и цвета на всем листе данных. вы считаете отличной идеей возможность по-разному форматировать различные столбцы. Параметры форматирования можно найти на вкладке ленты Главная (Ноmе) в группе Шрифт (Font) — рис. Рис. Примечание Есть и другой способ использования группы Шрифт (Font ). Если у вас есть поле с типом данных Поле MEMO (Memo ) и вы настроили его . Если вас это огорчает. Вы можете выбрать Да для со хранения ваших настроек или Нет для возвращения к предыдущему внешнему виду листа дан ных (что не повлияет на любые внесенные вами в таблицу корректировки данных). нет. как только они произведены). Повлияют ли эти изменения на функционирование листа данных? Конечно.1. например скрытие или закрепление столбцов. возможно. а не на обычный офисный терминал. Форматирование листа данных Программа Access позволяет выбрать для листа данных яркие цвета и выразительные шрифты. изменение шрифта на листе данных. расположенной на вкладке ленты Главная (Но mе). познакомившись с формами и отчетами. — постыдные излишества. Вероятно. но Access не предоставляет такой возможности. Вместо этого Access предлагает сохранить изменения при следующем закрытии листа данных. Они более трудны в настройке. 3.

быстро находить нужную информацию. LastName (фамилия). настроив программу Access. которая вам действительно нравится. 3. независимо от их конкретных значений. Настройка всех листов данных Программа Access разрешает форматировать таблицы поочередно. Когда на вашей стойке завершается регистрация нового заказчика. можно выделить фрагмент текста в вашем поле и изменить его формат с помощью ленты. К сожалению. что регистрационная форма начинается с имени и адреса. а затем кнопку Параметры Access (Access Options) для вывода на экран одноименного окна. вы можете установить параметры форматирования таким образом. вы переопределяете установки по умолчанию. (Подобная организация не так глупа. выполняющим заказы на пасту. Для того чтобы воспользоваться этим приемом. меняются значения по умолчанию.) Но из-за такой организации вы вынуждены перемещаться вперед и назад для того. цвет. City (город). Country (страна). которые не переформатированы пользователем. Слева направо они расположены таким образом: ID (код). вам придется применять ее по очереди в каждой таблице вашей БД. как кажется. "Форматированный текст" главы 2). сетка и ширина колонки — параметры. если вы обнаружили настройку. Реорганизация столбцов Поля на листе данных располагаются слева направо в том порядке. Часто выясняется. DriedPastaPreference (предпочитаемый сорт сухой пасты). — она помогает людям. Но. State (штат). как вам захочется.В списке слева выберите Таблица (Datasheet). Когда вы изменяете параметры форматирования. Street (улица). FreshPastaPreference (предпочитаемый сорт новой пасты). 2. выполните следующие действия: 1. поля на листе данных следуют в совершенно другом порядке. а затем уже идут вкусы заказчика. используемые программой Access. что вы создали таблицу Customers (Клиенты) для компании по производству новинок макаронных изделий. что они автоматически будут применяться к каждой таблице всех БД. FirstName (имя). Поэтому.Нажмите кнопку Office. Эти установки определяют форматирование. Предположим. касающиеся пасты. Если вы задали в программе Access использование шрифта красного цвета. . у зеленого цвета более высокий приоритет. в каком вы их создали. используемое программой в новых таблицах и в любых таблицах. Когда вы корректируете установочные параметры форматирования в окне Параметры Access (Access Options). но переформатировали конкретную таблицу для вывода текста зеленого цвета. она автоматически получает стандартный желтый фон. Малоизвестная или недооцененная возможность. что этот порядок следования столбцов не самый удобный для ввода данных. Но если вы установили желтый фон в окне Параметры Access и не изменяли эту характеристику в вашей таблице. которые можно менять. выясняется. чтобы ввести данные одной регистрации.Справа появятся стандартный шрифт. разд.на хранение форматированного текста (rich text) (см.

и затем возвращайте их обратно после внесения изменений. . Смело передвигайте столбцы для того. 3. Если после перемещения нескольких столбцов вы перейдете в Конструктор. К счастью. чтобы оно располагалось слева от поля FreshPastaPreference Лучшее в таком подходе — отсутствие необходимости изменять реальную структуру БД. чтобы удобнее было редактировать. Совет Реорганизация столбцов — довольно незначительное изменение. что одни столбцы съедают больше пространства. а другие невозможно узки. чем им нужно. Часто вас будет огорчать то. Для переноса столбца щелкните один раз кнопкой мыши его заголовок. на новые позиции. Затем с нажатой кнопкой мыши передвиньте столбец на новое место. когда будете закрывать лист данных. чтобы выбрать столбец.2. вы можете решить эту проблему без перепроектирования таблицы. у вас есть возможность. Изменение размеров столбцов и строк По мере заполнения таблицы данными ваш лист данных становится все шире и шире. сохраняя физический порядок следования полей (в файле вашей БД).2. просто не сохраняйте этот порядок. как показано на рис. которые вы хотите передвинуть. что порядок полей не изменился. реорганизовать порядок их отображения в Режиме таблицы. Ваши действия не повлияют на данные в БД. 3. В данном примере поле FirstName предполагается переместить так. Другими словами. Переместите столбцы.. то увидите. Рис. Если определенный порядок следования столбцов нужен для одноразовой работы.

у разных символов разная ширина. используя равные доли имеющегося свободного пространства.3). ■ Изменение ширины нескольких смежных столбцов. Поместите указатель мыши на правый край столбца. но поскольку современная программа Access использует пропорциональные шрифты. программа Access позволяет изменять ширину столбцов. что столбец не должен быть широк настолько.) Вы также можете установить флажок Стандартная для того. Access изменяет все остальные строки до соответствующей высоты. Переместите мышь с нажатой лесой кнопкой вдоль заголовков нужных столбцов. что программа Access формирует все строки одного размера.Как вы догадываетесь. Передвиньте мышь с нажатой левой кнопкой влево (для сжатия столбца) или вправо (для его расширения). Но. в котором можно задать точное числовое значение ширины (рис. чтобы отобразить все содержащиеся в нем данные сразу.3. 3. ■ Изменение ширины столбца в соответствии с объемом содержащихся в нем данных. что для этого существует множество различных способов. вы не знаете. 3. Рис. (У числа в действительности нет конкретного значения — предполагается. чтобы в него поместилось имя поля или самое большое значение (в зависимости от того. Все выделенные столбцы сожмутся или расширятся. Но при этом столбец не выйдет за границы окна программы. чтобы выделить их все. 3. использовать сочетание клавиш <Shift>+<F2> для отображения всей информации текущего поля в окне Область ввода (Zoom). что это ширина в символах. Поэтому когда вы делаете одну строку выше или ниже. чтобы вернуть стандартную ширину столбцу. Отличие заключается в том. можно менять и высоту строк. Затем. не отпуская левой кнопки мыши. переместите ее влево или вправо. или щелкнуть мышью кнопку По ширине данных для расширения столбца в соответствии с его содержимым (аналогично двойному щелчку мышью края столбца) Примечание Имейте в виду.4). . Вы увидите одноименное диалоговое окно. В окне Ширина столбца можно задать точное числовое значение ширины. Щелкните правой кнопкой мыши заголовок столбца и выберите команду Ширина столбца (Column Width). Вы можете прокрутить длинное текстовое поле с помощью клавиш со стрелками. Сжать строки хочется главным образом для того. что длиннее). чтобы вывести несколько строк текста в каждом текстовом поле (рис. возможно. Увеличивают высоту строк чаще всего для того. Щелкните дважды кнопкой мыши край столбца. чтобы вывести больше строк на экран. а если это слишком утомительно. Также как ширину столбцов. Программа Access увеличит ширину столбца настолько. ■ Точное задание ширины столбца. ■ Изменение ширины одного столбца.

не отвлекая внимания.5. Если вы скрыли обязательное поле (см. которые вас не интересуют. 3. когда столбцы скрыты. (Это внезапное исчезновение может слегка обескуражить новичков. как показано в столбце Description Скрытие столбцов У большинства таблиц так много столбцов. Это один из недостатков листа данных. разд. Для того чтобы вернуть столбец на экран. В этом случае можно скрыть на время столбцы. Для того чтобы скрыть столбец. разд. названный Добавить поле (Add New Field). появляющийся справа от последнего поля на листе данных. Значение остается пустым или заданным по умолчанию (если вы определили такое для данного поля.) К счастью. щелкните правой кнопкой мыши заголовок любого столбца и выберите команду Отобразить столбцы (Unhide Columns). "Создание простой таблицы" главы 1). то можете скрыть этот заполнитель и получить дополнительное свободное пространство. разд. "Задание значений по умолчанию" главы 4). На самом деле это не настоящее поле. а заполнитель. который можно использовать для вставки новых полей (см.Рис. Если вы вставляете новую запись. Первоначально все вставленные вами поля отображаются на экране открытыми. "Запрет незаполненных полей" главы 4). то не можете вставить значения в такие поля. выделите его. Но иногда вам не нужно видеть все столбцы сразу. щелкнув кнопкой мыши по заголовку. Столбец тут же исчезнет с листа данных. с полем и его данными ничего не случится. что вы не можете все их вывести на экран одновременно.4. чтобы сосредоточиться на важных для вас подробностях. 3. при . Если вы привыкли вставлять поля в Конструкторе (см. "Организация и описание ваших полей" главы 2). (Можно выбрать несколько смежных столбцов. Программа Access выведет на экран диалоговое окно Отображение столбцов (Unhide Columns) — рис. программа Access разбивает текст внутри поля на несколько строк. как описано в разд. Примечание Под списком полей есть элемент.) Затем щелкните правой кнопкой выделенные столбцы и выберите команду меню Скрыть столбцы (Hide Columns). Если высота строки достаточна. и зачастую вы вынуждены прокручивать страницу туда-сюда. щелкнув кнопкой мыши первый заголовок и с нажатой кнопкой проведя мышью по заголовкам всех остальных.

чтобы увидеть дополнительную информацию и забыть. что отображаются в настоящий момент. и т. 3. какого именно человека вы проверяете. Закрепленный столбец всегда остается зафиксированным в левой части окна Access. Затем повторите процесс закрепления для столбца. Как только вы измените видимость столбцов. С помощью этого окна можно вернуть скрытые столбцы и (как не удивительно) скрыть те. чтобы вернуться на лист данных Закрепленные столбцы Даже имея возможность скрывать столбцы или изменять их ширину. вы не можете с помощью мыши переместить его в другое место. помогающее обеспечить постоянное отображение важной информации. Закрепленные столбцы всегда должны располагаться с левой стороны таблицы. "Реорганизация столбцов" ранее в этой главе. Совет Если вы хотите закрепить несколько несмежных столбцов. У программы Access есть еще одно средство. что пока столбец закреплен. используя метод реорганизации столбцов. в типичной таблице вы иногда вынуждены пользоваться прокруткой. а все со сброшенным флажком скрыты. . — закрепленные столбцы. выделите их. как отобразить соответствующий столбец. Вам ничего не остается. щелкните правой кнопкой мыши заголовок столбца и выберите команду Закрепить столбцы (Freeze Columns). Для того чтобы закрепить столбец (или столбцы). Вы можете прокрутить таблицу Contacts (Контакты). Если вы закрепляете столбец. программа Access переносит его к левому краю и закрепляет. щелкните мышью кнопку Закрыть для того. видимы. Помните о том. а затем заполнить его пропущенными данными. Добившись удовлетворяющего вас результата.попытке вставить запись выводится сообщение об ошибке. Все столбцы с установленным флажком.5. д. расположенного справа от первого. начинайте с самого левого. 3. Вы можете вернуть его на место после снятия закрепления. Рис.6). Даже если вы прокручиваете таблицу вправо. расположенным рядом. описанный в разд. размещенный в произвольном месте таблицы. В такой ситуации легко потерять ориентацию. программа Access обновит внешний вид листа данных. все закрепленные столбцы остаются видимыми (рис.

что надо переходить к формам. описанному в части IV. более совершенному варианту отображения. С помощью мыши и нескольких клавиш выделения можно многого добиться (см. в которой . 3. Перемещение в таблице В главе 1 вы познакомились с основными способами перемещения в таблице.6.) Внизу: когда вы прокручиваете таблицу в горизонтальном направлении.1. вы обнаружите. Это значит.Для освобождения столбцов щелкните правой кнопкой мыши заголовок столбца и выберите команду Освободить все столбцы (Unfreeze All Columns). Вверху: в данном примере поля FirstName и LastName закреплены. чтобы увидеть больше информации. Рис. столбцы FirstName и LastName сохраняют свое положение Примечание В конце концов. (На этом рисунке для получения дополнительного свободного пространства лента свернута. табл. Они отображаются в исходном положении слева. что предлагаемых настроек листа данных недостаточно или что вам необходимо настроить одну и ту же таблицу по-разному для разных людей. 1.

только если вы представляете. каталог изделий в зависимости от их цены. используя команды на вкладке лепты Главная (Ноmе) в группе Сортировка и фильтр (Sort & Filter). 3. которые можно использовать для перехода с места на место и выполнения корректировок). отображая только интересующие вас записи) и поиск (который извлекает только определенные записи из огромной массы данных). Эти малозаметные кнопки помогают переходить к началу и концу таблицы или.представлен список клавиш. Рис. д. Щелкните кнопкой мыши стрелку. Вы опробуете все эти средства в следующих разделах. 3. у правого края заголовка столбца и выберите один из вариантов сортировки в верхней части меню (рис. (Вы также можете применить те же самые варианты сортировки.7 .1.) . предлагаемые варианты сортировки зависят от типа данных поля. расположенные в нижней части листа данных (рис. Можно систематизировать список клиентов в соответствии с их фамилиями. этот прием работает.7). Конечно. Для сортировки записей выберите столбец. Сортировка В некоторых случаях легче составить представление о большом объеме данных. который хотите использовать для упорядочивания записей. что гораздо интереснее. К ним относятся сортировка (которая упорядочивает записи так. Но несколько приемов вы все еще не видели. Как объясняется в табл. 3. где а вашей таблице находится запись Несколько дополнительных средств помогут вам ориентироваться при обработке больших объемов данных. Один из них — сберегающие время кнопки переходов от записи к записи. если их упорядочить. прямо к записи с заданной позицией.8). фильтрация (которая ограничивает вывод на экран данных. а список свадебных гостей по возрасту и т. Для этого введите номер записи (например 4) в поле (в котором в данном примере стоит строка "3 из 6") и затем нажмите клавишу < Enter >. направленную вниз. 3. что вы можете видеть нужную информацию).

разделяющая более ранние даты (которые наступили первыми) от более поздних Логический Отделяет установленные флажки от сброшенных . Денежный и Счетчик Сортировка по возрастанию. Сортировка не зависит от Гиперссылка регистра. Это текстовое поле можно отсортировать в алфавитном порядке от начала к концу алфавита (от А до Я) или от конца к началу (от Я до А). варианты сортировки для различных типов данных Тип данных Варианты сортировки Описание Текстовый. поэтому "чепуха" и "Чепуха" считаются одинаковыми словами Числовой. Сортировка по убыванию. Сортировка по убыванию от самой поздней даты к самой ранней Сортировка от установленных к сброшенным. упорядочивая букву и за буквой. Выполняет сортировку в алфавитном Поле MEMO сортировка от Я до А порядке (как в словаре). от самого большого значения к самому маленькому Выполняется числовая сортировка.Рис.8. которые описаны далее Таблица 3. В меню также есть варианты фильтрации. от самого маленького значения к самому большому. 3. Сортировка от А до Я. помещающая меньшие числа в начало или в конец Дата/время Сортировка по возрастанию от самой ранней даты к самой поздней.1. Сортировка от сброшенных к установленным Выполняется временная сортировка.

в котором программа Access сортирует любые символы (при стандартной сортировке по возрастанию от А до Я или от А до Z): 1. Обычно. если в эту мешанину добавить знаки пунктуации и другие специальные символы. которую программа Access сохраняет в файле БД. 4. В таком поведении есть смысл.В неотсортированной таблице записи упорядочены в соответствии со временем их создания. Если затем вы исправите имя в одной из записей. поэтому самые старые записи находятся в верхней части листа данных. а самые новые — в нижней его части. она проверяет его символ за символом. поскольку 4 (первая цифра числа 49) больше 1 (первой цифры числа 153). Аналогичным образом любые новые записи. они упорядочиваются от меньшего к большему (49. Далее приведен порядок. Примечание Порядок сортировки — одна из подробностей. проверяется вторая цифра и т. Сортировка — это одноразовое действие. Представьте себе. Измененная строка останется на своем исходном месте до тех пор. Если бы программа Access изменяла местоположение строки. Access не переместит запись в группу записей с именами. Числа и специальные символы в текстовых полях Результат сортировки текста иногда противоречит интуитивным предположениям. знаки пунктуации). это очень быстро нас дезориентировало бы. то вы получите 153. 3. Если вы редактируете отсортированный столбец. Сортировка не влияет на способ хранения записей программой Access. 2. . программа Access не выполняет повторную сортировку. что вы сортируете список по имени. 49. В результате если числа 49 и 153 сортируются в алфавитном порядке. Специальные символы (например. Если первые цифры одинаковы. когда сортируются два числа (например. Пробелы. особенно если в вашем текстовом поле содержатся числовые данные. Совет Для того чтобы вернуть таблицу к первоначальному неотсортированному состоянию. воспользуйтесь последовательностью Главная → Сортировка и фильтр → Очистить все сортировки (Home → Sort & Filter → Clear All Sorts). Жизнь становится еще интереснее. Когда программа Access сортирует текст. но действительно изменяет способ их отображения. Пустые значения. Access автоматически применяет заданные вами параметры сортировки. 153). Числа. остаются в конце таблицы до следующей сортировки (или следующего открытия таблицы). Но текстовая сортировка действует иначе. как только вы внесли в нее изменения. пока вы не пересортируете таблицу. Буквы. 153 и 49). которые вы вставляете. что означает сортировку чисел по первой цифре. начинающимися с буквы "Ч". например Фрэнки на Чен. д. Когда вы в следующий раз откроете таблицу в Режиме таблицы. 5. На профессиональном уровне.

Таким образом. надо включить сортировку по полю FirstName (имя). Если нужно отсортировать телефонную книгу (абоненты упорядочены по фамилиям. Далее перечислены необходимые действия. Отличным примером может служить телефонная книга. Программа Access вернет таблицу к исходному не отсортированному состоянию. Smith . В табл. кто будет первым. что у вас чудовищно большой набор имен. Smith . основанную на нескольких столбцах. 2. В этом случае вы могли бы добавить третью сортировку по первой букве второго имени (или отчеству). LastName (фамилия). Smith. Представьте. которую вы видите в зависимости от типа данных. 1. Вы получите следующий результат: … Smith . Единственная сложность — правильно задать порядок сортировки. Если вы хотите узнать больше о том. что сортировка по фамилии выведет их друг за другом. … Star Susan Sy Tanis В таблице результаты сортировок накапливаются. Smith . а кто вторым. включающий людей с одинаковыми фамилиями и именами. Smith. нет способа определить порядок их следования (по отношению друг к другу).Используйте контекстное раскрывающееся меню для применения сортировки первого уровня. в которой люди отсортированы по фамилиям. … Star Susan К Susan P Sy . люди с одинаковой фамилией группируются вместе и упорядочиваются в соответствии с их именами. что означает возможность одновременной сортировки. базирующейся на нескольких полях.Сортировка по нескольким полям Если при сортировке обнаруживаются два одинаковых значения.Выберите на ленте Главная → Сортировка и фильтр → Очистить все сортировки (Ноmе → Sort & Filter →Clear All Sorts).Воспользуйтесь раскрывающимся контекстным меню столбца для применения к дубликатам дополнительной сортировки. вы можете быть уверены. FirstName (имя). в котором есть два Вана Хаузера (Van Hauser). 3. например. В случае телефонной книги — это поле LastName (фамилия). нужно выбрать сортировку. Для применения этой сортировки следует включить сортировку в следующем порядке: Middlelnitial (первая буква второго имени). Smith. но неизвестно.1 поясняется сортировка. а затем по именам). 3. а затем по именам. Если вы сортируете список клиентов. как Access интерпретирует дубликаты. следующим образом: … Smith. Вы можете повторить эти шаги для выполнения сортировок по нескольким полям.

Например. На рис. их значения слишком велики и не помещаются в раскрывающемся списке). В следующих разделах вы начнете знакомство с простейшего способа и будете постепенно осваивать более сложные варианты. если у вас относительно немного различных значений. т. Отбор людей в зависимости от штата их проживания — прекрасный выбор.9 показан пример. расположенный у каждого значения. Гиперссылка. и те — которые нужно скрыть. установлен. которому должна удовлетворять запись для того. живущих отдельно от своих родителей. Дата/время и Логический. К типам данных. описанными в следующих разделах. как и в зависимости от политической партии. Порядок применения фильтров не важен. как звук пневматической дрели в 3 часа утра. в конце концов. оставив только интересующие вас записи. сделанные на прошлой неделе. Фильтр . Совет Обычные фильтры работают лучше всего. Вы увидите список всех конкретных значений в данном столбце. Для удаления фильтров выберите на ленте Главная → Сортировка и фильтр → Удалить фильтр (Ноmе → Sort & Filter → Remove Filter). Программа Access может применять фильтры несколькими методами. как правило. Они попрежнему остаются в таблице. но другие типы фильтров они поддерживают.Фильтрация В таблице с сотнями или тысячами записей прокрутка таблицы вперед и назад на листе данных так же успокаивает. ее поддерживающим. которые удовлетворяют условиям всех установленных фильтров. которые вы хотите включить. В этом случае вам следует урезать лист данных с помощью фильтрации. вы увидите только те записи. Обычный фильтр Обычный фильтр (quick filter) позволяет выбрать те значения. чтобы быть включенной в лист данных. Для применения обычного фильтра выберите столбец. основываясь на текущих данных вашей таблицы. компания по доставке может искать заказы. которую они поддерживают. Иногда вам даже не нужно видеть все записи сразу — они лишь вызывают усталость пальцев и отвлекают от тех данных. или их любимого цвета. Первоначально флажок. е. Текстовый. 3. Денежный. и затем щелкните мышью направленную вниз стрелку у правого края заголовка столбца. Счетчик. которые вы хотите скрыть. но ловко скрыты от глаз. а служба свиданий (dating service) может выискивать холостяков. интернет-магазин может выбирать пищевые продукты из полного каталога товаров. Сбросьте флажок у тех записей. Не все типы данных поддерживают фильтрацию. Когда применяется условие фильтра. Обычные фильтры можно использовать и в комбинации с другими вариантами фильтрации. который вы хотите использовать. в котором сортировка и фильтр применяются одновременно. не удовлетворяющие вашим требованиям. относятся Числовой. которые вас действительно интересуют. поскольку все фильтры кумулятивные. Поля MEMO не поддерживают обычные фильтры (поскольку. Для фильтрации записей вы задаете условие. Обычные фильтры можно применять в нескольких столбцах. скрываются все записи. Примечание Для удаления фильтров из столбца (и отображения всех записей на листе данных) щелкните мышью раскрывающуюся кнопку у правого края заголовка столбца и выберите команду Снять фильтр (Clear Filter).

9 . Применяя фильтр по выделенному. (Это не значит. поскольку существует гигантский диапазон возможных значе ний этих характеристик. что записи с данным значением будут включены в лист данных. вы можете превратить текущее значение в фильтр без прочесывания списка фильтра. 3. основываясь на дате рождения. росте или весе. Вот как это делается. Остальные записи скрыты от глаз Фильтр по выделенному Фильтр по выделенному (filter by selection) позволяет применять фильтр. которое хотите использовать для фильтрации листа данных. Этот список подходящих холостяков сначала сортируется по росту (в порядке убывания) и затем отфильтрован с сохранением только перспективных кандидатов. 3.) Рис. которое вызывается щелчком правой кнопки мыши. Установленный флажок свидетельствует о том. отображаемые в контекстном меню. Сначала найдите значение. .будет работать не так эффективно. базирующийся на любом значении в вашей таблице. который хотите включить в выборку или исключить из нее. Но многие из них предоставляют дополнительные варианты фильтрации. что вы должны совсем отказаться от фильтрации — просто нужно использовать другой тип фильтра. проживающих в штате НьюЙорк.10). если вы решите отфильтровать список. если вы нашли точный тип записи. Щелкните его правой кнопкой мыши и выберите один из вариантов фильтрации в нижней части меню (рис. позволяют отбирать точные совпадения. Этот тип фильтра очень удобен. поддерживающие фильтрацию. Все типы данных.

более ранние или более поздние по сравнению с текущей датой. Варианты фильтрации для разных типов данных слегка отличаются. Его можно также использовать для быстрого включения или отключения вашего фильтра — одинарный щелчок мышью по индикатору удаляет все фильтры. показанного на рисунке) у вас есть возможность включить в выборку только которые соответствуют текущему значению поля те записи. 3. У вас также появляются дополнительные возможности. помощью обычного фильтра.10. оповещающий о применении фильтра.11.  Типы данных Дата/время. ■ Числовые типы данных. Рядом с элементами управления в нижней части листа данных есть индикатор фильтром/Без фильтра. (Не расширяющие отбор с поля. содержащие фрагмент текста. Вы можете отбирать значения с точным совпадением или значения. Вы можете отфильтровать точно совпадающие значения или числа.  Текстовые типы данных. (Равно " Chicago "). Рис. или те. просто содержащие как " Chicago land " и " Little Chicago " Далее перечислены варианты фильтрации для разных типов данных. которые вы можете увидеть. В случае текстового (как поле City . которые меньше или больше текущего значения.Рис. Вы можете отфильтровать точно совпадающие значения или даты. которые не совпадают с ним равно " Chicago "). 3. а повторный щелчок применяет еще раз самый последний набор фильтров С . Условию такого фильтра удовлетворяют такие значения. — а именно вы можете включить или исключить текст " Chicago ".

12. Вверху: для числового поля. что вы хотите найти в погребе все редкие марочные вина с ценой. Записи со значениями. не превышающей 85 долларов. содержащими слово "darts". такого как PurchasePrice (покупная цена). можно точно определить нужную вам фильтрацию. Расширенный фильтр Пока применяемые вами фильтры брали текущие значения в вашей таблице как отправную точку.11. нужно задать минимальное число. равными или большими минимума. фильтрация по условию позволяет найти значения. Теперь вы можете найти другие записи с нолями. как показано на рис. Применяя расширенный фильтр. использующее только часть значения. Рис.Наконец. Программа Access моментально включает или отключает фильтрацию. 3. превышающие определенный минимум. 3. отображаются на листе данных Допустим. Если вы чувствуете себя уверенно при работе с фильтрами. можно выделить текст "darts" и затем щелкнуть правой кнопкой мыши только этот текст. для получения дополнительных навыков можно создать условие фильтрации. Если у вас есть значение "Great at darts" (великолепно играет в дартс) в поле Description (описание) вашей таблицы. В случае фильтра по выделенному вам придется начать с поиска вина . Если вы выбрали условие Больше. Благодаря этой возможности фильтр по выделенному получил свое название. то можете попробовать расширенный вариант: фильтрацию по условию. Внизу: после выбора нужного вам типа фильтра следует задать информацию для фильтрации.

начинающиеся с конкретного текста или заканчивающиеся определенным текстом. Те же варианты. вдобавок вы можете найти значения. запросы позволяют увидеть подмножество ваших данных. т. ■ Числовые типы данных. Если вы оказались в подобной ситуации. сформированное на основании определенных условий. для числовых полей — Числовые фильтры (Number Filters) и т. Далее приведен краткий обзор. описывающий дополнительные варианты. но меньшие заданного максимума. е. что и у фильтра по выделенному. 3. которые можно использовать в расширенном фильтре в зависимости от выбранного типа данных. таких как Вчера (Yesterday) На прошлой неделе (Last Week). после применения отличающегося фильтра ваш исходный фильтр исчезает и нужно снова формировать его с нуля в следующий раз. поиск больше всего подходит для обнаружения единственной детали. попадающие в диапазон. Вместо того чтобы полагаться на фильтры для отображения интересующей вас информации. Вы начнете применять запросы в главе 6. которые применяются в данный момент. Практические занятия для опытных пользователей. В первом квартале (First Quarter) и т.с ценой 85 долларов. что и у фильтра по выделенному. В этом году (Year to Date). В следующем месяце (Next Month). ■ Типы данных Дата/время. Сначала щелкните направленную вниз стрелку у правого края заголовка столбца. и программа Access сохраняет их как отдельные объекты БД. Те же варианты. вдобавок вы можете найти даты. д. что захотите использовать их позже. Те же варианты. и выбрать из огромного перечня встроенных вариантов. Фильтры в противоположность запросам Если вы часто применяете фильтры. Поиск Access предоставляет также средство быстрого поиска (quick search). то наверняка столкнулись с проблемой. большие заданного минимума. что его невозможно найти? Быстрее задать условие фильтрации вручную. а также вы можете выбрать значения. лучше создать отдельный запрос многократного использования. формируя наилучший набор условий фильтрации.12 показан пример. значит. . На рис. поэтому вы всегда можете повторно использовать их позже. В большинстве случаев задать фильтр повторно нетрудно. их уничтожение огорчает. когда он понадобится. что и у фильтра по выделенному. который можно использовать для создания условия. позволяющее проверить лист данных на наличие заданной информации. они могут не включать ненужные вам столбцы. Но если вы приложили значительные усилия. Программа Access сохраняет только один набор фильтров — фильтры. Но вместо выбора одного из вариантов обычного фильтра найдите подменю с вариантами фильтрации. Но что произойдет. лежащие в диапазоне. В то время как фильтрация помогает извлечь важные записи. д. Это меню называется в соответствии с выбранными данными. В отличие от фильтров запросы могут содержать более сложную логику. вы чрезмерно увлеклись фильтрами. ■ Текстовые типы данных. Вот как это делается. так для текстовых полей включен вариант Текстовые фильтры (Text Filters). если в вашем перечне нет вина с ценой точно 85 долларов или вам кажется. Другими словами. и знаете. все значения. Как и фильтры.

3. Если вы хотите изменить алгоритм поиска в программе Access. в таблице автоматически высвечивается первое совпадение. Выберите на ленте Главная → Сортировка и фильтр →Найти (Home → Sort & Filter → Find) или просто используйте сочетание клавиш <Ctrl>+<F>.13). Наберите искомый текст в поле Образец (Find What) и затем задайте остальные параметры поиска. можно продолжить поиск — просто нажать клавишу <Enter> для перехода к следующему совпадению. Самый быстрый вариант поиска — поиск с помощью поля. Фильтрация изменяет внешний вид листа данных. которые вы хотели видеть.спрятанной в грудах данных. которые хотите использовать. В данном примере нажатие клавиши <Enter> отправляет программу Access к полю Description следующей записи Выполняя поиск. Он привлекает ваше внимание к данным. скрывая некоторые записи. проверяются все ее поля и т. 3. o Поиск в (Look In) — позволяет выбрать между поиском во всей таблице или в одном поле. Если найдено совпадение.14). o Образец (Find What) — текст. Рис. исследуя каждое поле текущей записи. поиск продолжается в следующей записи. д. . Пока вы вводите. На экран выводится диалоговое окно Поиск и замена (Find and Replace) (рис. Затем она перемещается слева направо. а поиск оставляет все как есть. Когда достигнут конец таблицы. программа Access просматривает таблицу. 1. начиная с первого ноля первой записи. 3. следует использовать команду Найти (Find). Просто введите в него текст. который вы ищите. Если достигнут конец и не найдено ни одно совпадение. 2. поиск прекращается. Можно нажать клавишу <Enter> для поиска следующих совпадений.13. Приведен пример поиска слова "bobblehead" (кукла-болванчик). расположенного рядом с элементами управления для переходов между записями (рис. который хотите найти.

Поэтому строка "банан" не совпадает со строкой "БАНАН". находятся только те совпадения. что программа Access ищет значение.00. Диалоговое окно Поиск и замена — отличное средство охоты за потерянной информацией o Совпадение (Match) — позволяет определить. число 44 может отображаться в поле с денежным типом данных как $44. то всегда найдете его. совпадающее с форматом значения (образца) на листе данных. Если же поиск ведется во всей таблице. Все (All). Используйте значение Поле целиком (Whole Field) для задания точного совпадения. она выделяет его цветом.00. "bowl" (шар) и "bowling" (боулинг)). или значение С любой частью поля (Any Part of Field). если вы хотите найти совпадения с начальной частью поля (например. В очень больших таблицах (с тысячами записей) поиск может идти быстрее. o Просмотр (Search) — задает направление просмотра записей программой Access: Вверх (Up). o С учетом регистра (Match Case) — если флажок установлен. в которых совпадают заглавные и строчные буквы. должны ли значения полностью совпадать с образцом. если сбросить данный флажок. . то найдете совпадение только если установлен флажок С учетом формата полей. Но если вы ищете форматированное представление $44. Вы можете щелкнуть мышью кнопку Найти далее (Find Next) для поиска следующего совпадения или кнопку Отмена (Cancel) для прекращения поиска. если хотите найти искомый текст в любом месте поля (в этом случае "bowl" совпадает с "League of extraordinary bowlers" (лига выдающихся игроков в боулинг)). Программа Access начнет поиск с текущей позиции.Рис. 3. Щелкните мышью кнопку Найти далее (Find Next). 3. следует выбрать поиск в одном поле в параметре Поиск в (Look In). Если вы ищете 44. Если вы применяете стандартное направление поиска (Вниз). Например.14. нужно искать форматированные значения. а затем переходит от записи к записи от начала таблицы к концу. Примечание Если вы сбрасываете флажок С учетом формата полей. Используйте значение С начала поля (Start of Field). Access перемещается слева направо в текущей записи. пока не найдет совпадение. Вниз (Down). o С учетом формата полей (Search Fields as Formatted) — установка этого флажка означает. Когда программа Access находит совпадение.

В следующих разделах вы. в Word. или начать проверку . создайте резервную копию вашей БД (см. можете использовать кнопку Заменить все (Replace All) для одномоментной замены всех найденных в таблице совпадений. У операции замены те же параметры. Усовершенствованное редактирование В главе 1 вы познакомились с основными приемами редактирования. как в других программах пакета Office. и предоставляется возможность игнорировать нераспознанные элементы или добавлять их в словарь. имена. которое действует как мощное средство (но иногда опасное) корректировки записей. У вас есть две возможности: можно проверить орфографию в одном поле. Операцию замены нельзя отменить (и команда Отмена (Undo) здесь не поможет. Конечно. разд. Разница заключается в том. даты и все остальное пропускаются. Поиск и замена Это средство поиска. например. Хотя эта процедура и до смешного быстра. которых вы еще не видели. который вы не хотите проверять. удаление и корректировку записей. обожающего затяжные прыжки с парашютом. что и у операции поиска за исключением дополнительного поля Заменить на (Replace With). что вы действительно хотите откорректировать его. она отменяет только замену в одной записи). например.Малоизвестная или недооцененная возможность. т. а затем щелкнуть мышью кнопку Заменить (Replace) для корректировки найденного совпадения и перехода к следующему. что когда вы проверяете орфографию в Access. Числа. Но у программы Access есть несколько более замечательных инструментов. Если вы похожи на неистового экстремала. "Создание резервных копий" главы 1). В этот момент вы можете посмотреть найденное совпадение и убедиться в том. Но вы можете щелкнуть кнопкой мыши вкладку Замена (Replace). чтобы иметь возможность найти конкретные значения и заменить их другим текстом. — в ней применяется тот же словарь. При первоначальном выводе на экран диалоговое окно Поиск и замена (Find and Replace) отображает вкладку Поиск (Find). Если вас все еще привлекает легкость операции Заменить все. но слегка рискованна. Самый безопасный способ замены — щелкнуть мышью кнопку Найти далее (Find Next) и перейти к следующему найденному совпадению. в ваших таблицах наверняка есть текст. легко отказаться от нее вам не удастся. географические названия или названия товаров. вылавливаются те же типы ошибок. включая вставку. как следует. и предпочитаете ходить по лезвию бритвы. предназначенного для ввода замещающего текста. если вы перестарались с заменой. игнорируя все остальные. к. прежде чем идти дальше. Повторите эту операцию и внимательно проверьте всю таблицу. поэтому. Проверка орфографии Проверка орфографии в программе Access почти точно такая же. освоите два замечательных и удобных средства программы Access — блок проверки орфографии и блок автозамены — и научитесь вставлять специальные символы в ваши поля. программа просматривает только текстовые поля и поля MEMO.

то выделяет его цветом. если программа Access обнаруживает возможные орфографические ошибки в процессе проверки. Вы можете либо щелкнуть кнопкой мыши один из вариантов замены в окне Орфография — например. щелкнув кнопкой мыши заголовок столбца. (Конечно. Выберите на ленте Главная → Записи → Орфография (Home → Records → Spelling) или просто нажмите клавишу <F7>.15). Перейдите в поле. Помните о том. это диалоговое окно — единственное получаемое вами известие о выполненной операции. пока активно окно Орфография. 3. Если вы хотите провести проверку всего листа данных. Рис. Если ваша таблица прошла успешно проверку орфографии. После завершения проверки орфографии диалоговое окно сообщает о том. щелкнуть мышью кнопку Заменить для замены слова с ошибкой на первый предлагаемый для замены вариант — либо отменить проверку орфографии . с которого вы хотите начать проверку орфографии. перейдите в то место. 2. 1. программа переходит к следующей записи и повторяет процесс. от начала до конца. выберите его перед началом проверки. она выводит на экран окно Орфография (Spelling) (рис. Если вы хотите проверить фрагмент листа данных.15. В отличие от программы Word. что когда программа Access дойдет до конца листа данных. Если вы проверяете в пределах листа данных. но при этом пропускать определенные поля по ходу проверки. пока не просмотрит каждое поле во всех записях. С другой стороны. 3. Кнопка Орфография (Check Spelling) выглядит как маленький значок (галочка) с буквами ABC над ним. отображающее слово.) Если вы хотите проверить только одно поле. Access не разрешает редактировать файл БД. Когда запись проверена.орфографии всего листа данных. и список вариантов замены. с которого хотите начать проверку орфографии. программа Access просматривает текущую запись и переходит от поля к полю слева направо. есть возможность в любой момент отменить проверку орфографии. что все ваши данные проверены. Когда программа Access обнаруживает слово. Вот как это делается. как ей кажется написанное с ошибкой. Если вы выбрали один столбец. перейдите в первое поле первой записи. Access просматривает значения только в этом поле сверху вниз. ставшее камнем преткновения. она снова вернется в начало листа и продолжит проверку до тех пор.

и проверка орфографии продолжается. Щелкните кнопкой мыши одно из слов в списке возможных вариантов и затем щелкните мышью кнопку Заменить (Change) для замены слова с ошибкой правильно написанным словом. Щелкните кнопкой мыши одно из слов в списке возможных вариантов и затем щелкните мышью кнопку Автозамена (AutoCorrect). если блок проверки орфографии жалуется на слово. Этот путь удобен для исключения из проверки полей. ■ Кнопка Пропустить поле (Ignore Field) игнорирует любые ошибки в заданном поле до конца процесса проверки орфографии. она снова предложит вам исправить его. программа добавит сведения о замене в список автозамены (описанный в разд. в котором действительно допущена ошибка. Если Access найдет это таинственное слово где-то еще в вашей таблице. оно будет пропущено. Access вносит изменение в это поле и во все другие вхождения слова с такой же ошибкой. Кроме того. чтобы заставить программу игнорировать слова. чтобы не терять время на повторяющиеся просмотры искусственных вариантов замены. ■ Кнопка Пропустить (Ignore) пропускает данное слово. После этого вы можете откорректировать поле и продолжить проверку позже. Щелкните кнопкой мыши одно из слов в списке возможных вариантов и затем щелкните мышью кнопку Заменить все (Change All) для замены слова с ошибкой правильно написанным словом. Если вы введете это нераспознанное слово в другую запись (или даже в другую таблицу).) Программа Access не только пропустит любые вхождения этого слова. имя и фамилию человека. ■ Исправлять его всегда. позволяя вам быстро устранить мелкие опечатки. если обнаружилась ошибка. С другой стороны. Кнопку Пропустить все можно использовать для того. она автоматически повторит замену. и проверка орфографии продолжается. ■ Кнопка Пропустить все (Ignore All) пропускает данное слово. Исправить его везде. Этот вариант очень полезен. . например. Если программа Access найдет то же слово где-то еще в вашей электронной таблице. которую вы часто допускаете. Если программа Access во время проверки орфографии найдет ту же ошибку где-нибудь еще на вашем листе данных. но слегка отличающегося слова включит слово из вспомогательного словаря в свой список вариантов для замены. (Название компании — это важный вклад во вспомогательный орфографический словарь. ■ Кнопка Отмена (Cancel) полностью прекращает процесс проверки орфографии. у вас есть дополнительные возможности для выбора следующих вариантов. которые вы не хотите исправлять. эффект будет такой же. ■ Кнопка Добавить (Add) добавляет слово в вспомогательный орфографический словарь. если вы планируете продолжать использовать слово на этом листе данных и на многих других. Access автоматически откорректирует ваш ввод. ■ Исправить его немедленно. содержащих множество имен. Вы также можете дважды щелкнуть кнопкой мыши выбранный вариант. Этот шаг важно совершить. "Автозамена" далее в этой главе). географических названий или названий для того. предлагаемых блоком проверки орфографии. которое вы не хотите заменять.Окно Орфография содержит много вариантов корректировки. не предупреждая вас о возникшей проблеме. Если блок проверки орфографии жалуется на слово. у вас есть три возможных варианта. но и при обнаружении в поле похожего.

совместно используют один и тот же вспомогательный орфографический словарь. Все они зависят от выбранного для проверки языка. которые действительно имеют отношение к делу.16). Параметры проверки орфографии Вы можете управлять процессом проверки орфографии с помощью нескольких понятных параметров. установленные на вашем компьютере.Примечание Все приложения пакета Office. Если вы добавите слово в программе Access. Это удобство. Для задания этих параметров (или их просмотра) выберите кнопку Office. в последнем раскрывающемся списке окна показан язык. а затем выполните проверку орфографии в программе Word. если щелкнуть мышью кнопку Параметры (Options) в окне Орфография (Spelling) во время проверки орфографии. a затем кнопку Параметры Access (Access Options) для вывода на экран одноименного диалогового окна. экономящее время до тех пор. Параметры проверки орфографии позволяют задать язык и несколько других установок.16. используемый в настоящий момент . это слово успешно пройдет проверку. Эту же страницу параметров можно найти. 3. Рис. Далее выберите строку Правописание (Proofing) в списке слева (рис. пока вам не изменяет чувство меры и вы добавляете слова. 3.

17.com). Пропускать слова из прописных букв (Ignore words in UPPERCASE). 3.dic. http://FreeSweatSocks. содержащие цифровые символы. Если вы не установили этот флажок. программа проверяет эти данные и помечает их как содержащие ошибки до тех пор. Если этот флажок установлен. Если установлен этот флажок. пока вы не добавите их по вспомогательный словарь.Далее приведены самые распространенные параметры проверки орфографии. кажущиеся именами файлов (например. например. Sales43 или Н31Ю. c:\Documents and Settings) или адресами Web-сайтов (например. программа Access не проверяет слова. Пропускать слова с цифрами (Ignore words that contain numbers). Access не проверяет слова. Внизу: если щелкнуть мышью кнопку Изменить список слов. если ваш текст содержит много акронимов). Рис. на экран выводятся все слова из файла custom. программа Access игнорирует слова. состоящие из прописных букв (что полезно. Вы можете вставить новые слова или удалить те. которые больше не используются . Пропускать адреса Интернета и имена файлов (Ignore Internet and file addresses). Если установить этот флажок. добавить новые или отредактировать список слов вручную. Вверху: с помощью диалогового окна Вспомогательные словари вы можете удалить текущий вспомогательный орфографический словарь.

если вы зарегистрировались в системе под именем пользователя Dan_Quayle (Дэн_Кейл). что вы даже можете не знать о ее неусыпном контроле каждого вашего движения. ■ Если вы перепутали местами буквы в обычном слове (например. По большей части автозамена безвредна. Примечание Вспомогательные словари хранятся на вашем жестком диске в разделе. ■ Если предложение начинается со строчной буквы. что вспомогательные словари не могут использовать два человека. избавляет вас от мелких опечаток в большом отчете. 3. к. то. набрали этто вместо этот или слово teh вместо артикля the). отведенном для каждой учетной записи. который программа Access применяет для хранения слов вспомогательного словаря — незнакомых программе слов. если вы случайно повторили одно и то же слово дважды. автозамена изменяет слово на Friday. если находит незнакомое слово. например "это это". Заставляет применять во французских словах диакритические знаки. хотя на самом деле хотели набрать Джон Смит. Автозамена — настолько умное средство. но и отключит режим Caps Lock. Автозамена Когда вы вводите текст в поле. которые вы добавляете в словарь во время проверки орфографии. а иногда и полезна. ■ Предлагать только из основного словаря (Suggest from main dictionary only). операция автозамены (AutoCorrect) подчищает за вами. ■ Если вы набираете ПРивет. т. автозамена заменит набранное слово корректным вариантом. ■ Если вы случайно нажали клавишу <Caps Lock> и затем набрали дЖОН сМИТ. некоторые или все действия автозамены можно отключить. Но если вам нужно ввести слова с необычным сочетанием строчных и прописных букв или у вас возникло заурядное желание восстать против стандартов английского языка. Вы также можете задать файл. включенными во вспомогательный словарь. программа Access не только исправит ошибку. Например. ■ Прописные с надстрочными знаками (Enforce accented uppercase in French). ■ Если вы набираете friday (пятница). найдете вспомогательный словарь в папке C:\Documents and Settings\Dan_Quayle\Application Data\Microsoft\UProof. Когда установлен этот флажок. автозамена заменяет ее прописной.17). блок проверки орфографии не использует слова из вспомогательного словаря как варианты для замены. Для этого щелкните мышью кнопку Вспомогательные словари (Custom Dictionaries). Один из побочных эффектов этой системы состоит в том. автозамена изменяет набор на Привет. Этот параметр находит ошибки. Далее . Для того чтобы оценить это волшебство. которые они должны иметь. совпадающие со словами. которая выводит на экран одноименное диалоговое окно (рис. зарегистрировавшиеся с разными именами на одном компьютере (пока вы не добавите вручную словарь другого пользователя в диалоговое окно Вспомогательные словари). даже в случае прописных букв (у которых они выглядят странно). похожее на следующее. вероятно. проанализируйте поведение. а затем кнопку Параметры Access (Access Options) для вывода на экран одноименного диалогового окна.■ Помечать повторяющиеся слова (Flag repeated words). Но он принимает слова. исправляя строчные буквы на прописные и обычные орфографические ошибки. Англоговорящим (как и русскоговорящим) людям не стоит беспокоиться о задании этого параметра. Для установки параметров автозамены выберите кнопку Office.

3. цифр и знаков пунктуации. На странице с параметрами в правой части окна щелкните мышью кнопку Параметры автозамены (AutoCorrect Options). и щелкните мышью кнопку Добавить Совет Параметры более тонкой настройки можно использовать. но не требующие применения прописных букв (например. Большинство установочных параметров содержит пояснительную информацию. На рис. Специальные символы Текст порой состоит не только из букв.18 поясняется использование параметра Заменять при вводе (Replace text as you type). В этот список включены аббревиатуры. который предназначен не только для исправления ошибок.выберите строку Правописание (Proofing) в списке слева. Просто наберите текст в полях заменять и на. Под флажком Заменять при вводе располагается длинный список символов и обычно набираемых с опечатками слов (левый столбец). Существуют специальные символы. При щелчке мышью этой кнопки на экран выводится диалоговое окно Исключения при автозамене (AutoCorrect Exceptions) со списком исключений. WordPerfect).). содержащие точку. сбросив флажки. и их можно отключить. которые нельзя просто набрать на вашей клавиатуре. нажав кнопку Исключения (Exceptions) для задания случаев отказа программы Access от применения автозамены. Вы также можете добавить собственные правила. которые программа Access автоматически заменяет другим текстом (представленным в правом столбце). 3. как показано на рисунке. в которых разрешается смешивать строчные и прописные буквы (например.18. вы хотите заставить программу Access при наборе символов "PEDS" вставлять текст "Patented Electronic Seltzer Delivery System" (Запатентованная электронная система подачи газированной воды). и слова. Примером может служить . Возможно. чтобы символ авторского права был представлен как буква в скобках? Можно удалять отдельные корректировки (выбрать нужную и щелкнуть мышью кнопку Удалить) или откорректировать замещающий текст. Что если вы хотите. стр. Рис.

позволяет увидеть все символы. включая Arial. предлагают гораздо больше специальных символов для использования. В списке Шрифт (Font) выберите шрифт Calibri. На экране появится окно Таблица символов (рис. даже применяя любой обычный шрифт. 6. Примечание Другие приложения пакета Office. набрав текст (С) и предоставив возможность автозамене выполнить свою работу. Дважды щелкните кнопкой мыши найденный символ. 1. У программы Access более строгий стиль работы. "Форматирование листа данных "ранее в этой главе). Это большое подспорье для выискивания необычной буквы "е" с надстрочным знаком и других неанглийских символов. . Щелкните мышью кнопку Копировать (Сору). Для использования такого символа вам понадобится утилита Таблица символов (Character Map). сколько нужно для копирования разных символов в строку. 4. такие как Word и Excel. текстовые поля не содержат подробностей. Если вам хочется чего-то более экзотического и вы не можете найти это. В диалоговом окне Выполнить введите charmap и щелкните мышью кнопку ОК. удача от вас отвернулась. можно найти поддерживаемые специальные символы. 3.19). БД хранят неформатированные данные и. Прокручивайте набор символов до тех пор. пока не найдете тот. не так легко доступны. поставляемый с ОС Windows и содержащий пиктограммы. касающихся шрифта и форматирования. который вы вставляете. ОС Windows копирует символы из поля Для копирования в буфер обмена. Нет необходимости использовать экзотический шрифт. Перейдите снова в окно программы Access. а не программы Access. Другие символы. 7. Вы можете повторять шаги 4 и 5 столько раз.знак авторского права (©). Таблица символов. поддерживаемые в любом шрифте. Щелкните мышью кнопку меню Пуск (Start) и выберите команду Выполнить (Run). 2. Times и Tahoma. такие как греческая буква тэта (Ө). вероятно. Далее объясняется. Если вам требуется буква из другого языка. Он появится в поле Для копирования (Characters to copy) в нижней части окна Таблица символов. И вам придется использовать обычный текст. 5. 3. Calibri — это стандартный шрифт. который программа Access использует для отображения информации на листе данных. Программа принимает только обычные стандартные символы. Настройка всех листов данных" в разд. В результате запускать ее нужно вне Access. поскольку программа Access не поддерживает его. следовательно. Исключение составляет редко применяемый в полях Memo текст RTF (см. Они поддерживают все разновидности шрифтов. Но. часто игнорируемое средство. разд. ищите настойчивее — вы почти наверняка найдете ее. который нужен вам. Утилита Таблица символов — это составная часть ОС Windows. если вы не изменяли настройку (как описано в примечании "Малоизвестная или недооцененная возможность. "Форматированный текст" главы 2). входящие в шрифт. как применять утилиту Таблица символов для вставки специальных символов. включая стильный шрифт Wingdings.

особенно если у вас большой стол. В данном примере с помощью Таблицы символов копируется символ авторского права Печать листа данных Если вы хотите просмотреть ваши данные за обеденным столом (и вас не беспокоят возможные конфликты с теми. Но результаты. убедитесь в том. слишком широких для размещения на одной печатной странице. перейдите в нужное поле сейчас. разочаруют вас.Если вы находитесь не в том поле. когда лист данных виден на экране. Нажмите сочетание клавиш <Ctrl>+<V> для вставки символа. Вы можете организовать быстрый вывод на принтер. выбрав Office → Печать (Office → Print) в тот момент. используя стандартные установочные параметры. крайне важно выполнить предварительный просмотр таблицы перед печатью. Основная проблема состоит в том. нет ничего лучше твердой копии ваших данных. 3. и вы распечатали таблицу. как описано в следующем разделе. вероятно.19. Если вы хотите поместить символ между двумя уже имеющимися. что программа Access не беспокоится о таблицах. Для того чтобы добиться лучших результатов при выводе на печать. Программа разбивает распечатку на отдельные страницы. Если у вас большой стол. то вполне можете получить в результате распечатку из четырех страниц в ширину и стольких же страниц в длину. . в которое хотите вставить копируемый текст. кто не относится к числу любителей программы Access). Рис. что курсор стоит в нужном месте поля.

В отличие от листа данных в предварительном просмотре печатной версии таблица разбивается на страницы (рис. вы можете гарантировать большую пригодность вашей финальной распечатки. можете выводить вашу распечатку. в котором можно выбрать принтер и завершить дело.20. подобное окну Печать ОС Windows.Предварительный просмотр страницы Средство предварительного просмотра в программе Access дает возможность отрегулировать поля. что именно помещается на каждой странице и сколько страниц требуется для распечатки вашей таблицы (и какое содержимое отображается на каждой странице). Эта последовательность открывает диалоговое окно. прежде. Предварительный просмотр воспроизводит внешний вид ваших данных при выводе их на бумагу. 3. ориентацию страницы и т. чем вы отправите вашу таблицу на принтер. Рис.20). Для предварительного просмотра таблицы откройте ее (или выберите в области переходов) и затем выберите последовательность: кнопка Office → Печать → Предварительный просмотр (Office → Print → Print Preview). поэтому некоторые столбцы перенесены на вторую страницу Если вы довольны тем. . д. 3. Эта таблица слишком широка для вывода на одну бумажную страницу. Благодаря этому средству. выбрав на ленте Предварительный просмотр → Печать → Печать (Print Preview → Print → Print). что видите. Вы видите.

■ Для одновременного отображения двух страниц выберите на лепте Предварительный просмотр → Масштаб → Две страницы (Print Preview → Zoom → Two Pages). Landscape). по крайней мере. но они служат для перемещения между страницами. применяя стандартную книжную ориентацию. Программа Access. ■ Для перехода от страницы к странице можно использовать полосу прокрутки или клавиши <Page Up> и <Page Down>. ■ Книжная и Альбомная (Portrait. которые не помещаются на страницу. несколько столбцов будут . Далее перечислены эти параметры. поэтому яснее виден текст и другие детали. выберите на ленте Предварительный просмотр → Закрыть → Закрыть окно предварительного просмотра (Print Preview → Close Preview → Close Print Preview) или щелкните мышью одну из кнопок режима в правом нижнем углу окна программы Access для перехода в Режим таблицы или Конструктор. Для вывода большего числа страниц выберите Предварительный просмотр → Масштаб → Другие страницы (Print Preview → Zoom → More Pages) и укажите в списке число страниц. расположенный в строке состояния в правом нижнем углу. так что длинная сторона становится боковой.Завершив просмотр в окне предварительного просмотра. Но у вас есть возможность просмотреть страницы вашей виртуальной распечатки и увидеть. Для того чтобы вернуться снова к отображению полной страницы. Далее описаны способы перемещения в окне предварительного просмотра. Эти кнопки выглядят так же. что вы хотите распечатать текст. устраивает ли она вас. которое вы хотите видеть одновременно. При книжной ориентации страницы располагаются вертикально. Позволяет использовать страницы разного размера. которые можно регулировать в окне предварительного просмотра с помощью группы Разметка страницы (Page Layout) на вкладке ленты Предварительный просмотр. Сместите его влево для уменьшения масштаба (и увидите больший фрагмент на экране) или вправо для увеличения масштаба (и сосредоточьтесь на меньшей порции вашей страницы). может быть. ■ Размер (Size). а не записями. как элементы управления переходами между записями на листе данных. а короткая — верхней. ■ Для того чтобы поближе рассмотреть страницу. как и другие программы пакета Office. поскольку. ■ Для большего точного масштабирования используйте скользящий ползунок (zoom slider). Если вам надоели таблицы. еще раз щелкните кнопкой мыши страницу. Этот щелчок мышью увеличивает масштаб отображения листа до 100%. Она прекрасно подходит для резюме и заметок. щелкните кнопкой мыши в любом месте страницы предварительного просмотра (вы заметите. Изменение макета страницы Программа Access предоставляет небольшой набор параметров страницы. что указатель мыши превратился и лупу). но совершенно не годится для широкой таблицы. ■ Используйте кнопки прокрутки для перехода от страницы к странице. полагает. Позволяют выбрать ориентацию страницы. стоит инвестировать в бумаги большего размера (например. Перемещение в окне предварительного просмотра Вы не можете ничего менять в окне предварительного просмотра. стандартные листы размером 216x355 мм).

■ Закрепленные столбцы. которые вы задали в таблице. если у вас есть поля с большими текстовыми фрагментами и вы хотите выводить их в нескольких строках. ■ Поля (Margins). Примените их для отбора только важных строк. Программа Access использует точные значения ширины и высоты. Они помогают легко ориентироваться в информации. что мало. заключается в том. и вы сможете разместить больше данных на ограниченном пространстве. поэтому вам не придется совмещать страницы для того. Далее приведены советы. применяемые в вашей таблице. и когда вы щелкаете ее мышью. чтобы спрятать поля. ■ Параметры фильтрации. Единственная проблема. разд. чтобы определить. Уменьшите размер. о которых вы узнали в данной главе. можно создать более удачную печатную копию. но размещая больше столбцов на ней. чтобы поместилось больше данных.бездумно обрезаны и перенесены на другие страницы. что нужно. При выводе таблиц на печать используются гарнитура и размер шрифта. Параметры сортировки. поскольку она поворачивает страницу на 90°. Альбомная ориентация в этой ситуации гораздо больше подходит. Это невоспетые герои вывода на печать в программе Access. если закрепить поле FirstName (имя). выводящую на экран одноименное диалоговое окно. и могут сделать то же самое в ваших распечатках. Узкое (Narrow) и Широкое (Wide)). в котором можно задать точные значения полей со всех сторон страницы. ■ Порядок следования столбцов и скрытие некоторых из них. Тонкая настройка распечатки Исходя из ограниченного числа параметров настройки макета страницы. Еще лучше использовать скрытие столбцов (см. ■ Шрифт. Позволяет выбрать величину свободного пространства между таблицей и краями страницы. перейти в окно предварительного просмотра. размещенной на листе данных. вы увидите его на всех напечатанных страницах. чем вы думаете. как разные параметры форматирования влияют на ваши распечатки. а затем еще . "Скрытие столбцов "ранее в этой главе) для того. Если таблица слишком широка и не помещается на одной странице. Сожмите некоторые столбцы. и увеличьте высоту строк. закрепленный столбец будет печататься на всех страницах. Применяя правильное форматирование. Если ни один из них не удовлетворяет вашим требованиям. Поле представляет собой раскрывающуюся кнопку. влияют и на вашу распечатку. щелкните мышью кнопку Параметры страницы (Page Setup). которые не важны. Измените порядок следования столбцов перед выводом на печать. вы можете решить. то видите меню с несколькими стандартными вариантами размера полей (Обычное (Normal). кто есть кто. добиваясь нужного отображения страницы. ■ Ширина столбцов и высота строк. сокращая количество строк на странице. Задайте их перед выводом на печать. касающиеся печати и объясняющие. что можно сделать для настройки распечатки. Например. чтобы увидеть результат. Многие параметры форматирования. что их нельзя задать в окне предварительного просмотра распечатки. снова вернуться на лист данных и еще подкорректировать их. В этом случае на вашей распечатке будет именно то. На самом деле у вас больше возможностей. Но это можно сделать на листе данных. с которой вы столкнетесь при использовании этих параметров.

вставку рамок вокруг записей и возможность отведения дополнительного пространства для больших значений за счет мягкого перемещения остальной информации на другие страницы. Правда. включая разбиение полей на несколько строк. Отчеты предоставляют гораздо больше возможностей форматирования. которые описаны в части III. Если у вас большая таблица. которую не удается разместить удачно на странице. вам следует использовать отчеты. .раз перейти в окно предварительного просмотра и т. возможно. д. этот процесс очень быстро может утомить. Совет Не тратьте много времени на корректировку параметров форматирования для создания совершенной распечатки.

какие свойства наиболее полезны. помешать некорректным данным проникать в вашу БД. которые отвергают подозрительные данные в момент их ввода. включая совпадения. а просто найти ее в области переходов. В этой главе описан основной набор средств проверки. с помощью образцов обычный текст. не подчиняющихся никаким законам. с которым вы познакомились в главе 2. щелкнуть ее правой кнопкой мыши и выбрать команду Конструктор. то можете даже не открывать вашу таблицу. ■ маски ввода. прячутся там с течение месяцев и проявляют себя. ограничивающие возможные значения списком заранее заданных вариантов. эти данные проникают в БД. Совет Программа Access предоставляет три варианта переключения в режим Конструктора. такой как почтовые коды и телефонные номера. способных проникнуть в их БД. Неверные данные — печально известная проблема. имеющийся у программы Access: основные.Глава 4 Блокировка неправильных данных Даже лучшие проектировщики БД проводят бессонные ночи. Единственная сложность — знать. тревожась об ошибках. чем иголку в стоге сена. форматирующие. Другими словами. но в следующих разделах вы найдете дополнительные подробности. найти их труднее. устанавливающие строгие правила для полей. Лучший способ борьбы с подобными проблемами — прежде всего. только когда вы отправили по электронной почте счет клиенту "Blank Blank" ("Пробел пробел") или продали мешок арахиса за -4. Некоторые из них описаны в главе 2. ■ правила верификации (validation rules).99 долларов. Можно щелкнуть правой кнопкой мыши на заголовке вкладки таблицы и выбрать из меню команду Конструктор. . использовать кнопку Режим на вкладке ленты Главная или воспользоваться крошечными кнопками режима в правом нижнем углу окна программы Access. нужно задать правила проверки. После того как неверные данные попали в БД. Для их применения вы выбираете поле и настраиваете его свойства. О целостности данных Все средства проверки программы Access реализованы в режиме Конструктора. Если вы очень нетерпеливы. ■ подстановки (lookups). обязательные поля и значения по умолчанию.

1. 4. Но если в вашей таблице уже есть данные. что вы внесли в таблицу Dolls сведения о нескольких куклах-болванчиках до того. Просто выберите в Конструкторе поле. . Рис. что можете вставлять записи. Этот недостаток легко исправить. в ней должен быть хотя бы абсолютный минимум информации. за исключением поля первичного ключа (которое обычно содержит идентификационный номер записи). что они соответствуют установленным правилам. нет гарантии. выбираете поле Character и заменяете значение свойства Обязательное поле на Да. Без вашей помощи программа Access не может отделить важную информацию от необязательных деталей. программа Access дает вам возможность проверить записи о куклах-болванчиках. 4.1). что в поле Character обязательно должно быть значение.Запрет незаполненных полей Для того чтобы каждая запись имела какой-то смысл. Когда вы сохраняете таблицу (возвращаясь в Режим таблицы или закрывая таблицу). которое обязательно должно быть заполнено и задайте в свойстве Обязательное поле (Required) значение Да (рис. фактически не содержащие данных. вы быстро обнаружите. Свойство Обязательное поле сообщает программе Access о запрете пропущенных значений (именуемых на профессиональном жаргоне null) Access проверяет свойство Обязательное поле при каждом добавлении новой записи или исправлении поля в уже имеющейся записи. По этой причине все поля в новой таблице определены как необязательные. как решили. Вы переключаетесь в Конструктор. Представьте. Убедитесь в этом с помощью таблицы Dolls из главы 1.

Рис. пока он не будет полностью готов. Если программа Access находит пропущенное значение. отсортировав данные с помощью вопроса. возможно. такая строгость не годится в таблице Customers (клиенты) той же компании. которые вы установили. Это хорошая идея проверить таблицу на соответствие новым требованиям.3).3. она останавливает поиск и спрашивает вас. продающая костюмы Элвиса. поскольку не даст включить в каталог незавершенные изделия. программа позволяет вам отменить внесенные корректировки (рис. Если вы выбираете выполнение проверки и Access обнаруживает проблему. что делать. Не дайте этому сообщению запугать вас — пока у вас нет десятков тысяч записей. Например. С другой стороны. Отделу продаж нужна гибкость при добавлении новых . Вы можете сохранить изменения (даже если они конфликтуют хотя бы с одной записью) — в итоге. 4. выводящего незаданные значения в верхние строки таблицы Для тех. кто понимает. Другой возможный вариант — вернуть прежнее.уже внесенных в таблицу (рис. Не требуйте слишком многого Вы должны хорошенько подумать. 4. какой минимум данных вам нужен для создания записи. компания. 4. В любом случае вы можете найти пропущенные данные. новые записи не будут порождать подобную проблему. не захочет вставлять новый комплект одежды в свою таблицу Products (изделия). Свойство Обязательное поле в данном случае хорошее подспорье.2. 4. такая проверка не займет много времени Рис. В противном случае некорректные данные могут остаться в БД. более терпимое значение свойству поля. по крайней мере.2).

для того чтобы он или она получали ежемесячный информационный бюллетень. . Потенциальный клиент может позвонить и оставить только почтовый адрес (без номера счета. номера телефона. Даже в этом случае. п.предполагаемых клиентов.). даже если предоставлена только частичная информация. вы должны включить его в таблицу Customers. не имея полной информации о клиенте. адреса электронной почты и т.

но поместите единственный пробел в поле. Но есть еще одна возможность — вы можете определить значение по умолчанию. для некоторых типов данных понадобятся дополнительные проверки. можно запретить и пропущенные значения. Попытайтесь вставить новую запись и оставить ее пустой. к. если кто-то вставляет запись и пропускает поле. программа Access использует в нем значение по умолчанию. Но программа Access. используемые как значения по умолчанию. Если вы хотите помешать этому. вы все равно можете вставить значение 0. должны быть заключены в кавычки. такие как Access. и пустые строки. Даже если установить свойство Обязательное поле равным Да. нужно применить правила верификации. когда данные для него необязательны или недоступны в момент ввода записи. кто-то просто забыл ввести значение. "Правила верификации или условия на значения" далее в этой главе. пустая строка означает сознательное решение исключить данную информацию.Примите за правило применение необязательного поля в том случае. Для поля AddedCost (добавленная стоимость) числового типа вы могли бы оставить его равным 0. К счастью. Пропущенные значения и пустые строки Программа Access поддерживает свойство Обязательное поле (Required) для всех типов данных. Происходит странная вещь: Access автоматически обрезает пробелы и. Пропущенное значение может означать оплошность — возможно. (Access хладнокровно остановит вас. поскольку пустая строка — это не то же самое. возможно.A. в которых нет совсем никаких данных. (Все текстовые значения. Примечание Для того чтобы проверить эту разницу в своей таблице. делая это. что кажется несколько странным. Но вы не получите сообщения об ошибке. что свойство Обязательное поле запрещает только незаполненные поля — поля. вставлявшим запись или пропускавшим ее. Задается значение по умолчанию в свойстве поля Значение по умолчанию (Default Value). БД. С другой стороны. Все еще недоумеваете? Разница существует. если вы сочтете это различие сбивающим с толку. Но. Пропущенное значение (null) означает отсутствие данных. Задание значений по умолчанию До сих пор поля в ваших таблицах заполнялись явно человеком. Примечание Такое же различие существует и у данных числового типа. различает пропущенные значения и пустые строки (empty text). что пропущенное значение. Пустая строка свидетельствует о том. описанные в разд. но оказалось пустым. Теперь.) . т. Это объясняется тем.) Теперь попробуйте вставить новую запись. создайте текстовое поле со значением свойства Обязательное поле." как значение по умолчанию. что значение поля было введено.S. превращает ваш единственный пробел в пустую строку. В текстовом поле Country (страна) можно использовать строку "U. Просто установите в свойстве Обязательное поле (Required) значение Да для запрета пропущенных значений и в свойстве Пустые строки (Allow Zero Length) значение Нет для запрета пустых строк. должны распознавать пропущенные данные. равным Да.

Одна полезная функция Date ( ) извлекает текущую дату. что означает зависимость выбранного значения по умолчанию от других данных записи. 4. когда вы вводите новую запись. поскольку в большинстве новых записей содержится именно эта информация. штат по умолчанию (тоже New York — NY) и страну по умолчанию (U.S. Динамические значения по умолчанию используют выражения (специальные формулы БД). когда создается новая запись в таблице.4). разд. 4. а не заменять его полностью другим значением. "Скрытие столбцов " главы 3). Вы также можете во время редактирования поля вернуться к значению по умолчанию с помощью сочетания клавиш <Сtrl>+<Аlt>+<Пробел>. город по умолчанию (New York).5). нет оснований предлагать значения по умолчанию для полей. содержащих имя и фамилию Access вставляет значение по умолчанию. Рис. Программа Access оценивает их. Если применить эту функцию как значение по умолчанию для поля с датой (как показано на рис. С другой стороны. подготовленной для ввода новой записи. когда вы создаете новую запись (но вы всегда можете изменить это значение). можно редактировать значение по умолчанию. в нижней части таблицы (рис.9). . способные выполнять вычисления или извлекать другие подробности.A.4. Совет Очень удобно использовать значение по умолчанию как отправную точку для новой записи. Например. установленную на вашем компьютере. Вы можете создать и более развитые динамические значения по умолчанию. Такая система хороша.).Программа Access выводит вес значения по умолчанию в строке. 4. Она также автоматически вставляет значения по умолчанию в любые скрытые столбцы (см. Эта служба знакомств использует четыре значения по умолчанию: стандартный рост (5. программа Access автоматически вставляет текущую дату при вводе новой записи.

одно или несколько полей. 4. тем самым.5. как значение по умолчанию в поле DateAcquired в таблице с кукламиболванчиками. Но здесь есть подводный камень. что вы создаете таблицу Employees (сотрудники). Предотвращение дублирования значений с помощью индексов Первое правило любой таблицы — каждая включенная в нее запись должна быть уникальна. Как вы узнали из главы 2.Рис. Но вы также хотите быть уверены в том. язык структурированных запросов) в части II. разд. Вы решаете — оставить ее или заменить другим значением Примечание Вы узнаете больше о выражениях языка SQL (Structured Query Language. До сих пор во все таблицы. которые не должны дублироваться в разных записях. что в таблице нет двух сотрудников с одинаковыми номерами социального обеспечения (Social Security number. Но что. включалось такое поле. SSN). и. то при каждой вставке новой записи о кукле программа Access вставляет текущую дату. Если вы применяете функцию Date ( ). если вам нужно. желаете предупредить возможные ошибки — такие. Для соблюдения этого требования вам нужно выбрать первичный ключ (см. . чтобы другие поля тоже были уникальны? Представьте себе. которые вы видели. Вы следуете правильным принципам проектирования БД и идентифицируете каждую запись автоматически генерируемым идентификационным номером. как случайный повторный ввод данных об одном и том же сотруднике. "Первичный ключ"главы 2). самый надежный способ — создание идентификационного поля (поля Код) для первичного ключа.

4. В таблице Employees вы конечно можете выбрать SSN в качестве первичного ключа. Access достаточно прочитать только первую часть списка. Если это опасение подтверждается. например 001-02-501). что список номеров социального обеспечения отсортирован. который включен в список позже в результате сортировки. но ситуация будет далека от идеальной. когда вы начнете связы вать таблицы друг с другом (см. Вы можете заставить поле требовать уникальных значений с помощью индекса. хранящийся в БД после создания индекса SocialSecurityNumber Location of Full Record 001-01-3455 … 001-02-0434 … 001-02-9558 … 002-40-3200 … С помощью этого списка программа Access может быстро определить.1 и хранящийся в файле вашей БД. Когда вы добавляете поле. что данного SSN нет в таблице до тех пор. которая указывает на соответствующий раздел (полную запись). В БД хранятся несортированные таблицы. Такая сортировка важна. что номер 001-01-3455 всегда предшествует в индексе номеру 002-40-3200. как вы получите SSN . она позволяет программе Access быстро проверять наличие дубликатов. и возникнут проблемы. Но существует один ключевой принцип — без применения индекса программа Access должна проверять всю таблицу. Список. поэтому программа не может быть уверена в том. главу 5). что в оставшейся части индекса нет дубликата. Если вы вводите номер 001-02-4300. Если индексировать поле SocialSecurityNumber. которое доступно для данных всех типов за исключением типа Вложение и типа Объект OLE. Индекс БД похож на предметный указатель в книге — это список значений (из поля) с перекрестной ссылкой. почему так важны идентификационные поля. еще раз прочитайте примечание "На профессиональном уровне. пока не проверит каждую запись. независимо от физического размещения записи в БД. подобный приведенному в табл. На практике все БД используют множество алгоритмов оптимизации для того. Как Access предотвращает дублирование записей" в разд. На профессиональном уровне. из-за ошибки) или ввести информацию о сотруднике до того. программа Access создаст список. если позже понадобится из менить номер социального обеспечения (например. у его свойства Индексированное . Сортировка означает. "Первичный ключ" главы 2. Таблица 4. Access не разрешит вставить такое значение. т. Как работают индексы Важно то.1. чтобы сделать этот процесс стремительным. Как только программа обнаружит следующий "больший" SSN (тот. Итак. не дублируется ли в новой записи уже имеющийся SSN. как применить индекс с полем? Хитрость заключается в применении свойства Индексированное поле (Indexed). она уже знает. к.Примечание Для того чтобы вспомнить.

примечание "Практические занятия для опытных пользователей. . вам на самом деле не нужен индекс — Access и так выполнит поиск с ошеломляющей скоростью. в каждой из которых горстка полей. когда нужно увеличить скорость обычного поиска. В данной ситуации Access выводит сообщение об ошибке. программа Access создает индекс в поле. запрещающий совпадения. как вы применяете предметный указатель в конце книги для поиска конкретной темы или термина. Этот вариант не поможет вам поймать повторяющиеся записи. С его помощью программа найдет совпадающее значение гораздо быстрее и просто перейдет по указателю к полной записи. Как индексы ускоряют поиск" в разд. Но важно знать. Для вставки индекса и предупреждения дублирования значений вы можете изменить в Конструкторе значение свойства Индексированное поле на Да (Совпадения не допускаются). вы найдете в примечании "Практические занятия для опытных пользователей. "Получение заданного количества первых записей" главы 6). При выборе третьего варианта — Да (Допускаются совпадения) — создается индекс. программа Access напоминает о необходимости сохранить ваши корректировки. Представьте себе. Дополнительную информацию о том. но его можно применить для ускорения поиска (для получения дополнительной информации см. Программа Access может использовать индекс для поиска нужной ей записи во многом так же. но разрешается нескольким записям иметь одинаковые значения поля. Они также незаменимы. Индексы и производительность Индексы — это средство предотвращения ввода неверных данных или средство. если в вашей таблице уже есть дублирующаяся информация. Вы не можете создать индекс. Когда вы закрываете Конструктор после изменения свойства Индексированное поле. что вы создаете таблицу People (люди) для хранения списка ваших друзей и их контактной информации.поле указано значение Нет. Часто задаваемый вопрос. когда закрывается Конструктор и программа пытается добавить индекс. "Получение заданного количества первых записей " главы. Если вы храните несколько сотен записей. первичные ключи также предотвращают дублирование записей с помощью аналогичного метода. повышающее производительность? Индексы не только препятствуют дублированию значений. Когда вы определяете первичный ключ. 6. Вам могут встретиться одинаковые имена и фамилии. Если вы выполняете поиск для удаления из таблицы Employees сотрудника с заданным номером социального обеспечения (SSN). Как индексы ускоряют поиск" в разд. Индексы для нескольких полей Вы также можете применять индексы для предотвращения повторений комбинации значений. Примечание Как вы знаете из главы 2. Access может применить индекс. как индексы могут ускорить поиск. В этот момент она создает любые нужные ей новые индексы. что индексы улучшают производительность только в случае очень больших и сложных таблиц.

которые определены в таблице. Как индексы ускоряют поиск" в разд. С его помощью можно просмотреть уже созданные индексы и создать новые. следует серьезно подумать о законных основаниях возможного дублирования значений. Такой запрет избавит вас от случайного ввода сведений об одном и том же человеке дважды. "Получение заданного количества первых записей" главы 6. которые индексируются (например. Примечание Данный пример может привести к нескончаемым проблемам.Но. В любом случае индекс сможет помешать дублированию значений. . В этом случае вам придется удалить индекс до ввода этих имени и фамилии. В окне Индексы показаны все индексы. но вы не увидите его во время работы с таблицей. Для обеспечения уникальности комбинации полей необходимо создать составной индекс. Какое поле вы укажете первым. Введите его в первую пустую строку в столбце Индекс (Index Name) Имя индекса не важно — программа Access использует его для хранения индекса в БД. На экране появится окно Индексы (Indexes) (рис. который в данный момент создается 2. Выберите первое поле в столбце Имя поля (Field Name) в той же строке (например. Но порядок играет роль в случае использования индекса в поиске для повышения производительности. В Конструкторе выберите на ленте Работа с таблицами | Конструктор → Показать или скрыть → Индексы (Table Tools | Design → Show/Hide → Indexes). 4. вы хотите помешать включению в две записи одинаковых и имени. 3. если у вас действительно есть двое друзей с одинаковыми именем и фамилией. 1.6. в котором объединяется информация из нескольких полей. Рис. и фамилии. LastName). 4. Обычно для этого используются имена одного или нескольких полей. LastName+FirstName).6). Прежде чем создавать любые индексы. возможно. Вы узнаете об этом больше в примечании "Практические занятия для опытных пользователей. В нем приведен простой индекс для поля ID (создаваемого программой Access автоматически) и составной индекс. Выберите имя для вашего индекса. не имеет значения. Далее описаны необходимые для этого действия.

Теперь можно закрыть окно Индексы. Если вы хотите создать составной индекс из нескольких полей (больше двух). Но если уж SSN вводится вы хотите быть уверенным в том. программа Access разрешит только одной записи иметь пропущенное (неопределенное) значение в поле SSN.7. просто повторяйте этот шаг до тех пор. Пропустите свойство Ключевое поле (Primary). как выглядит сформированный индекс. "Запрет незаполненных полей" ранее в этой главе. Перейдите на одну строку ниже. Рис. В этом случае создается индекс. возможно. в данном случае вам следует задать значение Да в свойстве Пропуск пустых полей. Оставьте поле Индекс пустым (это говорит программе Access о том. 5. которое задает индекс первичного ключа. что. Если у вас есть поле Height (рост). препятствующий включению в таблицу двух людей с одинаковыми именем и фамилией Маски ввода Как вы уже знаете. Если значение этого свойства равно Нет. применяемого только для увеличения скорости поиска). заданные в одних и тех же единицах измерения. БД ценят непротиворечивость данных.7 показано. вы хотите сделать поле номера социального обеспечения (SSN) необязательным.4. Вы также можете задать значение Да для свойства Пропуск пустых полей (Ignore Nulls). пока не вставите все нужные поля. В нижней части окна установите значение свойства Уникальный индекс (Unique) равным Да. Здесь представлен составной индекс. но выберите другое поле в столбце Имя поля (например. что он не совпадает ни с каким другим значением. FirstName). лучше использовать в нем значения. как описывается в разд. 4. что это часть предыдущего индекса). Примечание Можно запретить пропущенные значения вместе с применением свойства Обязательное поле. Например. чтобы программа Access разрешила дублирование пропущенных (незаданных) значений. 4. На рис. если хотите. вас не устроит. запрещающий совпадения значений (в отличие от индекса. .

Это оформление и есть маска Для облегчения обработки значений. а третьи вообще пропускают междугородний код (547-1123). Если одни телефонные номера записаны с дефисами. если у вас есть поле PhoneNumber (номер телефона). Рис. что у всех номеров один и тот же формат. В файле БД данные хранятся как 1234567890. имеющих фиксированный шаблон. вводящий данные. Если вы введете 1234567890 в данную маску телефонного номера. телефонных номеров — вы можете воспользоваться маской ввода. в то время как другие несколько отличаются (скажем. содержащий символы-заполнители. (844) 547-1123). Вверху: показано поле PhoneNumber с маской. готовое принимать данные. Аналогично. Access изменяет . К этому моменту пользователь.8. Из-за недостатка согласованности вам будет трудно обрабатывать такие данные (например. то увидите следующий текст: (123) 456-7890. 847-5471123). лучше убедиться в том. какой шаблон или образец должны использовать ваши данные. пробелами и скобками (например. Основываясь на этом образце. а на листе данных представлены с привлекательным внешним оформлением. 4. искать конкретный телефонный номер или отсортировать телефонные номера в зависимости от междугороднего кода).в противном случае ваши данные и ломаного гроша стоить не будут. еще не ввел ни одного символа. у вас появится небольшая проблема. В поле PhoneNumber автоматически выводится текст. Внизу: маска форматирует номера по мере их ввода. — например. Маска ввода (или маска для краткости) предоставляет возможность сообщить программе Access.

Примечание Маски поддерживают только типы данных Текстовый и Дата/время. что эта информация обязательна (а также показываете. ■ Маски управляют элементом ввода. Данные этих типов не следует хранить в числовых полях. ■ Маски помогают понять смысл данных. Такие же преимущества маски дают при вводе дат. Этот сценарий реализуется с самыми разными данными. где она должна располагаться). Одни и те же данные многих типов можно представить несколькими способами. шаблон маски отображает символызаполнители. что пользователи могут ввести совершенно бессмысленные номера. 4. Это замечательный способ. ■ Маски устраняют путаницу. На рис. несмотря на то. Маски подходят как нельзя лучше для сортировки числовой информации в текстовом поле. выдаете понять. Используя маску с символами-заполнителями для междугороднего кода. Очевидно. Их следует воспринимать как последовательность цифр. По сравнению с обычным текстом маски обладают рядом достоинств. то не сможете ввести буквы. к. Применение готовых масок Легче всего начать использование масок с применения одной из разнообразных подготовленных масок. если они будут представлены как (012-86-7180). делая их более понятными и менее подверженными ошибкам. д. Гораздо легче читать множество значений. Большинство людей быстрее найдут нужные номера социального обеспечения. на место которых должны попасть значения. маска не поможет определить неправильный адрес электронной почты. представленных определенным образом. (Если вы допустите ошибку и сохраните номер телефона в числовом поле. такие как 0 или -14.) Маска не помогает бороться с более сложными проблемами. В пустой маске телефонного номера отображается текст (_ _ _)_ _ _ . Они отбрасывают символы. поскольку эти детали уже стоят в нужном месте. поскольку это примеры корректных чисел. как маска позволяет программе Access форматировать последовательность символов в процессе их ввода в поле. что их нельзя считать допустимыми номерами телефонов. поскольку они не должны интерпретироваться как единый номер. не требует изучения таинственного искусства создания масок. ■ Маски предупреждают ошибки. не как (012867180). т. Будучи пустым.). которые можно ввести разнообразными способами (Год/Месяц/День. Месяц-День-Год и т.8 показано. включая номера кредитных карт._ _ _ . такими как значения с переменной длиной или хитроумными шаблонами. Маска в текстовом поле вылавливает с легкостью подобные ошибки. Если вы пользуетесь маской для ввода номеров телефонов. что вам не нужно набирать скобки или дефисы для разделения номеров. Вы можете ввести номера телефонов с междугородним кодом и без него. Вы можете добавить маску для любого поля с текстовым типом данных. то обнаружите. предлагаемых программой Access.способ ввода и редактирования значений. ясно обозначающий вид необходимых данных. Например. почтовые индексы и номера телефонов. . не соответствующие шаблону.

. Для изменения маски вам придется узнать. Стандартный заполнитель — символ подчеркивания (_).) со скругленными углами программа Access сообщает о том.2. что получается? Тогда вам нужно создать собственную маску. Иногда . пользуясь советами из разд.. в которые вводится информация. Щелкните мышью эту кнопку. В данном случае выберите первый элемент списка (Phone Number). Запустится Мастер создания масок ввода (рис. выберите ее.9. Если хотите. В этот момент у правого края поля появится маленькая кнопка (. показанная на рис. необходимые для выбора встроенной маски. 6. 5. Мастер создания масок ввода) или другую разновидность полезного диалогового окна 3. что вы не должны вводить значение вручную. "Создание собственной маски" далее в этой главе. На экране появится второе окно мастера (рис.9. Символы-заполнители применяются для обозначения пустых позиций.) со скругленными углами. Щелкните мышью кнопку Далее (Next). Найдите свойство поля Маска ввода (Input Mask). Вместо этого можно щелкнуть мышью кнопку и вывести на экран программу-мастер (например. в котором вы хотите применить маску. Вы сможете откорректировать ее во втором окне данного мастера. 4. 4. что означает каждый символ маски.Далее перечислены действия. 2. щелкните кнопкой мыши в поле этого свойства. В данном примере используйте поле PhoneNumber. 4. Если вы нашли близкую.10). 4. Примечание Не нравится то. В Конструкторе выберите текстовое поле.11).. 4. 4. Рис. 1. С помощью кнопки (.. можно изменить маску или символ-заполнитель в ней. но не идеальную готовую маску. Выберите нужную вам маску из списка возможных вариантов. Вы найдете их описание в табл.

введя его в иоле Заполнитель (Placeholder character). если в нем применить маску Рис. как будет вести себя ваше поле. в соответствии с данной маской (123) 456-7890 — правильный номер телефона. как и 123-4567. Рис. Каждая цифра 9 обозначает необязательную цифру от 0 до 9.можно использовать пробел. дефис. Итак. После выбора маски можно опробовать ее в текстовом поле Проба. звездочку или любой другой символ. 4. в котором вы увидите. Каждая цифра 0 представляет обязательную цифру от 0 до 9. 4. Для телефонного номера применяется маска !(999) 000-000. Мастер создания масок ввода выводит на экран список общеупотребительных масок. Рядом с каждой маской приведен пример отформатированного маской значения.10. а номер (123) 456 — неправильный .11.

Вы могли бы сохранить маску полностью со всеми дополнительными символами. Рис. возможно. Щелкните мышью кнопку Далее. если выбрано хранение полной маски вместе с заполнителями (один дефис. В этом случае номер телефона хранился бы с дефисами. Если вы вставляете маску в текстовое поле.12. Это менее гибкий подход. например. поскольку не позволяет изменять маску впоследствии. Если вы выбираете этот вариант. 9. Прежде чем двигаться дальше. Обычно хранятся только вводимые символы (другими словами. В завершающем окне мастера можно выбрать способ хранения данных в вашем поле — с символами маски или без них 8. Если вы включаете маску в поле с датами. как вы хотите хранить значение в данном поле. Укажите. программе Access не нужно знать. на экран выводится завершающее окно мастера (рис. если выбрано хранение неформатированного значения (поскольку в номере 10 цифр). Окончательная маска выводится в поле свойства Маска ввода (Input Mask). один пробел и две скобки). что зарезервированная длина поля соответствует маске.7. Этот вариант экономит немного дискового пространства и позволяет вам изменить маску в дальнейшем для несколько иного представления данных. телефонный номер (416) 123-4567 хранится как 4161234567. В этом случае вы можете перейти к пункту 9 и щелкнуть мышью кнопку Готово (Finish). В примере с номером телефона Размер поля должен быть 10. . что вы вводите в поле).12). (416) 123-4567. вы хотите убедиться в том. символы-заполнители в поле не включаются. Например. 4. знаками подчеркивания и пробелами. 4. как вы будете хранить информацию в поле — она уже знает это. или 14. Щелкните мышью кнопку Готово. все.

когда программа Access предложит сохранить изменения. Вы могли бы создать форму (как описано в части IV) и отключить маску. обратите внимание на следующие таблицы. В табл. что символы должны вводиться в маску слева направо. Символы 9 и 0 — заполнители: они указывают. стандартный и единственный имеющий смысл в случае телефонного номера вариант. которые можно использовать в масках ввода. куда вводить символ. выберите одну из масок как отправную точку (как описано в предыдущем разделе) и затем перейдите во второе окно мастера. Создать маску очень легко. Маска не обеспечивает стопроцентной защиты от некорректных данных. И всего один специальный символ — восклицательный знак. Он сообщает Access о том. прежде чем вы добьетесь желаемого результата. ■ специальные символы сообщают программе Access о способе интерпретации части маски. Таблица 4. вместо маски нужно применять правило верификации (validation rule). Если вы хотите применять маску для ваших данных особого вида (например.2 приведены все заполнители. В любой маске есть три типа символов: ■ заполнители указывают вам. ■ литералы и любые другие символы служат элементами оформления. вы должны создать собственную маску.3 перечислены другие специальные символы.2. Теперь ваша маска ввода подготовлена. применяемый на вашем предприятии). В табл. специальный код клиента. Но маску можно перехитрить и ввести данные по-другому. ■ запустите Мастер создания масок ввода. куда вводить цифры номера телефона. как вы сохраните ее как часть своей таблицы.10. В предыдущем примере маска номера телефона — !(999) 000-000. Создание собственной маски Мастер создания масок ввода предоставляет очень ограниченный набор вариантов масок. пробел и дефис — просто средства форматирования — литералы. Скобки. 4. Примечание Программа Access использует информацию маски ввода для управления способом ввода данных в таблицу. Все остальное автоматически относится к литералам. У вас есть два основных варианта: ■ наберите или отредактируете маску непосредственно в поле свойства Маска ввода. Достоинство этого варианта в возможности тестирования вашей маски в поле Проба до того. но придется потратить немного времени. 4. знак плюс (+) или знак минус (—) . Символы-заполнители для масок ввода Символ 0 9 # Описание Обязательная цифра (от 0 до 9) Необязательная цифра (от 0 до 9) Необязательная цифра. которое облегчает трактовку значения. если вам нужна полная гарантия. Для того чтобы разложить все по полочкам. Перейдите снова в Режим таблицы и щелкните мышью кнопку Да.

Она формируется из двух цифр для часов и двух цифр для минут. ■ 00000-9999. содержащую последовательность \.2. даже когда он не нужен. хранится как сим вол. но отображается как звездочка (*). (Технически эта маска не препятствует вводу в эти позиции других символов. который вы вводите в поле. Эта маска отличается от маски телефонного номера предлагаемой Мастером создания масок. что следующий символ надо интерпретировать как литерал. ■ (000) 000-000. Американский почтовый индекс. Любой символ. что делает междугородний код необязательным. Последние два символа (благодаря наличию символа >) всегда отображаются как прописные и предназначены для обозначения половины суток AM или РМ. Оба эти варианта равнозначны Пароль (Password) Создает поле пароля. цифры. д. программа Access . ■ 99:00:00 >LL. ■ L0L 0L0. Британский или канадский почтовый код.) знаки Таблица 4. чтобы помочь вам взяться за дело. следует ввести \#. у символа # специальное назначение в масках. д. (окончание) Симво Описание L Обязательная буква ? Необязательная буква А а Обязательные буква или цифра Необязательные буква или цифра & Обязательный символ любого типа (включая буквы. В телефонный номер обязательно должны быть включены цифры междугороднего кода. например. Например. пунктуации и т. цифры пунктуации и т.) знаки С Необязательный символ любого типа (включая буквы. В последней первые три 0 заменены 9. Маска для ввода времени в поле типа Дата/время. который состоит из пяти обязательных цифр. который формируется из шести символов с чередованием букв и цифр.Таблица 4. Но если вы введете время. Поэтому если вы хотите обычный символ # включить в маску. M6S ЗН2. Иногда этот символ приме няется перед заполнителем. С помощью варианта можно вставить в мас ку и что-то другое Далее приведено несколько примеров масок. Вы можете встретить маску телефонного номера. Специальные символы для масок ввода Символ Описание ! Обозначает направление заполнения маски слева направо при вводе. за которыми следуют дефис и (иногда) четыре дополнительные цифры. поэтому данный символ не требуется (но во встроенные маски он включен) < > \ Преобразует все следующие за ним символы в строчные Преобразует все следующие за ним символы в прописные Указывает на то.3. Это направле ние выбрано по умолчанию.вместо просто знака -. такое как 12:30 GM.

099. сообщающее программе Access. программа сохранит весь текст вместе с литералами. В каждой части адреса должна быть. разделенные точками.# Во второй части стоит 1. Маски могут заканчиваться двумя необязательными элементами.099. Для добавления вашей собственной маски используйте кнопки переходов между записями (расположенные у нижнего края этого окна) для перехода в конец. (Это последний вопрос. за которой следуют две необязательные). в которую включены оба дополнительных компонента: (000) 000-000. должна ли она сохранять литеральные символы маски в записи БД. в ней вместо знака подчеркивания в качестве заполнителя используется знак номера (#). как того требует поле. а в третей — #. Рис. встроенная маска телефонного номера не требует обязательного включения междугороднего кода. который задает Мастер создания масок. замените маску более строгой версией (000) 000-0000 . Он записан как четыре значения. Далее приведена маска. пробелом и дефисом). Если этот компонент маски пропустить. Access сохраняет только символы. Это окно можно использовать и для изменения маски. Например. ■ Пароль (Password). IP-адрес.1. программа Access применяет знакомый знак подчеркивания. 4. что не может преобразовать ваше значение в тип данных Дата/время.) ■ 099.099. В третьей составляющей маски содержится символ-заполнитель. разделенными точкой с запятой (. одна цифра. которые вводит пользователь. которой вы не хотите пользоваться. Такой шаблон в маске отображается комбинацией 099 (одна обязательная цифра. а как максимум — три. допускающая ввод обычного текста разной длины с одной лишь разницей. Маска предназначена для ввода телефонных номеров и сохранения их в БД вместе с литералами маски (в данном случае двумя скобками.). Вторая составляющая маски — число.) Если этот фрагмент маски пропустить или использовать цифру 1. Если же вы примените цифру 0. Маска. идентифицирующий компьютер в сети.пожалуется на то.13. Если это свобода. как минимум. все символы отображаются звездочками (*) и скрыты от любопытных глаз.

необходимые для задания такого правила. Вставка вашей маски в список масок программы Иногда удается создать маску. . и в разных БД). Затем щелкните мышью кнопку Список (Edit List). запрещающего вводить в числовое поле 0 или любое отрицательное число (а в следующих разделах вы отшлифуете навыки создания правил верификации настолько. Вы задаете ограничение. которое нуждается в ней. Ключевая составляющая правила — выражение проверки правильности данных (validation expression) вы увидите несколько практических примеров таких выражений. которые можно сразу поместить в ваши таблицы. обычно с тестом фиксированной длины. и вставить собственную (рис. программа выводит сообщение об ошибке и заставляет вас откорректировать ошибочные данные и попробовать еще раз. такие как гарантия попадания числа в определенный диапазон. Начнем с простого условия. Применение условия на значение поля У каждого поля может быть одно условие на значение или правило верификации. К счастью.13). Для создания действительно "пуленепробиваемой" таблицы следует применять более сложные ограничения. Суть правила верификации проста. в котором можно редактировать маски. Когда кто-нибудь добавляет новую запись или редактирует имеющуюся. удовлетворяют ли данные вашим условиям на значения. Несмотря па то. В этом случае маска будет появляться. Access проверяет. что можно скопировать маску в каждое поле. как только вы запустите Мастер создания масок. у программы Access есть более удачное средство — можно хранить вашу маску в списке масок программы. рядом с другими стандартными масками ввода программы Access.Практические занятия для опытных пользователей. имеющим единственный неизменный шаблон. сообщающее программе Access. Примечание Более полное введение в язык SQL начнется с главы 6. для написания правила верификации вам понадобится лишь частичка SQL. а какие нельзя считать правильными. Далее приведены действия. 4. раскрывающую удобное окно. и хочется ее использовать в разных таблицах вашей БД (а может быть. что сможете защитить и данные других типов). язык структурированных запросов). Если нет. которая невероятно полезна. используя всю мощь языка SQL (Structured Query Language. но они применяются лишь с информацией нескольких определенных типов. какие значения разрешены в поле. проверка еще не наступивших дат или первой буквы текста. Правила верификации или условия на значения Маски ввода — замечательное средство. предоставляемые Access. Для вставки маски в список перейдите к свойству поля Маска ввода (любого поля) и щелкните мышью кнопку со скругленными углами для запуска Мастера создания масок. Правила верификации или условия на значения могут помочь вам сформировать все эти ограничения.

не прошедшее проверку. В свойстве поля Условие на значение (Validation Rule) введите проверочное выражение (рис. условие >0 — это правило верификации. В Конструкторе выберите поле. выполняющий проверку введенных вами данных. Программа Access проверяет данные на значение. . 2. когда вы ввели порцию данных и собираетесь переходить к другому полю или другой записи. 1. к которому хотите применить условие. что вызывает у простых смертных нечто большее. программа Access дает вам возможность проверить их на соответствие заданному правилу верификации. кроме Поле MEMO. Если в вашей таблице есть записи. В следующих разделах вы познакомитесь с другими условиями на значение. а свойство Сообщение об ошибке содержит текст сообщения 3. Выражение представляет собой фрагмент на языке SQL. В данном примере правило верификации обрабатывает числовые данные (Числового или Денежного типа). В данном примере свойство Условие на значение препятствует вводу недопустимых цен. Если вы не предложите никакого текста. Счетчик и Объект OLE.14). 4. Щелкните правой кнопкой мыши заголовок вкладки и выберите Режим таблицы. Если вы введете значение. 4. Введите текст сообщения в свойство поля Сообщение об ошибке (Validation Text). программа Access отвергнет его и выведет этот текст сообщения об ошибке в диалоговом окне. Например. программа отобразит условие на значение для данного поля (которое вы ввели в пункте 2). Данные всех типов. требующее ввода в иоле только положительных значений. чем легкое недоумение.14. 4. поддерживают условие на значение.Для вставки вашего условия на значение выполните следующие действия. Рис. Вам решать — выполнить такую проверку или полностью пропустить ее.

профессионально работающие о программе Access. который вы задали ("You didn’t get this for free.После перехода в Режим таблицы вы готовы к тестированию вашего условия на значение (рис. Когда вы вводите отрицательное число. (Вы уже знаете об аналогичной потенциальной проблеме. не так ли?"). Для получения желаемого результата вы должны сделать первый шаг в порой причудливый мир языка SQL. Отклонения могут возникнуть. разработчики. Рис. связанной с обязательными полями. "Запрет незаполненных полей" ранее в этой главе) Запись условия на значение поля Как видите. что условия на значения ограничены только вашим воображением. если вы ввели данные прежде. did you?" — "Вы ведь не получили ее даром. . возвращаются к нескольким основным шаблонам снова и снова. описанной в разд.15). что данные в этой таблице следуют заданным правилам. которое остается в режиме редактирования. чем правила верификации начали действовать. 4. В следующих разделах представлены базовые знания для быстрой и легкой разработки правил верификации данных разных типов. применять условие на значение к полю достаточно легко.15. В данном примере условие на значение >0 препятствует вводу отрицательных чисел в поле Price. Несмотря на то. После щелчка мышью по кнопке ОК вы возвращаетесь в поле. Access выводит окно сообщения с текстом об ошибке. У вас есть возможность изменить значение на положительное или нажать клавишу <Esc> для отказа от вставки или редактирования записи Примечание Наличие у вашей таблицы правил верификации или условий на значения вовсе не означает. 4. Но формирование правила требует больших умственных усилий.

такое как >#1/30/2007#. чтобы . Для решения этой проблемы используйте универсальную синтаксическую форму представления дат программы Access. С помощью этого синтаксиса вы можете использовать условие. если вы проверяете условие >1/30/07. Access предполагает. больше или меньше введенное число другого значения. т. что у вашей даты формат.Примечание Программа Access применяет правило верификации. "Запрет незаполненных полей" ранее в этой главе. проверка допустимости дат.4 приведено несколько часто используемых примеров. Если поле остается пустым. 2 007) предназначается для представления даты. как описано в разд. программа принимает его без всякой проверки. как правило. но не равным 42 Меньше или равно <=100 Значение должно быть не больше 100 Больше или равно Значение должно быть не меньше 0 Равно =42 Между Between 0 and 100 Значение должно быть 42. Если вы используете условие >Jan 30. программа Access приходит в крайнее замешательство.100 или любое промежуточное значение Проверка допустимости дат Как и в случае числовых данных. чтобы добиться обязательного заполнения поля. Таблица 4. Условия на значение для чисел Сравнение Пример условия Описание Меньше чем <100 Значение должно быть меньше 100 Больше чем Не равно >0 < >42 Значение должно быть больше 0 Значение может быть любым. вы проверяете. 2007). В табл. Точно так же. подходящий для условия на значение. которая выглядит следующим образом: #1/30/2007# В универсальную синтаксическую запись для представления дат компоненты включаются в порядке месяц/день/год и обрамляются с обеих сторон символами #. не понимает. включает проверку принадлежности даты определенному диапазону. 2007 (> 30 Янв. только если в поле есть данные. к. Ваша задача — убедиться в том. задайте в свойстве Обязательное поле значение Да. Другими словами. что числа справа от знака сравнения — часть выражения с последовательными операциями деления. 4. (Много ли смысла в необходимости ввода этого значения кем-то?) Значение должно быть 0.4. Проверка допустимости числовых значений Для числовых данных самый распространенный вариант проверки — принадлежность введенного значения определенному диапазону. требующее. Ваши инструменты в этом случае — знаки операций сравнения < и >. Если вам не нравится такой подход. что текст (Jan 30.

после 17:30 Меньше или равна <=#1/30/2007# Больше или равна >=#1/30/2007# Больше текущей даты >Date() Сегодня или более поздняя дата Меньше текущей даты Больше текущей даты (и времени) <Date() Вчера или более ранняя дата >Now() Сегодня после текущего времени или любая дата в будущем Меньше текущей даты (и времени) <Now () Сегодня до настоящего момента или любая дата в прошлом Дата до 30 января 2007 г. поэтому она вычисляется как первая секунда текущего дня). Таблица 4. или 30 января 2007 г. которые позволят вам выполнить более сложные задачи. что значение #1/30/2007 8:00 АМ# больше. чем January 30. вы можете использовать любые операции сравнения. определять день недели для конкретной даты. Универсальная синтаксическая запись может включать и время. Больше чем >#1/30/2007 5:30 РМ# Любая дата после 30 января 2007 г. или первая секунда 30 января 2007 г. а любая дата в 2006 г. или любая более позд няя дата - . которые применяются для сравнения чисел. 4. включая дату и время. например. зная об универсальной синтаксической записи для дат..5 приведено несколько примеров. В разд. 30 января 2007 г. В результате Access считает.5. Теперь. поэтому она интерпретируется как наступив шая в самую первую секунду суток. — нет. "Функции для обработки дат" главы 7 вы по знакомитесь со многими функциями обработки дат. Можно применять и следующие удобные функции для получения информации о текущих дате и времени: ■ Date ( ) — вычисляет текущую дату (без какой-либо информации о времени. Условия на значения для дат Сравнение Пример условия Меньше чем <#1/30/2007# Описание Дата до 30 января 2007 г. например: #1/30/2007 5:30РМ# Примечание При сравнении двух дат программа Access принимает во внимание сведения о времени. 2007 отвечает данному требованию. 2007 (30 января 2007 January 31. Дата #1/30/2007# не содержит данных о времени. В табл. выполняющая какую-либо задачу. ■ Now ( ) — вычисляет текущий момент времени. поскольку наступает на 8 часов позже. например считыва ние текущей даты с компьютерных часов.вводимая дата была больше (наступала позже). Примечание Функция — это встроенная процедура.

который может принимать значение А или Е. соответствующий единичному символу. walkable или 34z%($)#.Z] (который разрешает любую букву). Like [A-Z] [A-Z] [A-Z] [A-Z] [A-Z] [A-Z] [A-Z] . Далее приведено необходимое условие на значение: Like "[АЕ]???????" Обратите внимание на то. В. Далее приведено условие на значение для восьмисимвольного кода изделия. Все эти задачи решаются с помощью оператора Like. сравнивающего введенный текст с образцом. walked и 34z%($)#ed и не пропускает значения talking. Очень похожее условие можно применять для проверки завершающих символов фрагмента текста: Like "*ed" Это условие считает корректными значения talked. за которой могут следовать символы или нет. Если вы хотите разрешить символы А. следующее правило верификации определяет код изделия.Проверка допустимости текста В случае текста условие на значение позволяет задать начальный или конечный символ текста или наличие определенных символов в строке. что ваша компания использует восьмисимвольный код изделия. но не обязательно сразу друг за другом) в любом месте строки текста: Like "*а*b*" Наряду со звездочкой в операторе Like могут использоваться и некоторые другие символы. Оно формируется семикратным повторением кода [A. разрешающее ввод семибуквенного слова и запрещающего цифры и другие символы. если известна длина текста или позиция определенной буквы в тексте. вы можете ограничить значение любого символа набором определенных букв или символов. Таким образом. Предположим. Таким образом. заканчивающегося 0ZB: Like "?????0ZB" У символа # аналогичная роль. но он представляет цифру. который всегда начинается с "А" или "Е". С. Следующее условие требует начинать поле с буквы "R": Like " R*" Звездочка обозначает отсутствие символов или присутствие нескольких символов. начинается ли строка с буквы "R" (или "r"). что фрагмент [АЕ] представляет один символ. означающей разрешение любого символа от А до D. заканчивающийся комбинацией символов 0ZB. Можно применять ?. Не столь распространенный прием — использование нескольких звездочек. включая А и D. Далее приведено условие на значение. Для этого нужно заключить допустимые символы в квадратные скобки. следует написать в условии [ABCD] или воспользоваться удобной сокращенной формой [A-D]. полное условие заставляет программу Access проверять. которой предшествует пять цифр: Like "#####0ZB" И наконец. В следующем выражении требуется наличие букв "а" и "b" (именно в таком порядке. D. что очень удобно.

В следующем правиле разрешены числа. Для использования ключевого слова And просто запишите два правила верификации и вставьте между ними слово And. Далее приведен алгоритм создания условия на значение для таблицы. Для того чтобы все было как следует. т. какое правило вы укажете первым. Комбинирование условий на значения Независимо от типа данных вы можете комбинировать ваши условия двумя способами. уже известные вам. Примечание Множество подобных ограничений можно обойти. как доставить изделие. Справа в окне программы появляется страница с дополнительными параметрами (рис. В таблице Orders вы используете два поля: DateOrdered (дата заказа) и DateShipped (дата доставки). содержащее два условия. Они не только могут разрастаться до неимоверных размеров. Предположим. к. проверять длину строки. 1. предоставляемые программой Access. как с помощью функций вырезать фрагменты текста. можно создать правило верификации. чтобы дата из поля DateOrdered была более ранней. необходимо. Например.Как видите. Табличные правила верификации могут применять все приемы. но после 1 января 2000 г. удовлетворяющего одному из условий. Далее приведено условие на значение даты. единственный способ вставить его — создать условие на значение для всей таблицы. но и не могут задать многих ограничений. прежде чем кто-то его закажет? Поскольку это правило верификации включает в себя два поля. чем дата из поля DateShipped. использовать прописные буквы в тексте и многое другое. Этот прием очень полезен. которая должна была наступить до текущей даты.: <Date( ) And >#l/l/2000# Можно также использовать ключевое слово Or для принятия значения. Помимо всего прочего.16). Но проектировщики БД часто нуждаются в средствах сравнения значений разных полей. "Текстовые функции" главы 7 вы узнаете. у поля может быть только одно условие на значение. 4. Неважно. невозможно задать допустимое изменение длины текста между заданными максимумом и минимумом. В Конструкторе выберите на ленте Работа с таблицами | Конструктор → Показать или скрыть → Страница свойств (Table Tools | Design → Show/Hide → Property Sheet). что у вас есть таблица Orders (заказы). и удалять значения из любого поля текущей записи. условия на текстовые значения не всегда приятны для глаз. применяя некоторые функции. . большие 1000 или меньшие-1000: >1000 Or < -1000 Создание условия на значение для таблицы Условия на значения всегда применяются к отдельному полю. В разд. Используя ключевое слово And. в которой регистрируются покупки в вашем магазине по продаже фирменных носков с монограммой. Невозможно также различать строчные и прописные буквы.

программа Access может установить разницу межу полями и функциями (например. Рис.Примечание Для таблицы можно создать только одно правило верификации. Обычно в условии для таблицы сравнивается несколько полей. В данном примере правило не допускает доставку заказов до того. В условии на значение для таблицы можно использовать все уже известные вам ключевые слова. Правило верификации может быть трудным для чтения. 3. На вкладке Свойства таблицы задайте Условие на значение. чем используемая в поле DateShipped. а также условие на значение. Таким образом. но ее легко обойти с помощью ключевого слова And (см. Оно аналогично сообщению об ошибке для условия на значение поля. В Окне свойств отображена некоторая информация о таблице в целом. примененные вами на листе данных. При ссылке на поле в условии на значение для таблицы имена полей следует заключать в квадратные скобки. включая параметры сортировки и фильтрации. функцией Date ( ). Это сообщение об ошибке выводится на экран. но при этом работать без сбоев. разд. о которой вы узнали в разд. что в ноле DateOrdered более ранняя дата. если условие не выполняется. Условие на значение [DateOrdered] < [DateShipped] гарантирует. которое вам нужно. "Комбинирование условий на значения" ранее в этой главе) и объединения того количества условий. . как они будут заказаны 2. 4.16. "Задание значений по умолчанию "далее в этой главе). Задайте текст Сообщения об ошибке. Это ограничение может показаться проблемой.

Подсказка После вставки условия на значение для таблицы вы. возможно. Если вы попытаетесь подсчитать наиболее популярные изделия или проверить долгосрочные тренды объемов продаж. А именно. У вас не будет возможности сообщить программе Access о том. — вам просто нужна подстановка. программа считает их разными изделиями. Подстановки.) Все заказы. возникнут неприятности. В таблице Orders у вас есть следующие записи: Quantity (количество) Product (изделие) 10 Frosted Cinnamon Buns 24 Cinnamon Buns with Icing 16 Buns. В этом случае вместо набора вручную названия изделия вы можете выбрать из списка Frosted Cinnamon Buns (глазированные булочки с корицей). они не терпят мельчайших несоответствий. При надлежащем применении это средство решает проблему. Access проверяет условие на значение для таблицы. для этого выберите на ленте Работа с таблицами | Конструктор → Показать или скрыть → Страница свойств. сделавшем заказ. опущены. что в них содержится первоклассная информация. программы управления БД придирчивы и серьезны. Подстановки В БД даже незначительные вариации могут создавать большие неприятности. пекарней многонациональной сети. приведенные в таблице. Подстановки — еще одно средство. Вы не только . Если вы хотите. если вы захотите в дальнейшем проанализировать характеристику реализации (sales performance). то должны быть уверены в том. возникшую в таблице Orders. Эти отличия не создают проблем для простых смертных (например. булочка с корицей. Если данные успешно проходят проверку (и у них правильные типы). означают одно и то же: различные количества вкусных. вы без труда выполните эти заказы).Когда вставляется новая запись программа Access сначала проверяет условия на значения поля. Допустим. которые вы продаете. что Frosted Cinnamon Bun и FCB — одно и то же. захотите закрыть Страницу свойств. позволяют вставить значение в поле из подготовленного списка возможных вариантов. у вас ничего не выйдет. чтобы ваши БД приносили пользу. Примечание Данный пример акцентирует внимание на том. что вы узнали раньше. Но текст в столбце Product слегка отличается. включающая все виды изделий. выпускающей булочки с корицей и имеющей сотни заказов в день. в первую очередь. чтобы увеличить свободное пространство в окне Конструктора. позволяющее стандартизировать ваши данные. вы управляете компанией International Cinnamon. такие как столбец Код и сведения о клиенте. покрытых сахарной глазурью булочек с корицей. Cinnamon (Frosted) 120 FCBs … (В данном примере другие поля.

Гиперссылка и Вложение. Как только выбран описанный вариант. и списки. не нуждающийся в частых корректировках. Примечание Подстановки не поддерживают следующие типы данных: Поле MEMO. Это действие на самом деле не изменяет заданный тип данных. можно воспользоваться таблицей Bachelors (холостяки). 5. Денежный. Откройте таблицу в Конструкторе. базирующийся на текущем типе данных. 4. Можно перейти непосредственно к конечному результату. размещенные в Интернете (см. В данном случае вводится список сокращенных названий 50 американских штатов.экономите время. в которое нужно вставить список подстановок. 4. Убедитесь в том.Щелкните мышью кнопку Далее. 6. что вы хотите запустить мастер Создание подстановки. В таблице Bachelors это поле State. В данном случае это набор 50 двухбуквенных сокращений (AL. разд. . "Поиск в связанных таблицах" главы 5 описывается другой вариант: список подстановок из другой таблицы. Как вы могли заметить. AK.17). 2. заданных вами. Оно лишь сообщает программе Access о том. У программы Access два основных типа списков подстановок: списки с набором фиксированных значений. д. тем самым гарантируя непротиворечивость списка заказов. которые следует использовать по одному в каждой строке (рис.Найдите поле. "Поиск в связанных таблицах" главы 5. Дата/время.accdb. Логический. В разд. В главе 5 вы перейдете ко второму типу.accdb). но и избегаете таких названий. полученные из связанной таблицы.Выберите переключатель Будет введен фиксированный набор значений (I will type in the values that I want). зачем использовать несколько. как создавать список первого типа. если у вас короткий простой список. входящей в примеры к данной главе. Для опробования процесса создания списка. В следующем окне Создание подстановки вы можете ввести список значений. Вы узнаете. 3. просмотрев файл DatingServiceLookup. состоящего из констант Простые списки подстановок имеют смысл. откройте таблицу Bachelors.18). в списке можно заполнить несколько столбцов данных. 1. Создание простого списка подстановок. Пока ограничимся одним столбцом.accdb. как FCB. на экране появляется окно мастера Создание подстановки (рис. Отличным примером может служить список префиксов в адресе. В следующем разделе вы узнаете. Если вы используете файл DatingService. что у поля корректный тип данных. Объект OLE. Подстановки применяются чаще всего для данных Текстового и Числового типов.Выберите в списке типов данных Мастер подстановок. AZ и т. состоящего из перечисленных далее действий. 4. Счетчик. файл БД DatingService.). обозначающих штаты.

Рис. Этот список подстановок содержит сокращенные названия всех американских штатов. 4. установив несколько флажков. а не в другой таблице 7. Сначала вы выбираете источник для ваших подстановок: константы или данные из другой таблицы Рис. поэтому безопаснее хранить его как набор констант.18. Если вы разрешили наличие множественных значений. можно ли хранить в столбце подстановки множественные значения. 4. Он вряд ли будет меняться в ближайшем будущем.17. Щелкните мышью кнопку Далее. . На экране появляется последнее окно мастера Создание подстановки. 8. Укажите. Вы сможете выбрать несколько значений для одной записи. список подстановок отобразит флажок рядом с каждым элементом.

) 9. Гораздо эффективнее хранить список подстановок в отдельной таблице. начало данного раздела) был создан список подстановок. (Вы узнаете больше о выборе нескольких значений и связях между таблицами в главе 5. . Когда вы перейдете в поле со списком подстановок. и на экране появится раскрывающийся список со всеми введенными вами вариантами. использующего другую таблицу В предыдущем примере (см. Это хороший подход. Но можно придумать примеры. подстановка множественных значений позволила бы нам сформировать заказ нескольких изделий. 4. 4. сохранявшийся как один из параметров поля. Создание списка подстановки. Рис. то справа увидите стрелку. но не лучшее решение.19. Щелкните мышью кнопку Готово. Перейдите в Режим таблицы (щелкните правой кнопкой мыши заголовок вкладки и выберите Режим таблицы) и сохраните изменения.В поле State нет смысла разрешать множественные значения — помимо всего прочего физически человек может обитать только в одном штате (не принимая во внимание квантовую телепортацию). На рис. направленную вниз. в таблице Products. Щелкните ее кнопкой мыши. используемой компанией International Cinnamon. Выберите один из них для вставки в поле На профессиональном уровне. Например.19 показана подстановка в действии. в которых наличие множественных значений вполне оправданно.

как это сделать. несмотря на то. Выполните следующие действия. просто корректируя таблицу подстановок. (Все значения расположены в одной строке. служащих ключевым компонентом любой применяемой на практике БД. 2. есть смысл подумать об отдельной таблице. Вы можете игнорировать список подстановок и ввести совершенно другое значение (например. Глава 5 полностью посвящена связям таблиц. 1. отличное от предлагаемого списка. объединяющую две таблицы вместе и (иногда) порождающую новые ограничения. В этой ситуации хотелось бы. не требует изменений. так и в разных). "Поиск в связанных таблицах" главы 5 вы узнаете. . например.Далее приведено несколько доводов в пользу применения отдельной таблицы. содержащее список подстановок. Такой подход позволяет применять список подстановок как удобное экономящее время средство. препятствующим вводу посторонних значений. В Конструкторе перейдите в поле. Это действие защитит вас от ввода значений. В большинстве случаев такая гибкость даже мешает. чтобы список подстановок был так же средством проверки ошибок и верификации. казалось бы. префикс штата ZI). список предоставляет лишь перечень предложений. Задайте значение Да в поле Ограничиться списком (Limit to List). которое при этом не ограничивает ваш выбор. Например. не включенных в список. Например. даже если его нет в списке. набор сокращенных названий штатов в предыдущем разделе. Такой подход устраняет бесконечные операции копирования и вставки. В разд. а отображать полные названия (для облегчения ввода данных). но что. достаточно легко ее добавить после создания списка. • Можно хранить дополнительную информацию. поскольку они включают связь таблицы — ссылку. В таблице Bachelors вы. вы можете хранить сокращенные названия штатов (для почтовых адресов). • Можно вставлять. Добавление новых значений в ваш список подстановок Когда создается подстановка. большинство из которых легче задать в Мастере создания подстановки. хотите помешать людям вводить в поле State что-либо.) 3. В поле Источник строк (Row Source). если служба знакомств выйдет на международный уровень и вам придется добавить канадские провинции в список? • Можно многократно использовать один и тот же список подстановок в нескольких разных полях (как в одной таблице. На вкладке Подстановка представлены параметры для тонкой настройки вашего списка подстановки. использующая константы. возможно. К счастью. В области Свойства поля щелкните кнопкой мыши вкладку Подстановка. Списки подстановок в виде таблиц немного сложнее. Даже если вам кажется. что в Мастере создания подстановки такая возможность по непонятным причинам отсутствует. можно откорректировать список предлагаемых вами значений. редактировать и удалять элементы. что у вас фиксированный неизменный набор значений. заключены в кавычки и отделяются друг от друга точкой с запятой.

1.20. вы можете вставить новое значение на лету (рис. в котором можно откорректировать значения из списка подстановок и изменить значение по умолчанию . Можете выбрать значение Да в поле Разрешить изменение списка значений (Value List Edits). 4.20). 4. ЕСЛИ задать значение поля Разрешить изменение списка значений. Рис. Щелкните ее кнопкой мыши. во время применения списка подстановок появится пиктограмма (слева). равным Да. Это действие позволит корректировать значения списка в любое время. и на экране откроется диалоговое окно Изменение элементов списков (справа). Если в списке подстановок что-то пропущено.

если вы хотите получить ответ на обычный вопрос (например. Допустим.Глава 5 Связывание таблиц с помощью отношений Таблицы. В хорошо спроектированной БД процесс завершается созданием большого числа таблиц. Во всех этих таблицах — Products. Для того чтобы лучше понять отношения (отнюдь не романтический их вариант). Orders. а другой решает эту проблему за счет надлежащего использования отношения или связи. вы намерены создать БД. На основании полученных вами знаний вы уже можете разработать проект такой БД. таких как противоречивость данных. В практических БД таблицы соединены друг с другом паутиной связей. В реальных БД не найти подобной изоляции. независимо друг от друга. способную управлять продажами в вашем магазине изделий из бисера. Но связи порождают возможность противоречивой информации. Shipments. рассмотрим пример. Кроме того. которые вы видели до сих пор. Но для продолжения вам придется собрать множество дополнительной информации. Проданные изделия из таблицы Products учитываются в таблице Orders (заказы). А если несоответствие проникнет в БД. как явно устанавливать связи между таблицами. Customers и Invoices — содержатся порции связанной информации. В результате. он предоставляет мощное средство просмотра связанной информации в нескольких таблицах. чтобы получить всю нужную информацию. Товары из таблицы Orders посылаются по почте и фиксируются в таблице Shipments (поставки). придется заглянуть в несколько таблиц. что в каждой из них записано что-то свое. Первая составляющая достаточно проста — таблица Products (изделия). Люди из таблицы Customers (клиенты) регистрируются в таблице Invoices (счета). Этот процесс позволит избежать распространенных ошибок. вам часто придется путешествовать из одной таблицы в другую для того. Несмотря на то. "Сколько должна Джейн Мэлон (Jane Malone)?" или "Сколько париков из бисера продано на прошлой неделе?"). . В данной главе вы узнаете о том. "жили" уединенно. Основы отношений между таблицами Одна из основных целей любой БД — разбить информацию на четкие управляемые порции. В следующем разделе представлены два способа добавления данных в БД о куклах-болванчиках: в одном есть риск избыточных данных. как прежде. вы уже не сможете доверять ей. сделанных на заказ. в которой перечислены ваши товары.

что это достаточно простая деталь.Manufacturer.75 344 Tiger Woods MagicPlastic China 2003 No $2. возможно. Несмотря на то.2). в этом примере кроется другая проблема — избыточные данные. Храпите все детали в одном месте" главы 2.) Пусть громоздкость вас не беспокоит. что обилие столбцов — не повод для беспокойства. Сведения об изготовителе ID Character Manufacturer Manufacturer. созданной в главе 1 для хранения списка кукол-болванчиков. Таблица 5. 5.99 S28. изготовившей каждую куклу. Если вы ленивы. изготовленные одной компанией (в данном случае MagicPlastic). обеспокоит загроможденность таблицы всеми этими полями. как долго она существует и вынуждена ли отбиваться от судебных исков разъяренных покупателей. Сведения о производителе после добавления строк ID Character Manufacturer ManuManufacturer. 5. вы захотите узнать. как показано в табл. то можете вставить всю эту информацию в таблицу Dolls так.1 (затемненные столбцы — новые). вы введете дублирующиеся данные — беда всех плохих БД. все окажется не столь безобидно (табл. но если добавить несколько новых строк. в котором записано имя компании. что для точной оценки стоимости куклы-болванчика вам понадобится немного больше информации о процессе изготовления. Можно воспользоваться такими средствами. разд. описанное в разд. которые вас не интересуют. как скрытие столбцов (см. "Правило 3. (Их можно распознать как нарушение правила № 4 хорошего проекта БД.Избыточные данные в противоположность связанным Вернемся к таблице Dolls.99 В первый момент вас. поэтому они порой сильно разрастаются.1.99 Как только у вас появятся две куклы-болванчика. описанного в .ManuLocation OpeningYear facturerLawsuits 34 Yoda 2 MagicPlastic China 2003 No Purchase-Price $8. Не волнуйтесь — это жизнь. где находится компания-изготовитель. "Скрытие столбцов " главы 3) для устранения полей. Возможно.ManufacturerfacturerOpeningYear Lawsuits Location PurchasePrice 342 Yoda 343 Dick Cheney MagicPlastic Rebobbiicans China Taiwan 2003 2005 No No S8. в таблицы должны быть включены все важные детали. Таблица 5.2. может оказаться. Подобная ситуация кажется невинной. Одна из порций информации данной таблицы — поле Manufacturer (изготовитель). Несмотря на то что. (Это правило проектирования БД.

5. вам придется обновлять вашу таблицу Dolls и корректировать каждую отдельную запись. ■ Если компания MagicPlastic переводит свои предприятия из Китая и Южную Корею. как показано в табл. и поэтому нельзя ничему верить. Данные в таблице Manufacturers ID Manufacturer Location OpeningYear 1 MagicPlastic China 2003 2 Rebobbitcans Taiwan 2005 Lawsuits No No Этот проект позволяет легко работать отдельно с двумя типами информации (куклы и изготовители). вы потерпите неудачу. Избегайте дублирования данных" главы 2. как хотелось бы). вам не удастся распечатать список всех изготовителей кукол-болванчиков в Китае (по крайней мере. Данные в таблице Dolls ID Character Manufacturer 342 Yoda MagicPlastic 343 Dick Cheney Rebobblicans PurchasePrice $8. Проблема вполне очевидна. « Если вы хотите хранить в вашей БД еще больше сведений. и отдельную таблицу Manufacturers с подробными данными об изготовителях (табл. Если вы использовали две таблицы со связанной информацией (как вы увидите далее). не так легко. Для исправления этого проекта нужно создать две таблицы со связанными данными. в какой записи верные данные. но в таблице с сотнями или тысячами записей о куклахболванчиках (и намного меньшим числом изготовителей) разница весьма существенна. можно сформировать таблицу Dolls. которые еще хуже.3. 5. то столкнетесь с противоречивыми данными в вашей таблице. вам придется бороться только с одной записью. которую лучше всего хранить в двух отдельных таблицах.4. Если вы допустили такую ошибку. поскольку неизвестно.99 MagicPlastic Таблица 5. Ваша семья может вас не увидеть в течение нескольких недель. касающихся изготовителя (например. Он также устраняет риск дублирования. "Правило 4.75 344 Tiger Woods $2. что ваши сведения об изготовителе обесценятся. Из-за желания хранить слишком много подробностей в одном месте в одной таблице объединяется информация. контактный телефон). Например. вместо множества экземпляров в перегруженной . В данном простом примере преимущества незначительны.99 $28.) Потенциальные проблемы нескончаемы. чем дублирующаяся информация.4). ■ Если же понадобится информация об изготовителях (а не о куклах). Например.3. вам нужно обновить данные поля Location только в одной записи. ■ Крайне легко обновить информацию об изготовителе в одной записи о кукле-болванчике и пропустить ее в другой. Теперь если компания MagicPlastic переезжает в Южную Корею.разд. Существенно то. Таблица 5. вам нужно обновлять целую группу записей о куклах-болванчиках.

(Например. Верный его признак — две таблицы с одинаковыми полями. которая вас интересует (скажем. сколько потратили на всех кукол от компании MagicPlastic. ■ У двух изготовителей одно и то же название компании. выберите куклу.таблице Dolls. выявления дублирующихся данных и с самого начала создание хорошо спроектированных БД. Такой выбор кажется оправданным в данном проекте — до тех пор. ■ Начиная с таблицы Manufacturers. данное средство не слишком полезно. существующее и в таблице Dolls. Специалисты по проектированию БД известны тем. найдя название компании "MagicPlastic" в таблице Manufacturers. вы сможете подсчитать. если вам понятна проблема дублирования данных. связывающих две таблицы. и сравнить эту сумму с затратами на кукол. созданных другими компаниями. компания Rebobblicans). Связывание с помощью столбца Код (ID) В предыдущем примере таблицы Dolls и Manufacturers связаны друг с другом полем Manufacturer. В данном случае такой объект — поле Manufacturer. В данном случае есть две потенциальные проблемы. пока вы не задумаетесь на пару минут о возможных ошибках. что тратят недели на обдумывание неотвратимых бедствий. что теоретически это хорошая идея. Другими словами. Yoda (Йода)). Как узнать. в котором хранится имя компании-изготовителя. позволяя задавать больше вопросов. и у него изменилось название. ■ Начиная с таблицы Dolls. и получать более полные ответы. С помощью этих связанных полей можно начать с записи в одной таблице и затем найти связанную информацию в другой таблице. выберите изготовителя (скажем. Вы можете найти все изделия этого производителя с помощью поиска названия "Rebobblicans" в таблице Dolls. касающихся ваших данных. взаимосвязь таблиц предоставляет больше гибкости. пытающееся отследить дублирующиеся данные в таблице и помочь вам разделить поля на две связанные таблицы. одно и то же имя Manufacturer в обеих таблицах. Далее объясняется принцип действия. Совпадающие поля: связующее звено отношения Данная БД о куклах-болванчиках — пример отношения. что у них один тип данных. которые нуждаются в корректировке. Вы также гораздо легче сможете формировать запросы (см. . какая из компаний сделала куклу? ■ Изготовитель куплен другой компанией. Внезапно появляется длинный список записей из таблицы Dolls. У таких полей могут быть разные имена при условии. Вы получите дополнительную информацию о производителе куклы Yoda. Но это не обязательно. главу 6). и в таблице Manufacturers. Примечание В приведенном примере у полей. Гораздо полезнее. объединяющие данные подходящими и удобными способами.) Примечание В программу Access включено средство. (Для знакомства с ним выберите Работа с базами данных → Анализ → Анализ таблицы (Database Tools → Analyze → AnalyzeTable)) Несмотря на то.

как применять подстановки. "Запросы и связанные таблицы" главы 6). (Вы узнали. указывающий на нужную запись. когда речь шла о выборе первичного ключа (см. не знает кодов всех изготовителей. "Поиск в связанных таблицах" далее в этой главе. а также позволяют выбрать изготовителя из списка в тот момент. 5. содержащее код (ID number).Возможно.99 Если вы вернетесь назад и посмотрите на таблицу Manufacturers (см. Как вы уже знаете. генерируемый программой Access. Вот чем объясняется такая аналогия. то быстро обнаружите.  когда смотришь на таблицу Dolls. с которыми вы сталкивались. поэтому можно отобразить их бок о бок. "Создание простого списка подстановок. "Первичный ключ "главы 2). Как вы. возможно. что тот же подход применяется при связывании таблиц. Для ссылки на запись в другой таблице не следует использовать любую порцию данных — вместо этого нужно применять уникальный код.75 $2. знаете. вы узнали эти проблемы. Подстановки отображают соответствующие сведения об изготовителе в таблице Dolls. Вместо риска возникновения проблем надежнее положиться на поле с типом данных Счетчик. разд.5 приведена переконструированная таблица Dolls. когда добавляется запись или корректируется поле ManufacturerlD. поскольку они аналогичны тем. Для решения обеих проблем воспользуйтесь подстановкой. 5.4). вставляющий записи в таблицу Dolls. ставшая более корректной за счет замены поля Manufacturer полем ManufacturerID. Интересно. кем изготовлена каждая кукла. Данные в таблице Dolls после ее реконструирования ID Character ManufacturerlD PurchasePrice 342 Yoda 1 $8. А у ребенка только один "комплект" . сведя вместе связанные таблицы.) Подсказка Еще больше возможностей предоставляет запрос-объединение ( join query ) (см. О том. в реальной жизни у родителя может быть любое количество детей. состоящего из констант" главы 4. В табл. Отношение типа "родитель . табл. разд.99 343 344 Dick Cheney Tiger Woods 2 1 $28. такие как Dolls и Manufacturers. Этот проект — универсальный стандарт БД. это не окольный путь в психологию положительных эмоций доктора Фила (Dr.5. гарантированно уникальные и неизменные. Таблица 5. нельзя сказать. Фанаты БД применяют обозначения "родитель" и "потомок" для идентификации двух таблиц в отношении и определения каждой из них. Он может предоставить все подробные сведения об изготови теле наряду с данными о кукле. будет рассказано в разд. вне всякого сомнения.потомок" Нет-нет. как использовать подстановки со списками констант в разд. Но у него есть два явных недостатка: ■ пользователь. что изготовитель с кодом или идентификационным номером 1 — это компания MagicPlastic. Phil). трудно найти данные.

что программы. Применение отношений Отношение. Подсказка Если возникают трудности при определении родительской таблицы. в БД о куклах-болванчиках можно создать изготовителя. Неправильно считать таблицу Dolls родительской. Но каждая запись о кукле ссылается на единственного изготовителя. Вместо этого они почти всегда определяют устанавливаемые связи явно. как взаимосвязаны две таблицы. что такое допущение разрушает аналогию "родитель — потомок": у любой куклы не может быть более одного изготовителя и производитель не ограничивается созданием одной куклы. — это означает. родитель без детей). Примечание Отношения настолько распространены в современных БД. в таблице Manufacturer нет никаких данных о куклах. Во избежание проблем и всякого рода туманных измышлений необходимо четко представлять. Она неидеально соответствует биологической реальности. как морской курорт в Огайо. подразумеваемая или неявная. Подсказка Не относитесь слишком серьезно к аналогии "родитель — потомок". a Dolls — дочерняя таблица или таблица-потомок. Это же правило действует и в БД. Подобная организация не устраивает проектировщиков БД. в соответствии со странными социальными законами в мире БД Manufacturers — родительская таблица или таблицародитель. В БД о куклах-болванчиках единственная запись изготовителя может быть связана с любым количеством записей о куклах. Например. но не единственное — о двух других типах отношений вы узнаете в разд. не связанного ни с какой куклой {другими словами. С другой стороны.родителей. существует простое правило. термин "отношение родительпотомок" вы слышите нечасто. Вы можете заметить. а многие — детей. Этот же тип связи называют отношением "один-ко-многим" (где один представляет родителя. а таблицу Manufacturers — дочерней. что нельзя поменять местами таблицу-родитель и таблицу-потомок без изменения отношения между ними. направляющее в нужное русло. Вы все равно назовете такую запись родительской. часто называют системами управления реляционной базой данных (СУРБД. подобные Access. В БД о куклах-болванчиках таблица Dolls содержит поле ManufacturerlD. какая таблица — родитель. Итак. БД без отношений так же часто встречается. В дочерней таблице всегда содержится порция идентифицирующей информации из родительской таблицы. вы явно сообщаете Access о том. Важно понять. хорошо разбирающиеся в БД. Обе таблицы связаны отношением "родитель—потомок". поскольку она — часть таблицы-родителя. Если у вас есть друзья. что вы знаете о существовании связи. "Отношение "один-к-одному"" и "Отношение "многие-ко-многим"" далее в этой главе. или связь между Dolls и Manufacturers. поскольку единственная родительская запись в одной таблице может быть связана с несколькими дочерними записями в другой). а программа Access нет. Программа сохраняет сведения об этой связи в файле БД. RDBMS). Это самое распространенное отношение. а какая — потомок. Когда создается явная связь. .

Определение отношения Приведенные далее действия можно выполнить. находящиеся в разных таблицах. После вставки этого поля следует заполнить его правильными данными. включенный в примеры к данной главе. чтобы поле соответствовало полю ID в таблице Manufacturers.accdb. Далее перечислены действия. разд. используя файл Bobblehead. Рис. "Первичный ключ" главы 2). Любое отношение связывает два поля. Имеет смысл вставить новое поле ManufacturerlD. Но сначала необходимо научиться определять связь.) В данном примере дочерняя таблица — Dolls. которое следует использовать. Задайте тип данных Числовой и размер поля Длинное целое. (Самый быстрый способ — щелкнуть правой кнопкой мыши таблицу в Области переходов и выбрать строку Конструктор. 1. В файле БД BobbleheadRelationships. Файл содержит таблицы Dolls и Manufacturers в первоначальной форме (без определенных отношений).) .accdb представлен окончательный продукт: две таблицы с корректным отношением. После того как программа Access узнает о них. 5. В хорошо спроектированной БД в родительской таблице применяется поле первичного ключа (см. Вы познакомитесь со всеми этими средствами в следующих разделах. Например. в таблице Manufacturers используется поле ID. Откройте дочернюю таблицу в Конструкторе. Она также может предоставить удобные средства просмотра связанных данных и корректировки связанных полей. (В записи для каждой куклы следует указать идентификационный номер соответствующего изготовителя. Сначала нужно определить в родительской таблице поле. или отношение.У вас есть серьезные основания открыть ваши связи. необходимые для определения связи или отношения. размещенные в Интернете. В таблице Dolls должно быть поле. она может лучше отслеживать ошибки. однозначно определяющее каждого изготовителя.1. определяющее изготовителя данной куклы. 2.

Прежде чем программа Access разрешит вам работать на вкладке Работа со связями. но эту вкладку можно применять для формирования множества связей. Программа Access предложит сохранить внесенные изменения. не годится при заполнении поля ManufacturerlD в таблице Dolls. Выберите Работа с базами данных → Показать или скрыть → Схема данных (Database Tools → Show/Hide → Relationships). запрашивая необходимые вам для работы таблицы (рис. В данном примере вы создадите единственную связь. как показано на рис. Вы должны вставить новое поле для хранения этой информации. Это специализированное окно. На диске типы Счетчик и Длинное целое в действительности хранят одинаковые данные. Теперь ваши таблицы готовы к установке связи. чтобы не вставить одну и ту же таблицу дважды (это не нужно и вводит в заблуждение) . Создайте нужное вам поле в таблице-потомке. 5. сохраняя порцию данных. если его еще нет.2). 4. когда вы создаете запись. которые вы связываете в родительской и дочерней таблицах.1. Каждая дочерняя запись создает ссылку. указывающую на запись в таблице-родителе. Примечание У полей. Рис. Это поведение. Следите за тем. а поле дочерней таблицы должно быть Числового типа (с размером поля Длинное целое).3. очевидно.2. На вкладке Работа со связями можно отобразить сколько угодно таблиц. она выведет на экран диалоговое окно Добавление таблицы (Show Table). Программа Access откроет на ленте новую вкладку Работа со связями (Relationships). Но тип Счетчик. сообщает программе Access о необходимости заполнения поля новым автоматически генерируемым значением. должны быть совместимые типы данных. Но существует небольшое затруднение. 5. Закройте обе таблицы. В поле родительской таблицы используется тип данных Счетчик. 5. 5. в котором можно определить связи между всеми таблицами вашей БД.

они отображаются как соединительные линии. 7. Вставленные таблицы можно переместить с помощью мыши в любое место окна. Порядок указания таблиц не важен. . 5. Если между таблицами уже определены связи. Щелкните мышью кнопку Закрыть (Close). Теперь можно разместить таблицы на вкладке Работа со связями (рис. Для удаления таблицы из схемы данных щелкните ее правой кнопкой мыши и выберите команду Скрыть таблицу (Hide Table). Для выбора таблицы укажите ее в списке и щелкните мышью кнопку Добавить (или просто дважды щелкните кнопкой мыши имя таблицы). Для вставки другой таблицы щелкните правой кнопкой мыши свободное пространство и выберите команду Добавить таблицу для вывода на экран диалогового окна Добавление таблицы Подсказка Программа Access позволяет быстро изменить структуру таблицы. Любая таблица на вкладке Работа со связями отображается в виде небольшого прямоугольника.3).3. Вставьте в рабочую область таблицу-родитель и таблицу-потомок. На этой вкладке отображается схема данных — это холст. открытую на вкладке Работа со связями. на котором вы "рисуете" устанавливаемые связи Рис. чтобы были четко видны все связи. Если в вашей БД много связей.6. данная возможность позволит упорядочить таблицы таким образом. в котором перечислены все поля таблицы. Просто щелкните правой кнопкой мыши прямоугольник нужной таблицы и выберите команду Конструктор таблиц. 5.

Перетащите это поле на поле в таблице-потомке. . Если в диалоговом окне Изменение связей что-то не так. вы можете поменять местами таблицы или заменить поля. а остальные флажки оставить сброшенными. используемые для создания связи 9. запрещающую внесение изменений. 5.4. Она идентифицирует поле в родительской таблице. ссылающейся на несуществующего изготовителя). 10. 5. Это действие создаст связь. Подсказка Можно перемещать и по-другому (из потомка в родителя). Щелкните мышью кнопку Создать (Create). Она появляется на схеме в виде линии (рис. Программа Access способна правильно определить таблицу-родитель (показанную в поле Таблица/запрос (Table/Query)) и таблицу-потомок (показанную в поле Связанная таблица/запрос (Related Table/Query)). 5. прежде чем продолжить. Для определения связи найдите поле. Вы узнаете больше о целостности и двух параметрах для каскадных изменений в следующем разделе.4). включение в таблицу куклы.) Этот параметр включает улучшенную проверку ошибок. поскольку у нее есть первичный ключ или уникальный индекс. В любом случае программа Access создает одинаковую связь. Пока лучше установить флажок Обеспечение целостности данных. Рис. установите флажок Обеспечение целостности данных (Enforce Referential Integrity). (Это всегда хорошая мысль. переместите поле ID (в прямоугольнике Manufacturers) на поле ManufacturerID (в прямоугольнике Dolls). или отношение. с которым вы хотите его связать. когда вы соединяете два поля. Когда вы отпустите кнопку мыши. Итак.8. на экране появится диалоговое окно Изменение связей (Edit Relationships) (рис.5). способных нарушить правила связи (например. В данном случае поле ManufacturerID в таблице Dolls (потомок) связывается с полем ГО в таблице Manufacturers (родитель). которое используется в таблице-родителе. Если вы хотите предотвратить возможные ошибки. соединяющую две таблицы.

установив флажок Обеспечение целостности данных. 5. (Вы можете щелкнуть мышью кнопку в правом верхнем углу вкладки или выбрать Работа со связями │ Конструктор → Связи → Закрыть. Неважно.Подсказка Если вы установите флажок Обеспечение целостности данных (см. и вы сможете использовать ее тем же способом. в следующий раз при переходе на вкладку Работа со связями (при выборе Работа с базами данных → Показать или скрыть → Схема данных) вы увидите ту же структуру таблиц. Это функциональная возможность удобна. Закройте вкладку Работа со связями. откорректировать неверные данные и позже отредактировать связь. пункт 9). Программа Access соединяет линией связанные поля на вкладке Работа со связями. хотите ли вы сохранить макет вкладки Работа со связями. . Рис.5. маленькие значки 1 и бесконечность (∞) дают возможность в данном отношении "один-ко-многим" различить стороны "один" и "многие". Единственное различие заключается в возможности быстрого просмотра или редактирования связи на вкладке Работа со связями. Для того чтобы полностью удалить ее. В этот момент лучшая стратегия — создать связь без обеспечения целостности.) Программа Access спросит. их нарушающие. программа Access проверит все имеющиеся в таблице данные на соблюдение правил связи. щелкните дважды кнопкой мыши линию связи и выберите команду Удалить 11. Если обнаружатся данные. программа предупредит вас о проблеме и откажется продолжать. созданной вами. Для редактирования связи дважды щелкните кнопкой мыши линию связи. Если вы выберете сохранение схемы данных. связь останется в БД. На самом деле речь идет о сохранении схемы данных. что вы выберите.

пока не включенными ни в какие связи. какими они их оставили. представляющую связь. Редактирование связей Когда вы в следующий раз захотите изменить или добавить связи. Но реальные БД часто обрастают запутанной паутиной связей. Созданные связи можно редактировать. включая добавление нужных вам таблиц и организацию их в окне (хотя вам не придется повторно переопределять связи). Если в меню нет команды Изменить связь. (Это делается легким щелчком пальца но кнопке мыши. в следующий раз вашей задачей будет повторное создание схемы. поскольку хотят видеть все свои связи на вкладке Работа со связями такими. Как вы уже знаете. включающих связи. самое время узнать. Если выбрано сохранение схемы данных. относящихся к целостности данных на уровне ссылок (referential integrity) или ссылочной целостности. созданные вами ранее. их можно добавить в схему. отметьте ее и затем выберите Работа со связями | Конструктор → Связи → Прямые связи (Relationship Tools │ Design → Relationships → Direct Relationships) для вывода на экран таблиц. Как и в реальном мире. ■ добавьте таблицу на схему. вы должны тем же способом вызвать на экран окно Работа со связями (выберите Работа с базами данных → Показать или скрыть → Схема данных). в каком вы их оставили. щелкнув правой кнопкой мыши где-нибудь на свободном пространстве и выбрав команду Добавить таблицу. вставленные вами таблицы появятся автоматически в том виде. ■ выберите Работа со связями | Конструктор → Связи → Все связи (Relationship Tools | Design → Relationships → All Relationships) для отображения всех таблиц. какие преимущества вы приобретаете. В такой ситуации вы можете отказаться от сохранения всей схемы и сможете сосредоточить внимание на нескольких таблицах. Целостность на уровне ссылок Теперь. для создания новых связей можно использовать вкладку ленты Работа со связями. Подсказка Многие профессиональные проектировщики БД предпочитают сохранять схему данных. связанных с данной таблицей. Для этого щелкните правой кнопкой мыши линию. Этот процесс немного более трудоемкий. отношения налагают некоторые ограничения.) Для удаления связи щелкните кнопкой мыши линию связи и выберите команду Удалить.Если вы откажетесь от сохранения схемы данных. о которой вы узнаете в следующем разделе. Если вы хотите поработать с таблицами. В мире . Если вы решили сохранить схему данных (в пункте 11 предыдущего раздела). вы можете использовать несколько приемов быстрого возвращения ваших таблиц на экран: ■ перетащите ваши таблицы прямо из Области переходов на вкладку Работа со связями. Примечание Обычно редактирование связи заключается в изменении параметров. когда вы собрались определять связи. вы просто не попали на линию связи. и выберите команду Изменить связь (Edit Relationship).

чтобы все изготовители.4). Пропущенные значения в несвязанных записях Важно понимать. ни при каких обстоятельствах не должно быть записи о кукле-болванчике. которую вы можете выполнить. — отсутствие записи об изготовителе в БД или отсутствие приемлемой информации. ссылающейся на несуществующего изготовителя. только если у вашей связи установлен флажок Обеспечение целостности данных (см. ■ удаление изготовителя. Без этой детали вы можете безумствовать и вводить противоречивые данные. если вы используете поле типа Счетчик. на которых вы ссылаетесь в таблице Dolls. кукла-болванчик была создана не каким-то изготовителем. не нарушая целостности данных: создание записи о кукле. вы останетесь с куклой. для которых нет соответствующих записей о куклах — в итоге вполне резонно вставить запись об изготовителе. Единственная причина. ссылающейся на несуществующего изготовителя. если вы добавляете записи о компаниях-изготовителях. Никаких проблем не возникает. ссылающейся на несуществующего изготовителя). Наряду с этими ограничениями программа Access также не разрешит удалить таблицу. В примере с куклами-болванчиками целостность данных требует. заключающуюся в изменении его кода (идентификационного номера).) Примечание Если нужно вставить сведения о новой кукле. а затем — таблицу. Эта установка . сделанной новым изготовителем. по которой это поле может остаться пустым. ■ корректировку записи об изготовителе. поскольку вы не сможете изменить значения этого типа после создания записи. рис. Для усиления влияния этого правила программа Access запрещает следующие три действия: ■ добавление куклы-болванчика. Может быть. Это произойдет. Просто задайте в таблице Dolls свойство поля Обязательное для ноля ManufacturerlD.БД эти правила называются целостностью данных на уровне ссылок. участвующую в связи. следует сначала добавить запись об изготовителе и потом запись о кукле. Примечание Целостность на уровне ссылок вступает в действие. были включены в таблицу Manufacturers. Все вместе они гарантируют постоянную непротиворечивость связанных данных. Если эта лазейка из пропущенных значений вас нервирует. Другими словами. Этот сорт ошибок мог бы вызвать тяжелейшие сбои программы управления БД. что есть одна операция. (Такая модификация не проблема. не ссылающейся ни на какого изготовителя. а высокоразвитой инопланетной цивилизацией и оставлена на этой планете для изучения вами. если поле ManufacturerlD останется пустым (педанты БД называют такое значение неопределенным (null value)). 5. на которого ссылаются одна или несколько записей о куклахболванчиках (если такую запись удалить. ее можно устранить. в результате чего он перестает совпадать с кодом изготовителя в связанных записях о куклах-болванчиках. Нужно сначала удалить связь (используя окно Работа со связями). даже если у вас нет пока сделанных им кукол.

Если вы сделаете это. на которую вы хотите сослаться. Полной записи о клиенте может не быть в вашей копии БД — вместо этого она может храниться в одной из БД на другой площадке или в главном управлении компании. установив данный флажок. программа Access считает. Слишком легко удалить больше записей. если нет связанной записи. Напоминаю. что целостность на уровне ссылок препятствует проникновению противоречивых данных. рис. вы добавляете запись в таблицу Orders и заполняете поле CustomerlD (код клиента) (которое ссылается на полную запись в таблице Customers). использующих одну и ту же БД на разных площадках. Несмотря на то. чтобы иметь возможность вставить запись. Отключение обеспечения целостности данных Бывают ли такие ситуации.4). Часто задаваемый вопрос. Вы можете выбрать удаление всех связанных дочерних записей при удалении записи-родителя. чем было намечено. Торгующая компания не сможет поместить заказ или создать счет без ссылки на клиента. что вы допустили ошибку. чтобы избежать ошибок в дальнейшем. Предупреждение Каскадные удаления рискованны. в которой вы можете решить увильнуть от соблюдения правил целостности на уровне ссылок. когда не следует требовать целостности на уровне ссылок? В большинстве случаев целостность данных — это окончательная проверка безопасности БД. Например. Единственная ситуация. В этом случае вы можете отключить обеспечение целостности данных. Когда клиент делает заказ на площадке в центре города. и никто не захочет от нее отказаться — особенно. — использование частичных копий вашей БД. Обновить связь можно и позже. Рассмотрим очень успешную компанию. если в БД включена информация для решения критически важных задач вашего бизнеса. Еще хуже то. на которую ссылаются дочерние записи. Для включения этого варианта при создании связи вы должны установить флажок каскадное удаление связанных записей (Cascade Delete Related Records) (см. это позволит вам удалить изготовителя и ликвидировать всех кукол. 5. Каскадное удаление Правила целостности решительно останавливают вас при попытке удалить родительскую запись (такую как сведения об изготовителе). что связь в таблице Orders правильная. . Но есть и другой вариант — гораздо более радикальный. а если это сделать — пути назад нет. Подобный прием важен. если связанная информация обязательна. что команда Отменить (Undo) не сможет вам помочь отменить это изменение. Обычно это происходит на крупных предприятиях. торгующую выпечкой на шести площадках. Вот тут-то и возникает проблема. Она пропускает пустые поля. поскольку она не может найти соответствующую запись о клиенте. произведенных им. будьте особенно внимательны при вводе связанного значения (в данном примере CustomerID). Поэтому действуйте с осторожностью.обеспечит каждую куклу-болванчика в вашей таблице Dolls законным изготовителем. сделавшего заказ.

В БД кукол-болванчиков каскадное обновление позволяет изменить ID одного из изготовителей. вы все равно сможете удалять связанные записи до тех пор. Если не устанавливать флажок каскадное удаление связанных записей. пока не нарушите правильный порядок действий. Рис.6. Без каскадного обновления вы не сможете изменить ID изготовителя. Пользуйтесь каскадным удалением с осторожностью Средство каскадное удаление связанных записей — ядерное оружие БД. Гораздо лучше изменить запись о клиенте. нет смысла удалять сведения о его выплатах. Access копирует любое изменение.После установки этого флажка режим можно опробовать. Поскольку. После выполнения этого шага вы сможете без проблем удалить запись об изготовителе. Если нужно удалить изготовителя. используя . 5. если есть связанные с этим значением записи о куклах. если вы следуете правилам хорошего проектирования БД. 5. указав для них другого изготовителя (или вообще удалив изготовителя) с помощью корректировки значений ManufacturerlD. Если вы выбрасываете клиента из БД. программа Access предупреждает о том. что каскадные удаления — всего лишь удобное средство. Access автоматически включает новое значение в поле ManufacturerID всех связанных записей таблицы Dolls. но они редко нужны. Когда удаляется изготовитель. Они не содержат новых функциональных возможностей.6. Как только вы изменили ID. во все дочерние. сделанное вами в связанном поле родительской записи. пометив ее как неиспользуемую в дальнейшем. поэтому хорошенько подумайте. как показано на рис. которые на самом деле нуждались всего лишь в корректировке. чтобы пометить расчеты клиента как не используемые в настоящий момент вместо удаления записи. Если включить этот режим (установив флажок каскадное обновление связанных записей (Cascade Update Related Records) в диалоговом окне Изменение связей). что в действительности вы удалите девять записей Для тех. удалив изготовителя. Можно добавить в запись о клиенте поле Active (действующий) логического типа и задать в нем значение Нет для того. вы устанавливаете связь. Каскадные обновления Программа Access также позволяет задать каскадное обновление. Каскадные обновления безопаснее каскадных удалений. которые нужны для вычисления вашей общей прибыли. Вы также должны помнить. кто понимает. начинайте с удаления всех связанных с ним кукол-болванчиков или измените записи о куклах. В данном примере отношение Dolls—Manufacturers использует установленный флажок каскадное удаление связанных записей. необходимо ли оно вам. Этот режим позволяет очень легко удалить записи.

и каскадное обновление вам никогда не понадобится. Подтаблицу можно использовать для редактирования записей о куклах прямо в этом окне так. вам нужны каскадные обновления — они гарантируют согласование значений дочерних записей при изменении имени изготовителя. "Счетчик" главы 2).7). как создавать процедуры поиска. Переходы в отношении Отношения не только помогают вылавливать ошибки. Программа Access не разрешает корректировать значение типа Счетчик. расположенный у левого края строки (рис. Каскадные обновления также полезны. Если вы просматриваете таблицу-родитель на листе данных. серийного номера или других кодов. "Запросы и связанные таблицы" главы 6 вы узнаете. Рис. разд. если записи связываются с помощью номера социального обеспечения. Можно даже добавлять новые записи. (Счетчик однозначно идентифицирует запись и не связан ни с каким реальным объектом. в которой не предусмотрено применение для связи значений Счетчик. . в которой отображаются только связанные записи (рис. щелкнув кнопкой мыши квадратик со знаком "плюс". Но даже без этих инструментов Access демонстрирует магию связей на листе данных.8). В разд. будто вы работаете на листе данных с полной таблицей Dolls. то можете найти все связанные дочерние записи. каскадные обновления очень пригодятся. если вы работаете с таблицей. 5. которые не генерируются автоматически и могут быть объектами корректировок.) С другой стороны.7. Хотите узнать. шифра компонента. Вот как она действует. 5.столбец ID с типом данных Счетчик (см. Если таблицы Dolls и Manufacturers связаны именем изготовителя. какие у вас есть куклы от MagicPlastic? Просто щелкните кнопкой мыши квадратик со знаком "плюс" (обведенный) Этот щелчок раскрывает подтаблицу. 5. Они облегчают просмотр связанных данных. собирающие вместе информацию из связанных таблиц.

На самом деле подтаблица — это отфильтрованная версия обычной таблицы Dolls. какую таблицу использовать как подтаблицу. Единственное ограничение — записи подтаблицы не выводятся при печати листа данных (см. или Invoices для того. Когда программа Access не знает. как и у листа данных связанной таблицы Примечание Вы можете открыть одновременно столько подтаблиц. В данном случае только два варианта имеют смысл. Рис. У подтаблицы те же параметры форматирования (шрифт. Когда в списке выбрана нужная таблица.8. Access автоматически заполняет связанными полями области в нижней части окна. 5. цвета. чтобы увидеть заказы клиентов. чтобы вывести счета клиентов.Рис. В ней отображаются только записи. 5. она разрешает вам выбрать ее из списка всех ваших таблиц. связанные с выбранным изготовителем. разд. Теперь для продолжения можно щелкнуть мышью кнопку ОК . Выберите Orders для того. порядок столбцов).9. "Печать листа данных" главы 3). сколько захотите.

которая сама служит родителем для другой таблицы. то обнаружите. Если вы передумали впоследствии. программа Access не знает. Одна таблица-родитель может быть связана с таблицей-потомком. которую вы хотите использовать. Таблица Customers — родитель для таблицы Orders (в которой перечислены все заказы. какую таблицу выбрать. Таблица Orders — родитель для таблицы OrderDetails (в которой приведены конкретные компоненты каждого заказа). Когда вы создадите более детально проработанные БД. придется настраивать табличные параметры. 5. как описано в примечании "Практические занятия для опытных пользователей. Здесь показаны две действующие связи. и т. что именно купил каждый клиент Практические занятия для опытных пользователей. . сделанные клиентом). которая связана с таблицей-потомком с заказами клиентов (Orders) и с таблицей. Изменение параметров подтаблицы Вы можете отрегулировать несколько дополнительных параметров.9). вы создали таблицу Customers. Страница свойств отображается в правой части окна.Таблица-родитель может быть связана с несколькими таблицами-потомками. Когда вы щелкаете кнопкой мыши квадратик со знаком "плюс".10. 5.10). влияющих на способ отображения в таблице ваших подтаблиц. д. Затем выберите на ленте Работа с таблицами │ Конструктор → Показать или скрыть → Страница свойств (конечно. В этом случае программа Access предоставляет возможность выбора таблицы. Для вывода на экран этих параметров переведите таблицу в Конструктор. Изменение параметров подтаблицы" далее в этом разделе. щелкнув кнопкой мыши квадратик со знаком "плюс". что ваши таблицы связаны друг с другом цепочкой связей. Примечание Вы должны выбирать только один раз подтаблицу. Программа Access запоминает ваш выбор и использует с этого момента одну и ту же подтаблицу. 5. содержащей сведения о счетах (Invoices). Это сложность не тревожит программу Access — она разрешает вам перемещаться по всей цепочке отношений (рис. можно увидеть. если эта страница не видна в данный момент). Переходя от уровня к уровню. Допустим. которую хотите использовать. поэтому ' она спрашивает вас (рис. Рис.

• Высота подтаблицы (Subdatasheet Height). которые вы хотите использовать при выборе значения (в данном случае идентификационный номер изготовителя). не связанный ни с одной компаниейизготовителем. В другом столбце находятся данные. что вы добавите список подстановок. которая выводится для пользователя вашей БД. способное помочь вам. к нашей общей радости. Решение — создание подстановки. вам придется пользоваться полосой прокрутки. вы увидели. понятия не имеют о том. у Access есть средство. (В действительности. Связанная таблица. с которой вы хотите работать. У списков подстановок. которые применяются к таблице в целом. есть такая возможность. или задать автоматическое раскрытие подтаблицы при открытии основной таблицы (для этого надо выбрать значение Да). В предыдущей главе вы узнали о подстановках (см. Позволяет выбрать вывод свернутых подтаблиц до тех пор. если вы .) Таким образом. отводимую подтаблице для отображения данных. А как они помогают при первоначальном добавлении записи? Связи обычно основываются на бесполезном значении типа Счетчик. Поиск в связанных таблицах Итак. Вам все-таки нужен способ отображения в списке подстановок имени изготовителя. Когда вы создаете новую запись о кукле. взятых из таблицы Manufacturers. функциональной возможности. не знаете. а потом связь. • Развернутая подтаблица (Subdatasheet Expanded). снабжающей вас списком доступных значений столбца. К счастью. которые относятся к подтаблицам. но не поможет выбрать нужный номер. Задает высоту в дюймах. как показано на рис. пока вы не щелкните кнопкой мыши по квадратику с плюсом (значение по умолчанию). сколько ей нужно. использующая таблицу. • Имя подтаблицы (Subdatasheet Name). что компании Bobelle House O'Dolls соответствует код 3408. позволяющее подтаблице занять столько места. Программа Access не даст вам ввести идентификационный номер изготовителя. Если у вас несколько связанных таблиц. какой идентификационный номер принадлежит какой компании. Если все связанные строки не помещаются в отведенное пространство. "Создание простою списка подстановок. которые можно использовать — но не решает главную проблему. когда вы щелкните кнопкой мыши квадратик со знаком плюс. А именно озадаченные пользователи. 5. можно выбрать ту. применяемая в качестве подтаблицы. При создании подстановки можно представить список констант или предложить список значений из другой таблицы. Такой тип подстановки немного помогает — он предлагает список всех значений. Она ждет. как связи облегчают просмотр и редактирование ваших записей. разд. использующую список значений ID. Один столбец содержит информацию (в данном случае имя изготовителя). Далее перечислены те из них. Стандартное значение этого параметра — 0. Вы могли бы создать подстановку для поля ManufacturerlD в таблице Dolls. Access создает связь автоматически. Или установить значение параметра (Auto). которое заставит программу Access спросить у вас имя подтаблицы в следующий раз. Примечание Программа Access становится немного странной при переходе к подстановкам. у которой несколько столбцов. состоящего из констант" главы 4). то.9. когда создается подстановка. применяющие вашу БД.На ней есть набор разнообразных параметров. возможно.

самостоятельно выполняете практические задания. которое вам нужно. удали те связь между таблицами Dolls и Manufacturers (как описано в разд. Рис. В предлагаемом примере поле. Откройте таблицу-потомок в Конструкторе. которое используется для связи. а значение поля Данные из поля ID Manufacturer вы отобразите в списке подстановки для того. 4. Добавьте поле. первичного ключа (в данном случае поля ID) и более информативного значения (названия компании-изготовителя). вы должны сохранить в записи о кукле. 5. На экране появится список всех таблиц вашей БД за исключением текущей таблицы.11). Секрет хорошей подстановки — выбор двух порций информации. "Редактирование связей" ранее в этой главе ). В данном случае вам нужна таблица Manufacturers. и еще одно. Для продолжения щелкните мышью кнопку Далее. Выберите поле. чтобы облегчить правильный выбор компании-изготовителя . В данном примере вам нужно добавить поля ID и Manufacturer. в столбце Тип данных выберите вариант Мастер подстановок. В данном примере это таблица Dolls. Выберите переключатель Объект "столбец подстановки" будет использовать значения из таблицы или запроса ("I want the lookup column to look up the values in a table or query") и щелкните мышью кнопку Далее. 5. необходимые для создания списка подстановок. 2. 1. связывающего две таблицы — Dolls и Manufacturers. Выберите таблицу-родитель и нажмите кнопку Далее. вы увидите на экране список всех полей этой таблицы. Далее приведены действия. связывающее ее с таблицей-родителем. прежде чем двигаться дальше. — ManufacturerID. 3. используя предложенные примеры. 5.11. более информативное поле в список Выбранные поля (Selected Fields) (рис. После того как вы ее выбрали и перешли к следующему окну мастера.

В следующем окне мастера показано предварительное представление вашего списка подстановки (рис. Обычно естественней всего сохранить название поля. Рис.13). Выберите поле. называемый Разрешить несколько значений (Allow Multiple Values). Это выглядит неестественно. работающего с БД. можно использовать поля FirstName и LastName из таблицы FamilyRelatives (члены семьи). Несмотря на то. иначе список подстановки станет необъемным из-за включений в него всех этих сведений. Если установить этот флажок. 6. чтобы пользователь мог быстро найти нужное значение 7. На последнем этапе вы можете также выбрать режим. Выберите название столбца подстановки. 8. "Многозначные поля "далее в этой главе. в списке отображается флажок рядом с каждым значением. описательное поле. Отсортировать список подстановки очень важно для того. 5. оно значит не слишком много. что у поля первичного ключа есть значение. . что установлен флажок Скрыть ключевой столбец (Hide key column (recommended)). для пользователя. поэтому можно одновременно выбрать несколько элементов списка. В нашем примере список подстановки лучше всего отсортировать в соответствии со значениями поля Manufacturer. 5.Подсказка Иногда может понадобиться несколько полей для описательной информации. Ему гораздо важнее другое. 5. Но не включайте слишком много информации. и затем щелкните мышью кнопку Далее. использующего подстановку (в данном случае ManufacturerID). Например. связывающее вместе две таблицы.) Вы узнаете больше о варианте Разрешить несколько значений в разд. (В этом примере можно создать запись о кукле с несколькими изготовителями.12. применяемое для сортировки списка подстановки (рис. Убедитесь в том.12). и щелкните мышью кнопку Далее.

Например.13. "Редактирование связей" ранее в этой главе). "Определение отношения "ранее в этой главе).5. Access получает готовый к использованию список изготовителей. соответствуют ли ваши записи этому жесткому стандарту. 5. содержащий имя изготовителя (поле Manufacturer) и скрывающий его идентификатор (поле ID) 9. Обновление списка Я только что добавил запись. использующую список подстановки. В заключение установите флажок Обеспечение целостности данных и щелкните мышью кнопку ОК.Рис. так и таблицу. Почему? Программа Access заполняет ваши списки подстановок.14). . предоставляющую данные для этого списка. когда открывается таблица Dolls. Примечание Созданная программой Access связь не обеспечивает ссылочной целостности. Теперь. Но иногда вы должны открыть одновременно как таблицу. Здесь показан список подстановки. поскольку программа не знает. но она не появилась в моем списке подстановки. так же как вы делали это самостоятельно (см. В таблице может быть кукла. можно отредактировать связь с помощью вкладки Схема данных (как описано в разд. если отобразить таблицу Dolls в Режиме таблицы. связанными вашим столбцом подстановки. Часто задаваемый вопрос. указывающая на несуществующего изготовителя. когда таблица открывается впервые. Если такая возможность кажется угрожающе нестрогой. После этого Access создает связь между двумя таблицами. Начните с добавления на вкладку обеих таблиц Dolls и Manufacturers. разд. Теперь программа Access формирует список подстановки для поля и предлагает сохранить таблицу. В данном случае программа устанавливает отношение "родитель— потомок" между таблицами Manufacturers и Dolls. Затем щелкните правой кнопкой мыши линию связи между ними и выберите команду Изменить связь. можно использовать список подстановки во время редактирования и вставки записей (рис. Щелкните мышью кнопку Готово (Finish).

несколькими или не связан ни с одной куклой вообще. 5. нет способа отобразить его на вашем листе данных. что за кадром таблица Dolls хранит значение ID в поле ManufacturerlD. . Вы увидите. "Отношение типа „родитель—потомок" "ранее в этой главе. так и на любой сделанной вами распечатке). выбрав Главная → Записи → Обновить все (Ноmе → Records → Refresh All). Наряду со связями "один-ко-многим" существуют еще два несколько иных типа связей: отношение "один-к-одному" и отношение "многие-ко-многим". — наиболее распространенный тип отношения. предоставляющую данные для списка подстановки. вы можете выбрать изготовителя из списка по имени Более экзотические связи Как вы узнали из разд. (Они открываются на разных вкладках. К счастью.В этой ситуации изменения. откройте одновременно таблицы Dolls и Manufacturers.14. отношение или связь "один-ко-многим" (известная также под именем родитель—потомок). не появятся в таблице. если нужно добавить новую запись или изменить изготовителя в имеющейся. Затем вернитесь в таблицу Dolls и попробуйте воспользоваться списком подстановки в поле ManufacturerID. Более того. Вы можете попросить программу Access обновлять список подстановки в любое время. Рис. Один изготовитель может быть связан с одной куклой.) В таблицу Manufacturers добавьте новую компанию-изготовителя. найти решение легко. Для того чтобы понять механизм действия. Несмотря на то. что новой записи нет в списке подстановки. Выполните эту последовательность из таблицы Dolls и увидите в списке подстановки обновленный список изготовителей. связывающая единственную запись одной таблицы с одной или несколькими записями другой таблицы. вносимые вами в таблицу. использующей этот список. В следующих разделах вы познакомитесь с обоими типами. Вместо данного поля вы видите связанное с ним название изготовителя (как на экране.

Иногда этот тип отношения применяется для разбиения таблицы с большим количеством полей на две или несколько меньших таблиц. которая не должна интересовать продавцов при оформлении заказов. Эти сведения интересны только сотрудникам инженерно-технических подразделений. (Программа Access не разрешает таблице иметь более 255 полей. и дополнительные сведения об особенностях его производства. 5. что создается связь "один-к-одному". ProductsEngineering (технические характеристики изделия). Это та информация. 5. поэтому их можно перенести в отдельную таблицу (названную. Программа помещает цифру 1 на концах линии связи для того.15.Отношение "один-к-одному" Отношение или связь "один-к-одному" связывает одну запись таблицы с одной или не связывает ни с одной записью другой таблицы. В этом примере столбец ID в таблице Products и столбец ID в таблице ProductsEngineering — первичные ключи соответствующих таблиц. Таблица Products (изделия) может содержать подробную информацию. описывающую изделие и его цену. как отношение "один-ко-многим" — перетаскиванием с помощью мыши полей на вкладке Схема данных (рис. просто потому что она слишком велика. Когда связываются два поля.) Рис. чтобы отличать ее от других типов связей. Единственная . например. В другой ситуации можно разбить таблицу на две. в которых не допускаются дублирующиеся данные (и флажок Обеспечение целостности данных установлен).15). поэтому невозможно связать несколько записей таблицы ProductsEngineering с одной и той же записью таблицы Products Отношение "один-к-одному" создается так же. Access считает.

"Что такое разделенная БД" главы 18). если разделить таблицу. в которой в отдельных таблицах хранятся данные об авторах и книгах. • Вы хотите защитить от любопытных глаз уязвимые данные. Разделение таблицы на две части усложняет проект вашей БД и обычно это делается. "Что такое разделенная БД" главы 18) для того. "Вложение" главы 2) с большими документами. разд. Когда не нужно включать эту информацию. Примерами могут служить следующие варианты. разд. Примечание В поле запрещены совпадения. разд. Рассмотрим БД. более защищенный файл БД. что лучше поместить половину таблицы в отдельную БД (см. таких как поля типа Вложение (см. Вместо того чтобы включать большое количество незаполненных полей. Для тех. разд. "Предотвращение дублирования значений с помощью индексов" главы 4). Аналогичная ситуация возникает. только если есть другие причины для разбиения таблицы. "Скрытие столбцов" главы 3) и запросы (см. чтобы разные люди могли копировать их на разные компьютеры и редактировать независимо. сотрудников по комитетам или ингредиенты по рецептам. Если у вас нет таких ситуаций. если нужно распределить студентов по курсам. Авторы бестселлеров не останавливаются на одной книге (поэтому вы должны иметь возможность связать одного автора с несколькими книгами). вам не придется добавлять запись в связанную таблицу. препятствующий появлению дублирующейся информации (см. Можно даже представить подобную ситуацию . в отдельную таблицу и сохранить эту таблицу в другой. можно выделить их в отдельную таблицу. разд. которую нужно защитить. разд. если вы хотите видеть только отдельные поля таблицы. Один из возможных способов — поместить информацию.разница состоит в том. Обычно гораздо удобнее использовать скрытие столбцов (см. • Две части таблицы необходимо поместить в отдельные БД (см. если оно является первичным ключом таблицы (см. что в связанных полях обеих таблиц нужно задать запрет совпадений. В этом случае запись одной таблицы может (как максимум) быть связана с единственной записью в другой таблице. вы больше выиграете от создания одной большой таблицы. кто понимает. главу 6). Вы даже можете решить. Применяйте связи "один-к-одному" с осторожностью Отношения "один-к-одному" крайне редко применяются в программе Access. В этом случае можно повысить производительность. Однако иногда авторы объединяются в команду под одним заглавием (поэтому вы должны иметь возможность связать одну книгу с несколькими авторами). • Некоторые данные вашей таблицы необязательны. Отношение "многие-ко-многим" Отношение или связь "многие-ко-многим"связывает одну или несколько записей одной таблицы с одной или несколькими записями в другой таблице. • У вас есть таблица с огромным объемом данных. "Первичный ключ" главы 2) или если у поля есть индекс.

7.8. Основная идея состоит в том. представленные в табл. 5.6. Связи "многие-ко-многим" довольно распространены. Таблица 5. Связующие таблицы Связующие таблицы — традиционный метод обработки связей "многие-ко-многим". Каждая запись в связующей таблице представляет связь. которая соединяет вместе запись каждой таблицы в отношение. вы должны добавить три записи в связующую таблицу. Таблица 5. вам потребуется дополнительная запись для связи с каждым новым автором. такое как Microsoft SQL Server).и в случае БД с куклами-болванчиками. 5. связывающая обе таблицы. Данные таблицы Authors ID FirstName 10 Alf LastName Abet 11 12 Pendant DeLawn Cody Мое В таблице Books содержатся записи. если несколько изготовителей решат объединиться для изготовления одной куклы-болванчика.8 приведена таблица Authors_Books. 2007 В табл. Таблица 5. 2008 May 5.6. Данные таблицы Authors_Books ID AuthorlD BookID 1 10 402 2 3 4 11 12 11 403 403 404 . Если два автора работают над одной книгой. что в вашей таблице Authors хранятся записи. и программа Access предоставляет два способа их обработки. 2007 February 24. 5. В БД с книгами и авторами единственная запись в связующей таблице сопоставляет одного автора с одной книгой. и их используют повсеместно в мире БД (включая и программное обеспечение промышленного уровня. у которой единственное назначение — связывание двух таблиц. Предположим. Если один и тот же автор написал три книги. показанные в табл. Данные таблицы Books ID Title 402 Fun with Letters 403 How to Save Money by Living wit 404 h Your Parents Unleash Your Guilt Published January 1. что вы создаете дополнительную таблицу.7.

16. Вы можете определить эти два отношения на вкладке Схема данных. например Authors Books. После определения этих отношений вы не сможете связать автора или книгу. что заданы правила целостности данных (рис.16). Если вы просмотрите остальную часть таблицы. в котором таблица Authors выступает как родитель. 5. которые не существуют. 5. и удалить автора или книгу. У таблицы Books также отношение "один-ко-многим" с таблицей Authors_Books. На самом деле отношение "многие-ко-многим" между таблицами Authors и Books — это два отношения "один-ко-многим".AuthorsBooks — связующая таблица. что автор № 10 (Alf Abet) написал книгу № 402 (Fun with Letters). которые она связывает. и два автора работали над одной и той же книгой (How to Save Money by Living with Your Parents). что она формирует два отношения "один-комногим". Рис. Другими словами. в котором таблица Books — родитель. определяющая четыре связи. у которой два родителя. определенные в программе Access. что Cody Pendant принимал участие в написании двух книг. Подсказка Имя связующей таблицы часто состоит из имен двух таблиц. связующая таблица — это таблица-потомок. У таблицы Authors отношение "один-ко-многим" с таблицей Authors_Books. убедившись в том. включающие таблицу Authors_Books. у которых есть запись в таблице Authors_Books . Первая запись указывает на то. Суть связующей таблицы заключается в том. то обнаружите.

Как следует из названия. написавшего данную книгу (табл. хранящий несколько значений ID Title Published AuthorID 403 How to Save Money by Living with Your Parents February 11.9). Вернемся к примеру с авторами и книгами. Таким образом. в которую добавлен столбец AuthorlD. главу 21) сервисов SharePoint в Access 2007 включена новая функциональная возможность — многозначные поля. Для создания поля с несколькими значениями следует использовать подстановку.Хотя на первый взгляд связующие таблицы производят странное впечатление. Как и в случае связей "один-ко-многим". 5. 2005 11 404 Unleash Your Guilt May 5.10. эта функциональная возможность выбирается на последней странице мастера Создание подстановки. Но вам придется всегда вставлять вручную запись в таблицу Authors_Books для того. Эта возможность очень удачно решает проблему связей "многие-ко-многим". разд. Идея состоит в настройке связующего поля в таблице-потомке как многозначного поля. Как вы уже знаете (см. в этой таблице можно указать только одного из двух авторов книги № 403. 2006 11 Но обычное поле хранит единственное значение. 2006 AuthorID 10 403 How to Save Money by Living with Your Parents February 24. Если же разрешить хранение нескольких значений в поле AuthorID. содержащий дублирующие значения ID Title Published 402 Fun with Letters January 1. Многозначные поля До появления программы Access 2007 связующие таблицы были единственным средством создания связей "многие-ко-многим". "Поиск в связанных таблицах" ранее в этой главе) для полей AuthorID и BookID таблицы Authors_Books. в которую добавлен столбец AuthorID. Но программа Access скрывает эту подробность от вас. которыми вы пользовались ранее.10. что существенно облегчает объединение связанных записей. можно ввести список авторов. Таблица 5. чтобы связать автора с книгой. Данные таблицы Books. подобный приведенному в табл. рис. многозначное поле может хранить более одного значения. Но для поддержки средств интеграции (см. С другой стороны. При отсутствии связующей таблицы вам нужно вставить столбец AuthorID в таблицу с записями о книгах для обозначения каждого автора. если у вас уже есть подстановка . можно создавать подстановки (см. Таблица 5. большинство фанатов БД быстро привыкают к ним. Данные таблицы Books. 5. 12 За кадром многозначное поле в действительности использует связующую таблицу.9. 5.14).

в большой компании) и вы можете в какой-то момент перенести ваши данные в БД более мощной программы SQL Server.17 показан многозначный список подстановки в действии. кто понимает. "Создание новой базы данных" главы 1). необходимо внести небольшое изменение. На рис. Откройте таблицу в Конструкторе. поскольку он предназначен для многозначного поля. установив флажки нескольких элементов списка. ManufacturerID) и затем в области Свойства поля щелкните кнопкой мыши вкладку Подстановка (Lookup). поскольку SQL Server не поддерживает их. созданных в более ранних версиях программы" в разд. Поля с множественными значениями вызывают проблемы при переносе вашей БД на SQL Server (как описано в главе 20). Тем самым вы указываете. В одной записи можно выбрать несколько значений. Найдите свойство Разрешение нескольких значений (Allow Multiple Values) и измените его значение с Нет на Да. В файле с расширением mdb (БД. только если применяется БД нового формата с расширением accdb (см. вы не сможете вернуться к варианту поддержки одного значения. избегайте полей с множественными значениями.в поле. созданной программой Access 2003 и еще не преобразованной) вы не сможете их использовать. Использование Access БД. выберите поле с подстановкой (например.17. В данном списке подстановки применяются флажки. если есть вероятность совместного использования вашей БД многими пользователями (скажем. Следовательно. примечание "Для тех. 5. что одна кукла была создана в результате партнерства двух компаний-изготовителей Многозначные поля доступны. . Примечание Поля с множественными значениями не создают проблем при переносе вашей БД на Share-Point Server (как описано в главе 21). Рис. Примечание Как только вы задали в поле поддержку множественных значений. 5.

включены в примеры к данной главе. для вставки новой книги в вашу систему придется редактировать. когда начнем создавать более сложные объекты БД. (Соседний курс из . когда 273 студента были втиснуты на один и тот же курс и им не назначили преподавателя. Можно сконструировать форму. две таблицы. что вы создаете таблицу Students_Classes для учета учебных курсов. Предположим. И главное — ваша форма может выглядеть так. Есть также довольно длинный список бывших и потенциальных клиентов. С другой стороны. Можно создать настраиваемую форму. Если вы решили остановиться на связующих таблицах и хотите облегчить свою жизнь. по крайней мере. Практическое применение связей Каждому проектировщику БД необходимо видеть мир как совокупность таблиц и связей. которые все студенты слушают в популярном учебном заведении. СоnfirmationLetterSentDate (дата отправки подтверждающего письма) и PrerequisitesChecked (необходимые условия приема проверены). как будто она использует только одну таблицу. Вы узнаете. как применять этот прием в части IV. Сначала необходимо вставить запись в таблицу Books. Смышленые разработчики БД могут быстро оценить информацию и увидеть. Музыкальная школа Cacophone Studios управляет музыкальной школой среднего размера. но все равно для этого требуется отдельный шаг. программа Access предлагает отличное решение. вставлять запись одновременно и в таблицу Books. используемые в данных сценариях. умеющую работать сразу с несколькими таблицами. В таблицу Students_Classes можно включить дополнительные поля. Школа предлагает определенный набор курсов и имеет штатное расписание преподавателей.Часто задаваемый вопрос. укоренились и не скрывают внутреннего функционирования вашей БД. мы вернемся к ним снова в следующих главах. работающему с БД. Такие таблицы приняты. способных вести большинство из них. как она связана. у связующих таблиц есть недостатки — с ними трудно работать на листе данных. которые могут помочь вам приобрести опыт создания более реалистических отношений. что гораздо удобнее. отчеты и формы. В последующих разделах представлены два сценария. такие как EnrollmentDate (дата записи на курс). Если в вашей БД применяется связующая таблица Authors_Books. Работа со связями "многие-ко-многим" Какой подход лучше: связующие таблицы или поля с множественными значениями? Большинство фанатов БД в ближайшие годы будут приверженцами связующим таблицам. Обе БД. которая свяжет книгу с автором. если вы хотите добавить дополнительную информацию о связи между двумя конкретными таблицами. Связующие таблицы особенно удобны. и в таблицу Authors_Books. Затем следует открыть таблицу Authors_Books и вставить в нее новую запись. такие как запросы. позволяющую человеку. Благодаря этой способности они могут создать корректную БД в любой области. можно добавить книгу и присвоить ей авторов за один шаг. В прошлом году случилась катастрофа местного масштаба. (Для облегчения этого процесса можно использовать подстановки в таблице Authors_Books.) Если же в таблице Books содержится поле Authors с множественными значениями.

(Другими словами. дату начала и окончания занятий. Но тут есть одна загвоздка. В эту таблицу следует включить название учебного курса. но они хотят сохранить возможность кооперации преподавателей для проведения занятий на одном курсе. максимальный номер принятого студента и другую важную информацию. ■ Classes — таблица для хранения курсов.) Конечно. компании Cacophone Studios очень скоро понадобится гораздо больше таблиц. можно выделить несколько наиболее очевидных кандидатов: ■ Teachers — таблица для хранения списка всех преподавателей из штатного расписания. прошлых. предлагаемых компанией Cacophone Studios. хранятся в поле PreviousClassRequirements (необходимые предыдущие курсы) с множественными значениями и подстановкой. ■ Students — таблица для хранения всех учеников. Определение связей Выделить необходимые связи очень легко. Примечание Условия. необходимые для приема студента на курс. Но. Преподаватели ведут курсы. у каждой записи в таблице Classes есть ловко реализованная возможность указать на другие курсы в той же самой таблице. и необходим долгий подробный анализ для создания наилучшей структуры таблиц для Cacophone Studios. названные Students_Classes и Teachers_Classes (соответственно). дополненная контактной информацией. настоящих и будущих. Эта ситуация предполагает две связи: одна между таблицами Students и Classes. Несмотря на то. таблицы Teachers и Classes вовлечены в более сложное отношение "многие-ко-многим". прежде чем читать дальше. Следовательно. найдя связанную информацию (а именно их запись на курс). даже не имея особенно глубоких знаний. Подсказка Хотите поработать с Cacophone Studios? Попытайтесь выделить возможные таблицы и их связи. что программа Access поможет им избежать подобного конфуза в настоящем и будущем.14 студентов почему-то получил трех преподавателей) Руководители надеются. а другая между таблицами Teachers и Classes. что Cacophone Studios планирует иметь одного преподавателя для ведения каждого курса. Таким образом. Вам не нужно разделять эти группы людей в таблице Students — вместо этого вы сможете выбрать нынешних студентов из таблицы. Но для начала перечисленных таблиц достаточно. Это поле содержит идентификационные номера всех прослушанных курсов. поэтому между этими двумя таблицами необходима связь "многие-ко-многим". можно не усложнять таблицу Students и хранить в ней только имя и фамилию и контактную информацию. Студенты записываются на курсы. Для поддержки этих двух связей можно создать две связующие таблицы. Компания Cacophone Studios конечно же не хочет мешать одному студенту заниматься на нескольких курсах. . Определение таблиц У каждого бизнеса есть особенности.

На рис.18 показана описанная организация таблиц. 5. .

д.Рис. общая с предыдущим курсом. стоимость курса. . А при каждом назначении преподавателя для ведения курса ему нужно своевременно выплачивать зарплату. 5. Таким образом. Две связи "многие-ко-многим" формируют основу схемы данных БД музыкальной школы Cacophone Studios Примечание Каждая запись в таблице Students_Classes представляет сведения о приеме студента на курс. предъявляемые требования и т. необходимо создать отдельную запись в таблице Classes. каждый раз. Каждый раз. например. Несмотря на то. В записи этой таблицы должна содержаться вся описательная информация о курсе. и т. 5. у него есть информация. В таблицу можно добавить дополнительные поля. сделавших заказ заранее. Компания Cacophone Studios также должна думать о неприятной финансовой стороне вещей. что когда курс (например. такие как дата записи студента на курс. но им еще нужно подумать о многом. когда студент записывается на курс. школа может предлагать без помех один и тот же курс многократно. он снова предлагается как новый курс с новыми студентами. Прежде всего. нужно взять с него установленную плату за обучение. Это связано с тем. д.18. но у него есть потенциальная проблема. что это полностью новый курс. Это разумный подход. описание.19). предложенная вами скидка для принятых студентов. Для учета этой особенности нужно создать еще одну таблицу ClassDescriptions (описания курсов). Для реализации этой части проекта каждая запись таблицы Classes связывается с единственной записью таблицы ClassDescriptions. В записи таблицы Classes представлены сведения об одном предусмотренным расписанием конкретном учебном курсе. электроакустический в стиле гамелан (Electro-Acoustic Gamelan)) заканчивается. когда предлагается курс. Между этими таблицами существует связь "один-ко-многим" (рис. Дополнительные подробности Компания Cacophone Studios начала движение в нужном направлении.

необходимо включить соответствующую сумму в таблицу StudentCharges. На рис. не такие. а преподаватели получат зарплату только один раз за каждый курс. вы будете продолжать добавлять новые таблицы и связи бесконечно. 5. . Вы можете решить. что ей понадобится таблица о платежах студентов.19). А компания Cacophone Studios. Каждый раз. что для создания отношения "один-к-одному" следует использовать первичный ключ или индекс. все еще не закончила ее формирование. и с таблицей Classes. как вы ожидали. возможно. представленная на рис. возможно. очень вероятно. не допускающий совпадений (см. Аналогичное отношение существует между таблицами Teachers_Classes и TeacherPayments.) Как и в большинстве реальных БД. Вы можете сберечь силы. когда добавляется запись в таблицу Students_Classes. (Например. Очевидно. который они провели. Благодаря таблице ClassDescriptions можно использовать одно и то же описание для нескольких курсов. за что заплачены деньги — за какой именно курс платит студент. но. тем самым избегая избыточности данных Этими подробностями можно заполнить две таблицы: TeacherPayments (плата преподавателям) и StudentCharges (плата за обучение студентов). связав таблицу StudentCharges непосредственно с таблицей StudentsClasses. Этот индекс гарантирует.' разд.Рис. Другими словами. 5. что студенты заплатят только один раз за каждый выбранный ими курс. В данном примере нужно создать не допускающий совпадений индекс для поля Student_ClasseslD в таблице StudentCharges и поля Teacher_ClasseslD в таблице TeacherPayments. в каждой записи таблицы Students_Classes содержатся сведения о студентах и курсе для одного учебного курса. каждая запись таблицы StudentCharges должна быть связана и с таблицей Students. что для этих таблиц надо установить связи. Но так же важно знать. Примечание Напоминаю. 5. Однако есть более легкий способ. Эта БД очень быстро станет достаточно сложной. Такая связь не лишена смысла. "Предотвращение дублирования значений с помощью индексов" главы 4). поскольку необходимо знать. что запись таблицы StudentCharges следует связать напрямую с записями таблицы Students. кто из студентов заплатил деньги. Если помните.20 показано все сооружение (не включена только таблица ClassDescriptions.19.

у вас может возникнуть желание сохранить ваш отчет о связях для последующего применения. постепенно добавляя новые Часто задаваемый вопрос. . представляющий собой специализированный объект БД и позволяющий создать распечатку в любое время. которое похоже в той или иной степени на текущее содержимое вкладки Схема данных. Затем выберите Работа со связями | Конструктор → Сервис → Отчет по схеме данных (Relationship Tools | Design → Tools → Relationship Report). 5. возможно.) Для создания отчета о связях ваших таблиц сначала расположите все выбранные по нашему вкусу таблицы на вкладке Схема данных.Рис. Начинать создание БД легче всего с нескольких таблиц.) становится недоступной. но ее можно преобразовать в отчет. можно выбрать последовательность Office → Печать. вы должны уметь прокладывать путь последовательно через все таблицы и связи. Вы узнаете больше об отчетах в главе 10. Напечатать непосредственно вкладку Схема данных нельзя. как создавать отчеты. Но если у вас сложная БД и вы хотите напечатать несколько разных схем (на каждой из которых представлены разные группы связей). Каждый назначенный курс приводит к появлению платежа в таблице TeacherPayments (вверху слева). Обычно вы с этим не связываетесь.20. когда я просматриваю вкладку Схема данных? После создания связей между вашими таблицами. в части III. Несмотря на то. После закрытия отчета со связями программа Access предложит сохранить его в вашей БД. На экран выводится окно предварительного просмотра. что на первый взгляд эта картинка слегка устрашающая. Для того чтобы вывести его на печатающее устройство. Печать ваших отношений Почему последовательность Office → Печать (Office button → Print. потому что можете легко восстановить его в любое время. (Вы узнаете. вам захочется быстро напечатать эту структуру. Каждый прием студента в курс формирует запись об оплате в таблице StudentCharges (вверху справа).

клиенты и заказы компании. конфеты (Candies). есть смысл хранить исторические сведения для возможного анализа данных. Ее бесстрашные руководители склонны к постоянным инновациям и хотят как можно лучше управлять постоянно растущим каталогом своих высококачественных изделий. Каталог изделий и список клиентов Даже зная не слишком много о компании Boutique Fudge. сведения. вам потребуются следующие таблицы. которые больше не поступают в продажу. Когда перечисляются изделия для продажи. существует несколько основных правил. есть ли связь между снижением содержания какао и сокращением продаж. применяемых к любому зависящему от продаж (торговому) предприятию. почему бы не учесть текущий запас с помощью двух числовых полей (UnitsInStock (количество единиц на складе) и UnitsOnOrder (количество заказанных единиц)). предлагаемые для продажи. которая удовлетворяет декадентские изыски большой аудитории помешанных на шоколаде клиентов. (Boutique Fudge могла бы применить запрос для поиска самых хорошо продаваемых товаров в 1999 г. Кроме того. необходимые для доставки. которая им нужна (будь то напитки (Beverages). что стоит рассмотреть его в кратком примере. информация о счетах. ■ Таблица Products. в которой хранятся товары. все больше не поступающие в продажу изделия можно исключить с помощью средств фильтрации. Это позволит клиентам просматривать изделия только в той категории. Для того чтобы выставить что-то на продажу. поскольку они могут быть связаны со старыми заказами. В этой таблице вам нужна вся информация о клиентах. будь то продажа коллекционируемых книг или уцененных фармацевтических изделий. описание и цена каждого предлагаемого изделия. ■ Таблица Customers содержит список шокоголиков. а также логическое поле (названное Discontinued (больше не продающиеся)) для обозначения изделий. вам понадобится (не удивляйтесь) . Они также нуждаются в способе учета клиентов и сделанных ими заказов. в которой перечислены соблазнительные шоколадные деликатесы. В таблице записаны: название. Как будет видно. В данном примере вы встретитесь с принимающей заказы по почте компанией Boutique Fudge. и выяснить. — наиболее распространенная разновидность БД. торгующей чем-либо. Имеет смысл включить в нее несколько необязательных подробностей — например. подписавшихся на регулярные заказы. имена и фамилии.Магазин шоколадных изделий БД о продажах. "Фильтрация" главы 3. например. с которыми вы познакомились в разд. Примечание Во многих БД нельзя удалять старые данные. вы можете придумать несколько основных нужных им таблиц. Компания вроде Boutique Fudge не может просто исключить старые изделия из своих каталогов. шоколад (Chocolate) или сделанная на заказ одежда с надписями. На самом деле этот шаблон появляется так часто.) Именно поэтому вам нужно поле Discontinued. Примечание Многие компании разрешают своим клиентам предоставлять несколько адресов доставки и кредитных карт. Если вы согласитесь на такое разнообразие. подчеркивающими пристрастие хозяина к шоколаду (Personalized Choco-wear). ■ Таблица ProductCategories делит изделия на несколько описательных групп.

У программы Access есть два средства. оно означает. если клиенты не смогут заказывать интересующие их товары. но в отдельную категорию входит много товаров Заказ товаров Как бы искусно не была спроектирована ваша БД о продажах. Рис. что вам требуется создать группу новых записей для всего лишь одного заказа). 5. Это утверждение может показаться нелепым (т. Новички в разработке БД часто допускают ошибку. количество единиц товара в заказе и цену. 5. Пока существует одна действующая связь — связь типа "один-ко-многим" между таблицами ProductCategories и Products. Поскольку в среднем заказ содержит несколько видов изделий. ■ В таблицу Orders записывается каждый заказ. что сведения о заказах можно хранить в одной таблице. Можно создать таблицу CustomerCreditCards. 5. Каждая запись в таблице OrderDetails включает код (ID) заказанного товара. сделавшим заказ. ■ В таблице OrderDetails перечислены отдельные элементы заказа. Она связана с клиентом. которые выручат: подтаблицы (рис. считая.21. но процесс не потребует от вас больших усилий. отдельная запись в таблице Orders обычно связана с несколькими записями таблицы OrderDetails (как показано на рис. главу 12). 5. Затем каждую запись из таблицы Customers можно связать с одной или несколькими записями в таблице CustomerCreditCards. к. На самом деле вам нужны две. и включает информацию. такую как дата размещения заказа.больше таблиц. Этот проект показан на рис.21. что запись OrderDetails хранит цену каждого заказанного вида товара. Товар (например. Chocolate Jasmine Tea (шоколадный жасминовый чай)) можно поместить в одну категорию (скажем. по которой они заказаны. BoutiqueFudge выбрала легкий путь и хранит номер кредитной карты клиента и его адрес непосредственно в таблице Customers. что такая система порождает избыточность данных по отношению . напитки).22). компания Boutique Fudge быстро разорится.23) и формы (см. Обратите внимание на то. Может показаться. сделанный клиентом.

5.к таблице Products.22. 5. По этим причинам очень важно отслеживать цену товара. В противном случае вам придется гадать о том. Благодаря наличию подтаблицы можно добавлять в одном месте запись о заказе и связанные с ним виды товаров Примечание Профессиональные разработчики БД называют информацию такого сорта сиюминутными или текущими данными (point-in-time data). У каждого заказа может быть неограниченное количество заказанных видов товаров. Но цены товаров меняются и компании предлагают скидки. когда его заказывают. Такая возможность неизменно радует компанию Boutique Fudge Рис.23. поскольку они меняются со временем. сколько должен вам каждый клиент. . Рис.

у вас появится проблема. прежде чем Boutique Fudge превратится в компанию. тем сложнее становятся БД. Теперь. возможно. придется создать таблицу Shipments (доставки). что клиенты расплатились полностью. т. и таблицу Payments (платежи). вы сумеете сохранять хладнокровие в стрессовой ситуации. Например. . чтобы быть уверенными в том. Вам придется еще как следует поработать. зная основы отношений и правила создания таблиц хорошей структуры. общая стоимость — это просто сумма стоимостей всех заказанных товаров. в которой учтены заказы.Следует отметить. если сохраняемая общая стоимость не совпадет со стоимостью всех товаров. к. Концептуально в этом нет ничего нового. но чем больше таблиц добавляется. Если хранить общую стоимость. что запись таблицы Order не хранит общую стоимость заказа. то возникает возможность появления противоречивых данных — иными словами. которая управляется БД. включенных в заказ. отправленные по почте.

обновляющие записи Глава 9. Анализ данных с помощью перекрестных запросов и сводных таблиц . Запросы.Часть II Обработка данных с помощью запросов Глава 6. Запросы. применяемые в запросах Глава 8. Основные хитрости. выбирающие записи Глава 7.

сортировки и скрытия столбцов можно сократить таблицу Orders. Если на создание удачного представления ваших данных было затрачено какое-то время. В главе 3 вы узнали. если нужно найти страстных любителей сливочной помадки. В данной главе вы узнаете все. выбирающие записи В типичной БД с тысячами или миллионами записей поиск нужной информации может оказаться трудной и неприятной работой. применяя на листе данных новый набор параметров. На первый взгляд эти средства могут показаться отличным способом добывания крупиц глубоко спрятанной информации. представьте себе. Основные сведения о запросах Как следует из названия. вам не нужно применять фильтрацию и сортировку вручную — вместо этого вы можете просто запустить запрос MostExpensive Orders LastMonth (самые дорогостоящие заказы за последний месяц) и он извлечет только нужную вам информацию. можно выполнить запрос LargeRepeatFudgeOrders (большие. Запросы — основной элемент проекта БД.) Затем можно применить другой набор параметров. (Эти сведения хороши для выявления транжир или ведения кампании маркетинга самых кодовых товаров (hot marketing). что у компании Boutique Fudge только одна таблица Orders.) Но каждый раз. этот процесс добавит вам много ненужной дополнительной работы. что нужно для разработки и тонкой настройки базовых запросов. вы теряете предыдущие результаты. так чтобы в ней отображались только самые дорогие заказы. сделанные в прошлом месяце. придется скрупулезно переопределять все ваши параметры. Если вы ищете самые дорогостоящие заказы. чтобы определить клиентов. предлагаемыми на листе данных. где живет большинство клиентов и . Аналогичным образом. Несмотря на то. включая фильтрацию. Решить описанную проблему можно с помощью запросов: заранее подготовленных процедур поиска. вооружившись средствами. (Вы могли бы использовать эти данные для более детального исследования рынка сбыта или для передачи Министерству здравоохранения. например. заказывающих более пяти фунтов (2 кг) сливочной помадки каждую субботу. поиск и сортировку. о чем идет речь. принимающей по почте заказы на пищевые продукты. какие продукты приносят больше всего денег. что вы создаете БД в программе Access для компании Boutique Fudge.Глава 6 Запросы. повторяющиеся заказы сливочной помадки). Но. которые хранятся в вашей БД. к сожалению. С помощью фильтрации. средства листа данных временны. как отправляться на охоту. Для того чтобы понять. у нее могут быть десятки (и больше) запросов с разными параметрами фильтрации и сортировки каждый. запросы позволяют сформировать вопросы о ваших данных. Если нужно перейти от одной выборки к другой.

 Запросы могут автоматизировать внесение изменений. а затем вставить столбец.кто заказал разукрашенную зубную щетку? Программа Access сохраняет каждый запрос в вашей БД. Или вы можете сгруппировать заказы по продуктам. с которым вы познакомитесь в главе 8. находящегося у вас под рукой. в котором представлена вычисленная стоимость товара. когда захотите взглянуть на реальные данные. Оба эти поиска должны использовать связи. В таблице Products БД Boutique Fudge приведены сведения о ценах наряду с данными о количестве товаров на складе. к. к. вы узнаете в разд. ■ Запросы могут объединять связанные таблицы. запроса на изменение (action query). как любой другой ее объект (см. Products (товары) и Customers (клиенты)). как таблицу. Примечание Если вы решите использовать Мастер запросов для формирования вашего запроса. запрос можно применить сразу к группе записей. чтобы узнать его максимальные затраты. разд. т. и снизить стоимость каждого на 10%. отвечающие заданным вами критериям. т. чтобы на лету построчно сравнить объем продаж товара ThermoNutcular Fudge с объемом продаж продукта Vanilla Bean Dream. Если нужно найти все заказы. Но этот метод обладает минимальным набором средств управления. В главе 7 вы попробуете выполнить такой подсчет. ■ Запросы могут подсчитывать итоги. Запрос может перемножить эти данные. Можно сгруппировать вместе заказы одного клиента. живущих в определенных городах. Такая возможность невероятно полезна. впоследствии вам придется переопределить этот запрос с помощью Конструктора. . сделанные определенным человеком. Основное достоинство запросов заключается в их способности многократно выполнять тяжелую работу за вас. вы можете выполнить его в любое время. которые находят заказы конкретных продуктов или заказы клиентов. позволяет при поиске принимать в расчет связанные данные. Сохранив запрос. С этим методом вы познакомитесь в главе 7. В примере с компанией Boutique Fudge благодаря этой способности можно создать запросы. ■ Запросы могут выполнять вычисления. они выходят за пределы таблицы Orders и включают данные из других таблиц (например. возможно. В данной главе рассматривается простейший и самый распространенный тип запроса: запрос на выборку (select query). ■ Мастер запросов предоставляет самый легкий способ построения простого запроса. Как действуют такие запросы. который извлекает подмножество данных из таблицы. "Запросы и связанные таблицы "далее в этой главе. Это действие требует применения запроса другого типа. Создание запросов Программа Access предлагает три способа создания запросов. запросы открывают новые функциональные возможности. Для анализа больших массивов данных вы можете сгруппировать строки с подобными данными. Кроме того. После получения этого подмножества вы можете напечатать или отредактировать его с помощью листа данных так же. "Что такое базы данных Access" главы 1). которых вы лишены при использовании только листа данных.

Рис.accdb. ■ В Режиме SQL вы можете увидеть скрытую команду запроса. который задает конкретные действия программе Access. (Для того чтобы самостоятельно попробовать создать запрос. загружаемые из Интернета. представляющую собой текстовый фрагмент (состоящий из одной строки или десятка строк).1. на самом деле в нем не так трудно разобраться. Далее перечислены необходимые действия.6. Он обладает удобным графическим инструментом. получающий данные за 2007 г. включенную в примеры к данной главе. можно использовать базу данных BoutiqueFudge. 6. Многие профессиональные разработчики творят именно в Режиме SQL. Создание запроса в Конструкторе Лучшая стартовая точка для создания запроса — режим Конструктора.■ Конструктор предлагает самый общий метод построения запросов.) Окончательный результат — запрос. 6. — показан на рис. Вы уже видели окно Добавление таблицы — с его помощью вы вставляли таблицы в схему данных в главе 5 . и хотя на первый взгляд он кажется мудреным. который можно применять для улучшения вашего запроса.

Выберите Создание → Другие → Конструктор запросов (Create → Other → Query Design). 3. в котором можно выбрать таблицы для обработки (рис. Диалоговое окно Добавление таблицы исчезает. Для выбора поля в прямоугольнике таблицы щелкните поле дважды кнопкой мыши (рис. 1. содержащую нужные вам данные. Щелкните мышью кнопку Закрыть (Close). представляющий таблицу в окне Конструктора. Если не хотите возвращать мышь в прямоугольник таблицы. Access вставляет прямоугольник. Не включайте одно и то же поле дважды. в котором вы сможете создать вага запрос. выбрав его имя из раскрывающегося списка в строке Поле 4. Но сначала программа Access распахивает диалоговое окно Добавление таблицы (Show Table).1). и щелкните мышью кнопку Добавить (Add) (или дважды щелкните таблицу кнопкой мыши). 6. что следует сделать.Далее описано. Па экране появится новое окно Конструктора. 2. можно добавить поле прямо из списка столбца. открывая доступ в Конструктор для формирования запроса. Выберите таблицу. но пока остановимся на одной. Каждый двойной щелчок мышью поля в прямоугольнике таблицы заставляет программу Access добавлять это поле к списку полей в нижней части окна.2).2. Вы задаете условия отбора и сортировку для этого столбца. иначе столбец будет отображаться . Выберите поля. Рис. которые хотите включить в ваш запрос. Вы можете повторить этот шаг и вставить несколько связанных таблиц. 6. 6. В примере с БД Boutique Fudge вам нужна таблица Orders.

Но в большинстве случаев лучше добавлять каждое поле отдельно. Расположите поля слева направо в том порядке. Примечание Хороший запрос содержит только самые нужные поля. тем легче сконцентрироваться на важной информации (и легче разместить распечатку на странице). каков ваш запрос. DatePlaced и CustomerID. Для того чтобы выбрать все поля из таблицы. Рис. но и позволяет выбрать порядок столбцов о запросе и использовать поле для сортировки и фильтрации. обязательно выберите. 5. в каком вы хотите.3). что столбцы выводятся слева направо в том порядке. Такой же способ применяется для упорядочивания столбцов на листе данных. в каком вы их добавляете. поля ID. Если вы пользуетесь примером Boutique Fudge. (Обычно это означает. чтобы они появились на экране результатов запроса. по крайней мере. В рассматриваемом примере поле DatePlaced перемещается в крайнее левое положение . который вы хотите перенести на новое место. то нужно переместить столбцы с помощью мыши (как показано на рис.два раза. Для реорганизации столбцов перетащите с нажатой кнопкой мыши серую полоску на вершине столбца. можно щелкнуть дважды кнопкой мыши звездочку (*).3. в каком они перечислены в списке столбцов в Конструкторе. 6. Такой способ не только помогает видеть. При выполнении запроса столбцы появляются в том же порядке. Чем меньше полей в запросе. 6.) Если вы хотите изменить порядок.

Выберите вариант по возрастанию. "Фильтрация" главы 3) — это средство. если хотите отсортировать текстовое поле от А до Я. поэтому самые последние заказы оказываются первыми в списке (рис. разд. программа Access отображает все столбцы. Рис. добавленные в список столбцов. В данном примере таблица сортируется по дате в порядке убывания. Фильтрация (см. Если вы не зададите порядок сортировки. 6. 8 Задайте условие фильтрации или отбора. Выберите вариант по убыванию для обратного порядка Подсказка Вы можете сортировать по нескольким полям. . но отображать его данные нет никакой необходимости. Но в некоторых ситуациях вам нужен столбец при обработке запроса. что самые ранние записи появятся первыми. Для явной сортировки таблицы выберите поле. 7. сбросьте у них флажок Вывод на экран (Show). то получите записи прямо из БД в том порядке. и затем в соответствующем поле Сортировка (Sort) задайте вариант упорядочивания.4. Для получения корректных результатов воспользуйтесь методом переупорядочивания столбцов. Выберите порядок сортировки. Единственная хитрость заключается в том. Это правило обычно (но не всегда) означает. в каком они там хранятся. что столбцы должны быть упорядочены таким образом. описанным в пункте 5. Если вы хотите скрыть один или несколько столбцов.6.4). в верхней части таблицы. а числовое поле от меньшего значения к большему или поле даты от самой давней к самой свежей дате. Как правило. если значения столбца применяются для сортировки или фильтрации. которое вы хотите использовать для сортировки результатов. что первый сортируемый столбец выводится первым (слева) в списке столбцов. Обычно так бывает. 6. позволяющее акцентировать внимание только на интересующих вас записях и игнорировать все остальные.

(Вы узнаете больше о создании условий фильтрации в следующем разделе. определяющий заказы. чтобы выбрать заказы. Когда вы запустите запрос. щелкнув правой кнопкой мыши заголовок вкладки и выбрав команду Конструктор (Design View).) Если вы сформировали нужное условие фильтрации. (На рис.6 показан результат запроса к таблице Orders.) Вернуться в Конструктор можно. ее следует обрамлять символами # 9.5). 1 января 2007 г. 6. В данном примере можно поместить это условие в Условие отбора поля DatePlaced таблицы для того. сделанные в заданном диапазоне дат (с 1 января по 1 марта в 2007 году). сделанные в течение первых трех месяцев года: >=#1/1/2007# And <=#3/31/2007# Вы можете не ограничиваться одним фильтром — на самом деле можно вставить собственное условие отбора в каждое поле. то увидите результаты. представленные на листе данных (дополненные подстановками в связанных полях) и напоминающие таблицу в режиме редактирования. Учтите. в данном примере). Если вы хотите использовать поле для фильтрации. . Здесь показан фильтр. что когда вы используете реальную жестко закодированную дату как часть условия (например. Теперь создание запроса закончено и он готов к выполнению. 6. сбросьте флажок Вывод на экран для этого ноля. Рис.5. но не желаете выводить его на экран в окне результата. 6. Выберите Работа с запросами | Конструктор → Результаты → Выполнить (Query Tools | Design → Results → Run). поместите его в поле Условие отбора (Criteria) соответствующего поля (рис.Фильтрация или отбор урезает большой пласт данных до нужной вам информации и является сутью множества запросов.

Вы можете запустить запрос в любой момент. а структуру запроса со всеми его параметрами. При первом сохранении запроса программа Access запрашивает его имя. Конечно. которую он использует. отображающего заказы. он появится в нескольких группах области переходов. Сохраните запрос. Удачное имя запроса описывает представление данных. 6. Если вы применили ярко-розовый фон и наклон ный шрифт на листе данных с таблицей Orders . Применяйте те же правила именования. Примечание Помните о том. Окно листа данных можно использовать для просмотра и вывода на печать результатов или редактирования информации. сохраняя запрос. Здесь представлены результаты запроса. дважды щелкнув его кнопкой мыши. Хороший выбор FirstQuarterOrders_2007 (заказы первого квартала 2007) показан на рис.7). Если вы не планируете повторно использовать запрос. Вы можете сохранить ваш запрос в любое время с помощью сочетания клавиш <Ctrl>+<S>. так же как данных таблицы. Если вы этого не сделаете. когда вы закроете вкладку запроса (или всю вашу БД). Предположим. вы не обязаны сохранять ваш запрос. ис пользующих таблицу Orders . Если запрос использует несколько таблиц. как и в случае таблицы. 6.Рис. Если использовать стандартный режим отображения Все таблицы (All Tables). который захватывает все дорогие . нет смысла загромождать вашу БД лишними объектами. В этом случае вы можете выполнить запрос в любое время и получить реальные результаты.6. отображенной на листе данных Примечание Лист данных с вашим запросом приобретает те же параметры форматирования. запрос появится под таблицей. 6. что. те же параметры будут у всех запросов. которым вы следуете при задании имен таблиц — воздержитесь от использования пробелов и специальных символов и делайте заглавной первую букву каждого слова. что вы создали запрос с именем TopProducts. сделанные в течение заданного временного периода. которые вы задали на листе данных с базовой таблицей. соответствующие вашим условиям отбора. которое он формирует. программа Access автоматически сохранит его. После создания запроса вы увидите его в области переходов вашей БД (рис. Иногда запрос создается для конкретной решаемой один раз задачи. вы сохраняете не результаты. Но вы можете изменить оформление вашего запроса точно так же. 10.6.

запрос TopProducts (показанный здесь) появляется под таблицей Products Программа Access разрешает открывать одновременно таблицу и любые запросы. Например. Построение условий отбора Секрет хорошего запроса — извлечение только нужной вам информации и ничего больше.) Но вы не сможете изменить структуру таблицы. изменять и удалять запросы — в конце концов. они существуют для облегчения вашей жизни. Самый быстрый способ — выбрать последовательность Главная → Записи → Обновить → Обновить все (Home → Records → Refresh → Refresh All). Можно также закрывать запрос и снова открывать его. программа Access изменяет данные в базовой таблице. отредактировать или напечатать информацию о дорогих товарах. когда открыт запрос. ее использующие. .продукты из таблицы Products (с помощью условия фильтра >50 в поле Price). 6. совершенно безопасно переименовывать. которые они используют. какие записи следует взять (а какие нужно игнорировать). По умолчанию в области переходов ваши запросы выводятся сразу под таблицами. С другой стороны. Если вы добавляете в таблицу записи. Примечание Напоминаю. (Все они отображаются на отдельных вкладках. Рис. вам понадобится условие фильтрации или отбора. пока не закроете все запросы на базе этой таблицы. Для того чтобы сообщить программе Access. когда вы открываете его в Режиме таблицы. Когда вы редактируете результаты вашего запроса. запрос — это представление некоторой части данных вашей таблицы. вы выполняете запрос TopProducts. Если нужно просмотреть. новые записи не будут автоматически появляться в запросе. Вам придется повторно выполнить ваш запрос. поскольку Access каждый раз выполняет запрос. Для тонкой настройки параметров запроса щелкните его правой кнопкой мыши в области переходов и затем выберите режим Конструктор.7.

После этого вы можете его использовать при построении запроса для таблицы Orders. ="Harrington Red" . подстановки изменяют способ отображения значений на листе данных. разд. если вы хотите найти записи в таблице Orders. потому что имя и фамилия хранятся отдельно. Например. можно применить следующее условие отбора: =1032 Для того чтобы заставить это условие действовать. вы узнаете в разд. хотя бы одно значение которой соответствует условию отбора. Если сопоставляется текст. John (Хэнкок Джои). Иначе программа Access не будет знать. "Запросы и связанные таблицы" далее в этой главе. которое вы хотите применять для сравнения. Для тех. Но при создании условия отбора или фильтрации следует помнить. Access включает в результат любую запись. Для этого есть две возможности: • найти нужное значение кода (ID) в таблице Customers заранее. необходимо значение заключить в кавычки. Вместо этого на экран выводятся информативные данные. что несколько преподавателей могут объединиться для ведения одного и того же учебного курса). вы не увидите зашифрованные числа. а условие =Hancock. "Многозначные поля" главы 5). где начинается и заканчивается текстовый фрагмент. Не бойтесь подстановок Как вы знаете. в которой преподаватель 1032 ведет класс независимо от того. используя имя и фамилию клиента вместо его идентификационного номера. John — нет. назначены ли для ведения этого класса другие преподаватели. например фамилия и имя Hancock. поскольку этот шаблон применяется в более сложных условиях фильтрации.Условие отбора определяет интересующие вас записи. Если написать условие =1032 в поле InstructorID. что таблица Classes содержит многозначное поле InstructorID (указывающее на то. использующее связанную информацию. определяющего способ сравнения данных программой Access. кто понимает. Представьте себе. а не в таблице Orders. программа Access включает в результаты запроса запись. Если нужно найти осе заказы. Условие отбора -1032 для поля CustomerID действует корректно. Как воспользоваться этим приемом. Если добавить подстановку к полю CustomerID в таблице Orders. такие как 1032. (Они содержатся в таблице Customers. Они начинаются с оператора (в данном случае знака равенства). • применить запрос на объединение для получения имени и фамилии из таблицы Customers и вывести их рядом с остальными подробностями заказа. Примечание Если вы используете многозначное поле (см. В этом поле можно написать просто 1032 вместо =1032. сделанные клиентом с номером 1032. за которым следует значение (в данном случае 1032). но лучше придерживаться второй формы.) Порой требуется создать условие отбора. какие данные на самом деле хранятся в поле. необходимо поместить его в поле Условие отбора (Criteria) под полем CustomerID. поскольку этого номера у вас под рукой нет.

оно уведомляет программу Access о том. вы видите все результаты. условие на значение <50 And >10 сообщает Access о том. Получение заданного количества первых записей Когда выполняется обычный запрос. "Запись условия па значение поля" главы 4. На профессиональном уровне. которые использовались для защиты от некорректных данных (см. можно также добиться того. сделанные в 2007 г. если нужны результаты. которые объединены могущественным ключевым словом And (см. стоящих больше 10 и меньше 50 долларов: <50 And >10 В этом выражении на самом деле два условия (меньше 50 и больше 10). Как альтернативу можно применять ключевое слово Or. не попавших в заданный диапазон. Если их больше. Особенно полезны условия для дат. Синтаксис фильтра Если фильтры кажутся хорошо знакомыми. что значение не должно приниматься. В главе 7 вы рассмотрите более мощные инструменты для построения выражений. Используя сортировку.. С помощью условия отбора легко можно получить продукты с ценами. отбирающее заказы за первые три месяца текущего года. какой год на дворе. можно воспользоваться условиями фильтрации для сокращения списка. Подсказка Поработав чуть больше. разд. что наиболее дорогие . что и у правил верификации или условий на значение. превышающими заданное пороговое значение. Например. Благодаря такому подобию вы можете использовать все условия на значение. В главе 7 вы узнаете. как усилить условия фильтрации или отбора с помощью функций Access. удовлетворяющие условиям отбора. независимо от того. представленные в разд. чем следовало бы. будут найдены асе заказы. разд. "Комбинирование условий на значения" главы 4). разд. Но не забывайте обрамлять жестко фиксированные даты знаками # (см. Если же такое условие помещается в поле отбора. Добавьте следующее условие отбора в поле OrderTotal для поиска всех заказов. для этого есть основания. чем вы ожидали. "Проверка допустимости дат" главы 4). которые удовлетворяют одному из заданных вами условий. что вас не интересует отображение записей. но после 31 декабря 2006 г. что вы хотите увидеть 10 самых дорогостоящих продуктов. Единственное отличие — способ интерпретации условия программой Access.Вместо поиска точного совпадения можно использовать диапазон. Представьте себе. У них тот же синтаксис. Это условие требует применения функций. предоставляемых программой Access для дат. В некоторых случаях фильтры требуют немного больше работы. Если поместить следующее условие отбора в поле DatePlaced.: <#1/1/2008# And >#12/31/2006# Это выражение отбирает все даты до 1 января 2008 г. можно создать условие фильтрации. если оно не попадает в заданный диапазон (от 10 до 50). "Правила верификации или условия па значения" главы 4).

6. 2. Стандартный вариант для этого поля — Все (All). Но можно выбрать 5. Рис. Далее описан его принцип работы. 25 или 100 для получения 5. чтобы наиболее интересные для вас записи оказались в верхней части таблицы. В этой ситуации у режима Конструктора запросов есть инструмент. Если нужного вам количества записей нет в списке. 25 или 100 первых записей соответственно. которые хотите использовать). Можно также задать значение в процентах. Если вы хотите найти самые дорогостоящие продукты. что нужно получить 10 записей и остановиться. вставьте сортировку по убыванию в поле Price. способный помочь вам выйти из затруднительного положения. Откройте запрос в Конструкторе (или создайте новый запрос и добавьте поля. 25% для получения первой четверти всех отобранных записей. В поле Работа с запросами | Конструктор → Настройка запроса → Возврат (Query Tools | Design → Query Setup → Return) выберите другой вариант (рис. получение всех соответствующих условию записей. например. просто введите его в поле Возврат собственноручно. Ничего не помешает вам отобрать 27 наиболее дорогостоящих продуктов . В данном примере используется таблица Products и добавляются поля ProductName и Price.8). 6.8. 3. Отсортируйте таблицу так. 1.компоненты попадут в верхнюю часть таблицы. Но вы не сможете с легкостью сообщить Access о том.

разд. Выполните ваш запрос для отображения результатов (рис. быстрее. следует выбрать подходящий порядок сортировки. программе придется просмотреть всю таблицу. (Индекс — это перечень всех значений в одном поле в отсортированном порядке. Если задать программе Access извлечение только пяти записей. Если отсортировать ваш список так. запись за записью. что вы с помощью программы Access хотите найти запись "Bavarian Tart" в таблице Products. Пять самых дорогостоящих продуктов Практические занятия для опытных пользователей. 6. они препятствуют возникновению дублирующихся значений (см. Если у вас есть индекс для поля ProductName. Если же индекса нет. Во-вторых. предположим. Важность этого условия будет понятна. Рис.) У индексов два назначения. и программа может быстрее перейти в нужное место. Access может просматривать раздел для буквы "В". если узнать немного больше о принципе работы данного инструмента. удовлетворяющие заданным условиям. поэтому нельзя сказать. . что первыми будут идти самые дорогостоящие продукты (как в данном примере). но и потому. Затем программа отбросит все кроме первых пяти записей в списке. Не только потому. отберет все записи. сколько пройдет времени до того. в результате вы получите пять самых опустошительных для бюджета продуктов. "Предотвращение дублирования значений с помощью индексов" главы 4). и затем перейти к полному набору деталей. она на самом деле выполнит обычный запрос. что он отсортирован. Таблица не отсортирована. Как индексы ускоряют поиск В главе 4 вы познакомились с табличными индексами и научились создавать их. и упорядочит их в соответствии с вашим порядком сортировки. Вопервых.Примечание Для того чтобы поле Работа с запросами | Конструктор → Настройка запроса → Возврат нормально функционировало. дока не найдет нужное значение. они помогают программе Access выполнять поиск с более высокой скоростью. как Access случайно натолкнется на нужную запись. чем просматривая целую таблицу. Для того чтобы понять разницу. что индекс меньше физически (поскольку он содержит значения только одного поля). Зачастую Access может искать.9). Рядом с каждым значением хранится указатель на полную запись в таблице. пользуясь индексом. 4. 6.9.

Сейчас лучше всего выбрать мастер Простой запрос (Simple Query). если вы не применяете его в условии отбора. Создание простого запроса с помощью Мастера запросов Как правило. если он и так работает с максимальной скоростью. В процессе выполнения Мастер запроса задает серию вопросов и затем формирует запрос. Далее перечислены ситуации. тем больше работы приходится выполнять программе Access при добавлении и обновлении записей. которое вы хотите индексировать.На первый взгляд индексы кажутся невероятно полезными. программа Access вообще им не воспользуется. 6. • У вас БД большого объема. С другой стороны. поэтому ей не придется ждать отклика жесткого диска. Есть смысл добавить индекс к полю ProductName в таблице Products. Нет смысла улучшать запрос. 2. Кроме того. которое вы хотите индексировать. • Поле. Даже если у вас тысячи записей.10). поскольку множество клиентов живет в одном и том же городе. В Мастер запроса включено несколько распространенных типов запросов. не тратя времени на ожидание. Он хорош как отправная точка для новичков. За исключением перекрестного запроса у всех остальных нет ничего необычного. в результате индекс в поле City будет неэффективен и. начинать создание запроса лучше всего в Конструкторе. Мастер запроса довольно слабый. Но у индексов есть и недостатки. необходимые для запуска и выполнения Мастера запроса. поскольку лишь у нескольких продуктов (если такие есть вообще) одинаковое название. не стоит индексировать поле City в таблице Customers. Access почти всегда благодаря принципам работы жесткого диска может просмотреть быстрее всю таблицу. Если вы часто ищете отдельного конкретного клиента. Программа Access позволяет выбрать из нескольких разных мастеров (рис. программа Access часто может загрузить весь набор в оперативную память вашего компьютера. . Не индексируйте поле. чем применять индекс. как бы они не повышали производительность поиска. В действительности индексы расходуют ресурсы. 1. Чем больше индексов создано. Выберите Создание → Другие → Мастер запроса (Create → Other → Query Wizard). но это не единственная возможность. и все ваши запросы становятся молниеносными. возможно. содержит уникальные (или почти уникальные) значения. в которых следует рассматривать возможность применения индекса для ускорения поиска. • Поле. Большинство приверженцев программы Access могут искать в гигантских БД день за днем. Выберите тип запроса. Если у вас несколько сотен записей. применяя подстановку его фамилии. Далее описаны действия. В отличие от множества других мастеров Access и других приложений пакета Office. добавьте индекс в поле LastName (фамилия). и вы готовы попытаться создать их для всех полей вашей таблицы. используется в поиске. но не для оперативного исполнителя. • Ваш поиск выполняется медленно. а затем переопределить ваш запрос в Конструкторе. отвечающий вашим требованиям. каждый индекс занимает какое-то место. Можно применить Мастер запроса как отправную точку.

Затем добавьте поля. Этот тип запроса вы создали в предыдущем разделе. Рис. отображающий подмножество данных таблицы. как показано на рис. Его можно применить для поиска заказа. 6. o Мастер запросов Поиск записей. который не связан ни с одним конкретным клиентом. содержащую нужные вам данные. раскрывающемся списке Таблицы и запросы (Tables/Queries) выберите таблицу. "Предотвращение дублирования значений с помощью индексов "главы 4).10. которые вы хотите видеть в окне результатов запроса. На первом этапе выполнения Мастера запроса вы выбираете из небольшого набора основных типов запросов 3. в которых используются совпадающие значения.Вы научитесь создавать все эти типы запросов с помощью Конструктора. На экране появляется первое окно мастера запросов. o Мастер Создание простых запросов (Simple Query Wizard) позволяет вам создать обычный запрос. o Мастер запросов Поиск повторяющихся записей (Find Duplicates Query Wizard) похож на мастер Создание простых запросов. за исключением того. Вы узнаете. отображающее только те записи. как он работает в разд. что он включает условие отбора. Щелкните мышью кнопку ОК.11. извлекающее несвязанные записи из подчиненных таблиц. . "Поиск несвязанных записей" далее в этой главе. не имеющих подчиненных (Find Unmatched Query Wizard) похож на мастер Создание простых запросов. "О перекрестных запросах" главы 9. который позволяет анализировать большие объемы данных с помощью разных вычислений. o Мастер Создание перекрестных запросов (Crosstab Query Wizard) создает перекрестный запрос. 4. что он содержит условие отбора. 6. Если вы забыли создать первичный ключ или создать уникальный индекс в вашей таблице (см. за исключением того. такой запрос поможет удалить возникший беспорядок. В. Один такой запрос рассматривается в разд. разд.

Если в вашем запросе есть числовое поле. Вы узнаете больше об итоговых запросах в главе 7. Рис. Такой выбор имеет смысл. затем выберите вторую таблицу и повторите процесс. Одна из причин. по которой вам может понадобиться переход в режим Конструктора вставка условий отбора или фильтрации (см. Можно добавлять поля из нескольких таблиц. Вставляйте их слева направо в том порядке. 7. 6. для выполнения запроса выберите переключатель Открыть запрос для просмотра данных (Open the query to view information). Введите имя запроса в поле Задайте имя запроса (What title do you want for your query?). Сейчас. 6. 6. если щелкнуть мышью кнопку с двойной стрелкой » и удалить поля.Лучше добавлять поля поочередно. в каком они должны появиться на экране результатов. На экране появляется завершающее окно Мастера запроса (рис. Для этого сначала выберите одну таблицу и добавьте поля. выбрав их в списке Выбранные поля и щелкнув мышью кнопку <. Щелкните мышью кнопку Далее (Next). В данном примере в запрос включены три поля 5.12). выберите переключатель Изменить макет запроса (Modify the query design). Мастер запроса предложит создать итоговый запрос. a затем нажмите кнопку Далее (Next). которые нужны. Если вы хотите подкорректировать запрос. Если же вы довольны тем. отметьте переключатель подробный (вывод каждого поля каждой записи) (Detail). разд. объединяющий строки в группы и вычисляющий итоги или средние значения. только если таблицы связаны. что получилось. "Запросы и связанные таблицы" далее в этой главе. "Фильтрация" главы 3) для извлечения . Можно добавить все поля сразу. если у вас есть такой выбор. Вы узнаете больше об этом в разд. Для добавления поля выберите его в списке Доступные поля и щелкните мышью кнопку со стрелкой > (или дважды щелкните его мышью).11.

если вы хотите повторно использовать плоды вашего напряженного труда и упростить сложные запросы. Ваш запрос откроется в Конструкторе или Режиме таблицы в зависимости от выбора. который находит клиентов. "Итоговые данные" главы 7). На основе этого запроса. вам захочется создать более специализированный итоговый запрос (см. . отбирающего результаты другого запроса. возможно.12. Чаще всего запрос строится на другом запросе. сделанного вами в пункте 7. Но внимательные читатели могли заметить и другой возможный выбор — а именно возможность создания запроса. что вы создаете запрос на базе таблицы из вашей БД. 8. сколько у вас недавних покупателей в каждом регионе. вы хотите создать запрос к БД Boutique Fudge. вы не можете задать условия отбора в Мастере запроса. поместивших заказ в текущем месяце. Если вы создаете запрос в окне Конструктора. Щелкните мышью кнопку Готово (Finish). который объединяет клиентов в группы с учетом города. Запросы на базе запросов В примерах этой главы предполагается. К сожалению. Например.определенных строк. разд. и извлекает всю информацию об этих клиентах. Рис. и подсчитывает. Если же запрос создается с помощью мастера. На последнем этапе вы выбираете имя для вашего запроса и немедленный вывод результатов или дальнейшее усовершенствование запроса в Конструкторе Малоизвестная или недооцененная возможность. Выполнить запрос можно с помощью последовательности Работа с запросами | Конструктор → Результаты → Выполнить (Query Tools | Design → Results → Run). нужно просто использовать вкладку Запросы в диалоговом окне Добавление таблицы (вместо вкладки Таблицы). все ваши запросы выводятся вместе с таблицами в раскрывающемся списке Таблицы и запросы в первом окне мастера. 6. в котором они живут.

Примечание Гуру БД все еще спорят о том. Вам придется познакомиться поближе с лежащим в основе запросов языком SQL. Но разделив логику на две части. перемещение других объектов. как произносить название языка: "Эс-ку-эль" (что исторически корректно) или "Сиквэл" (именно это название применяется в программном обеспечении корпорации Microsoft SQL Sever). хотя и с незначительными вариациями и индивидуальными отличительными особенностями. именуемом SQL (Structured Query Language. невозможно. Изучение команд SQL для ваших запросов снимает налет таинственности с принципов работы программы Access. Конечно. для редактирования команды нужно знать о языке больше. Это неплохая идея.13 показана команда. ■ Вы собираетесь перенести команду в другую программу управления БД. Чаще всего вы не будете тратить много времени на обдумывание SQL. он поддерживается всеми основными программными продуктами для управления БД. который можно использовать для реконструкции запроса в новой БД. как с помощью Режима SQL создать запрос на объединение. Но иногда нужно посмотреть на него повнимательнее. Далее перечислены возможные причины. ■ Вы — суперспециалист по написанию кода на языке SQL. требующая усилий. язык структурированных запросов). прячущегося за вашими запросами. 6. . которую вы увидите. которое поддерживается языком SQL. содержащий в окне результатов данные двух похожих таблиц. Access просто сохраняет в вашей БД текст этой команды. Для просмотра команды SQL для вашего запроса щелкните заголовок вкладки правой кнопкой мыши и выберите команду Режим SQL (SQL View). выполняющий оба этапа. но не доступно в Конструкторе запросов.Можно создать один запрос. что нужно программе для выполнения запроса в дальнейшем. Когда вы сохраняете запрос. написанная на экзотическом языке. На рис. Когда вы создаете запрос в Конструкторе (или с помощью Мастера запроса). ■ Вы хотите выучить язык SQL. Это все. но это лишнее. и Конструктор запросов только тормозит вашу работу. В этой книге мы полагаем. что вы пользуетесь более продвинутым вариантом "Сиквэл". чем самая малость. программа Access генерирует соответствующую команду SQL. Это работа. вы сможете легко повторно использовать первый запрос (недавние клиенты) для создания множества связанных запросов. если вы хотите делать карьеру администратора БД. Язык SQL— один из главных компонентов мира БД. если вы привязаны к программе Access. Далее в этой главе вы узнаете. Режим SQL За кадром каждый запрос в действительности — текстовая команда. Вы можете находиться в состоянии переноса БД из Access в более мощную БД Oracle. ■ Вы просто любознательны без всякой задней мысли. что несмотря на возможность переноса данных в другое хранилище. таких как запросы. ■ Вы хотите выполнить действие. и можно столкнуться с тем.

Если вас испугал этот режим. Если вы задали несколько условий отбора в разных полях. которую вы исследуете. ■ Строка 3 начинается со слова WHERE. Предложение языка SQL WHERE ( ( (Products . объединенные с помощью оператора AND. все запросы готовятся из одних и тех же ингредиентов. в любой момент можно вернуться в другой. . Но часто в вашей команде будут дополнительные строки. которые приведены далее (каждая строка пронумерована для облегчения ссылок). Рассмотрим запрос для поиска дорогостоящих заказов. ■ Строка 1 начинается со слова SELECT. FROM Products 3. Строка 2 начинается со слова FROM. Access использует скобки. с которыми вы имели дело в этой главе). SELECT Products.Price. В данном случае есть только одно условие — цена продукта должна быть больше 50 долларов. ORDER BY Products.ProductName. на случай если вы решите создать запрос. Price>50. Products. означающего. Проанализируем первые две строки. который выбирает записи (как и все запросы. В этих двух строках представлен законченный действующий запрос. Примечание Программа Access несколько странным образом применяет скобки в условиях отбора. что перед вами запрос. сводятся по сути к одним и тем же ингредиентам: 1. Products. стоящие больше 50 долларов. использующий несколько таблиц. которые вы хотите видеть. Каждое поле записано в длинном формате ИмяТаблицы. WHERE (((Products.13.Price)>50)) 4. Price) >50) ) можно упростить до следующего WHERE Products. указывающего на таблицу (таблицы). поскольку они облегчают анализ сложных запросов с множественными условиями отбора. который находит товары.Price 2. здесь будут представлены все они. указывающего на начало ваших условий отбора. ИмяПоля. щелкнув правой кнопкой мыши заголовок вкладки и выбрав Конструктор или Режим таблицы Анализ запроса Несмотря на то. В данном случае нужные вам записи есть в таблице Products. что язык SQL на первый взгляд кажется сложным.Рис. 6. задающие параметры фильтрации и сортировки. На экране команда SQL для запроса TopProducts. За словом SELECT следует разделенный запятыми список полей.ID.

Программа Access следит за синхронизацией разных режимов представления запроса.ID. формируется из нескольких общих ингредиентов. остается только вставить слово UNION между двумя запросами. Для проверки этого свойства можно изменить текст SQL так. но таковы соглашения в мире языка SQL. Щелкните правой кнопкой мыши заголовок вкладки. чтобы выбирался дополнительный столбец и сортировка выполнялась по двум полям таким образом. чтобы продукты с одинаковой ценой выводились в алфавитном порядке (новые текстовые фрагменты выделены жирным шрифтом): SELECT Products. Customers. вы увидите разделенный запятыми список полей.LastName FROM Customers .FirstName. Products. что структура результатов всех запросов на выборку должна быть одинаковой. которые определяют порядок сортировки. Тонкость заключается в том. Products. полученный из двух таблиц — Customers и Employees: SELECT Customers.ProductName. Products. По сути.■ Строка 4 начинается со слов ORDER BY.Price)>100)) ORDER BY Products. Если вы выполнили все перечисленные требования. Запрос на объединение (union query) — один из примеров запросов. то увидите только что откорректированную версию запроса (пока вы не допустили ошибку.ProductName. при возникновении которой Access выводит на экран сообщение об ошибке).Price. затем выберите Конструктор для того. который вы создаете. временами очень полезных. вы увидите сокращение DESC после имени поля. Далее приведен запрос на объединение. Таким образом. В данном случае записи отсортированы по возрастанию значений в поле Price (цена). Products. Запрос на объединение объединяет результаты из нескольких таблиц и затем представляет их на общем листе данных. Программе Access эта деталь не нужна. Если сортируется несколько полей. Резюме приведенного урока состоит в том.Price. и после внесения этих изменений вы больше не сможете просмотреть ваш запрос в Конструкторе (пока позже не удалите неподдерживаемое изменение). а затем возвращаетесь в режим Конструктора. Если задана сортировка по убыванию. запрос на объединение составляется из двух (или нескольких) отдельных запросов на выборку. как внесенные изменения отражены в режиме Конструктора. Их можно применить.Description FROM Products WHERE (((Products. ). Создание запроса на объединение Конструктор не распознает некоторые редкие методы языка SQL. только откорректировав команду SQL в Режиме SQL. что любой запрос. но не поддерживаемых в Конструкторе запросов. представленных разделами SELECT. чтобы увидеть. Команда заканчивается завершающей точкой с запятой ( . FROM. следует извлечь аналогичные столбцы из каждой таблицы в одном и том же порядке. который представляет список имен и фамилий. Если вы вносите изменение в текст SQL. WHERE и ORDER BY.

Employees .UNION SELECT Employees . В данном примере. на экран выводится одна копия. и сотрудником. Программа Access не позволит вам редактировать запросы на объединение в Конструкторе запросов. 6. что структура результатов запросов к обеим таблицам. Две пересекающиеся окружности обозначают несколько наборов результатов. на экран выводится список имен и фамилий клиентов. FirstName. LastName FROM Employees Этот запрос функционирует. хотя вы не сможете с уверенностью определить. Рис. вместо конструктора вы попадете в Режим SQL. совпадает. 6. Примечание Если в результатах запроса на объединение выявляются совпадения. а не для их изменения. Запросы на объединение появляются в области переходов с другой пиктограммой. за которым следует список имен и фамилий сотрудников. являющегося и клиентом. В предыдущем примере этот шаг вызовет повторное отображение в объединенных результатах человека.14. отображаемых совместно . несмотря на то. у таблиц Customers и Employees разная структура. Но гораздо важнее то. Вы также не сможете редактировать данные — запросы на объединение предназначены исключительно для просмотра сведений. запрос все равно будет выполняться. Программа Access просто использует имена столбцов из первого запроса при выводе результатов на лист данных. даже если имена столбцов отличаются — если в таблице Employees содержатся столбцы с именами F_Name и L_Name. ПРИМЕЧАНИЕ Создать запрос на объединение можно. где заканчивается одна таблица и начинается другая. в данном случае поля FirstName и LastName. если заменить слово UNION словосочетанием UNION ALL. когда вы просматриваете результаты запроса. Программа помещает запросы па объединение в группу Несвязанные объекты (Unrelated Objects) в области переходов и применяет для их обозначения пиктограмму. Если вы щелкнете правой кнопкой мыши заголовок вкладки и выберете Конструктор. отличающуюся от пиктограммы обычного запроса (рис.14). Это поведение можно изменить.

В области Зависимости объектов выводятся все соответствующие объекты. у Access не хватает сообразительности для того. Для применения этого средства выполните следующие действия: 1.6). которые от него зависят. "Подготовка вашей базы данных" главы 18 различные причины деления одного набора данных на несколько разных таблиц. Когда вы изменяете имена в таблице. Если вы изменили структуру этих таблиц. Программа Access знает о том. зависящие от данного (Objects that depend on me). или переключатель Объекты. от каких таблиц зависит ваш запрос. когда вы распахиваете таблицу в Конструкторе для изменения ее структуры.Запросы на объединение — это хороший способ соединения двух аналогичных таблиц. чтобы выяснить. прежде чем изменять структуру таблиц Программа Access проявляет удивительную смекалку при отслеживании связей запросов с конкретными таблицами. то с удивлением обнаружите. 6. Для этой задачи вам нужны запросы на выборку с объединением таблиц (join queries). чтобы увидеть все объекты. Для тех. Подумайте дважды. если вам нужно проникнуть в Режим SQL для формирования запроса. использующие данный. выберите ту же последовательность еще раз. который вы хотите исследовать. которые использует данный объект. программа соответствующим образом корректирует запрос. прежде чем изменять ее. Выберите Работа с базами данных → Показать или скрыть → Зависимости объектов (Database Tools → Show/Hide → Object Dependencies). кто понимает. Предположим. 3. что запрос FirstQuarterOrders_2007 зависит от таблицы Orders. использующих таблицу Orders.15). рис. В правой части окна программы Access появляется область Зависимости объектов.) 2. то при следующем выполнении запроса получите сообщение об ошибке. Это особенность становится актуальной. 6. например. разделенные на категории в зависимости от их типа (рис. В верхней части области Зависимости объектов щелкните кнопкой мыши ссылку Обновить (Refresh). описанные в следующем разделе. чтобы увидеть объекты. от которых зависит данный (Objects that I depend on). в разд. Программа Access не может отследить все зависимости. способное проверить любой выбранный вами объект БД и сообщить обо всех других объектах. (См. говорящее о том. который нельзя создать в режиме Конструктора. что он все еще действует. что вы переименовываете таблицу Orders (заказы) в таблицу Sales (продажи) и поле DatePlaced (дата размещения) в поле OrderDate (дата заказа). В области Зависимости объектов выберите переключатель Объекты. 4. безопасности или способа распространения. когда вы запустите запрос FirstQuarterOrders_2007 (см.) Эти запросы неудобны для обработки отношений "родитель — потомок". Это средство можно применить для определения запросов.) . Access содержит отличное средство. что программа не может найти нужное поле или таблицу. В следующий раз. которые были разделены из соображений производительности. В области переходов выберите объект БД. Если создается запрос на объединение (как в предыдущем примере). (Для того чтобы скрыть ее. форм и отчетов. (Для исправления ошибки необходимо снова открыть запрос в Режиме SQL и заменить имена полей или таблиц их новыми значениями.

6. Объединение применяется для усиления подчиненных таблиц данными из таблицы-родителя. (Щелкните кнопкой мыши + рядом с именем TopProducts. Объединение — операция запроса. используют ли другие объекты БД данный запрос. и четыре запроса. чтобы выяснить. как делить данные на базовые фрагменты и сохранять их в отдельных хорошо организованных таблицах. что у программы Access нет данных о его зависимостях Запросы и связанные таблицы В главе 5 вы узнали. В нем отображен запрос на объединение CustomersAndEmployees. Access обладает чудесным средством — вы можете снова соединить таблицы при выводе на экран с помощью операции объединения (join).Рис. Отображены три таблицы. . щелкнув кнопкой мыши квадратик со знаком "плюс" (+). К счастью. и это свидетельствует о том. извлекающая столбцы из двух таблиц и соединяющая их на листе результатов. У такого проекта есть лишь одна проблема — гораздо труднее представить общую картину. В любой объект можно углубиться. если связанные данные хранятся в разных местах.15. расположенный рядом с именем объекта. использующие таблицу Products. На рисунке в области Зависимости объектов анализируется таблица Products.) В конце списка находится раздел Пропущенные объекты. связанные с Products.

Он может выбрать массу сведений из связанной таблицы — гораздо больше. сделавшем заказ. снабженный информацией о преподавателях. 6. Соедините эту таблицу с таблицей Teachers. Первый шаг — добавление обеих таблиц в ваш запрос. Сама по себе таблица Classes содержит данные о каждом классе. . На рис. Из БД Boutique Fudge можно извлечь список заказов. и вы получите любую интересующую вас информацию из связанной записи о преподавателе — включая его имя и фамилию Объединение таблиц в запросе Access делает удивительно легким объединение двух таблиц. Подстановка может вывести название категории изделия из поля ProductID вместо кода изделия. Но запрос с использованием операции объединения гораздо мощнее. дополнив его сведениями о клиенте.16. с помощью диалогового окна Добавление таблицы (Show Table). Примечание Вы уже научились создавать таблицы подстановок для отображений части информации из связанной таблицы. 6. В БД кукол-болванчиков можно отобразить список кукол (извлеченный из таблицы Dolls) совместно с данными об изготовителе каждой куклы-болванчика (из таблицыродителя Manufacturers). В БД школы Cacophone music можно получить список учебных классов. но она предоставляет только идентификационный номер назначенного преподавателя. чем может вместить одно поле.16 показано объединение таблиц. Рис.Далее приведено несколько примеров.

программа Access использует эту связь для автоматического выполнения операции объединения. "Поиск в связанных таблицах" главы 5). . менее сообразительным специалистом Access). соединяющую соответствующие поля. определенной в БД Если связь между двумя связанными таблицами еще не определена. что вы в режиме Конструктора. 6. Вы увидите на схеме линию. Но если вы по каким-то непонятным причинам решили не создавать связь (может быть. Можно также удалить объединение. возможно. "Определение отношения" главы 5. щелкните правой кнопкой мыши окно и выберите в меню строку Добавление таблицы. как описано в разд. Для этого просто перетащите мышью связанное поле одной таблицы на совпадающее поле в другой.Если в Конструкторе создается новый запрос. вы можете задать объединение вручную в окне запроса. или созданием подстановки. как показано на рис. как описано в разд. щелкнув правой кнопкой мыши линию объединения и выбрав команду Удалить (Delete). 6. подробные инструкции в главе 5).17. убедитесь.17. это окно появляется немедленно. это следует сделать до того. как создавать запрос (см. проект БД был введен в эксплуатацию другим. Если вы работаете над уже созданным запросом. Рис. Если связь между таблицами уже определена (с помощью схемы данных. основываясь на связи. Access автоматически соединяет поле CustomerlD в таблице Orders с полем ID в таблице Customers.

позволяющая соединять связанные данные из двух таблиц в одном результирующем наборе. что вам нужно — например. Сравнение: отношения и объединения Важно понимать различия между отношением или связью и запросом с операцией объединения. можно выбирать нужные вам поля из обеих таблиц. На профессиональном уровне. 6. Если объединяются таблицы Customers и Orders. легко забыть. что вы получите в результате: список заказов или список клиентов? Ответ прост — вы получаете список заказов. прежде чем выполнять нужное объединение. вы видите имя и фамилию самого активного клиента рядом с несколькими заказами. "Шесть правил проектирования БД" главы 2. • Отношение — постоянная связь между двумя таблицами. просто удалите ее. у многих таблиц есть общее поле Код (ID).18 показан пример запроса. Подобное действие зачастую совсем не то. а затем из каждой выбираются поля. Если объединяются таблицы Orders и Customers. Можно также добавить условия отбора записей и задать порядок их сортировки. Запросы со связанными таблицами всегда обрабатывают таблицу-потомок и берут дополнительную информацию из таблицы-родителя. то выполняете запрос. например ID и CustomerID. Когда вы связываете родительскую и дочернюю таблицы с помощью запроса с операцией объединения. Когда создается отношение в БД. программа Access пытается угадать связь. хранящаяся в БД. она добавляет связь для этих полей. получающий все записи из дочерней таблицы. как вы вводите и редактируете объединенные данные в базовых таблицах. Страница в конце . Но при этом правило запрета дублирующихся данных не нарушается. Если программа все же предлагает несуществующую связь. Примечание Если у вас две таблицы. Access считает. Однако если вы строго соблюдаете правила проектирования БД. у связанных полей имена в разных таблицах слегка отличаются. что вы выводите на экран. имеющее смысл. приведенные в разд. На рис. как в запросе любого другого типа.Примечание Если вы добавляете две несвязанные таблицы. разд. чтобы помочь вам. Если отношение установлено. и затем добавляете дополнительную информацию из родительской таблицы. 6. Объединение не влияет на то. Примечание При выполнении объединения вы видите повторяющуюся информацию. а на рис.19 — результат выполнения этого запроса. использующего операцию объединения. препятствующих проникновению противоречивых данных в связанные таблицы (см. есть возможность включить режим обеспечения целостности данных: набора правил. После того как вы поместили две таблицы в окно Конструктора запросов и определили операцию объединения. • Объединение — операция запроса. что вы хотите использовать операцию объединения для связи этих таблиц в запросе — единственное действие. что сведения о клиенте появляются в нескольких местах на листе данных с результатами запроса. в таблице Customers они сохраняются всего один раз. Несмотря на то. Если она находит поле с одинаковыми типами данных и именем в обеих таблицах. "Целостность на уровне ссылок " главы 5). дополненный информацией о клиентах.

Этот запрос отображает данные из таблиц Orders и Customers. Вы легко можете при беглом просмотре увидеть. так и таблицы Orders) .18.Рис. указывающую на таблицу. кто что заказал. Столбец ID содержит идентификационный номер заказа (хотя вы могли бы отобразить идентификационные номера как таблицы Customers.6. из какой таблицы первое поле – в любом случае вы создаете список заказов с дополнительными сведениями о клиентах. Обратите внимание на строку Имя таблицы (Table) (под строкой Поле). из которой в запрос попадает каждое поле Рис. Неважно.6.19.

сделавшем заказ. которые специалисты БД называют внутренним объединением (inner join).19 достаточно легко изменить поля DatePlaced или StatusID в записи о заказе. всегда есть риск наличия одноименных полей в обеих таблицах. Из примечания "Малоизвестная или недооцененная возможность.19. вы хотите отредактировать заказ. Переименование поля в запросе" в разд. Независимо от способа объединения вы никогда не получите список клиентов с присоединенной информацией о заказе — в этом нет смысла. Но этого сделать невозможно с помощью редактирования в запросе полей FirstName и LastName. Таким образом. иоле CustomerID не включено. встречающиеся в обеих таблицах. Единственный способ различить поля — переименовать одно из них на листе данных с результатами запроса. 6. в запросе на рис.) Если изменить имя в одном месте. программа Access автоматически изменит информацию в таблице Customers и затем обновит весь запрос. если вы захотите изменить детали из таблицыпотомка. Проблема возникает. "Определение вычисляемого поля" главы 7 вы узнаете. (Если вы отредактируете имя и фамилию. 6. Но в запрос. когда вы хотите изменить связь между записью о заказе и записью клиента. На профессиональном уровне. если вы не собираетесь отображать эти поля в вашем запросе. Внешние объединения В запросах.19. поэтому изменить связь невозможно. 6.Например.19 отображены два заказа клиента с именем Toby. 6. возможны проблемы. записи. Если выполнить запрос к таблицам Customers и Orders. показанный на рис. чтобы оно указывало на нужного клиента. применяющем операцию объединения. В примере на рис. Проблем не возникнет. Они позволяют отображать одну таблицу со всей нужной вам информацией. Изменение данных при использовании запроса с объединением Следует соблюдать осторожность при изменении данных в запросе. так. вы не увидите клиентов. Операции объединения — одно из самых мощных средств в наборе инструментов любого разработчика запросов. можно применить запрос с объединением для получения списка заказов (из дочерней таблицы) и дополнения каждой записи информацией о клиенте. используются операции. поскольку каждый клиент может сделать много заказов. чтобы в БД было записано.) Вместо этого вам нужно откорректировать поле CustomerID в таблице Orders так. что сведения об одном и том же клиенте могут выводиться в запросе несколько раз. как это сделать с помощью вычисляемого поля. например. не сделавших . Примечание Когда используется несколько таблиц. Access обновит вторую и третью строки на листе данных. но если это не так. что этот заказ сделан клиентом Lisa. Но что произойдет. Внутренние объединения выводят только связанные записи — другими словами. Такая возможность не страшна. Например. если вы измените одно из значений таблицы-родителя. если вы замените "Toby" на "Топу" на рис. которые вы видели в предыдущем примере. имя или фамилию клиента? Очевидно. сделанный Toby. то просто измените запись о Toby в таблице Customers. (Например.

разд. "Целостность на уровне ссылок" главы 5). что эти несвязанные записи выводятся в окне результатов запроса с некоторыми пропущенными значениями. Очевидно.ни одного заказа. Вы также можете выполнить внешнее объединение таблиц Orders и Customers. Таблица 6. чтобы выводились все записи о заказах.1. В этом случае в конце результатов запроса вы увидите все несвязанные записи о клиентах с соответствующими пустыми полями. а затем настраиваете его так. это некорректно введенный заказ. Предположим. появятся в нижней части списка и будут иметь незаполненные значения во всех полях со сведениями о клиенте (таких как FirstName и LastName) — табл. скорее всего. Результат внешнего объединения таблиц Orders и Customers: все записи о заказах FirstName Stanley Toby Toby LastName Lem Grayson Grayson ID 7 4 6 18 19 DatePlaced 13-Jun-07 03-NOV-06 03-Nov-06 01-Jan-08 01 -Jan-08 StatusID Cancelled Returned Shipped In Progress In Progress В данном конкретном примере нет смысла в существовании заказов.2). не связанных с конкретным клиентом (пропущено значение в поле CustomerID) или не связанных с корректной записью (они могут содержать значение в поле CustomerID. не связанных с конкретным клиентом. 6. не связанные с записью о клиенте. которые должна была бы предоставить таблица.1. соответствующими пропущенным данным. которые должны были бы содержать сведения о заказах (табл.2. не соответствующее ни одной записи в таблице Customers). Таблица 6. Вы также не увидите заказов. разд. что вы выполняете внешнее объединение таблиц Orders и Customers. внешнее объединение поможет устранить ее. Результат внешнего объединения таблиц Orders и Customers: все записи о клиентах FirstName LastName ID DatePlaced StatusID Stanley Lem 7 13-Jun-07 Cancelled Toby Toby Grayson Grayson 4 6 03-NOV-06 03-Nov-06 Returned Shipped . Внешние объединения (outer join) более емкие — они включают все результаты внутреннего объединения плюс оставшиеся в одной из таблиц (по вашему выбору) несвязанные записи. Подсказка Вы можете помешать появлению записей-сирот с данными о заказе. 6. "Запрет незаполненных полей" главы 4) и обеспечив ссылочную целостность (см. Все заказы. (На самом деле. сделав поле CustomerID обязательным (см. которое отображает все записи о клиентах.) Если вы подозреваете наличие проблемы.

Для этого просто щелкните правой кнопкой мыши линию объединения. в которых связанные поля обеих таблиц совпадают приводит к выполнению операции стандартного внутреннего объединения. не сделавших ни одного заказа. отслеживающий несвязанные записи (unmatched records). включающего все записи о клиентах. включающее все несвязанные строки одной из двух таблиц Поиск несвязанных записей Внутренние объединения — гораздо более распространенный тип объединений. Для выполнения такого запроса начните с запроса с внешним объединением. Эта информация поможет сотрудникам отдела провести кампанию поощрения клиентов. один важный тип запроса: запрос. Но внешние объединения позволяют создать. Хотите знать. Эта комбинация не так уж полезна. разд. Затем добавьте один ингредиент: условие отбора. как внешнее объединение дает возможность увидеть список всех ваших заказов плюс клиентов. см. выбирающее записи без кода (ID) заказа. связывающую две таблицы в окне Конструктора.20. Вы уже видели. до сих пор ничего не купивших. Два оставшихся переключателя позволяют создать внешнее объединение. Технически это неопределенные (null) или пустые значения. позволяющее изменить тип используемого вами объединения. по крайней мере. и выберите команду Параметры объединения (Join Properties) (или дважды щелкните кнопкой мыши эту линию). Выбор первого переключателя Объединение только тех записей.2 (окончание) FirstName LastName ID Ben Samatara Goosey Tabasoum DatePlaced StatusID Mason Khan В данном случае запрос с внешним объединением выбрал трех отстающих. как добавить внешнее объединение в ваш запрос? Начните с внутреннего объединения (которое программа Access добавляет автоматически. . Рис. Но отдел по маркетингу очень заинтересован во второй части этого сочетания — списке людей. "Объединение таблиц в запросе" ранее в этой главе). 6.Таблица 6. На экране появится одноименное диалоговое окно (рис. 6. а затем преобразуйте его во внешнее.20). сделавших первую покупку.

Таблица Products — потомок как таблицы ProductCategories. В этом запросе сочетаются внешнее объединение и условие отбора. 6. что поле ID применяется в условии отбора. что флажок Вывод на экран сброшен. В этом примере список продуктов усилен данными о категории продукта и сведениями о поставщике. 6.22. Это сделано потому.Рис. но в его присутствии на листе данных с результатами нет никакой необходимости Рис. таким образом. которому соответствуют только несвязанные записи о клиентах. Обратите внимание на то. данный запрос без усилий использует обе эти таблицы .21. так и таблицы Suppliers (поставщики).

а на нижнем — результат. а затем придется перейти к связанной таблице Customers Даже если вы не хотите отображать какие-либо данные из таблицы Orders. Многие запросы не ограничиваются одним объединением. Несмотря на то.23. Множественные объединения Как только вы освоились с внутренними и внешними объединениями. На верхнем рисунке показан запрос. кто заказал каждый продукт. что поначалу это кажется устрашающим. не связанные с записями в таблице заказов.Далее приведено нужное условие фильтрации. Они используют три. она включит только записи клиентов. Если вы хотите выяснить. ничего сложного в этом нет. когда программа Access выполнит запрос. Рис. которое следует поместить в строке Условие отбора поля ID таблицы Orders: IS Null Теперь. вам понадобится связанная таблица Orders. вам все равно не обойтись без этого двухшагового процесса.21 показан этот запрос в Конструкторе. четыре и больше объединений для соединения данных из многих связанных таблиц. Access подбрасывает вам новую функциональную возможность. который вы получите после выполнения запроса . 6. 6. реализующий этот процесс. На рис.

чтобы понять. как если бы оно было одним в запросе.24. которую компания Boutique Fudge использует для перечисления всех товаров в заказе клиента. в котором у таблицы-потомка два родителя. На рис. заказавшим товары. ведущего курс. содержащий рядом с каждым курсом имя и фамилию преподавателя.22 показан пример. а на нижнем — результат Иногда нужная вам информация находится в таблице. какие хотите. убедитесь. как определить список курсов. что вы собираетесь делать. 6. способных внести некоторую дополнительную информацию. Программе Access почти всегда хватает интеллекта. поля. что между таблицами появились линии объединения и затем выберите. Рис. Обратите внимание на таблицу OrderDetails. Для использования множественных объединений добавьте в запрос все нужные вам таблицы с помощью диалогового окна Добавление таблицы. Вы видите. которая непосредственно не связана с основной таблицей запроса. При наличии нескольких объединений каждое из них выполняется точно так же.Множественные объединения — всего лишь способ включения дополнительной связанной информации в ваш запрос. Сама по себе таблица OrderDetaits связана не с клиентом. а со связанной . На верхнем рисунке показана нужная вам структура запроса. 6.

Множественные объединения незаменимы. как показано на рис. разд. Если вы хотите получить сведения о том. Teachers и Teachers_Classes (рис.записью о заказе (см. разд. в котором обсуждается этот проект БД).24). "Заказ товаров" главы 5. придется создать запрос с тремя таблицами: Classes. Orders и Customers. как между преподавателями и курсами. кто заказал каждый товар. ведущего курс. дополненный именем и фамилией преподавателя. музыкальная школа Cacophone Studios использует промежуточную таблицу для отслеживания назначений преподавателей для ведения конкретных курсов.23. следует добавить в запрос таблицы OrderDetails. 6. "Отношение "многие-ко-многим"" главы 5). 6. . Если вы хотите получить список учебных курсов. Как вы помните из главы 5. если у вас есть отношение "многие-ко-многим" со связующей таблицей (см.

в которой есть и поле Price (цена). Прежде чем компания Boutique Fudge напечатает список для одного из своих наименее любимых розничных продавцов. сжимающие колонки цифр до лаконичных итоговых сумм. если налоговая ставка изменится. В предыдущей главе вы узнали. Еще хуже. В этой главе вы проникните в магические тайны создания запросов. иногда вы вынуждены отображать в программе Access вычисляемые данные. Вы узнаете. что вы хотите увидеть. то узнали. такие как PriceWithTax. Вы также научитесь писать сверхинтеллектуальные условия отбора и создавать динамические запросы. Даже зная. Примером такой ошибки может служить таблица Products. определенного в вашем запросе. Для этого компании необходимо откорректировать информацию о цене до вывода данных на печать. Но знатоки программы Access знают. Запросы предлагают отличное решение такого рода проблем. как выполнять вычисления в запросе и подводить итоги. она хочет установить для цены надбавку 10%. что в мире БД считается преступлением включение информации. упрощающих решение повседневных задач. и поле PriceWithTax (цена с включенным налогом). основанной на данных другого поля или другой таблицы. тогда вы останетесь с множеством записей.Глава 7 Основные хитрости. Программа Access вычисляет значение этого поля. Хитрость состоит в добавлении вычисляемого поля: поля. и возможностью появления противоречивых данных (например. как создавать запросы. Хранение обоих полей — это избыточное расходование дискового пространства. Проблема в том. поскольку они содержат универсальные методы математической обработки данных. которые. основываясь на одном или нескольких других полях таблицы. обрабатывающие огромные объемы информации и предлагающие вам именно то. компания будет вынуждена запросить ее. когда цена с налогом окажется ниже цены без налога). нуждающихся в обновлении. Если продавец увидит более низкую цену без надбавки. но не существующего в таблице. . запрашивающие информацию при каждом выполнении. что гораздо больше мощи прячется за пределами окна конструктора запросов. конечно же. что поле PriceWithTax вычисляется на основании поля Price. Вычисляемые поля Когда вы начинали проектировать таблицы. применяемые в запросах Все специалисты Access хранят в своих БД несколько (или несколько десятков) полезных запросов. коллег и партнеров. Эти методы — неотъемлемая часть набора рабочих средств любого настоящего фанатика запросов. что не следует создавать поля. произведут впечатление на вашего шефа. Значения вычисляемых полей никогда не хранятся в БД — программа генерирует их при каждом выполнении запроса.

в первый свободный столбец.) Примечание Пользователи предыдущих версий программы Access иногда вместо точки используют восклицательный знак (например. состоящее из имени таблицы с последующей точкой.1). "Применение функций " далее в этой главе) и форматирования (см. и одно и то же поле есть в обеих таблицах. 7. Для добавления вычисляемого поля PriceWithTax вам понадобится Конструктор. необходимо использовать свойства группировки.Определение вычисляемого поля Для создания вычисляемого поля следует задать два компонента: имя поля и выражение.10 По сути. (Если не сделать этого. "Форматирование чисел "далее в этой главе). за которой указано имя поля: PriceWithTax: [Products]. определяющее вычисление. "Запросы и связанные таблицы" главы 6). В этой ситуации следует применять полное имя для того. . описанного в разд.разд. определяется следующим образом: PriceWithTax: [Price] * 1.2). Примечание Выражение в каждый конкретный момент времени обрабатывает отдельную запись. использование запроса с операцией объединения (query join). Если вы не довольны тем. хотя можно раздвинуть существующие столбцы и освободить для него место.) Далее в ячейке Поле введите полное определение поля (рис. [Products] ! [ Price]). это выражение сообщает программе Access о том. если в ваш запрос включено несколько таблиц (например. Если нужно изменить цену. поле цены с налогом. Можно сослаться на поле Price. PriceWithTax. "Итоговые данные" далее в этой главе. чтобы избежать неоднозначности. Когда вы выполните его. Для того чтобы это вычисление выполнялось. что вычисляемые данные несколько иначе отформатированы — больше знаков в дробной части и нет символа валюты — это можно исправить с помощью округления (см. Access повторяет это вычисление для каждой записи. Если вы хотите объединить информацию из некоторых записей для вычисления итогов или средних значений. У вычисляемых полей есть одно ограничение — поскольку информация не сохраняется в вашей таблице. (Обычно оно добавляется и конец. вы не можете их редактировать. вычисляемые данные появятся рядом с другими столбцами (рис. Сначала найдите столбец. что нужно взять поле Price и умножить его на 1. Вычисляемые поля определяются с помощью следующего состоящего из двух частей шаблона: ИмяВычисляемогоПоля: Выражение Например. Access выдаст сообщение об ошибке при попытке выполнить запрос. 7. используя его полное имя. входящей в результаты запроса. Но вовсе необязательно отображать отдельно это поле в окне результатов запроса. Теперь вы готовы к выполнению запроса.[Price] * 1. описанные в разд. которые должна выполнить программа Access. в таблице должно существовать поле Price. разд. что равнозначно. необходимо отредактировать базовое поле Price — попытка корректировать поле PriceWithTax привела бы программу Access в полное замешательство.10 Такая синтаксическая запись нужна.10 (что эквивалентно повышению цены на 10%). в который вы хотите вставить вычисляемое поле.

несмотря на то.2. вообще не отображается Рис. Главное состоит в том.Рис. Результаты запроса отображают поле PriceWithTax с надбавкой 10%. 7. которое программа Access применяет для вычисления поля PriceWithTax. Этот запрос отображает два поля непосредственно из БД (ID и Name) и вставляет вычисляемое поле PriceWithTax.1. что вычисляемая информация теперь доступна постоянно. 7. Попробуйте проверить это с помощью карманного калькулятора . Обычное поле Price. что она не хранится в БД.

Изменилось значение в этом запросе? Если вы не знаете.10 (единственное отличие — квадратные скобки вокруг имени поля Price). Вернитесь снова в запрос Products WithTax. что произойдет. Теперь откройте таблицу Products. она не удаляется автоматически из окна результатов. Для получения самых свежих результатов можно обновить отдельные записи или весь запрос целиком. Синхронизация запросов Можно опробовать интересный прием. что она должна попасть в результирующий набор. • Access не отслеживает добавление новой записи после запуска запроса — для того чтобы она учитывалась в результатах вашего запроса. пока вы не обновите результаты. пока вы не выполните запрос еще раз. содержащую реальные данные. • Если вы изменили запись так. не бойтесь — PriceWithTax автоматически обновляется для отображения новой цены.10 создает циклическую ссылку. этот продукт останется в результирующем перечне вашего запроса (с новой ценой) до тех пор.На профессиональном уровне. • Аналогично. Выражение Price: [Price] * 1. Прежде чем двигаться дальше. и измените цену любого продукта. Для повторного выполнения запроса и полного обновления выберите Главная → Записи → Обновить → Обновить все (Home → Records → Refresh → Refresh All). внесенные другими пользователями. Наиболее распространенные вычисляемые поля содержат одно или несколько существующих полей или числовые константы и соединяет их друг с другом с помощью хорошо знакомых знаков математических операций. стоящие больше 100 долларов. что она больше не должна попадать в результаты запроса. которые после внесения изменений больше не удовлетворяют вашим условиям отбора. Технически скобки нужны только.10 эквивалентно выражению PriceWithTax: Price * 1. вы не увидите немедленно изменения. таких как сложение (+). . Программа Access автоматически синхронизирует представления запросов с реальными данными в вашей таблице. Выражение PriceWithTax: [Price] * 1. ■ Всегда выбирайте уникальное имя. чисел и математических операций. как имя создаваемого поля. есть смысл рассмотреть правила создания и использования вычисляемых полей. и вы уменьшили цену одного из них до 50 долларов. Далее приведено несколько рекомендаций. • Если несколько пользователей на разных компьютерах редактируют БД (как описано в главе 18). Это действие также выводит на экран любые новые записи и скрывает те записи. ■ Не удивляйтесь присутствию квадратных скобок. Выполните запрос ProductsWithTax и оставьте его открытым. Если в вашем запросе отображаются все продукты. поскольку имя используемого вами поля такое же. вычитание (-). Программа Access не допускает подобных проделок. отображающим свои результаты. ■ Формируйте выражения из полей. умножение (*) или деление (/). необходимо обновить результаты. она не появится в нем. если вы изменили запись так. Access отслеживает изменение записи и немедленно обновляет окно результатов запроса. Есть лишь несколько исключений из этого правила. Для обновления одной записи выберите Главная → Записи → Обновить → Обновить запись (Home → Records → Refresh → Refresh Record).

Все что вам требуется — это вычисляемое поле. В табл. 7. можно безболезненно переименовать поле в окне результатов вашего запроса. Технически в этом поле не выполняются никакие вычисления. Нужная вам информация отображается в вычисляемом поле (Date). просто чтобы обезопасить себя. в котором записано количество единиц товара. программа Access автоматически добавляет их. что исходное иоле (в данном случае DateCustomerPlacedPurchaseOrder) не надо включать в ваш запрос.1.1 представлен краткий обзор основных вариантов комбинирования чисел. касающиеся выражений. Для определения . которое переименовывает DateCustomerPlacedPurchaseOrder в Date: Date: DateCustomerPlacedPurchaseOrder Новое имя (в данном примере Date) называют псевдонимом (alias). Арифметические операции Операция Название + Сложение - / \ Mod Пример 1+1 Результат 2 Вычитание Умножение Возведение в степень Деление Деление нацело (возвращает наименьшее целое число и отбрасывает остаток) 1-1 2*2 2^3 5/2 5\2 0 4 8 2.если в имени ноля есть пробелы или специальные символы. но оно все равно корректно действует. Рассмотрим таблицу Products с полем QuantityInStock (количество на складе). Таблица 7. Но если в Конструкторе вы вводите в запрос выражения без квадратных скобок. полученный в результате деления нацело) 5 Mod 2 1 Для создания выражения можно использовать произвольное количество полей и операций. совпадающего с одним из существующих полей и присвоении ему нового имени.5 2 Остаток от деления (возвращает остаток. Простая математическая обработка числовых полей Многие вычисляемые поля полагаются на обычные арифметические операции. Хитрость заключается в создании (с помощью выражения) вычисляемого поля. Переименование поля в запросе Устали от длинных имен полей в окне результатов ваших запросов? Используя толькочто полученные знания. Малоизвестная или недооцененная возможность. помните о том. Далее приведен пример вычисляемого поля. Используя этот прием. находящихся в вашем хранилище.

Поля с датами Операции сложения и вычитания можно применять к полям. вы увидите значение 12. можно найти число дней между двумя датами. как вычисляется период между временем помещения заказа и временем доставки: ShippingLag: [ShipDate] . чем предельный срок сдачи — другими словами. (Можно применять и умножение. Далее показано. если в поле пропущено значение. их необходимо обрамлять символами # и использовать формат Месяц/День/Год (Month/Day/Year). применяющее два поля: ValueInStock: [UnitsInStock] * [Price] Подсказка При выполнении математической операции над полем может произойти сбой. студент опоздал. как сделан заказ. учитывает. использующий такой подход для вычисления количества дней между датой своевременного предоставления задания (20 марта 2007 г. в то время как -4 означает. но реального смысла такие значения иметь не будут. новая дата будет. добавляющий дополнительные две недели к сроку платежа. Порядок выполнения операций Если о вашем выражении длинная строка вычислений. Если вы вычли одну дату из другой и получили число 12. говоря математическим языком. В вычислениях данные о времени представляются как дробная часть числа.25. установленному компанией: ExtendedDeadline: [DueDate] + 14 Если это выражение применить к дате 10 января 2007 г. что студент на 4 дня задержался. деление и все что угодно. что значение в поле DateSubmitted больше (более поздняя дата). имеющегося у вас под рукой. оно представляет период 12 дней и 6 часов (поскольку 6 часов равно 25% суток). Далее приведен пример.стоимости данного товара.) Применяя операцию сложения. .24 января 2007 г. Для устранения этой проблемы вам необходима функция Nz ( ). что студент сдал работу на четыре дня раньше назначенного в расписании срока. Это число сдвигает дату вперед на указанное число дней.[OrderDate] Если доставка произошла через 12 дней после того. Далее приведен пример. Значение 4 указывает. "Обработка пропущенных или неопределенных значений" далее в этой главе. введите следующее выражение. что если вы хотите включить фиксированные даты в ваши запросы. описанная в разд.. Помните. вы можете добавить обычное число к полю с датой.#03/20/07# Положительное значение указывает на то. содержащим даты. программа Access следует строгим правилам определения старшинства операций или. Используя операцию вычитания. Примечание Поля типа Дата/время включают информацию о времени суток.) и датой действительного его предоставления: LateDays: [DateSubmitted] .

но на самом деле у него есть один недостаток. Это действие распахивает на экране диалоговое окно Область ввода (Zoom). что программа Access перемножит поля QuantityOnOrder и Price и добавит полученное значение к значению ноля QuantityInStock. Есть возможность связать несколько полей с адресной информацией и отображать их все в одном поле.какое вычисление выполняется первым при наличии нескольких вычислений в выражении. Подсказка Вам нужно больше свободного места для набора длинного выражения? Можно расширить любой столбец в Конструкторе запросов для увеличения видимой зоны. сколько вам нужно. Access всегда выполняет первыми). конечно нельзя применять сложение. как создать поле FullName (ФИО). но в случае сложных вычислений этого все равно не хватит. имя и фамилия в результате прижаты . в котором собрана информация из полей FirstName и LastName: FullName: [FirstName] & [LastName] Это выражение выглядит достаточно корректным. экономя пространство (и. разделенном на столько строк. Итак. Возведение в степень. Скобки (любые вычисления. существуют действительно удобные способы обработки текста. Лучше щелкнуть кнопкой мыши в области Поле и нажать сочетание клавиш <Shift>+<F2>. возможно. облегчая экспорт этих данных и другую программу). Выражения с текстовыми значениями Несмотря на то. что обычно вычисляемые поля имеют дело с числовыми данными. Если у вас есть текстовые данные. Access не просто обрабатывает его слева направо. Проценты. Поскольку вы не вставили никаких пробелов. Когда просмотр или редактирование выражения завершены. Для устранения этой оплошности нужно применить скобки следующим образом: TotalValue: ([UnitsInStock] + [UnitsOnOrder]) * [Price] Теперь поля QuantitylnStock и QuantityOnOrdeг суммируются. Сложение и вычитание. Если вы не знаете правил старшинства операций. то можете сформировать следующее выражение: TotalValue: [UnitsInStock] + [UnitsOnOrder] * [Price] Проблема состоит в том. или кнопку Отмена для отказа от них. чтобы закрыть окно и сохранить изменения. Вместо этого программа оценивает выражение фрагмент за фрагментом в следующем порядке: 1. отображающее все содержимое в большом текстовом поле. а затем умножаются на поле Price для получения общей суммы. 5. щелкните мышью кнопку ОК. имеющихся в наличии и находящихся на пути к клиенту. Деление и умножение. что вы хотите использовать поля QuantityInStock (количество на складе) и QuantityOnOrder (количество в заказах) для подсчета всех товаров. вычитание и другие арифметические операции. но так бывает не всегда. 2. Для слияния текста применяется оператор амперсанд (&). 4. Но можно слить текст. заключенные в скобки. Предположим. 3. Далее показано. если у вас длинное выражение.

вы поймете. чем простые арифметические операции. многие из которых реализуют такие приемы. Функции пригодятся для всех видов обработки данных в программе Access. разд. если вы предпочитаете указывать фамилию первой (например. отображаемых в запросе. заключается в том. " & [FirstName] Примечание В программе Access есть два типа текстовых значений: те. например. Можно также поменять местами имя и фамилию и отделить их запятой. Если вы хотите. принимающая ваши данные. называемые функциями и позволяющие поднять ваши выражения на более высокий уровень. что многие из них хорошо подходят для вычисляемых полей. Изучив как следует мир функций. Программа Access действительно предоставляет средства. которые вы извлекаете из других полей. выполняющая вычисления и возвращающая результат. Jenks. как вы уже убедились на деле. так: BenJenks. где именно разумнее всего использовать каждую из них. и те. но не для условий отбора. многоцелевой расширяемой системе для программы Access. чтобы программа Access знала. Разница между функциями и математическими операциями. ■ условиях отбора для задания записей. Ben) для облегчения сортировки: FullName: [LastName] & ". Примечание Функции — это встроенная часть версии языка SQL (см. Вы можете примять их в: ■ вычисляемых полях для включения данных в результаты ваших запросов. с которой вы познакомитесь в части V. их следует заключать в кавычки. В следующих разделах вы увидите. что функции могут выполнять более сложные действия.друг к другу. применяемой в программе Access для обработки данных. . У программы Access есть каталог с десятками разных функций. вам приходит в голову мысль о том. примените следующее вычисляемое поле: Price: "The price is: " & [Price] Функции запросов Теперь. чтобы слегка бесполезный текст "The price is" появлялся перед каждым значением цены. которые предоставляют гораздо больше возможностей. Вы даже можете применять амперсанд для сцепления текста с числовыми значениями. "Режим SQL" главы 6). которые вы даже не надеялись выполнить самостоятельно. которые вы вводите непосредственно (или фиксированные). где начинается и заканчивается текст. ■ коде на языке Visual Basic. Вам может потребоваться округление чисел или преобразование строчных букв в прописные. пробел и фамилию. такие как запятая или пробел в предыдущем примере. возможно. Вот исправленная версия: FullName: [FirstName] & " " & [LastName] Приведенное выражение создаст значение: Ben Jenks. Когда вы вводите текстовые константы. что манипулировать числами и текстом можно более искусными способами — способами. Функция — это реализация встроенного алгоритма. Лучше слить три фрагмента текста: имя.

подобное приведенному далее и вычисляющее цены. Затем внутрь скобок поместите все данные. что с ним делать. Для использования функции просто введите ее имя с последующими скобками. Для примера рассмотрим очень полезную функцию Round (). которые нужны функции для выполнения ее вычислений (если это необходимо). которые вы вычисляете. Здесь пригодится функция Round (). которое лучше в некоторых случаях. 95). . сниженные на 5%: SalePrice: [Price] * 0. Программа Access не применяет арифметическое округление — она выбирает банковское округление. а второй — количество цифр.97 и получите в результате 41. которое округляется (в данном случае это результат вычисления Price * 0. числа заканчивающиеся цифрой 5. Банковское округление решает эту проблему округлением 5 в одних случаях до большего числа. Примечание Большинству функций. чем следовало бы. чем до меньшего. Поскольку число 21. Этот способ называют арифметическим округлением.99. Первый — это число. любые итоги или среднее. не просто решить. что результат должен быть 21. как нескольким функциям вообще не нужны аргументы Часто задаваемый вопрос Банковское округление Похоже. подобных Round (). то вы считаете. синтаксис — правила применения функции в выражении — остается неизменным. которая принимает число с дробной частью и убирает любые нежелательные позиции в дробной части. Но некоторые функции могут принять гораздо больше. получаются чуть больше. Вы оцените полезность функции Round ().Применение функций Применяете ли вы простейшую или сложнейшую функцию. программа Access округляет числа неправильно. между числами 21.95 Примените это выражение к цене $43. В результате получается значение. которое нужно сохранить: SalePrice: Round([Price] * 0.985 находится точно в середине. которое вы хотите оставить справа от десятичной точки (2). Разница между арифметическим и банковским округлением заключается в трактовке цифры 5. Если вас учили округлять до большего числа.95. Эта функция — удобный способ приведения в порядок отображаемых значений вычисляемого поля.985 до 21. в то время. округленное до двух десятичных знаков. Поскольку вы округляете до большего чаще. в зависимости от соседней четной или нечетной цифры. При постоянном округлении числа с 5 на конце до большего числа вносится систематическое отклонение в итоги и средние значения. или 41. что вряд ли будет выглядеть уместно на ценнике товара.77. 2) Технически функции Round ( ) требуется две порции информации или два аргумента.99.98.7715. что Access округляет число 21. Передайте ей неокругленное число и число знаков в дробной части. Как быть? Вас может удивить то.98 и 21. требуются два или три аргумента. а в других до меньшего. если создадите выражение.

. а число 21.Число 21. и разный порядок приводит к различным результатам. Программа предлагает перечень из десятков различных функций.com/access/functions. Но в следующих разделах вы познакомитесь с наиболее полезными функциями для работы с числами. Далее приведен пример деления одного поля на другое и получения в результате заведомо положительного значения: Speed: Abs ([DistanceTravelled] / [TimeTaken]) Если полученный результат нужно округлить. Построитель выражений Функции — замечательное нововведение. Примечание В этой книге описана далеко не каждая функция {если бы это было так. бороться со сном). В данном примере. вам пришлось бы. Для поиска дополнительных функций используйте Построитель выражений (Expression Builder) Если же вы предпочитаете интерактивный режим обучения. определяется абсолютное значение. в программе Access есть встроенная функция определения абсолютного значения числа Abs ( ). Вложенные функции В вычисляемом поле или условии отбора можно применять несколько функций. проверьте информативный Web-pecypc www. обозначающий вставку одной функции внутрь другой. а затем результат округляется. а когда нет). тестом и датами. программа Access сначала вычисляет результат самой внутренней функции. Например. Это не единственный способ борьбы с систематическим отклонением (можно решать случайным образом. 2) ) Во многих случаях порядок вложения функций имеет значение. 2) Вычисляя выражение с вложенными функциями.techonthenet. Этот прием известен как вложенные функции: специальный термин. прежде всего. можно поместить целиком все выражение внутрь скобок функции Round ( ): Speed: Round (Abs([DistanceTravelled] / [TimeTaken]). некоторые из этих функций предназначены для выполнения специализированных математических и статистических вычислений. связанных с решением разнообразных задач.985 округляется до меньшего числа 21. сидя над книгой. преобразующая отрицательные числа в положительные (и оставляющая положительные числа без изменения).995 — до большего. Даже в сравнительно простом примере вычисления скорости трудно предсказать результат без пошагового вычисления выражения. когда округлять. 22. В приведенном далее примере порядок вычислений изменен на обратный без изменения результата: Speed: Abs(Round([DistanceTravelled] / [TimeTaken]. Одна не на месте стоящая или пропущенная скобка может привести к сбою вычисления. Вложенные функции быстро превращают выражение в потенциально опасное. но это общепринятая практика в бухгалтерских расчетах и статистике. но в программе Access может оказаться слишком много замечательных вещей.98. Если вы применяете вложенные функции. не пишите сразу выражение целиком — включайте функции в выражение поочередно и после вставки очередной функции выполняйте вычисление.

Построитель выражений состоит из текстового поля в верхней части окна. кнопок быстрой вставки знаков обычных операций (таких как +. "Построение условий отбора" главы 6). / и *. Щелкните правой кнопкой мыши поле.5). 7. захотите испробовать. если почему-либо вы не можете их найти на клавиатуре). и выберите команду Построить (Build). но бесполезны в вычисляемых полях.3.4) и можно найти функцию с помощью обзора (рис. Откройте запрос в Конструкторе. После выбора команды Построить на экране появляется окно Построителя выражений. Если создается условие отбора. Примечание Построитель выражений — универсальное средство создания выражений в вычисляемых полях и условиях отбора. в котором можно редактировать выражение. который поможет найти нужные поля и функции 3. Логические операторы.3). такие как символ равенства (=). отображающее текущее содержимое поля (рис. Если вы создаете вычисляемое поле.Для быстрого поиска нужных вам функций Access предлагает компонент. Для его запуска выполните следующие действия: 1. Not и Like. может быть. нужно щелкнуть правой кнопкой мыши в ячейке Поле. Можно вставлять имя без ввода с клавиатуры (рис. и трехпанельного обозревателя в нижней части окна. 7. в которое вы хотите вставить выражение. которые вы. Рис. следует щелкнуть правой кнопкой мыши в ячейке Условие отбора. именуемый Построителем выражений. Некоторые параметры имеют смысл только в одном из его назначений. удобны для задания условий фильтрации (см. 7. 2. Or. Вставьте или отредактируйте выражение. 7. разд. -. У Построителя выражений есть два ускоряющих приема работы. And. .

наконец.4. В правом списке показаны все функции в выбранной категории. 7. которые вы добавили в вашу БД с помощью пользовательского кода VBA.5. Этот прием рекомендуется только тем. 7. Затем выберите вложенную папку Встроенные функции.Рис. И.) Далее выберите категорию функции в среднем списке. Для поиска функции начните с двойного щелчка кнопкой мыши папки Функции в левом списке. кто любит щелкать кнопкой мыши Рис. соответствующую нужной вам таблице. дважды щелкните кнопкой мыши имя поля в среднем списке для добавления его в ваше выражение. Вы можете дважды щелкнуть кнопкой мыши функцию для вставки ее в выражение . Для вставки имени поля щелкните дважды кнопкой мыши папку Таблицы в самом левом списке. Затем щелкните мышью вложенную папку. (Другие варианты отображают любые пользовательские функции.

6. 7. Второй параметр — количество знаков в дробной части — заключен в квадратные скобки. Рис. Щелкните мышью кнопку ОК. они записываются в более длинном формате с обязательным указанием имени таблицы. В справке функции Round () описываются ее назначение и два параметра. 4. Примечание Когда в Построителе выражений вставляется функция. программа добавляет заполнители (например. что означает необязательное значение. Слева приведен перечень функций. <number> и <precision>). Пропустите его. и программа Access округлит значение до ближайшего целого числа. Вы увидите [Products] ! [Price] вместо просто [Price]. Программа Access скопирует ваше новое выражение в ячейку Поле или Условие отбора. He волнуйтесь — для программы Access это одно и то же. на место которых нужно ввести аргументы. Замените этот текст нужными вам значениями.Примечание Когда вы вставляете имена полей в Построителе выражений. который позволяет просмотреть любую другую функцию Access и прочесть ее описание .

Она интересна. умноженное 143320. Для того чтобы понять разницу. поскольку денежные суммы отображаются с двумя знаками после точки.2 вместо желаемого $43. преобразующая числа в текст.00% на 100. В табл.). Но несмотря на то.6.2. которая кажется многообещающей. применив функцию Format ( ) для задания денежного формата вывода: SalePrice: Format([Price] / 0. благодаря своей справке для встроенных функций. которые нужно задать.Большинство специалистов Access считают Построитель выражений слишком тяжеловесным. но хотите получить дополнительную информацию. использованному ранее для снижения цены: SalePrice: [Price] * 0. вычисленные значения в поле SalePrice (продажная цена) выводятся как обычные числа (без знака валюты. Вы будете вознаграждены кратким резюме. управляя. чтобы использовать его в работе. разделителями для тысяч и знаком валюты Фиксированный Отображает число с двумя десятичными знаками Пример $1 433. представлением чисел.20 1433. Решить эту проблему можно.43Е+03 .20 Основной Выводит на экран число с двумя десятичными знаками и разделителями тысяч Процентный Отображает процентное значение (число.20.2. задаваемого в качестве второго аргумента для получения желаемого результата. и со знаком процента). д. Форматирование чисел Format ( ) — интересная математическая функция. "Currency") Теперь вычисленные значения содержат знак валюты. Если вы нашли функцию. таким образом. разделителя тысяч и т. 7. что это не самое эффективное средство написания выражений. вам не нужно больше применять функцию Round ( ). Таблица 7. 7. построитель предоставляет прекрасный способ знакомства с новыми загадочными функциями. Вы увидите значение 43. приведены возможные варианты. Хитрость применения функции Format () состоит в выборе текста. вернемся к выражению. потому что создаваемый текст можно отформатировать несколькими способами.95 Даже если у поля Price не Денежный тип. выберите ее в списке и щелкните мышью кнопку Справка (Help). Более того. Выводит две цифры справа от десятичной точки Экспоненциальный Отображает число в научной нотации с двумя десятичными знаками 1 433. объясняющим назначение функции и описывающим ее параметры. как показано на рис. Варианты форматирования Формат Описание Денежный Выводит число с двумя знаками в дробной части.95.20 1.

7. а в качестве второго — число десятичных знаков. потому что потребность в них возникает крайне редко. рис. Им нужен полный контроль количества десятичных знаков в числе. Дополнительные математические функции Математическим функциям в программе Access не уделяется должного внимания. точно описывающий то.Таблица 7. Один из возможных вариантов — использовать функции FormatCurrency( ).8. Можно использовать аналогичные типы формата Истина/Ложь и Вкл/Выкл Пример ло Да Практические занятия для опытных пользователей.9 - Round () Округляет число до заданного числа десятич знаков Fix ( ) Возвращает целую часть числа. Таблица 7. 1) 3. 7.2 (окончание) Формат Да/нет Описание Отображает Нет. которое нужно сохранить. а не большего Int ( . отбрасывая любую дробную часть Fix (8.3). процентного или обычного числового).6). к которым знатоки Access обращаются время от времени в вычисляемых полях. если чис отлично от 0. В данной книге не рассматриваются пользовательские числовые форматы. но отрицательные числа округляются до ближайшего меньшего целого числа.3. и затем применить его в функции Format (). и Да. Вы уже видели функции Round ( ) и Format ( ) — самые полезные в этой категории — но есть еще несколько других (табл. которое нужно отформатировать. если число равно 0. В этих функциях в качестве первого аргумента задается число. Улучшенные числовые форматы Истинные педанты не будут довольны вариантами. Для более полного контроля можно определить собственный формат. перечисленными в табл. 89) 8 Int( ) То же что функция Fix (). FormatPercent ( ) и FormatNumber ( ) (в зависимости от необходимости вывода значения как денежного. 7. что вы хотите получить. 89) -9 ных .89. по вы можете посмотреть дополнительную информацию в справочной системе программы Access (см. Функции для числовых данных Функция Описание Sqr ( ) Извлекает квадратный корень Abs() Возвращает положительное значение (отрицательные числа становятся положитель ными) Пример Sqr(9) Результат 3 Abs(-6) 6 Round (8.2.

чтобы записи выводились в случайном порядке.7045. которые вы видели до этого момента. По существу вы добавляете вычисляемое поле. ■ Слияние текста. содержащее случайное число.) рядом с каждой записью.6 .2344 и т. описанного в разд. Ву-а-ля! Каждое выполнение запроса выводит на экран записи в разном порядке. Использование случайных чисел для сортировки в случайном порядке Функцией Rnd ( ) пользуются редко — в конце концов. "Выражения с текстовыми значениями "ранее в этой главе. В целом есть три способа обработки текста. Теперь вернитесь в Конструктор и сбросьте флажок Вывод на экран для того. работали с числовыми данными. Для этого способа не нужна функция — достаточно оператора &. . чтобы поле Random не выводилось на лист данных. Они применяют ее для сортировки таблицы. такое как Random: Rnd ( ). Извлечение подстроки из текстовой строки. вы захотите отобразить строчные буквы прописными или наоборот. Текстовые функции Все функции.Таблица 7. Можно использовать в поле выражение. Может быть. Если посмотреть результаты вашего запроса. кому нужны столбцы. Но с текстом тоже можно делать многое. д. (окончание) Функц Описание Rnd( ) Генерирует случайное дробное число в диапа зоне Val ( ) Преобразует числовые данные в текстовом поле в настоящее число так. ■ Замена строчных букв прописными и наоборот. Вы можете соединить несколько текстовых полей в одном. в соответствии со случайными числами.3. Результ Случа йное 315 $243. Далее выберите порядок в ячейке Сортировка по возрастанию или по убыванию (что на самом деле не имеет значения) и снова выполните запрос. 0. которые программа Access генерирует на лету.60 Малоизвестная или недооцененная возможность. таким образом. Возможно. что Forma Преобразует число в t( ) форматированную тексто - Пример Int ((6) Val ("315 Crossl Format (2 43 . заполненные искусственно сгенерированными данными? Однако инициативные гуру Access предложили одно интригующее применение для функции Rnd ( ). вам потребуется первое слово из заголовка или первые 100 символов в описании. то можно увидеть случайное значение в диапазоне от 0 до 1 (например. 0.

В табл. которое отображает фрагмент длинной текстовой строки или изменяет вид отображения (строчные или прописные буквы). начиная с заданной Mid ("Hi There".7 показано. 4. Она проверяет текстовое значение и возвращает числовую информацию (в данном случае количество символов в строке. к. что такое слово пли предложение. начиная от правого края строки Left("Hi There". Функции для работы с текстом Функция Описание UCase( ) Выводит текст прописными буквами Пример UCase("Hi There") Результат HI THERE LCase( ) Выводит тест строчными буквами LCase("Hi There") hi there Left ( ) Выводит заданное вами число символов. Они умеют подсчитывать символы. Функция Len ( ) — особый случай. Таблица 7. 2) Hi Right ("Hi There". которое отбирает все записи с полем Description короче 15 символов. Далее приведен пример условия отбора. Len{Description) < 15 Практические занятия для опытных пользователей. Как извлечь первое слово из текстовой строки Функции обработки строк созданы с ориентацией на символы. например. задающее совпадение с частью текстовой строки.4 перечислены функции. 5) There Right 0 Mid ( ) Выводит часть строки. начинающиеся с "Choco": Left([ProductName]. 7. вас редко будет интересовать количество букв в текстовой строке. . т. а не со всей строкой. Применение этих функций в условиях отбора не столь очевидно. как ввести это условие отбора. и заданное число символов Trim ( ) Удаляет пробелы с обеих сторон (или используйте LTrim ( ) и RTrim( ) для удаления пробелов только символов в начале или Подсчитывает количество в в текстовой строке Len ( ) Trim(" Hi There ") Hi There Len("Hi There") 8 С помощью этих функций вы можете создать вычисляемое поле. буквы. 7. выбирающего записи.4. 2) Th позиции. наиболее часто применяемые для обработки текста. Эта функция не слишком полезна в простых вычисляемых выражениях. Но она позволяет создавать интересные условия отбора. включая все пробелы. начиная от левого края строки Выводит заданное вами число символов. такое. 5) = "Choco" На рис. включая. цифры и специальные символы). Можно создать условие фильтрации. но не понимают.

потому что текст "he" начинается с пятой символьной позиции. чтобы разместить его на странице книги. Рис. которая ищет один или несколько символов в текстовой строке. Right ( ) и Mid ( ) действуют во многом аналогично ключевому слову Like. поместите все выражение в одну строку. Таким образом. расположенной рядом с какой-либо буквой. такими как Mid ( ) и Left ( ). 7. Можно применить функцию Instr ( ) для поиска первого пробела и вырезать весь текст до этого пробела. Когда будете его набирать. Если программа Access не находит совпадения. разд. Instr([ProductName]. Но ее можно использовать в сочетании с другими функциями. Instr () возвращает позицию первого. которое получает первое слово из поля ProductName с помощью вложенных функций (см. "he") Результат равен 5. Далее приведено слегка ошеломляющее вычисляемое поле. " " . (Название Instr ( ) — это сокращение от "in string".Единственный способ обойти это ограничение — применить функцию Instr ( ). "Вложенные функции" ранее в этой главе). FirstWordProduct: Left([ProductName].) Для поиска символов "he" с строке "Hi There" нужно применить функцию Instr ( ) следующим образом: Instr("Hi There". Функции Left ( ). Сама по себе эта функция не очень полезна в условиях отбора и вычисляемых полях. помогая найти совпадения кусочков длинной текстовой строки . Если же есть множественные совпадения. вычти единицу и извлеки все символы слева от пробела". вы извлечете целое слово. Вычислите это поле для значения Banana Cream Fudge и вы получите вырезанный текст Banana. функция Instr ( ) возвращает 0.7. поскольку вы ищите конкретные символы внутри текстовой строки. Оно разбито на несколько строк для того. что выглядит как впечатляющий яркий трюк. для вырезания части строки.1 ) ) Это выражение переводится следующим образом: "Найди позицию первого пробела.

Функции для обработки дат Вы уже видели. Эти функции извлекают текущие дату и время или только текущую дату. составляющих дату. 2006 г. [DatePlaced])=DatePart("yyyy". от 1 до 365 (обычно) 51 d w День в месяце от 1 до 31 День недели. "Поля с датами "ранее в этой главе). Применяя символ m в функции DatePart ( ). DatePart () может определить номер месяца или год. [DatePlaced])=DatePart ("m". многие применяют функции Now () и Date (). 7. [DatePlaced])=DatePart("yyyy". позволяя игнорировать другие подробности (такие как число или время). соединенных ключевым словом And. принесшими доход в текущем году. Date ()) Это довольно длинное выражение на самом деле представляет собой комбинацию двух условий. Date ( )) Сложность применения функции DatePart ( ) (и некоторых других функций для дат) заключается в понимании идеи компонентов. но вы должны также убедиться в том. Их можно применять в запросах. Компоненты даты Компонент Описание уууу Год в четырехсимвольном формате Значение на 20 февраля. разд. вы получите номер месяца. в которых поле DueDate содержит дату. Но вы можете выполнить гораздо больше действий с помощью некоторых функций Access для работы с датами. Таблица 7. В табл. что у обеих дат один и тот же календарный месяц. [DatePlaced])=DatePart("m". хранящейся в поле DatePlaced: DatePart("m". которая извлекает часть информации из даты. Вот условие для выбора просроченных проектов: =<Date ( ) Вставьте его в ячейку Условие отбора поля DueDate (срок платежа) и вы увидите только те записи. С помощью DatePart () и Date () можно легко написать условие фильтрации. от 1 до 7 20 2 . Несомненно. 1:30 РМ 2006 q Квартал от 1 до 4 1 т Месяц от 1 до 12 2 у День в году. что год у них тоже совпадает: DatePart("yyyy". извлечете четерехсимвольный номер года.5 приведены все возможные варианты. Первое условие сравнивает номер месяца текущей даты с датой. DatePart("m". Анализ дат может быть более сложным в сочетании с функцией DatePart (). Date()) And DatePart("yyyy". Date( )) Приведенное выражение устанавливает.5. работающих с заказами. сделанные в текущем месяце. а используя текст уууу. с которыми вы познакомились в главе 4. наступившую ранее нынешнего дня. как можно использовать операции сложения и вычитания при работе с датами (см. отбирающее заказы.

разрешающий пользователям вводить и дату. Теперь у условия отбора =<Date ( ) несколько иной смысл — вы сообщаете Access о необходимости отобрать. Таким образом. как совпадающие. — момент. от 1 до 60 30 s Секунда. всегда следует помнить о датах. от 1 до 24 13 n Минута. Между прочим.3) в поле DueDate. выбирая подходящий формат для поля с датами. от 1 до 52 Значение на 20 февраля. содержащих информацию о времени.) Проблема: функция Date ( ) возвращает текущую дату со значением времени суток. Это условие не выберет запись со сроком платежа. поскольку у всех ваших дат время суток равно 0.) Если вы не храните значения времени суток. назначенным на 16:00 текущего дня. нужно ли отображать временной компонент даты и разрешать пользователям вводить его. как объясняется в разд. истекшим до первой секунды завтрашнего дня.. 7. В табл. возвращающая текущую дату и время. все поля с датами. Другими словами. если вы используете Полный формат даты (см.6 приведены эти и дополнительные полезные функции. нужно изменить условие отбора на следующее: <(Date() +l) Date () +1 — это завтра. эта проблема не важна. все даты могут содержать данные о времени суток. относящиеся к датам. равным 0. если текущая дата — 4 июля 2008 г. . 2. то функция Date ( ) возвращает первую секунду 4 июля 2008 г. DateAdd ( ) и DateDiff ( ). Другими словами. скрывающим любую информацию о времени суток. и время. 1:30 РМ 8 h Час. 2006 г.m.5 (окончание) Компонент Описание ww Неделя в году. вы сообщаете программе Access о том. это условие отбирает любые записи со сроком платежа. от 1 до 60 0 Для тех. Чаще всего вы будете пользоваться форматом. В данной ситуации. Но. наступившими до первой секунды текущего дня. соответствующие текущему моменту (текущего дня) или любому моменту времени во все предшествующие дни: =<Now( ) Компоненты дат применяются в нескольких функциях обработки дат. кто понимает. у программы Access есть функция Now (). табл.Таблица 7. "Дата/время " главы 2. Но что произойдет. включая функции DatePart ( ). следующее условие фильтрации отбирает все записи. Вычисления для дат и времени Используя функции для дат. когда часы показывают полночь (12:00 a. (Напоминаю. возможно.

месяц и день в значение даты Access Сдвигает дату на заданный интервал DateSerial (2006. описанный в табл. что означает для неаккуратного пользователя возможность пропуска большого числа значений. 2. Функция Описаниеприменяемые в запросах Получает текущую дату Date () Пример Date () 253 Результат 1/20/2006 Now ( ) Получает текущую дату и время Now ( ) 1/20/2006 10:16:26 PM Date Part () Извлекает часть даты (например. #22/ll/2006#) DateDiff ("w". Day ( ). 2008" Подсказка У программы Access есть другие функции обработки дат. "d") 20 DateSerial( ) Преобразует год.Таблица 7. 4) Da teAdd ("yyyy" . Или игнорируйте несвязанные записи. #10/l5/2006#. соответствующее номеру месяца (от 1 до 12) MonthName (1) "January" WeekdayName ( ) Получает название. Hour ( ). Примером может служить функция Month ( ). заменив условие отбора на обратное: Is Not Null . 2. Основные хитрости. месяц или день в месяце) DatePart (#1/20/ 2006#. выполняющие часть алгоритма функции DatePart ( ). Эти пропущенные значения называют неопределенными (null). применяющих их для получения аналогичных результатов. "Запрет незаполненных полей" главы 4). соответствующее номеру дня в неделе (от 1 до 7) WeekdayName (1) "Sunday" Format () Преобразует дату в форматированный текст (используя любой формат даты. вылавливающее неопределенные значения. но вы можете встретить их в запросах других пользователей. не связанных с клиентом. К другим аналогичным функциям относятся Year(). Воспользуйтесь им в поле CustomerID таблицы Orders для поиска всех заказов. в БД поля необязательные (как обсуждалось в разд. Эти функции не дают никаких преимуществ. "Long Date") "April 27.6. просто введите в ячейку Условие отбора следующий текст: Is Null Это условие выберет все записи с пропущенными значениями. и их следует тщательно обрабатывать. извлекающая номер месяца из даты. #l/ll/2007#) 5/4/2006 DateAdd ( ) 22/11/2008 DateDiff ( ) Определяет интервал между двумя датами 12 MonthName ( ) Получает название. Как правило. 5.3) Format (#27/04/ 2008#. год. Minute ( ) и Second ( ). Обработка пропущенных или неопределенных значений В БД есть два типа полей: обязательные и необязательные. Если вы хотите написать условие отбора. Функции обработки дат Глава 7.

которые могут быть неопределенными. результат автоматически становится неопределенным. Если у одного из операндов в вычислении неопределенное значение. . если значение поля Quantity будет неопределенным. которое вы хотите отобразить в результатах запроса. они тоже станут неопределенными. если OrderItemCost ввести в другое вычисление или промежуточный итог. то видели все 143 записи в ваших результатах. "[Not Entered]") Итоговые данные Все запросы. вас не сильно впечатляет перспектива замены пропущенных значений нулями. Далее приведен пример. если это как раз то.Иногда вам не нужно специально искать (или игнорировать) неопределенные значения. отображающий текст ("Not Entered" — не введено) рядом с каждой записью. Второй параметр — это значение. ваши значимые данные запроса превратятся в кучу ячеек с неопределенными значениями. В текстовое поле можно ввести что-то более информативное. Для устранения этой проблемы очистите необязательные ноля от неопределенных значений с помощью функции Nz ( ): OrderItemCost: Nz([Quantity]) * Nz([Price]) Наконец. функцию Nz ( ) можно использовать для замены всех неопределенных значений другой величиной. если программа Access найдет неопределенное значение. как раз для этого есть функция со странным названием Nz ( ). если нужно создать вычисляемые поля. Вместо этого вам надо заменить их для рассматриваемой задачи чем-то более информативным. не содержащей имени и фамилии: Name: Nz([FirstName] & [LastName]. Далее приведен пример. Но вы также можете группировать записи для получения промежуточных и общих итогов. поле запроса) может содержать неопределенное значение. которые вы применяли до этого момента. Рассмотрим кажущийся безобидным пример: OrderItemCost: [Quantity] * [Price] Это выражение приведет к ошибке. поэтому можно опустить второй параметр. обрабатывающие значения. Если вы выбирали 143 записи из таблицы Orders. У функции Nz () два аргумента. что иоле OrderItemCost для данной записи становится неопределенным. возможно. имели дело с отдельными записями. использующий функцию Nz ( ) для преобразования в 0 неопределенных значений в поле Quantity: Nz([Quantity]. Хуже того. К счастью. В этом случае легче просматривать большие объемы информации и делать важные далеко идущие выводы. Прежде чем вы об этом узнаете. Но эта функция жизненно важна. что вам нужно: Nz([Quantity]) В данный момент. Неопределенные значения странным образом распространяются наподобие инвазивного грибка. Первое значение (как правило. 0) Преобразование в 0 — стандартное поведение для функции Nz ( ). В данном примере это означает.

Нужно также сбросить флажок Вывод на эк ран. сделанных каждым клиентом. Обычно итоговые запросы соединяют в большой общий итог. ■ Поле применяется для группировки. 7. 4. Программа Access вставляет ячейку поля сразу под ячейкой Таблица. Вставьте поля. суммирование. помнят. чтобы в запросе отображались результаты трех разных вычислений. 2. "Анализ запроса" главы 6). поскольку программа Access не может выводить отдельные значения в итоговых сводках. которые хотите использовать. что WHERE — это ключевое слово. но хитрым образом: поле Price вставляется три раза для того. ■ Поле используется в итоговом вычислении (таком как определение среднего. Выберите Работа с запросами → Показать или скрыть → Итоги (Query Tools → Show /Hide → Totals ). который должен перелопатить большое количество записей и вы дать лаконичные итоги. Каждое поле должно попа дать в одну из следующих категорий. (Фанаты БД. Для создания итогового запроса выполните следующие действия: 1. В табл. сделанного клиентом. Products из БД Boutique 3. как было описано в разд. ■ Поле используется для фильтрации или отбора. Но вы можете разбить результаты на более мелкие промежуточные итоги.). д. Эти операции — подсчет. определение среднего и поиск максимального и минимального значений — основные варианты в итоговом запросе ( totals query ). ■ подсчет среднего объема заказа. Итоговый запрос немного отличается от обычного запроса. Для каждого поля задайте вариант из списка Групповая операция. сделанного каждым клиентом. .Далее приведены примеры полезных подводящих итоги запросов: ■ подсчет студентов в каждом классе. ■ подсчет количества заказов. потраченная на один продукт.7 перечислены все варианты из ячейки Групповая операция. В этом случае в ячейке Групповая опе рация нужно выбрать Условие ( WHERE ). ■ общая сумма долга или платежа клиента. ■ сумма. Создайте новый запрос. возможно. Итоговый запрос — это вид запроса. Этот вариант опреде ляет использование поля для вычисления итога или для группировки. выбрав Создание → Другие → Конструктор запросов (Create → Other → Query Design ). ■ поиск самого дорогостоящего или самого дешевого заказа. Групповая операция ( Total ) для каждого 5. Добавьте нужные вам таблицы с помощью диалогового окна Добавление таблицы (Show Table ) и щелкните мышью кнопку Закрыть (Close ). применяющееся для определения условия в языке SQL . Тип нужного вычисления выбирается с помощью ячейки Групповая операция. как описано в следующем разделе. В этом примере используется поле Price . В приведенном далее примере используется таблица Fudge . подсчет ко личества и т.

то получите ошибку при попытке выполнить запрос.Примечание Если вы попытаетесь вставить в итоговый запрос поле.8. Рис. Вверху: в данный итоговый запрос поле Price включено трижды и использует три разных вычисления. минимальной ценой и средней ценой продуктов. Min и Avg. 7. 7. Внизу: результаты отображают одну запись с максимальной ценой. что в каждое поле применяется выражение. В этом примере (рис. проданных компанией Boutique Fudge .8) в поле Price применяются три разные групповые операции: Max. в котором дано более информативное название поля. которое не используется для вычисления или группировки и не скрыто. Обратите внимание на то.

можно использовать в поле CategoryID. например.9 показан итоговый запрос с применением группировки.7. что в ячейке Групповая операция выбран вариант Условие и сбро шен флажок Вывод на экран. В более сложном итоговом запросе применяется группировка для вычисления промежуточных итогов. 7.7 не указаны два варианта. какое поле вы используете) First Возвращает первое значение в этом поле Last Возвращает последнее значение в этом поле Разрабатывая итоговые запросы. убедитесь. сколько у вас клиентов. Для корректного применения группировки следует помнить о том. хорошо группировать клиентов по штатам. Глупо группировать клиентов по номерам социального обеспечения. Примечание Если вы хотите выполнить фильтрацию в поле. Группировка в итоговом запросе Наипростейший итоговый запрос суммирует все выбранные записи в одну строку результатов. На рис.Примечание В табл. предназначенные для статистиков — которые вычисляют стандартное отклонение и дисперсию ряда чисел. основываясь на значениях в этом поле Sum Суммирует значения этого поля Avg Находит среднее для значений этого поля Min Возвращает наименьшее значение в этом поле Max Возвращает наибольшее значение в этом поле Count Подсчитывает количество записей (независимо от того. которое не используется в вычислении или группировке. которое вы используете. у вас получатся осмысленные промежуточные итоги. Поскольку в каждом штате много клиентов. Например. должно содержать много повторяющихся значений. 7. . такое условие отбора: =3 Это условие отбирает записи. Варианты получения итоговых данных Значение в ячейке Описание Групповая операция Группировка Группирует записи. в которых они живут. 7. у которых CategoryID равно 3 (что означает их включение в категорию Candies (конфеты)). можно использовать все приобретенные ранее в этой главе навыки написания запросов. как показано на рис. что поле. StDev и Var — Таблица 7.8. поскольку в результате получится столько групп. Если вы хотите суммировать только продукты в конкретной категории.

Но результаты могут оказаться неожиданными. вставив несколько полей со значением Группировка в ячейку Групповая операция.12 10 134 $16.8.9. что вы группируете длинный список записей о продажах по наименованиям товаров и по именам клиентов. В табл.79 . Предположим.8 приведена часть результатов запроса. в котором группируются записи из таблицы OrderDetails БД Boutique Fudge. Результаты запроса с многоуровневой группировкой CustomerlD ProductID TotalSales 10 108 $432. 7. В результате вы получите отдельную группу для каждой комбинации "клиент — товар". Внизу: результат — отдельная строка с итогами по каждой категории продуктов В итоговом запросе можно использовать многоуровневую группировку. а затем они сортируются по CustomerID. Таблица 7. 7. подобного описанному. Вверху: продукты сгруппированы по категории продукта.Рис.

чтобы увидеть объемы продаж каждого товара для разных клиентов. но. которые описаны в главе 9. Но из-за жесткой табличной структуры итогового запроса получить такой результат невозможно. разд. (Вы можете взять эти данные и отсортировать их по коду товара ProductID. В БД Boutique Fudge таблица OrderDetails хранит отдельные компоненты каждого заказа. которые малоинформативны.30 $18. Products и Orders) и добавить ее в ваши результаты. Затем результаты отсортированы по коду клиента CustomerID. Эта информация немного полезнее. Но ему недостает хороших промежуточных итогов.79 на товар с номером 134.12 на товар с номером 108 во всех заказах. вы увидите описание из поля подстановки (например. $53. — находящиеся вне связанной таблицы.) Это результат. Примечание Если у вас есть подстановка. включающий многоуровневую группировку и итоги. можно извлечь подчиненную информацию из связанных таблиц (таких как Customers.30 — на товар с номером 210 и т.Таблица 7. сколько клиент с номером 10 потратил на каждый тип продукта и сколько он потратил всего. Если вставить в запрос объединение или два. который вы хотели получить. Если вы хотите увидеть эту разбитую на подгруппы информацию с промежуточными итогами. вы хотите извлечь дополнительные сведения — например. На рис. адрес клиента.10 показан пример вычисления общей стоимости каждого заказа. имя и фамилию клиента).02 Из этой таблицы видно. как описано в части III. но анализировать ее можно по-разному. Было бы полезно узнать. возможно.04 $12. у вас есть две возможности. Объединения в итоговом запросе Итоговые запросы невероятно полезны. Но. 7. можно создать отчет. Можно использовать перекрестный запрос или запрос к сводной таблице . Вы можете сгруппировать эту информацию (как показано в предыдущем разделе) для поиска самых ходовых товаров или самых активных клиентов. вы увидите только значения кодов клиентов и товаров.99 $107.два улучшенных варианта подведения итогов. описание товара и т. наименование товара.8 (окончание) CustomerID 10 14 18 18 ProductID 210 144 112 210 TotalSales $53. что клиент с номером 10 потратил в целом $432. Этот же клиент потратил $16. д. когда они комбинируются с объединениями (см. д. определенная для полей ProductID и CustomerID. . Если же вас на самом деле интересует вывод вашей информации на печать. У вас все та же информация. "Запросы и связанные таблицы" главы 6) для получения связанной информации из нескольких таблиц. к сожалению.

выбрав Создание → Другие → Конструктор запросов (Create → Other → Query Design). чтобы узнать. на прошлой неделе и т. Внизу: результаты сгруппированы по OrderID и отсортированы по LastName и FirstName. упорядоченных по клиентам. 7. Выполните следующие действии: 1. что сохраняет хороший уровень детализации Вы уже знаете достаточно для того. показанный на рис. Можно вставить условие отбора в поле DatePlaced. чтобы построить запрос. сколько они потратили в прошлом году. сколько потратили клиенты до нынешнего дня текущего года.10. Вверху: итоговый запрос можно усовершенствовать. Создайте новый запрос. 2. дополнив его информацией из трех связанных таблиц: Customers. Orders и OrderDetails. Вставьте нужные вам таблицы с помощью диалогового окна Добавление таблицы (Show Table) и затем щелкните мышью кнопку Закрыть (Close). В запросе игнорируются заказы стоимостью меньше $25. .Рис.10. 7. д. для отображения списка сумм заказов.

Добавьте поля. (Другими словами. 3. Теперь можно выполнить запрос. которые вы хотите видеть на экране (например. Для отображения в итоговом запросе любого поля нужно вставить для него вычисление (как для поля OrderTotal) или использовать его для группировки (как поле OrderID). поэтому задайте в ячейке Групповая операция вариант Sum. . которые хотите использовать. вы хотите подытожить все записи в таблице OrderDetails с одинаковым значением поля OrderID. 7. что программа Access создает самые маленькие доступные ей группы. У каждого поля появится ячейка Групповая операция.10 используются таблицы Customers. o OrderID — это поле используется для группировки результатов. сколько потратил каждый клиент). удалите всю информацию о клиенте. 5. Для выполнения этой работы в ячейке Групповая операция выберите вариант Группировка. Примечание Этот трюк с группировкой немного странный. и затем в ячейке Групповая операция выберите для каждого поля подходящие группировку или итоговое вычисление. Это просто невозможно. Если вы хотите сгруппировать только по клиентам (так можно посмотреть. что вы должны установить в ячейке Групповая операция вариант Группировка для обоих полей. 4. После добавления этих таблиц программа Access вставит линии объединения между ними на основе связей. В результате получится итог для отдельной строки заказа. ProductName и Description). В поле OrderTotal включено у