<<

стр. 4
(всего 10)

СОДЕРЖАНИЕ

>>

104 Microsoft Access 2002. Шаг за шагом

4. В списке Размер шрифта (Font Size) щелкните на значении 8, чтобы
немного уменьшить шрифт выделенной надписи.
5. Щелкните правой кнопкой мыши в поле КодКлиента и щелкни-
те на команде Свойства (Properties) в контекстном меню, чтобы ото-
бразить диалоговое окно свойств этого поля.
Jft? ИШМЯНМММНВП1ММ1>*
Поле: КояКяиекта i
:цМ
11 • w-˜ra-K«-Hi___*



1
| ^ит
р л еа
ее '. j
| Макет | Дамиме | С
|

\::КодКлиента
Н ;itat<fcje :
11




С помощью этого диалогового окна можно отобразить свойства
любого объекта формы, включая саму форму. Для этого доста-
точно щелкнуть на стрелке поля вверху диалогового окна и
выбрать из списка нужный объект.
Свойства элементов формы сгруппированы по вкладкам Макет
(Format), Данные (Data), События (Event) и Другие (Other). Чтобы отобра-
зить все свойства, откройте вкладку Все (All).
6. Щелкните на вкладке Макет (Format), прокрутите список свойств
до Шрифт (Font Name) и установите шрифт MS Suns Serif. Затем в
поле свойства Размер шрифта (Font Size) установите значение 8, а в
поле свойства Насыщенность (Font Weight) - Полужирный (Bold). Все из-
менения свойств поля КодКлиента тут же отображаются в форме.

Совет. Если диалоговое окно Свойства (Properties) закрывает обзор, можно пе-
ретащить его к краю экрана, чтобы наблюдать за изменениями в форме.

7. Щелкните на стрелке поля вверху диалогового окна Свойства
(Properties), а затем щелкните на Имя_Надпись в списке, чтобы вы-
делить надпись слева от поля Имя.
8. Повторите шаг 6, чтобы изменить установки шрифта для этого
элемента управления. Хотя изменение свойств элемента управ-
ления осуществляется легко и просто, модификация несколь-
ких дюжин элементов может оказаться утомительным заняти-
Глава 4. Использование форм для упрощения ввода данных 105

