Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Word обучение / Office 2007. Самоучитель

.pdf
Скачиваний:
939
Добавлен:
09.02.2016
Размер:
16.81 Mб
Скачать

392

Занятие 16. Базы данных

Ðèñ. 16.18. Сортировка фамилий по алфавиту

4.Щелчком на кнопке По возрастанию (Ascending) в группе Сортировка и фильтр

(Sort & Filter) вкладки Главная (Home) упорядочите записи столбца фамилий таблицы по алфавиту.

5.Вставьте в таблицу еще несколько человек с фамилией Суханов. Например, введите в указанном порядке записи Николай Суханов, Анатолий Суханов è Виктор Суханов.

6.Чтобы повторить сортировку, закройте окно таблицы Контакт и вновь откройте таблицу. Записи окажутся расположенными так, как показано на рис. 16.19.

Ðèñ. 16.19. Несколько человек с одинаковыми фамилиями

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

7.Щелчком на кнопке Режим (View) переключитесь в режим конструктора.

8.Чтобы открыть окно индексов таблицы Контакт (рис. 16.20), щелкните на кнопке Индексы (Indexes) в группе Показать или скрыть (Show/Hide) вкладки Конструктор (Design).

В окне индексов есть список со столбцами названия индекса, имени поля, по которому выполняется индексация, и режима сортировки (по возрастанию или убыванию). Индекс PrimaryKey является ключом таблицы, однозначно

Конструктор таблиц

393

идентифицирующим ее записи. Данный индекс простой, то есть он назначает сортировку только по одному полю Êîä. Чтобы записи с одинаковыми фамилиями располагались по алфавиту имен, следует создать индекс Фамилия с условием сортировки по полям Фамилия è Èìÿ.

Ðèñ. 16.20. Индексы

9.Введите в поле названия индекса текст Фамилия.

10.Нажмите клавишу Tab и выберите пункт Фамилия в раскрывающемся списке ячейки Èìÿ ïîëÿ (Field Name). В столбце Порядок сортировки (Sort Order) автоматически появится вариант По возрастанию (Ascending).

11.Щелкните правой кнопкой мыши в той строке, которая расположена ниже строки индекса Фамилия.

12.Выберите в контекстном меню команду Вставить строки (Insert Rows), чтобы добавить одну пустую строку.

13.В новой строке столбца Èìÿ ïîëÿ (Field Name) щелкните на кнопке раскрывающегося списка.

14.Выберите пункт Èìÿ. В столбце Порядок сортировки (Sort Order) автоматически появится вариант По возрастанию (Ascending).

В окне настройки индексов имена полей, по которым происходит упорядочи- вание в данном индексе, располагаются в строке с именем индекса и ниже ее в строках с пустой ячейкой Индекс (Index Name) в порядке убывания влияния поля. То есть первой выполняется сортировка по тому полю, которое в данном индексе расположено выше. В одном индексе можно использовать до 10 полей. Таким образом, теперь индекс Фамилия упорядочивает записи по алфавиту сначала по фамилиям, а потом по именам.

15.Закройте окно индексов.

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

17.Ответьте Äà (Yes) на запрос о необходимости сохранения таблицы. В результате имена окажутся выстроенными по алфавиту (рис. 16.21).

394

Занятие 16. Базы данных

Ðèñ. 16.21. Сортировка по двум полям

Контрольное упражнение

Пришло время самостоятельно попрактиковаться в работе с конструктором таблиц.

СОВЕТ

Access автоматически обновляет файл базы данных. Чтобы сохранить его исходный вариант,

âпроводнике создайте копию файла Контакты.accdb — файл Контакты_копия.accdb. Закон- чив контрольное упражнение, переименуйте файл Контакты_копия.accdb обратно в Контакты.accdb.

1.Откройте таблицу Контакт в режиме конструктора.

2.Измените тип данных поля Адрес íà Текстовый (Text).

3.Ограничьте текстовому полю Èìÿ длину 30 символов.

Какой параметр определяет длину поля?

4.Запретите Access добавлять в таблицу Контакт записи с пустым полем Фамилия.

Как запретить добавление пустого поля?

5.Закройте конструктор и сохраните структуру таблицы.

6.Создайте новую таблицу с именем Метод.

7.В конструкторе добавьте в нее поле МетодID с типом данных Счетчик (AutoNumber) è ïîëå Вариант с типом Текстовый (Text). Первое из них сделайте ключом таблицы.

8.Переключитесь в режим редактирования и введите в таблицу три записи,

âïîëå Метод которых укажите слова Телефон, Письмо, Ôàêñ. Эта таблица будет

хранить возможные способы контакта.

9.С помощью конструктора добавьте в таблицу Список ïîëå МетодID с числовым типом.

10.С помощью мастера подстановки назначьте этому полю подстановку, состоящую из полей МетодID è Вариант таблицы Метод.

Как сделать так, чтобы в список подстановки помимо названия метода выводился его кодовый номер?

Подведение итогов

395

11.В имеющихся записях таблицы Список введите значение в новое поле, выбрав его в списке подстановки.

12.Закройте базу данных.

Какие операции закрывают базу данных?

Подведение итогов

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

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

Занятие 17

Выборка данных

Тема занятия

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

мастер запросов;

