Формирование запроса на выборку в реляционной СУБД Access
по дисциплине "Прикладное программное обеспечение”
Выполнила студент(ка) гр.
Проверила асп. каф. 304
Добряк В.С.
Харьков
Цель работы: составление запросов на выборку в реляционной СУБД.
Теоретическое введение
При работе с базой данных очень часто возникает необходимость вычленить из всей массы хранимой информации, только интересующую.
Язык, на котором формулируются запросы к поисковым системам называется языком поисковых запросов или информационно-поисковым языком.
В различных поисковых системах язык запросов может различаться, однако обычно он является некоторым подобием языка регулярных выражений с дополнениями, связанными со спецификой работы той или иной поисковой системы. Знание и правильное применение языка запросов конкретной поисковой машины улучшает и упрощает пользователю процесс поиска информации.
Язык поисковых запросов состоит из логических операторов, префиксов обязательности, возможности учета расстояния между словами, морфологии языка, регистра слов, расширенных операторов, возможностей расширенного поиска, уточнения поиска.
Например:
§ SQL — де-факто стандартный язык запросов к реляционным базам данных.
§ Language Integrated Query — расширение для некоторых языков программирования в.NET Framework, добавляющее к ним SQL-подобный язык запросов.
§ XQuery — язык запросов, разработанный для обработки данных в формате XML.
§ XPath — язык запросов к элементам XML-документа.
Для извлечения данных из базы данных используется язык SQL (Structured Query Language — язык структурированных запросов). SQL — это язык программирования, который очень напоминает английский, но предназначен для программ управления базами данных. Каждый выполняемый запрос на самом деле основан на SQL.
|
Понимание принципов работы SQL помогает создавать улучшенные запросы и упрощает исправление запросов, которые возвращают неправильные результаты. Бросаться изучать его в данный момент нет необходимости.
Access автоматически транслирует все запросы в последовательность символов своего собственного диалекта языка SQL, именуемого Jet SQL. Но и его изучение пока можно отложить. Все дело в том, что для упрощения создания запросов есть специальное средство, называемое бланком запроса по образцу (см. Примечание). С его помощью можно в считанные минуты построить запрос, перетаскивая элементы запроса между соответствующими окнами.
Примечание. Применяются два типа запросов: по образцу (QBE – Query by example) и структурированный язык запросов (SQL – Structured Query Language).
QBE - запрос по образцу – средство для отыскания необходимой информации в базе данных. Он формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов.
SQL – запросы – это запросы, которые составляются (программистами) из последовательности SQL – инструкций. Эти инструкции задают, что надо сделать с входным набором данных для генерации выходного набора. Все запросы Access строит на основе SQL – запросов, чтобы посмотреть их, необходимо в активном окне проектирования запроса выполнить команду Вид/SQL.
Запрос (query) – это средство выбора необходимой информации из базы данных. Вопрос, сформированный по отношению к базе данных, и есть запрос.
|
Существует несколько типов запросов:
на выборку,
на обновление,
на добавление,
на удаление,
итоговый,
перекрестный запрос,
создание таблиц.
Наиболее распространенным является запрос на выборку. Запросы на выборку используются для отбора нужной пользователю информации, содержащейся в таблицах. Они создаются только для связанных таблиц. Запрос на выборку формирует результирующую таблицу, содержащую только необходимые по условию запроса данные из указанных базовых таблиц.
Его создание в Access, как и для всех других объектов, возможно в автоматическом режиме, в ручном режиме и с помощью мастера.
Создание запроса на выборку с помощью Мастера
При создании query необходимо определить:
1. Поля в базе данных, по которым будет идти поиск информации
2. Предмет поиска в базе данных
3. Перечень полей в результате выполнения запроса
Например, из таблицы Сотрудники необходимо выбрать только данные о фамилии сотрудников и их заработной плате.
1. Поля: Поле Фамилии сотрудника и его заработной платы
2. Заработная плата всех сотрудников по соответствующей фамилии.
3. В результате выполнения запроса необходимо вывести на экран два столбца – фамилии сотрудников и заработная плата.
Таблица Сотрудники выглядит так:
Необходимый результат выглядит так:
Выполним данный запрос с помощью Мастера.
В окне база данных выбрать вкладку Создание и щелкнуть на пиктограмме Мастер запросов, появится окно Создание запросов.
В окне мастера необходимо выбрать тип запроса, подтвердить нажатием кнопки ОК.
|
Далее из раскрывающегося списка выберете таблицу (таблицу - источник) из опции Таблицы и запросы и выберете поля данных (опция – Доступные поля). В нашем случае это поля – Фамилия и з.п.
Если query формируется на основе нескольких таблиц, необходимо повторить действия для каждой таблицы – источника!
Затем в окне Мастера надо выбрать Подробный или Итоговый отчет и щелкнуть на кнопке Далее.
В данном случае выберем Подробный отчет с выводом на экран всех полей.
Обратите внимание слева в окне мастера предоставлена графическая интерпретация всех действий, что позволяет облегчить понимание каждой опции для обычного пользователя.
После этого необходимо задать имя запроса.
Далее необходимо выбрать один из вариантов дальнейшего действия: Открыть query для просмотра данных или Изменить макет запроса и нажать кнопку Готово. В результате чего получите готовый query.
В первом случае на экран выведется результирующая таблица, во втором – запрос в режиме конструктора (выберете эту вкладку если вы хотите далее модернизировать ваш простой запрос).
Примечание! Если вы хотите увидеть как выглядит ваш запрос на программном языке (SQL), то на вкладке Вид перейдите на режим SQL, или откройте запрос в режиме конструктор и перейдите по вкладке SQL в правом нижнем углу окна Access.
Первой кодовое слово в запросе всегда SELECT (выбор), далее перечисляются выбираемые поля, причем сначала записывается таблица и далее через точку поле этой таблицы. После этого ставиться кодовое слово FROM (из) и записывается название таблицы из которой необходимо выбирать данные. Данный запрос читается так – выбрать поле Фамилия, поле З/П из таблицы Сотрудники. Вы также можете не создавать запросы через режимы Конструктор или Мастер, а сразу записать его на языке SQL. Такой путь задания запросов гораздо короче и менее затратный по времени, однако он является сложным для обычного пользователя не знакомого с правилами написания запросов на языке SQL и требует определенного опыта работы с БД.
Задание 1. Используя мастер запросов создайте простой запрос. Выберете из таблицы всех сотрудников и их заработную плату. Если фамилии сотрудников будут повторятся, то выведете на экран максимальное значение из соответствующих. Для этого случая используйте опцию Итоговый отчёт. Поставьте галочку на вкладке MAX (максимальное значение з.п.). Для подсчета записей участвующих при выборе максимального значения отметьте пункт Подсчет числа записей в …
В нашем случае в таблице Сотрудники две повторяющееся фамилии – Петров и Кучеренко.
Результат должен выглядеть так
Вернутся к началу документа
Создание запроса на выборку с помощью Конструктора
С помощью конструктора можно создать следующие виды запросов:
- Простой
- По условию
- Параметрические
- Итоговые
- С вычисляемыми полями
Например, найти всех покупателей из города Луганска.
1. Поля: Поле Фамилия, Имя, Отчество покупателя и его Адрес
2. Покупатели, проживающие в Луганске.
3. В результате выполнения запроса необходимо вывести на экран 3 столбца – Фамилии, Имен, Отчества покупателей фирмы, которые живут в Луганске.
Таблица покупателей выглядит так
Результат запроса выглядит так
Чтобы вызвать Конструктор запросов, необходимо перейти на вкладку Создание и щелкнуть на пиктограмме Конструктор запросов, появится окно Добавление таблицы.
В окне Добавление таблицы следует выбрать таблицу – источник или несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, окно «Запрос1» станет активным.
В нашем случае таблица 1 – Покупатели.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список таблиц – источников и отражает связь между ними.
В нижней части окна находится Бланк построения запроса QBE (Query by Example), в котором каждая строка выполняет определенную функцию:
Поле – указывает имена полей, которые участвуют в запросе
Имя таблицы – имя таблицы, с которой выбрано это поле
Сортировка – указывает тип сортировки данных
Вывод на экран – устанавливает флажок просмотра поля на экране. Поле может участвовать в отборе данных (запросе), но не выводится на экран!
Условия отбора - задаются критерии поиска данных
Или – задаются дополнительные критерии отбора данных
Далее формируем запрос следуя инструкции:
В окне «Запрос: запрос на выборку» с помощью инструментов формируем query:
· Переместить имена полей с источника в Бланк запроса. Например, из таблицы Покупатели отбуксировать поле Фамилия в первое поле Бланка запросов, отбуксировать поле Имя во второе поле Бланка запросов, Отчество отбуксировать в третье поле и Адрес отбуксировать в четвертое поле Бланка запросов.
· Задать принцип сортировки. Курсор мыши переместить в строку Сортировка для любого поля, появится кнопка открытия списка режимов сортировки: по возрастанию и по убыванию. Например, установить в поле Фамилия режим сортировки – по возрастанию.
· В строке вывод на экран автоматически устанавливается флажок просмотра найденной информации в поле. Снимите флажок с поля Адрес.
· В строке "Условия" отбора и строке "Или" необходимо ввести условия ограниченного поиска – критерии поиска. Например, в поле Адрес - "Луганск", т.е. отображать все ФИО, которые проживают в Луганске.
· После завершения формирования запроса закрыть окно Запрос на выборку. Откроется окно диалога Сохранить – ответить Да (ввести имя созданного запроса, например, Образец запроса на выборку в режиме Конструктор) и щелкнуть ОК и вернуться в окно базы данных.
Чтобы открыть Запрос из окна базы данных, необходимо выделить имя запроса и щелкнуть кнопку Открыть, на экране появится окно запрос на выборку с требуемым именем.
Чтобы внести изменения в запросе его необходимо выбрать щелчком мыши в окне базы данных, выполнить щелчок по кнопке Конструктор, внести изменения. Сохранить запрос, повторить его выполнение.
Вернутся к началу раздела
Задание 2. Выполните запрос на поиск соответствующего совпадения конкретного значения заданного пользователем для текстового типа (к примеру: поиск людей с именем Александр, поиск людей из города Харьков, поиск людей с 5 отдела, поиск книги определенного автора и т.д.). В поле Условие нужное значение берите в кавычки, если Access не сделал этого по умолчанию!
Параметрические запросы
Запросы, представляющие собой варианты базового запроса и незначительно отличающиеся друг от друга, называются параметрическими. В параметрическом запросе указывается критерий, который может изменяться по заказу пользователя.
Последовательность создания параметрического запроса следующая:
· Создать запрос в режиме конструктора или открыть существующий запрос в режиме конструктора, например «Образец запроса в режиме Конструктор».
· В Бланк запроса в строке Условия отбора ввести условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию]
· Закрыть окно Запрос на выборку, на вопрос о сохранении изменения ответить – Да. Вернуться в окно базы данных, где созданный запрос будет выделен.
· Выполнить запрос, щелкнув по кнопке: Открыть. В появившемся на экране окне диалога «Введите значение параметра» надо ввести, например фамилию студента, информацию об успеваемости которого необходимо получить, выполнить щелчок по кнопке ОК.
Например, для нашего случая изменим запрос. В условие отбора запишем - [Введите адрес покупателя]. При выполнении запрос будет выглядеть так
Примеры условий запроса
В таблице ниже представлены примеры различных условий (параметров) отбора данных и описано их применение.
УСЛОВИЕ | ОПИСАНИЕ |
>25 and <50 | Это условие применимо к полю типа полю типа «Числовой», например, к полю «Цена» или «НаСкладе». При использовании этого условия в результаты запроса включаются только те записи, в которых поле «Цена» или «НаСкладе» содержитзначение больше 25 и меньше 50. |
DateDiff ("yyyy", [ДеньРождения], Date()) > 30 | Это условие применимо к полям типа «Дата/Время», например, к полю «ДатаРождения». В результаты запроса включаются только те записи, в которых количество лет, прошедшее с даты рождения сотрудника до текущей даты, превышает 30. |
Is Null | Это условие можно применить к полю любого типа, чтобы отобразить записи с нулевым значением поля. |
Для разных типов данных применяются различные встроенные операторы поиска значений. Ниже приведены таблицы с описанием различных условий и их интерпретация, используйте 2-3 оператора в запросе (или комбинацию операторов в одном поле) для написания параметрических запросов в вашей базе данных.
Тип данных Текстовый или МЕМО
Тип данных Числовой, Финансовый
Тип данных Дата/Время
Условия для полей с типами данных "Текстовый", "Поле MEMO"
ЗАПИСИ | УСЛОВИЕ | РЕЗУЛЬТАТ ЗАПРОСА |
Точно соответствуют определенному значению, например "Китай" | "Китай" | Записи, в которых поле "Страна" содержит значение "Китай". |
Не соответствуют определенному значению, например "Мексика" | Not "Мексика" | Записи, в которых значением поля "Страна" не является "Мексика". |
Начинаются с заданной строки символов, например "С" | Like С* | Записи, в которых название страны начинается с буквы "С", например Словакия, США и т. д. ПРИМЕЧАНИЕ. Используемая в выражении звездочка (*) заменяет любую строку знаков. Список подстановочных знаков см. в статье Справочные сведения о подстановочных знаках в приложении Access. |
Не начинаются с заданной строки символов, например "С" | Not Like С* | Записи, в которых названия стран не начинаются с буквы "С". |
Содержат заданную строку, например "Корея" | Like "*Корея*" | Записи с названиями стран, которые содержат слово "Корея". |
Не содержат заданную строку, например "Корея" | Not Like "*Корея*" | Записи с названиями стран, которые не содержат строку "Корея". |
Заканчиваются заданной строкой, например "ина" | Like "*ина" | Записи, в которых названия стран заканчиваются на "ина", например "Украина" или "Аргентина". |
Не заканчиваются заданной строкой, например "ина" | Not Like "*ина" | Записи, в которых названия стран не заканчиваются на "ина", например "Украина" или "Аргентина". |
Содержат пустые значения (или значения отсутствует) | Is Null | Записи, в которых это поле не содержит значения. |
Не содержат пустых значений | Is Not Null | Записи, в которых данное поле содержит ненулевое значение. |
Содержат пустую строку | "" (прямые кавычки) | Записи, в которых поле имеет пустое (но не нулевое) значение. Например, записи о продажах для другого отдела могут содержать пустое значение в поле «Страна». |
Не содержат пустую строку | Not "" | Записи, в которых поле "Страна" имеет непустое значение. |
Содержит нулевые значения или пустые строки | "" Or Is Null | Записи, в которых значение в поле отсутствует или пусто. |
Ненулевые и непустые | Is Not Null And Not "" | Записи, в которых поле "Страна" имеет непустое и ненулевое значение. |
При сортировке в алфавитном порядке следуют за определенным значением, например "Мексика" | >= "Мексика" | Записи для всех стран, начиная с Мексики и вплоть до конца алфавита. |
Входят в определенный диапазон, например от А до Г | Like "[А-Д]*" | Записи, в которых название страны начинается с одной из букв от "А" до "Г". |
Совпадают с одним из двух значений, например "Словакия" или "США" | "Словакия" Or "США" | Записи для США и Словакии. |
Содержат одно из значений, указанных в списке | In("Франция", "Китай", "Германия", "Япония") | Записи для всех стран, упомянутых в списке. |
Содержат определенные знаки в заданном месте значения поля | Right([Страна], 1) = "а" | Все записи, в которых названия стран оканчиваются на букву "а". |
Соответствуют заданной длине | Len([Страна]) > 10 | Записи, в которых длина названия страны превышает 10 знаков. |
Соответствуют заданному шаблону | Like "Лив??" | Записи для стран, таких как Ливия и Ливан, названия которых включают пять знаков, первые три из которых — "Лив". ПРИМЕЧАНИЕ. Используемые в выражении знаки? и _ являются подстановочными и заменяют один знак. Знак _ нельзя использовать в одном выражении со знаком?или в одном выражении с подстановочным знаком *. Можно использовать подстановочный знак _ в выражении, которое содержит знак %. |
Условия для полей типа "Числовой", "Денежный" и "Счетчик"
ЗАПИСИ | УСЛОВИЕ | РЕЗУЛЬТАТ ЗАПРОСА |
Точно соответствуют определенному значению, например 100 | Записи, в которых цена единицы продукта составляет 100 рублей. | |
Не соответствуют значению, например 1000 | Not 1000 | Записи, в которых цена единицы продукта не равна 1000 рублей. |
Содержат значение, которое меньше заданного, например 100 | < 100 <= 100 | Записи, в которых указана цена единицы меньше 100 рублей (<100). Второе выражение (<=100) позволяет отобразить записи, в которых цена единицы меньше либо равна 100 рублям. |
Содержат значение, которое больше заданного, например 99,99 | >99,99 >=99,99 | Записи, в которых указана цена единицы больше 99,99 рубля (<99,99). Второе выражение позволяет отобразить записи, в которых цена единицы больше либо равна 99,99 рубля. |
Содержат одно из двух значений, например 20 или 25 | 20 or 25 | Записи, в которых цена единицы равна 20 или 25 рублям. |
Содержат значение, которое входит в определенный диапазон | >49.99 and <99.99 -или- Between 50 and 100 | Записи, в которых указана цена единицы в диапазоне между 49,99 и 99,99 рублей (сами эти значения не включаются в результаты). |
Содержат значение, которое не входит в определенный диапазон | <50 or >100 | Записи, в которых цена единицы не входит в диапазон от 50 до 100 рублей. |
Содержит одно из заданных значений | In(20, 25, 30) | Записи, в которых цена единицы равна 20, 25 или 30 рублям. |
Содержат значение, которое заканчивается на заданные цифры | Like "*4,99" | Записи, в которых цена единицы заканчивается на цифры 4,99, например 4,99, 14,99, 24,99 и т. д. ПРИМЕЧАНИЕ. Используемые в выражении знаки * и % являются подстановочными и заменяют любое количество знаков.. Знак %нельзя использовать в одном выражении со знаком * или в одном выражении с подстановочным знаком?. Можно использовать подстановочный знак % в выражении, которое содержит знак _. |
Содержат пустые (или отсутствующие) значения | Is Null | Записи, в которых поле "Цена" не заполнено. |
Содержат непустые значения | Is Not Null | Записи, в которых поле "Цена" заполнено. |
Условия для полей с типом данных "Дата/время"
ЗАПИСИ | УСЛОВИЕ | РЕЗУЛЬТАТ ЗАПРОСА |
Точно соответствуют определенному значению, например 02.02.2006 | #2.2.2006# | Записи об операциях, совершенных 2 февраля 2006 г. Значения даты должны быть окружены знаками #, чтобы у Access была возможность отличать значения даты от текстовых строк. |
Не соответствуют определенному значению, например 02.02.2006 | Not #02.02.2006# | Записи об операциях, совершенных в любой день, кроме 2 февраля 2006 г. |
Содержат значения, которые предшествуют определенной дате, например 02.02.2006 | < #02.02.2006# | Записи об операциях, совершенных до 2 февраля 2006 г. Чтобы просмотреть операции, совершенные не позднее этой даты, воспользуйтесь оператором <=вместо <. |
Содержат значения, которые следуют за определенной датой, например 02.02.2006 | > #02.02.2006# | Записи об операциях, совершенных после 2 февраля 2006 г. Чтобы просмотреть операции начиная с этой даты, воспользуйтесь оператором >=вместо >. |
Содержат значения, которые входят в определенный диапазон дат | >#02.02.2006# and <#04.02.2006# | Записи об операциях, совершенных между 2 и 4 февраля 2006 г. Для фильтрации по диапазону значений, включая конечные значения, можно также использовать оператор Between. Например, выражение Between #02.02.2006# and #04.02.2006# идентично выражению >=#02.02.2006# and <=#04.02.2006#. |
Содержат значения, которые не входят в определенный диапазон | >#02.02.2006# and <#04.02.2006# | Записи об операциях, совершенных либо до 2 февраля, либо после 4 февраля 2006 г. |
Содержат одно из двух заданных значений, например 02.02.2006 или 03.02.2006 | #02.02.2006# or #03.02.2006# | Записи об операциях, совершенных либо 2 февраля, либо 3 февраля 2006 г. |
Содержит одно из заданных значений | In (#01.02.2006#, #01.03.2006#, #01.04.2006#) | Записи об операциях, совершенных 1 февраля, 1 марта или 1 апреля 2006 г. |
Содержат любой день заданного месяца (вне зависимости от года), например "декабрь" | DatePart("М", [ДатаПродажи]) = 12 | Записи об операциях, совершенных в декабре любого года. |
Содержат любую дату в пределах заданного (например, первого) квартала вне зависимости от года | DatePart("q", [ДатаПродажи]) = 1 | Записи об операциях, совершенных в первом квартале любого года. |
Содержат текущую дату | Date() | Записи об операциях, совершенных на текущую дату. Если текущая дата — 02.02.2006, отображаются записи, в которых значению поля «ДатаЗаказа» соответствует 2 февраля 2006 г. |
Содержат вчерашнюю дату | Date()-1 | Записи об операциях, совершенных за один день до текущей даты. Если текущая дата — 02.02.2006, отображаются записи с датой 1 февраля 2006 г. |
Содержат завтрашнюю дату | Date() + 1 | Записи об операциях, совершенных на следующий день после текущей даты. Если текущая дата — 02.02.2006, отображаются записи с датой 3 февраля 2006 г. |
Содержат даты, которые приходятся на текущую неделю | DatePart("ww", [ДатаПродажи]) = DatePart("ww", Date()) and Year([ДатаПродажи]) = Year(Date()) | Записи об операциях, совершенных на текущей неделе. Неделя начинается в понедельник и заканчивается в воскресенье. |
Содержат даты, которые приходятся на прошедшую неделю | Year([ДатаПродажи])* 53 + DatePart("ww", [ДатаПродажи]) = Year(Date())* 53 + DatePart("ww", Date()) - 1 | Записи об операциях, совершенных на прошедшей неделе. Неделя начинается в понедельник и заканчивается в воскресенье. |
Содержат даты, которые приходятся на следующую неделю | Year([ДатаПродажи])* 53+DatePart("ww", [ДатаПродажи]) = Year(Date())* 53+DatePart("ww", Date()) + 1 | Записи об операциях, которые будут совершены на следующей неделе. Неделя начинается в понедельник и заканчивается в воскресенье. |
Содержат дату, которая приходится на один из последних 7 дней | Between Date() and Date()-6 | Записи об операциях, совершенных в течение последних 7 дней. Если текущая дата — 02.02.2006, отображаются записи за период с 24 января 2006 по 2 февраля 2006 г. |
Содержат дату, которая приходится на текущий месяц | Year([ДатаПродажи]) = Year(Now()) And Month([ДатаПродажи]) = Month(Now()) | Записи за текущий месяц. Если текущая дата — 02.02.2006, отображаются записи за февраль 2006 г. |
Содержат дату, которая приходится на прошедший месяц | Year([ДатаПродажи])* 12 + DatePart("m", [ДатаПродажи]) = Year(Date())* 12 + DatePart("m", Date()) - 1 | Записи за прошлый календарный месяц. Если текущая дата — 02.02.2006, отображаются записи за январь 2006 г. |
Содержат дату, которая приходится на следующий месяц | Year([ДатаПродажи])* 12 + DatePart("m", [ДатаПродажи]) = Year(Date())* 12 + DatePart("m", Date()) + 1 | Записи за следующий календарный месяц. Если текущая дата — 02.02.2006, отображаются записи за март 2006 г. |
Содержат дату, которая приходится на последние 30 (или 31) день | Between Date() And DateAdd("M", -1, Date()) | Записи о продажах за последний месяц. Если текущая дата — 02.02.2006, отображаются записи за период со 2 января по 2 февраля 2006 г. |
Содержат дату, которая приходится на текущий квартал | Year([ДатаПродажи]) = Year(Now()) And DatePart("q", Date()) = DatePart("q", Now()) | Записи за текущий квартал. Если текущая дата — 02.02.2006, отображаются записи за первый квартал 2006 г. |
Содержат дату, которая приходится на предыдущий квартал | Year([ДатаПродажи])*4+DatePart("q",[ДатаПродажи]) = Year(Date())*4+DatePart("q",Date())- 1 | Записи за предыдущий квартал. Если текущая дата — 02.02.2006, отображаются записи за последний квартал 2005 г. |
Содержат дату, которая приходится на следующий квартал | Year([ДатаПродажи])*4+DatePart("q",[ДатаПродажи]) = Year(Date())*4+DatePart("q",Date())+1 | Записи за следующий квартал. Если текущая дата — 02.02.2006, отображаются записи за второй квартал 2006 г. |
Содержат дату, которая приходится на текущий год | Year([ДатаПродажи]) = Year(Date()) | Записи за текущий год. Если текущая дата — 02.02.2006, отображаются записи за 2006 год. |
Содержат дату, которая приходится на предыдущий год | Year([ДатаПродажи]) = Year(Date()) - 1 | Записи об операциях за прошедший год. Если текущая дата — 02.02.2006, отображаются записи за 2005 год. |
Содержат дату, которая приходится на следующий год | Year([ДатаПродажи]) = Year(Date()) + 1 | Записи об операциях за следующий год. Если текущая дата — 02.02.2006, отображаются записи за 2007 год. |
Содержат дату, которая приходится на период с 1 января до текущей даты (записи с начала года до настоящего момента) | Year([ДатаПродажи]) = Year(Date()) and Month([ДатаПродажи]) <= Month(Date()) and Day([ДатаПродажи]) <= Day (Date()) | Записи об операциях, совершенных с 1 января текущего года по текущую дату. Если текущая дата — 02.02.2006, отображаются записи за период с 1 января по 2 февраля 2006 г. |
Содержат прошедшую дату | < Date() | Записи об операциях, совершенных до наступления текущей даты. |
Содержат будущую дату | > Date() | Записи об операциях, совершенных после текущей даты. |
Фильтр пустых (или отсутствующих) значений | Is Null | Записи, в которых дата операции отсутствует. |
Фильтр непустых значений | Is Not Null | Записи, в которых дата операции указана. |
Вернуться к началу страницы
Вернуться к шагу 1. Создание запроса с помощью Мастера
Вернуться к шагу 2. Создание запроса с помощью Конструктора
Вернуться к шагу 3. Параметрические запросы
Вернуться к шагу 4. Примеры условий для запроса
Выполнение задания
1. Проделать пошагово приведенные выше примеры.
2. Выполнить задания 1,2. Создать 3 различных параметрических запроса, обязательно один из запросов должен включать в себя меню приглашения на ввод данных пользователем. Используйте различные операторы при создании запросов для своей БД, разработанной в лабораторной работе № 2.
3. Оформить отчет – титульный лист, цель работы, выполнение (экранные формы и вербальное описание запросов), выводы.