- Создание запросов
- Создание запросов в Access. Виды запросов
- Понятие о запросах
- Классификация запросов
- Запросы на выборку
- Запросы на изменение
- Перекрестные запросы
- Запросы с параметрами
- SQL-запросы
- В заключение
- MS Access. Работа с данными при помощи запросов
- Понятие запроса. Основные типы запросов
- Создание запросов в режиме конструктора
- Вычисления в запросах
- Параметрические запросы
- Перекрестный запрос
- Запрос на изменение
- Запросы в СУБД Access
- Создание запросов в режиме конструктора
Создание запросов
Запросы – это один из видов документов, используемых в СУБД Access , которые предназначены для обработки данных, хранимых в таблицах
Запросы можно создавать в режиме конструктора и с помощью мастеров. Конструктор позволяет самостоятельно создать любой тип запроса, но этот режим рекомендуется пользователям, уже имеющим некоторый опыт создания запросов.
Мастер запроса за несколько шагов собирает сведения, необходимые для формирования запроса, а затем автоматически составляет его в зависимости от ответов пользователя на поставленные вопросы.
С помощью мастеров в Access можно создавать следующие типы запросов:
§ Записи без подчинённых.
Для создания любого из них надо в окне базы данных выбрать объект Запросы и щелкнуть по кнопке Создать. Откроется окно Новый запрос, вид которого представлен на рис. 1.
Рисунок 1 Окно БД Штат и окно выбора видов запросов
Простой запрос позволяет создать с помощью Мастера запрос на выборку данных из определенных полей таблиц или запросов, он наиболее удобен для начинающих пользователей. При его выборе запускается Мастер, в первом окне которого (рис. 2) нужно в списке Таблицы и запросы выбрать таблицу, напр., Штат преподавателей, выбрать из перечня её доступных полей те, которые должны присутствовать в запросе и перевести каждое нажатием кнопки [>]. Аналогично в запрос добавляются поля из других таблиц той же БД .
Примечание. Запрос может составляться только по таблицам или только по запросам БД. Объединение в запросе полей из таблицы и запроса не допускается.
Рисунок 2 Выбор полей для запроса.
Затем нужно нажать клавишу Далее (для заполнения других окон Мастера) или Готово, появится таблица запроса с выбранными полями данных.
Перекрестный запрос имеет вид таблицы, в которой выводится до трёх полей (столбцов) исходной таблицы, ячейки одного из оставшихся преобразуются в новые столбцы, а на их пересечении выводится одно из указанных пользователем значений – Дисперсия, Минимум, Максимум, Среднее, Отклонение, Число, Первое, Последнее и др. Например, запрос на рис. 4 является перекрёстным запросом таблицы 1 на рис. 3, в котором величины расстояний стали названиями столбцов:
Вариант Повторяющиеся записисоздаёт запрос на поиск повторяющихся записей (строк) в одной таблице или запросе, для таблицы на рис. 3 при заданных полях Расстояние и Стоимость проезда он имеет вид (рис.5)
MS Access позволяет создать такой запрос только для одной таблицы или запроса (не для нескольких таблиц БД), причём в нём нужно задавать
Рисунок 3 Таблица 1 для создания перекрёстного запроса
Рисунок 4 Перекрёстный запрос табл. 1
Рисунок 5 Запрос на выборку повторяющихся записей
только те поля, в которых есть полное одновременное совпадение данных из записей (например, поле Транспорт в этот запрос включать нельзя). Дополнительно, для распознавания, можно включить неповторяющееся поле (Город).
Записи без подчиненных – запрос на поиск записей, которым не соответствует ни одна запись в сравниваемой таблице. Такой запрос используется для много табличных баз данных.
Рисунок 6 Основная таблица 1
Запрос без подчинённых на сравнение таблиц рис. 3 и рис. 6 выведет на экран несовпадающую строку (рис. 7):
Рисунок 7 Запрос без подчинённых
Эти запросы являются основой для создания более сложных запросов, для которых применяется режим Конструктора.
Источник
Создание запросов в Access. Виды запросов
Система управления базами данных (СУБД) — это специальная программа или совокупность программ, которые необходимы для организации и ведения соответствующих баз данных. К одной из таких программ относится MS Access.
Понятие о запросах
Они применяются с целью сортировки, добавления, изменения, фильтрации, удаления определенной информации в БД. С их помощью производится отбор тех записей, которые нужны для составления определенных отчетов или форм, то есть работа осуществляется с частью базы данных.
При создании запросов в Access могут соединяться таблицы, группироваться и отбираться записи, подключаться расчетные операции.
Классификация запросов
Выделяют следующие виды запросов:
- Запрос на выборку, при котором происходит извлечение данных по указанному условию. В рамках данного запроса происходит группировка записей, а выполненные в полях таблицы вычисления представляются.
- Запрос на изменение, при котором изменяются данные в первоначальных таблицах. С помощью них данные могут подвергаться корректировке, а также могут создаваться новые таблицы.
- Запрос с параметрами, при котором вводятся определенные условия или данные.
- Перекрестные запросы, предназначенные для расчетов и предоставления данных, как правило, в форме электронных таблиц с целью облегчения анализа.
- SQL-запросы представляют собой запросы на получение определенной информации, их построение основано на соблюдении определенных правил с использованием определенного синтаксиса.
Запросы на выборку
Создание запросов в Access данного вида предполагает построение таблицы, содержащей такие же структурные элементы, как и обычная. Она создается на базе фактических данных.
Результаты представляют собой динамический набор данных, в связи с чем при закрытии набора записи «исчезают», оставаясь в первоначальных таблицах. Сохранение данных запросов означает сохранение их структуры.
Данные запросы формируются указанием полей и таблиц, их содержащих, включаемых в запрос, описанием рассчитываемых полей, совершаемых групповых операций над первоначальными записями, и формированием условий отбора (например, с какой по какую дату осуществлялась реализация определенной группы товаров).
Создание запросов в MS Access данного вида предполагает, что их можно создать вручную или при помощи «Мастера создания запросов».
Для определения полей и таблиц, включаемых в запрос, переходим в режим конструктора.
Для перехода в режим конструктора в Access 2013 нужно в области навигации кликнуть контекстной кнопкой мыши на имени формы и выбрать «Конструктор». Нажав ALT+F8, можно вызвать «Список полей», из которых поля можно перетащить непосредственно в форму.
Запросы на изменение
Эти виды запросов представляют собой некую разновидность первого вида, но нужны они для изменения данных, которые были извлечены. Они в Access помечены восклицательным знаком. В Access создание запросов на изменение возможно четырех типов:
- создание новых таблиц;
- добавление записей в исходные таблицы;
- изменение данных в исходных таблицах;
- удаление записей из исходных таблиц.
Поэтому данные действия могут разрушить базу данных, в связи с чем необходимо сначала проверять результат исполнения запроса, перейдя в режим таблицы.
Создание новых таблиц используется при архивировании данных, проведении бэкапов или экспорте данных.
Разновидностью запросов на изменение являются запросы на обновление, при использовании которых обновляются абсолютно все записи, которые удовлетворяют какому-либо заданному условию. Если в комплекс данных необходимо внести изменения, то используют данную разновидность.
Еще одной разновидностью являются запросы на удаление, которые уничтожают все записи, удовлетворяющие каким-либо заданным условиям.
Еще одной разновидностью рассматриваемых запросов являются запросы на добавление, при которых происходит добавление данных из одной таблицы в другую.
Перекрестные запросы
Данные виды применяют с целью объединения в перекрестную таблицу денежных или числовых данных, хранящихся в исходной таблице. Перекрестный запрос в Access создается при помощи мастера запроса, используя инструкции которого, можно легко создать данный вид. По своей сути перекрестный запрос похож на сводные таблицы Excel.
Перекрестная таблица создается при указании заголовков строк, столбцов, значений и групповой операции.
Схема построения данного типа таблицы сводится к следующему. С помощью СУБД осуществляется группировка данных по групповым полям. Данная операция проводится над числами в поле значений. В ячейку таблицы, находящуюся на пересечении столбца и строк, помещается итоговое значение этой группы.
Перекрестные запросы в Access, как правило, применяют для создания отчетов и диаграмм.
Запросы с параметрами
Данный вид запросов уточняет перед выполнением условие у пользователя.
Чтобы создать запрос в Access, необходимо в столбце запроса, в ячейке «Условие», поместить выражение ввода параметров в квадратных скобках.
Если запустить данный запрос, то выйдет диалоговое окно, в котором будет содержаться предложение ввода параметров.
SQL-запросы
В Access 2013 и других версий запросы выполняются при помощи языка структурированных запросов SQL.
Для создания SQL-запросов необходимо перейти в режим конструктора, затем на кнопке «Вид» выбрать «Режим SQL». В результате появится диалоговое окно, в котором в поле Select вводим названия столбцов, а в поле From — то, что будет выводиться в строках, например названия поставщиков (если первый столбец «Название»).
В Access используется не чистый SQL, а его диалект Jet-SQL. Основными инструкциями для запросов в этом языке являются: SELECT, по которому осуществляется выборка из записей по определенным условиям (названия полей исходных таблиц, переносящихся в результирующую таблицу), UPDATE — используется с целью редактирования записей, DELETE — для удаления каких-либо указанных записей, CREATE — для создания новых объектов БД. В MS Access также используются TRANSFORM для построения перекрестных запросов, WITH OWNER-ACCESS OPTION для создания специальных запросов пользователем, не имеющем доступа к таблицам, к которым должен быть доступ у этого запроса, IN (для обеспечения связи с удаленной БД), DISTINCTROW (создание запроса с возможным объединением данных). Также могут применяться итоговые функции SQL, встроенные функции Access и VBA.
В заключение
Создание запросов в Access происходит для формирования записей для других запросов, отчетов или форм. При помощи определенных действий собираются данные из нескольких таблиц. Запросы позволяют включить в формируемую таблицу отобранные поля, осуществить расчеты в каждой новой записи, отобрать записи, которые необходимы для удовлетворения неких условий, сгруппировать выражения с одинаковыми значениями в некоторых или одном поле, сформировать новую таблицу данных на основе существующих, добавить, удалить или обновить некоторые записи.
Источник
MS Access. Работа с данными при помощи запросов
Понятие запроса. Основные типы запросов
Создание запросов в режиме конструктора
Вычисления в запросах
Параметрические запросы
Перекрестный запрос
Запрос на изменение
Запросы в СУБД Access
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
- запросы по образцу, или QBE-запросы (Query By Example), при создании которых необходимо указать параметры запроса в окне конструктора, задавая образцы для поиска информации;
- структурированные запросы, или SQL-запросы (Structured Query Language), для создания которых необходимо описать запрос с помощью языка запросов SQL.
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
- запросы на выборку, используемые для того, чтобы ото брать и представить в удобном виде данные из одной или нескольких таблиц (или запросов);
- параметрические запросы, которые позволяют задавать конкретные условия отбора непосредственно при выполнении запроса;
- перекрестные запросы, которые позволяют провести группировку и вычисления, а также представить данные в компактном виде, близком к сводной таблице Microsoft Excel;
- запросы на изменение, которые позволяют изменять таблицы базы данных: обновлять их, дополнять новыми записями, удалять некоторые записи. Они могут использоваться для создания новых реальных таблиц, которые,в отличие от обычных выборок, в дальнейшем существуют уже независимо от тех таблиц базы данных, которые были использованы для их построения.
Создание запросов в режиме конструктора
Для создания запросов по образцу используется режим конструктора. После определения таблиц (или запросов), на основе которых будет создаваться новый запрос, он будет открыт в режиме конструктора. Окно конструктора запросов состоит из двух частей.
В верхней части окна находятся списки полей т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.
Т.о., при формировании условия отбора в запросах могут использоваться:
Подстановочные символы:
Источник