конструктор запросов;

условие отбора;

итоговый запрос;

запрос действия;

фильтры.

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

Запросы

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

Запросы

397

Упражнение 1. Мастер запросов

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

1.Перейдите на вкладку Создание (Create).

2.В группе Другие (Other) щелкните на значке Мастер запросов (Query Wizard).

3.В появившемся диалоговом окне Новый запрос (New Query) выберите строку

Простой запрос (Simple Query Wizard) и щелкните на кнопке OK.

4.В раскрывающемся списке Таблицы и запросы (Tables/Queries) первого окна мастера выберите таблицу Список (ðèñ. 17.1).

Ðèñ. 17.1. Мастер запросов

5.В списке Доступные поля (Available Fields) щелкните на строке Äàòà.

6.Щелкните на кнопке >, чтобы переместить выделенное поле в список Выбранные поля (Selected Fields).

7.Повторяя шаги 5–6, добавьте в список Выбранные поля (Selected Fields) ïîëå

Описание таблицы Список, а также поле Фамилия таблицы Контакт.

8.Щелкните на кнопке Далее (Next).

9.Введите имя запроса Перечень контактов и щелкните на кнопке Готово (Finish).

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

398

Занятие 17. Выборка данных

ПРИМЕЧАНИЕ

Чтобы база данных выглядела интереснее, в таблицы было добавлено несколько новых записей.

В рассматриваемом случае условие отбора инициирует получение из таблицы Список полей Äàòà è Описание всех имеющихся записей, а также поля Фамилия таблицы Контакт. Таблицы Список è Контакт связаны между собой через поля Êîä è Контакт, ïðè ýòîì Контакт является главной таблицей, а Список — подчиненной (то есть каждой записи таблицы Список соответствует только одна запись таблицы Контакт). Поэтому в поле Фамилия результата запроса выводится фамилия из той записи таблицы Контакт, значение поля Êîä которой совпадает со значением поля Контакт таблицы Список.

Результат выполнения запроса показан на рис. 17.2.

Ðèñ. 17.2. Результат выполнения запроса

Упражнение 2. Конструктор запросов

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

1.Чтобы переключиться в режим конструктора, щелкните на кнопке Режим (View) вкладки Главная (Home). Окно конструктора показано на рис. 17.3. В его верхней части отображаются списки полей таблиц, к которым обращается запрос, и связи между таблицами. Нижняя область содержит бланк выбора полей таблиц, условий отбора и режимов сортировки. Добавим в запрос еще одно поле.

2.Наведите указатель на пункт Èìÿ таблицы Контакт.

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

Запросы

399

4.В раскрывающемся списке третьей ячейки третьего столбца бланка выберите пункт По возрастанию (Ascending), как показано на рис. 17.4.

Ðèñ. 17.3. Конструктор запроса

Ðèñ. 17.4. Параметры объединения

400

Занятие 17. Выборка данных

СОВЕТ

Чтобы добавить в запрос сразу все поля таблицы, перетаскивайте верхний пункт (со значком*). Если нужная таблица отсутствует в верхней части окна запроса, щелкните на кнопке Отобразить таблицу (Show Table) вкладки Конструктор (Design), выделите нужную таблицу или запрос в открывшемся диалоговом окне и щелкните сначала на кнопке Добавить (Add), а затем — на кнопке Закрыть (Close).

5.Назначьте тот же режим сортировки для поля Èìÿ. В результате записи результата запроса будут упорядочены по фамилиям и именам в алфавитном порядке. Имеющийся вариант связи позволяет добавить в результат запроса только те записи связанных таблиц, в которых значения полей Êîä è Контакт равны. Так как для некоторых людей из таблицы Контакт нет записей в таблице Список, информация о них не включается в результат запроса. Чтобы запрос возвращал данные даже о тех людях (включенных в таблицу Контакт), с которыми не было никаких контактов, нашедших отражение в таблице Список, следует изменить параметры объединения.

6.Дважды щелкните на линии связи.

7.В открывшемся диалоговом окне Параметры объединения (Join Properties) установите переключатель Объединение всех записей из "Контакт" и только тех записей из "Список", в которых связанные поля совпадают (Include All records from "Контакт" and only those records from "Список" where the joined fields are equal).

8.Щелкните на кнопке OK. На одном конце линии связи появится стрелка, указывающая на смену режима объединения.

ПРИМЕЧАНИЕ

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

9.Щелчком на кнопке Выполнить (Run) вкладки Конструктор (Design) выполните запрос повторно. Результат выполнения запроса с учетом сортировки и нового режима объединения показан на рис. 17.5.

Ðèñ. 17.5. Результат выполнения нового запроса

Запросы

401

10.Закройте окно запроса.

11.В ответ на запрос о необходимости сохранения новой структуры запроса щелкните на кнопке Äà (Yes).

Упражнение 3. Условие отбора

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

Ðèñ. 17.6. Окно базы данных

2.Щелкните правой кнопкой мыши и в контекстном меню выберите команду

Конструктор (Design View).

3.На бланке запроса щелкните в ячейке Условие отбора (Criteria) первого столбца правой кнопкой мыши и выберите в контекстном меню команду Построить (Build). Откроется окно построителя выражений (рис. 17.7).