Вы на НеОфициальном сайте факультета ЭиП

На нашем портале ежедневно выкладываются материалы способные помочь студентам. Курсовые, шпаргалки, ответы и еще куча всего что может понадобиться в учебе!
Главная Контакты Карта сайта
 
Где мы?

Реклама


ТЕМА 4. СОЗДАНИЕ ЗАПРОСОВ

Просмотров: 3325 Автор: admin

ТЕМА 4. СОЗДАНИЕ ЗАПРОСОВ

Урок 4.1. Поиск, фильтрация и сортировка данных 
Краткая справка
MS Access предоставляет широкий спектр возможностей для поиска и отбора  информации в базе данных. К таким средствам можно отнести использование команды Найти, Фильтр, Сортировка. Для того чтобы записи в таблице выстраивались при выводе в удобном для пользователя порядке, используется сортировка. MS Access может проводить 
сортировку по одному полю, по нескольким полям, по возрастанию или по  убыванию значений ключевого признака. Для вывода только определённых записей таблицы (отбора) используется фильтрация. Ниже описывается технология отбора записей путем ввода значений в пустую форму или таблицу. 
1. Откройте таблицу, запрос или форму в режиме таблицы или откройте форму в режиме формы. 
2. Нажмите кнопку «Изменить фильтр» на панели инструментов или выполните команду ЗАПИСИ/ Фильтр/ Изменить фильтр чтобы переключиться в окно обычного фильтра. 
3. Выберите поле для задания условия отбора, которому должны удовлетворять записи, включаемые в результирующий набор записей.

4. Введите условие отбора, выбрав искомое значение в раскрывающемся списке значений поля (если список содержит значения полей), или введите в поле значение с клавиатуры. При этом нужно иметь в виду следующее: 
• для поиска записей, в которых установлены или сняты флажок, выключатель или переключатель, выбирайте их с помощью мыши, пока они не получат нужное значение. Если требуется вернуть их в исходное неопределённое состояние, продолжайте выбирать флажок, выключатель или переключатель; 
• для поиска записей, имеющих в конкретном поле пустые или непустые значения, введите в это поле выражение Is Null или Is Not Null. (Данное выражение можно выбрать в раскрывающемся списке для полей с типами данных «Поле MEMO» или «Поле объекта OLE», а также для вычисляемых полей в запросах); 
• для поиска записей с использованием условия отбора, задающегося  выражением, введите выражение в соответствующее поле или создайте его с помощью построителя выражений. Примеры выражений различных условий отбора представлены в Приложении 7;

• если задать значения в нескольких полях, фильтр будет возвращать только те записи, в которых каждое из полей содержат указанное значение;

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

5. Нажмите кнопку «Применить фильтр» на панели инструментов или выполните команду Фильтр/ Применить фильтр. 
Учебное задание 4.1
Для данных, содержащихся в таблице Агенты,
• в режиме формы осуществите поиск одной из записей;
• в режиме таблицы отсортируйте записи по возрастанию значений одного из  полей; 
• отфильтруйте данные в соответствии с критерием отбора.
Технология выполнения учебного задания 4.1
1. Откройте ранее созданную базу данных STRAXOV.MDB.
2. Откройте таблицу Агенты в режиме формы. Для этого:
• в окне базы данных выберите вкладку Формы;
• щелкните дважды по ранее созданной форме Агент либо выберите форму
Агент и нажмите кнопку «Открыть».
3. Найдите запись таблицы с информацией об агенте с фамилией Жуков.
С этой целью выполните следующую группу действий:
• находясь в форме Агент, щелкните в строке поля «Фамилия»;
• щелкните на кнопке «Найти» (или выполните команду меню Правка/ Найти); 
• в диалоговом окне «Поиск в поле 'Фамилия'» введите в строку "Образец" слово Жуков; 
• щелкните на кнопке «Найти». В форму выведется найденная запись  
4. Закройте окно формы, щелкнув по кнопке «3акрыть». На экране появится окно базы данных. 
5. Откройте таблицу Агенты в табличном режиме. Для этого в окне «База данных: STRAXOV» выберите вкладку «Таблица» и дважды щелкните по таблице Агенты. 29  
6. Отсортируйте записи таблицы в соответствии с алфавитным порядком фамилий агентов, что потребует от вас следующих действий: 
• щелкните на столбце «Фамилия»;
• щелкните по кнопке пиктографического меню «Сортировка по  возрастанию» или выберите пункт меню ЗАПИСИ/ Сортировка/ Сортировка по возрастанию. 
Записи таблицы будут выведены на экран в соответствии с алфавитным
порядком фамилий.
7. Используйте фильтрацию для вывода на экран только записей, относящихся к агентам, родившимся после 1975г. Для этого выполните следующий порядок действий (рис.4.3): 
• откройте таблицу Агенты в табличном режиме;
• в окне с таблицей Агенты щелкните на кнопке «Изменить фильтр» или выберите пункт меню Записи/ Фильтр/ Изменить фильтр;  
• в окне фильтра в столбце с именем «Дата рождения» введите условие отбора >31.12.75 (рис. 4.4); 
• щелкните на кнопке «Применить фильтр» или выберите пункт меню Фильтр/ Применить фильтр; 
На экран выведутся только записи, соответствующие введенному критерию отбора (рис. 4.5).

