Для чего нужен запрос в access
Понятие запроса в программе Microsoft Access. Назначение и виды запросов. Создание
Запроса в режиме конструктора. Параметрические запросы. Запросы на изменение.
Запрос— инструкция на отбор данных, хранящихся в таблицах, или требование на выполнение определенных действий с данными. |
С помощью запроса из базы данных извлекается информация, отвечающая на конкретный вопрос, например: “Сколько в ОАО “Трест” работает главных менеджеров?” Задаваемые в запросе условия — значения конкретных полей — называются критериями отбора. Запрос позволяет создать общий набор записей из данных, находящихся в разных таблицах, и использовать этот набор как источник данных для формы или отчета.
Microsoft Access позволяет:
> использовать в запросе формулы и выражения на основе значений полей таблицы;
> сохранить записи, полученные в результате выполнения запроса, в виде новой таблицы.
В Microsoft Access пользователь имеет возможность создавать и выполнять запросы следующих типов:
1.Запрос на выборку (включая запросы с параметрами и итоговые запросы). Позволяет осуществлять загрузку и отображение записей в режиметаблицы.
2. Запрос на изменение — запрос, в котором выполняется копирование или изменение данных. Существуют следующие типы запросов на изменение.
2.1. Запрос на удаление записи удаляет группу записей из одной или нескольких таблиц.
2.2. Запрос на обновление записивносит общие изменения в группу записей одной или нескольких таблиц.
2.3. Запрос на добавление прибавляет в конец таблицы или нескольких таблиц новые записи, удовлетворяющие заданным критериям отбора.
2.4. Запрос на создание таблицы формирует новую таблицу на основе всех или части данных из одной или нескольких таблиц. Обычно применяется при создании таблицы для экспорта в другие базы данных Microsoft Access или при создании архивной таблицы, содержащей старые записи.
3. Перекрестный запрос позволяет проводить статистические расчеты и вычисления (суммы, количества записей и средних значений) по данным одного поля записи. Результаты группируются в ячейках, соответствующих конкретным полям калькулируемой БД.
4. Запрос с параметрами обеспечивает ввод информации, которая затем используется в качестве критериев отбора.
Как самостоятельно составлять запросы в Microsoft Access
Начинающим разработчикам приложений под Microsoft сервер необходимо знать, как делать запросы в Access. Microsoft Access – самая популярная программа для работы с базами данных в Windows. Основной причиной успеха программы является интерактивный интерфейс.
Запросы или команды предоставляют возможность извлекать и фильтровать информацию, вычислять итоги, а также обновлять, перемещать и удалять записи в большом количестве. Освоение команд Microsoft Access улучшит способность программистов управлять данными и упростит разработку приложений.
Визуальное представление таблиц и графических связей между ними делает запросы Microsoft Access чрезвычайно простыми в использовании. Приятный пользовательский интерфейс по-прежнему позволяет выполнять очень мощный и расширенный анализ. Весь механизм смоделирован на системах SQL и может переключаться между графическим дизайном и синтаксисом SQL.
Разработчики сами делают выбор: использовать готовый конструктор или писать код на SQL. Но стоит помнить, что знание многих функций Microsoft Access позволяет быстро выполнять расширенную обработку данных без программирования.
Виды запросов
Microsoft Access поддерживает множество типов. Описание главных категорий:
Команда Select является наиболее распространенной и может использоваться для просмотра и выбора данных для форм, отчетов, элементов управления и других операций. Другие типы создают или изменяют данные и вместе называются запросами действий.
Запросы на примере Select
Для создания команды с помощью конструктора следует выполнить такие действия:
Настройка условий и их типы
Нижняя часть сетки QBE состоит из нескольких строк для условий. Эти дополнительные строки необходимы для того, чтобы указать, какие записи будут получены.
Чтобы еще больше сузить область, можно ввести критерии для нескольких полей одновременно. При вводе критериев в одной строке выполняется операция «И» между полями. То есть извлекаются строки, которые соответствуют критериям в поле 1 и в поле 2 и т. д. Если условия размещены в разных строках, выполняется операция «ИЛИ».
MS Access. Работа с данными при помощи запросов
Понятие запроса. Основные типы запросов
Создание запросов в режиме конструктора
Вычисления в запросах
Параметрические запросы
Перекрестный запрос
Запрос на изменение
Запросы в СУБД Access
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
Создание запросов в режиме конструктора
Для создания запросов по образцу используется режим конструктора. После определения таблиц (или запросов), на основе которых будет создаваться новый запрос, он будет открыт в режиме конструктора. Окно конструктора запросов состоит из двух частей.
В верхней части окна находятся списки полей тex таблиц или запросов, на основе которых строится данный запрос, в нижней части окна располагается бланк запроса.
Каждая строка бланка запроса выполняет определенную функцию:
Первым шагом построения запроса является выбор полей. Необходимые поля можно выбрать несколькими способами:
Иногда требуется включить в запрос все поля исходной таблицы. Для этого необходимо сделать двойной щелчок мышыо по строке заголовка соответствующего списка полей, выделяя таким образом сразу все поля, и перенести их одновременно в бланк запроса. При этом каждое поле будет помещено в отдельный столбец. Можно воспользоваться другим способом. В начале каждого списка полей, приведенных в верхней полонине окна, находится символ *, который означает «все поля». Для того чтобы включить в запрос все поля таблицы, можно просто перенести * в бланк запроса. В этом случае имя поля в бланке запроса будет содержать имя таблицы, за которым следует точка, а затем — символ * (например, Заказы.*), что означает выбор всех полей исходной таблицы.
У метода переноса * есть одно существенное достоинство. Если в структуре исходной таблицы производятся какие-либо изменения, например, добавляется новое поле, запрос будет автоматически изменен (при использовании первого способа запрос выбирает только те поля, которые были перенесены в бланк запроса. Однако если необходимо определить условие отбора, придется дополнительно добавить отдельные поля в бланк запроса, а чтобы они дважды не включались в выберу снять для соответствующих полей флажки Вывод на экран.
При выполнении запроса в качестве заголовков столбца динамической таблицы используются имена выбранных полей. Для переименования поля в результирующей динамической таблице необходимо установить текстовый курсор перед именем поля в строке Поле бланка запроса и ввести новое имя с двоеточием. В результате получится следующая конструкция: Новое имя: Старое имя поля.
Обычно Microsoft Access выводит записи в том порядке, в каком они выбираются из базы данных. Можно изменить последовательность вывода данных, определив ее порядок в строке Сортировка. При сортировке по нескольким полям порядок обработки полей определяется их положением в бланке запроса: сначала сортируются значения в крайнем левом поле и далее слева направо.
По умолчанию Microsoft Access выводит все поля, вклкюченные в бланк запроса. Если поле используется только для оп ределения условия выбора данных, для него необходимо снять флажок в строке Вывод на экран, щелкнув мышью в соотвествующей ячейке.
Выражение, которое указывает, какие записи необходимо включить в динамическую таблицу при выполнении запроса вводится в строку Условие отбора для поля, по которому это условие необходимо проверить. Для задания условий отбора можно использовать операторы меньше ( ), больше или равно (>=), не равно (<>), равно (=), Like (выбор по маске), Between (между), In (в интервале), And (и), Or (или) и другие, а также имена обьектов, константы и функции.
Завершение ввода условия выполняется нажатием клавиши Enter или просто переходом к другой ячейке бланка запроса с помощью клавиш управления курсором или мыши. Мicrosoft Access проводит синтаксический анализ заданного выражения. Например, если было введено значение текстового поля то это выражение будет представлено в кавычках. Если выражение не содержит никакого оператора, Microsoft Access будет исходить из того, что подразумевается оператор = или Like.
Допускается использование нескольких условий отбора, которые можно задать как для разных полей, так и для одного поля. Для создания сложных условий выбора данных используются логические операторы And и Or. Если условия отбора связаны оператором And, запись выбирается только в случае выполнения всех условий. Если же условия отбора связаны оператором Or, запись выбирается при выполнении хотя бы одного из всех условий. При определении нескольких условий отбора, связанных оператором And, для различных полей необходимо просто задать условие в строке Условие отбора для каждого из полей, образующих критерий выбора данных. Если же при определении нескольких условий поместить их в различные строки — строку Условие отбора и строку или — Microsoft Acces будет использовать Or-связь. В результате условия, расположенные в одной строке, связываются оператором And, в разных строках — оператором Or.
Т.о., при формировании условия отбора в запросах могут использоваться:
Подстановочные символы:
Как реализовать запрос формы (запрос) в проекте Microsoft Access
Дополнительно: Требует высокой квалификации в программировании, взаимодействия и программирования в многопользовательской среде.
Эта статья касается только в проекте Microsoft Access (.adp).
Для версии Microsoft Access 2000 в этой статье см.
235359.
Обзор
В этой статье показано, как использовать формы Microsoft Access для задания условий запроса в проекте Microsoft Access.
Дополнительные сведения
В базе данных Microsoft Access (.mdb) или в Microsoft Office Access 2007 ACCDB-запрос по форме прием можно использовать для создания «форма запроса» для ввода критериев. Форма запроса содержит пустые текстовые поля или раскрывающиеся списки, каждый из которых представляет поле в таблице Access, необходимо выполнить запрос. Сделать записи только в полях, для которых требуется задать условия поиска.
Также можно реализовать приеме в проекте Microsoft Access. В проекте Microsoft Access хранимая процедура служит для поиска записи, которые требуется просмотреть, а затем создать дополнительные формы для отображения выходных данных хранимой процедуры следующим образом.
Создание хранимой процедуры
Выполните следующие действия, чтобы создать хранимую процедуру, которая будет использоваться для возврата данных формы.
В Access 2003 или Access 2002 нажмите кнопку Ввод сохраненной процедуры в диалоговом окне Новый запрос и нажмите кнопку ОК.
В Access 2007 щелкните Хранимая процедурав другой группе.
Введите следующие инструкции Transact-SQL в окне хранимую процедуру:
Сохранить хранимую процедуру с именем по умолчанию QBFProc, а затем закройте процедуру.
Создание запроса по форме
Выполните следующие действия, чтобы создать форму QBF_Form, которая будет использоваться для выбора условия поиска, используемые хранимой процедурой.
Создайте новую форму, не основанную на таблице или запросе и назовите его QBF_Form.
Combo Box:
Name: cboEmpID
Row Source Type: Table/View/StoredProc
Row Source: SELECT EmployeeID, LastName FROM Employees
Column Count: 2
Column Widths: 0;1
Bound Column: 1
Combo Box:
Name: cboOrder
Row Source Type: Table/View/StoredProc
Row Source: SELECT OrderDate FROM Orders
Добавьте кнопку в форму с назначения следующие свойства:
Name: cmdOpenFinal
Caption: Open Form
On Click: [Event Procedure]
Нажмите кнопку Построить (. ) справа от [Процедура обработки событий], а затем настроить процедуру следующим:
Сохраните и закройте форму, чтобы гарантировать сохранение формы как QBF_Form.
Создание формы для отображения результатов
Выполните следующие действия, чтобы создать форму frmFinal, которая отображает результаты хранимой процедуры на основе критериев, которые введены в QBF_Form.
В Access 2003 или Access 2002 нажмите кнопку запросы в списке объекты окна базы данных и нажмите кнопку QBFProc хранимой процедуры так, чтобы он получил фокус.
В Access 2007 выберите формы группы в области переходов и выберите команду QBFProc хранимую процедуру таким образом, чтобы он получил фокус.
При появлении запроса на ввод параметра, нажмите кнопку Отмена.
Сохраните форму, созданную в виде frmFinal.
Задайте свойство InputParameters этой формы:
@CustomerID varchar(10) = Forms!QBF_Form!cboCusID, @EmployeeID int =
Forms!QBF_Form!cboEmpID, @OrderDate datetime = Forms!QBF_Form!cboOrder
Сохраните и закройте форму frmFinal.
Чтобы использовать только что созданный образец, откройте форму QBF_Form и выберите значения в одном или во всех полях со списком. Нажмите кнопки, чтобы открыть форму frmFinal, который будет отображать все совпадающие записи, удовлетворяющие критериям, выбранной в форме QBF_Form.
Ссылки
Дополнительные сведения о Осуществляют в базе данных Microsoft Access щелкните следующий номер статьи базы знаний Майкрософт:
209645 ACC2000: как использовать метод запроса по форме (запрос)
Дополнительные сведения о языке Transact-SQL (TSQL) и создание хранимых процедур с входными параметрами посетите следующий веб-узел корпорации Майкрософт:
Выполнение запроса
Запрос — это набор инструкций, которые можно использовать для работы с данными. Для выполнения этих инструкций нужно выполнить запрос. Помимо возврата результатов (которые можно сортировать, группировать или фильтровать), запрос также может создавать, копировать, удалять и изменять данные.
В этой статье объясняется, как запускать запросы, и представлен только краткий обзор различных типов запросов. В этой статье также рассмотрены сообщения об ошибках, которые могут возникнуть при запуске запросов различных типов, а также действия, которые можно предпринять для устранения этих ошибок.
В этой статье нет пошагових инструкций по созданию запросов.
Важно: Если база данных работает в отключенном режиме — режиме с уменьшенной функциональностью, который 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.
Щелкните «Текущая база данных» и в меню «Параметры приложений»нажмите кнопку «Сжать при закрытии».
Это приводит к автоматическому сжатию и восстановлению базы данных при каждом ее закрытии.
Сжатие и восстановление базы данных вручную
Нажмите кнопку «Работа с базами данных> сжатие и восстановление базы данных.
Изменение псевдонима поля
Откройте запрос в конструкторе.
В сетке конструктора запросов наименуйте поля с псевдонимами. В конце имени поля будет двоеточие, как в поле «Имя»:
Проверьте каждый псевдоним, чтобы убедиться, что он не совпадает с именем поля, которое является частью его выражения. В этом случае измените псевдоним.