ем. Следующие два шага показывают, как сразу изменить свой-
ства нескольких элементов.
9. Нажмите на клавиши | Ctrl | + ("A"| чтобы выделить все эле-
менты управления в разделе Область данных (Detail).

Совет. Можно также выделить все элементы формы, щелкнув на коман-
де Выделить все (Select All) в меню Правка (Edit) или протащив указатель по фор-
ме таким образом, чтобы заключить в прямоугольную рамку нужные эле-
менты.

Вокруг всех элементов управления появятся черные квадрати-
ки, называемые рукоятками. В строке заголовка диалогового окна
Свойства (Properties) теперь указано Несколько элементов управления (Multiple
Selection), а список объектов пустой. На вкладке Макет (Format) ото-
бражаются только те установки, которые имеют одинаковые зна-
чения для всех выделенных элементов. Поскольку изменения,
выполненные в предыдущих шагах, распространяются не на все
выделенные элементы, свойства Шрифт (Font Name), Размер шрифта (Font
Size) и Насыщенность (Font Weight) не имеют значений.
10. Чтобы применить новые установки ко всем выделенным эле-
ментам управления, повторите действия, выполненные в шаге 6.
11. На вкладке Макет (Format) щелкните на свойстве Тип фона (Back
Style) и выберете значение Обычный (Normal). Фон надписей больше
не является прозрачным.
12. Щелкните на свойстве Цвет фона (Back Color), а затем щелкните
на кнопке построителя ... в конце поля, чтобы отобразить диа-
логовое окно Цвет (Color).


•ггггигг
•ттг
i

13
i•
i•
Microsoft Access 2002. Шаг за шагом
106

13. Щелкните на бледно-желтом цвете и щелкните на кнопке
ОК. Фон всех элементов управления станет бледно-желтым.

Совет. Если на палитре нет нужного цвета, щелкните на кнопке Определить
цвет (Define Custom Colors), подберите параметры, чтобы добиться желаемого
оттенка, и щелкните на кнопке Добавить в набор (Add to Custom Colors).

14. В списке свойства Оформление (Special Effects) щелкните на С те-
нью (Shadowed), а затем задайте зеленый цвет для свойства Цвет
границы (Border Color).
Задавая цвет, можно воспользоваться кнопкой построителя ...
и выбрать нужный оттенок или ввести числовое обозначение
цвета (например, 32768) в поле свойства Цвет границы (Border Color).
15. Щелкните в разделе Область данных (Detail), чтобы отменить
выделение. Форма должна теперь выглядеть примерно так.


вм-лига Bonf*K
, |
| i; Щ . ....„,i т Щ



:
• I '• II :,*-.. ' ! f.




1Почтопый Индекс УПочтовыйИшекф
ii. : >n.;B..;.,J[b ,,''.:,': Н.м
{Страна' ^Страна
IV,«.|.J ,'.> .«.an Щ Дя
''г.^ПВЫН';^ ' || |:!гГ:ГД.-1
!н"омер Телефона
" ?
;ш1Шнет
Сжатие . |
RaTOLJ „
2M7483633




16. Щелкните на надписи слева от поля FirstName Почтовый Индекс,
а затем в диалоговом окне Свойства (Properties) установите в свой-
стве Подпись (Caption) значение Индекс.
Глава 4. Использование форм для упрощения ввода данных 107

17. Повторите шаг 16, чтобы заменить текст надписи Номер Теле-
фона на Телефон.

Совет. Значения свойств Подпись (Caption) и Данные (Control Source) можно отре-
дактировать обычным способом, выделив содержимое поля и введя нуж-
ный текст. Однако в последнем случае следует соблюдать осторожность,
поскольку это свойство определяет источник, откуда поступают данные.

18. Удалите надпись слева от поля Фамилия, щелкнув на ней и
нажав на клавишу | Del ].
19. Выделите все надписи (но не соответствующие им поля),
щелкая на каждой из них при нажатой клавише [ S h i f t [. Затем
в диалоговом окне Свойства (Properties) в поле свойства Выравнивание
текста (Text Align) установите значение По правому краю (Right).
20. В меню Формат (Format) укажите на команду Размер (Size), а за-
тем щелкните на По размеру данных (То Fit), чтобы подогнать разме-
ры надписей под длину содержащегося в них текста, как пока-
зано ниже.


,-;,,., Ц ,,1,м„„
108 Microsoft Access 2002. Шаг за шагом


Совет. Если в процессе форматирования, аналогичного приведенному
выше, вы получили не тот результат, на который рассчитывали, щелкни-
те на кнопке Восстановить (Undo) или нажмите на клавиши | Ctrl | + |˜Z˜I, что-
бы отменить последние изменения, и повторите попытку.

21. Выделите теперь все поля (но не надписи к ним), а затем в
диалоговом окне Свойства (Properties) в поле свойства От левого края
(Left) введите значение 4 см, чтобы создать небольшой проме-
жуток между надписями и полями.
22. В поле свойства Насыщенность (Font Weight) установив значение
Обычный (Normal), а затем щелкните вне элементов управления,
чтобы отменить выделение.
23. Чтобы внешний вид формы соответствовал принятому в ком-
пании, в списке объектов вверху диалогового окна Свойства
(Properties) выделите Форма (Form). Щелкните на свойстве Рисунок
(Picture), а затем щелкните на кнопке построителя ..., чтобы ото-
бразить диалоговое окно Выбор рисунка (Insert Picture).
24. Перейдите к папке SBS\Access\Forms\Properties, в поле Тип файлов
(Files of Type) установите значение Графические файлы (Graphic Interchange
Format), а затем щелкните дважды на файле tgc_bkgrnd. Фон фор-
мы изменится, а в поле свойства Рисунок (Picture) отобразится путь
к выбранному файлу, как показано на следующем рисунке.
25. Щелкните на кнопке Сохранить (Save), чтобы сохранить макет
формы Клиенты.
26. Закройте форму и базу данных.

Улучшение макета формы
Ас2002е-2-1 Созданные мастером формы являются функциональными и не
более того. Однако их можно легко доработать в соответствии с
вашими нуждами: добавить или удалить надписи, переместить
элементы управления, вставить логотипы и рисунки — одним
словом сделать форму привлекательной внешне и удобной в
использовании.
Глава 4. Использование форм для упрощения ввода данных 109

В процессе работы над формой указатель принимает вид, отображающий
тип действия, которое можно выполнить в данный момент. Это тем более
важно, что надпись и поле трактуются иногда как единый объект, что мо-
жет привести к нежелательным изменениям. В следующей таблице пред-
ставлены типы указателей и действия, которые они выполняют:
Форма указателя Действие

Перетаскивает оба элемента управ-
Рука
ления как один объект.
Перетаскивает один элемент управ-
Указывающий палец
ления
Перетаскивает верхнюю или ниж-
Вертикальные стрелки
нюю границу, чтобы изменить высо-
ту элемента управления.
Перетаскивает правую или левую
Горизонтальные стрелки
границу, чтобы изменить ширину
элемента.
Перетаскивает угол элемента управ-
Диагональные стрелки
ления, чтобы изменить высоту и ши-
рину одновременно.
GardenCo В этом упражнении вы упорядочите элементы управления в
форме Клиенты, чтобы последовательность полей ввода соответ-
ствовала порядку заполнения формы. В качестве рабочей бу-
дет использоваться папка SBS\Access\Forms\Layout. Выполните сле-
дующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. Откройте форму Клиенты в режиме Конструктор (Design).
3. Если нужно, перетащите правый нижний угол окна формы
вниз и вправо, чтобы отобразить всю форму и пустую область
справа, как показано на следующем рисунке.
Microsoft Access 2002. Шаг за шагом
110

Форма состоит из трех разделов: Заголовок формы (Form Header), Об-
ласть данных (Detail) и Примечание формы (Form Footer). На данном этапе
только область данных имеет содержимое.
Раздел
Заголовок
формы
(Form
Header)

Раздел
Область
данных
(Detail)

Раздел
Примечание
формы
(Form
Footer)

4. Укажите на правую границу области данных и, когда указа-
тель примет форму двуглавой стрелки, перетащите ее вправо,
чтобы отобразить все поля полностью.
5. Щелкните в поле Фамилия, а затем медленно перемещайте ука-
затель вдоль границ с рукоятками выделения, наблюдая за из-
менением формы указателя.
6. Когда указатель примет форму руки, перетащите поле Фами-
лия вверх и вправо, чтобы оно разместилось справа от поля Имя.
7. Поочередно выделяя элементы управления, перетащите их
и, если нужно, измените размеры таким образом, чтобы форма
приобрела вид как показано на рисунке ниже.
Рекомендуется, чтобы все формы в базе данных имели единый
дизайн. Поэтому вы создадите и сохраните стиль, основанный
на этой форме, чтобы использовать его в дальнейшем, а не фор-
матировать каждую форму вручную.
Глава 4. Использование форм для упрощения ввода данных 111




Совет. Чтобы точно разместить элемент управления, щелкните на нем,
переместите указатель по элементу, так чтобы он принял нужную фор-
му, а затем передвиньте элемент с помощью клавиш-стрелок. Каждое
нажатие смещает выделенный элемент на небольшое расстояние в на-
правлении, указанном стрелкой.

8. В меню Формат (Format) щелкните на команде Автоформат
(AutoFormat), чтобы отобразить диалоговое окно Автоформат
(AutoFormat).



Диффузный
Камень
Международной
Наждачная бумага
Официальный
Промышленный
Рисовая бумага




9. Щелкните на кнопке Настройка (Customize), чтобы отобразить
диалоговое окно Настройка автоформата (Customize AutoFormat).
10. Выделите вариант Создание нового стиля на основе формы 'Клиенты'
(Create a new AutoFormat based on the form 'Customers') и щелкните на кноп-
ке ОК.
Microsoft Access 2002. Шаг за шагом
112

11. В диалоговом окне Новое название стиля (New Style Name) введите
The Garden Company и щелкните на кнопке ОК.
В диалоговом окне Автоформат (AutoFormat) в списке автоформатов
появится новый стиль. Он доступен для любой базы данных,
открытой на вашем компьютере.
12. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно
Автоформат (AutoFormat).
13. Щелкните на кнопке Сохранить (Save).
14. Закройте форму и базу данных.

Добавление элементов управления
в форму
Каждая форма имеет три основных раздела: Заголовок формы (Form
Ас2002-4-2
Header), Область данных (Detail) и Примечание формы (Form Footer). При со-
здании формы мастер добавляет в область данных элементы
управления для каждого поля, выбранного в базовой таблице,
оставляя разделы заголовка и примечания пустыми. Пустые
разделы свернуты, но их можно развернуть, перетащив селек-
торы. Хотя наиболее распространенными элементами управ-
ления, которые встречаются в формах, являются надписи и
поля, существуют и другие типы элементов, повышающие эф-
фективность ввода информации. Например, можно добавить
в форму флажки, кнопки выбора и поля со списками, чтобы
выбирать значения, а не вводить их вручную.
Большинство элементов управления хранится на панели эле-
ментов. Щелкнув на кнопке Другие элементы (More Controls), можно
отобразить список дополнительных элементов, которые Access
обнаружил на вашем компьютере. При этом необязательно,
чтобы дополнительные элементы имели отношение к Access
или, вообще, к приложениям Microsoft Office.

Важно. Среди элементов управления есть очень эффективные, как, на-
пример, Календарь (Calendar), но есть и такие, которые могут привести к не-
приятным сюрпризам. Поэтому, если база данных содержит важные
сведения, лучше воздержаться от экспериментов.
Глава 4. Использование форм для упрощения ввода данных 113

GardenCo В этом упражнении вы добавите в раздел заголовка формы Кли-
tgc_logo2 енты рисунок и название, а затем замените элемент управления
поле Страна на поле со списком. В качестве рабочей будет ис-
пользоваться папка SBS\Access\Forms\Controls. Выполните следую-
щие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. Откройте форму Клиенты в режиме Конструктор (Design).
3. Укажите на горизонтальную линию между селекторами раз-
делов Заголовок формы (Form Header) и Область данных (Detail) и, когда
указатель примет форму двуглавой стрелки, перетащите се-
лектор области данных вниз на 2,5 см. Форма будет выглядеть,
как показано на следующем рисунке.

Селектор
формы
Селектор
заголовка
формы

Селектор
области
данных




4.Если панель элементов отсутствует на экране, щелкните на
кнопке Панель элементов (Toolbox) на панели инструментов. Можно
также воспользоваться командой Панель элементов (Toolbox) в меню
Вид (View). Чтобы панель элементов не закрывала форму, можно
прикрепить ее к одному из краев экрана.
5. Чтобы получить представление о доступных элементах уп-
равления, поочередно поместите указатель на каждую кнопку
на панели элементов и прочитайте экранные подсказки.
6. Щелкните на элементе Рисунок (Image), щелкните в левой части
заголовка и протащите указатель по форме, чтобы начертить
Microsoft Access 2002. Шаг за шагом
114

прямоугольник высотой в 2,5 см и шириной в 7,5 см. Отпустите
кнопку мыши. Появится диалоговое окно Выбор рисунка (Insert
Picture), позволяющее выбрать графический файл, который бу-
дет вставлен в элемент управления.
7. Убедитесь, что открыта папка SBS\Access\Forms\Controls, а поле
Тип файлов (Files of Type) содержит значение Графические файлы (Graphic
Interchange Format). Щелкните дважды на файле tgc_logo2. Внутри
элемента управления появится логотип компании, как показа-
но ниже.


3 - I • 4 • I • 5 • I - 6 - | > 7 ' 1 - 8 - 1 ' 8 - 1 - Ю - I -11 • I • В • I - 1 3 - I -14 Ш




Совет. Если элемент управления слишком мал, рисунок будет обрезан.
Чтобы отобразить рисунок полностью, увеличьте элемент управления.
(Возможно, придется также увеличить область заголовка.)

8. Чтобы ввести заголовок формы, на панели элементов щелк-
ните на элементе управления Надпись (Label), щелкните справа от
логотипа компании и протащите указатель, чтобы начертить
прямоугольник. В области заголовка формы появится элемент
управления надпись, содержащий курсор.
9. Введите Клиенты и нажмите на клавишу | E n t e r |. Вставлен-
ный заголовок отформатирован так же, как и остальные над-
писи.
10. Нажмите на клавишу [ F4 |, чтобы отобразить диалоговое
окно Свойства (Properties) для выделенной надписи.
Глава 4. Использование форм для упрощения ввода данных 115

11. В поле свойства Размер шрифта (Font Size) введите 18, в поле свой-
ства Выравнивание текста (Text Align) установите значение По центру
(Center) и закройте диалоговое окно свойств.
12. В меню Формат (Format) укажите на команду Размер (Size) и щел-
кните на По размеру данных (То Fit).
13. Отрегулируйте размер и положение двух новых элементов
управления в соответствии со следующим рисунком.


t • I • 5 • I • 6 • I • 7 • I • S • I • 9 • I • Ю • I • II • I • 12 • I • в • I • И




14. Если на панели элементов кнопка Мастера (Control Wizard) ак-
тивна (имеет рамку), щелкните на ней, чтобы отключить. От-
ключение кнопки мастеров позволяет создавать элементы уп-
равления с заданными по умолчанию установками, не выполняя
шаги мастера.
15. Вставьте поле со списком в область данных. Для этого щел-
кните на элементе управления Поле со списком (Combo Box), а затем
протащите указатель по форме, так чтобы начертить прямоу-
гольник прямо под полем Страна. В форме появится поле со спис-
ком, которое является свободным, то есть, не привязанным к
полям таблицы Клиенты.
16. Примените форматирование поля Страна к новому элементу
управления. Для этого щелкните на поле Страна, щелкните на
кнопке Форматирование по образцу (Format Painter) на панели инстру-
ментов, а затем щелкните на новом поле со списком. Поле со
списком и надпись к нему приобретут такой же вид, как и дру-
гие элементы формы.
116 Microsoft Access 2002. Шаг за шагом

17. Снова выделите поле со списком и отобразите диалоговое
окно Свойства (Properties).
18. Щелкните на вкладке Данные (Data), в свойстве Данные (Control
Source) укажите Страна, а затем введите следующий текст в поле
свойства Источник строк (Row Source):
SELECT DISTINCT Клиенты.Страна FROM Клиенты;
(Между Клиенты и Страна нет пробела, только точка.)
Эта строка представляет собой запрос, который извлекает один
экземпляр каждой страны из поля Страна таблицы Клиенты и ото-
бражает результаты в виде списка. Диалоговое окно Свойства
(Properties) теперь выглядит следующим образом (расширьте
окно, чтобы отобразить запрос полностью).


ПолеСоСпискон20


*К:::^<<Г-рана ...... _ _ ....... _

.......
" ""•лица или ..
.......
LECT DISTINCT Клиенты Хтрана FROTJ^
•г<




|




Совет. Если нужно добавить клиента из страны, которой нет в списке,
введите новую страну в поле со списком. После добавления записи в таб-
лицу, эта страна будет отображаться в списке.

19. В поле свойства Тип источника строк (Row Source Type) укажите Таб-
лица или запрос (Table/Query).

20. Щелкните на надписи слева от поля со списком, в диалого-
вом окне щелкните на вкладке Макет (Format) и введите Страна в
поле свойства Подпись (Caption). Закройте диалоговое окно Свойства
(Properties).
21. Удалите исходное поле Страна с надписью, а затем перемес-
тите на его место новое поле со списком и его надпись. Если нуж-
но отрегулируйте размеры полей.
22. Щелкните на кнопке Вид (View), чтобы отобразить форму, ко-
торая должна выглядеть примерно так:
Глава 4. Использование форм для упрощения ввода данных 117




1 Клиенты




23. Просмотрите несколько записей. Щелкните на стрелке поля
со списком, чтобы посмотреть, как оно функционирует.
24. Поскольку вам не нужен селектор записи (серая полоса
вдоль левого края формы), уберите его. Для этого вернитесь в
режим конструктора и откройте диалоговое окно Свойства
(Properties) для всей формы, щелкнув на селекторе формы и на-
жав на клавишу |_F41. На вкладке Макет (Format) для свойства Об-
ласть выделения (Record Selectors) установите значение Нет (No), а для
свойства Полосы прокрутки (Scroll Bars) - Отсутствуют (Neither). Закройте
диалоговое окно Свойства (Properties).
25. Сохраните изменения и переключитесь в режим формы,
чтобы посмотреть на окончательный результат.
26. Закройте форму и базу данных.

Использование VBA для ввода данных
в форму
Ас2002е-8-1 Как вы уже, наверное, поняли, почти все в Access является
объектом. Одной из особенностей объектов является их способ-
ность распознавать события, представляющие собой некие
действия, и реагировать на них. Практически все объекты рас-
познают щелчки, двойные щелчки и перемещение мыши. По-
мимо этого, большинство объектов распознают и другие собы-
тия. Так, например, элемент управления поле распознает 17
событий, а форма — более 50.
118 Microsoft Access 2002. Шаг за шагом


Совет. Список событий, распознаваемых объектом, отображается на
вкладке Событие (Event) диалогового окна Свойства (Properties).

При работе с формой объекты практически постоянно сигнализируют со-
бытия. Часть событий Access обрабатывает, но большинство игнорирует.
Для событий, которые Access распознает, но не обрабатывает, можно ука-
зать действие, которое следует выполнить после наступления данного со-
бытия (например, запустить макрос, решающий определенную задачу).
Все это звучит довольно сложно. К тому же события не относятся к числу
понятий, о которых не задумывается обычный пользователь. Тем не ме-
нее стоит уделить им внимание, если вас интересует, что происходит при
вводе данных и как добиться большей эффективности объектов формы.
В базе данных GardenCo код клиента состоит из трех первых букв фамилии
и двух первых букв имени, причем все буквы заглавные. Подобная мето-
дика позволяет создать уникальный код клиента. При попытке ввести код,
который уже используется, Access заблокирует поле, и вам придется из-
менить код (например, добавить цифру), чтобы обеспечить его уникаль-
ность. Компьютер легко справляется с такими задачами, как объедине-
ние частей двух слов и преобразование букв в прописные. Поэтому, вместо
того чтобы вводить код клиента вручную для каждой новой записи, пре-
доставьте эту функцию VBA-программе.
GardenCo В этом упражнении вы напишете небольшую VBA-программу
AftUpdate и свяжете ее с событием После обновления (After Update) в поле Фами-
лия формы Клиенты. Если изменить содержимое поля и попытать-
ся перейти к другому элементу формы, генерируется событие
Перед обновлением (Before Update). Access реагирует на это событие,
обновляя запись в исходной таблице, после чего генерируется
событие После обновления (After Update), обработкой которого вы и
займетесь. Это упражнение не является глубоким погружени-
ем в Visual Basic, но дает представление о его возможностях. В
качестве рабочей папки будет использоваться SBS\Access\Forms
\EventS. Выполните следующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
j 2. На панели объектов выделите Формы (Forms), в списке форм
"" щелкните на Клиенты, а затем щелкните на кнопке Конструктор
(Design).
Глава 4. Использование форм для упрощения ввода данных 119

3. Щелкните на поле Фамилия, чтобы выделить его, и откройте
диалоговое окно Свойства (Properties), нажав на клавишу [ F4 |.
4. Щелкните на вкладке События (Event), чтобы отразить следую-
щий список.




На вкладке представлены события, на которые может реаги-
ровать элемент управления Фамилия.
5. Щелкните на событии После обновления (After Update), а затем щел-
кните на кнопке построителя .... Появится диалоговое окно По-
строитель (Choose Builder), в котором предлагается построить выра-
жение, макрос или программу.
6. Щелкните на Программы (Code Builder) и щелкните на кнопке ОК,
чтобы открыть окно редактора Visual Basic, показанное ниже.



Панель
проекта %, S ® dbl (GardenCo)
4
Э-© Microsoft Access Otss 0


Утверждение
End Sub
Окно
120 Microsoft Access 2002. Шаг за шагом

На панели Проект (Project Explorer) перечислены все созданные вами
объекты, с которыми можно связать программу. В данном слу-
чае это форма Клиенты. По мере создания других форм и отчетов
на панели будут появляться соответствующие объекты.
В окне программы отображается процедура Private Sub
Фамилия_АЛег11рс1а1е, которая будет использоваться для обработки
события После обновления (After Update) в поле Фамилия. На данном
этапе она состоит только из двух утверждений, определяющих
ее начало (Sub) и конец (End Sub).
7. Введите следующие строки между операторами Sub и End Sub
(или скопируйте их из файла AftUpdate в папке SBS\Access\Forms\Events).
'Создайте переменные для Имени, Фамилии
'и Кода клиента
Dim fName As String
Dim IName As String
Dim cID As String
'Присвойте значения переменной IName из текстового
'поля Фамилия.
'IName = Рогтз!клиенты!Фамилия.Тех1
'Вы должны активизировать текстовое поле прежде,
'чем прочитать его содержание.
Рогтз!клиенты!Имя.5е1Роси5
fName = Рогтз!клиенты!Имя.Тех1
'Объедините части Фамилии и Имени
'для создания Кода клиента.
cID = UCase(Left(IName, 3) & Left(fName, 2))
'Не храните Код, если только это не 5 знаков.
'(Это означает, что оба имени заполнены.)
If Len(clD) = 5 Then
Рогтз!клиенты!КодКлиента.5е1Росиз
'Не изменяйте Код, если он уже был введен.
'Возможно, это было сделано вручную.
If Рогтз!клиенты!КодКлиента.Тех1 = «» Then
Forms! клиенты! КодКлиента = cID
End If
End If
'Активизировать поле ввода Адреса.
Рогтз!клиента!Адрес.5е1Роси5
Глава 4. Использование форм для упрощения ввода данных 121


Важно. Строки, начинающиеся с кавычки, являются комментариями (по-
яснениями) к следующему за ними фрагменту программы. В редакторе
Visual Basic комментарии отображаются зеленым цветом.

КЦ 8. Сохраните файл, щелкните на кнопке View Microsoft Access, что-
™Л бы вернуться в окно Access, и закройте окно Свойства (Properties).
9. В режиме формы, если нужно, измените размер окна. Затем
Ш на панели перехода щелкните на кнопке Новая запись (New Record),
чтобы создать новую запись.
10. Нажмите на клавишу | T a b |, чтобы переместить курсор в
поле Имя, введите Джим, нажмите на клавишу | T a b |, чтобы пе-
рейти в поле Фамилия, введите Патерсон и снова нажмите на кла-
вишу | T a b |. Если вы не сделали ошибки при вводе VBA-npo-
граммы, в поле КодКлиента появится значение ПАТДЖ.
11. Измените имя или фамилию клиента. Обратите внимание,
что значение в поле КодКлиента не меняется даже при изменении
имен, на основании которых оно образовано.
12. Нажмите на клавишу | Esc |, чтобы очистить поля, и попы-
тайтесь вначале ввести фамилию, а потом имя. Значение
КодКлиента не будет сформировано, поскольку подобная ситуа-
ция не предусмотрена в VBA-программе. Чтобы обеспечить
создание кода клиента независимо от последовательности за-
полнения полей формы, нужно написать аналогичную проце-
дуру для поля Имя или написать одну процедуру, обрабатыва-
ющую событие После обновления (After Update) для обоих полей. Такая
процедура содержится в базе данных, которая используется в
следующем упражнении, и при желании ее можно просмотреть.
13. Нажмите на клавишу | Esc |, чтобы очистить поля, а затем
закройте форму Клиенты и базу данных.
14. Нажмите на клавиши | A l t | + | Tab |, чтобы переключиться в
редактор VBA, и закройте его.

Создание формы с помощью функции
Автоформа (Autoform)
Ас2002-4-1 Хотя форма может содержать любое число полей, формы, пред-
назначенные для ввода новых записей, должны включать все
поля таблицы. Проще всего создать такую форму, воспользо-
вавшись функцией Автоформа (Autoform), а затем доработать ее в
режиме конструктора.
Microsoft Access 2002. Шаг за шагом
122

GardenCo В этом упражнении вы создадите автоформу для ввода и про-
смотра данных о товарах, поставляемых компанией «Все для
сада». В качестве рабочей будет использоваться папка
SBS\Aecess\Forrns\Autoform. Выполните следующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. На панели объектов щелкните на пункте Формы (Forms).
3. На панели инструментов окна база данных щелкните на кноп-
ке Создать (New), чтобы отобразить диалоговое окно Новая форма (New
Form), где представлены различные способы создания форм.


Мастер форм
Автоформа: в столбец
Автоформа: ленточная
Автоформа: табличная
Автоформа: сводная таблица
I 8ш Автоформа: сводная диаграмма
Диаграмма
Сводная таблица



• ' :'• Ш




4. Щелкните на Автоформа: в столбец (Autoform Columnar), выделите
таблицу Типы в списке внизу диалогового окна, а затем щелкни-
те на кнопке ОК. Диалоговое окно закроется, и спустя несколь-
ко секунд на экране отобразится новая форма Типы.
5. Щелкните на кнопке Сохранить (Save). В диалоговом окне Сохра-
нение (Save As) примите заданное по умолчанию имя Типы и щелк-
ните на кнопке ОК. Новая форма должна выглядеть как пока-
зано на следующем рисунке.




Совет. При создании формы функция Автоформа (Autoform) применяет стиль
фона, выбранный при последнем использовании мастера формы (или за-
данный по умолчанию стиль, если мастер пока еще не использовался). Если
Глава 4. Использование форм для упрощения ввода данных 123

форма выглядит не так, как показано выше, переключитесь в режим кон-
структора, щелкните на команде Автоформа (Autoform) в меню Формат (Format) и
выберите стиль из списка.

6. Хотя форма выглядит неплохо, переключитесь в режим кон-
структора, чтобы внести некоторые улучшения.
7. Удалите слово «Типа» из надписи «Название типа».
8. Так как код типа КодТипа присваивается автоматически и не
подлежит изменению, следует запретить доступ к этому полю.
Щелкните на нем и, если нужно, нажмите на клавишу | F4 |, что-
бы отобразить диалоговое окно Свойства (Properties).
9. На вкладке Данные (Data) для свойства Доступ (Enabled) установи-
те значение Нет (No).
10. Переключитесь в режим формы и просмотрите несколько
записей. Попытайтесь изменить содержимое поля Код типа, что-
бы убедиться, что это невозможно.
11. Уберите селектор формы и полосы прокрутки. Для этого вер-
нитесь в режим конструктора, щелкните на селекторе формы
и нажмите на клавишу | F4 |, чтобы отобразить диалоговое окно
Свойства (Properties). На вкладке Макет (Format) для свойства Полосы
прокрутки (Scroll Bars) установите значение Отсутствуют (Neither), а для
свойства Области выделения (Record Selector) - Нет (No).
12. Сохраните и закройте форму Типы.
13. Закройте базу данных.

Добавление подчиненной формы
Ас2002-6-1 Форма может отображать информацию (поля) из нескольких
Ас2002е-2-3 таблиц или запросов. Но для этого необходимо, чтобы между
Ас2002е-5-1 этими объектами существовали отношения.
Ас2002е-5-2
В Access отношение представляет собой связь между совпада-
т



ющими полями двух таблиц, которая позволяет установить со-
ответствие между записями этих таблиц. Так, например, мож-
но связать отношением таблицы Типы и Товары, воспользовавшись
общим полем КодТипа.
Каждый тип включает несколько товаров, но каждый товар может отно-
ситься только к одному типу. Это пример наиболее распространенного типа
Microsoft Access 2002. Шаг за шагом
124

отношений, называемого один-ко-многим (то есть одной записи в табли-
це Типы соответствует несколько записей в таблице Товары).
При создании форм и запросов Access распознает отношения между ба-
зисными объектами, но не всегда правильно. Поэтому лучше установить
отношения между объектами вручную, тем более что это не представля-
ет проблемы.
В этом упражнении вы установите отношение между таблицами
GardenCo
Типы и Товары, а затем добавите к форме Типы подчиненную форму.
Подчиненная форма предназначена для просмотра товаров, при-
надлежащих типу, отображающегося в главной форме. В каче-
стве рабочей будет использоваться папка SBS\^ccess\Forms\Subform.
Выполните следующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. На панели инструментов Access щелкните на кнопке Схема
данных (Relationships), чтобы открыть диалоговое окно Схема данных
(Relationships).
3. Если диалоговое окно Добавление таблицы (Show Table) не отобра-
жается, щелкните на кнопке Отобразить таблицу (Show Table) на па-
нели инструментов. В списке таблиц щелкните дважды на Типы
иТовары. Закройте диалоговое окно Добавление таблицы (Show Table),
чтобы перейти в окно Схема данных (Relationships), которое выглядит
следующим образом.




4. Укажите на поле КодТипа в одной таблице и перетащите его
поверх поля КодТипа в другой таблице. Появится диалоговое окно
Изменение связей (Edit Relationships), позволяющее задать параметры
связи, как показано ниже.
Глава 4. Использование форм для упрощения ввода данных 125




Гил о! наше. ,v &Щ ко .«ни, им




Другие типы отношений
Помимо отношения один-ко-многим, существуют отношения один-к-од-
ному и многие-ко-многим, но они встречаются реже.
В отношении один-к-одному каждой записи в одной таблице соответствует
только одна запись в другой таблице. Этот тип отношений применяется в
том случае, если таблица содержит много полей. Для удобства ее можно
разбить на две связанные таблицы, поместив редко используемые поля в
отдельную таблицу.
Отношение многие-ко-многим, в сущности, представляет собой два отно-
шения один-ко-многим, которые реализуются через третью таблицу. На-
пример, в базе данных GardenCo имеются таблицы Товары, Заказы и Детали за-
каза. Таблица Товары содержит по одной записи для каждого товара. Запись
таблицы Заказы описывает один заказ, не включая при этом перечня зака-
занных товаров. Эти данные хранятся в таблице Детали заказа. То есть, од-
ной записи в таблице Заказы соответствует несколько записей в таблице
Детали заказа. Очевидно, что между таблицами Заказы и Детали заказа суще-
ствует отношение один-ко-многим. Но такое же отношение связывает таб-
лицы Товары и Детали заказа. Таблица Детали заказа является связующей в от-
ношении многие-ко-многим между таблицами Товары и Заказы. Проще
говоря, один и тот же товар может содержаться в нескольких заказах, а
каждый заказ может включать несколько товаров.

5. Выделите флажок Обеспечение целостности данных (Enforce Referential
Integrity), выделите остальные два флажка и щелкните на кнопке
Создать (Create).

Совет. Access использует систему правил (называемую обеспечением це-
лостности данных), которая препятствует случайному удалению или из-
менению связанных данных. Если флажок Каскадное обновление связанных полей
Microsoft Access 2002. Шаг за шагом
126

(Cascade Update Related Fields) выделен, изменение ключевого поля в первичной
таблице приведет к автоматическому обновлению совпадающих ключей в
связанных записях. Если выделен флажок Каскадное удаление связанных полей
(Cascade Delete Related Reids), удаление записи в первичной таблице вызовет
удаление соответствующих записей в связанной таблице.

На схеме данных появится линия, отображающая отношение
один-ко-многим между полями КодТипа в обеих таблицах, как
показано ниже.




Совет. Чтобы удалить или изменить линию связи, щелкните на ней пра-
вой кнопкой мыши и выберите подходящую команду в контекстном меню.

6. Закройте окно Схема данных (Relationships) и щелкните на кнопке
Да (Yes) в ответ на предложение сохранить макет схемы данных.
7. Откройте форму Типы в режиме конструктора.
8. Увеличьте окно формы и перетащите селектор раздела При-
мечание формы (Form Footer) вниз на 2,5 см, чтобы расширить область
данных.
9. Если панель элементов отсутствует на экране, щелкните на
кнопке Панель элементов (Toolbox).
10. Убедитесь, что кнопка Мастера (Control Wizard) на панели эле-
ментов активна (заключена в рамку).
11. На панели элементов щелкните на кнопке Подчиненная форма/
отчет (Subform/Subreport) и протащите указатель по нижней части
области данных, чтобы начертить прямоугольник. В форме по-
явится белый прямоугольный объект, и откроется окно Мастер
подчиненных форм (Subform Wizard).
Глава 4. Использование форм для упрощения ввода данных 127

12. Оставьте выделенным вариант Имеющиеся таблицы и запросы (Use
Existing Tables and Queries) и щелкните на кнопке Далее (Next).
13. В списке Таблицы и запросы (Tables/Queries) выделите Таблица: Това-
ры (Table: Товары).
14. Добавьте поля ОписаниеТовара, КодТипа, Заказано, Цена и Минималь-
ныйЗаказ в список Выделенные поля (Selected Reids), поочередно щел-
кая на каждом поле и щелкая на кнопке >. Затем щелкните на
кнопке Далее (Next), чтобы перейти к третьей странице мастера.




т •'••"•"?"-• с




Поскольку поле КодТипа в подчиненной форме связано с полем
КодТипа в главной форме, мастер выделит вариант Выбор из списка
(Choose from a list) и элемент списка 'Товары' для каждой записи Типы',
поле связи 'КодТипа' (Show Products for each record in Categories using CategorylD).

Совет. Если мастер не знает, какие поля связаны, будет выделен вариант
Самостоятельное определение (Define my own) и появятся пустые поля, где можно
указать поля, которые нужно связать.

15. Щелкните на кнопке Далее (Next), чтобы принять заданные по
умолчанию установки, а затем щелкните на кнопке Готово (Finish),
чтобы принять предложенное имя подчиненной формы и завер-
шить процесс. Access отобразит форму Типы в режиме конструк-
тора с вложенной в нее подчиненной формой Товары. Размеры
подчиненной формы определяются исходным прямоугольни-
ком, который вы начертили.
16. Отрегулируйте размер и положение объектов формы, что-
бы она выглядела примерно так.
Microsoft Access 2002. Шаг за шагом
128




17. Обратите внимание на макет подчиненной формы, а затем
щелкните на кнопке Вид (View), чтобы переключиться в режим
формы. Форма должна выглядеть как показано на рисунке
ниже.




| Осенний крокус
|| Луковые | Одна
Ветреница Луковые
Луковые
1НДЫШ
Луковые J6 шт.
'бсрский Ирис
Луковые 16 шт.
Желтый нарцисс
Луковые
Пионы :6шт.
Лилия Луковые !б шт.
;6 шт.
Бегония Луковые
ьпаны Луковые
18




Формат подчиненной формы полностью изменился. Если в ре-
жиме конструктора она выглядела как обычная форма, в ре-
жиме формы она похожа на таблицу.
Глава 4. Использование форм для упрощения ввода данных 129

18. Переключитесь в режим конструктора, скорректируйте раз-
мер подчиненной формы и откройте окно Свойства (Properties).
19. Щелкните дважды на селекторе в верхнем левом углу под-
чиненной формы. Первый щелчок выделит элемент управле-
ния подчиненная форма Товары, а второй щелчок выделит саму
форму. На селекторе появится черный квадратик.
20. В диалоговом окне Свойства (Properties) установите значение Нет
(No) для свойств Область выделения (Record Selectors) и Кнопки перехода
(Navigation Buttons), Обратите внимание, что в свойстве Режим по умол-
чанию (Default View) указано значение Таблица (Datasheet). Завершив
упражнение, вы можете вернуться к этому свойству и поэкс-
периментировать с другими установками.
21. Переключитесь в режим формы и перетащите разделители
(линии между столбцами), чтобы добиться следующих резуль-
татов.




подчиненная Форма Товары!

Волшебная Лилия ;Луковые Одна дюжина
Одна дюжина
; Луковые Одна дюжина
; Луковые Одна дюжина
; Луковые 6 шт. в пакете
6 шт. в пакете
Желтый нарцисс [Луковые
Пионы [Луковые 6 шт. в пакете
Лилия Луковые 6 шт. в пакете
[Луковые Б шт. в пакете
Бегония
1 дюжина
i Луковые
Тюльпаны
вые




Ш

Совет. Можно быстро подогнать ширину столбца под размер содержащих-
ся в нем данных, щелкнув дважды на правой границе заголовка столбца.

22. Воспользуйтесь кнопками перехода, чтобы просмотреть не-
сколько типов. Завершив просмотр, щелкните на кнопке Первая
запись (First Record), чтобы вернуться к первому типу (Луковые).
Каждый тип отображается вверху главной формы, а соответ-
ствующие ему товары в подчиненной форме в виде таблицы.


5 - Access 2002
Microsoft Access 2002. Шаг за шагом
130

23. В подчиненной форме щелкните на имени типа справа от
первого товара. Стрелка в конце поля указывает на то, что это
поле со списком.
24. Щелкните на стрелке, чтобы отобразить список типов, и за-
мените тип на Кактусы.
25. Щелкните на кнопке перехода Следующая запись (Next Record),
чтобы перейти к следующему типу (Кактусы). Как видите, пер-
вый товар из предыдущего списка теперь включен в этот тип.
26. В подчиненной форме отобразите список типов и восстано-
вите тип Луковые для первого товара.
27. Чтобы запретить изменение типа товара, вернитесь в ре-
жим конструктора. В подчиненной форме щелкните на элементе
управления КодТипа и нажмите на клавишу | Del 1.

Важно. При создании подчиненной формы с помощью мастера вы вклю-
чили поле КодТипа, поскольку оно связывает таблицы Товары и Типы. Но в ба-
зовой таблице Товары для отображения типа используется поле со спис-
ком, поэтому мастер вставил его в подчиненную форму.

28. Сохраните форму, переключитесь в режим формы и отре-
гулируйте ширину столбцов, чтобы форма выглядела как по-
казано на следующем рисунке.




Волшебная Лили
[Осенний крокус
Ветреница
1НДЫШ
терский Ирис
Желтый нарцисс
Пионы
(Лилия
Бегония
Тюльпаны





Глава 4. Использование форм для упрощения ввода данных 131

29. Закройте форму, сохранив изменения как в главной, так и в
подчиненной форме.
30. Закройте базу данных.
31. Если вы не намерены переходить к следующей главе, вый-
дите из Access.


Создание главной и подчиненной форм с
помощью мастера
Если при создании формы известно, что она должна содержать подчи-
ненную, можно поручить эту работу мастеру, выполнив следующие шаги.
1. На панели объектов щелкните на пункте Формы (Forms), а затем
щелкните на кнопке Создать (New) на панели инструментов окна
базы данных
2. Щелкните на Мастер формы (Form Wizard), выберите базовую таб-
лицу и щелкните на кнопке ОК.
3. Убедитесь, что в поле Таблицы и запросы (Tables/Queries) указана
выбранная вами таблица, и щелкните на кнопке », чтобы вклю-
чить все поля в новую форму.
4. Откройте список поля Таблицы и запросы (Tables/Queries) и выдели-
те базовую таблицу для подчиненной формы.
5. Щелкните дважды на нужных полях, чтобы добавить их в
список выбранных полей, а затем щелкните на кнопке Далее (Next).
6. Примите заданный по умолчанию вариант Таблица (Datasheet) и
щелкните на кнопке Далее (Next).
8. Щелкните на кнопке Готово (Finish), чтобы создать главную и
подчиненную формы.
Теперь можно доработать форму в соответствии с вашими нуждами так
же, как это делалось в предыдущем упражнении.
Фильтрация записей в форме,
стр.139




l*™jiS

Отбор информации,
соответствующей
заданным условиям,
стр. 142
$ШШ$ Отбора;




КодЗаказа JS
КодТовара ,,
: КодТовара
Дена 1 ОпИсаНиеТОВ;; v:
Просмотр Количество Л Латинское Hi :::
Скидка КодПоставщ|Щ|
данных из
нескольких
таблиц,
стр. 146

Сиг ([Сведения о заказе]![Цена] * [Сведения о заказе]![Колнчестео] * (1 - [Сведения о эаказе]![Скидка]))



- • (-:::'::': ШИ
Выпол-
нение
РЭапрое!
вычис-
В Таблицы
лений в
-О Заказы
- Q Клиенты
запросе
- СЗ Перевозчики
стр. 146
_
- СЗ Сотрудники
-ОТипы
-D Товары
D Запросы
S] Forms
Глава 5
Поиск и отбор
информации

Изучив эту главу, вы сможете:
• сортировать информацию по одному или нескольким полям;
• фильтровать данные различными способами;
• создавать запросы, извлекающие данные из одной или нескольких таб-
лиц;
• создавать запросы, выполняющие вычисления.

База данных представляет собой хранилище информации, которое мо-
жет вмещать от нескольких записей в одной таблице до тысяч записей во
множестве связанных таблиц. Независимо от объема информации база
данных полезна лишь в том случае, если в ней можно найти то, что нуж-
но, и когда нужно. В небольшой базе данных достаточно прокрутить таб-
лицу, чтобы появилась нужная запись. Но по мере развития и усложне-
ния базы данных поиск информации затрудняется.
Microsoft Access включает ряд инструментов, позволяющих найти в базе
данных нужные сведения и представить их в различных видах. Так, на-
пример, можно извлечь из таблицы записи, отвечающие определенным
условиям, и отсортировать их по одному или нескольким полям. Прило-
жив некоторые усилия, можно создать запрос, отображающий данные из
нескольких таблиц. При желании запрос можно сохранить и использо-
вать в дальнейшем.
Возможности запросов не ограничиваются извлечением данных из таб-
лиц. Используя встроенные функции, можно производить вычисления над
содержимым полей для получения суммы, количества, среднего арифме-
тического и других значений.
В этой главе вы узнаете, как найти и отобразить нужную ин-
формацию с помощью сортировки, фильтрации и запросов. В
процессе выполнения упражнений вам понадобятся файлы
базы данных GardenCo, которые хранятся в папках Sort, FilterDS,
FilterForm, AdvFilter, QueryDs, QueryWiz и Aggregate, вложенных в папку
SBS\Access\Queries.
Microsoft Access 2002. Шаг за шагом
134


Сортировка данных
Информация в таблицах может быть отсортирована в порядке
Ас2002-5-3
убывания или возрастания по одному или нескольким полям.
Например, можно отсортировать таблицу клиентов по алфа-
виту, воспользовавшись фамилией в качестве первого поля сор-
тировки и именем - в качестве второго. Получится список, по-
добный тому, который встречается в телефонных справочниках.
Имя
Фамилия

Кембелл Девид
Кембелл Мишель
Кенеди Кевин
Керни Нил
Шейн
Ким
В некоторых случаях сортировка применяется для того, чтобы сгруппи-
ровать табличные данные по определенному принципу. Например, если,
прежде чем печатать почтовые наклейки, отсортировать адресную ин-
формацию по почтовому индексу, наклейки будут сгруппированы в соот-
ветствии с требованиями почтовой службы.
В этом упражнении вы воспользуетесь различными способами
GardenCo
сортировки данных в таблице и форме. В качестве рабочей бу-
дет использоваться папка SBS\Access\Queries\Sort. Выполните сле-
дующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. Откройте таблицу Клиенты в режиме таблицы.
3. Чтобы отсортировать таблицу по полю Штат, щелкните в лю-
бом месте столбца Штат, а затем щелкните на кнопке Сортировка
по возрастанию (Sort Ascending). Записи будут упорядочены по реги-
онам.

Совет. Можно также воспользоваться командами Сортировка по возрастанию
(Sort Ascending) и Сортировка по убыванию (Sort Descending) в меню Записи (Records) или
щелкнуть правой кнопкой мыши на столбце, а затем щелкнуть на нужной
команде в контекстном меню.
Глава 5. Поиск и отбор информации 135

4. Чтобы изменить порядок сортировки на обратный (при усло-
вии, что курсор все еще находится в столбце Штат), щелкните на
кнопке Сортировка по убыванию (Sort Descending). Записи для штата
Орегон находятся теперь в начале списка. В обоих случаях сор-
тировка осуществлялась по алфавиту, но данные в поле Город
располагаются беспорядочно. Очевидно, что список выиграет,
если упорядочить города внутри регионов.


Принципы сортировки в Access
Хотя суть сортировки кажется вполне очевидной, для компьютера все не
так просто. В Access цифровые данные могут трактоваться и как числа, и
как текст. Поля, содержащие, помимо цифр, пробелы, тире или знаки пре-
пинания (как, например, в почтовом индексе или телефонных номерах),
трактуются как текстовые. В отличие от них поля, содержащие такие дан-
ные, как цена или количество, считаются числовыми. При сортировке тек-
стовых полей, все записи упорядочиваются вначале по первому символу,
затем по второму и так далее - вплоть до последнего. Сортировка число-
вых данных осуществляется по их значениям в порядке возрастания или
убывания. Такой подход может привести к неожиданным результатам. В
следующей таблице представлены результаты сортировки первого стол-
бца в зависимости от того, является его содержимое текстовым или чис-
ловым.
Отсортированный Отсортированный
Исходный
как текст как числа
список

1 1 1
2
11
1234
12 3
23
4
3 1234
2 5
11
22 11
22
12
23
12
22
3
4
23
2 4
5
5 1234
136 Microsoft Access 2002. Шаг за шагом

Чтобы отсортировать текстовое поле, содержащее цифры, в порядке воз-
растания или убывания значений, нужно дополнить их ведущими нуля-
ми до одинаковой длины. Например, данные 001, 011,101 будут отсорти-
рованы правильно, даже если они определены как текстовые.


Совет. При сортировке записей по нескольким полям сортировка осуще-
ствляется последовательно, слева направо. Поэтому поля сортировки дол-
жны быть смежными и располагаться в нужной последовательности.

5. Чтобы разместить столбец Штат слева от поля Город, щелкните
на заголовке столбца и перетащите его влево, пока между по-
лями Адрес и Город не появится темная линия.
6. Так как столбец Штат уже выделен, нажмите на клавишу
| S h i f t ] и щелкните в заголовке столбца Город, чтобы распрост-
ранить выделение на оба столбца.
7. Щелкните на кнопке Сортировка по возрастанию (Sort Ascending), что-
бы упорядочить записи по регионам и городам в порядке воз-
растания (города будут отсортированы внутри регионов).

Совет. Просматривая записи в режиме формы, их можно отсортировать,
но только по одному полю. Для этого щелкните в нужном поле, а затем
щелкните на одной из кнопок Сортировка (Sort).

8. Хотя порядок столбцов в таблице Клиенты не имеет особого зна-
чения, все же верните столбец Штат на прежнее место.
9. Сохраните и закройте таблицу Клиенты.
10. Закройте базу данных.

Фильтрация записей в таблице
Ас2002-5-4 В отличие от сортировки, которая упорядочивает информацию,
фильтрация позволяет извлечь из таблицы записи, отвечаю-
щие определенным условиям. Например, можно создать
фильтр, который находит в таблице Клиенты всех клиентов, про-
живающих в Сиэтле, или клиентов, разместивших заказы
после 18 января.
Работая с таблицами и формами, можно задавать простые фильтры. Обыч-
но эти фильтры относятся к выделенному полю, но, если к результатам
Глава 5. Поиск и отбор информации 137

отбора применить дополнительные фильтры, область просмотра сузится
еще больше.

Совет. Фильтрация записей осуществляется с помощью команды Фильтр
(Rlter) в меню Записи (Records), кнопок на панели инструментов и команд в
контекстном меню. Доступ к этим командам зависит от конкретной ситу-
ации.

GardenCo В этом упражнении вы воспользуетесь несколькими способа-
ми фильтрации записей. В качестве рабочей будет использо-
ваться папка SBS\Access\Queries\FilterDS. Выполните следующие
шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. Откройте таблицу Клиенты в режиме таблицы.
3. Щелкните на значении «Бойсе» в поле Город, а затем щелкни-
те на кнопке Фильтр по выделенному (Rlter By Selection). В таблице из
109 записей останутся 2, поскольку в Бойсе живут только два
клиента.

Важно. При фильтрации таблицы записи, не отвечающие условиям отбо-
ра, не удаляются, а просто перестают отображаться.

4. Щелкните на кнопке Удалить фильтр (Remove Filter), чтобы снова
отобразить все записи таблицы.
5. Отобразите всех клиентов, имеющих почтовый индекс, на-
чинающийся с символов «V3F». Для этого найдите в таблице
запись с таким индексом, выделите символы «V3F», а затем
щелкните на кнопке Фильтр по выделенному (Filter By Selection). В таб-
лице останутся только две записи, имеющие почтовые индек-
сы, начинающиеся с «V3F».
6. Щелкните на кнопке Удалить фильтр (Remove Rlter).
7. Если таблица слишком велика, чтобы искать в ней запись,
содержащую «V3F» в почтовом индексе, можно воспользовать-
ся контекстным меню. Щелкните правой кнопкой мыши на лю-
бом почтовом индексе, в контекстном меню щелкните в поле
Фильтр для (Rlter For), введите V3F* и нажмите на клавишу | Enter |.
138 Microsoft Access 2002. Шаг за шагом

Звездочка (*) является заменителем символов и означает, что
нужно найти все вхождения почтового индекса, начинающие с
«V3F».
8. Чтобы отобразить клиентов, живущих вне Соединенных
Штатов, удалите текущий фильтр, щелкните правой кнопкой
мыши в поле Страна, которое содержит значение «США», и щел-
кните на команде Исключить выделенное (Filter Excluding Selection) в кон-
текстном меню. В таблице отобразятся клиенты из других стран
(в данном случае из Канады).


Заменитель символов
Если точное значение критерия отбора неизвестно, можно воспользовать-
ся заменителями символов (wildcard characters). Наиболее распростра-
ненные из них представлены в следующей таблице:
Символ Назначение Пример
Заменяет любое Lname = Co* возвращает значения типа
число символов Colman и Сопгоу
? Заменяет один Fname = eri? возвращает значения типа Eric
символ и Erik
# Заменяет одну ID = 1## возвращает все значения от 100 до
цифру 199

9. Чтобы поэкспериментировать с еще одним способом фильт-
рации, удалите фильтр, сохраните и закройте таблицу Клиенты,
а затем откройте таблицу Заказы в режиме таблицы.
10. Чтобы отобразить все заказы, принятые Майклом Эмони 23
января, в поле КодСотрудника щелкните правой кнопкой мыши на
числе 7 (код этого сотрудника) и щелкните на команде Фильтр по
выделенному (Filter By Selection) в контекстном меню.
11. Щелкните правой кнопкой мыши в поле ДатаРазмещения, со-
держащем значение 23.01.2001, и снова щелкните на команде
Фильтр по выделенному (Filter By Selection) в контекстном меню, В таб-
лице останутся только заказы, сделанные Майклом 23 января.
Можно усложнить фильтр, добавив условие отбора по другому
полю, или отсортировать результаты фильтрации. Для этого
щелкните в поле сортировки, а затем щелкните на одной из
кнопок Сортировка (Sort).
Глава 5. Поиск и отбор информации 139


Совет. Отобрав и упорядочив нужную информацию, можно отобразить
результаты в виде формы или запроса. Щелкните на кнопке Новый объект
(New Object) на панели инструментов и следуйте указаниям.

12. Удалите фильтры, щелкнув на кнопке Удалить фильтр (Remove
Filter).
13. Сохраните и закройте таблицу Заказы.
14. Закройте базу данных.

Совет. Команды фильтрации позволяют фильтровать записи таблицы и
при работе с формой. Особенно полезной может оказаться команда Фильтр
для (Filter For), поскольку не требует отображения выделяемого значения в
поле формы.


Использование функции
Изменить фильтр (Filter By Form)
Ас2002-5-4 С помощью функции Изменить фильтр (Filter By Form) можно легко и
быстро создать сложный фильтр, основанный на содержимом
полей таблицы. Если открыть таблицу, а затем щелкнуть на
кнопке Изменить фильтр (Filter By Form) вместо записей таблицы ото-
бразится пустая строка, ячейки которой представляют собой
поля со списками, содержащими все значения, встречающиеся
в данном столбце таблицы.



Андерсон. Эмми
Гелос, Майк
Дебрукс, Ставен I
Йошида, Ким
Каплан. Ричард
Кэрпернер, Лени
Тернер, Катрин
Фэйне, Сьюзен
Microsoft Access 2002. Шаг за шагом
140

Выбрав элемент из списка, можно щелкнуть на кнопке Применение фильтра
(Apply Filter), чтобы отобразить только те записи, которые содержат выбран-
ное значение.
Если таблица содержит десятки полей, использование функции Изменить
фильтр (Filter By Form) усложняется, поскольку приходится прокручивать таб-
лицу по горизонтали. В этом случае лучше воспользоваться кнопкой Изме-
нить фильтр (Filter By Form) в режиме формы. Вместо исходной формы отобра-
зится пустая форма, предназначенная для создания фильтра. Если
щелкнуть в любом поле, а затем щелкнуть на стрелке, появится список
всех значений поля, как показано ниже.




Выбрав значение и щелкнув на кнопке Применение фильтра (Apply Filter), щелк-
ните на кнопке Следующая запись (Next), чтобы отобразить первую из отобран-
ных записей. Воспользуйтесь кнопками перехода, чтобы просмотреть ос-
тальные записи.

Совет. Функция Изменить фильтр (Filter By Form) применима как в режиме таб-
лицы, так и формы. В тех случаях, когда проще задать фильтр в форме, а
просматривать результаты удобнее в таблице, можно быстро создать
форму, воспользовавшись функцией Автоформа (Autoform). Затем, оп-
ределив фильтр в форме, можно переключиться в режим таблицы для
просмотра результатов.

GardenCo В этом упражнении вы воспользуетесь функцией Изменить фильтр
(Filter By Form), что найти клиента, фамилию которого забыли, но
уверены, что он живет либо в Калифорнии, либо в Вашингтоне,
Глава 5. Поиск и отбор информации 141

а фамилия начинается с буквы «С». В качестве рабочей будет
использоваться папка SBS\Access\Queries\RlterForm. Выполните сле-
дующие шаги.
1. Откройте базу данных GardenCo, расположенную в рабочей
папке.
2. На панели объектов щелкните на пункте Формы (Forms), а затем
щелкните дважды на форме Клиенты, чтобы открыть ее в режи-
ме формы.
3. Щелкните на кнопке Изменить фильтр (Filter By Form) на панели
инструментов. Вместо формы Клиенты, в которой отображалась
запись таблицы, появится аналогичная форма с пустыми по-
лями и вкладками Найти (Look for) и Или (Or), указанными внизу.
4. Щелкните в поле Фамилия, введите с* и нажмите на клавишу
I Enter | (указав тем самым, что нужно отобразить всех клиен-
тов, фамилии которых начинаются с «С»). Access преобразует
введенное значение в выражение: Like "с*".
5. Щелкните в поле Штат и выделите в списке Калифорния.
6. Щелкните на кнопке Применение фильтра (Apply Filter), чтобы ото-
бразить клиентов из Калифорнии, фамилии которых начина-
ются с буквы «С». Окно фильтра заменится формой Клиенты. На
панели перехода внизу формы указано, что найдено 3 записи.
7. Щелкните на кнопке Изменить фильтр (Filter By Form), чтобы вер-
нуться к фильтру. Поля формы все еще содержат заданные
значения. При создании фильтра условия отбора сохраняются
до тех пор, пока их не заменят другими.
8. Чтобы добавить в условия отбора клиентов из другого штата,
щелкните на вкладке Или (Or). Эта вкладка содержит те же пус-
тые поля, что и вкладка Найти (Look for).

Совет. При переходе на вкладку Или (Or) появляется вторая вкладка Или
(Or), позволяющая задать третье условие.
<^:«<««:«мздю>хт«<«««^ н»м«н««имии1ии тятя»»
житии»



9. В поле Фамилия, введите с*, в поле Штат выделите из списка
или введите значение Вашингтон, а затем щелкните на кнопке
Применить фильтр (Apply Filter). Прокрутите форму, чтобы просмот-
реть шесть отфильтрованных записей.

<<

стр. 4
(всего 10)

СОДЕРЖАНИЕ

>>