8. Удалите фильтр, для чего щелкните по кнопке «Удалить фильтр» или выберите пункт меню ЗАПИСИ/ Удалить фильтр. 
9. Используйте фильтрацию для вывода на экран только записей, относящихся к агентам мужского пола, фамилии которых начинаются на букву «К». Для этого выполните следующий порядок действий: 
• откройте таблицу Агенты в табличном режиме;
• в окне с таблицей Агенты щелкните на кнопке «Изменить фильтр» или выберите пункт меню Записи/ Фильтр/ Изменить фильтр; 
• в окне фильтра в столбце с именем «Фамилия» введите условие отбора Like К*; 
• в окне фильтра в столбце с именем «Пол» введите условие отбора «м»;

• щелкните на кнопке «Применить фильтр» или выберите пункт меню Фильтр/ Применить фильтр. 
На экран выведутся только записи, соответствующие введенному критерию отбора. 
10. Удалите фильтр, для чего щелкните по кнопке «Удалить фильтр» или выберите пункт меню Записи/ Удалить фильтр. 
11. Используйте фильтрацию для вывода на экран только записей, относящихся к агентам, проживающим в Челябинске, используя технологию, описанную выше. 
12. Удалите фильтр.
13. Используя вышеописанную технологию фильтрации, выведите на экран о записи, относящихся к агентам мужского пола, имена которых начинаются на букву «А». 
14. Удалите фильтр.
15. Закройте базу данных, выбрав команду меню ФАЙЛ/ Закрыть.

Контрольные вопросы
1. Существуют ли физически таблицы, являющиеся результатом применения фильтра или сортировки данных? 
2. Что означает условие отбора Like П*?
3. Какова причина получения пустой таблицы в ответ на применение фильтра к полю «Фамилия» с условием отбора Like Р*, если в таблице существует записи со значениями в поле «Фамилия» Романов и Румянцев? 

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

