Конструктор запросов access: Знакомство с запросами — Служба поддержки Майкрософт
5.6. Запросы к базе данных
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.
Основные отличия запросов и фильтров заключаются в следующем.
Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:
Создание простого запроса с помощью Мастера запросов. Наиболее просто создается запрос при помощи Мастера запросов. Чтобы создать простой запрос с помощью Мастера запросов, необходимо:
Рис. 5.26. Окно создания нового запроса.
3.В появившемся окне Создание простых запросов (Simple Query Wizard) (рис.5.27) в поле со списком Таблицы и запросы (Tables/Queries) выбрать таблицу или запрос, которые будут служить источником данных для создаваемого запроса.
4.С помощью стрелок вправо и влево переместить из списка Доступные поля (Available Fields) в список Выбранные поля (Selected Fields) те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке Выбранные поля (Selected Fields). Если нужно включить в запрос все поля, можно воспользоваться кнопкой с двумя стрелками вправо.
Рис. 5.27. Первое диалоговое окно «Мастера простых запросов».
По окончании работы Мастера простых запросов в зависимости от выбора способа дальнейшей работы с запросом откроется или окно запроса в режиме просмотра (рис.5.29), или окно Конструктора запросов, в котором можно модифицировать запрос.
Рис. 5.28. Окно «Мастера простых запросов» на втором шаге.
Этот запрос строится на основе таблицы «Сотрудники» (Employees). На первом шаге Мастера простых запросов была выбрана исходная таблица «Сотрудники» (Employees) в поле со списком Таблицы и запросы (Tables/Queries) и в список Выбранные поля (Selected Fields) были перенесены следующие поля: «Имя» (First Name), «Фамилия» (Last Name), «Адрес» (Address), «Домашний телефон» (Home Phone). На втором шаге Мастера простых запросов в поле названия запроса было введено имя «Сотрудники Запрос» и выбран способ дальнейшего отображения запроса: просмотр информации. Результатом работы Мастера запросов стал запрос «Сотрудники Запрос», изображенный на рис.
Создание и изменение запроса с помощью Конструктора запросов. Для изменения уже существующих запросов и для создания новых запросов используется Конструктор запросов. Для того чтобы открыть запрос в режиме Конструктора, выделите в списке один из существующих запросов, например только что созданный запрос «Сотрудники Запрос», и нажмите кнопку Конструктор (Design) на панели инструментов окна База данных (Database).
Появляется окно Конструктора запросов (рис.5.29). В верхней части окна отображается таблица (или несколько таблиц, если запрос многотабличный) в том виде, в каком таблицы отображаются в окне Схема данных (Relationship). Таблицы — источники данных для запроса, мы будем называть базовыми таблицами запроса. В нижней части окна находится бланк запроса — таблица, ячейки которой используются для определения запроса. В бланке отображаются все столбцы, включенные в результирующее множество запроса.
Рис. 5.29. Окно запроса в режиме просмотра.
Запросы с параметрами. Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, которые мы демонстрировали до сих пор, содержали конкретные значения дат, названий, имен и т.д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра (Enter Parameter Value), в котором пользователь может ввести конкретное значение и затем получить нужный результат.
Покажем, как создавать запросы с параметрами на примере запроса «Отсортированный список товаров», который мы создавали ранее. Теперь мы с помощью этого запроса попробуем отобрать товары, поставляемые определенным поставщиком. Для этого:
Рис. 5.30. Диалоговое окно «Параметры запроса».
Рис. 5.31. Диалоговое окно «Введите значение параметра».
В одном запросе можно ввести несколько параметров.
Рис. 5.32. Результат выполнения запроса с параметром.
При использовании запроса с параметрами делайте понятными их имена, т.к. именно они будут выводиться в диалоговом окне для пользователя.
Выполнение запроса. Чтобы посмотреть результаты запроса, достаточно открыть его в режиме Таблицы. Для этого необходимо:
После этого на экране появляется таблица, которая содержит только те записи, которые удовлетворяют критериям отбора, указанным в запросе, и те поля, которые указаны в бланке запроса.
Внешне отображение результатов запроса не отличается от отображения таблицы. Все режимы работы с таблицей, применимы и к результирующей таблице запроса. С ней можно работать так же, как и с обычной таблицей, в частности не только просматривать, но и изменять данные. Изменения сохраняются в записях базовой таблицы, на основе которой построен запрос. Если запрос создан на основе двух и более связанных таблиц, то не всегда столбцы в запросе можно редактировать. (Подробнее об этом см. следующий раздел.).
Для выполнения запроса из режима Конструктора достаточно просто переключиться в Режим таблицы (Datasheet View) с помощью кнопки Вид (View) на панели инструментов, как мы это уже не раз делали, или с помощью команды Режим таблицы (Datasheet View) из меню Вид (View).
В Access 2003 запрос можно открыть не только в режиме Таблицы. Вы можете выполнить обработку результатов запроса и получить на их основе сводную таблицу или диаграмму, аналогичные тем, которые можно создать на базе таблицы Excel.
|
2. Конструктор запросов в ms Access
Высокоуровневым
средством формирования запросов в СУБД
MS
Access
является Конструктор
запросов, который можно рассматривать
как своеобразную оболочку к языку
запросов SQL.
Для формирования запроса в конструкторе
используется табличная форма.
Рассмотрим, как реализуются ЗАПРОС 1 с
помощью конструктора.
Для перехода к работе с конструктором
запросов надо: →
открыть
объект «Запросы»;
→ выполнить команду
→ Создать;
→ в
открывшемся окне «Новый
запрос»
выбрать «Конструктор», щелкнуть по
кнопке ОК;
→ в
окне «Добавление
таблицы»
на закладке «Таблицы» выбрать название
таблицы «ФАКУЛЬТЕТЫ»;
выполнить команду →
Добавить
→
Закрыть.
Рис. 15. Конструктор
запросов (запрос на выборку из одной
таблицы).
В
первой строке таблицы, расположенной
в нижней части рис. 15, указываются имена
полей,
участвующих и формировании запроса.
Вторая строка содержит имена
таблиц,
из которых извлекаются нужные поля. В
третьей строке находятся признаки
сортировки. Флажки
в четвертой строке — признаки
вывода
значений полей на экран при выполнении
запроса. В следующих строках формируется
условие
отбора.
После выполнения этого запроса на экране
появится таблица 1.3.
Таблица
7. Список экзаменов: запрос на выборку.
ФАКУЛЬТЕТ |
ЭКЗАМЕН_1 |
ЭКЗАМЕН_2 |
ЭКЗАМЕН_3 |
Исторический |
История |
Иностранный |
Сочинение |
Экономический |
Математика |
География |
Русский язык |
Юридический |
Русский язык |
Иностранный |
Обществознание |
Запрос
нужно сохранить.
Для
этого в диалоговом окне, запрашивающем
имя запроса, следует ввести его название
«Список
экзаменов»
и подтвердить сохранение.
Теперь
сформируем в конструкторе ЗАПРОС 2
для
получения
плана
приема по всем факультетам на нее
специальности. Запрос будет выглядеть
так, как показано
на
рис. 16.
Рис 16. Запрос 2 на
выборку
Таблица 8. Список
Экзаменов: запрос на выборку
Факультеты |
Специальность |
План приема на |
Исторический |
История |
50 |
Исторический |
Политология |
25 |
Экономический |
Бухгалтерский |
40 |
Экономический |
Финансы |
25 |
Юридический |
Социальная |
25 |
Юридический |
Юриспруденция |
60 |
Результат
выполнения этого запроса представлен
в таблице 8
Задание 1
Выполнить
все действия по работе с базой данных
«Приемная
комиссия»:
реализовать запросы на выборку.
Задание 2
Выполнить аналогичные
действия с самостоятельно созданной
базой данных. Для этого:
→ придумать общие
формулировки не менее трех запросов
(пока без сложных условий отбора;
→ записать
в тетради команды запросов на
гипотетическом языке; в запросах
использовать сортировку;
→ реализовать
запросы с помощью конструктора запросов
MS
Access.
Используйте построитель выражений — служба поддержки Майкрософт
Иногда написание выражения может быть сложной задачей. Но Expression Builder делает это намного проще. Выражения имеют много компонентов или «подвижных частей»: функции, операторы, константы, идентификаторы и значения. Используйте построитель выражений, чтобы быстро найти эти компоненты и точно вставить их. Существует два способа использования построителя выражений: используйте поле построителя выражений, которое может быть всем, что вам нужно, или используйте расширенный построитель выражений, если ваше выражение более сложное.
В этой статье
-
Во-первых, как мне его найти?
-
Посмотреть в действии
-
Использование окна построителя выражений
-
Использование расширенного построителя выражений
-
Пошаговый пример
Прежде всего, как мне его найти?
Несмотря на то, что построитель выражений доступен во многих местах в Access, наиболее последовательный способ отобразить его — установить фокус на поле свойства, которое принимает выражение, например Источник управления или Значение по умолчанию , а затем щелкните Построитель выражений или нажмите CTRL+F2.
В макросе щелкните .
Совет Если вы видите слово , выражение в меню, вы можете щелкнуть его, чтобы запустить построитель выражений.
Посмотреть в действии
В следующем видеоролике показано, как использовать построитель выражений для создания общего выражения для вычисляемого поля.
Использование блока Expression Builder
Конструктор выражений помогает быстрее и точнее создавать выражения с помощью интеллектуальных инструментов и контекстно-зависимой информации. Если вы видите расширенный построитель выражений, щелкните Меньше >> , чтобы просто отобразить окно построителя выражений.
IntelliSense и быстрые советы
1 IntelliSense (Access 2010 или более поздней версии) динамически отображает возможные функции и другие идентификаторы по мере ввода выражения.
Как только вы начнете вводить идентификатор или имя функции, IntelliSense отобразит раскрывающийся список возможных значений. Вы можете продолжить ввод или дважды щелкнуть правильное значение в списке, чтобы добавить его в выражение. Кроме того, вы можете использовать клавиши со стрелками вверх и вниз, чтобы выбрать нужное значение, а затем нажать клавишу TAB или ВВОД, чтобы добавить его в свое выражение. Например, если вы начнете вводить слово «Формат», в списке IntelliSense отобразятся все функции, названия которых начинаются с «Формат».
Совет Чтобы скрыть раскрывающийся список IntelliSense, нажмите клавишу ESC. Чтобы показать его снова, нажмите CTRL+ПРОБЕЛ.
2 Быстрые подсказки отображают краткое описание выбранного элемента.
При отображении списка IntelliSense справа от выбранного элемента появляется краткое описание или краткий совет. По умолчанию выбран первый элемент в списке, но вы можете выбрать любой элемент в списке, чтобы просмотреть его краткую подсказку. Быстрый совет может помочь вам определить назначение функции или тип элемента управления или свойства элемента.
Краткая информация и справка
1 Используйте краткую информацию, чтобы отобразить синтаксис функции, и щелкните имя функции, чтобы открыть раздел справки, посвященный этой функции.
Пока вы вводите функцию в выражение, функция «Краткая информация» отображает синтаксис функции, чтобы вы точно знали, какие аргументы требуются для функции.
2 Необязательные аргументы заключены в квадратные скобки ([]). Аргумент, который вы сейчас вводите, отображается жирным шрифтом. Не путайте квадратные скобки, обозначающие необязательные аргументы, с квадратными скобками, заключающими идентификаторы в фактическом выражении.
Верх страницы
Использование расширенного построителя выражений
Расширенный построитель выражений помогает искать и вставлять функции, операторы, константы и идентификаторы (например, имена полей, таблицы, формы и запросы), экономя время и уменьшая количество ошибок. Если вы видите только окно построителя выражений, нажмите Подробнее >> , чтобы увидеть расширенный построитель выражений, .
1 Используйте инструкции и ссылку «Справка», чтобы получить информацию о контексте, в котором вы вводите выражение.
2 В поле «Построитель выражений» введите свое выражение здесь или автоматически добавьте элементы выражения, дважды щелкнув элементы в списках ниже. Эти списки работают вместе как иерархия, чтобы помочь вам перейти к нужному компоненту выражения.
3 В списке Expression Elements щелкните тип элемента, чтобы просмотреть его категории в списке Expression Categories .
В списке Элементы выражения отображаются элементы верхнего уровня, доступные для построения выражения, такие как объекты базы данных, функции, константы, операторы и общие выражения. Содержимое этого списка зависит от контекста, в котором вы находитесь. Например, если вы вводите выражение в свойстве формы Control Source , список содержит элементы, отличные от тех, которые вы вводите в поле . Правило проверки свойство таблицы.
Совет Чтобы использовать предварительно созданные выражения, включая отображение номеров страниц, текущей даты, а также текущей даты и времени, выберите Common Expressions .
4 В списке Категории выражений щелкните категорию, чтобы просмотреть ее значения в списке Значения выражений . Если в Expression Values нет значений , дважды щелкните элемент категории, чтобы добавить его в окно построителя выражений.
Список Expression Categories содержит определенные элементы или категории элементов для выбора, который вы делаете в списке Expression Elements . Например, если щелкнуть Встроенные функции в списке Элементы выражений , список Категории выражений отобразит категории функций.
5 В списке Expression Values дважды щелкните значение, чтобы добавить его в поле Expression Builder.
В списке Значения выражений отображаются значения, если таковые имеются, для ранее выбранных элементов и категорий. Например, если вы щелкнули Встроенные функции в списке Элементы выражения , а затем щелкнули категорию функции в списке Категории выражений , Значения выражений 9Список 0032 отображает все встроенные функции для выбранной категории.
6 Чтобы просмотреть справку и информацию о выбранном значении выражения, если она доступна, щелкните ссылку.
Верх страницы
Пошаговый пример
В следующем примере показано, как использовать элементы выражения, категории и значения в расширенном построителе выражений для создания выражения.
-
Выберите элементы в списке Элементы выражения , например Функции , а затем Встроенные функции .
-
Выберите категорию в списке Категории выражений , например Program Flow .
-
Дважды щелкните элемент в списке Значения выражений 9Список 0032, например IIf , который добавляется в окно построителя выражений:
IIf (<<выражение>>, <<истинная часть>>, <<ложная часть>>)
Текст-заполнитель заключен в угловые скобки (<< >>).
org/ListItem»>
-
Чтобы просмотреть раздел справки, содержащий дополнительные сведения о допустимых аргументах для функции, выберите функцию в списке Значения выражений , а затем щелкните ссылку в нижней части построителя выражений.
-
Если выражение содержит другие элементы, они могут быть разделены следующим заполнителем:
<<Выражение>>
Замените этот заполнитель, чтобы сделать общее выражение действительным.
Замените любой текст-заполнитель допустимыми значениями аргументов. Вы можете ввести значения вручную или продолжить выбор элемента из трех списков.
Верх страницы
Работа с конструктором запросов Microsoft Access
Одним из основных преимуществ Microsoft Access по сравнению с Excel является
мощность запросов доступа и отчетности. Понимание доступа
запросы, однако, не всегда легко. Эта статья дает вам
введение в конструктор запросов Access и советы по созданию
расширенные запросы доступа, чтобы сэкономить часы вашего времени.
Добавить эту страницу в закладки
Что такое запрос в MS Access?
Проще говоря, запрос — это способ объединения информации, хранящейся в отдельных
таблицы, чтобы избежать дублирования в самих таблицах. Для
например, у вас есть таблица для клиентов и таблица для контактов.
Но нужно отправить рассылку каждому контакту с помощью клиентского
адрес. Вы можете использовать запрос, чтобы показать каждый контакт, клиент
имя и почтовый адрес заказчика. Данные из отдельных
(но связанные) таблицы, без необходимости дублировать что-либо в
таблица контактов.
Запросы доступа очень эффективны, позволяя вам
просматривать, вставлять, удалять и вычислять записи и поля из многочисленных
таблицы в вашей базе данных.
Создание базового запроса
Мы начнем с создания простого запроса Access, объединяющего три таблицы.
Скажем, ваша база данных содержит таблицу для клиентов, типов клиентов и
Заказы. Начните с выбора вкладки ленты «Создать».
Выберите «Дизайн запроса»
Вам будет предложено выбрать таблицы и/или запросы для включения
в вашем запросе. Выберите каждую таблицу и нажмите «Добавить» или
дважды щелкните их. Не забудьте нажать «Закрыть», когда вы
добавлены ваши таблицы/запросы. Если ваши отношения с базой данных
были определены правильно, Access автоматически нарисует взаимосвязь
линии между вашими столами.
Если вы не видите линии связи между вашими таблицами
когда вы их добавите, вы захотите нарисовать их вручную. Для этого вы
нужно выбрать одно поле и перетащить его в соответствующее поле в
другой стол. Без этого шага Access не поймет
как связать записи между таблицами. Немного
Ключевые моменты, которые следует помнить при построении линий связи:
- Два связанных поля должны иметь одинаковый тип данных (например,
текст или цифра) - Обычно поле будет первичным ключом таблицы, а
другой будет соответствующим внешним ключом. - Если вы используете запрос в своем запросе, вам всегда потребуется
для определения отношений к любой другой таблице/запросу вручную.
Теперь вы можете начать перетаскивать поля из каждой таблицы/запроса в
раздел поля окна разработки запроса.
Как показано выше, мы добавили название компании, тип клиента, дату заказа,
Дата отгрузки и номер заказа из трех отдельных таблиц в одно представление.
Затем щелкните значок «Выполнить» на ленте (красный восклицательный знак).
отметка) и мы видим Query View:
Представление выше очень похоже на стандартную таблицу Access, хотя на самом деле
это объединение нескольких таблиц. В этом представлении вы можете
экспортируйте свои данные в Microsoft Excel, PDF или другие форматы.
Сортировка и фильтрация данных
Когда у вас будет базовый запрос, вы захотите иметь возможность фильтровать
ваши записи, чтобы, возможно, отображать только определенные записи, которые соответствуют вашим
критериям или сортировать по одному или нескольким полям.
На экране выше мы отсортировали записи по CompanyName (по возрастанию
означает A-Z) и по OrderDate (по убыванию означает самые новые даты).
Обратите внимание, что поле CompanyName указано первым слева, поэтому
список будет отсортирован по названию компании, тогда, если есть несколько записей
для компании самый новый заказ будет показан первым. В критериях
раздел, мы фильтруем, чтобы показать любую запись, где название компании
содержит «Исследование». заявление «Мне нравится»
очень мощная функция, позволяющая находить записи, начинающиеся со слова (например, «Привет*»),
заканчиваться словом (например, «*Hello») или содержать слово (например, «*Hello*»).
Все зависит от того, где вы поместите звездочку. Обратите внимание, что название компании
является текстовым полем, поэтому критерии должны быть заключены в кавычки.
Далее мы собираемся исключить все записи, где CustomerType имеет значение «Residential».
с помощью знака «Не равно» (<>). Мы также хотим только записи
если Дата заказа меньше 01. 01.2008. Обратите внимание, что фунт
знак (#) используется для хранения дат в Access.
Наконец, обратите внимание, что
вторая строка раздела «Критерии» начинается с «или:»
и мы ввели критерий. Вы можете использовать вторую строку, чтобы содержать
отдельные наборы критериев. В этом случае мы хотим, чтобы любая компания
с «Исследования» в имени, которое не является клиентом-резидентом
тип и заказы до 01.01.2008 ИЛИ
любая запись, в которой дата отгрузки пуста (это то, что «Is Null»
означает).
Если в вашем запросе есть поля, которые вы хотите отфильтровать или отсортировать
by, но вы не хотите видеть их в реальном представлении результатов, просто
снимите флажок «Показать» для этого поля. Доступ будет
по-прежнему использовать его в качестве критерия для сортировки/фильтрации, но скрыть его в запросе
Вид.
Редактирование данных в запросе
В зависимости от того, насколько сложен ваш запрос Access, вы можете
редактировать данные. Но не пугайтесь, если вы получите сообщение «Запись
Заблокировано» или «Невозможно добавить запись». При объединении нескольких
таблицам, Access может потребоваться дополнительное руководство по обработке правок или
новая запись. И помните, что в реляционной базе данных редактирование
одна строка в запросе может фактически изменить значение для всех записей.
Возьмем, к примеру, наше поле «CustomerType». изменение
значение в одной строке фактически изменит текстовое значение во всех записях
так как мы модифицируем поле в таблице tblCustomerType, а не
поле базового идентификатора в таблице Customer:
Зачем нужны записи
Отсутствует в моем запросе на доступ!
Вы можете быть встревожены, обнаружив, что создали запрос, возвращающий
нет рекордов, или намного меньше, чем вы ожидаете! Либо ваши критерии
слишком строг, вы неправильно объединили таблицы или вам нужно определить
отношения между полями точнее. Принимая наши
пример запроса, напомним, что мы соединили поля CustomerTypeID и fk_CustomerTypeID
в таблицах «Тип клиента» и «Клиент» соответственно.