<<

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

СОДЕРЖАНИЕ

>>


Приступим к разработке новой таблицы

Компания приняла решение включить информацию транспортного отдела в существующую базу. Для этого необходимо разработать таблицу, которая должна включать, как считают сотрудники отдела, следующую информацию.
Наименование фирмы, обеспечивающей доставку, и имя сотрудника, с которым предполагается работать.
Тип перевозок (авиа или сухопутные). Откройте новую таблицу следующим образом.
1. Убедитесь, что в окне базы открыта вкладка Таблицы (Tables) и щелкните на кнопке Создать (New).
2. В диалоговом окне Новая таблица (New Table) убедитесь, что выделен Режим таблицы (Table View) и щелкните на кнопке ОК.
На экране появится пустая таблица, состоящая из 20 столбцов и 30 строк.

Как присвоить имена полям

Каждому столбцу таблицы соответствует определенное поле записи. Чтобы добавить поле, нужно заменить стандартное имя столбца на название поля. Рекомендуется выбирать названия полей так, чтобы они отражали
характер содержащихся в них данных. При сохранении таблицы Microsoft Access удаляет лишние (не переименованные) столбцы.
Присвоив имена полям, можно вводить информацию в таблицу. Microsoft Access автоматически создает подходящий тип и формат данных. Тип данных определяет, какие данные могут содержаться в поле, а формат отображения указывает, как они будут выводиться на экран или печать. При создании таблицы с помощью Мастера таблиц тип данных и формат вывода задаются по выбранным из списка полям образца.
В таблице, приведенной ниже, показаны примеры полей, их типы данных и допустимые значения.

Поле
Тип данных
Допустимые значения
Фамилия
Текстовый (Text)
Гамильтон
Цена
Денежный (Currency)
16.89
Количество
Числовой (Number)
500

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

Присвойте имя полю

Дважды щелкните на заданном по умолчанию имени поля Поле (Field1) и затем введите Транспортная компания.
Наименование поля может содержать до 64 символов, включая пробелы, знаки препинания (кроме точки, восклицательного знака и квадратных скобок).



Назовите другие поля

Зададим названия остальным полям таблицы.
1. Дважды щелкните на имени поля Поле2 (Field2) и затем введите Авиадоставка.
2. Поместите указатель на разделительную линию между полями Авиадоставка и ПолеЗ. Когда указатель примет форму двухголовой стрелки, дважды щелкните кнопкой мыши.
Ширина столбца изменится по длине наименования поля.
3. Дважды щелкните на имени поля ПолеЗ (Field2) и затем введите Адрес.
4. Аналогичным образом введите следующие поля:
Город
Штат
Почтовый индекс
5. Измените ширину столбцов, как вы это сделали в шаге 2.
Таблица должна выглядеть, как показано на следующем рисунке.
Поле Авиадоставка может принимать только два значения: «Да» или «Нет». Значение «Да» означает доставку по воздуху, «Нет» - по суше, и будет предполагаться по умолчанию. После ввода нескольких записей Microsoft Access присвоит полю определенный тип данных на основании введенных значений. В режиме Конструктор тип данных можно будет изменить.
2. Введите Нет в поле Авиадоставка.
3. Введите следующие значения для полей этой записи:

Адрес (улица)
410 Роуз-стрит
Город
Чикаго
Штат
Иллинойс
Почтовый индекс
45123

4. Добавьте еще две записи в таблицу.

Транспортная компания
Серые гуси
Ночной пегас
Авиадоставка
Да
Нет
Адрес (улица)
410 Роуз-стрит
100 Даун-стрит
Город
Даллас
Нью-Йорк
Штат
Техас
Нью-Йорк
Почтовый индекс
8654
12378

5. Щелкните дважды на правой границе заголовка столбца Адрес, чтобы увеличить его ширину до размера максимального поля данных в столбце.
Ваша таблица будет выглядеть как на следующем рисунке.


Сохраните таблицу

1. На панели инструментов щелкните на кнопке Сохранить (Save). Появится диалоговое окно Сохранение (Save As).
2. В поле Имя таблицы (TableName) введите Доставка и затем щелкните на кнопке ОК.
Появится сообщение с вопросом, хотите ли вы создать ключ для таблицы. Ключи обеспечивают эффективную работу с записями таблицы, поэтому их следует создавать для каждой таблицы.
3. Щелкните на кнопке Да (Yes). Microsoft Access создаст ключ и сохранит таблицу под именем Доставка.
4. Дважды щелкните на имени Код в заголовке столбца ключевого поля, чтобы выделить его. Введите Код доставки и нажмите клавишу | Enter |. Поле ключа теперь называется Код доставки.
5.Закройте таблицу.

Создайте форму для ввода данных

Хотя информацию можно непосредственно вносить в таблицу, в большинстве случаев это делается с помощью форм. Спроектированная надлежащим образом форма облегчает ввод данных и обеспечивает их правильность. Если не требуется никакого специального форматирования или контроля данных, можно создать основу формы с помощью функции Автоформа.
1. В окне базы данных выделите таблицу Доставка.
2. Щелкните на стрелке кнопки Новый объект (New Object) и выберите пункт Автоформа (AutoForm). Microsoft Access создаст форму.
3. Щелкните на команде Сохранить (Save as) в меню Файл (File).
4. Убедитесь, что слово «Доставка» выделено в поле Имя формы (New Name). Щелкните на кнопке ОК.
5. Закройте созданную форму Доставка.

Управление данными через свойства полей

Свойства полей определяют, как Microsoft Access хранит, обрабатывает и выдает на экран содержащуюся в них информацию. Например, чтобы числа отображались на экране в виде процентов, необходимо в свойстве Формат поля задать значение Процентный.
Каждому типу данных соответствует различный набор свойств. Поля с Текстовым или Числовым типом данных имеют, например, свойство Размер поля, определяющее максимальный размер данных, которые могут в них храниться. Поля с логическим типом данных не имеют этого свойства, так как длина таких полей фиксированная.
Свойство Тип элемента управления позволяет устанавливать флажок для полей, принимающих значения Да или Нет. Значительно проще пометить поле флажком, чем вводить значение. В следующем упражнении вы определите поле Авиадоставка как флажок, изменив значение этого свойства.

Задайте свойства поля

1. Убедитесь, что открыта вкладка Таблицы (Tables), и дважды щелкните на таблице Доставка.
2. На панели инструментов щелкните на стрелке кнопки Вид (View) и затем выберите режим Конструктор.
3. Щелкните в любом месте строки для поля Авиадоставка.
Свойства этого поля появятся в области Свойства поля (Field Properties) в нижней части таблицы.
4. В области Свойства поля (Field Properties) щелкните на вкладке Подстановка (Lookup).
На вкладке Подстановка (Lookup) появится свойство Тип элемента управления (Display Control), имеющее по умолчанию значение Поле (Text Box).

Чтобы быстро получить исчерпывающую информацию о данном свойстве щелкните на соответствующем ему поле и нажмите клавишу

5. Щелкните на свойстве Тип элемента управления (Display Control) и затем щелкните на стрелке, которая появится в правой части поля. Выберите из списка пункт Флажок (Check Box).
Если для типа элемента управления задан Флажок, в таблице и всех созданных на ее основе формах в данном поле появится флажок.
6. Переключитесь в Режим таблицы (Table View), чтобы убедиться, что в поле Авиадоставка появился флажок. В ответ на запрос Microsoft Access, будете ли вы сохранять таблицу, щелкните на кнопке Да (Yes).
7. Закройте окно таблицы Доставка.

Как связать новую таблицу с базой данных

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

Взаимосвязь данных

Обратитесь к уроку 5 «Обеспечение надежности баз данных» за дополнительными сведениями о ключах записей.
Microsoft Access работает с реляционными базами данных, которые получили широкое распространение, благодаря способности объединять информацию из разных таблиц. Создав таблицы и определив ключи для каждой из них, можно задать взаимосвязи, которые позволяют извлекать данные из нескольких таблиц и помещать их в одну форму, отчет или запрос.
В Microsoft Access есть два типа взаимосвязей: отношение «один-к-одному» и отношение «один-ко-многим», которое является более распространенным. В последнем случае одной записи таблицы соответствует несколько записей в другой таблице. Например, один заказчик может сделать много заказов. Значит, одна запись в таблице Заказчики, называемой главной таблицей, будет связана со множеством записей в таблице Заказы, которая называется связанной.
Наименования полей, через которые устанавливается связь таблиц, могут быть различны, но тип содержащихся в них данных должен совпадать, а числовые поля должны иметь одинаковый размер.



Примечание. Существуют исключения из правила об обязательном совпадении типа данных для связующих полей. Например, поле типа Счетчик (Increment AutoNumber) можно связать с числовым полем, имеющим в свойстве Размер (Field Size) значение Длинное целое (Long Integer).


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



Примечание. Помимо прочего, установление связей обеспечивает целостность информации в базе данных. Например, вы не сможете ввести заказы для несуществующих заказчиков. За более подробной информацией по этому вопросу обратитесь к разделу «Что означает целостность данных» справки по Microsoft Access.

Установление сложных связей

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


Определив связи между двумя таблицами, нельзя модифицировать или удалять поля, на которых базируются данная связь, не удалив ее прежде.

Включите таблицы в окно Схемы данных

Таблица Транспортные услуги содержит тарифы на перевозки. Таблица Доставка представляет собой список транспортных фирм. Одной записи в таблице Доставка соответствуют несколько записей в таблице Транспортные услуги, так как размер тарифа зависит не только от фирмы, но и от пункта назначения. Это пример отношения один-ко-многим, в котором таблица Доставка является главной. Связь между этими таблицами устанавливается через поле Код доставки.
1. На панели инструментов щелкните на кнопке Схема данных (Relationships). Откроется окно Схема данных (Relationships).



Примечание. Для данного упражнения окно схемы данных должно быть пустым. Если это не так, на панели инструментов щелкните на кнопке Очистить макет (Clear Layout). Или щелкните на команде Очистить макет (Clear Layout) в меню Правка (Edit). Затем щелкните на кнопке Да (Yes).

2. На панели инструментов щелкните на кнопке Добавить таблицу (Show Table). Появится диалоговое окно Добавление таблицы (Show Table).
Можно также щелкнуть на команде Добавить таблицу (Show Table) в меню Связи (Relationships).
3. На вкладке Таблицы (Tables) выделите таблицу Доставка и щелкните на кнопке Добавить (Add).
4. Выделите таблицу Транспортные услуги и щелкните на кнопке Добавить (Add). В окне Схема данных (Relationships) отобразятся обе таблицы со списками полей.
5. В диалоговом окне Добавление таблицы (Show Table) щелкните на кнопке Закрыть (Close).

Создайте связи между таблицами

1. Перетащите поле Код доставки из таблицы Доставка на поле Код доставки таблицы Транспортные услуги.
Когда вы отпустите кнопку мыши, появится диалоговое окно Связи (Relationships). Убедитесь, что связующие поля указаны для обеих таблиц. Если это не так, то щелкните в ячейке под названием таблицы, затем щелкните на стрелке, чтобы выбрать из списка нужное поле.
2. Щелкните на кнопке Создать (Create).
Тонкая линия соединит связующие поля двух таблиц. Эта связь будет существовать, пока вы ее не удалите. Окно Схема данных должно выглядеть как на следующем рисунке.

3. Закройте окно Схема данных (Relationships).
При закрытии окна появится сообщение с запросом, хотите ли вы сохранить изменения макета Схема данных (Relationships). Ответ на этот вопрос влияет только на графическое отображение в окне Схема данных (Relationships). Все созданные связи хранятся в базе данных.
4. Щелкните на кнопке Да (Yes), чтобы сохранить макет в окне Схема данных (Relationships).
В следующий раз окно Схема данных (Relationships) будет выведено в том виде, в котором вы его сейчас сохранили.

Удалите и восстановите связи между таблицами