Урок 4.2. Формирование запросов
Краткая справка
В MS Access поиск и отбор любой нужной информации можно производить с использованием запросов, имеющих большие возможности, чем рассмотренные ранее средства. Запросы представляют собой средства для извлечения из базы данных информации, отвечающей некоторым критериям, задаваемым пользователем. 
Запрос представляет собой сохраняемое в БД или оперативно формируемое требование данных, хранящихся в таблицах, или инструкцию на отбор записей, подлежащих изменению. С помощью MS Access могут быть созданы перечисленные ниже типы запросов. Запрос-выборка возвращает данные из одной или нескольких таблиц, а также результаты, которые при желании пользователь может изменить (с некоторыми ограничениями). Также можно использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и других действий. В перекрёстном запросе отображаются результаты статистических расчётов (такие как суммы, количество записей и средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй – в верхней строке. Запрос с параметром – это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, например условие для возвращения записей или значение, которое должно содержаться в поле. Можно создать запрос, в результате которого выводится приглашение на ввод нескольких данных, например, двух дат. В результате будут возвращены все записи, находящиеся между указанными двумя датами. Запросы SQL – запросы, которые могут быть созданы только с помощью инструкций SQL в режиме SQL (см. Приложение 11). Например, запрос-объединение, запрос к серверу и управляющий запрос. В MS Access имеется возможность самостоятельно создать запрос или воспользоваться мастером по разработке запросов. Чаще всего запрос разрабатывается самостоятельно. Самым распространенным типом запроса является запрос на выборку в режиме Конструктора (без использования мастера). Создание такого запроса включает следующие шаги: 
• в окне БД перейдите к вкладке Запросы и нажмите кнопку «Создать»;
• в диалоговом окне Новый запрос выберите команду Конструктор и нажмите кнопку «OK»; 
• в диалоговом окне Добавление таблицы перейдите к вкладке, которая включает объекты, содержащие требуемые данные; 
• для добавления объектов в запрос дважды щелкните кнопкой мыши на имени каждого, а затем нажмите кнопку «Закрыть»; 
• если запрос содержит несколько таблиц или запросов, убедитесь, что между собой их соединяет линия. Для MS Access это означает, что данные связаны. Если же линий нет, создайте их; 
• добавьте поля в запрос, перемещая их имена с помощью мыши из списка полей в бланк запроса; 
• внесите в запрос необходимые усовершенствования: определите условие отбора, порядок сортировки, создайте вычисляемые поля (для вычисления суммы, среднего значения, пересчета и других действий с данными), либо измените структуру запроса;

• для сохранения запроса нажмите кнопку «Сохранить» на панели инструментов. Введите имя, соответствующее соглашениям об именах объектов MS Access, и нажмите кнопку «OK»; 
• для просмотра результатов запроса нажмите «Вид» на панели инструментов. 
Выражения в запросах
Выражения можно создавать самостоятельно или с помощью построителя выражений (см. Приложение 6). 
Выражения могут состоять из следующих элементов: литералов; операторов;
констант; идентификаторов; функций.
Литерал – это точное значение, которое MS Access использует именно в том виде, как оно вводится. При записи литерала используются специальные символы-ограничители, которые указывают на тип данных литерала. Если литерал – число, то он вводится без ограничителей. Например, 465.8. Текстовый литерал должен иметь в качестве ограничителя – " или ‘. Например, "Иванов" или 'Иванов'. В литералах типа дата используется ограничитель #. Например, #12/11/96#. В случае литерала типа поле или элемента 
управления вводятся ограничители [ ]. Например, [Фамилия]. Оператор указывает действие, которое должно быть выполнено с элементами выражения. Выделяются следующие группы операторов:

• арифметические: * умножение + сложение - вычитание, 
/ деление ^ возведение в степень;
• соединение частей текста &, например, =[Фамилия] & " "&[Имя];
• сравнения: < меньше <= меньше или равно > больше,
>= больше или равно = равно <> не равно;
• логические: And (И), Not (Нет), Оr (Или);
Идентификатор – это имя, введенное в выражение для резервирования места под значение, которое хранится в поле или элементе управления. Функция – это специальное имя, которое используется для выполнения какой-либо операции и может применяться в выражениях. Для построения выражений используется построитель выражений (см. Приложение 6). Аргументы функции должны заключаться в (). В MS Access встроено несколько десятков функций (см. Приложение 7). 

Учебное задание 4.2
1. Сформируйте запрос-выборку, позволяющий получить из таблицы Агенты  данные: 
• об агентах-мужчинах, родившихся после 1 апреля 1975г;
• об агентах, живущих в городе Магнитогорске.
2. Создайте запрос с параметрами, позволяющий получить данные об агентах по фамилии. 

Технология выполнения учебного задания 4.2
Этап 1: Создание простого запроса
1. Откройте ранее созданную базу данных «STRAXOV.MDB».
2. Создайте новый запрос. Для этого:
• в окне «STRAXOV: База данных» выберите вкладку «3апросы»;
• нажмите кнопку «Создать», в диалоговом окне «Новый запрос» выберите команду Конструктор и нажмите кнопку «OK»; 
• в диалоговом окне «Добавление таблицы» выберите таблицу Агенты и нажмите на кнопку «Добавить» (рис. 4.6); 
• после появления в окне «Запрос1: Запрос на выборку» списка полей таблицы Агенты в диалоговом окне «Добавление таблицы» щелкните на кнопке «3акрыть»; 
• в первую ячейку строки Поле перетащите из списка полей таблицы Агенты поле «Фамилия». Во вторую – «Имя». В третью – «Отчество», в четвертую – «Дата рождения», в пятую – «Пол»; 
• в пятую ячейку строки Условие отбора поместите выражение: «м» и уберите признак вывода на экран информации из этого поля; 
• в четвертую ячейку строки Условие отбора поместите выражение: >#01.04.75# и установите признак вывода на экран информации из данного. 
3. Выполните запрос, для чего щелкните на кнопке пиктографического меню «Запуск» или выберите пункт меню Запрос/ Запуск.  
4. Сохраните запрос, для этого выполните команду меню ФАЙЛ/ Сохранить. В появившемся после этих действий окне «Сохранение» введите имя запроса, например, можно оставить имя «Запрос1», предлагаемое по умолчанию.

5. Измените условие запроса, например, отбирайте агентов, фамилии которых начинаются с буквы «Б». Для этого выполните следующие действия: 
• во вкладке Запросы выберите Запрос1 и нажмите кнопку «Конструктор»;
• в ячейку строки «Условия отбора», соответствующей полю «Фамилия» введите выражение Like Б*; 
• выполните запрос;
• вернитесь в Конструктор, выполнив команду Вид/ Конструктор.
6. Измените условие запроса: выберите агентов, родившихся после 12 июня 1975, фамилии которых начинаются на букву «М». 
7. Создайте по аналогичной технологии запрос на выборку агентов мужского пола из Магнитогорска. 
8. Измените условие запроса: отберите всех агентов с именами, начинающимися на букву «П». 
Этап 2: Создание запроса с параметрами
9. Создайте новый запрос с параметрами, выполнив следующие действия:
• в окне «STRAXOV:База данных» нажмите кнопку «3апросы», а затем кнопку «Создать»; 
• в диалоговом окне «Новый запрос» выберите команду Конструктор и нажмите кнопку «OK»; 
• в диалоговом окне «Добавление таблицы» выберите таблицу Агенты и нажмите на кнопку «Добавить»;

• после появления в окне «Запрос2: Запрос на выборку» списка полей таблицы Агенты в диалоговом окне «Добавление таблицы» щелкните на кнопке «3акрыть»; 
• в первую ячейку строки «Поле» перетащите из списка полей таблицы Агенты поле «Фамилия»; во вторую – «Имя»; в третью – «Отчество», в четвертую – «Город»; 
• в четвертую ячейку строки «Условие отбора» поместите выражение: [Фамилия:]; 
• выполните запрос, нажав на кнопку или выполнив команду Запрос/ Запуск. 
10. Закройте базу данных, выбрав команду меню ФАЙЛ/ Закрыть.

 

Контрольные вопросы
1. Для чего применяются запросы?
2. В чем заключается отличие между запросами и фильтрами?
3. Как будет выглядеть условие отбора, если нужно получить информацию обо всех сотрудниках, старше 29 лет и младше 41 года?
Самостоятельное задание 4.2
1. Сформируйте запрос-выборку, позволяющий получить из таблицы  Клиенты данные: 
• об агентах-женщинах, фамилии которых начинаются на букву «М»;
• об агентах, живущих в городе Челябинске.
2. Создайте запрос с параметрами, позволяющий получить данные об агентах по номеру их телефона. 
3. Создайте запрос-выборку по агентам, у которых текущий день является днем рождения. Для определения текущей даты используйте функцию Now().


Информация

Комментировать статьи на нашем сайте возможно только в течении 60 дней со дня публикации.

Популярные новости

Статистика сайта



Rambler's Top100



 
Copyright © НеОфициальный сайт факультета ЭиП