Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
6
Microsoft Access
Выборка данных
Тема занятия
На этом занятии рассказывается о способах фильтрации данных формации из базы данных на основе определенных критериев и вычислений. В упражнениях занятия рассматриваются следующие темы
■ мастер запросов;
■ конструктор запросов;
■ условие отбора;
■ итоговый запрос;
■ запрос действия;
■ фильтры.
Таблицы данных предназначены для хранения информации. Вам, конечно, захочется не только заносить в них данные, но и обрабатывать записанную ранее формацию. Access предлагает множество способов извлечения данных из таблиц. Вы можете запросить данные, руководствуясь определенным правилами отбора, отфильтровать нужные записи или рассчитать результирующие значения с помощью формул.
Запросы
Запросы являются инструментом поиска и структурирования данных. Запрос, адресованный одной или нескольким таблицам, инициирует выборку определенной части данных и их передачу в таблицу, формируемую самим запросом. В результате вы получаете подмножество информационного множества исходных таблиц, сформированное по определенному закону. Если обрабатываемый объем информации велик, выделение необходимых данных в такое подмножество позволяет существенно сократить время их обработки. В системах типа клиент-сервер, где основные базы данных хранятся на файловом сервере, система запросов позволяет уменьшить объем информации, передаваемой через локальную сеть.
Упражнение 1. Мастер запросов
Чтобы упростить задачу пользователя, в состав Access включен мастер запросов, позволяющий автоматизировать процесс построения запроса. Давайте с помощью мастера выполним выборку информации из таблиц базы данных Контакты.
Рис 17.1. Мастер запросов
7. Повторяя шаги 5-6, добавьте в список Выбранные поля (Selected Fields) поле Описание таблицы Список, а также поле Фамилия таблицы Контакт.
8. Щелкните на кнопке Далее (Next).
9. Введите имя запроса Перечень контактов и щелкните на кнопке Готово (Finish).
Access построит запрос и выполнит его. Запрос это набор условий, согласно которым производится выборка информации из таблиц. Запуск запроса формирует новую таблицу данных, единственным отличием которой от обычных таблиц является, то, что с помощью повторных запусков запроса ее данные можно обновлять в соответствии с изменением информации источников данных запроса.
ПРИМЕЧАНИЕ________________________________________________________________
Чтобы база данных выглядела интереснее, в таблицы было добавлено несколько новых записей.
___________________________________________________________________
В рассматриваемом случае условие отбора инициирует получение из таблицы Список полей Дата и Описание всех имеющихся записей, а также поля Фамилия таблицы Контакт. Таблицы Список и Контакт связаны между собой через поля Код и Контакт, при этом Контакт является главной таблицей, а Список подчиненной (то есть каждой записи таблицы Список соответствует только одна запись таблицы Контакт). Поэтому в поле Фамилия результата запроса выводится фамилия из той записи таблицы Контакт, значение поля Код которой совпадает со значением поля Контакт таблицы Список.
Результат выполнения запроса показан на рис. 17.2.
Рис. 17.2. Результат выполнения запроса
Упражнение 2. Конструктор запросов
Мастер запросов умеет конструировать только простые условия отбора. Чтобы наложить дополнительные ограничения, следует пользоваться конструктором запросов, обеспечивающим полное управление параметрами запроса и построение сложных условий отбора данных.
1. Чтобы переключиться в режим конструктора, щелкните на кнопке Режим вкладки Главная (Ноте). Окно конструктора показано на рис. 17.3. В его ней части отображаются списки полей таблиц, к которым обращается запрос, и связи между таблицами. Нижняя область содержит бланк выбора полей таблиц, условий отбора и режимов сортировки. Добавим в запрос е одно поле.
2. Наведите указатель на пункт Имя таблицы Контакт.
3. Нажмите кнопку мыши и перетащите поле Имя в верхнюю ячейку четвертой строки бланка запроса. Его имя появится в этой ячейке, а имя соответствующей таблицы во второй ячейке того же столбца. Третья строка бланка запроса позволяет сортировать результат запроса по тому или иному полю.
4. В раскрывающемся списке третьей ячейки третьего столбца бланка выберите пункт По возрастанию, как показано на рис.17.4.
Рис. 17.3. Конструктор запроса
Рис. 17.4 Параметры объединения
СОВЕТ-----------------------------------------------------------------------------------:------------------
Чтобы добавить в запрос сразу все поля таблицы, перетаскивайте верхний пункт (со значком*). Если нужная таблица отсутствует в верхней части окна запроса, щелкните на кнопке Отобразить таблицу (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. Щелкните на кнопке ОК. На одном конце линии связи появится стрелка, указывающая на смену режима объединения.
ПРИМЕЧАНИЕ-------------------------------------------------------------------------------------------
Изменение режима объединения в окне запроса никак не влияет на параметры исходной связи, определяющие правила взаимодействия между таблицами данных, а задает только порядок отбора записей базы данных, включаемых в результат запроса.
___________________________________________________________________
9. Щелчком на кнопке Выполнить (Run) вкладки Результаты выполните запрос повторна результат выполнения запроса с учетом сортировки и нового режима объединения показан на рис. 17.5.
Рис. 17.5. Результат выполнения нового запроса
10. Закройте окно запроса.
11. В ответ на запрос о необходимости сохранения новой структуры запроса щелкните на кнопке Да (Yes).
Упражнение 3. Условие отбора
Добавление в запрос условия отбора позволяет выбирать из таблицы не все записи, а лишь те, которые удовлетворяют определенным критериям. Например, вас могут заинтересовать контакты, приходящиеся на первую декаду июня 2008 года. Давайте модифицируем запрос добавлением соответствующего условия отбора.
Рис 17.6. Окно базы данных
2. Щелкните правой кнопкой мыши и в контекстном меню выберите команду Конструктор (Design View). \
3. На бланке запроса щелкните в ячейке Условие отбора (Criteria) первого столбца правой кнопкой мыши и выберите в контекстном меню команду Построить (Build). Откроется окно построителя выражений (рис. 17.7).
Рис 17.7. Построитель выражений
4. В левом списке построителя щелкните на папке Операторы (Operators).
5. В среднем списке выберите категорию Сравнения (Comparison).
6. В правом списке дважды щелкните на пункте Between, чтобы добавить этот оператор в поле формулы.
7. Щелчком выделите в поле формулы первый местозаполнитель Выражение (Ехрг).
8. В левом списке построителя выражений двойным щелчком откройте папку Функции (Functions).
9. Щелкните на папке Встроенные функции (Built-In Functions), содержащей стандартные функции Access.
10. В среднем списке построителя выражений щелкните на пункте Дата/время (Data/Time).
11. В правом списке дважды щелкните на функции DateValue, чтобы заменить ею местозаполнитель Выражение (Ехрг).
12. Нажмите два раза клавишу → , выделив местозаполнитель "stringexpr".
13. Введите текст "1.06.2008".
14. Повторив шага 7-13, замените второй местозаполнитель Выражение на выражение DateValue ("10.06.2008").
У вас должна получиться следующая формула:
Between DateValue ("1.06.2008") And DateValue ("10.06.2008")
Эта формула проверяет условие нахождения даты в интервале от 1 до 10 июня 2008 г., то есть отбирает те записи, значение поля Дата которых относится к первой декаде июня 2008г.
СОВЕТ_____________________________________________________________
Если вы уже освоили правила построения выражений Access, то можете не пользоваться построителем, а непосредственно вводить выражения в бланк запроса____________________________________________________________
15. Щелкните на кнопке ОК. построенная формула появится в ячейке Условие отбора первого бланка запроса. При выборе записей, относящихся к определенному интервалу, точная дата контакта может оказаться несущественной. Совсем выбросить это поле из бланка запроса нельзя, т.к. оно необходимо для реализации условия отбора. Однако любое поле можно скрыть, т.е. не включать в результат запроса.
16. Сбросьте флажок Вывод на экран первого столбца запроса (рис. 17.8).
Рис. 17.8. Скрытие поля
17. Щелчком на кнопке Выполнить вкладки Конструктор выполните запрос. Новый результат показан на рис. 17.9.
Рис. 17.9. Контакты за первую декаду февраля 2008 г.