1. На панели инструментов щелкните на кнопке Схема данных (Relationships) для просмотра сохраненной схемы данных.
2. Щелкните на линии между таблицами Доставка и Транспортные услуги. Линия станет толще.
3. Нажмите клавишу [Delete"), чтобы удалить связь. Появится сообщение, запрашивающее подтверждение удаления.
4. Щелкните на кнопке Да (Yes). Microsoft Access сотрет линию между таблицами. Они больше не связаны.
5. Перетащите поле Код доставки из таблицы Доставка на это же поле в таблице Транспортные услуги и затем щелкните на кнопке Создать (Create) диалогового окна Связи (Relationships), чтобы снова создать связь.
6. Закройте окно Схема данных (Relationships).

Как создать связи с использованием составных ключей

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

Свяжите составной ключом со связующими полями

В следующем упражнении создайте отношение между таблицами Транспортные услуги и Заказы так, чтобы обеспечить автоматический доступ к данным по тарифам перевозок при работе с таблицей Заказы.
1. На панели инструментов щелкните на кнопке Схема данных (Relationships). Откроется окно Схема данных (Relationships) со схемой в том виде, как вы ее сохранили.
2. На панели инструментов щелкните на кнопке Очистить макет (Clear Layout), чтобы освободить рабочее пространство. Отношения в базе при этом не изменяются.
3. Щелкните на кнопке Да (Yes).
4. На панели инструментов щелкните на кнопке Добавить таблицу (Show Table), чтобы открыть диалоговое окно Добавление таблицы (Show Table).
5. В диалоговом окне Добавление таблицы (Show Table) поочередно выделите и добавьте таблицы Транспортные услуги и Заказы. Закройте диалоговое окно Добавление таблицы.
6. В окне Схема данных (Relationships) перетащите поле Код доставки из таблицы Транспортные услуги в таблицу Заказы. Когда вы отпустите кнопку мыши, появится диалоговое окно Связи (Relationships). Убедитесь, что поле Код доставки указано для обеих таблиц. Если это не так, то щелкните в ячейке под названием таблицы, затем щелкните на стрелке, чтобы выбрать из списка нужное поле.
7. Щелкните в ячейке под полем Код доставки для каждой таблицы, затем щелкните на стрелке, и выберите поле Штат/Провинция получателя.

8. Щелкните на кнопке Создать (Create).
Окно Схема данных (Relationships) отобразит связи между двумя таблицами. Линии связей видны лучше, если отодвинуть таблицу Транспортные услуги дальше от таблицы Заказы и увеличить размеры таблиц так, чтобы оба связующих поля были видны без прокрутки. Можно отодвинуть и другие таблицы на схеме.
9. Закройте окно Схема данных (Relationships). Щелкните на кнопке Да (Yes) в ответ на запрос, хотите ли вы сохранить изменения макета.
Поскольку таблицы теперь связаны, Microsoft Access может извлекать данные из обеих таблиц.

Посмотрите, как работают заданные связи

Связав таблицы Доставка и Транспортные услуги и таблицы Транспортные услуги и Заказы, посмотрим, как работают установленные отношения, когда нужно получить данные из нескольких таблиц.
Информацию из таблиц можно извлекать с помощью фильтра или запроса. При работе с фильтрами задается критерий выбора данных из одной таблицы. Запрос дает возможность использовать связи между таблицами для получения информации из двух и более таблиц. В следующем упражнении вы создадите запрос для просмотра данных из трех связанных таблиц.
Обратитесь к уроку 7 «Построение запросов» за дополнительной информацией о создании запросов.
1. В окне базы данных щелкните на вкладке Запросы (Queries), чтобы вывести список запросов и затем щелкните на кнопке Создать (New). Появится диалоговое окно Новый запрос (New Query).
2. В диалоговом окне Новый запрос (New Query) щелкните дважды на пункте Простой запрос (Simple Query Wizard). Откроется диалоговое окно Создание простых запросов (Simple Query Wizard).
3. В списке Таблицы /Запросы (Tables/Queries) выберите Таблица:3а-казы. Затем в списке Доступные поля (Available Fields) щелкните дважды на пункте Код заказа, чтобы добавить его в список Выбранные поля (Selected Fields).
Диалоговое окно Создание простых запросов выглядит как на следующем рисунке.

4. В список выбранных полей добавьте поле Транспортная компания из таблицы Доставка и поле Тарифы из таблицы Транспортные услуги.
Программа Microsoft Access использует созданные вами связи, чтобы объединить таблицы в запросе.
5. Щелкните на кнопке Далее (Next).
6. Убедитесь, что выбран вариант Подробный (вывод каждого поля каждой записи) (Detail (Shows Every Field Of Every Record)) и щелкните на кнопке Далее (Next).
7. Введите Запрос о доставке в качестве заголовка, убедитесь, что выбран вариант Открытие результатов выполнения запроса (Open The Query To View Information) и щелкните на кнопке Готово (Finish).
В окне запроса появятся связанные данные из всех трех таблиц.
8. Закройте окно запроса.
Microsoft Access автоматически сохраняет запрос, и его наименование (заголовок) появится в списке запросов в окне базы данных.

Шаг вперед: изменение свойств полей и построение фильтра

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

Задайте свойства полей

Свойства полей можно определить таким образом, чтобы они соответствовали установленным в компании правилам. Допустим, что заказы разрешается принимать, только когда известен код заказчика. Чтобы обеспечить обязательное заполнение этого поля при вводе заказа, следует воспользоваться свойством Обязательное поле.
1. В окне базы данных щелкните на вкладке Таблицы (Tables), чтобы вывести список таблиц.
2. Выделите таблицу Заказы и затем щелкните на пункте Конструктор (Design).
3. Выделите поле Код заказчика.
4. В области Свойства поля (Field Properties) щелкните на свойстве Обязательное поле (Required). В поле появится стрелка.
5. Щелкните на стрелке в поле свойства и выберите из ниспадающего списка Дa (Yes).
Если для свойства Обязательное поле установлено значение Да, то при попытке оставить его пустым выдается предупреждение. Нельзя добавить запись, не заполнив Код заказчика.

Создайте фильтр для таблицы

С помощью фильтров можно ограничить количество записей, которые выдаются на экран в режиме таблицы. Это простой способ отбора нужных записей. Отфильтруйте таблицу заказов, чтобы вывести только те из них, которые поступили 14 ноября 1996 года.
1. Щелкните на стрелке кнопки Вид (View) и выберите Режим таблицы (Datasheet View).
2. Щелкните на кнопке Да (Yes) в ответ на запрос, хотите ли вы сохранить таблицу Заказы, и затем щелкните на кнопке Да (Yes) еще раз, чтобы проверить данные на соответствие новому правилу.
3. Щелкните на кнопке Изменить фильтр (Filter By Form), чтобы вывести окно Заказы:фильтр (Filter By Form).
4. Щелкните в поле Дата заказа и затем щелкните на появившейся в нем стрелке, чтобы вывести список значений даты.
Выдаются все возможное значения этого поля.
5. Прокрутите список вниз и выделите значение «14.11.96». Значение #14.11.96# будет введено в качестве критерия.
6. Щелкните на кнопке Применить фильтр (Apply Filter).
В таблице будут представлены только заказы, поступившие 14 ноября 1996 года.
7. Щелкните на команде Сохранить (Save) в меню Файл(П1е).
8. Закройте таблицу Заказы.

Окончание урока

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл (File).
2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

Краткое содержание урока

Чтобы
Сделайте следующее
Создать таблицу
В окне базы данных щелкните на вкладке Таблицы (Tables) и затем щелкните на кнопке Создать (New). Выберите Мастер таблиц (Table Wizard) и следуйте его указаниям
или
в окне базы данных щелкните на вкладке Таблицы (Tables) и затем щелкните на кнопке Создать (New). Выберите Режим таблицы (Datasheet View) и щелкните на кнопке ОК. Замените заданные по умолчанию имена полей на ваши, введите данные для нескольких записей и сохраните таблицу.
Добавить записи в таблицу
Выведите таблицу на экран в Режиме таблицы (Datasheet View) и заполните поля записи.
Добавить поле в таблицу
В режиме Конструктор (Design) в первой пустой строке в столбце Имя поля (Field name) введите имя поля. Выберите тип данных из ниспадающего списка в столбце Тип данных (Field Type).
Задать свойства поля
В верхней части окна Конструктора (Design view) щелкните на строке, которая соответствует нужному полю. Затем задайте свойства поля в области окна Свойства поля (Field Properties).
Получить справку по любому свойству поля
Щелкните на свойстве и затем нажмите клавишу F11.
Изменить имя поля
Выделите таблицу в окне базы данных и затем откройте ее в режиме Конструктора (Design view). Измените название поля в столбце Имя поля (Field name).
Создать столбец подстановки
Откройте таблицу, содержащую столбец подстановки. Щелкните на команде Столбец подстановок (Lookup Column) в меню Вставка (Insert). Следующие шаги проделайте в Мастере подстановок (Lookup Wizard).
Создать связь между таблицами
На панели инструментов щелкните на кнопке Схема данных (Relationships), чтобы открыть окно Схема данных (Relationships), и затем щелкните на кнопке Добавить таблицу (Show Table). В диалоговом окне Добавление таблицы (Show Table) выберите главную таблицу на вкладке Таблицы (Tables) и щелкните на кнопке Добавить (Add). Выделите связанную таблицу и щелкните на кнопке Добавить (Add). Закройте диалоговое окно Добавление таблицы (Show Table). В окне Схема данных (Relationships) перетащите общее поле из главной таблицы в связанную. В диалоговом окне Связи (Relationships) щелкните на кнопке Создать (Create).
Удалить связь между таблицами
Откройте окно Схема данных (Relationships). Щелкните на линии, соединяющей таблицы, нажмите клавишу | (Delete) и затем щелкните на кнопке Да (Yes).
Создать составной ключ
Откройте таблицу в режиме Конструктора (Design view). Выделите поля, которые должны быть включены в составной ключ. Щелкните на кнопке Ключевое поле (Primary Key).


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


Урок 5. Обеспечение достоверности информации в базе данных

Вы научитесь:
задавать условие проверки для элемента управления;
создавать элемент управления «поле со списком»;
изменять порядок перехода по элементам управления в форме;
задавать значение по умолчанию для элемента управления;
устанавливать обязательное заполнение поля;
обеспечивать соответствие данных в связанных таблицах;
использовать поле подстановок для точного ввода данных;
распознавать отношение многие-ко-многим и использовать связующую таблицу.

Обеспечение достоверности информации является одной из важнейших задач, стоящих перед разработчиками и администраторами баз данных. Деятельность широкого круга людей - от простых граждан до государственных деятелей - зависит от надежности получаемой информации. В одних случаях ошибка в данных может стать причиной небольшого недоразумения, в других - повлечь за собой тяжелые последствия.
Гарантией надежности информации служит контроль данных при вводе. К основным системам контроля относятся проверка условий на значение и целостность данных. Проверка условий на значение представляет собой совокупность условий, которые определяют, является ли значение допустимым для данного поля. Целостность информации обеспечивается
межтабличными связями, исключающими возможность ввода противоречивых данных.
В этом уроке вы узнаете, как расширить возможности контроля данных с помощью элементов управления формы, рассмотренных в уроке 2 «Использование форм для эффективной работы с данными». Вы также научитесь учитывать взаимосвязи таблиц, описанные в уроке 4 «Расширение баз данных», и узнаете, как строить таблицы, чтобы обеспечить их правильное взаимодействие.

Начало урока

Запустите программу Microsoft Access, если она еще не загружена. Откройте базу данных Сластена Лили. Разверните окно базы данных до размеров полного экрана.
За дополнительной информацией об открытии базы данных обратитесь к уроку 1.

Можно также открыть базу данных за один шаг. Щелкните на кнопке Пуск (Start), укажите на пункт Документы (Documents) и затем щелкните на Сластена Лили.

Контроль данных через элементы управления форм

Каждое поле формы, предназначенное для ввода и отображения данных, в сущности, представляет собой элемент управления. Элементами управления называются графические объекты, в которых осуществляется ввод, вывод и поиск информации. Все компоненты Microsoft Access, включая таблицы, формы, запросы и отчеты, содержат те или иные элементы управления, такие как надписи, списки, переключатели, кнопки, текстовые поля. При построении формы с помощью мастера элементы управления создаются автоматически. Можно добавить новые элементы управления или изменить свойства существующих в режиме Конструктора.
За дополнительной информацией по разработке форм обратитесь к уроку 10 «Совершенствование ввода данных».

Как задать условие проверки данных при вводе

Часто требуется, чтобы значения данных находились в допустимых пределах. С помощью свойств элемента управления для любого поля можно задать условия, которым должны отвечать вводимые в него значения. Если заданное условие нарушается, ввод блокируется и на экран выдается сообщение об ошибке.
Воспользуемся формой Заказы, чтобы ввести ограничение на значение в поле Дата оплаты. Очевидно, что дата оплаты должна быть позднее даты приема заказа (текущей даты).
1. В окне базы данных щелкните на вкладке Формы (Forms). Вкладка переместится на первый план.
2. Выделите форму Заказы и щелкните на кнопке Конструктор (Design).
Форма Заказы откроется в режиме Конструктор (Design view) и будет выглядеть, как показано на следующем рисунке.


3. Выделите поле Дата оплаты.
4. Если на экране нет окна свойств, щелкните на кнопке Свойства (Properties), чтобы его открыть. Открывается окно, где указаны свойства выделенных объектов. Если выделена форма, то на ней представлены свойства, определяющие поведение формы в целом. Когда выделен раздел или элемент управления формы, то отображаются его свойства.
5. В разделе Область данных (Details) выделите поле Дата оплаты, щелкнув на нем, и затем щелкните на вкладке Данные (Data) в окне свойств.

6. Щелкните в поле свойства Условие на значение (Validation Rule), введите >=Date() и нажмите клавишу Enter.
Это правило контроля означает, что дата оплаты должна быть равна или позже текущей даты (даты заказа). Функция Date() возвращает текущую дату.
7. Щелкните в поле свойства Сообщение об ошибке (Validation Text), чтобы поместить в него курсор и введите:
Недопустимое значение даты! Дата оплаты должна быть не ранее текущей.
8. Нажмите клавишу Enter.
9.Закройте окно свойств.

Проверьте действие нового условия

Рекомендуется всегда проверять, добились ли вы желаемого эффекта, изменив свойства объекта. В следующем упражнении введите неправильные данные и посмотрите, как работает новое правило контроля.
1. Щелкните на стрелке кнопки Вид (View) и выберите Режим формы (Form View).
2. Щелкните на кнопке Новая запись (New Record), чтобы ввести новую запись. Запись 408 станет текущей.
3. Щелкните в поле Дата оплаты, чтобы поместить в него курсор, введите 1-янв-95 и затем нажмите клавишу Enter. Появится сообщение об ошибке с заданным вам текстом.
4. Щелкните на кнопке ОК, измените дату на любую после текущей и нажмите клавишу Tab. Теперь дата соответствует заданному условию и будет введена в поле.
5. Щелкните на кнопке Сохранить (Save), чтобы сохранить новую версию формы, и затем закройте форму.
Появится сообщение о том, что в таблице Заказчики не найдены записи с совпадающим ключевым полем Код заказчика, так как вы не заполнили это поле.
6. Щелкните на кнопке ОК.
На экране появится сообщение о том, что выполненные изменения будут потеряны. Это встроенный в Access контроль, запрещающий ввод данных, у которых не заполнены ключевые поля.
7. Щелкните на кнопке Да (Yes).

Как создать поле со списком значений данных

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




Совет. Если вы хотите заменить текстовое поле на надпись, список или комбинированное поле (поле со списком), щелкните на том элементе управления, который собираетесь изменить. Затем в меню Формат (Format) щелкните на команде Преобразовать Ч элемент в (Change to) и щелкните на нужном типе элемента управления в открывшемся списке.

Удалите текстовое поле

Прежде чем добавить поле со списком, нужно освободить для него место, удалив поле Код заказчика и его надпись.
1. В окне базы данных щелкните на вкладке Формы (Forms), выделите форму Заказы и затем щелкните на кнопке Конструктор (Design), чтобы открыть форму в режиме конструктора.
2. Если размер окна формы не позволяет видеть все ее элементы управления, увеличьте его, протащив угол окна в нужном направлении.
3. Щелкните на поле Код заказчика и затем нажмите клавишу Delete.
Поле вместе с надписью будет удалено из формы. Если панель ' элементов закрывает обзор формы, щелкните на заголовке панели и перетащите ее в другое место экрана. Можно вообще убрать панель с поверхности формы, если дважды щелкнуть на ее заголовке.

Создайте присоединенный элемент управления «поле со списком»

Если значения, введенные в поле со списком, должны быть занесены в таблицу, необходимо связать это поле с соответствующим полем таблицы или запроса, чтобы Microsoft Access внес данные в базу. Такой элемент управления называется присоединенным. Поле со списком в форме Заказы следует связать с полем Код заказчика запроса Список заказчиков. Тогда при выборе из списка нужного заказчика его код будет сохраняться в таблице Заказы.
В следующем упражнении создайте присоединенное комбинированное поле с помощью Мастера создания полей со списком.

1. Убедитесь, что на экран выведена панель элементов и список полей. В противном случае щелкните на кнопке Панель элементе (Toolbox) или кнопке Список полей (Field List) на панели инструментов Конструктор форм (Form Design).
2. Убедитесь, что кнопка Мастер (Control Wizards) нажата на панели элементов.
3. На панели элементов щелкните на элементе Поле со списком (Combo Box).
Теперь, если вы перетащите поле Код заказчика из списка полей в форму, Microsoft Access создаст привязанное к нему комбинированное поле.
4. Перетащите поле Код заказчика из списка полей в позицию над полем формы Имя.
После того, как вы отпустите кнопку мыши, откроется первый диалог мастера.

Создайте список для поля

Следуйте далее указаниям Мастера для создания поля со списком.
1. В первом диалоговом окне мастера Создание полей со списком (Combo Box Wizard) убедитесь, что выбран вариант Поле со списком использует значения из таблицы или запроса (I Want The Combo Box To Look Up The Values In A Table Or Query). Затем щелкните на кнопке Далее (Next).
2. В области Показать (View) щелкните на варианте Запросы (Queries) и выделите в появившемся списке запрос Список заказчиков. Щелкните на кнопке Далее (Next).
3. В списке Доступные поля (Available Fields) поочередно дважды щелкните на наименованиях полей Код заказчика, Имя и Фамилия. Щелкните на кнопке Далее (Next).
Эти поля будут столбцами списка.
4. Щелкните дважды на правых границах заголовка каждого столбца, чтобы подогнать ширину колонок под размер данных. Щелкните на кнопке Далее (Next).
5. Выделите Код заказчика в качестве столбца, содержащего данные, которые надо сохранить в таблице. Щелкните на кнопке Далее (Next).
6. Убедитесь, что активизирован вариант Сохранить в поле (Store That Value In This Field), а поле справа от него содержит значение «Код заказчика». Щелкните на кнопке Далее (Next).
7. Текст «Код заказчика» предлагается по умолчанию в качестве надписи поля со списком. Если эта надпись вас устраивает, щелкните на кнопке Готово (Finish).
Теперь форма содержит поле со списком, присоединенное к полю Код заказчика. Форма будет выглядеть, как показано на следующем рисунке.

8. Закройте список полей

Поработайте с полем со списком

Попробуйте воспользоваться полем со списком, чтобы убедиться, насколько упростился ввод данных. Теперь при заполнении формы Заказы нет необходимости искать код заказчика. Достаточно выбрать нужное имя из списка, и произойдет автоматическое заполнение полей кода, имени и адреса заказчика.
1. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим формы (Form View), чтобы переключиться в режим формы.
2. Щелкните на кнопке со стрелкой в правой части поля Код заказчика и выберите нужное имя из открывшегося списка.
В поле Код заказчика появится значение кода заказчика.

Как изменить последовательность перехода

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

Измените последовательность перехода

Если открыть форму Заказы в режиме формы, поле Дата заказа является первым выделенным полем, куда можно вводить данные. Измените последовательность перехода в форме так, чтобы при ее открытии выделенным оказывалось поле Код заказчика.
Создавая новый элемент управления, Microsoft Access ставит его в конец последовательности перехода независимо от того, куда вы поместили его в форме. Отредактируйте порядок перехода, чтобы созданное вами комбинированное поле Код заказчика оказалось первым, а не последним.
1. Щелкните на стрелке кнопки Вид (View) и затем щелкните на режиме Конструктор (Design View).
2. Если поле Код заказчика не выделено, выделите его, щелкнув на нем мышью.
3. Щелкните на команде Последовательность перехода (Tab Order) в меню Вид (View). Появится диалоговое окно Последовательность перехода (Tab Order).
4. Прокрутите список в окне Последовательность (Order) до появления в нем пункта Код заказчика.

5. Поместите указатель мыши в столбец слева от имени элемента управления Код заказчика. Когда указатель примет форму направленной вправо стрелки, щелкните, чтобы выделить поле.
6. Щелкните и, не отпуская кнопку мыши, перетащите элемент Код заказчика в начало списка.
7. Щелкните на кнопке ОК
8. Переключитесь в Режим формы (Form View) и проверьте, как работает последовательность перехода.
Откроется форма Заказы. Поле Код заказчика выделено.
9. Сохраните форму Заказы.

Как присвоить управляющему элементу значение по умолчанию

Еще одним способом повышения точности ввода данных является присвоение им начальных значений. Если поле почти всегда имеет одинаковое значение, можно установить его заранее при определении свойств элемента управления. Тогда нет необходимости вводить его каждый раз, так как оно будет присваиваться автоматически, исключая тем самым возможность ошибок. Начальное значение задается с помощью свойства Значение по умолчанию либо в виде выражения, либо как числовая или текстовая константа.

Задайте отображение в попе текущей даты

Дата заказа вносится в таблицу через форму Заказы. Обычно это дата приема заказа и она совпадает с датой заполнения формы. Чтобы установить значение по умолчанию, равное текущей дате, надо задать выражение в окне свойств для формы Заказы.
1. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Конструктор (Design View).
2. Щелкните в поле Дата заказа, чтобы выделить его. Если окно свойств отсутствует на экране, на панели инструментов щелкните на кнопке Свойства (Properties), чтобы вывести свойства элемента управления Дата заказа.
3. На вкладке Данные (Data) для свойства Значение по умолчанию (Default Value) задайте выражение: =Date().
4. Закройте окно свойств.
5. Переключитесь в Режим формы (Form View). Поскольку Microsoft Access задает начальное значение только для новых записей, для проверки свойства вам понадобится новая запись.
6. Щелкните на кнопке перехода Новая запись (New Record) внизу ;
формы, чтобы перейти к новой пустой записи.
Появится новая запись. В поле Дата заказа задано сегодняшнее число.
7. Закройте форму. В ответ на запрос, хотите ли вы сохранить изменения, щелкните на кнопке Да (Yes).

Использование свойств полей для контроля ввода данных

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

Задайте свойство Обязательное поле

Свойство Обязательное поле означает, что запись не может быть добавлена в таблицу, если поле не заполнено. Это очень полезное свойство, так как полностью исключает вероятность пропуска важной информации. Считается, что незаполненное поле имеет нулевое значение. Значение Да для свойства Обязательное поле запрещает ввод нулевых значений.
Некоторые поля не имеют принципиального значения и могут оставаться пустыми или заполняться позже по мере поступления информации. Для таких полей следует установить значение Нет для свойства Обязательное поле.
В форме Заказы необходимо заполнять поля адреса получателя, так как иначе заказ теряет смысл. В следующем упражнении замените на Да значение свойства Обязательное поле для поля Почтовый индекс получателя в таблице Заказы.
1. В окне базы данных щелкните на вкладке Таблицы (Tables).
2. Выделите таблицу Заказы, щелкнув на ней, и затем щелкните на кнопке Конструктор (Design), чтобы открыть таблицу в режиме конструктора.
3. Выделите поле Почтовый индекс получателя, щелкнув на нем.
4. В области Свойства поля (Field Properties) щелкните на свойстве Обязательное поле (Required). Щелкните затем на стрелке в поле свойства и выберите из списка значение Да;
Отныне нельзя сохранить запись, если в поле Почтовый индекс получателя стоит нулевое значение. Таблица Заказы будет выглядеть как на следующем рисунке.

5. Закройте таблицу Заказы. Появится сообщение с запросом, хотите ли вы сохранить изменения.
6. Щелкните на кнопке Да (Yes).
На экране появится сообщение, запрашивающее, хотите ли вы проверить существующие данные на соответствие новому правилу контроля. Если отказаться от проверки, то в таблице могут оказаться записи, содержащие нулевые значения в этом поле.
7. Щелкните на кнопке Да (Yes).
Если обнаружены записи, нарушающие правило, появится сообщение с предупреждением.



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


Проверьте действие свойства

Чтобы убедиться, что свойство Обязательное поле задано, попробуйте ввести заказ, не заполняя поле Почтовый индекс получателя.
1. В окне базы данных щелкните на вкладке Формы (Forms) и затем дважды щелкните на форме Заказы, чтобы открыть ее в режиме формы. В форме будет выделено поле Код заказчика.
2. С помощью кнопки перехода Новая запись (New Record) начните ввод новой записи.
3. Выберите любого заказчика из списка в поле Код заказчика.
4. Нажмите клавишу Tab для перехода в поле Дата заказа, где уже задано значение по умолчанию, и нажмите клавишу Tab еще раз, чтобы подтвердить ввод этого значения. Курсор переместиться в поле Код заказа.
5. Введите 417 для кода заказа.
6. Нажмите клавишу Tab три раза для перехода в первое пустое поле в области Отправить. Заполните поля Имя, Фамилия, Адpec, Город, Штат/Провинция получателя любыми данными, перемещаясь по полям с помощью клавиши Tab.
7. Оставьте пустым поле Почтовый индекс получателя. Нажмите 1 клавишу Tab для перехода в поле Страна получателя и заполните его.
8. Заполните остальные поля главной формы.
9. Щелкните в первом поле подчиненной формы, чтобы ввести код набора.
Когда вы щелкните в поле Код набора подчиненной формы, появится сообщение, что поле Почтовый индекс получателя не может иметь нулевое значение.
10. Щелкните на кнопке ОК, введите 32123 в поле Почтовый индекс получателя и завершите ввод значения для Кода набора.
11. Закройте форму Заказы.

Контроль информации путем обеспечения целостности данных

Взаимосвязи таблиц базы данных обычно отражают направления и характер деятельности фирмы. Если таблицы связаны, то изменения в одной из них влияют на данные в другой таблице. Это обеспечивается целостностью базы данных, суть которой состоит в том, что если установлено соответствие записей в связанных таблицах, нельзя произвольно менять или удалять связанные данные.
Целостность базы данных достигается при выполнении ряда условий. Во-первых, поля совпадения в главной таблице должны быть ключевыми или входить в составной ключ. Во-вторых, они должны иметь одинаковый тип данных. И, наконец, обе таблицы должны входить в одну базу данных. Целостность данных возможна, только если связанные таблицы имеют формат Microsoft Access. To есть, понятие целостности не распространяется на базы данных, содержащие связанные таблицы в формате Microsoft Exel, Paradox, dBase и другие.
Целостность базы данных накладывает некоторые ограничения на ввод и корректировку информации, которые способствуют правильности ввода данных.
Нельзя ввести значение во внешний ключ связанной таблицы, если не существует совпадающий ключ в главной таблице. Разрешается вводить нулевое значение, которое указывает, что данная запись не связана. Например, вы не сможете ввести заказ для несуществующего заказчика, но можно ввести его для нулевого заказчика.
Запрещается удалять записи в главной таблице, если есть соответствующие записи в связанной таблице. Нельзя, например, удалить записи для заказчика, у которого есть заказы.
Нельзя изменить значение ключа записи в главной таблице, если она имеет записи в связанной таблице. Так, например, вам не удастся изменить код фирмы в таблице Доставка, если в таблице Транспортные услуги есть ее тарифы.

Задайте целостность данных

Одно из очевидных правил работы с заказами состоит в том, что нельзя | удалить из базы заказчика, заказы которого не выполнены. Это приведет | к нарушению целостности данных. Можно обеспечить выполнение этого | правила, если установить связь между таблицами Заказчики и Заказы. |
1. В окне базы данных щелкните на вкладке Таблицы (Tables).
2. На панели инструментов щелкните на кнопке Схема данных (Relationships), чтобы открыть одноименное окно.
Окно содержит рабочую область, куда можно включить таблицы и создать связи. Для лучшего отображения создаваемых отношений можно очистить окно. Вам нужно установить отношение между таблицами Заказчики и Заказы.
3. Щелкните на кнопке Отобразить все связи (All Relationships), чтобы вывести в окне все связи в базе данных.
4. Разверните окно до размера полного экрана.
5. Дважды щелкните на линии, соединяющей таблицы Заказчики и Заказы. Появится диалоговое окно Связи (Relationships).

6. Пометьте флажком вариант Обеспечение целостности данных (Enforce Referential Integrity).
7. Щелкните на кнопке Объединение (Join Type).
Появится диалоговое окно Параметры объединения (Join Properties), в котором можно задать тип отношений. В данном случае выберите вариант объединения только тех связей, у которых совпадают связанные поля обеих таблиц. Этот вариант предлагается по умолчанию.
8. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Параметры объединения (Join Properties).
9. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Связи (Relationships).

Каскадное обновление и удаление

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



Примечание. Если ключ в главной таблице имеет тип Счетчик (Auto Number), то нет смысла задавать каскадное обновление, так как нельзя изменить значение в поле типа Счетчик.

Свойства каскадного обновления и удаления можно задать при определении связи или позднее в диалоговом окне Связи. Если задано каскадное удаление, то при удалении записи в главной таблице удаляются все записи в связанной таблице. Например, при удалении заказчика из главной таблицы Заказчики автоматически удалятся все его заказы из таблицы Заказы и связанной с ней таблицы Подробности заказов. При этом Microsoft Access выдает предупреждение об удалении связанных записей.

Задайте согласование ключей с помощью параметра «каскадное обновление»

Сведения о наборах конфет являются основой учебной базы данных. При возникновении проблем с идентификацией наборов вся информация базы может оказаться под угрозой. В этом упражнении воспользуйтесь командой каскадного обновления для обеспечения согласования полей Код набора в таблицах Наборы, Подробности наборов и Подробности заказов.
1. В окне Схема данных (Relationships) щелкните на линии, соединяющей таблицы Наборы и Подробности наборов, чтобы выделить ее. Линия станет толще.
2. Щелкните дважды на линии. Появится диалоговое окно Связи (Relationships).
3. Убедитесь что вариант Обеспечение целостности данных (Enforce Referential Integrity) помечен флажком. Щелкните на варианте каскадное обновление связанных полей (Cascade Update Related Fields), чтобы установить в нем флажок.
4. Щелкните на кнопке ОК.
Диалоговое окно Связи (Relationships) закроется. Таблица Наборы помечена цифрой 1, указывающей, что это сторона «один» отношения один ко многим. Рядом с таблицей Подробности наборов
находится значок бесконечности, указывающий, что это сторона отношения «многие».
5. Повторите шаги 1-4 для установления отношения между таблицами Наборы и Подробности заказов.

Установите параметр каскадного удаления записей

При удалении записи из таблицы Заказчики следует удалить соответствующие данному заказчику записи в таблице Заказы. В противном случае база будет содержать заказы несуществующего заказчика, и целостность данных будет нарушена. Свойство Каскадное удаление записей позволяет обеспечить удаление всех связанных записей.
1. В окне Схема данных (Relationships) щелкните дважды на линии, соединяющей таблицы Заказы и Заказчики. Появится диалоговое окно Связи (Relationships).
2. В диалоговом окне Связи (Relationships) щелкните мышью на варианте каскадное удаление связанных полей (Cascade Delete Related Fields), чтобы установить в нем флажок. Предварительно установите флажок на варианте Обеспечение целостности данных (Enforce Referential Integrity), если его там нет.
Теперь удаление записей в главной таблице Заказчики распространится на связанную таблицу Заказы.
3. Щелкните на кнопке ОК.
4. Закройте диалоговое окно Схема данных (Relationships) и щелкните на кнопке Да (Yes), чтобы подтвердить сохранение изменений в окне.
5. Щелкните на кнопке Восстановить (Restore) в окне базы данных, чтобы вернуться к прежнему размеру окна. Мы его развернули до полного экрана, начав работать с окном схемы данных.

Посмотрите, как работает каскадное удаление

1. В окне базы данных дважды щелкните на таблице Заказчики, чтобы открыть ее.
2. Выделите запись со значением 5 в поле Код заказчика.
3. На панели инструментов щелкните на кнопке Удалить запись (Delete Record). Появится сообщение о том, что предполагается удаление связанных записей.
4. Щелкните на кнопке Нет (No), чтобы продолжить работу. Закройте таблицу Заказчики.
Использование полей подстановок для точного ввода данных
Чтобы повысить эффективность перевозок сырья и продукции, в базу была включена таблица, содержащая информацию о транспортных фирмах. Добавьте в нее еще одно поле для данных о маршрутах перевозок, которые могут принимать одно из трех значений: внутренние, международные, любые. Воспользуйтесь для этого полем подстановок, в котором перечисляются допустимые значения. Ввод данных в такое поле сводится к выбору нужного значения из ограниченного списка, что позволяет ускорить ввод и исключить возможность ошибок.

Создайте поле подстановки

В следующем упражнении в таблице Доставка создайте поле подстановок для маршрутов перевозок с помощью Мастера подстановок, который создаст поле со списком, содержащим допустимые значения.
1. В окне базы данных щелкните на вкладке Таблицы (Tables) и затем дважды щелкните на таблице Доставка.
При создании поля подстановок нужно ввести список допустимых значений.
2. Щелкните на команде Столбец подстановок (Lookup Column) в меню Вставка (Insert).
Открывается диалоговое окно Создание подстановки (Lookup Wizard). Так как вам нужен фиксированный столбец значений, выберите второй вариант.
3. Щелкните на кнопке Далее (Next). Мастер запрашивает, сколько столбцов должно быть в поле подстановки. Оставьте значение, принятое по умолчанию.
4. Щелкните на ячейке под заголовком Столбец 1 и введите Внутренние. Нажмите клавишу | Tab |. Курсор переместится в новую пустую ячейку.
5. Добавьте значения Международные и Любые и щелкните на кнопке Далее (Next). Мастер запрашивает заголовок для столбца подстановок.
6. Введите Маршрут и щелкните на кнопке Готово (Finish). Щел книге на стрелке в поле Маршрут.
На экране в режиме таблицы появится таблица Доставка, в ка торую включен столбец подстановок. Теперь, чтобы ввести знй чение, достаточно щелкнуть на стрелке вниз и выбрать знач@| ние из списка. Более того, в любой форме, созданной на баз| этой таблицы, для поля Маршрут автоматически будет создав! поле со списком.
Экран будет выглядеть как на следующем рисунке.


7. Выберите значение «Внутренние» для первой записи, значение! «Международные» - для второй и значение «Внутренние» - для третьей.
8. Закройте таблицу Доставка и щелкните на кнопке Да (Yes), чтобы сохранить изменения.

Отношение многие-ко-многим

Отношения один-к-одному и один-ко-лъногим рассмотрены в уроке 4: «Расширение базы данных»
Оценивая взаимосвязь двух таблиц, необходимо посмотреть на нее с двух сторон. Отношение, которое можно принять за один-ко-многим, в действительности может оказаться отношением многое-ко-многим, когда одной записи в каждой из таблиц соответствует несколько записей в другой. В таких случаях для связывания двух таблиц необходима третья, так как нельзя определить, какая таблица является главной.
Таблицы Конфеты и Наборы учебной базы данных являются наглядным примером отношения многое-ко-многим. На первый взгляд между этими таблицами существует отношение один-ко-многим, потому что каждый набор содержит несколько видов конфет. Однако, с другой стороны, каждый сорт конфет входит в различные наборы.
Пытаясь связать таблицы, вы должны решить, какая из них главная? Если предположить, что таблица Наборы - главная, и связь осуществляется через поле Код набора, то окажется, что для одной записи в таблице Конфеты надо ввести несколько ссылок на наборы (кодов наборов), которые содержат этот вид конфет. Это невозможно, так как поле может содержать только одно значение. То же самое получится, если считать главной таблицу Конфеты.
решение проблемы состоит в создании своеобразного моста между двумя таблицами - связующей таблицы. В нее можно добавить поле, которого нет ни в одной из связываемых таблиц, но которое содержит информацию, имеющую значение для каждой из них. В базе данных Сластена Лили таблица Подробности наборов является связующей для таблиц Наборы и Конфеты. Ее ключ состоит из кодов конфет и наборов, ключевых полей связываемых таблиц, а поле Количество указывает, сколько конфет данного вида входит в набор.



Примечание. Если вы хотите получить дополнительные навыки по теме данного урока, выполните упражнения в разделе «Шаг вперед». В противном случае переходите к разделу «Окончание урока».

Шаг вперед: связующие таблицы

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

Посмотрите на схеме связи связующей таблицы

Таблица Наборы связана с таблицей Подробности наборов отношением один-ко-многим. Такое же отношение существует и между таблицами Конфеты и Подробности наборов. Таблица Подробности наборов является связующей между таблицами Наборы и Конфеты, имеющими отношение многие-ко-многим. Воспользуйтесь окном Схема данных, чтобы посмотреть, как реализуется эта взаимосвязь.
1. В окне базы данных щелкните на вкладке Таблицы (Tables). Затем щелкните на кнопке Схема данных (Relationships) панели инструментов.
2. На панели инструментов щелкните на кнопке Очистить макет (Clear Layout) и затем щелкните на кнопке Да (Yes).
Очистив макет, вы получите свободное пространство для построения схемы. Никакого влияния на связь данных это не оказывает.
3. Щелкните на кнопке Добавить таблицу (Show Table) панели инструментов. Появится диалоговое окно Добавление таблицы (Show Table).
4. Добавьте таблицы Конфеты, Подробности наборов и Наборы в окно Схема данных (Relationships).
5. Закройте окно Добавление таблицы (Show Table). Вы увидите связи между таблицами.

6. Щелкните на команде Сохранить (Save) в меню Файл (File).
7. Закройте окно Схема данных (Relationships).

Окончание урока

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл(П1е).
2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

Краткое содержание урока

Чтобы
Сделайте следующее
Изменить свойства элемента управления формы
Откройте форму в режиме Конструктора (Design view). Выделите элемент управления, затем щелкните на кнопке Свойства (Properties), чтобы открыть окно свойств.
Создать условие на значение для элемента управления формы
Введите выражение в поле свойства Условие на значение (Validation Rule) в окне свойств.
Создать элемент управления поле со списком
Откройте форму в режиме Конструктора (Design view). Выделите элемент Поле со списком (Combo Box) на панели элементов. Перетащите поле из списка полей в нужное место формы, чтобы запустить Мастер создания поля со списком (Combo Box Wizard).
Изменить последовательность перехода формы
Откройте форму в режиме Конструктора (Design view). Выделите элемент управления и воспользуйтесь командой Последовательность перехода (Tab Order) в меню Вид (View), чтобы изменить порядок перемещения по полям формы.
Установить для поля значение по умолчанию
Откройте форму в режиме Конструктора (Design view). Выделите поле, щелкнув на Имени поля (Field Name). В области Свойства поля (Field Properties) для свойства Значение по умолчанию (Default Values) введите значение, которое будет присваиваться полю для всех новых записей, добавляемых после этого в таблицу.
Создать поле, заполнение которого обязательно
Откройте форму в режиме Конструктора (Design view). Выделите поле, щелкнув на Имени поля (Field Name). В области Свойства поля (Field Properties) щелкните на свойстве Обязательное поле (Required) и выберите Да (Yes) из списка.
Обеспечить целостность данных
В окне базы данных щелкните на кнопке Схема данных (Relationships). Выполните двойной щелчок на линии, связывающей две таблицы. Пометьте флажком вариант Обеспечение целостности данных (Enforce Referential Integrity).
Задать каскадное обновление связанных записей
В окне базы данных щелкните на кнопке Схема данных (Relationships). Выполните двойной щелчок на линии, связывающей две таблицы. Пометьте флажком варианты Обеспечение целостности данных (Enforce Referential Integrity) и каскадное обновление связанных полей (Cascade Update Related Fields).
Задать каскадное удаление связанных записей
В окне базы данных щелкните на кнопке Схема данных (Relationships). Выполните двойной щелчок на линии, связывающей две таблицы. Пометьте флажком варианты Обеспечение целостности данных (Enforce Referential Integrity) и каскадное удаление связанных полей (Cascade Delete Related Fields).
Создать поле подстановки
Откройте таблицу в режиме таблицы. Щелкните на команде Столбец подстановок (Lookup Columns) в меню Вставка (Insert), чтобы запустить Мастер подстановок (Lookup Wizard). Выберите значения из таблицы, запроса или введите их. Следуйте указаниям мастера и щелкните на кнопке Готово (Finish), когда закончите.

Для получения справки о том, как
Воспользуйтесь Помощником для поиска тем
Создать условие на значение
Создание условия на значение для элемента управления.
Задать значения по умолчанию
Определение значения, используемого по умолчанию.
Изменить последовательность перехода
Изменение порядка перехода в форме
Обеспечить целостность
данных
Что означает целостность данных
Задать каскадное обновление или удаление
Режимы каскадного обновления, каскадного удаления
Создать связи между таблицами
Определение связей между таблицами.»

Урок 6. Работа с даннь1Мй, из внешних источников

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

В идеале база данных должна разрабатываться на основе одного или нескольких взаимосвязанных средств, например, из числа предлагаемых Microsoft Office. Однако реальные информационные системы в большинстве своем создаются постепенно с использованием различных программ и включают данные разных форматов. Наиболее типично такое состояние дел для организаций, которые применяют вычислительную технику в течение длительного периода.
Microsoft Access позволяет использовать информацию, подготовленную другими программами (такими как Microsoft Excel, Lotus 1-2-3, dBASE, Microsoft FoxPro, Paradox, Btrieve, Microsoft SQL Server), а также текстовые файлы.
В этом уроке вы узнаете, как включить в базу данных Microsoft Access таблицу с другим форматом и как работать с данными из внешних источников параллельно с программами, их создавшими.

Данные из внешних источников

Когда вы импортируете (вставляете) данные, Microsoft Access копирует их в таблицу вашей базы. Можно импортировать данные следующих форматов:

рабочий лист Microsoft Excel, начиная с версии 3.0, или файл Lotus 1-2-3;
текстовый файл, созданный каким-либо текстовым редактором;
файл в формате других баз данных (например Microsoft FoxPro, Paradox версий З.х или более поздних, dBASE III или более поздних, Btrieve, Microsoft SQL Server,), а также из другой базы данных Microsoft Access.

Помимо импорта данных, существует возможность привязывать файлы вышеуказанных форматов. Привязка представляет собой связь между базой данных Microsoft Access и внешней таблицей, которая, в частности может быть и таблицей Microsoft Access. Привязанная таблица не копируется в вашу базу, а сохраняет оригинальный формат. Таким образом, вы можете работать с ней в Microsoft Access, оставляя за другими право использовать ее в исходной программе.
Начнем урок с привязки к учебной базе данных таблицы, имеющей широко распространенный формат DBF, используемый dBase, FoxPro и другими программами. Позже вы импортируете эти же данные.

Начало урока

Запустите программу Microsoft Access, если она еще не загружена. Откройте базу данных Сластена Лили. Разверните окно базы данных до размеров полного экрана.
Можно одновременно запустить Microsoft Access и открыть базу данных. Щелкните на кнопке Пуск (Start), укажите на пункт Документы (Documents) и затем щелкните на пункте Сластена Лили.
За дополнительной информацией об открытии базы данных обратитесь к уроку!

Как привязать внешнюю таблицу

Если внешняя таблица привязана к базе данных Microsoft Access, ее можно просматривать и корректировать, даже если с ней продолжают работать в исходной программе. На основе внешней таблицы можно создавать
формы, отчеты и даже запросы, объединяющие данные внешней таблицы и таблиц Microsoft Access. Построение запросов с использованием данных из различных таблиц рассматривается в уроке 7.
Предположим, что одной из первых вычислительных систем, внедренных компанией Сластена Лили, была простая база данных на DBASE IV, предназначенная для учета расходов. Со временем большинство систем обработки данных было переведено на новые программные средства, но учет расходов по-прежнему ведется в формате DBF. Финансовый отдел заинтересован во включении таблицы в основную базу компании при условии, что данные останутся в формате DBF, так как его используют другие системы, работающие с таблицей.

Привяжите внешнюю таблицу

Чтобы включить в базу данные по учету расходов без изменения формата таблицы, выполните ее привязку к базе данных Сластена Лили.
1. В меню Файл (File) укажите на команду Внешние данные (Get External Data) и затем щелкните на пункте Связь с таблицами (Link Tables). Появится диалоговое окно Связь (Link).
2. Щелкните на кнопке Избранное (Favorites) и затем щелкните дважды на папке Access SBS Practice.
3. В поле Тип файла (Files of Type) выберите dBASE IV. В списке файлов появится Расходы, dbf.
4. Щелкните на кнопке Связь (Link).
Microsoft Access привяжет таблицу к вашей базе данных. Затем на экране появится диалоговое окно Выбор индексного файла (Select Index File). Индекс определяет последовательность отображения записей в файле DBF. У этого файла нет индекса, поэтому его нельзя включить в связь.
5. Щелкните на кнопке Отмена (Cancel). Появится сообщение, что связь установлена.
6. Щелкните на кнопке ОК и закройте диалоговое окно Связь (Link).
В окне базы данных в списке таблиц появится таблица Расходы, помеченная значком, указывающим, что это привязанная таблица dBASE.

Как работать с привязанной таблицей

Привязав внешнюю таблицу, можно работать с ней точно так же, как с обычной таблицей Microsoft Access. Запрещается только менять ее структуру, то есть добавлять, удалять или перестраивать поля. Однако в режиме конструктора можно менять свойства полей, влияющие на их отображение на экране, устанавливать значения по умолчанию и условия для проверки вводимых данных. Редактировать поля можно, даже если привязанная таблица редактируется в другой программе, причем все изменения отображаются в вашей базе данных.

Откройте привязанную таблицу

В окне базы данных дважды щелкните на таблице Расходы.
Таблица откроется в режиме таблицы и будет выглядеть как на следующем рисунке.


Измените свойства поля

Предположим, что данные в поле BOOK_VALUE нужно выдавать на экран в формате Денежный.
1. На панели инструментов щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Конструктор (Design View).
Изображение на кнопке Вид (View) зависит от выбранного режима.
Появится сообщение, которое указывает, что в режиме конструктора нельзя изменить некоторые свойства таблицы, и просит подтвердить открытие таблицы.
2. Щелкните на кнопке Да (Yes).
Microsoft Access откроет таблицу в режиме конструктора.
3. Щелкните в столбце выделения слева от поля BOOK_VALUE.
Свойства выделенного поля появятся в области Свойства поля (Fields Properties) в нижней части окна. В области подсказки справа от списка свойств указано, что для полей привязанной таблицы нельзя изменить свойство Тип данных (Data Type). Однако можно задать другой способ отображения данных этого поля на экране с помощью свойства Формат поля (Format).
4. В области Свойства поля (Fields Properties) щелкните в поле свойства Формат поля (Format).
В области подсказки появится информация, как задать свойство Формат поля (Format).
5. Щелкните на стрелке в поле свойства Формат поля (Format) и выберите из открывшегося списка пункт Денежный (Currency).

6. Переключитесь в режим таблицы. В появившемся диалоговом сообщении с запросом, хотите ли вы сохранить изменения, щелкните на кнопке Да (Yes). Формат данных изменится.
7. Закройте таблицу Расходы.

Как импортировать таблицу

Допустим, что в Финансовом отделе принято решение преобразовать все файлы в формат Microsoft Access. Одна из таблиц представляет собой рабочий лист Microsoft Excel, в котором отслеживается информация об оплате сотрудников. В дальнейшем предполагается обновлять эти данные в Microsoft Access. Для этого необходимо импортировать файл в базу данных компании. Если формат привязанной таблицы остается прежним, то при импортировании таблицы данные преобразуются в формат Microsoft Access.

Импортируйте таблицу

1. В меню Файл (File) укажите на команду Внешние данные (Get External Data) и затем щелкните на пункте Импорт (Import). Появится диалоговое окно Импорт (Import).
2. В списке поля Тип файлов (Files of Type) выберите Microsoft Excel. Файл Расчетный лист появится в списке файлов.
3. Дважды щелкните на файле Расчетный лист. Откроется первое окно мастера Импорт электронных таблиц (Import Spreadsheet Wizard).
4. Если в первом окне нужно будет задать лист таблицы, выберите Лист 1 (Sheet 1) и щелкните на кнопке Далее (Next). В противном случае сразу выполняйте следующий шаг.
5. Установите флажок в поле Первая строка содержит заголовки столбца (First Row Contains Column Headings), указав тем самым, что вы намерены использовать заголовки столбцов как наименования полей. Щелкните на кнопке Дал ее (Next).
6. Щелкните на варианте В новой таблице (A New Table), чтобы задать сохранение данных в новой таблице, и затем щелкните на кнопке Далее (Next).
7. Очередное диалоговое окно мастера позволяет указать, индексированы ли поля. Так как нет необходимости изменять предложенные Microsoft Access варианты, щелкните на кнопке Далее (Next).
8. Выделите вариант Определить следующий ключ (Chose My Own Primary Key). Поле Код будет выбрано в качестве ключа.
9. Щелкните на кнопке Дaлee(Next) для перехода к последнему диалогу мастера.
10. Нажмите клавишу Delete, чтобы удалить предложенное имя и введите Расчетный лист.
11. Щелкните на кнопке Готово (Finish) и затем щелкните на кнопке ОК, чтобы закрыть сообщение об успешном завершении импорта данных.
Импортированная таблица Расчетный лист добавится к списку таблиц в окне базы данных.

Работа с данными в импортированной таблице

Теперь информация, содержащаяся в импортированной таблице, является частью базы данных Microsoft Access. Допустим, вас не устраивают некоторые параметры таблицы. Можно изменить структуру таблицы так же, как это делается для таблиц, созданных в Microsoft Access .

Измените свойства

В этом упражнении вы измените свойства некоторых полей таблицы.
1. В окне базы данных щелкните на кнопке Конструктор (Design), чтобы открыть таблицу Расчетный лист в режиме конструктора.
2. В поле Страховка, щелкните на стрелке в столбце Тип данных (Data Type) и выберите Денежный (Currency).
3. На панели инструментов щелкните на стрелке кнопки Вид (View) и затем выберите Режим таблицы ( Datasheet View).
Появится сообщение, указывающее, что необходимо сохранить таблицу.
4. Щелкните на кнопке Да (Yes). На экране появится сообщение, что можно потерять часть данных и следует ли продолжать.
5. Щелкните на кнопке Да (Yes). Таблица должна выглядеть как на следующем пигункр.
6. Закройте таблицу Расчетный лист.

Добавление гиперссылок в базу данных

Одним из последних достижений в процессе компьютеризации является расширение Интернета, или, иначе говоря, Всемирной сети. Интернет представляет собой совокупность взаимосвязанных сетей, которые охватывают весь мир. Многие организации становятся постоянными абонентами Интернета, что позволяет им распространять и получать информацию и взаимодействовать со своими поставщиками и потребителями. Просмотр информации в Интернете осуществляется с помощью специальных программ, называемых обозревателями или броузерами.
Базу данных Microsoft Access очень просто связать с другими источниками информации, включая Интернет, благодаря гиперссылкам, новому типу данных, которые можно хранить в таблице. Гиперссылка является проводником от вашей базы данных до объекта информации, где бы он ни находился: в вашей базе, документе Office или узле Интернет. В этом уроке вы узнаете, как создать гиперссылку на другой объект базы данных.
Компания Сластена Лили активно совершенствует способы работы с информацией внутри фирмы. С этой целью устанавливаются связи между формами в базе данных. Например, необходимо обеспечить быстрый переход между формой Сотрудники и таблицей Расчетный ЛИСТ. Это можно сделать в режиме конструктора, добавив в форму гиперссылку.

Microsoft Office и Интранет

Использование гиперссылок для связывания документов является эффективным способом развития внутренней сети организации. Интранет - это система внутренних связей, которая использует протокол World Wide Web для обмена информацией как между соседними столами, так и со всем миром.

Свяжите две формы с помощью гиперссылки

При просмотре информации о сотрудниках менеджер отдела кадров хотел бы иметь возможность проверять сведения об их зарплате. Можно создать форму, объединяющую эти данные, но такая форма будет слишком сложной. Поэтому лучше вставить в нее гиперссылку, позволяющую открыть таблицу Расчетный лист из формы Сотрудники.
1. В окне базы данных щелкните на вкладке Формы (Forms). Выделите форму Сотрудники и щелкните на кнопке Конструктор (Design).
Форма будет открыта в режиме конструктора.
2. На панели инструментов щелкните на кнопке Добавить гиперссылку (Insert Hyperlink). Появится диалоговое окно Добавить гиперссылку (Insert Hyperlink).


Подключение таблиц Microsoft Access к World Wide Web

Подключение формы или отчета к World Wide Web (WWW) мало чем j отличается от связывания объектов внутри базы данных. В том и другом случае в этих целях используются гиперссылки. Единственное различие состоит в том, что адрес должен задаваться через Universal (Resource Locator (URL).
Путь, который указывает гиперссылка, может быть либо Universal Naming Convention Path (UNC) либо Universal Resource Locator (URL). Пути UNC пишутся следующим образом: HYPERLINK \\\\server\\\\share\\\\path\\\\filename\\server\\share\\path\\filename и чаще используются внутри организации. Путь URL обычно начинается с протокола (подобного коду региона, например, http), позволяющего выйти на узел. За протоколом следует идентификатор (подобно телефонному номеру), которому соответствует узел Интернет. Например, http://www.msn.com открывает узел Microsoft Network.
С распространением интранета в качестве внутренней сети многие организации стали разрешать желающим извне получать ограниченный доступ к своей базе данных, используя фильтры (firewalls), которые отделяют доступную всем в WWW информацию от предназначенной только для сотрудников данной фирмы. В Microsoft Access предусмотрены средства, позволяющие представлять информацию в Интернет.
Документы World Wide Web просматривают с помощью обозревателей, таких как, например, Microsoft Internet Explorer. Обозреватели выдают на экран документы, которые включают команды специального языка программирования Hypertext MarkUp Language(HTML). Документы HTML создаются программами Microsoft Word Internet Assistant и Microsoft Frontpage. Файлы HTML читаются любыми редакторами, но в них имеются команды, которые используются обозревателями для отображения графических объектов и поддержки гиперссылок.
Когда покупатель в любой точке земного шара заполняет форму заказа набора конфет, этот заказ через WWW поступает в компанию «Сластена Лили». Microsoft Access обрабатывает его так же, как и те заказы, которые вводят служащие в главном офисе фирмы. Таким образом, страница Web позволяет клиентам делать заказы так же, как по телефону или по почте. Преимущество состоит в том, что это можно делать в любой стране мира и в любое время дня и ночи. Компания работает круглые сутки и во всем мире!

3. Щелкните на кнопке Обзор (Browse) рядом с полем Имя объекта в документе (Named Locationin File). Появится диалоговое окно Выбор каталога (Select Location). В нем нужно выбрать объект, на который будет указывать гиперссылка.
4. Убедитесь, что открыта вкладка Таблицы (Tables), и прокрутите список таблиц, пока не появится Расчетный ЛИСТ.
5. Щелкните на таблице Расчетный лист, чтобы выделить ее, и затем щелкните на кнопке ОК.
В диалоговом окне Добавить гиперссылку (Insert Hyperlink) появится имя таблицы.
6. Щелкните на кнопке ОК.
Надпись Table Расчетный лист будет добавлена в форму. Если надпись слишком мала, измените ее размер с помощью рукояток масштабирования. Перетащите надпись под последнее поле формы.

7. Удалите слово «Table» из надписи для гиперссылки.

Проверьте гиперссылку

1. На панели инструментов щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим формы (Form View).
2. Щелкните на гиперссылке Расчетный лист. Откроется таблица Расчетный лист в режиме таблицы.


3. Закройте таблицу Расчетный лист.
4. Закройте форму Сотрудники.
5. Щелкните на кнопке Да (Yes), когда появится диалоговое окно, запрашивающее, сохранить ли изменения.



Примечание. Если вы хотите получить дополнительные навыки по теме данного урока, выполните упражнения в разделе «Шаг вперед». В противном случае переходите к разделу «Окончание урока».


Шаг вперед: как создать гиперссылку к документу Office



Важно. Чтобы выполнить следующие упражнения, на вашем компьютере должен быть установлен Microsoft Office. В противном случае переходите к разделу «Окончание урока».

3 Компания «Сластена Лили» использует Microsoft Office в качестве стандартного набора инструментов для разработки приложений, а документы Office - для организации внутреннего документооборота компании. Отдел кредитов в конце каждого месяца рассылает письма заказчикам, которые просрочили платежи. Предположим, что сотрудникам финансового отдела необходимо просмотреть письма перед рассылкой, чтобы проверить, правильно ли они составлены.




Примечание. В диалоговом окне Добавить гиперссылку (Insert Hyperlink) можно создать гиперссылку к любому файлу, доступному при обзоре. Если вы подключены к сети или WWW, установить связь с внешними объектами так же просто, как с объектами на вашем жестком диске.

В следующих упражнениях вы включите в форму Кредит заказчиков командную кнопку, которая обеспечивает гиперссылку на файл Microsoft Word, содержащий письмо.

Добавьте командную кнопку

1. В окне базы данных на вкладке Формы (Forms) выделите форму Кредит заказчиков и щелкните на кнопке Конструктор (Design), чтобы открыть ее в режиме конструктора.
2. Убедитесь, что кнопка Мастер (Control Wizard) на панели элементов не нажата, и затем щелкните на элементе Кнопка (Command Button).
3. Перетащите прямоугольник на форму под текущие поля, чтобы создать командную кнопку. На форме появится новая командная кнопка.
4. Если окно свойств еще не открыто, щелкните на кнопке Свойства (Properties) на панели инструментов.
5. Щелкните на вкладке Все (АН) и введите Просмотр письма в поле свойства ПОДПИСЬ (Caption).

Установите гиперссылку

1. Щелкните на свойстве Адрес гиперссылки (Hyperlink Address). Щелкните на кнопке Построитель (Builder).
Появится диалоговое окно Добавить гиперссылку (Insert Hyperlink).
2. Щелкните на кнопке Обзор (Browse) рядом с полем Связать с файлом/URL (Link To File Or URL). В папке, где находятся учебные файлы, выделите файл Кредитное письмо, изменив, если нужно, Тип файлов (Files Of Types) на Документы. Щелкните на кнопке ОК.
Путь к файлу Кредитное письмо появится в диалоговом окне Добавить гиперссылку (Insert Hyperlink).
3. Щелкните на кнопке ОК, чтобы вернуться в режим конструктора.
4. Закройте окно свойств.

Откройте кредитное письмо

1. На панели инструментов Конструктор форм (Form Design) щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим формы (Form View). Форма Кредит заказчиков отобразится на экране в режиме формы.
2. Щелкните на командной кнопке Просмотр письма. Откроется окно Microsoft Word, содержащее письмо.
3. Закройте Microsoft Word. Закройте форму Кредит заказчиков и сохраните изменения.

Окончание урока

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл (File).
2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

Краткое содержание урока

Чтобы
Сделайте следующее
Привязать внешнюю таблицу
Откройте окно базы данных. В меню Файл (File) укажите на команду Внешние данные (Get External Data) и щелкните на пункте Связь с таблицами (Link Tables). Найдите файл таблицы, которую нужно привязать, и щелкните на кнопке Связь (Link).
Изменить свойства поля в привязанной таблице
В режиме конструктора щелкните на имени поля, затем щелкните на свойстве, которое хотите изменить, в области Свойства полей (Field Properties) в нижней части окна. В окне подсказки появится указание, можно ли изменить данное свойство.
Импортировать таблицу
Откройте базу данных. В меню Файл (File) укажите на команду Внешние данные (Get External Data) и щелкните на пункте Импорт (Import). Выберите тип файла, щелкните на имени файла и щелкните на кнопке ОК. Следуйте указаниям мастера Импорт электронных таблиц (Import Spreadsheet Wizard) для Exel и текстовых файлов.
Добавить в форму гиперссылку на другой объект из текущей базы данных Microsoft Access
Откройте форму в режиме Конструктор (Design). Щелкните на кнопке Добавить гиперссылку (Insert Hyperlink), чтобы открыть одноименное диалоговое окно. Щелкните на кнопке Обзор (Browse) рядом с полем Имя объекта в документе (Named Location in File). Выберите нужную вкладку (таблицы, запросы, формы, модули, отчеты, макросы) и затем щелкните дважды на имени файла. Щелкните на кнопке ОК в диалоговом окне Добавить гиперссылку (Insert Hyperlink).


Для получения справки о том, как
Воспользуйтесь Помощником для поиска тем
Привязать внешнюю таблицу
Импорт и связывание данных
Импортировать таблицу
Импорт и связывание данных
Добавить гиперссылки
Добавление гиперссылки в форму, отчет или таблицу

Часть 2. Обзор и упражнения

В следующих упражнениях вам предстоит:
создать таблицу и установить гиперссылку;
конструирование и установление связей между таблицами;
изменить свойства полей;
создать форму с помощью функции Автоформа;
создать комбинированное поле.

Перед тем, как приступить к дальнейшему освоению программы, попробуйте применить на практике знания, полученные при изучении части 1 «Ввод и просмотр данных в Microsoft Access», выполнив упражнения этого раздела.

Постановка задачи

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

Шаг 1: создайте таблицу и установите гиперссылку

Отдел маркетинга намерен хранить в таблице информацию о ходе распространения наборов конфет на рынке и сотрудниках, ответственных за рекламную компанию. Необходимо создать формы, связанные с соответствующей Web-страницей. Каждый рекламный проект должен иметь уникальное имя.
1. Создайте таблицу, содержащую поля для наименования рекламного проекта, кода сотрудника, даты начала кампании, кода набора конфет и Web-связи.
2. Сохраните таблицу под именем Реклама.
Согласитесь на предложение Microsoft Access создать первичный ключ.
3. Выберите гиперссылку в качестве типа данных для связи с Web-страницей.
4. Закройте и сохраните таблицу. Убедитесь, что таблица Реклама появилась в окне базы данных.


Шаг 2: установите связь между таблицами, используя отношение один-ко-многим

За каждый рекламный проект отвечает определенный сотрудник, но один сотрудник может вести несколько проектов. Создайте отношение один-ко-многим между таблицами Сотрудники и Реклама, используя в качестве связующего поле Код сотрудника.
1. Очистите макет в окне Схема данных (Relationships) и воспользуйтесь диалоговым окном Добавление таблицы (Show Table), чтобы добавить новую таблицу.
2. Определите, какая таблица является главной, а какая связанной.
3. Воспользуйтесь окном Схема данных (Relationships), чтобы создать отношение между таблицами Сотрудники и Реклама.
4. Не сохраняйте макет в окне Схема данных (Relationships) при его | закрытии.

Шаг 3: связать таблицы с помощью отношения многие-ко-многим

Отдел маркетинга выразил желание вести учет дат заказов и адресов получателей определенных наборов конфет. Записи таблицы Заказы содержат информацию о дате поступления заказа, его получателе и типе оплаты. Таблица Наборы состоит из записей для каждого набора с данными о его наименовании, цене и составе. Заказ может включать несколько наборов, а каждый набор может входить в несколько заказов.
1. Установите связь между таблицами Заказы и Наборы так, чтобы определить наименования наборов в заказах.
2. Проанализируйте отношения между таблицами Заказы и Наборы с обеих сторон.
3. Откройте таблицу Детали заказов, которая связывает таблицы Наборы и Заказы через их первичные ключи. Кроме того, эта таблица содержит поле Количество.
4. Закройте таблицу Детали заказов и посмотрите на связи между таблицами Заказы, Наборы и Детали заказов в окне Схема данных (Relationships).

Шаг 4: отбор записей с помощью фильтра

Чтобы убедиться, что продвижение каждого набора закреплено за определенным сотрудником, вы решили добавить поле Продвижение в таблицу Реклама с условием его обязательного заполнения. Кроме того, вы решили создать форму Реклама и с ее помощью вводить данные в таблицу Реклама.
1. Откройте таблицу Реклама в режиме Конструктора и для поля Продвижение установите значение Да (Yes) для свойства Обязательное поле (Required).
2. Создайте автоформу на основе таблицы Реклама. Сохраните ее под именем Реклама.
3. Откройте форму Реклама в режиме Конструктора (Design view). Удалите текстовое поле для кода заказчика и создайте вместо него поле со списком.
4. Закройте и сохраните форму Реклама.

Шаг 5: удаление объектов из базы данных

Отдел маркетинга уведомил вас, что в следующем квартале намерен воспользоваться услугами рекламных фирм для продвижения продукции на рынок. Поэтому отпадает необходимость отслеживать соответствующую деятельность в базе Сластена Лили.
1. В окне Схема данных (Relationships) удалите связи между таблицами Сотрудники и Реклама.
2. В окне базы данных удалите таблицу Реклама.
3. В окне базы данных удалите форму Реклама.

Окончание упражнений

1. Чтобы перейти к следующему уроку, в меню Файл (File) щелкните на команде Закрыть (Close).
2. Если вы закончили работу с Microsoft Access, в меню Файл (File) щелкните на команде Выход (Exit).

Часть 3. Построение запросов и анализ данных

УРОК 7.
Построение запросов

УРОК 8.
Анализ данных

УРОК 9.
Отображение данных из двух таблиц в одной форме

ОБЗОР И УПРАЖНЕНИЯ

Урок 7. Построение запросов

Вы научитесь:
создавать запрос на основе таблицы или другого запроса;
устанавливать критерий отбора связанных записей;
сортировать данные и «прятать» поле в запросе;
создавать запрос, включающий связанные данные;
объединять в запросе таблицы;
связывать таблицы в запросе.

Базы данных обычно содержат конкретные свойства объектов. На начальном этапе их эксплуатации основное внимание уделяется разработке систем, позволяющих быстро получать нужные сведения. При этом данные выдаются на экран практически в том виде, в каком они хранятся. Очевидно, можно добиться большего эффекта, если при выводе данных преобразовать их в соответствии с поставленным вопросом.
Основным достоинством современных систем управления базами данных является их способность быстро адаптироваться к изменениям в сфере экономики. Кроме того, базы данных включают средства, позволяющие взглянуть на информацию под разными углами. Например, прежде чем звонить клиентам по вопросам рыночной политики компании, нужно составить их список с указанием номеров телефонов. Для изучения тенденций продаж достаточно посмотреть, сколько заказов поступило за определенный период. Организация экстренных поставок товаров не составит труда, если быстро найти имена и телефоны их поставщиков.
Популярность реляционных баз данных в значительной степени объясняется тем, что они имеют гибкую структуру и способны настраиваться в соответствии с возникающими потребностями.
В Microsoft Access можно получить нужную информацию с помощью фундаментального средства анализа данных - запроса. Запрос позволяет извлекать данные из различных таблиц, обобщать их и преобразовывать, а также представлять информацию в удобном для восприятия виде. В этом уроке вы создадите запросы, позволяющие выбирать из базы данные и вычислять итоговые значения. Вы также узнаете, как построить запрос, включающий записи в заданном диапазоне.
Вы уже имели дело с запросами в уроке 4 «Расширение базы данных». В этом уроке вы научитесь создавать и совершенствовать запросы для разных видов данных.

Что такое запросы?

Запрос представляет собой способ описать группу записей, произвести над ними определенные действия и отобразить результат. Представьте себе такой запрос: вывести список транспортных фирм, их телефоны и стоимость перевозок. Как видите, запрос может состоять из записей, сформированных из полей различных таблиц.
Работа с результатами запроса осуществляется практически так же, как с таблицами. Их можно открывать, просматривать и даже редактировать в табличном представлении. Обновленные значения сохраняются в исходных таблицах. На основе запросов можно создавать формы и отчеты.
В ежедневной практике может оказаться, что проще использовать запросы, чем таблицы, вследствие их гибкости. С помощью запросов можно
производить анализ производственных процессов и экспериментировать с данными. Например, региональный менеджер по продажам может ограничить диапазон просмотра записей своим регионом и посмотреть, как отразится на его комиссионных увеличение продаж на 10 процентов.


Запросы можно сравнить с фильтрами, так как они позволяют отбирать данные, отвечающие некоторым условиям. Но возможности запросов значительно шире. Более того, запрос можно сохранить и использовать многократно, а также построить новый запрос на его основе.
Работа с фильтрами рассматривается в уроке 3 «Использование фильтров для отбора нужной информации»
С помощью запросов одну и ту же информацию можно представить в различных аспектах. Скажем, на данных одной таблицы можно построить один запрос, перечисляющий товары и покупателей, другой запрос по продуктам, пользующимся спросом в Европе, и третий запрос по продажам, отсортированным по почтовым индексам получателя. При этом нет необходимости создавать три таблицы - все данные хранятся в одной таблице в единственном экземпляре.

Как создать запрос

В Microsoft Access запрос можно создать с помощью Мастера простого запроса. Хотя его возможности ограничены, лучше всего воспользоваться этим способом, так как Мастер направляет ваши действия. Позже запрос можете доработать. Прежде чем приступить к созданию запроса, следует решите какие данные вам понадобятся, чтобы получить ответ на интересующий вас вопрос.

Начало урока

Запустите программу Microsoft Access, если она еще не загружена. Откройте базу данных Сластена Лили. Разверните окно базы данных до размеров полного экрана.
За дополнительной информацией об открытии базы данных обратитесь к уроку 1.

Создайте запрос

Предположим, что вам поручена связь с клиентами, проживающими в штате Нью-Йорк. Для работы вам понадобится список имен и телефонов клиентов из этого региона. Необходимая информация хранится в таблице Заказчики. В следующем упражнении создайте запрос для получения списка клиентов.
1. В окне базы данных щелкните на вкладке Запросы (Queries).
2. Щелкните на кнопке Создать (New).
Появится диалоговое окно Новый запрос (New Query).
3. В диалоговом окне Новый запрос (New Query) щелкните дважды на пункте Простой запрос (Simple Query Wizard).
На экране появится первое диалоговое окно мастера Создание простых запросов (Simple Query Wizard).
4. Прокрутите список в окне Таблицы/Запросы (Tables/Queries) и выделите пункт Таблица:3аказчики.
Поля таблицы отобразятся в окне Доступные поля (Available Fields). Выберите из списка поля, которые вам нужны в запросе.

5. Дважды щелкните на поле Код заказчика. Поле перемесится в список окна Выбранные поля (Selected Fields).
Можно также выделить поле и воспользоваться кнопкой выбора [˜>˜\, чтобы переместить поле в столбец выбранных полей.
6. Добавьте к выбранным поля Имя, Фамилия, Штат/Провинция, Телефон, поочередно выделяя их и щелкая на кнопке выбора.
Список выбранных полей содержит теперь пять пунктов. Запрос определен, нужно его сохранить.

Присвойте запросу имя и сохраните его

1. В окне Создание простых запросов (Simple Query Wizard) щелкните на кнопке Далее (Next). Появится следующее диалоговое окно мастера, в котором можно задать имя запроса.
2. В поле Задайте имя запроса (What Title Do you want For Your Query) введите Заказчики в Нью-Йорке и щелкните на кнопке Готово (Finish). Результаты запроса отобразятся в режиме таблицы, так что можно увидеть, насколько правильно вы его определили. В строке заголовка отобразится имя запроса. Microsoft Access автоматически сохраняет запрос и вносит его имя в список запросов в окне базы данных.

Модификация запроса в режиме Конструктора

После того как вы создали основную структуру запроса, определив данные, с которыми предполагаете работать, можно изменить запрос в режиме конструктора. Для этого достаточно перетащить нужные поля из верхней части окна запроса в сетку конструктора (или бланк запроса) в его нижней части и расположить их в нужном порядке. Microsoft Access создаст команды SQL для реализации запроса.
За дополнительной информацией о том, как задать условия отбора для запроса, обратитесь к приложению В «Использование выражений».

Можно создать запрос с помощью окна конструктора, но Мастер простых запросов делает это быстрее.
В окне запроса можно продолжить построение существующего запроса, добавляя новые детали. Например, начав со всех клиентов в штате, можно ограничиться теми, кто заказал подарки, и остановиться на тех, кто хочет получить подарки в декабре. Совершенствовать запрос можно до тех пор, пока вы не будете удовлетворены.

Как задать условие отбора данных

На данном этапе запрос включает записи для всех клиентов. Чтобы получить список только для штата Нью-Йорк, следует задать условие, которое позволит отобрать записи, имеющие отношение к Нью-Йорку.
Условие отбора определяется с помощью выражения, по которому Microsoft Access выбирает записи из таблиц. Если, например, нужны поля
с числовыми значениями, превышающими 5, то задается выражение >5. Выражения используются в запросе так же, как вы использовали их в фильтре в уроке 3.
В следующих упражнениях вы зададите критерий для отбора записей и затем выполните запрос.

Задайте условия отбора

1. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Конструктор (Design View).
2. В столбце Штат/Провинция в бланке запроса щелкните в строке Условие отбора (Criteria).
3. Напечатайте NY и нажмите клавишу Enter.
Microsoft Access автоматически заключит введенный текст в кавычки, которые указывают на текстовой тип данных (числовые данные не заключаются в кавычки).

Запустите запрос

Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим таблицы (Datasheet View), чтобы просмотреть результаты запроса, которые будут выглядеть как на следующем рисунке.

Программа Microsoft Access выдает список клиентов из штата Нью-Йорк и их телефонные номера, то есть те поля, которые вы определили с помощью Мастера простых запросов.

Введите дополнительное условие отбора

Теперь вы располагаете списком заказчиков в закрепленном за вами регионе. Допустим, что вам надо связаться только с теми из них, кто стал вашим заказчиком недавно и имеет код больше 200, Для этого добавьте в запрос еще одно условие отбора.
1. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Конструктор (Design View).
2. В строке Условие отбора (Criteria) в столбце Код заказчика введите выражение >200 и затем нажмите клавишу Enter.
Тем самым вы сообщаете Microsoft Access следующее: «Найти заказчиков, имеющих код больше 200 и проживающих в штате Нью-Йорк». Ваш запрос должен выглядеть как на следующем рисунке.

3. Щелкните на стрелке у кнопки Вид (View) и затем щелкните S на пункте Режим таблицы (Datasheet View). Посмотрите, как теперь будет выглядеть список заказчиков.

Как улучшить отображение результатов запроса

Можно сделать запрос более удобным для использования, если упорядочить записи и спрятать лишние поля.

Выполните сортировку записей

Примеры сортировки приведены, в уроке 3 «Использование фильтров для отбора данных».
Если записи в запросе отсортированы, то искать нужные данные становится намного проще. Так, например, чтобы найти телефон заказчика по его фамилии, следует представить список заказчиков в алфавитном порядке.
1. Щелкните в столбце Фамилия.
2. На панели инструментов щелкните на кнопке Сортировка по возрастанию (Sort Ascending).
Теперь заказчики перечислены в алфавитном порядке, как показано на следующем рисунке.

Уберите с экрана поле

Иногда, чтобы обеспечить правильный выбор информации, приходится включать в запрос поле, которое не требуется в результатах запроса. Например, нет смысла отображать на экране поле Штат/провинция, поскольку все данные запроса относятся к одному штату. Однако это поле необходимо для определения условий отбора в режиме конструктора. Воспользуйтесь флажком в строке Вывод на экран бланка запроса, чтобы соответствующее поле не появлялось на экране в режиме таблицы.
1. Щелкните на стрелке кнопки Вид (View) и щелкните на пункте Конструктор (Design View). '»
2. В строке Вывод на экран (Show) столбца Штат/провинция щелкните на флажке, чтобы его убрать. Запрос должен выглядеть как на следующем рисунке.

Все условия отбора и сортировки, заданные для этого поля, будут использоваться в запросе, но само поле не будет отображаться на экране в режиме таблицы.
3. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим таблицы (Datasheet View).
Как видите, столбца Штат/провинция нет на экране.
4. Закройте окно запроса Заказчики в Нью-Йорке. При появлении; сообщения с вопросом, сохранить ли изменения, щелкните на кнопке Да (Yes).

Как получить данные из разных таблиц

При создании запроса, который извлекает информацию из нескольких таблиц, Microsoft Access использует совпадающие значения в эквивалентных полях этих таблиц для установления соответствия данных. Чтобы установить связь между двумя таблицами, следует провести между ними соединительную линию в окне схемы данных. В большинстве случаев ключевое поле одной таблицы связывают с полем другой таблицы, содержащим совпадающие значения.

Создание связей между таблицами было рассмотрено в уроке 4 «Расширение базы данных».

Создайте запрос на основе связанных таблиц

Предположим, что президенту компании потребовался для анализа список заказов за ноябрь, содержащий коды, имена заказчиков и даты заказов. Исходная информация содержится в таблицах Заказы и Заказчики. В следующем упражнении создайте запрос в режиме конструктора на основе этих таблиц. 1
1. В окне базы данных щелкните на вкладке Запросы (Queries), a затем на кнопке Создать (New).
Откроется диалоговое окно Новый запрос (New Query).
2. В диалоговом окне Новый запрос (New Query) дважды щелкните на пункте Конструктор (Design View).
Откроется окно Запрос (Query) и появится диалоговое окно Добавление таблицы (Show Table).
3. На вкладке Таблицы (Tables) диалогового окна Добавление таблицы (Show Table) поочередно дважды щелкните на таблицах Заказы и Заказчики.
4. Закройте диалоговое окно Добавление таблицы (Show Table), щелкнув на кнопке Закрыть(С1озе).
Списки полей таблиц Заказы и Заказчики появятся в окне запроса. Между полями Код заказчика обеих таблиц автоматически возникнет соединительная линия, поскольку между ними уже установлена связь. Окно запроса будет выглядеть как на следующем рисунке.

5. В списке полей таблицы Заказы поочередно дважды щелкните на полях Код заказа, Код заказчика и Дата заказа. В столбцах бланка запроса появятся эти три поля.
6. В списке полей таблицы Заказчики щелкните дважды на поле Фамилия. Поле Фамилия появится на бланке запроса.
7. В меню Файл (File) щелкните на команде Сохранить (Save).
8. Назовите запрос Информация о заказах и щелкните на кнопке ОК.

Задайте условия отбора

В этом упражнении для отбора поступивших в ноябре заказов воспользуйтесь выражением, которое включает оператор Between...And (от...до).
1. В строке Условие отбора (Criteria) в столбце поля Дата заказа введите выражение Between 1-ноя-96 And ЗО-ноя-96 и затем нажмите клавишу |Enter |.
Формат даты изменится, и символ номера (#) автоматически появится с обеих сторон обозначения дат.
2. Чтобы подогнать ширину столбца под значения в нем, дважды щелкните на правой границе вверху столбца Дата заказа.
Ширина столбца изменится по длине заданного в нем выражения, как показано на следующем рисунке.

3. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим таблицы (Datasheet View), чтобы просмотреть заказы за ноябрь. Запрос будет выглядеть, как показано на следующем рисунке.

4. Снова сохраните запрос, после чего закройте окно запроса Информация о заказчиках.

Как объединить в запросе таблицы

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



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

Объедините в запросе две таблицы

Таблица Ингредиенты содержит сведения по категориям и сортам исходных продуктов (ингредиентов), из которых производятся конфеты, и включает поле Код источника, указывающий на поставщика данного продукта. В таблице Поставщики представлена информация о фирмах, снабжающих компанию сырьем. Каждой фирме присвоен уникальный код, который хранится в поле КодПоставщика. Можно объединить в запросе эти таблицы, поскольку в них есть совпадающие данные.
В следующем упражнении нужно создать инструмент, позволяющий быстро находить координаты поставщика определенного ингредиента.
Таблица Поставщики была создана в уроке 4 «Расширение базы. данных».
1. В окне базы данных щелкните на вкладке Запросы (Queries) и затем на кнопке Создать(New).
2. Дважды щелкните на пункте Конструктор (Design View). Включите в запрос таблицы Ингредиенты и Поставщики, поочередно выделив их и щелкнув на кнопке Добавить (Аdd) в диалоговом окне
Добавление таблицы (Show Table). Закройте диалоговое окно Добавление таблицы.
3. Из таблицы Ингредиенты перетащите поле Категория на поле КодПоставщика в таблицу Поставщики.
Соединительная линия указывает на связь между полями, через которые устанавливается соответствие данных двух таблиц. Окно запроса будет выглядеть как на следующем рисунке.

Как вы понимаете, для установления взаимосвязи следовало связать поля КодПоставщика и Код источника. Поэтому удалите соединительную линию и установите другую связь.
4. Щелкните на линии между таблицами Ингредиенты и Поставщики в окне Запроса (или как его еще называют сетке QBE (Query By Example)), вследствие чего линия станет толще. Нажмите клавишу Delete. Соединительная линия исчезнет.
5. Перетащите поле Код источника из таблицы Ингредиенты на поле КодПоставщика в таблице Поставщики. Соединительная линия свяжет эти поля.
6. В таблице Ингредиенты поочередно дважды щелкните на полях Категория и Тип, чтобы добавить их в бланк запроса.
7. В таблице Поставщики дважды щелкните на поле ОбращатьсяК, чтобы добавить его в бланк запроса.
8. В таблице Ингредиенты дважды щелкните на поле Код источника, чтобы добавить его в бланк запроса.
9. В столбце Код источника щелкните в ячейке Сортировка (Sort), щелкните на стрелке и выберите пункт По возрастанию.(А8сепатд).
Теперь результаты запроса будут содержать отсортированные данные.

Просмотрите запрос в режиме таблицы

Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим таблицы (Datasheet View), чтобы просмотреть результаты запроса.
Ваш запрос должен выглядеть, как показано на следующем рисунке.

1. Прокрутите записи и посмотрите, как меняется содержимое поля ОбращатьсяК а зависимости от поставщика.
2. Закройте запрос. При появлении диалогового окна с вопросом, хотите ли вы сохранить изменения, щелкните на кнопке Да (Yes). Появится диалоговое окно Сохранение (Save as).
3. В поле Имя запроса (File Name) введите Поставщики ингредиентов. Щелкните на кнопке ОК.

Напечатайте запрос

Если вам нужна копия результатов запроса на бумаге, напечатайте его.
1. В окне базы данных щелкните на вкладке Запросы (Queries), щелкните дважды на запросе Поставщики ингредиентов.
На экране появятся результаты запроса в виде таблицы.
2. В меню Файл (File) выберите команду Печать (Print).
Появится диалоговое окно Печать (Print), в котором можно указать нужное число копий или изменить параметры печати, которые вас не устраивают.
3. Щелкните на кнопке OK, чтобы напечатать таблицу результатов запроса.
4.Закройте запрос.



Примечание. Если вы хотите получить дополнительные навыки по теме данного урока, выполните упражнения в разделе «Шаг вперед». В противном случае переходите к разделу «Окончание урока».

Шаг вперед: совершенствование запросов

Запрос должен быть организован таким образом, чтобы выдавать специфическую информацию по конкретному вопросу и обладать в то же время достаточной гибкостью для использования в различных ситуациях. Два простых способа позволяют сделать запрос более наглядным. Это добавление подписи поля (заголовка столбца), чтобы точнее отобразить его содержание, и вывод на экран значения фильтра, показывающего критерий отбора данных. Если на основании запроса строится форма, то подписи полей в запросе используются в качестве подписей к полям данных формы. При отсутствии подписи поля в качестве заголовков используется имя поля. Рассмотрим это на примере запроса Заказчики в Нью-Йорке. Хотя в результатах запроса будут представлены заказчики только одного штата, в соответствующей форме будет подпись Код заказчика, так как это поле запроса не имеет подписи.

Задайте свойства поля

Чтобы содержание запроса было очевидно, измените заголовок столбца Код заказчика. Тогда в любой форме, созданной на основе этого запроса, подпись поля будет точно описывать его содержание. В следующем упражнении задайте значение свойства Подпись для запроса Заказчики в Нью-Йорке.
1. Откройте запрос Заказчики в Нью-Йорке в режиме Конструктора (Design View).
2. Выделите поле Код заказчика, щелкнув в строке Поле (Field) в первом столбце.
3. На панели инструментов щелкните на кнопке Свойства (Properties), чтобы открыть окно свойств.
4. Чтобы добавить заголовок для поля Код заказчика, щелкните в поле свойства Подпись (Caption).
5. Введите Заказчики в Нью-Йорке.
6. Закройте окно Свойства поля (Field Properties).

Выведите на экран только пять первых значений

Предположим, что вы хотите ограничиться просмотром определенного числа записей. Это можно сделать с помощью поля Набор значений на панели инструментов Конструктор запросов.
Щелкните на стрелке поля Набор значений (Top Values) и затем щелкните на значении 5.
2. Закройте запрос и щелкните на кнопке Да (Yes), чтобы подтвердить сохранение изменений.

Окончание урока

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл (File).
2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

Краткое содержание урока


Чтобы
Сделайте следующее
Создать запрос
В окне базы данных щелкните на вкладке Запросы (Queries) и затем щелкните на кнопке Создать (New). Дважды щелкните на пункте Конструктор (Design View) или Простой запрос (Simple Query Wizard).
Добавить в запрос поле в режиме конструктора
Дважды щелкните на имени поля в списке в верхней части окна Запрос (Query).
Сохранить новый запрос и присвоить ему имя
В меню Файл (File) щелкните на команде Сохранить (Save). В диалоговом окне Сохранение (Save as) напечатайте имя и щелкните на кнопке ОК.
Задать условие отбора
На бланке запроса введите критерий в ячейку строки Условие отбора (Criteria) в столбце нужного поля.
Выполнить сортировку записей в запросе
На бланке запроса щелкните в ячейке Сортировка (Sort) в столбце поля, которое предполагается сортировать. Затем щелкните на стрелке и выберите пункт По возрастанию (Ascending) или По убыванию (Descending)
или
в режиме таблицы щелкните на столбце, который хотите отсортировать, и затем щелкните на кнопке Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending) панели инструментов.
Убрать поле в запросе
На бланке запроса уберите флажок в ячейке строки Вывод на экран (Show) в столбце поля, отображение которого нужно отменить.
Определить диапазон записей
На бланке запроса в строке Условие отбора (Criteria) введите условие отбора с использованием выражения Between...And.
Объединить таблицы в запросе
Включите нужные таблицы в окно запроса с помощью диалогового окна Добавление таблицы (Show Table). Объединяемые таблицы должны иметь поля с совпадающими данными. Перетащите такое поле из одной таблицы на совпадающее поле другой.


Для получения справки о том, как
Воспользуйтесь Помощником для поиска тем
Создать запрос
Создание запроса.
Добавить или удалить таблицу или поле в запросе
Настройка запроса.
Объединить таблицы в запросе
Способы соединения данных из нескольких таблиц или запросов.
Задать условие отбора в запросе
Использование условий отбора в запросах или фильтрах для восстановления определенных записей.
Изменить свойства полей
Связь свойств полей в запросе со свойствами полей в базовой таблице или запросе.

Урок 8. Анализ данных

Вы научитесь:
группировать данные и вычислять итоговые значения;
изменять заголовки столбцов;
выполнять расчеты с помощью запросов;
использовать перекрестные запросы;
представлять результаты запроса в виде диаграмм.

С помощью запросов можно не только извлекать информацию из базы, но и анализировать данные. Несмотря на очевидные достоинства рассмотренных ранее запросов, тех же результатов можно было добиться, используя другие средства Microsoft Access, хотя и с большими затратами усилий и времени. Основное преимущество запросов состоит в том, что они позволяют формировать новые поля данных, которых нет в исходных таблицах, и включать эти поля в запросы и отчеты для анализа исходной информации.
Одним из способов анализа данных является включение в запрос вычисляемых полей. Другой подход заключается в группировке данных по определенным полям. Мощным средством анализа является перекрестный запрос, позволяющий совместить вычисления с группировкой данных. Используя различные типы запросов можно, например, проанализировать ход продаж товара по регионам (или датам) и оценить тенденции изменения спроса на продукцию компании.

Начало урока

Запустите программу Microsoft Access, если она еще не загружена. Откройте базу данных Сластена Лили. Разверните " окно базы данных до размеров полного экрана.
За дополнительной информацией об открытии базы данных обратитесь к уроку 1.

Создание запросов с группировкой данных

При проектировании запроса можно задать поля, для которых необходимо сгруппировать данные, и поля, которые будут использоваться для вычисления итоговых значений. Так, например, поле, содержащие количество конфет, можно использовать для подсчета общего числа конфет в наборе, если группировка осуществляется по наборам.
Запросы с группировкой данных очень удобны для анализа информации. Список, содержащий сведения о продажах наборов, может состоять из тысяч строк. Составить по нему представление о ходе продаж практически невозможно, вследствие его объема. Чтобы оценить спрос на тот или иной набор, необходимо вычислить общее число продаж каждого набора (иначе говоря, сгруппировать список продаж по наборам).

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

Создайте запрос на основе существующего

1. В окне базы данных щелкните на вкладке Запросы (Queries) и выделите запрос Информация о заказах.
2. Щелкните на кнопке Конструктор (Design View). Запрос Информация о заказах откроется в режиме Конструктор (Design View).
3. В меню Файл (File) щелкните на команде Сохранить как/экспорт (Save As/ Export). Появится диалоговое окно Сохранение объекта (Save as).
4. Убедитесь, что выделен вариант В текущей базе данных (With The Current Database As). В поле Новое имя (New Name) введите Итоги по странам и затем щелкните на кнопке ОК. Наименование Итоги по странам отобразится в строке заголовка запроса, а также в списке запросов в окне базы данных. Ваш экран должен выглядеть, как на следующей иллюстрации.


Добавьте и удалите поля в запросе

Присвоив имя запросу, определите поля, содержащие нужные данные.
1. В бланке запроса щелкните вверху столбца Фамилия, чтобы выделить его и затем нажмите клавишу ( Del |. Столбец Фамилия будет удален.
Бланк запроса также именуют сеткой QBE (Query By Example).
2. Удалите из запроса поля Код заказчика и Дата заказа.
Можно выделить оба поля сразу, выделив вначале столбец Код заказчика и протащив указатель мыши направо, чтобы выделить поле Дата заказа.
3. Перетащите поле Страна из таблицы Заказчики поверх поля Код заказа в бланке запроса. Поле Страна образует первый столбец на бланке запроса, сместив вправо Код заказа.


Выполните вычисления и группировку данных

Определив поля, в которых содержатся исходные данные для запроса, задайте выражения для вычисления значений полей, для которых заданы групповые операции.
1. На панели инструментов щелкните на кнопке Групповые операции (Totals).

На бланке запроса появится строка Групповая операция (Total), содержащая в каждом столбце значение «Группировка».
2. Щелкните в ячейке строки Групповая операция (Total) в столбце Код заказа и затем щелкните на стрелке.
3. В ниспадающем списке выберите пункт Count.

Каждому заказу соответствует только один номер, поэтому подсчет заказов можно выполнить по их номерам. Так как группировка заказов осуществляется по странам, будет рассчитано число заказов для каждой страны.
4. Щелкните на стрелке кнопки Вид (View) и затем щелкните на пункте Режим таблицы (Datasheet View).
Рисунок на кнопке Вид (View) зависит от выбранного режима. Результаты запроса отобразятся в режиме таблицы.

В таблице представлено число заказов, полученных из каждой страны. Второму столбцу автоматически присваивается заголовок «Соип1_Код заказа». Если заголовок не умещается в столбце, можно подогнать ширину столбца, щелкнув дважды правой границе его заголовка.

Сгруппируйте данные по двум полям

Усложним задачу. Данный запрос позволяет проанализировать продажу заказов по странам. Допустим, вам необходимы сведения о количестве заказов, полученных из каждого региона всех стран.
1. Щелкните на кнопке Вид (View) и затем щелкните на пункте Конструктор (Design View).
2. Перетащите поле Штат/провинция из таблицы Заказчики в бланк запроса поверх ячейки Код заказа. Между столбцами Страна и Код заказа появится новый столбец Штат/провинция, содержащий значение «Группировка» в строке Групповая операция (Total).
3. Щелкните на стрелке кнопки Вид (View) и выберите Режим таблицы (Datasheet View), чтобы посмотреть результаты запроса.
Microsoft Access сгруппирует данные вначале по странам (поскольку это первое поле группировки на бланке запроса), а затем по штатам или провинциям, для которых и вычисляются итоговые значения.

Присвоение столбцам содержательных заголовков

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

Измените заголовок столбца

В предыдущих упражнениях Microsoft Access автоматически присвоил столбцу заголовок «Соип1_Код заказа». Можно заменить его более понятным, например, «Число заказов».
1. Щелкните на кнопке Вид (View) и затем щелкните на пункте Конструктор (Design View).
2. На бланке запроса щелкните слева от наименования поля Код заказчика, чтобы поместить туда курсор. Введите Число заказов: (включая двоеточие).



Совет. Для наглядности после двоеточия можно ввести пробел. Пробел не отображается в других режимах представления при использовании данного поля.
3. Щелкните на стрелке кнопки Вид (View) и выберите Режим таблицы (Datasheet View), чтобы посмотреть результаты запроса.
4. Закройте запрос и щелкните на кнопке Да (Yes) в ответ на вопрос, хотите ли вы сохранить изменения.

Анализ данных с помощью запросов с вычислениями

В предпринимательской деятельности постоянно возникает вопрос: «А что, если?». Компания «Сластена Лили» не является исключением. Так например, учитывая широкий спрос на продукцию компании, менеджер по продажам хотел знать, как изменятся доходы в целом, если увеличить стоимость наборов на несколько процентов.
Включать увеличенные цены в таблицу базы данных не имеет смысла так как тогда придется каждый раз, изменяя процент, корректировав значение в поле, содержащем новую цену. Гораздо проще выполнить подобный анализ с помощью запросов.

Создание запросов

1. Убедитесь, что вкладка Запросы (Queries) открыта, и щелкните на кнопке Создать (New).
2. В диалоговом окне Новый запрос (New Query) выделите пункт Конструктор (Design View) и щелкните на кнопке ОК.
3. В диалоговом окне Добавление таблицы (Show Table) выделите таблицу Наборы и щелкните на кнопке Добавить (Add). Эта таблица содержит исходные данные для запроса.
4. Закройте окно Добавление таблицы (Show Table).
5. Перетащите поля Название набора и Цена набора в бланк запроса. В запросе будут перечислены наборы с указанием их цен.
6. Щелкните на стрелке кнопки Вид (View) и выберите пункт Режим таблицы (Datasheet View), чтобы посмотреть результаты запроса.
На экране отобразятся текущие цены на каждый набор, как показано на следующем рисунке.
7. Сохраните запрос, присвоив ему имя «Рост цен».

Добавьте вычисляемое попе

Включите в запрос вычисляемое поле, которое будет содержать увеличенные на 5% цены.
1. Переключитесь в режим Конструктора (Design View) и затем в строке Поле (Field) щелкните в пустой ячейке справа от столбца Цена набора, чтобы поместить в нее курсор.
2. Введите [Цена набора] *1.05 и затем нажмите клавишу Enter.
Квадратные скобки служат признаком наименования поля. Скобки появляются автоматически, если наименование поля состоит из одного слова, но при наличии в наименовании пробелов, скобки необходимо ввести.
Умножение цены на 1,05 соответствует ее повышению на 5 процентов. После нажатия клавиши Enter Microsoft Access присваивает новому полю название «Выражение!». Это имя появится в заголовке столбца в режиме таблицы.
3. Щелкните дважды на правой границе области выделения нового поля Выражение1: [Цена набора]* 1,05, чтобы отобразить выражение полностью. (Область выделения поля располагается над его названием.)


4. Переключитесь в Режим таблицы (Datasheet View), чтобы посмотреть результаты. Запрос должен выглядеть, как показано на следующем рисунке.



Измените свойства вычисляемого поля

Наименование «Выражение! » присвоено полю автоматически и не отражает его содержания. Чтобы сделать запрос более наглядным, можно изменить заголовок столбца и представить новые цены в денежном формате. Кроме того, существует возможность снабдить поле описанием, которое поясняет, какие данные в нем представлены. В этом упражнении воспользуйтесь окном свойств, чтобы изменить свойства полей запроса.
1. Переключитесь в режим Конструктор (Design View) и щелкните дважды на имени поля Выражение1, чтобы выделить его.
2. Введите Новая цена. Поле теперь будет иметь имя Новая цена.
3. Щелкните на кнопке Свойства (Properties). Появится диалоговое окно Свойства поля (Field Properties).
4. Чтобы изменить формат отображение новых цен в результатах запроса, щелкните в поле Формат поля (Format) и затем щелкните на стрелке, чтобы вывести список форматов.
5. Выделите пункт списка Денежный (Currency), чтобы представить цены в рублях. (Так как в таблице Наборы цены заданы в тысячах рублей, можно ввести в поле свойства Формат значение #"тыс.руб." и задать значение 2 для свойства Число десятичных знаков. Тогда новые цены отобразятся в том же виде, что и цены наборов).
6. Щелкните в поле Описание (Description) и затем введите Цены на наборы, увеличенные на 5 процентов.
7. Закройте окно Свойства поля (Field Properties).
8. Переключитесь в Режим таблицы (Datasheet View), чтобы посмотреть на результаты запроса после изменения свойств поля.
Новые цены представлены в денежном формате, а в заголовке столбца указано «Новая цена».
9. Щелкните в столбце Новая цена. Описание поля появится в строке статуса внизу окна Microsoft Access.
10. Закройте запрос и щелкните на кнопке Да (Yes), чтобы сохранить изменения.

Использование перекрестных запросов для анализа данных

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

Создайте перекрестный запрос

Несмотря на достигнутые успехи, в руководстве компании Сластена Лили возникли противоречия по вопросам целесообразности расширения ассортимента выпускаемой продукции. Представители финансового отдела предложили закрыть линии по производству наименее популярных
наборов. Отдел маркетинга придерживается противоположного мнения. С точки зрения менеджеров этого отдела, продукция фирмы должна отвечать различным вкусам, чтобы привлечь широкий круг покупателей. Они убеждены, что, хотя объем продаж некоторых наборов временно снизился, спрос на них возрастет. Чтобы аргументировать свою точку зрения, отдел маркетинга нуждается в данных о количестве проданных наборов в различные периоды времени.
1. Убедитесь, что в окне базы данных открыта вкладка Запросы (Queries), и щелкните на кнопке Создать (New), чтобы создать новый запрос.
2. Выделите пункт Перекрестный запрос (Crosstab Query Wizard) и щелкните на кнопке ОК.
Откроется окно мастера Создание перекрестных таблиц. Мастер позволяет выбрать таблицу или запрос, которые включают поля, содержащие исходную информацию для формирования столбцов и строк перекрестного запроса. С помощью Мастера можно указать, какие данные следует поместить в ячейки на пересечении строк и столбцов, и задать необходимые вычисления. , Процесс построения запроса отображается на образце в нижней части окна Мастера.
3. Выделите вариант Запросы (Queries). Данный запрос будет строиться на основании существующего запроса.
4. Выделите запрос Продажи наборов и щелкните на кнопке Далее.
5. Выделите поле Название набора и щелкните на кнопке выбора, чтобы переместить поле из списка Доступные поля (Available Fields) в список Выбранные поля (Selected Fields). Щелкните на кнопке Далее (Next).
Поле Название набора будет заголовком строк перекрестного запроса. Окно Создание перекрестных таблиц (Crosstab Query Wizard) должно выглядеть, как показано на следующем рисунке.

6. Выделите поле Дата заказа из списка полей и щелкните на кнопке Далее (Next).
Дата заказа является теперь заголовком столбца, как это можно видеть на образце перекрестного запроса.
7. В списке возможных интервалов выделите значение Дата и щелкните на кнопке Далее (Next).
Поле Дата заказа будет сгруппировано по дате.
8. Выделите Количество в качестве поля, содержащего исходные данные для вычислений, и задайте тип вычислений, выделив функцию Sum. Щелкните на кнопке Далее (Next).
9. Введите имя запроса Перекрестный запрос по продажам наборов и щелкните на кнопке Готово (Finish).

Просмотрите результаты перекрестного запроса

Так как запрос группирует данные по датам, необходимо задать период времени, который будет включен в запрос. Для наглядности результата запроса укажите короткий интервал, данные для которого имеются в исходном запросе.
1. В качестве начальной даты введите 1-ноя-96, а в качестве конечной - Ю-ноя-96.
В запросе представлены данные о количестве проданных наборов, упорядоченные по датам. Столбец Итоговое значение содержит количество наборов, проданных за заданный период. Результаты запроса позволяют проанализировать спрос на различные наборы и принять решения относительно целесообразности их производства.
2. Закройте запрос.

Представление данных в виде диаграммы

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

Создайте диаграмму на базе запроса

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



Важно. Чтобы выполнить это упражнение, вам понадобится компонента Microsoft Chart (или Microsoft Graph 97), которая не входит в типовой комплект установки. Запустите программу Setup и задайте установку только этого компоненты.

1. Убедитесь, что в окне базы данных открыта вкладка Отчеты (Reports), и щелкните на кнопке Создать (New), чтобы создать новый отчет.
2. Выделите Мастер диаграмм (Chart Wizard) и затем щелкните на стрелке поля Выберите в качестве источника данных таблицу или запрос (Tables And Queries), чтобы вывести список таблиц и запросов, которые будут использоваться для построения диаграммы.
3. В списке выделите запрос Продажи наборов и щелкните на кнопке ОК. Откроется окно мастера Создание диаграмм (Chart Wizard).
4. Выберите поля Дата заказа, Название набора и Количество, поочередно выделив каждое из них и щелкнув на стрелке выбора, чтобы переместить их из списка Доступные поля (Available Fields) в список Поля диаграммы (Fields For Chart). Щелкните на кнопке Далее (Next). Мастер диаграмм выдаст перечень различных типов диаграмм.
5. Щелкните на кнопке График (Line Chart) и затем щелкните на кнопке Далее (Next). Следующее окно мастера позволяет задать способ вычисления значений, представленных на диаграмме. Кроме того, с помощью кнопки Образец можно осуществить предварительный просмотр диаграммы. По умолчанию на диаграмме отображаются суммы выбранного числового поля, которым в данном случае является Количество. Предположим, что вы решили воспользоваться другой функцией, чтобы вычислить нужное значение.
6. Щелкните дважды на кнопке Сумма_Количество (SumofQuantity), чтобы открыть диалоговое окно Вычисление итоговых значений (Summarize) и затем выделите Число (Count). Щелкните на кнопке ОК, чтобы вернуться в окно мастера.
7. Щелкните дважды на кнопке Дата заказа по месяцам (Order Date by Month) и затем в диалоговом окне Группировка (Group) выделите вариант по неделям. Щелкните на кнопке ОК.
8. Щелкните на кнопке Образец (Preview Chart), чтобы получить представление об общем виде диаграммы. Появится диалоговое окно Введите значение параметра (Enter Parameter Value). Поскольку запрос содержит данные, разнесенные по датам, необходимо задать нужный период.
9. Введите 1-ноя-96 и щелкните на кнопке ОК. Затем введите ЗО-ноя-96 и щелкните на кнопке ОК. На экране отобразится образец диаграммы.

10. Щелкните на кнопке Закрыть (Close), чтобы вернуться в окно мастера.
11. Щелкните на кнопке Далее (Next). В следующем окне мастера присвойте название диаграмме.
12. Убедитесь, что выбраны варианты Показать условные обозначения, Да (Yes, Display A Legend) и Открытие отчета с диаграммой (Open The Report With The Chart Displayed On It), и щелкните на кнопке Готово (Finish).
13. Введите 1-окт-96 и щелкните на кнопке ОК. Затем введите 31-дек-96 и щелкните на кнопке ОК. На экране появится отчет, включающий диаграмму.
14. Щелкните на кнопке Закрыть (Close). В ответ на запрос, хотите ли вы сохранить изменения, щелкните на кнопке Да (Yes) и введите наименование отчета Диаграмма продаж наборов.



Примечание. Если вы хотите получить дополнительные сведения по теме урока, выполните упражнения раздела «Шаг вперед». В противном случае переходите к разделу «Окончание урока».

Шаг вперед: как задать параметры, ограничивающие перекрестный запрос

Довольно часто возникает необходимость получить данные в определенном диапазоне. Так, например, запросы по заказам могут быть практически необозримы из-за большого числа записей в таблице Заказы. Можно ограничить число элементов перекрестного запроса, указав параметры (или условия) отбора записей. В сущности, вы уже имели дело с параметрами, задавая период для перекрестного запроса по продажам наборов. Когда данные отбираются по датам, Microsoft Access автоматически устанавливает диапазон дат в качестве параметра запроса.

Задайте параметр

Предположим, что руководство компании «Сластена Лили» хотело бы получить перекрестный запрос по продажам товаров только для определенных наборов конфет. Чтобы ограничить запрос, необходимо задать соответствующий параметр для столбца Названия наборов. Тогда пользователь получит возможность указать, какие наборы его интересуют.
1. Убедитесь, что в окне базы данных выделен запрос Перекрестный запрос по продажам наборов и щелкните на кнопке Конструктор (Design).
2. В строке Условие отбора (Criteria) в столбце Название набора введите [Введите название набора], чтобы задать параметр.
3. В меню Запрос (Query) щелкните на команде Параметры (Parameters).
4. В верхней строке столбца Параметр (Parameters) введите: Введите название набора.
5. В столбце Тип данных (Data Type) щелкните в первой ячейке, чтобы определить тип данных, которые допускается вводить в диалоговое окно параметров.
По умолчанию задается Текстовый тип данных.
6. Щелкните на кнопке ОК
7. Переключитесь в Режим таблицы (Datasheet View). При появлении запроса на ввод параметров введите Вечернее настроение в столбец Название набора и затем щелкните на кнопке ОК.
8. При появления запроса на ввод параметров введите даты 1-ноя-96 и 5-ноя-96. На экране отобразятся сведения о ходе продаж набора «Вечернее настроение» за указанный период.
9. В меню Файл (File) щелкните на команде Сохранить как/экспорт (Save as/Export). В поле Новое имя (File Name) введите Продажи отдельных наборов и затем щелкните на кнопке ОК.

Окончание урока

1. Чтобы перейти к следующему уроку, щелкните на команде Закрыть (Close) в меню Файл (File).
2. Если вы завершили работу с программой Microsoft Access, щелкните на команде Выйти (Exit) в меню Файл (File).

Краткое содержание урока

Чтобы
Сделайте следующее
Создать запрос на основе существующего
В окне базы данных щелкните на кнопке Конструктор (Design), чтобы открыть запрос в режиме Конструктор (Design View). Внесите необходимые изменения в запрос. Воспользуйтесь командой Сохранить как (Save As) в меню Файл (File), чтобы переименовать запрос.
Добавить в запрос поле
Откройте запрос в режиме Конструктор (Design View). Перетащите нужное поле из списка полей таблицы в строку Поле (Field) бланка запросов.
Удалить поле из запроса
Откройте запрос в режиме Конструктор (Design View). Щелкните вверху столбца удаляемого поля, чтобы выделить его. Нажмите клавишу Del.
Сгруппировать результаты запроса
Откройте запрос в режиме Конструктор (Design View). На панели инструментов щелкните на кнопке Групповые операции (Totals). Щелкните затем в ячейках строки Групповая операция (Total) для каждого поля, по которому нужно сгруппировать данные. Щелкните на стрелке, чтобы выбрать принцип группировки данных.
Изменить заголовок столбца в запросе
Откройте запрос в режиме Конструктор (Design View). Отредактируйте наименование столбца в верхней строке бланка запроса, щелкнув слева от исходного имени и напечатав новое имя и двоеточие.
Добавить вычисляемое поле в запрос
Откройте запрос в режиме Конструктор (Design View). Введите выражение для вычисляемого поля в строку Поле (Field) бланка запроса. В этом выражении все ссылки на поля или результаты запроса следует заключать в квадратные скобки.
Создать перекрестный запрос
В окне базы данных щелкните на вкладке Запросы (Query) и затем щелкните на кнопке Coздaть(New). Выберите Перекрестный запрос (Crosstab Query Wizard). Следуя указаниям Мастера, задайте заголовки строк и столбцов. Укажите поля, где содержатся данные, на основании которых рассчитываются значения в ячейках на пересечении строк и столбцов. Выберите принцип вычисления итоговых значений.
Создать диаграмму на основе запроса
В окне базы данных щелкните на вкладке Отчеты (Reports) и затем щелкните на кнопке Создать (New). Выделите Мастер диаграмм (Chart Wizard) и выберите нужную таблицу или запрос, щелкнув на стрелке поля Выберите в качестве источника данных таблицу или запрос (Tables And Queries). Следуйте далее указаниям мастера.


Для получения справки о том, как
Воспользуйтесь Помощником для поиска тем
Вычисление итоговых значений в запросе
Вычисление суммы, среднего, числа элементов или других итоговых значений в запросе.
Ввод условия отбора в запрос, в котором выполняются вычисления.
Вычисления в запросах
Вычисления в запросе.
Перекрестные запросы
Перекрестные запросы и их использование. Создание перекрестных запросов с помощью мастера.
Параметры
Запросы с параметрами и их использование

Урок 9. Отображение в форме данных из разных таблиц

Вы научитесь:
создавать формы с помощью мастера форм;
использовать запрос в качестве базиса для создания формы;
добавлять элемент управления в форму;
запускать макрос с помощью командной кнопки.

Используя взаимосвязь данных в базе, можно строить запросы, которые позволяют извлекать и обобщать информацию из разных таблиц. Разработанные на основе подобных запросов формы позволяют одновременно просматривать и редактировать несколько таблиц. Такие формы имеют сложную структуру и состоят из главной и вложенной в нее подчиненной форм. Пример сложной формы уже рассматривался в уроке 2 «Использование форм для повышения эффективности работы».
В этом уроке вы узнаете, как с помощью запроса получить связанные данные из нескольких таблиц и как создать форму, включающую поля различных таблиц. Вы также узнаете, как добавлять в запрос командные кнопки, предназначенные для запуска макроса. Макрос представляет собой заданную последовательность команд Microsoft Access. В следующем уроке вы научитесь создавать макросы.

<<

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

СОДЕРЖАНИЕ

>>