Как сделать запрос на выборку в access
Как сделать запрос на выборку в access
Выполнение запроса
Запрос — это набор инструкций, которые можно использовать для работы с данными. Для выполнения этих инструкций нужно выполнить запрос. Помимо возврата результатов (которые можно сортировать, группировать или фильтровать), запрос также может создавать, копировать, удалять и изменять данные.
В этой статье объясняется, как запускать запросы, и представлен только краткий обзор различных типов запросов. В этой статье также рассмотрены сообщения об ошибках, которые могут возникнуть при запуске запросов различных типов, а также действия, которые можно предпринять для устранения этих ошибок.
В этой статье нет пошагових инструкций по созданию запросов.
Важно: Если база данных работает в отключенном режиме — режиме с уменьшенной функциональностью, который Access использует для защиты данных в определенных обстоятельствах, выполнить запросы на выполнение действий невозможно. Может появиться предупреждение в диалоговом окне или на панели сообщений.
Дополнительные сведения о отключенном режиме и том, как включить запросы на выполнение, см. в разделе «Выполнение запроса на выполнение действия».
В этой статье
Запуск запроса на выборку или перекрестного запроса
С помощью запросов на выборку и перекрестных запросов можно извлекать и представлять данные, а также поставлять формы и отчеты с данными. При запуске запроса на выборку или перекрестный запрос Access результаты отображаются в Режим таблицы.
Запуск запроса
Найдите запрос в области навигации.
Выполните одно из следующих действий:
Дважды щелкните запрос, который нужно выполнить.
Щелкните запрос, который вы хотите выполнить, и нажмите ввод.
Если запрос, который вы хотите выполнить, открыт в Конструктор, вы также можете запустить его, нажав кнопку «Выполнить» в группе «Результаты» на вкладке «Конструктор» в части Пользовательский интерфейс Microsoft Office Fluent.
Запуск запроса на действие
Существует четыре типа запросов на выполнение действий: запросы на удаление, запросы на обновление и запросы на таблицу. За исключением запросов на создание таблиц (которые создают новые таблицы), запросы на изменение данных в таблицах, на которых они основаны. Эти изменения нельзя отменить, например, нажав CTRL+Z. При внесении изменений с помощью запроса на изменение, который впоследствии вам больше не нужен, обычно необходимо восстановить данные из резервной копии. Поэтому перед выполнением запроса на действие следует всегда убедиться в том, что у вас есть свежий резервная копия данных.
Вы можете снизить риск выполнения запроса на действие, предварительно просмотрев данные, которые будут действовать. Это можно сделать двумя способами.
Просматривайте запрос на действие в представлении таблицы перед его запуском. Для этого откройте запрос в конструкторе, щелкните » Строка состояния Access», а затем выберите в shortcut-меню пункт «Таблица». Чтобы вернуться в конструктор, еще раз щелкните «Вид», а затем в shortcut-меню выберите пункт «Конструктор».
Измените запрос на выборку и запустите его.
Примечание: Обратите внимание на тип запроса на изменение (запрос на обновление, обновление, таблицу или удаление), с помощью чего вы сможете вернуться к этому типу после предварительного просмотра данных с помощью этого метода.
Запуск запроса на выборку в качестве запроса на выборку
Откройте запрос на действие в конструкторе.
На вкладке «Конструктор» в группе «Тип запроса» нажмите кнопку «Выбрать».
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Запуск запроса
Когда вы будете готовы выполнить запрос на действие, дважды щелкните его в области навигации или щелкните его и нажмите ввод.
Важно: По умолчанию Access отключает все запросы на выполнение действий в базе данных, если не указано, что базе данных доверяете. Это можно сделать с помощью панели сообщений под лентой.
Доверие базе данных
На панели сообщений нажмите Параметры.
Откроется диалоговое окно Параметры безопасности Microsoft Office.
Выберите Включить это содержимое, а затем кнопку ОК.
Запуск запроса с параметрами
При запрос с параметрами запроса в качестве значения при его запуске. При добавлении значения запрос с параметрами применяет его в качестве критерия поля. Поле, к которому оно применяет критерий, заданное в конструкторе запросов. Если при запросе значение не задано, запрос с параметрами интерпретирует входные данные как пустую строку.
Запрос с параметрами всегда является другим типом запроса. Большинство запросов с параметрами — это запросы на выборку или перекрестные запросы, но запросы на приложения, таблицы и обновления также могут быть запросами с параметрами.
Запрос с параметрами нужно выполнить в соответствии с его другим типом, но в целом использовать следующую процедуру:
Запуск запроса
Найдите запрос в области навигации.
Выполните одно из следующих действий:
Дважды щелкните запрос, который нужно выполнить.
Выберите запрос, который вы хотите выполнить, и нажмите ввод.
Когда появится запрос параметра, введите значение, которое будет применяться в качестве критерия.
Запуск специального SQL для конкретного запроса
Существуют три основных типа запросов SQL-запрос: запросы на объединение, запросы к проходимой части и запросы определения данных.
Запросы на объединение объединяют данные из нескольких таблиц, но не так, как другие запросы. В то время как в большинстве запросов данные объединяются путем объединения строк, запросы на объединение объединяют данные путем их объединения. Запросы на объединение отличаются от запросов на объединение, так как они не изменяют таблицы. Запросы на объединение добавили строки в наборе записей, которые не сохраняются после закрытия запроса.
Запросы, которые передаются через базу данных, не обрабатываются обл. базами данных, который поставляется с Access; вместо этого они передаются непосредственно на сервер удаленной базы данных, который обрабатывает и передает результаты обратно в Access.
Запросы определения данных — это особый тип запросов, которые не обработать данные; вместо этого запросы определения данных создают, удаляют или изменяют другие объекты базы данных.
SQL запросы, специфичные для конкретного запроса, невозможно открыть в конструкторе. Их можно открывать только в SQL представлении или запускать. За исключением запросов определения данных, при SQL запроса открывается в представлении таблицы.
Запуск запроса
Найдите запрос в области навигации.
Выполните одно из следующих действий:
Дважды щелкните запрос, который нужно выполнить.
Щелкните запрос, который вы хотите выполнить, и нажмите ввод.
Устранение неполадок с сообщением об ошибке
В следующей таблице показаны распространенные сообщения об ошибках, с которыми вы можете столкнуться. Эти ошибки могут отображаться как сообщение в ячейке (вместо ожидаемого значения) или как сообщение об ошибке. В последующих разделах содержатся процедуры, которые можно использовать для устранения этих ошибок.
Примечание: Это содержимое этой таблицы не является исчерпывающим. Если оно не содержит полученное сообщение об ошибке, вы можете отправить отзыв с помощью формы в конце этой статьи, а также добавить сведения о сообщении об ошибке в поле комментария.
Сообщение об ошибке
Введите несоответствие в выражении.
Запрос может присоединяться к полям с разными типами данных.
Проверьте конструктор запросов и убедитесь, что тип данных в соединяемом поле одинаковый. Инструкции см. в разделе «Проверка полей, которые соединены» в запросе.
Это может произойти, если объект или база данных повреждены.
Сжатие и восстановление базы данных. Инструкции см. в разделе «Сжатие и восстановление базы данных».
Циклая ссылка, вызванная псевдонимом
Псевдоним, присвоенный полю, является компонентом выражения для этого поля.
Псевдоним — это имя, которое предоставляется любому выражению в строке «Поле» на сетке конструктора запросов, которое не является фактическим полем. Access назначает псевдоним за вас, если вы не сделаете этого самостоятельно; например, EXPR1. После псевдонима следует двоеточие (:),а затем — выражение. При запуске запроса псевдоним становится именем столбца в таблице.
Измените псевдоним. Инструкции см. в разделе «Изменение псевдонима поля».
Эта ошибка может возникать, если значение вычисляемого поля больше значения, разрешенного значением свойства FieldSize поля. Это также происходит, если знаменатель вычисляемого поля имеет нулевое значение (0).
Убедитесь, что знаменатель вычисляемой поля не дает нулевых значение (0). При необходимости измените свойство FieldSize.
Запись, на которая ссылается, удалена.
Если запись была случайно удалена, ее необходимо восстановить из резервной копии. Если удаление было преднамеренным, вы можете отклонять это сообщение об ошибке, нажав shift+F9, чтобы обновить запрос.
Проверка соединенных полей в запросе
Чтобы проверить типы данных полей в запросе, взгляните на исходные таблицы в Конструкторе и проверьте свойства полей, которые нужно проверить.
Откройте запрос в конструкторе. Соединения отображаются как линии, соединяющие поля в исходных таблицах. Обратите внимание на имена таблиц и полей для каждого из них.
В области навигации щелкните правой кнопкой мыши каждую таблицу, в запросе для которых есть одно или несколько полей, и выберите «Конструктор».
1. Соединенные поля с разными типами данных.
2. Щелкните таблицу правой кнопкой мыши и выберите «Конструктор».
Для каждого типа данных сравните значения в столбце «Тип данных» на сетке конструктора таблиц для полей, участвующих в этом соединитеке.
1. Проверьте тип данных для полей, которые соединены, в конструкторе таблицы.
Чтобы переключиться на таблицу, чтобы увидеть ее поля, щелкните вкладку с именем этой таблицы.
Сжатие и восстановление базы данных
Запуск сжатий и восстановления базы данных в Access может повысить производительность базы данных. Эта программа создает копию файла базы данных и, если он является фрагментированной, переумногует оголовье хранения файла базы данных на диске. После завершения процесса сжатия и восстановления сжатая база данных будет освободить место на диске и обычно меньше исходной. Часто сжатие базы данных помогает обеспечить оптимальную производительность приложения базы данных, а также устранять ошибки, которые возникают из-за проблем с оборудованием, перебоев в подаче электроэнергии или перебоев в подаче электроэнергии и схожих причин.
После завершения операции сжатия скорость запроса увеличивается, так как данные, на которые они были перезаписаны, перезаписываются в таблицы на нестрогих страницах. Сканировать несколько страниц гораздо быстрее, чем просматривать фрагментированное страницу. Запросы также оптимизированы после каждого сжатия базы данных.
В ходе сжатия можно использовать исходное имя для сжатого файла базы данных или создать отдельный файл с другим именем. Если вы используете то же имя и база данных успешно сжата, Access автоматически заменит исходный файл сжатой версией.
Настройка параметра для автоматизации этого процесса
На вкладке Файл выберите пункт Параметры, чтобы открыть диалоговое окно Параметры Access.
Щелкните «Текущая база данных» и в меню «Параметры приложений»нажмите кнопку «Сжать при закрытии».
Это приводит к автоматическому сжатию и восстановлению базы данных при каждом ее закрытии.
Сжатие и восстановление базы данных вручную
Нажмите кнопку «Работа с базами данных> сжатие и восстановление базы данных.
Изменение псевдонима поля
Откройте запрос в конструкторе.
В сетке конструктора запросов наименуйте поля с псевдонимами. В конце имени поля будет двоеточие, как в поле «Имя»:
Проверьте каждый псевдоним, чтобы убедиться, что он не совпадает с именем поля, которое является частью его выражения. В этом случае измените псевдоним.
Примеры условий запроса
Используя условия запроса, вы можете находить в базе данных Access определенные элементы. Если элемент соответствует всем введенным условиям, он отобразится в результатах запроса.
Чтобы добавить условие в запрос Access, откройте этот запрос в конструкторе. Затем определите поля (столбцы), на которые распространяется данное условие. Если нужное поле в бланке запроса отсутствует, добавьте его с помощью двойного щелчка. Затем в строке Условия введите для него условие. Дополнительные сведения см. в статье Общие сведения о запросах.
Условие запроса — это выражение, которое Access сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение. Например, = «Воронеж» — это выражение, которое Access сравнивает со значениями в текстовом поле запроса. Если значение этого поля в определенной записи равно «Воронеж», Access включает ее в результаты запроса.
Рассмотрим несколько примеров часто используемых условий, на основе которых вы можете создавать собственные условия. Примеры группируются по типам данных.
В этом разделе
Общие сведения об условиях запроса
Условие похоже на формулу — это строка, которая может включать ссылки на поля, операторы и константы. В Access условия запроса также называются выражениями.
В следующей таблице показаны примеры условий и описано, как они работают.
>25 and значение больше 25 и меньше 50.
DateDiff («гггг», [ДатаРождения], Date()) > 30
Это условие применяется к полю «Дата/время», такому как «ДатаРождения». В результаты запроса включаются только записи, в которых количество лет между датой рождения человека и текущей датой больше 30.
Это условие можно применять к полям любого типа для отображения записей, в которых значение поля равно NULL.
Как видите, условия могут значительно отличаться друг от друга в зависимости от типа данных в поле, к которому они применяются, и от ваших требований. Некоторые условия простые и включают только основные операторы и константы. Другие условия сложные: они содержат функции, специальные операторы и ссылки на поля.
В этой статье перечислено несколько часто используемых условий для различных типов данных. Если примеры не отвечают вашим потребностям, возможно, вам придется задать собственные условия. Для этого необходимо сначала ознакомиться с полным списком функций, операторов и специальных знаков, а также с синтаксисом выражений, которые ссылаются на поля и литералы.
Узнаем, где и как можно добавлять условия. Чтобы добавить условия в запрос, необходимо открыть его в Конструкторе. После этого следует определить поля, для которых вы хотите задать условия. Если поля еще нет на бланке запроса, добавьте его, перетащив его из окна конструктора запросов на сетку полей или дважды щелкнув поле (при этом поле автоматически добавляется в следующий пустой столбец в сетке). Наконец, введите условия в строку Условия.
Условия, заданные для разных полей в строке Условия, объединяются с помощью оператора AND. Другими словами, условия, заданные в полях «Город» и «ДатаРождения», интерпретируются следующим образом:
1. Поля «Город» и «ДатаРождения» включают условия.
2. Этому условию соответствуют только записи, в которых поле «Город» имеет значение «Воронеж».
3. Этому условию соответствуют только записи людей, которым не менее 40 лет.
4. В результат будут включены только те записи, которые соответствуют обоим условиям.
Что делать, если требуется, чтобы выполнялось только одно из этих условий? Другими словами, как можно ввести альтернативные условия?
Если у вас есть альтернативные условия, то есть два набора независимых условий, из которых должен выполняться только один, используйте строки Условие отбора и Или на бланке.
1. 1. Условие «Город» указывается в строке «Условие отбора».
2. 2. Условие «ДатаРождения» указывается в строке «или».
Условия, заданные в строках Условие отбора и или, объединяются с помощью оператора OR, как показано ниже.
Город = «Чикаго» OR ДатаРождения или.
Прежде чем приступить к изучению примеров, обратите внимание на следующее:
Если условие является временным или часто меняется, можно фильтровать результаты запроса, вместо того чтобы постоянно менять условия. Фильтр — это временное условие, которое изменяет результат запроса, не изменяя его структуру. Дополнительные сведения о фильтрах см. в статье Применение фильтра для просмотра отдельных записей в базе данных Access.
Если используются одни и те же поля условий, но часто меняются значения, которые вам интересны, вы можете создать запрос с параметрами. Такой запрос предлагает указать значения полей, а затем использует их для создания условий. Дополнительные сведения о запросах с параметрами см. в статье Использование параметров в запросах и отчетах.
Условия для текстовых полей, полей Memo и полей гиперссылок
Примечание: Начиная с версии Access 2013, текстовые поля носят название Краткий текст, а поля Memo — Длинный текст.
Следующие примеры относятся к полю «СтранаРегион», основанном на таблице, в которой хранится информация о контактах. Условие задается в строке Условие отбора поля на бланке.
Условие, заданное для поля «Гиперссылка», по умолчанию применяется к отображаемому тексту, который указан в поле. Чтобы задать условия для конечного URL-адреса, используйте выражение HyperlinkPart. У него следующий синтаксис: HyperlinkPart([Таблица1].[Поле1],1) = «http://www.microsoft.com/», где «Таблица1» — это имя таблицы, содержащей поле гиперссылки, «Поле1» — это само поле гиперссылки, а «http://www.microsoft.com» — это URL-адрес, который вы хотите найти.
Чтобы добавить записи, которые.
Используйте это условие
Точно соответствуют определенному значению, например «Китай»
Возвращает записи, в которых поле «СтранаРегион» содержит значение «Китай».
Не соответствуют определенному значению, например «Мексика»
Возвращает записи, в которых значением поля «СтранаРегион» не является «Мексика».
Начинаются с заданной строки символов, например «С»
Возвращает записи всех стран или регионов, названия которых начинаются с буквы «С», таких как Словакия и США.
Примечание: Символ «звездочка» ( *) в выражении обозначает любую строку символов. Он также называется подстановочным знаком. Список таких знаков см. в статье Справочные сведения о подстановочных знаках в приложении Access.
Не начинаются с заданной строки символов, например «С»
Возвращает записи всех стран или регионов, названия которых не начинаются с буквы «С».
Содержат заданную строку, например «Корея»
Возвращает записи всех стран или регионов, названия которых содержат строку «Корея».
Не содержат заданную строку, например «Корея»
Возвращает записи всех стран или регионов, названия которых не содержат строку «Корея».
Заканчиваются заданной строкой, например «ина»
Возвращает записи всех стран или регионов, названия которых заканчиваются на «ина», таких как «Украина» и «Аргентина».
Не заканчиваются заданной строкой, например «ина»
Возвращает записи всех стран или регионов, названия которых не заканчиваются на «ина», как в названиях «Украина» и «Аргентина».
Содержат пустые значения (или значения отсутствуют)
Возвращает записи, в которых это поле не содержит значения.
Не содержат пустых значений
Возвращает записи, в которых это поле содержит значение.
Содержат пустую строку
Возвращает записи, в которых поле имеет пустое значение (но не значение NULL). Например, записи о продажах другому отделу могут содержать пустое значение в поле «СтранаРегион».
Не содержат пустых строк
Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение.
Содержит нулевые значения или пустые строки
Возвращает записи, в которых значение в поле отсутствует или является пустым.
Ненулевые и непустые
Is Not Null And Not «»
Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение, не равное NULL.
При сортировке в алфавитном порядке следуют за определенным значением, например «Мексика»
Возвращает записи с названиями стран и регионов, начиная с Мексики и до конца алфавита.
Входят в определенный диапазон, например от А до Г
Возвращает страны и регионы, названия которых начинается с букв от «А» до «Г».
Совпадают с одним из двух значений, например «Словакия» или «США»
Возвращает записи для США и Словакии.
Содержат одно из значений, указанных в списке
In(«Франция», «Китай», «Германия», «Япония»)
Возвращает записи всех стран или регионов, указанных в списке.
Содержат определенные знаки в заданном месте значения поля
Right([СтранаРегион], 1) = «а»
Возвращает записи всех стран или регионов, названия которых заканчиваются на букву «а».
Соответствуют заданной длине
Возвращает записи стран или регионов, длина названия которых превышает 10 символов.
Соответствуют заданному шаблону
Возвращает записи стран или регионов, названия которых состоят из пяти символов и начинаются с «Лив», например Ливия и Ливан.
Условия для числовых полей, полей с денежными значениями и полей счетчиков
Следующие примеры относятся к полю «ЦенаЗаЕдиницу», основанном на таблице, в которой хранится информация о товарах. Условие задается в строке Условие отбора поля на бланке запроса.
Чтобы добавить записи, которые.
Используйте это условие
Точно соответствуют определенному значению, например 1000
Возвращает записи, в которых цена за единицу товара составляет 1000 ₽.
Не соответствуют значению, например 10 000
Возвращает записи, в которых цена за единицу товара не равна 10 000 ₽.
Содержат значение, которое меньше заданного, например 1000
Возвращает записи, в которых цена товара больше 999,99 ₽ (>999,99). Второе выражение отображает записи, цена в которых не меньше 999,99 ₽.
Содержат одно из двух значений, например 200 или 250
Возвращает записи, в которых цена товара равна 200 или 250 ₽.
Содержат значение, которое входит в определенный диапазон
Возвращает записи, в которых цена товара не находится в диапазоне от 500 до 1000 ₽.
Содержит одно из заданных значений
Возвращает записи, в которых цена товара равна 200, 250 или 300 ₽.
Содержат значение, которое заканчивается на заданные цифры
Возвращает записи товаров, цена которых заканчивается на 4,99, например 4,99 ₽, 14,99 ₽, 24,99 ₽ и т. д.
Содержат пустые значения (или значения отсутствуют)
Возвращает записи, для которых не введено значение в поле «ЦенаЗаЕдиницу».
Содержат непустые значения
Возвращает записи, в поле «ЦенаЗаЕдиницу» которых указано значение.
Условия для полей «Дата/время»
Следующие примеры относятся к полю «ДатаЗаказа», основанном на таблице, в которой хранится информация о заказах. Условие задается в строке Условие отбора поля на бланке запроса.
Используйте этот критерий
Точно соответствуют значению, например 02.02.2006
Возвращает записи транзакций, выполненных 2 февраля 2006 г. Обязательно ставьте знаки # до и после значений даты, чтобы Access мог отличить значения даты от текстовых строк.
Не соответствуют значению, такому как 02.02.2006
Возвращает записи транзакций, выполненных в любой день, кроме 2 февраля 2006 г.
Содержат значения, которые предшествуют определенной дате, например 02.02.2006
Возвращает записи транзакций, выполненных после 2 февраля 2006 г.
Чтобы просмотреть транзакции, выполненные в определенную дату или после нее, воспользуйтесь оператором >= вместо оператора >.
Содержат значения, которые входят в определенный диапазон дат
>#02.02.2006# and Between. Например, выражение Between #02.02.2006# and #04.02.2006# идентично выражению >=#02.02.2006# and #04.02.2006#
Возвращает записи транзакций, выполненных до 2 февраля 2006 г. или после 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 февраля 2006 г., 1 марта 2006 г. или 1 апреля 2006 г.
Содержат дату, которая выпадает на определенный месяц (вне зависимости от года), например декабрь
DatePart(«m»; [ДатаПродажи]) = 12
Возвращает записи транзакций, выполненных в декабре любого года.
Содержат дату, которая выпадает на определенный квартал (вне зависимости от года), например первый
DatePart(«q»; [ДатаПродажи]) = 1
Возвращает записи транзакций, выполненных в первом квартале любого года.
Содержат текущую дату
Возвращает записи транзакций, выполненных сегодня. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи, в поле «ДатаЗаказа» которых указано 2 февраля 2006 г.
Содержат вчерашнюю дату
Возвращает записи транзакций, выполненных вчера. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 1 февраля 2006 г.
Содержат завтрашнюю дату
Возвращает записи транзакций, которые будут выполнены завтра. Если сегодняшняя дата — 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
Возвращает записи транзакций, которые будут выполнены на следующей неделе. Неделя начинается в воскресенье и заканчивается в субботу.
Содержат дату, которая выпадает на последние 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 г.
Содержат дату, которая выпадает на прошлый месяц
Возвращает записи за прошлый месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за январь 2006 г.
Содержат дату, которая выпадает на следующий месяц
Year([ДатаПродажи])* 12 + DatePart(«m»; [ДатаПродажи]) = Year(Date())* 12 + DatePart(«m»; Date()) + 1
Возвращает записи за следующий месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за март 2006 г.
Содержат дату, которая выпадает на последние 30 дней или 31 день
Записи о продажах за месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период со 2 января 2006 г. по 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 г.
Содержат дату, которая выпадает на следующий квартал
Возвращает записи за следующий квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за второй квартал 2006 г.
Содержат дату, которая выпадает на текущий год
Возвращает записи за текущий год. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2006 г.
Содержат дату, которая выпадает на прошлый год
Возвращает записи транзакций, выполненных в прошлом году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2005 г.
Содержат дату, которая выпадает на следующий год
Year([ДатаПродажи]) = Year(Date()) + 1
Возвращает записи транзакций, которые будут выполнены в следующем году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2007 г.
Содержат дату, которая приходится на период с 1 января до текущей даты (записи с начала года до настоящего момента)
Year([ДатаПродажи]) = Year(Date()) and Month([ДатаПродажи]) Date()
Возвращает записи транзакций, которые будут выполнены после сегодняшнего дня.
Фильтр пустых (или отсутствующих) значений
Возвращает записи, в которых не указана дата транзакции.
Фильтр непустых значений
Возвращает записи, в которых указана дата транзакции.
Условия для полей «Да/Нет»
В качестве примера, в таблице «Клиенты» есть логическое поле «Активность», которое показывает текущую активность учетной записи клиента. В таблице отображается, как вычисляются значения, введенные в строке условий логического поля.
Проверено для значения «Нет». После ввода значение 0 изменяется на «Ложь» в строке условий.
Нет результатов, если это единственное значение условия в поле
Любая строка символов, отличная от «Да», «Нет», «Истина» или «Ложь»
Не удается выполнить запрос из-за ошибки несоответствия типов данных.
Условия для других полей
Вложения. В строке Условие отбора введите Is Null, чтобы включить записи, которые не содержат вложений. Введите Is Not Null, чтобы включить записи с вложениями.
Поля подстановки. Существует два типа полей подстановки: те, которые подставляют значения из существующего источника данных (с помощью внешнего ключа), и те, которые основаны на списке значений, заданном при их создании.
Поля подстановки, основанные на списке значений, имеют текстовый тип данных и принимают такие же условия, как другие текстовые поля.
Условия, которые можно использовать в поле подстановки, основанном на значениях из существующего источника данных, зависят от типа данных внешнего ключа, а не типа подставляемых данных. Например, у вас может быть поле подстановки, которое отображает имя сотрудника, но использует внешний ключ с числовым типом данных. Так как в поле хранится число, а не текст, вы можете использовать условия, которые подходят для чисел, такие как >2.
Если вы не знаете тип данных внешнего ключа, можно просмотреть исходную таблицу в Конструкторе, чтобы определить его. Для этого:
Найдите исходную таблицу в области навигации.
Откройте таблицу в Конструкторе, сделав одно из следующего:
Щелкните таблицу и нажмите клавиши CTRL+ВВОД.
Щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор.
Тип данных для каждого поля указан в столбце Тип данных на бланке таблицы.
Многозначные поля. Данные в многозначных полях хранятся как строки скрытой таблицы, которые Access создает и заполняет для представления поля. В Конструкторе запроса они представлены в списке полей с помощью расширяемого поля. Чтобы задать условия для многозначного поля, необходимо указать их для одной строки скрытой таблицы. Для этого выполните указанные ниже действия.
Создайте запрос, содержащий многозначное поле, и откройте его в Конструкторе.
Перетащите многозначное поле и поле его значения в различные столбцы на бланке. Если вы хотите, чтобы в результатах выводилось только полное многозначное поле, снимите флажок Показать для поля одного значения.
Введите в поле Условие отбора для поля с одним значением условия, подходящие для типа данных, который представляют собой значения.
Каждое значение в многозначном поле будет оцениваться по отдельности на основе указанных условий. Например, допустим, что в многозначном поле хранится список чисел. Если указать условия >5 AND и одно значение меньше 3.
Знакомство с запросами
Запросы упрощают просмотр, добавление, удаление или изменение данных в базе данных Access. Среди других целей использования запросов можно отметить:
быстрый поиск определенных данных путем фильтрации с применением определенных критериев (условий);
вычисление или сведение данных;
автоматизированное управление данными, например регулярный просмотр актуальных данных.
Примечание: Если необходимо использовать запросы, описанные в примере, используйте базу данных Access на компьютере.
Запросы как средство поиска данных и работы с ними
В хорошо структурированной базе данных сведения, которые требуется представить с использованием формы или отчета, зачастую хранятся в разных таблицах. Запрос может извлечь информацию из разных таблиц и собрать ее для отображения в виде формы или отчета. Запрос может представлять собой обращение к данным для получения информации из базы данных или выполнения действий с данными. Запрос можно использовать для получения ответа на простой вопрос, выполнения расчетов, объединения данных из разных таблиц, а также для добавления, изменения или удаления данных в таблице. Это очень гибкий инструмент: существует много типов запросов, и каждый тип создается с учетом задачи.
Основные типы запросов
Получение данных из таблицы и выполнение вычислений.
Запрос на изменение
Добавление, изменение или удаление данных. Для каждой задачи существует специальный тип запроса на изменение. В веб-приложениях Access запросы на изменение недоступны.
Создание запроса на выборку
Запрос на выборку позволяет просматривать данные только из определенных полей таблицы либо из нескольких таблиц одновременно или же находить данные, которые соответствуют определенным условиям. Дополнительные сведения см. в простом запросе на выбору.
Просмотр данных из выбранных полей
Например, если база данных содержит таблицу с различной информацией о товарах, а необходимо просмотреть список товаров и их цены, запрос на выборку создается таким образом, чтобы возвратить только названия товаров и соответствующие цены.
Откройте базу данных и на вкладке Создание нажмите кнопку Конструктор запросов.
На вкладке «Таблицы» дважды щелкните таблицу «Товары».
Допустим, в таблице «Товары» содержатся поля «Наименование товара» и «Цена по прейскуранту». Дважды щелкните элементы Наименование товара и Цена по прейскуранту, чтобы добавить эти поля в бланк запроса.
На вкладке Конструктор нажмите кнопку Выполнить. Запрос будет выполнен, и отобразится список товаров и цен на них.
Одновременный просмотр данных из нескольких связанных таблиц
Например, если у вас есть база данных для магазина, который продает продукты питания, и вы хотите просмотреть заказы клиентов, которые живут в конкретном городе. Скажем, данные о заказах и сведения о клиентах хранятся в двух таблицах с именами «Клиенты» и «Заказы» соответственно. Если каждая таблица имеет поле «ИД клиента», которое является основой отношение «один-ко-многим» между двумя таблицами. Вы можете создать запрос, возвращающий заказы для клиентов в конкретном городе, например в Лас-Вегасе, используя следующую процедуру:
Откройте базу данных. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
На вкладке «Таблицы» дважды щелкните «Клиенты» и «Заказы».
Обратите внимание на линию (называемую соединением), которая соединяет поле «Код» в таблице «Заказчики» с полем «Код заказчика» в таблице «Заказы». Эта линия отображает связь между двумя таблицами.
В таблице «Клиенты» дважды щелкните элементы Организация и Город, чтобы добавить эти поля в бланк запроса.
В бланке запроса в столбце Город снимите флажок в строке Показать.
В строке Условие отбора столбца Город введите Тюмень.
Если снять флажок Показать, в результатах запроса не будет отображаться город, а слово Тюмень в строке Условие отбора означает, что требуется просмотреть только те записи, для которых в поле «Город» указано значение «Тюмень». В этом случае запрос возвращает данные только о тех клиентах, которые находятся в Тюмени. Для использования поля в условии отбора показывать его на экране не обязательно.
В таблице «Заказы» дважды щелкните элементы Код заказа и Дата размещения, чтобы добавить эти поля в два следующих столбца в бланке запроса.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Происходит выполнение запроса и отображается список заказов клиентов из Тюмени.
Нажмите клавиши CTRL+S, чтобы сохранить запрос.
Создание запроса с параметрами
Если часто требуется выполнять варианты определенного запроса, можно использовать запрос с параметрами. При выполнении запроса с параметрами у пользователя запрашиваются значения полей, которые затем используются для создания условий для запроса.
Примечание: Запрос с параметрами невозможно создать в веб-приложении Access.
В продолжение предыдущего примера, где было показано, как создавать запрос на выборку, который возвращает информацию о заказах для клиентов из Тюмени, можно изменить этот запрос таким образом, чтобы при каждом его запуске выводилось приглашение на ввод названия города. Откройте базу данных, созданную в предыдущем примере.
В области навигации щелкните правой кнопкой мыши запрос Заказы по городу (созданный в предыдущем разделе) и выберите в контекстном меню пункт Конструктор.
В бланке запроса в строке Условие отбора столбца «Город» удалите слово Тюмень и введите [Для какого города?].
Строка [Для какого города?] является предложением ввести параметр. Квадратные скобки показывают, что при выполнении запроса должно появиться предложение ввести данные, а текст (в данном случае Для какого города?) представляет собой вопрос, отображаемый в предложении.
Установите флажок в строке Показать столбца «Город», чтобы в результатах запроса отображался город.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Запрос предложит ввести значение в строке «Город».
Введите слово Москва и нажмите клавишу ВВОД, чтобы увидеть заказы для клиентов в Москве.
Но что делать, если значения, которые можно указать, неизвестны? В приглашении на ввод можно использовать подстановочные знаки.
На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.
В бланке запроса в строке Условие отбора столбца Город введите Like [Для какого города?]&»*».
В этом предложении ввести параметр ключевое слово Like, амперсанд ( &) и звездочка ( *), заключенная в кавычки, позволяют ввести сочетание знаков, включая подстановочные знаки, для получения разных результатов. Например, если пользователь вводит *, запрос возвращает все города; если пользователь вводит М, запрос возвращает все города, начинающиеся на букву «М»; если пользователь вводит *с*, запрос возвращает все города, в названиях которых имеется буква «с».
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить, в строке приглашения запроса введите Создать и нажмите клавишу ВВОД.
В результате выполнения запроса будет отображен список заказов от клиентов из Москвы.
Указание типов данных для параметра
Можно также указать, данные какого типа разрешается вводить в качестве значения параметра. Тип данных можно настроить для любого параметра, но особенно важно сделать это для числовых и денежных данных, а также данных о дате и времени. Когда для параметра указан тип данных, пользователи получают более понятные сообщения об ошибках в случае ввода данных неправильного типа, например ввода текста, когда ожидаются денежные данные.
Если параметр настроен таким образом, чтобы принимать текстовые данные, любое введенное значение интерпретируется как текст и сообщение об ошибке не отображается.
Чтобы указать тип данных для параметра в запросе, выполните процедуру, описанную ниже.
Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.
В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод значения для каждого параметра, для которого требуется указать тип данных. Убедитесь, что каждый из параметров соответствует запросу, который используется в строке Условие отбора в бланке запроса.
В столбце Тип данных выберите тип данных для каждого параметра.
Дополнительные сведения см. в использовании параметров для ввода данных при запуске запроса.
Создание итогового запроса
Строка «Итог» в таблице очень удобна, но для ответа на более сложные вопросы используется запрос итоговых значений. Такой запрос представляет собой запрос на выборку, позволяющий группировать данные и составлять сводку данных, например когда требуется просмотреть итоги продаж каждого товара. В запросе итоговых значений можно использовать статистическую функцию Sum для просмотра итогов продаж каждого товара.
Примечание: В веб-приложении Access агрегатные функции использовать нельзя.
Чтобы получить итоговые значения промежуточных сумм для товаров, можно следующим образом изменить запрос «Промежуточные суммы для товаров», созданный в предыдущем примере.
На вкладке Главная нажмите кнопку Режим и выберите Конструктор.
Запрос «Промежуточные суммы для товаров» будет открыт в конструкторе.
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке запроса отобразится строка Итоги.
Примечание: Несмотря на схожие названия, строка Итоги в бланке и строка Итог в таблице — не одно и то же.
С помощью строки Итоги в бланке можно группировать данные по значениям полей.
Строку Итог из таблицы можно добавить в результаты запроса итоговых значений.
При использовании строки Итоги в бланке необходимо выбрать статистическую функцию для каждого поля. Если выполнять вычисления с полем не требуется, можно сгруппировать данные по этому полю.
Во втором столбце бланка в строке Итог выберите в раскрывающемся списке вариант Sum.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Происходит выполнение запроса, а затем отображается список товаров с промежуточными суммами.
Нажмите клавиши CTRL+S, чтобы сохранить запрос. Оставьте запрос открытым.
Выполнение расчетов на основе данных
Обычно таблицы не используются для хранения вычисляемых значений, таких как суммы, даже если они основаны на данных в одной базе данных, так как они могут быть устаревшими, если значения в них основаны на изменениях. Например, не стоит хранить чей-либо возраст в таблице, так как каждый год вам нужно обновлять значение. вы сохраняете дату рождения человека, а затем используете запрос для расчета его возраста.
Например, существует база данных с информацией о товарах, которые вы хотите продать. Она содержит таблицу под названием «Сведения о заказе», в которой находится информация о товарах, например цена и количество каждого товара. Можно вычислить промежуточные суммы с помощью запроса, который умножает количество каждого товара на цену за единицу этого товара, количество каждого товара на цену за единицу этого товара и скидку этого товара, а затем вычитает общую скидку из общей цены. Если в предыдущем примере была создана база данных, откройте ее и выполните следующие действия.
На вкладке «Создание» нажмите кнопку «Конструктор запросов».
На вкладке «Таблицы» дважды щелкните «Сведения о заказе».
В таблице «Сведения о заказе» дважды щелкните Код товара, чтобы добавить это поле в первый столбец бланка запроса.
Во втором столбце бланка щелкните правой кнопкой мыши строку Поле, а затем выберите в контекстном меню команду Область ввода.
В диалоговом окне Область ввода введите или вставьте следующее выражение: Промежуточный итог: ([Количество]*[Цена за единицу])-([Количество]*[Цена за единицу]*[Скидка])
На вкладке Конструктор нажмите кнопку Выполнить. Происходит выполнение запроса, а затем отображается список товаров с промежуточными суммами для каждого заказа.
Нажмите клавиши CTRL+S, чтобы сохранить запрос, и назовите его Промежуточные суммы для товаров.
Просмотр сводных данных и статистических показателей
При использовании таблиц для записи операций или хранения постоянно встречающихся числовых данных удобно иметь возможность просмотреть статистические показатели для этих данных, например суммарные или средние значения. В Access в таблица можно добавлять итоговую строку. Итоговая строка — это строка внизу таблицы, которая отображает итоговое или другое статистическое значение.
Запустите ранее созданный запрос «Итоги по продуктам» и оставьте результаты открытыми в Режим таблицы.
На вкладке «Главная» нажмите кнопку «Итоги». В нижней части таблицы появится новая строка со словом «Итог» в первом столбце.
Щелкните ячейку в последней строке с именем Итог.
Щелкните стрелку, чтобы просмотреть доступные агрегатные функции. Поскольку столбец содержит текстовые данные, существует только два варианта: «Нет» и «Количество».
Выберите Количество. Содержимое ячейки изменится с Итог на число значений в столбце.
Щелкните соседнюю ячейку (второй столбец). Обратите внимание на стрелку, которая появилась в ячейке.
Щелкните стрелку и выберите Сумма. В поле будет отображаться сумма значений в столбце.
Оставьте запрос открытым в режиме таблицы.
Создание перекрестного запроса
Теперь предположим, что вы хотите просмотреть суммы для товаров, но также агрегировать данные по месяцам, чтобы в каждой строке отображались суммы для товара, а в каждом столбце отображались суммы за месяц. Чтобы показать подытожи для товара и подытожи за месяц, используйте перекрестный запрос.
Примечание: Перекрестный запрос не может отображаться в веб-приложении Access.
Вы можете снова изменить запрос «Промежуточные суммы для товаров», чтобы он возвращал строки промежуточных сумм для товаров и столбцы промежуточных сумм по месяцам.
На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.
В группе «Настройка запроса» нажмите кнопку «Добавить таблицы» (или «Добавить таблицу в Access 2013 «).
Дважды щелкните «Заказы»и нажмите кнопку «Закрыть».
На вкладке Конструктор в группе Тип запроса щелкните элемент Перекрестная таблица. В бланке строка Показать скрыта, а отображается строка Перекрестная таблица.
В диалоговом окне Область ввода введите или вставьте следующее выражение: Месяц: «Месяц» & DatePart(«м», [Дата заказа])
В строке Перекрестная таблица выберите следующие значения в раскрывающемся списке: Заголовки строк для первого столбца, Значение для второго столбца и Заголовки столбцов для третьего.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Происходит выполнение запроса, а затем отображаются промежуточные суммы, собранные по месяцам.
Нажмите клавиши CTRL+S, чтобы сохранить запрос.
Дополнительные сведения о перекрестных запросах см. в документе «Упростите чтение сводных данных с помощью перекрестного запроса».
Создание запроса на создание таблицы
Для создания новой таблицы на основе данных, которые хранятся в других таблицах, можно использовать запрос на создание таблицы.
Примечание: Запрос на таблицу не доступен в веб-приложениях Access.
Например, пусть требуется отправить данные о заказах в Ростове партнеру из Ростова, который использует Access для подготовки отчетов. Вместо отправки всех данных о заказах можно отправить только те данные, которые относятся к заказам в Ростове.
Можно создать запрос на выборку, содержащий данные о заказах в Ростове, а затем использовать этот запрос для создания новой таблицы. Для этого используйте описанную ниже процедуру.
Откройте базу данных из предыдущего примера.
Для выполнения запроса на создание таблицы может потребоваться включить содержимое базы данных.
Примечание: Если под лентой вы видите сообщение о включии базы данных, нажмите кнопку «Включить содержимое».Если база данных уже находится в надежном расположении, вы не увидите панели сообщений.
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
Дважды щелкните «Сведения о заказе» и «Заказы».
В таблице Заказы дважды щелкните поля Код заказчика и Город получателя, чтобы добавить их в бланк.
В таблице Сведения о заказе дважды щелкните элементы Код заказа, Код товара, Количество, Цена за единицу и Скидка, чтобы добавить эти поля в бланк.
В столбце Город получателя бланка снимите флажок в строке Показать. В строке Условие отбора введите ‘Ростов’ (включая одинарные кавычки). Проверьте результаты выполнения запроса, прежде чем использовать их для создания таблицы.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Нажмите клавиши CTRL+S, чтобы сохранить запрос.
В поле Имя запроса введите Запрос по заказам в Ростове и нажмите кнопку ОК.
На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.
На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.
В диалоговом окне Создание таблицы в поле Имя таблицы введите Заказы в Ростове и нажмите кнопку ОК.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
В диалоговом окне подтверждения нажмите кнопку Да, и в области навигации отобразится новая таблица.
Примечание: Если таблица с указанным именем уже существует, она удаляется перед выполнением запроса.
Дополнительные сведения об использовании запросов на создание таблиц см. в теме «Создание запроса на создание таблицы».
Создание запроса на добавление
Для извлечения данных из одной или нескольких таблиц и добавления их в другую таблицу можно использовать запрос на добавление.
Примечание: Запрос на приложение не доступен в веб-приложениях Access.
Предположим, вы создали таблицу для совместной работы с партнером из Ростова, но вспомнили, что этот партнер работает также с клиентами из Казани. Необходимо добавить в эту таблицу строки с данными по Казани. Используя следующую процедуру, можно добавить эти данные в таблицу «Заказы в Ростове».
Откройте запрос «Запрос по заказам в Чикаго», созданный ранее в конструкторе.
На вкладке Конструктор в группе Тип запроса выберите команду Добавить. Откроется диалоговое окно Добавление.
В диалоговом окне Добавление щелкните стрелку в поле Имя таблицы и выберите Заказы в Ростове в раскрывающемся списке, а затем нажмите кнопку ОК.
В бланке в строке Условие отбора столбца «Город получателя» удалите значение ‘Ростов’ и введите ‘Казань’.
В строке Добавление записей в таблицу выберите соответствующее поле для каждого столбца.
В этом примере значения в строке Добавление записей в таблицу должны соответствовать значениям в строке Поле, но это не требуется для нормальной работы запросов на добавление.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Примечание: При выполнении запроса, который возвращает большое количество данных, может появится сообщение об ошибке, в котором будет сказано, что отменить запрос не удастся. Попробуйте увеличить ограничение сегмента памяти до 3 МБ, чтобы выполнить запрос до конца.
Дополнительные сведения о запросах на добавление см. в статье Добавление записей в таблицу с помощью запроса на добавление.
Создание запроса на обновление
Для изменения данных в таблицах, а также для ввода условий, указывающих, какие строки следует обновить, можно использовать запрос на обновление. Запрос на обновление позволяет просмотреть обновленные данные перед выполнением обновления.
Важно: Запрос на изменение невозможно отменить. Возможно, перед обновлением следует создать резервные копии всех таблиц, которые будут обновлены запросом на обновление. Запрос на обновление не доступен в веб-приложениях Access.
В предыдущем примере строки были указаны в таблице «Заказы в Чикаго». В таблице «Заказы в Чикаго» поле «ИД товара» содержит числовой ИД товара. Чтобы сделать данные отчетами более полезными, замените их их наименованиями продуктов. Для этого сделайте следующее:
Откройте таблицу «Заказы в Ростове» в конструкторе.
В строке «Код товара» измените тип данных Числовой на Текстовый.
Сохраните и закройте таблицу «Заказы в Ростове».
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
Дважды щелкните «Заказы в Чикаго» и «Товары».
На вкладке Конструктор в группе Тип запроса нажмите кнопку Обновить.
В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Обновление.
В таблице Заказы в Ростове дважды щелкните элемент Код товара, чтобы добавить это поле в бланк.
В бланке в строке Обновление столбца Код товара введите или вставьте следующую строку: [Товары].[Наименование]
Совет: Запрос на обновление можно использовать для удаления значений полей; для этого используется пустая строка ( «») или значение NULL в строке Обновление.
В строке Условие отбора введите или вставьте следующую строку: [Код продукта] Like ([Товары].[Код])
Можно узнать, какие значения будут изменены запросом на обновление, просмотрев запрос в режиме таблицы.
На вкладке Конструктор выберите Режим > Режим таблицы. Запрос возвращает список кодов товаров, которые будут обновлены.
На вкладке Конструктор нажмите кнопку Выполнить.
При открытии таблицы «Заказы в Ростове» можно будет увидеть, что числовые значения в поле «Код товара» заменены наименованиями из таблицы «Товары».
Дополнительные сведения о запросах на обновление см. в статье Создание и запуск запроса на обновление.
Создание запроса на удаление
Для удаления данных из таблиц, а также для ввода условий, указывающих, какие строки следует удалить, можно использовать запрос на удаление. Запрос на удаление позволяет просмотреть удаляемые строки перед выполнением удаления.
Примечание: Запрос на удаление не доступен в веб-приложениях Access.
Предположим, готовясь отправить таблицу «Заказы в Ростове» из предыдущего примера партнеру в Ростов, вы заметили, что некоторые строки содержат пустые поля. Перед отправкой таблицы их необходимо удалить. Можно открыть таблицу и удалить строки вручную, но если их много и есть четкие условия отбора, удобнее использовать запрос на удаление.
Вы можете использовать запрос для удаления из таблицы «Заказы в Ростове» строк, в которых отсутствует значение «Код заказа». Для этого выполните описанную ниже процедуру.
На вкладке Создание нажмите кнопку Конструктор запросов.
Дважды щелкните «Заказы в Чикаго».
На вкладке Конструктор в группе Тип запроса нажмите кнопку Удаление. В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Удалить.
В бланке в строке Условие отбора в столбце «Код заказа» введите Is Null.
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Дополнительные сведения об удалении запросов см. в теме «Создание и выполнение запроса на удаление».
Создание простого запроса на выборку
Если вам нужно выбрать определенные данные из одного или нескольких источников, можно воспользоваться запросом на выборку. Запрос на выборку позволяет получить только необходимые сведения, а также помогает объединять информацию из нескольких источников. В качестве источников данных для запросов на выборку можно использовать таблицы и другие такие же запросы. В этом разделе вкратце рассматриваются запросы на выборку и предлагаются пошаговые инструкции по их созданию с помощью Мастера запросов либо в Конструктор.
Если вы хотите узнать больше о принципах работы запросов на примере базы данных Northwind, ознакомьтесь со статьей Общие сведения о запросах.
В этой статье
Общие сведения
Когда возникает потребность в каких-то данных, редко бывает необходимо все содержимое одной таблицы. Например, если вам нужна информация из таблицы контактов, как правило, речь идет о конкретной записи или только о номере телефона. Иногда бывает необходимо объединить данные сразу из нескольких таблиц, например совместить информацию о клиентах со сведениями о заказчиках. Для выбора необходимых данных используются запросы на выборку.
Запрос на выборки — это объект базы данных, в который в Режим таблицы. Запрос не хранит данные, а отображает данные, хранимые в таблицах. Запрос может показывать данные из одной или нескольких таблиц, из других запросов или из их сочетания.
Преимущества запросов
Запрос позволяет выполнять перечисленные ниже задачи.
Просматривать значения только из полей, которые вас интересуют. При открытии таблицы отображаются все поля. Вы можете сохранить запрос, который выдает лишь некоторые из них.
Примечание: Запрос только возвращает данные, но не сохраняет их. При сохранении запроса вы не сохраняете копию соответствующих данных.
Объединять данные из нескольких источников. В таблице обычно можно увидеть только те сведения, которые в ней хранятся. Запрос позволяет выбрать поля из разных источников и указать, как именно нужно объединить информацию.
Использовать выражения в качестве полей. Например, в роли поля может выступить функция, возвращающая дату, а с помощью функции форматирования можно управлять форматом значений из полей в результатах запроса.
Просматривать записи, которые отвечают указанным вами условиям. При открытии таблицы отображаются все записи. Вы можете сохранить запрос, который выдает лишь некоторые из них.
Основные этапы создания запроса на выборку
Вы можете создать запрос на выборку с помощью мастера или конструктора запросов. Некоторые элементы недоступны в мастере, однако их можно добавить позже из конструктора. Хотя это разные способы, основные этапы аналогичны.
Выберите таблицы или запросы, которые хотите использовать в качестве источников данных.
Укажите поля из источников данных, которые хотите включить в результаты.
Также можно задать условия, которые ограничивают набор возвращаемых запросов записей.
Создав запрос на выборку, запустите его, чтобы посмотреть результаты. Чтобы выполнить запрос на выборку, откройте его в режиме таблицы. Сохранив запрос, вы сможете использовать его позже (например, в качестве источника данных для формы, отчета или другого запроса).
Создание запроса на выборку с помощью мастера запросов
Мастер позволяет автоматически создать запрос на выборку. При использовании мастера вы не полностью контролируете все детали процесса, однако таким способом запрос обычно создается быстрее. Кроме того, мастер иногда обнаруживает в запросе простые ошибки и предлагает выбрать другое действие.
Подготовка
Если вы используете поля из источников данных, которые не связаны между собой, мастер запросов предлагает создать между ними отношения. Он откроет окно отношений, однако если вы внесете какие-то изменения, то вам потребуется перезапустить мастер. Таким образом, перед запуском мастера имеет смысл сразу создать все отношения, которые потребуются вашему запросу.
Дополнительную информацию о создании отношений между таблицами можно найти в статье Руководство по связям между таблицами.
Использование мастера запросов
На вкладке Создание в группе Запросы нажмите кнопку Мастер запросов.
В диалоговом окне Новый запрос выберите пункт Простой запрос и нажмите кнопку ОК.
Теперь добавьте поля. Вы можете добавить до 255 полей из 32 таблиц или запросов.
Для каждого поля выполните два указанных ниже действия.
В разделе Таблицы и запросы щелкните таблицу или запрос, содержащие поле.
В разделе Доступные поля дважды щелкните поле, чтобы добавить его в список Выбранные поля. Если вы хотите добавить в запрос все поля, нажмите кнопку с двумя стрелками вправо (>>).
Добавив в запрос все необходимые поля, нажмите кнопку Далее.
Если вы не добавили ни одного числового поля (поля, содержащего числовые данные), перейдите к действию 9. При добавлении числового поля вам потребуется выбрать, что именно вернет запрос: подробности или итоговые данные.
Выполните одно из указанных ниже действий.
Если вы хотите просмотреть отдельные записи, выберите пункт подробный и нажмите кнопку Далее. Перейдите к действию 9.
Если вам нужны итоговые числовые данные, например средние значения, выберите пункт итоговый и нажмите кнопку Итоги.
В диалоговом окне Итоги укажите необходимые поля и типы итоговых данных. В списке будут доступны только числовые поля.
Для каждого числового поля выберите одну из перечисленных ниже функций.
Sum — запрос вернет сумму всех значений, указанных в поле.
Avg — запрос вернет среднее значение поля.
Min — запрос вернет минимальное значение, указанное в поле.
Max — запрос вернет максимальное значение, указанное в поле.
Если вы хотите, чтобы в результатах запроса отобразилось число записей в источнике данных, установите соответствующий флажок Подсчет числа записей в (название источника данных).
Нажмите ОК, чтобы закрыть диалоговое окно Итоги.
Если вы не добавили в запрос ни одного поля даты и времени, перейдите к действию 9. Если вы добавили в запрос поля даты и времени, мастер запросов предложит вам выбрать способ группировки значений даты. Предположим, вы добавили в запрос числовое поле («Цена») и поле даты и времени («Время_транзакции»), а затем в диалоговом окне Итоги указали, что хотите отобразить среднее значение по числовому полю «Цена». Поскольку вы добавили поле даты и времени, вы можете подсчитать итоговые величины для каждого уникального значения даты и времени, например для каждого месяца, квартала или года.
Выберите период, который хотите использовать для группировки значений даты и времени, а затем нажмите кнопку Далее.
Примечание: В режиме конструктора для группировки значений по периодам можно использовать выражения, однако в мастере доступны только указанные здесь варианты.
На последней странице мастера задайте название запроса, укажите, хотите ли вы открыть или изменить его, и нажмите кнопку Готово.
Если вы решили открыть запрос, он отобразит выбранные данные в режиме таблицы. Если вы решили изменить запрос, он откроется в режиме конструктора.
Создание запроса в режиме конструктора
В режиме конструктора можно вручную создать запрос на выборку. В этом режиме вы полнее контролируете процесс создания запроса, однако здесь легче допустить ошибку и необходимо больше времени, чем в мастере.
Создание запроса
Действие 1. Добавьте источники данных
При использовании конструктора для добавления источников данных их источники и поля добавляются в отдельных шагах. Однако вы всегда можете добавить дополнительные источники позже.
На вкладке Создание в группе Другое нажмите кнопку Конструктор запросов.
Дважды щелкните каждый источник данных, который вы хотите использовать, или выберите каждый из них, а затем нажмите кнопку «Добавить».
Автоматическое соединение
Если между добавляемыми источниками данных уже заданы отношения, они автоматически добавляются в запрос в качестве соединений. Соединения определяют, как именно следует объединять данные из связанных источников. Access также автоматически создает соединение между двумя таблицами, если они содержат поля с совместимыми типами данных и одно из них — первичный ключ.
Вы можете настроить соединения, добавленные приложением Access. Access выбирает тип создаваемого соединения на основе отношения, которое ему соответствует. Если Access создает соединение, но для него не определено отношение, Access добавляет внутреннее соединение.
Если приложение Access при добавлении источников данных автоматически создало соединения правильных типов, вы можете перейти к действию 3 (добавление выводимых полей).
Повторное использование одного источника данных
В некоторых случаях необходимо соединить две копии одной и той же таблицы или запроса, называемые запросом самосоединение, которые объединяют записи из одной таблицы при совпадении значений в соединитьые поля. Например, допустим, что у вас есть таблица «Сотрудники», в которой в поле «ОтчетЫВ» для записи каждого сотрудника вместо имени отображается его имя руководителя. Вместо этого вы можете самостоятельно отобразить имя руководителя в записях каждого сотрудника.
При добавлении источника данных во второй раз Access присвоит имени второго экземпляра окончание «_1». Например, при повторном добавлении таблицы «Сотрудники» ее второй экземпляр будет называться «Сотрудники_1».
Действие 2. Соедините связанные источники данных
Если у источников данных, которые вы добавляете в запрос, уже есть связи, Access автоматически создает внутреннее присоединение для каждой связи. Если целостность данных, access также отображает «1» над линией связи, чтобы показать, какая таблица находится на стороне «один» отношение «один-ко-многим», и символ бесконечности (∞),чтобы показать, какая таблица находится на стороне «многие».
Если вы добавили в запрос другие запросы и не создали между ними отношения, Access не создает автоматических соединений ни между ними, ни между запросами и таблицами, которые не связаны между собой. Если Access не создает соединения при добавлении источников данных, как правило, их следует создать вручную. Источники данных, которые не соединены с другими источниками, могут привести к проблемам в результатах запроса.
Кроме того, можно сменить тип соединения с внутреннего на внешнее соединение, чтобы запрос включал больше записей.
Добавление соединения
Чтобы создать соединение, перетащите поле из одного источника данных в соответствующее поле в другом источнике.
Access добавит линию между двумя полями, чтобы показать, что они соединены.
Изменение соединения
Дважды щелкните соединение, которое требуется изменить.
Откроется диалоговое окно Параметры соединения.
Ознакомьтесь с тремя вариантами в диалоговом окне Параметры соединения.
Выберите нужный вариант и нажмите кнопку ОК.
После создания соединений можно добавить выводимые поля: они будут содержать данные, которые должны отображаться в результатах.
Действие 3. Добавьте выводимые поля
Вы можете легко добавить поле из любого источника данных, добавленного в действии 1.
Для этого перетащите поле из источника в верхней области окна конструктора запросов вниз в строку Поле бланка запроса (в нижней части окна конструктора).
При добавлении поля таким образом Access автоматически заполняет строку Таблица в таблице конструктора в соответствии с источником данных поля.
Совет: Чтобы быстро добавить все поля в строку «Поле» бланка запроса, дважды щелкните имя таблицы или запроса в верхней области, чтобы выделить все поля в нем, а затем перетащите их все сразу вниз на бланк.
Использование выражения в качестве выводимого поля
Вы можете использовать выражение в качестве выводимого поля для вычислений или создания результатов запроса с помощью функции. В выражениях могут использоваться данные из любых источников запроса, а также функции, например Format или InStr, константы и арифметические операторы.
В пустом столбце таблицы запроса щелкните строку Поле правой кнопкой мыши и выберите в контекстном меню пункт Масштаб.
В поле Масштаб введите или вставьте необходимое выражение. Перед выражением введите имя, которое хотите использовать для результата выражения, а после него — двоеточие. Например, чтобы обозначить результат выражения как «Последнее обновление», введите перед ним фразу Последнее обновление:.
Примечание: С помощью выражений можно выполнять самые разные задачи. Их подробное рассмотрение выходит за рамки этой статьи. Дополнительные сведения о создании выражений см. в статье Создание выражений.
Действие 4. Укажите условия
Этот этап является необязательным.
С помощью условий можно ограничить количество записей, которые возвращает запрос, выбирая только те из них, значения полей в которых отвечают заданным критериям.
Определение условий для выводимого поля
В таблице конструктора запросов в строке Условие отбора поля, значения в котором вы хотите отфильтровать, введите выражение, которому должны удовлетворять значения в поле для включения в результат. Например, чтобы включить в запрос только записи, в которых в поле «Город» указано «Рязань», введите Рязань в строке Условие отбора под этим полем.
Различные примеры выражений условий для запросов можно найти в статье Примеры условий запроса.
Укажите альтернативные условия в строке или под строкой Условие отбора.
Когда указаны альтернативные условия, запись включается в результаты запроса, если значение соответствующего поля удовлетворяет любому из указанных условий.
Условия для нескольких полей
Условия можно задать для нескольких полей. В этом случае для включения записи в результаты должны выполняться все условия в соответствующей строке Условия отбора либо Или.
Настройка условий на основе поля, которое не включается в вывод
Вы можете добавить в запрос поле, но не включать его значения в выводимые результаты. Это позволяет использовать содержимое поля для ограничения результатов, но при этом не отображать его.
Добавьте поле в таблицу запроса.
Снимите для него флажок в строке Показывать.
Задайте условия, как для выводимого поля.
Действие 5. Рассчитайте итоговые значения
Этот этап является необязательным.
Вы также можете вычислить итоговые значения для числовых данных. Например, может потребоваться узнать среднюю цену или общий объем продаж.
Для расчета итоговых значений в запросе используется строка Итого. По умолчанию строка Итого не отображается в режиме конструктора.
Когда запрос открыт в конструкторе, на вкладке «Конструктор» в группе «Показать или скрыть» нажмите кнопку Итоги.
Access отобразит строку Итого на бланке запроса.
Для каждого необходимого поля в строке Итого выберите нужную функцию. Набор доступных функций зависит от типа данных в поле.
Дополнительные сведения о функциях строки «Итого» в запросах см. в статье Суммирование или подсчет значений в таблице с помощью строки «Итого».
Действие 6. Просмотрите результаты
Чтобы увидеть результаты запроса, на вкладке «Конструктор» нажмите кнопку Выполнить. Access отобразит результаты запроса в режиме таблицы.
Чтобы вернуться в режим конструктора и внести в запрос изменения, щелкните Главная > Вид > Конструктор.
Настраивайте поля, выражения или условия и повторно выполняйте запрос, пока он не будет возвращать нужные данные.
Запросы выборки данных в Access: Создание запроса с параметром, создание перекрестного запроса
Использование окна запроса
1. Создание простого запроса
Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.
Для создания запроса активизируем окно базы данных (см. ЛР1). После этого щелкнем по корешку «Запрос» и кнопке «Создать». В появившемся диалоговом окне «Создание запроса» выберите кнопку «Конструктор». Access откроет диалоговое окно «Добавление таблицы», позволяющее выбрать базовые таблицы и запросы для создаваемого запроса. Выберите таблицы «Результаты» и «Cтуденты», нажимая кнопку «Добавить», после чего закройте это окно кнопкой «Закрыть».
Включение поля в запрос производится перетаскиванием его из списка полей таблиц (расположенного в верхней части экрана) в нужный столбец бланка QBE при помощи мышки. Включение всех полей таблицы происходит перетаскиванием символа «*», находящегося вверху списка полей данной таблицы в верхней части экрана.
Включите в запрос поля таблицы «Результаты»:
Запрос “Задолженность” будет иметь вид, как показано на рисунке.
Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, «один-к-одному», «один-ко-многим» и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.
Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE «Условие отбора». Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки «или».
Установим для таблицы «Результаты» условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку «Задолженность» из таблицы «Результаты», и в строке «Условие отбора» введем:
Да
Изменить заголовок можно также активизировав столбец с описанием поля; а затем выполнив команду «Свойства» меню «Вид», ввести в строку «Подпись поля» его название.
Строки итоговой таблицы желательно отсортировать по полю «Фамилия» таблицы «Студенты». Для этого в столбце с описанием данного поля в строке «Сортировка» выберем пункт «по возрастанию». При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право.
Запустить полученный запрос на выполнение можно также командой «Выполнить» меню «Запрос». Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем «Задолженности». Запрос представляет собой таблицу:
Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: [Зарплата]*0,1».
Изменить заголовок можно также активизировав столбец с описанием поля, а затем выполнив команду «Свойства» меню «Вид», ввести в строку подпись поля его название. Введите в строку «условие отбора» для кафедры «Вычислительная техника».
1.2. Создание итогового запроса
Итоговые запросы позволяют получать статистическую информацию по группам данных, как например: сумму, среднее арифметическое, мат.ожидание, дисперсию значений полей таблицы; число значений полей, удовлетворяющих определенным условиям и т.д.
Создадим запрос среднего бала студента. Откроем новый бланк запроса, внесем в него таблицу «Студенты», “Результаты” и установим вывод полей «Номер_С», «Фамилия», «Оценка_Т», «Оценка_П», “Оценка_Л”.
Для вычисления в запросе итоговых значений щелкнем по кнопке «Групповые операции» панели инструментов. В бланке QBE появится строка «Групповая операция», где для каждого описанного поля в этой строке установлено по умолчанию «Группировка». Теперь записи по каждому полю будут группироваться, но итог подводиться не будет. Для выведения итоговых значений необходимо вместо слова «Группировка» установить какую-нибудь групповую операцию (см прил.1).
Для полей “Оценка_Т”, “Оценка_П”, “Оценка_Л” операцию «Avg», выводящую среднее значение поля для группы записей (получим средний бал).
Изменим также заголовки полей выводимой таблицы. Для этого в описании полей в строке «Поле» введем их новые названия, отделяя их от описания двоеточием:
Оценка_Т: Теория
Оценка_П: Практика
Оценка_Л: Лабы
Часть выражения, расположенная до двоеточия выводится после запуска запроса как заголовок столбца, вместо выводимого Access по умолчанию. Таким способом можно формировать более понятные заголовки полей, чем генерируемые базой.
Сохраним полученный запрос под именем «Итог». Запустите запрос и проанализируйте полученные результаты.
1.3. Создание запроса с параметром
Встречаются задачи, в которых параметры запросов заранее неизвестны, или есть необходимость в их изменении. Для этого в Access предусмотрена возможность ввода параметров запросов непосредственно перед их исполнением. Чтобы установить ввод параметра вместо конкретного значения, в строке «Условие отбора» вводятся имя или фраза, заключенные в квадратные скобки. Все, введенное в квадратных скобках Access рассматривает как имя параметра, и выводится в диалоговом окне запроса как комментарий в вводимому параметру. В запросе можно использовать несколько параметров, но с уникальными именами.
Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу «Преподаватели». Выберем в бланк вывода пункт «Преподаватели.*», выводящий все поля таблицы «Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке «Условие отбора» этого поля введем выражение:
=[Введите название кафедры]
Сохраним полученный запрос как «Выборка преподавателей по кафедрам». Выполнив запуск запроса, мы увидим диалоговое окно, запрашивающее название кафедры.
После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра.
Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.
1.4. Создание перекрестного запроса
Для нашего запроса для таблицы «Преподаватели» в меню «Запрос» установим указатель «Перекрестный». Access добавит в блок QBE строку «Перекрестная таблица». Затем в бланк перенесем поле «Должность», установим “заголовки столбцов”.
1.5. Создание запроса типа «внешнее объединение»
Еще одним типом специальных запросов является внешнее объединение, которое применяется в многотабличных запросах. При использовании запросов данного типа итоговый набор записей формируется не только при условии совпадения связанных полей базовых таблиц, но и из записей одной таблицы, не имеющих соответствия в другой.
Создадим запрос, выводящий информацию обо всех студентах, с задолженностями и без. В этом запросе будет использоваться внешнее объединение таблиц «Студенты» и «Результаты» по совпадению поля «Номер_С» со всеми записями таблицы «Студенты».
Для создания внешнего объединения необходимо изменить параметры объединения. Откроем запрос «Задолженность» в режиме конструктора. Щелкнем по линии связи между таблицами «Студенты» и «Результаты» для открытия диалогового окна «Параметры объединения».
По умолчанию в этом окне установлен тип объединения «выведение только тех записей, для которых совпадают связанные поля». Другие типы объединение позволяют выводить «все записи главной таблицы и только те записи дочерней, для которых совпадают значения связанных полей» и «все записи дочерней и только те записи главной, для которых связанные поля совпадают».
Выберем третий тип связи и щелкнем на кнопке «Ок». После этого на линии соединения таблиц появится стрелка, указывающая на внешнее объединение. Сохраним модифицированный запрос (через “Сохранить как” («Save as..»), чтобы не затереть предыдущий запрос) под именем «Внешнее объединение по студентам».
Вернуться в оглавление:Уроки Access
Создание запросов в классических базах данных Access с помощью средства чтения с экрана
Содержимое для средств чтения с экрана
Эта статья предназначена для людей с нарушениями зрения, использующих программы чтения с экрана совместно с продуктами Office. Статья входит в набор содержимого Специальные возможности Office. Дополнительные общие сведения см. на домашней странице службы поддержки Microsoft.
Создавайте Access с помощью клавиатуры и чтения с экрана. Мы проверили эту функцию с использованием экранного диктора, JAWS и NVDA, но она может работать и с другими средствами чтения с экрана, если они соответствуют общепринятым стандартам и методам для специальных возможностей.
Запрос упрощает просмотр, добавление, удаление и изменение данных в Access базе данных на компьютере. Они также полезны, если вы хотите быстро найти данные, вычислить или обобщить их, а также автоматизировать такие задачи управления данными, как просмотр актуальных данных.
Новые возможности Microsoft 365 становятся доступны подписчикам Microsoft 365 по мере выхода, поэтому в вашем приложении эти возможности пока могут отсутствовать. Чтобы узнать о том, как можно быстрее получать новые возможности, станьте участником программы предварительной оценки Office.
Дополнительные сведения о средствах чтения с экрана см. в статье о работе средств чтения с экрана в Microsoft Office.
В этом разделе
Типы запросов
В хорошо спроектированной базе данных данные, которые нужно добавить в форму или отчет, обычно находятся в нескольких таблицах. Запрос извлекает данные из различных таблиц и собирает их для отображения в форме или отчете. Существует два основных типа запросов: запрос на выборку и запрос на изменение. Тип создаваемого запроса зависит от того, какую задачу вы хотите выполнить.
Выбор запросов
Запрос на выборку является запросом результатов. Запрос на выборку позволяет получить только необходимые данные в представлении таблицы. С помощью запроса на выборки сделайте следующее:
просмотр данных из определенных полей в таблице;
одновременный просмотр данных из нескольких связанных таблиц;
просмотр данных на основе определенных условий;
Объединение данных из разных таблиц
Например, если таблица «Товар» содержит несколько полей (столбцов), вы можете создать запрос на выборку, чтобы получить представление, в которое в фокусе будут только необходимые поля (столбцы). Вы также можете добавить условия для фильтрации возвращенных строк, чтобы, например, просмотреть только строки для товаров стоимостью более 100 ₽.
Запросы на выполнение действий
Запрос на изменение — это запрос на выполнение действия с данными. Используйте его для добавления, изменения или удаления данных в базе данных. Для каждой задачи, например добавления или удаление данных, существует специальный тип запроса.
Создание запроса на выборку
Для выполнения простого запроса используйте мастер запросов. Чтобы добавить условия в запрос, используйте конструктор запросов.
Использование мастера запросов
Нажмите ALT+C, Q, Z. Откроется окно Новый запрос с выбранным мастером Простой запрос.
Если вы еще не сохранили таблицу, для которой создается запрос, вам будет предложено сделать это перед открытием мастера запросов.
Мастер запросов также можно использовать для создания запросов других типов:Перекрестный запрос, Поиск дубликатов запроса для поиска записей с повторяюными значениями полей в одной таблице и Поиск записей (строк) в одной таблице, не связанных с записями в другой таблице.
Нажмите клавишу ВВОД. Откроется окно Создание простого запроса с фокусом на списке Доступные поля.
Чтобы перейти к полю со списком Таблицы и запросы, нажмите клавиши ALT +Т или SHIFT+TAB.
Чтобы открыть список, нажмите клавиши ALT+СТРЕЛКА ВНИЗ. В списке выберите таблицу, для выполнения запроса нажимая клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ.
Чтобы перейти к полю со списком Доступные поля, нажмите клавишу TAB. Чтобы выбрать поле для выполнения запроса, используйте клавишу СТРЕЛКА ВНИЗ.
Чтобы добавить поле в запрос, нажмите ALT+Ы. Фокус переместится в поле со списком Выбранные поля.
Нажимая клавишу TAB, пока не услышите «Больше, кнопка», а затем нажмите клавишу ВВОД.
Если вы хотите добавить все поля, нажмите клавиши ALT+S, а затем нажимая клавишу TAB, пока не услышите «Больше, кнопка». Нажмите клавишу TAB. Прозвучит слово «Button» (Кнопка). При нажатии JAWS вы услышите:»Двойная стрелка вправо, кнопка». Нажмите клавишу ВВОД, чтобы выбрать ее.
Чтобы добавить другие таблицы в запрос, нажмите ALT+Т. Фокус переместится к полю Таблицы и запросы. При необходимости повторите шаги 4–7.
Когда вы закончите вводить все таблицы и поля, нажмите клавиши ALT+Д, чтобы перейти к следующей странице мастера.
Совет: То, какая страница отобразится, зависит от введенных сведений. Например, вам может быть предложено выбрать подробную и итоговую версию запроса. Выберите нужный вариант и нажмите клавиши ALT+Д, чтобы перейти к следующей странице мастера.
На странице нового мастера вы услышите «Заголовок запроса?». Нажмите shift+TAB. Фокус перемещается в поле Название. Введите имя запроса.
Проверьте, измените и сохраните запрос.
Чтобы сохранить запрос и открыть его для просмотра сведений, нажмите ALT+O, а затем нажмите ввод. Чтобы закрыть запрос, нажмите клавишу F6.
Чтобы сохранить запрос и выйти из мастера, не отображая его результаты, нажмите ALT+F, S. Когда мастер закроется, запрос появится на новой вкладке с фокусом в первой ячейке.
Чтобы изменить оформление запроса, нажмите ALT+M, а затем нажмите ввод. Запрос откроется в конструкторе.
Использование конструктора запросов
Нажмите ALT+C, Q, D. Откроется диалоговое окно Показать таблицу с выбранной вкладками Таблицы, и вы услышите «Диалоговое окно «Показать таблицу»».
Чтобы выбрать таблицу и добавить ее в запрос, в диалоговом оке Добавление таблицы нажмите клавишу СТРЕЛКА ВНИЗ, а затем, когда услышите имя нужной таблицы, нажмите клавиши ALT+A. Таблица будет вставлена в рабочую область над бланком.
Чтобы закрыть диалоговое окно Показать таблицу, нажмите ALT+C.
Фокус переместится в строку поля на бланке. Вы услышите: «Access, строка 1, столбец 1». При этом вы услышите сообщение «Конструктор, нумбер, введите текст». Чтобы добавить поле на конструктор, нажмите клавиши ALT+СТРЕЛКА ВНИЗ. Откроется раскрывающийся список доступных полей.
Чтобы перейти к списку с помощью JAWS, нажмите клавиши CTRL+СТРЕЛКА ВВЕРХ. При экранный диктор фокус автоматически перемещается в список.
Чтобы выбрать поле из списка, нажимите клавишу СТРЕЛКА ВНИЗ, пока не услышите имя нужного поля, а затем нажмите клавишу ВВОД, чтобы выбрать его. Выбранное поле появится в столбце. Переход к следующему столбцу выполняется автоматически.
Чтобы добавить еще одно поле в запрос, повторите шаги 4–6.
Чтобы добавить условие в поле:
В столбце поля, в которое вы хотите добавить условие, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите «Строка 11, столбец 1». При этом вы услышите «Условия».
Введите условие. Например, для поля «Цена» в таблице «Товары» введите угловую скобку, знак «равно» и число 10 (>=10), чтобы отвести список товаров с ценой больше или равной 10000 рублей.
Чтобы увидеть результаты запроса, нажмите ALT, J, Q, G.
Нажмите клавиши CTRL+S, чтобы сохранить запрос. В диалоговом оке Сохранить как введите имя запроса и нажмите ввод.
Примечание: С помощью конструктора запросов можно одновременно просмотреть данные из нескольких связанных таблиц. Например, если у вас есть база данных с таблицей «Клиенты» и таблицей «Заказы», в каждой из которых есть поле «Код клиента», формирующее связь «один ко многим» между двумя таблицами, вы можете создать запрос, возвращающий заказы клиентов в определенном городе. Чтобы создать запрос, который одновременно получает данные из нескольких таблиц, выполните указанные выше действия, повторив шаги 2–8 для добавления дополнительных таблиц, полей и условий в запрос.
Создание запроса с параметрами
Если часто требуется выполнять варианты определенного запроса, можно использовать запрос с параметрами. При выполнении запроса с параметрами у пользователя запрашиваются значения полей, которые затем используются для создания условий для запроса.
В области навигации выберите запрос, на основе которого вы хотите создать запрос с параметрами.
Нажмите shift+F10. Откроется контекстное меню.
Нажмите клавишу К. Запрос откроется в представлении Конструктор, а фокус будет установлен на первой строке первого поля в бланке.
Чтобы перейти к полю, которое вы хотите изменить, нажимая клавишу СТРЕЛКА ВПРАВО, пока не услышите имя нужного поля.
Чтобы перейти к строке Условия отбора, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите «Строка 11, столбец 1». При этом вы услышите «Условия».
Строка Для какого города? является запросом параметра. Квадратные скобки указывают, что запрос должен запрашивать ввод данных, а текст (в данном случае Для какого города? ) — это вопрос, отображающийся в запросе.
Нажимая клавишу TAB, перейдите к кнопке ОК, а затем нажмите клавишу ВВОД. В этом примере будут показаны заказов клиентов из Москвы.
Указание типов данных для параметра
Можно также указать, данные какого типа разрешается вводить в качестве значения параметра. Тип данных можно настроить для любого параметра, но особенно важно сделать это для числовых и денежных данных, а также данных о дате и времени. Когда вы указываете тип данных, который должен принимать параметр, пользователи получают более полезные сообщения об ошибках при вводе данных неправильного типа, например текста, когда ожидаются валюты.
Примечание: Если параметр настроен таким образом, чтобы принимать текстовые данные, любое введенное значение интерпретируется как текст и сообщение об ошибке не отображается.
Откройте запрос с параметрами. Чтобы перейти в конструктор, нажмите ALT+H, W, D. Откроется сетка конструктора.
Нажмите ALT, J, Q, S, P. Откроется диалоговое окно Параметры запроса с фокусом на столбце Параметр.
Введите предложение ввести данные для каждого параметра, для которого вы хотите задать тип данных. Они должны совпадать с предложениями, которые были указаны в строке «Условие отбора» бланка запроса. Например, если вы ввели Для какого города? введите этот же запрос в диалоговом окне Параметры запроса.
Чтобы перейти в столбец Тип данных, нажмите клавишу TAB.
Чтобы открыть список, нажмите клавиши ALT+СТРЕЛКА ВНИЗ.
Чтобы выбрать тип данных для параметра, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужный.
Чтобы сохранить и закрыть диалоговое окно, нажмите клавишу ВВОД.
Дополнительные сведения об использовании параметров можно найти в параметрах для ввода данных при запуске запроса.
Создание перекрестного запроса
Если вы хотите изменить структуру сводных данных, чтобы сделать их более наглядными и информативными, то можете использовать перекрестный запрос. С помощью перекрестного запроса можно вычислить сумму, среднее значение или другую агрегатную функцию с последующей группировкой результатов в двух наборах значений: сбоку и сверху таблицы. Мастер запросов поможет вам быстро создать перекрестный запрос.
При использовании мастера необходимо выбрать только одну таблицу или один запрос в качестве источника записей для перекрестного запроса. Если данные, которые вы хотите включить, содержатся в нескольких таблицах, сначала создайте запрос на выборку, возвращающий их.
Нажмите ALT+C, Q, Z. Откроется диалоговое окно Новый запрос с выбранным мастером Простой запрос.
Совет: Если вы еще не сохранили таблицу, для которой создается запрос, вам будет предложено сделать это перед открытием мастера запросов.
Нажмите клавишу СТРЕЛКА ВНИЗ. Вы услышите «Мастер перекрестных запросов».
Нажмите клавишу ВВОД или клавиши ALT+Д. Откроется мастер перекрестных запросов с выбранной кнопкой «Таблицы» и фокусом в списке Таблицы.
Выберите объекты, которые вы хотите использовать для создания перекрестного запроса.
Чтобы выбрать таблицу, используйте клавишу СТРЕЛКА ВНИЗ.
Чтобы выбрать запрос, нажмите клавиши ALT+З. Нажмите shift+TAB, чтобы перейти к списку. Чтобы выбрать запрос, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите его имя.
Чтобы выбрать и таблицы, и запросы, нажмите клавиши ALT+И. Нажмите shift+TAB, чтобы перейти к списку. Чтобы выбрать нужные таблицы и запросы, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужные.
Чтобы перейти к следующей странице, нажмите клавишу ВВОД или ALT+Д.
Откроется страница с фокусом на списке Доступные поля. Чтобы выбрать поле со значениями, которые вы хотите использовать в качестве заголовков строк, нажмите клавишу СТРЕЛКА ВНИЗ.
Чтобы добавить выбранное поле, нажмите клавишу TAB, а затем клавишу ВВОД. Повторите это действие для каждого поля, которое вы хотите добавить.
Вы можете выбрать до 3 полей для использования в качестве источников заголовков строк, но чем меньше заголовков строк, тем проще будет читать перекрестную таблицу.
Если для формирования заголовков строк выбирается несколько полей, то порядок их выбора определяет, как будут по умолчанию сортироваться результаты.
Чтобы перейти к следующей странице мастера, нажмите клавишу ВВОД или ALT+Д.
На следующей странице, чтобы выбрать поле со значениями, которые вы хотите использовать в качестве заголовков столбцов, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужное поле.
Совет: Обычно следует выбирать поле, содержащее меньше значений, чтобы результаты было удобно читать. Например, использовать поле с небольшим количеством возможных значениями (такое как пол) обычно предпочтительнее, чем поле, которое может содержать множество различных значений (такое как возраст).
Если поле, выбранное для создания заголовков столбцов, содержит данные типа «Дата/время», мастер выполнит дополнительное действие, предложив сгруппировать даты по интервалам. Вы можете выбрать значение Год, Квартал, Месяц, Дата или Дата и время. Если для заголовков столбцов не выбрано поле «Дата/время», мастер пропускает эту страницу.
Чтобы перейти к следующей странице, нажмите клавишу ВВОД или ALT+Д. При открытии страницы выбирается первое поле в списке Поля, а фокус устанавливается на списке Функции.
Чтобы перейти к списку Поля, выберите другое поле, нажимая shift+TAB. Вы услышите: «Поля, выбрано». При этом вы услышите «Поля, двоеточие, список» и название первого поля.
Чтобы выбрать поле, используйте клавишу СТРЕЛКА ВНИЗ.
Чтобы перейти к полю Список функций, нажмите клавишу TAB. Вы услышите: «Функции, выбрано». При работе с JAWS вы услышите «Функции, двоеточие, список» и название первой функции.
Чтобы выбрать функцию для расчета сводных значений, используйте клавишу СТРЕЛКА ВНИЗ. Тип данных, выбранный в этом поле, определяет, какие функции будут доступны.
Завершив выбор, нажимите клавишу TAB, пока не дойдете до квадратика Да, включите сумму строк. Нажмите пробел, чтобы выбрать или очистить его.
Если итоги строк включены, в перекрестный запрос добавляется заголовок строки, в котором используются те же поле и функция, что и для значения поля. При включении итога по строке вставляется дополнительный столбец, содержащий сводные данные по остальным столбцам. Например, если перекрестный запрос вычисляет средний возраст по расположению и полу (с использованием заголовков столбцов, определяемых полом), в дополнительном столбце будет рассчитываться средний возраст по расположению независимо от пола.
Совет: Функцию, используемую для получения сумм строк, можно изменить, отредактировать перекрестный запрос в режиме конструктора.
Чтобы перейти к следующей странице мастера, нажмите клавишу ВВОД или ALT+Д.
На следующей странице нажмите клавиши SHIFT+TAB, а затем введите имя. Имя по умолчанию содержит подчеркивание и перекрестный суффикс.
Просмотрите, измените и сохраните запрос.
Чтобы просмотреть перекрестный запрос, нажмите клавишу ВВОД.
Чтобы изменить оформление запроса, нажмите ALT+M, а затем нажмите ввод.
Чтобы сохранить запрос и завершить работу мастера, нажмите клавиши ALT+Г.
Создание запроса на удаление
Если вы хотите одновременно удалить записи (строки) из таблицы или двух связанных таблиц, используйте запрос на удаление. Запрос на удаление полезен, так как он позволяет задать условия для быстрого поиска и удаления данных. Он также сэкономит вам время, так как вы сможете повторно использовать сохраненный запрос.
Перед удалением данных или выполнением запроса на удаление убедитесь в том, что у вас есть резервная копия классической базы данных Access. Запрос на удаление дает возможность просмотреть удаляемые строки перед удалением.
Если вы хотите удалить только несколько записей, запрос не требуется. Просто откройте таблицу в представлении таблицы, выберите поля (столбцы) или записи (строки), которые нужно удалить, и нажмите кнопку УДАЛИТЬ. Вам будет предложено подтвердить окончательное удаление.
Создание запроса на удаление для удаления всех пустых строк в таблице или поле
Нажмите ALT+C, Q, D. Откроется диалоговое окно Показать таблицу.
Чтобы выбрать таблицу, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите ее имя. Нажмите ALT+Д. Повторите эти действия для каждой таблицы, из которой вы хотите удалить записи.
Чтобы закрыть диалоговое окно Показать таблицу, нажмите ALT+C. Таблица появится в левом верхнем разделе сетки запроса со всеми перечисленными полями.
Нажмите ALT+J, Q, X. Откроется сетка конструктора с фокусом на первом поле. В сетке конструктора строки Сортировка и Показать больше не доступны, но строка Удалить теперь доступна.
Нажмите клавиши ALT+СТРЕЛКА ВНИЗ, чтобы открыть список.
Нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужное поле, а затем нажмите клавишу ВВОД. Фокус переместится в следующий столбец.
Чтобы перейти к предыдущему столбце, нажмите клавишу СТРЕЛКА ВЛЕВО.
Чтобы перейти к строке Удалить, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите «Удалить двоеточие», а затем нажмите клавиши ALT+СТРЕЛКА ВНИЗ, чтобы открыть список.
Чтобы выбрать «Где», нажмите клавишу СТРЕЛКА ВВЕРХ, а затем клавишу ВВОД. Фокус переместится в следующий столбец.
Чтобы перейти к предыдущему столбце, нажмите клавишу СТРЕЛКА ВЛЕВО.
Чтобы перейти к строке Условияотбора, нажмите клавишу СТРЕЛКА ВНИЗ.
Когда вы услышите «Условия» или «Строка 11, столбец 1», введите IsNull(true).
Чтобы убедиться, что запрос возвращает записи, которые вы хотите удалить, нажмите ALT+H, W, H.
Чтобы выполнить запрос:
Чтобы перейти в конструктор, нажмите ALT+H, W, D.
В конструкторе нажмите ALT+J, Q, G. Откроется окно подтверждения с просьбой подтвердить удаление строк.
Чтобы удалить строки, нажмите клавишу ВВОД.
Чтобы сохранить запрос, нажмите клавиши CTRL+S. В диалоговом оке Сохранить как введите имя и нажмите ввод.
Создание запроса на удаление с определенными условиями
Нажмите ALT+C, Q, D. Откроется диалоговое окно Показать таблицу.
Чтобы выбрать таблицу, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите ее имя. Нажмите ALT+Д. Повторите эти действия для каждой таблицы, из которой вы хотите удалить записи.
Чтобы закрыть диалоговое окно Показать таблицу, нажмите ALT+C. Таблица появится в левом верхнем разделе сетки запроса со всеми перечисленными полями.
Нажмите ALT+J, Q, X. Откроется сетка конструктора с фокусом на первом поле. В сетке конструктора строки Сортировка и Показать больше не доступны, но строка Удалить теперь доступна.
Нажмите клавиши ALT+СТРЕЛКА ВНИЗ, чтобы открыть список.
Чтобы выбрать поле с условием удаления, нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужное поле, а затем нажмите клавишу ВВОД.
Чтобы перейти к строке Удалить, нажмите клавишу СТРЕЛКА ВНИЗ. Нажмите клавиши ALT+СТРЕЛКА ВНИЗ, а затем, чтобы выбрать «Где», нажмите клавишу СТРЕЛКА ВНИЗ, а затем клавишу ВВОД. Фокус переместится в следующий столбец.
Чтобы перейти к предыдущему столбце, нажмите клавишу СТРЕЛКА ВЛЕВО.
Чтобы перейти к строке Условия отбора, нажмите клавишу СТРЕЛКА ВНИЗ.
Введите условия. Пример списка критериев в запросах можно найти в ссылке Создание и выполнение запроса на удаление.
Чтобы перейти к строке Показать, нажмите клавишу СТРЕЛКА ВВЕРХ.
Нажмите пробел, чтобы сжать поле Показать для каждого критерия.
Чтобы убедиться, что запрос возвращает записи, которые вы хотите удалить, нажмите ALT+H, W, H.
Чтобы выполнить запрос:
Чтобы перейти в конструктор, нажмите ALT+H, W, D.
В конструкторе нажмите ALT+J, Q, G. Откроется окно подтверждения с просьбой подтвердить удаление X-строк.
Чтобы удалить строки, нажмите клавишу ВВОД.
Чтобы сохранить запрос, нажмите клавиши CTRL+S. В диалоговом оке Сохранить как введите имя и нажмите ввод.
Создание резервной копии базы данных
Нажмите ALT+F, A. Откроется окно Сохранить как с выбранным решением Сохранить базу данных как.
Чтобы сделать ее базой данных, нажмите B, а затем ввод. Откроется диалоговое окно Сохранить как с выбранным текстовым полем Имя файла. При необходимости введите новое имя базы данных и нажмите клавишу ВВОД.
При использовании файла, доступного только для чтения, или базы данных, созданной в более ранней версии Access, может отобраться сообщение о невозможность создать резервную копию базы данных.
Вернуться к резервной копии
Закроем и переименуем исходный файл, чтобы в резервной копии можно было использовать имя исходной версии.
Назначьте имя исходной версии резервной копии.
Откройте переименованную резервную копию в Access.
См. также
Техническая поддержка пользователей с ограниченными возможностями
Корпорация Майкрософт стремится к тому, чтобы все наши клиенты получали наилучшие продукты и обслуживание. Если у вас ограниченные возможности или вас интересуют вопросы, связанные со специальными возможностями, обратитесь в службу Microsoft Disability Answer Desk для получения технической поддержки. Специалисты Microsoft Disability Answer Desk знакомы со многими популярными специальными возможностями и могут оказывать поддержку на английском, испанском, французском языках, а также на американском жестовом языке. Перейдите на сайт Microsoft Disability Answer Desk, чтобы узнать контактные сведения для вашего региона.
Если вы представитель государственного учреждения или коммерческой организации, обратитесь в службу Disability Answer Desk для предприятий.
Создание запроса на создание таблицы
В этой статье объясняется, как создать и выполнить запрос таблицы в Access. Вы можете воспользоваться запросом на создание таблицы, чтобы скопировать данные в таблицу, архивировать их или сохранить результаты запроса в виде таблицы.
Чтобы изменить или обновить часть данных в существующем наборе записей, например одно или несколько полей, вы можете использовать запрос на обновление. Дополнительные сведения о запросах на обновление см. в статье Создание и выполнение запроса на обновление.
Чтобы добавить записи (строки) в существующую таблицу, вы можете использовать запрос на добавление. Дополнительные сведения о запросах на добавление см. в статье Добавление записей в таблицу с помощью запроса на добавление.
В этой статье
Общие сведения о запросах на создание таблиц
Запрос на сделайте так, чтобы он извлекал данные из одной или нескольких таблиц, а затем загружал полученный набор в новую таблицу. Новая таблица может находиться в открытой базе данных или создать ее в другой базе данных.
Как правило, запросы на создание таблицы используются, если нужно скопировать или архивировать данные. Например, предположим, что у вас есть таблица (или несколько таблиц) с данными о продажах, которые используются в отчетах. Суммы продаж не меняются, так как транзакции выполнялись по крайней мере один день назад, а постоянное выполнение запроса для извлечения данных может занимать время, особенно если вы применяете сложный запрос к крупному хранилищу данных. Чтобы снизить рабочую нагрузку и получить удобный архив, вы можете загрузить данные в отдельную таблицу и использовать ее в качестве источника. При этом не забывайте, что данные в новой таблице — это моментальный снимок: они не связаны с исходными таблицами и не подключены к ним.
Создание запроса на создание таблице включает следующие основные этапы:
Включите базу данных, если она не подписана или не находится в надежном расположении. В противном случае не удастся выполнять запросы на изменение (добавление, обновление и создание таблиц).
В конструкторе запросов создайте запрос на выборку и настройте его так, чтобы он возвращал нужные записи. Вы можете выбрать данные из нескольких таблиц данных и выполнить денормализацию данных. Например, можно поместить данные клиентов, грузоотправителей и поставщиков в одну таблицу, что вы никогда не стали бы делать в рабочей базе данных с нормализованными таблицами. Вы также можете использовать условия в запросе для дальнейшей настройки или ограничения результирующего набора.
Дополнительные сведения о нормализации данных см. в статье Основные сведения о создании баз данных.
Преобразуйте запрос на выборку в запрос на создание таблицы, выберите расположение для новой таблицы и выполните запрос.
Не путайте запрос на создание таблицы с запросом на обновление или на добавление. Используйте запрос на обновление, когда вам нужно добавить или изменить данные в отдельных полях. Запрос на добавление нужен, чтобы добавлять новые записи (строки) в существующий набор записей в существующей таблице.
Создание запроса на создание таблицы
При составлении запроса на создание таблицы следует сначала создать запрос на выборку, а затем преобразовать его в запрос на создание таблицы. В запросе на выборку можно использовать вычисляемые поля и выражения, чтобы он возвращал нужные данные. Ниже описано, как создать и преобразовать запрос. Если нужный запрос на выборку уже создан, переходите непосредственно к инструкциям по преобразованию запроса на выборку и выполнению запроса на создание таблицы.
Создание запроса на выборку
Примечание: Если запрос на выборку, возвращающий нужные данные, уже создан, перейдите к следующему действию.
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
Дважды щелкните таблицы, из которых вы хотите получить данные. Каждая таблица отображается в верхней части конструктора запросов. Завершив добавление таблиц, нажмите кнопку Закрыть.
В каждой таблице дважды щелкните поля, которые вы хотите использовать в запросе. Каждое поле появится в пустой ячейке в строке Поле на бланке. На рисунке показан бланк с несколькими добавленными полями таблицы.
При необходимости добавьте выражения в строку Поле.
Вы также можете добавить любые условия в строку Условие отбора на бланке.
Нажмите кнопку выполнить, чтобы выполнить запрос и отобразить результаты в таблицу.
Настраивайте поля, выражения или условия и повторно выполняйте запрос, пока он не будет возвращать данные, которые вы хотите поместить в новую таблицу.
Преобразование запроса на выборку
Откройте запрос на выборку в Конструкторе или перейдите в Конструктор. В Access это можно сделать несколькими способами:
Если запрос открыт в режиме таблицы, щелкните правой кнопкой мыши вкладку документа запроса и выберите пункт Конструктор.
Если запрос закрыт, щелкните его правой кнопкой мыши в области навигации и выберите в контекстном меню пункт Конструктор.
На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.
Откроется диалоговое окно Создание таблицы.
В поле Имя таблицы введите имя новой таблицы.
Щелкните стрелку вниз и выберите имя существующей таблицы.
Выполните одно из указанных ниже действий.
Помещение новой таблицы в текущую базу данных
Выберите параметр Текущая база данных, если он еще не выбран, и нажмите кнопку ОК.
Нажмите кнопку » » и нажмите кнопку «Да», чтобы подтвердить операцию.
Примечание: При замене существующей таблицы эта таблица сначала удаляется, при этом запрашивается подтверждение удаления. Нажмите кнопку Да, а затем нажмите кнопку Да еще раз, чтобы создать новую таблицу.
Помещение новой таблицы в другую базу данных
Щелкните элемент В другой базе данных.
В поле Имя файла введите расположение и имя файла другой базы данных.
Нажмите кнопку Обзор, в новом диалоговом окне Создание таблицы укажите расположение другой базы данных и нажмите кнопку ОК.
Нажмите кнопку ОК, чтобы закрыть первое диалоговое окно Создание таблицы.
Нажмите кнопку » » и нажмите кнопку «Да», чтобы подтвердить операцию.
Примечание: При замене существующей таблицы эта таблица сначала удаляется, при этом запрашивается подтверждение удаления. Нажмите кнопку Да, а затем нажмите кнопку Да еще раз, чтобы создать новую таблицу.
Дополнительные сведения об условиях запроса и выражениях
Ранее в статье упоминались условия запроса и выражения. Условие запроса — это правило, служащее для определения записей, которые должен возвращать запрос. Условия используются, если вам нужны не все записи в наборе данных. Такое условие, как «Воронеж» OR «Рязань» OR «Москва», возвращает только записи для этих городов.
Дополнительные сведения об использовании условий см. в статье Примеры условий запроса.
Выражение — это сочетание математических или логических операторов, констант, функций и имен полей, элементов управления и свойств, результатом вычисления которого является одно значение. Выражения используются для получения данных, которые не хранятся непосредственно в таблице. Например, выражение [ ЦенаЗаЕдиницу ]*[Количество] умножает значение в поле «ЦенаЗаЕдиницу» на значение в поле «Количество». Выражения можно использовать различными способами, и процесс их создания и работы с ними может быть довольно сложным.
Дополнительные сведения о создании и использовании выражений см. в статье Создание выражений.
Предотвращение блокировки запроса режимом отключения
По умолчанию при открытии базы данных, которая не сохранена в надежном расположении или не является доверенной, Access не позволяет выполнять никакие запросы на изменение (запросы на добавление, обновление, удаление и создание таблиц).
Если при попытке выполнения запроса на изменение ничего не происходит, проверьте, не появляется ли в строке состояния Access следующее сообщение:
Данное действие или событие заблокировано в режиме отключения.
Если выводится это сообщение, сделайте следующее:
На панели сообщений (сразу под лентой) нажмите кнопку Включить содержимое.
Использование параметров для ввода данных при выполнении запроса
Чтобы настроить в запросе к базе данных рабочего стола Access ввод условий при его выполнении, создайте запрос с параметрами. Это даст возможность использовать запрос повторно, не открывая его в Конструктор для изменения условий.
Примечание: Эта статья не относится к веб-приложениям Access.
Терминология
Прежде чем перейти к описанной ниже пошаговой процедуре, полезно ознакомиться с несколькими терминами.
Параметр. Параметр — это часть сведений, предоставляемых запросу при его выполнении. Параметры можно использовать отдельно или в составе длинных выражений для формирования условия запроса. Параметры можно добавить в запрос любого из следующих типов:
на создание таблицы;
Условия. Условия — это «фильтры», добавляемые в запрос для указания элементов, которые он должен возвратить.
Дополнительные сведения об указанных выше типах запросов см. в статье Знакомство с запросами.
Создание запроса с параметрами
Создание параметра аналогично добавлению обычного условия в запрос:
Создайте запрос на выборку и откройте его в конструкторе.
В строке «Условия» поля, к которым вы хотите применить параметр, введите текст, который вы хотите отобразить в поле параметра, в квадратных скобках. Например: [Введите дату начала:]
Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.
При запуске запроса текст отображается без квадратных скобок.
Введите нужное значение и нажмите кнопку ОК.
В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.
Указание типов данных для параметра
Можно настроить параметр так, чтобы он принимал только определенный тип данных. Это особенно важно для числовых и денежных данных, а также данных даты и времени, так как в таком случае пользователи получат более содержательное сообщение об ошибке при вводе неправильного типа данных, например при вводе текста вместо денежного значения.
Примечание: Если параметр настроен на прием текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.
Чтобы задать тип данных для параметра в запросе, выполните указанные ниже действия.
Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.
В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод каждого из параметров, для которых требуется указать тип данных. Проверьте, соответствуют ли параметры запросам на ввод, указанным в строке Условия в бланке запроса.
В столбце Тип данных выберите тип данных для каждого параметра.
Добавление параметра в запрос на объединение
Так как запрос на объединение нельзя просмотреть в бланке запроса, действия с ним будут немного отличаться.
Откройте запрос на объединение в режиме SQL.
Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.
Если предложение WHERE уже существует, проверьте, включены ли в него все поля, в которые нужно добавить параметры. Если нет, добавьте недостающие поля.
Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].
Имейте в виду, что во все разделы запроса необходимо добавить одинаковые фильтры. На рисунке выше запрос содержит два раздела (разделенные ключевым словом UNION), поэтому параметр нужно добавить дважды. Но при выполнении запроса ввод данных запрашивается только один раз (предполагается, что во всех разделах указан одинаковый запрос).
Объединение параметров с помощью подстановочных знаков для большей гибкости
Как и в случае обычных условий, вы можете объединить параметры с помощью ключевого слова Like и подстановочных знаков для поиска соответствий в более широком диапазоне элементов. Предположим, что нужно запросить страну или регион и при этом сопоставить их со значениями, которые содержат строку параметра. Для этого выполните указанные ниже действия.
Создайте запрос на выборку и откройте его в конструкторе.
В строке Условия поля, в которое нужно добавить параметр, введите Like «*»&[, текст сообщения, а затем ]&»*».
При запуске запроса с параметрами запрос появляется в диалоговом окне без квадратных скобок и без ключевого слова Like или
поддиаметров:
После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение «Австралия» или «Австрия».
Дополнительные сведения о подстановочных знаках см. в статье Использование подстановочных знаков в качестве условий.
Возврат элементов, не соответствующих параметру
Вместо возврата элементов, соответствующих параметру, можно создать запрос, возвращающий элементы, которые ему не соответствуют. Например, может потребоваться запросить год и возвратить элементы со значением года, большим чем указанное. Для этого введите оператор сравнения слева от запроса параметра в квадратных скобках, например >[Введите год:].
Видео: использование параметров в запросах
Использовать в запросе параметр не сложнее, чем создать запрос на основе условий. Запрос можно настроить таким образом, чтобы предлагалось ввести определенное значение, такое как артикул товара, или несколько значений, например две даты. Для каждого параметра запрос выводит отдельное диалоговое окно, в котором предлагается ввести значение.
В этом видео подробнее рассказывается о создании параметров в запросах.
Информационные технологии. 10 класс (Базовый уровень)
§ 5. Формирование запросов на выборку данных
С помощью запросов в базах данных выполняют такие операции, как отбор данных, их сортировка и фильтрация. Запрос можно использовать для выполнения расчетов, объединения данных из разных таблиц, а также для добавления, изменения или удаления данных в таблице. Это очень гибкий инструмент, и существует много типов запросов, а выбор типа определяется назначением запроса.
Запрос — объект БД, который используется для реализации эффективного поиска и обработки данных.
Источником данных для запросов могут быть не только одна или несколько таблиц, но другие запросы. Запросы не хранят данные, а только отображают данные источников. На основе запросов могут быть построены формы и отчеты.
Самый распространенный вид запросов — запрос на выборку. Он предназначен для отбора данных из источника в соответствии с некоторым условием. Условие запроса — это выражение, которое СУБД сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение.
Запрос на выборку позволяет:
1. Просматривать значения только из полей, которые вас интересуют.
2. Просматривать записи, которые отвечают указанным вами условиям.
3. Использовать выражения в качестве полей.
По особенностям действия среди запросов на выборку можно выделить простые запросы, групповые запросы и запросы с вычисляемым полем.
Основные режимы работы с запросами в Access:
1. Режим таблицы. Отображает информацию запроса на выборку в режиме таблицы.
2. Конструктор. В этом режиме определяется структура запроса и условия выбора данных (см. Приложение к главе 1).
Создать запрос можно с помощью Мастера запросов либо в Конструкторе (пример 5.2).
Мастер запросов позволяет автоматически создавать запросы на выборку. Однако при использовании мастера не всегда можно контролировать процесс создания запроса, но таким способом запрос создается быстрее. Необходимо просто выполнить последовательность действий, предлагаемых мастером на каждом этапе (пример 5.3).
Основные этапы создания запроса на выборку:
1. Выбор инструмента создания запроса.
2. Определение вида запроса.
3. Выбор источника(ов) данных.
4. Добавление из источника(ов) данных полей, которые должен содержать запрос.
5. Определение условий, которые формируют набор записей в запросе.
6. Добавление группировки, сортировки и вычислений (может отсутствовать).
Действие простых запросов на выборку ограничивается отбором данных по некоторым условиям без их обработки.
Примеры записи условий в запросах:
Поля с числовым типом данных
Выбираются записи, у которых значение в этом поле больше 0 и меньше 8.
Выбираются записи, у которых значение в этом поле не равно 0.
Поля с текстовым типом данных
Если значение в поле записи равно Орша, то запись включается в результат запроса.
В результат запроса включаются записи, у которых значение соответствующего поля заканчивается на букву к. После выполнения запроса условие будет дополнено оператором Like, который позволяет использовать символы шаблона.
Правила записи условий для поля с типом данных Дата и время такие же, как для поля с числовым типом данных. После выполнения запроса в этом случае в условие будут добавлены знаки #.
В режиме конструктора процесс создания запроса находится под вашим контролем, однако здесь есть вероятность допустить ошибку и необходимо больше времени, чем в мастере (пример 5.4).
После создания запроса на выборку его необходимо запустить, чтобы посмотреть результаты, т. е. открыть в режиме таблицы. Сохранив запрос, его можно использовать в качестве источника данных для формы, отчета или другого запроса.
В запросах так же, как и в отчетах, можно создавать вычисляемые поля. Для решения ряда вопросов работы с данными используется запрос итоговых значений. Такой запрос представляет собой запрос на выборку, позволяющий группировать данные и производить вычисления.
В запросе итоговых значений в вычисляемом поле используют статистические функции. Задать статистическую функцию для вычисления итоговых значений по каждому из полей запроса можно путем выбора ее из раскрывающегося списка, который появляется после установки курсора в строке Групповая операция (пример 5.6).
Наряду с запросами на выборку часто применяются запросы на действие. С помощью таких запросов можно обновлять значения полей записей, добавлять новые или удалять уже существующие записи. В СУБД Access такие запросы можно создать в режиме конструктора, воспользовавшись инструментами группы Тип запроса:
Пример 5.1. Режимы работы с запросами.
Режим SQL позволяет создавать и просматривать запросы с помощью инструкций языка SQL.
SQL (англ. structured query language — язык структурированных запросов). Применяется для создания, редактирования и управления данными в реляционной базе данных.
Пример 5.2. Группа инструментов Запросы вкладки Создание.
Пример 5.3. Создание запроса на выборку с помощью Мастера запросов.
1. Выбрать инструмент .
2. Выбрать вид запроса.
3. Выбрать источник данных.
4. Задать поле, содержащее повторяющееся значение.
5. Выбрать поля для отображения вместе с повторяющимися значениями.
6. Просмотреть и/или сохранить запрос.
Пример 5.4. Создание простых запросов на выборку с помощью Конструктора запросов.
1. Выбрать инструмент
2. Выбрать источник данных.
3. Добавить поля таблицы, которые будет содержать запрос. Для этого выполнить двойной щелчок по каждому из названий полей в макете таблицы.
4. Записать условие формирования набора записей в запросе.
4.1. Выбор по полю с текстовым типом данных.
4.2. Выбор по полю с числовым типом данных.
4.3. Использование составного условия.
5. Сохранить запросы.
Пример 5.5. Создание запроса с параметрами.
1. Открыть один из запросов, созданных в примере 5.4 в конструкторе.
2. Изменить условия отбора на:
3. Сохранить с новым именем и открыть в режиме таблицы.
4. В диалоговом окне набрать одно из названий кинотеатра.
5. Просмотреть запрос.
Пример 5.6. Создание итогового запроса.
Создать итоговый запрос, определяющий, сколько мальчиков и сколько девочек посещают факультатив по математике.
1. Источник данных — таблица «Учащиеся».
2. Создать запрос с помощью конструктора (добавить в запрос только поле «Пол»).
3. Сгруппировать данные по полю «Пол» (нажать кнопку в группе Показать или скрыть).
4. Добавить вычисляемое поле (в строке нового поля Групповая операция в списке выбрать функцию Count).
Создание запросов на выборку в СУБД МS Access
Тип урока: комбинированный, продолжительность – 90 мин.
I. Организационный момент
Приветствие. Проверка присутствующих.
Сообщение темы, целей и хода занятия.
II. Проверка знаний (вопросы теста взяты из ФЭПО прошлых лет).
Тест по теме: «СУБД Microsoft Access»
ЗАДАНИЕ N 1 ( – выберите один вариант ответа)
В поле «Наименование имущества» таблицы MS Access установлен тип данных…
ЗАДАНИЕ N 2 ( – выберите варианты согласно тексту задания)
ЗАДАНИЕ N 5 ( – выберите варианты согласно тексту задания)
ЗАДАНИЕ N 6 ( – выберите варианты согласно тексту задания)
Закончите определения СУБД MS Access…
ЗАДАНИЕ N 7 ( – выберите варианты согласно тексту задания)
ЗАДАНИЕ N 8 ( – выберите варианты согласно тексту задания)
ЗАДАНИЕ N 9 ( – выберите один вариант ответа)
На рисунке представлено окно для создания таблицы базы данных MS Access в режиме…
ЗАДАНИЕ N 10 ( – выберите один вариант ответа)
Ответы:
№ вопроса | Ответ | |||
1. | а | |||
2. | 1.d | 2.b | 3.c | 4.a |
3. | a | |||
4. | b | |||
5. | 1.b | 2.d | 3.c | 4.a |
6. | 1.c | 2.d | 3.b | 4.a |
7. | 1.a | 2.d | 3.c | 4.b |
8. | 1.a | 2.b | 3.c | 4.d |
9. | c | |||
10. | a | |||
11. | b |
III. Изучение нового материала
Запрос – это объект, служащий для извлечения данных из таблиц, отвечающий некоторым условиям, задаваемым пользователем.
Большинство СУБД разрешают использовать запросы следующих типов:
Запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные;
Запрос-изменение, предназначенный для изменения или перемещения данных; к этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;
Запрос с параметром, позволяющий определить одно или несколько условий отбора во время выполнения запроса.
Запросы черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Результирующая таблица – это определенный образ отобранных полей и записей, при этом работа с «образом» происходит гораздо быстрее и эффективнее чем с таблицами.
Создание запросов
IV. Формирование навыков практической работы.
Запросы – Создание запроса в режиме конструктора.
Выбрать таблицу, на основе данных которой будет формироваться результирующая таблица, нажать кнопки Добавить и Закрыть.
Рабочее поле Конструктора запроса состоит из двух частей: информационной и содержательной. В информационной части можно просмотреть структуру исходной базы данных.
В содержательной части Конструктора запроса следует выделить поля, значение которых либо выводятся на экран, либо участвуют в условиях отбора информации. В результате общий вид запроса будет нижеследующим;
По окончании формирования запроса диалоговое окно следует закрыть. При этом необходимо указать имя запроса, например, Запрос1.
V. Самостоятельная работа
VI. Итог урока, домашнее задание
Источники информации:
- http://support.microsoft.com/ru-ru/office/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D0%B9-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-3197228c-8684-4552-ac03-aba746fb29d8
- http://support.microsoft.com/ru-ru/office/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0%D0%BC%D0%B8-a9739a09-d3ff-4f36-8ac3-5760249fb65c
- http://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%D0%BD%D0%B0-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D1%83-de8b1c8d-14e9-4b25-8e22-70888d54de59
- http://life-prog.ru/view_access.php?id=9
- http://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%D0%B2-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-access-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-8d7fa799-06a4-43c7-9a05-9d56fde93921
- http://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-96424f9e-82fd-411e-aca4-e21ad0a94f1b
- http://support.microsoft.com/ru-ru/office/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D1%80%D0%B8-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-c2806d3d-d500-45a8-8507-ec6af351b6ed
- http://profil.adu.by/mod/book/view.php?id=3438
- http://urok.1sept.ru/articles/570257