Как сделать запросы в access 2013?
Содержание:
- Групповые операции (перекрёстные запросы в access)
- 2.6. Критерии выборки в запросе
- 2.4. Microsoft Access 2007
- Перекрестный запрос
- Работа с диспетчером
- Перекрестный запрос
- Краткие рекомендации
- Легкий путь для новичков
- Легкий путь для новичков
- ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ
- Задание 6. Создать запрос Выборка по дате рождения
- Ключевое поле таблицы MS Access, его назначение, способы задания
- Краткие рекомендации
- Легкий путь для новичков
- Когда сохранять запросы
- Задание 2. Создать запрос Информация о заказе
- Перекрестный запрос
- Изначально отображаются все продукты
- 2.4. Microsoft Access 2007
- Расширенный перекрестный запрос
- Групповые операции (перекрёстные запросы в access)
- Краткие рекомендации
Групповые операции (перекрёстные запросы в access)
Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.
При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.
В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.
По умолчанию строка «Групповая операция» в режиме конструктора скрыта.
Группировка
Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).
Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».
2.6. Критерии выборки в запросе
Вы научились создавать простые запросы, в которых выбираются практически все значения
выбранных полей.
На практике, запросы выглядят значительно сложнее, хотя принцип создания
запросов со сложными критериями отбора, после того как мы научились строить выражения,
очень прост:
· Критерии запроса записываются в строку «Условия отбора» в той
колонке, имя которой используется при построении критерия.
· В том случае, если при выполнении отбора вы намерены
в качестве критерия использовать несколько имен полей, соединенных
оператором «And» («И»),
то выражения, содержащие критерии отбора должны располагаться в строке «Условия отбора».
· В том случае, если выражения, содержащие критерии
отбора, объединяются оператором «Or»
(«Или») то они должны быть записаны в строке «Или» соответствующей колонки.
Рассмотрим выше сказанное на примере
предыдущего запроса.
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
Перекрестный запрос
Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.
На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.
Одно из оставшихся не выбранных полей может быть использовано в качестве заголовков таблицы запроса. На третьем этапе процедуры (пересечение) выбирается еще одно значение с вариативностью функцию (среднее значение, сумма, первый, последний).
На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.
Работа с диспетчером
В Access создание главной кнопочной формы осуществляется специальным диспетчером. Диспетчер кнопочных форм находится в разделе работы с базами данных. Если он выполняется впервые, то не найдет кнопочных форм и предложит создать такую. Появившееся окошко мастера содержит несколько кнопок, из которых можно выбрать «Изменить». Так можно перейти к функции настройки связей кнопочной формы и других доступных форм базы.
Например, добавим две кнопки — «Кнопка 1» и «Кнопка 2» — на главную кнопочную форму. Эти кнопки свяжем с формой Authors1 и Books, которая является подчиненной. Выбрав «Создать», мы откроем диалоговое окно, где укажем желаемое имя кнопки и действие, которое нам надо выполнить («Открыть форму для изменения»). В третьем поле укажем форму, с которой хотим связать добавляемую кнопку.
Закрыв окна настройки, мы обнаружим, что в окне навигации появилась наша кнопочная форма. Выбрав ее в панели навигации, откроем окно и увидим, что она содержит простой стиль оформления и две кнопочки. Клик по кнопкам заставит СУБД открыть форму, с которой данная кнопка связана.
Перекрестный запрос
Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.
На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.
Одно из оставшихся не выбранных полей может быть использовано в качестве заголовков таблицы запроса. На третьем этапе процедуры (пересечение) выбирается еще одно значение с вариативностью функцию (среднее значение, сумма, первый, последний).
На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.
Краткие рекомендации
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
В простейшем случае запрос реализует выбор из одной таблицы нужных полей, записей, соответствующих заданным условиям отбора, и просмотр результатов выполнения запроса.
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ
В некоторых случаях вам может
потребоваться получить данные по отдельным группам, не выводя на экран остальные.
При этом вы заранее не знаете, какие итоговые данные вам могут понадобиться в
данный момент. В этом случае, использование конкретных критериев отбора в
бланке запроса, оказывается нецелесообразным из-за затрат времени.
Access для решения этой задачи предлагает вместо того, чтобы
в строку «Условие
отбора» вводить конкретное
значение, ввести в нее текст, заключенный в квадратные скобки [].
То, что будет находиться внутри этих
скобок, Access будет воспринимать как имя параметра и запрашивать
его в специальном окне. Весьма разумно,
в скобки помещать осмысленное слово или фразу, с тем, чтобы потом не ломать
голову над тем, что от нас требует Access.
· Измените предыдущий запрос так, чтобы Access задавал вопрос при каждом его выполнении, например,
такой: «Введите название подразделения».
Задание 6. Создать запрос Выборка по дате рождения
Создать с помощью конструктора запрос, с помощью которого можно просмотреть список клиентов определенного возраста.
1. Создать запрос с помощью Конструктора: Создание/Другие/Конструктор запросов
2. Для создания запроса использовать таблицы и поля:
таблица Клиенты ( поля ФИО клиента, Дата рождения, Место работы, Должность и Телефон) .
3. В Условии отбора по полю Дата рождения прописать условие:
Номер материала: ДБ-871292
- 21.12.2019
- 54
- 21.12.2019
- 27
- 21.12.2019
- 30
- 21.12.2019
- 23
- 21.12.2019
- 16
- 21.12.2019
- 23
- 21.12.2019
- 23
- 21.12.2019
- 134
Не нашли то что искали?
Вам будут интересны эти курсы:
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Ключевое поле таблицы MS Access, его назначение, способы задания
База данных может состоять из нескольких таблиц, содержащих различную информацию. Эти таблицы связаны между собой каким-либо определённым полем, называемым ключевым полем.
Ключевое поле позволяет однозначно идентифицировать каждую запись таблицы, т.е. каждое значение этого поля отличает одну запись от другой.
Для Access обязательным является определение ключевого поля для таблицы. Для его определения достаточно выделить поле и выбрать команду Ключевое поле меню Правка. Если требуется определить составной ключ, но необходимо выделить требуемые поля при нажатой клавише Ctrl, а затем выбрать командуКлючевое поле. При определении ключевого поля автоматически создается уникальный индекс, определяющий физический порядок записей в таблице. Этот индекс является первичным индексом для таблицы и имеет зарезервированное имяPrimaryKey. Для составных ключей существенным может оказаться порядок образующих ключ полей, так как упорядочение записей будет проводиться вначале по первому полю, затем по второму и т.д. Для внешних полей при создании связи также происходит автоматическое создание индекса (в данном случае вторичного).
Связи между таблицами дают возможность совместно использовать данные из различных таблиц. Например, одна таблица содержит информацию о профессиональной деятельности сотрудников предприятия (таблица Сотрудник), другая таблица — информацию об их месте жительства (таблица Адрес). Допустим, на основании этих двух таблиц необходимо получить результирующую таблицу, содержащую поля Фамилия и инициалы, Должность и Адрес проживания. Причём полеФамилия и инициалы может быть в обеих таблицах, поле Должность — в таблице Сотрудник, а поле Адрес проживания — в таблице Адрес. Ни одно из перечисленных полей не может являться ключевым, т. к. оно однозначно не определяет каждую запись.
В качестве ключевого поля в этих таблицах можно использовать поле Код типаСчётчик, автоматически формируемое Access при создании структуры таблицы, или в каждой таблице задать поле Табельный номер, по которому затем связать таблицы. Таблицы при этом будут связаны так называемым реляционным отношением. Последовательность действий пользователя при создании таблиц Сотрудник и Адрес.
Виды индексированных полей в MS Access, примеры
Свойство «Индексированное поле» (Indexed) определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.
Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.
Вкладка Подстановка на бланке свойств поля используется для указания элемента управления, используемого по умолчанию для отображения поля. После выбора элемента управления на вкладке Подстановка выводятся все дополнительные свойства, необходимые для определения конфигурации элемента управления. MicrosoftAccess задает значения этих свойств автоматически, если в режиме конструктора таблицы для поля в столбце «Тип данных» выбирается «Мастер подстановок». Значения данного свойства и относящиеся к нему типы элементов управления влияют на отображение поля как в режиме таблицы, так и в режиме формы.
Рассмотрим некоторые из этих дополнительных свойств:
Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.
Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком. Например, для того чтобы вывести в строках списка данные из запроса «Список клиентов», следует выбрать для свойства Тип источника строк значение «Таблица/запрос» и указать в свойстве Источник строк имя запроса «Список клиентов». Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк (RowSourceType) «Список значений» и ввести образующие список значения в ячейку свойства Источник строк (RowSource). Элементы списка отделяются друг от друга точкой с запятой.
Дата добавления: 2018-02-28 ; просмотров: 830 ; ЗАКАЗАТЬ РАБОТУ
Краткие рекомендации
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
Когда сохранять запросы
В конечном счете сохранение запроса является вопросом предпочтения, но для тех, кто только начинается, это еще одна неизвестная область. Начинающие должны иметь привычку всегда сохранять запросы, потому что нет способа узнать, когда один случайный запрос заканчивается, обеспечивая именно то, что необходимо.
Даже эти экспериментальные запросы могут помочь новому пользователю ознакомиться с существующими таблицами, отношениями данных, первичными ключами и другими компонентами и свойствами базы данных. Сюда входят экспериментальные запросы, когда пользователь впервые изучает, как создавать запросы в Access. Возможность вернуться и посмотреть, как изменяется несколько изменений между запросами, результаты могут значительно облегчить понимание запросов.
Каждому человеку необходимо определить, когда запрос должен быть сохранен, но если вы не уверены, сохранять или не сохранять запрос, вам следует продолжить и сохранить. Легко удалить запросы позже; гораздо труднее повторить одну из памяти через пару месяцев.
Задание 2. Создать запрос Информация о заказе
Создать с помощью мастера форм запрос для таблиц Клиенты, Сотрудники и Заказы , с помощью которого можно вывести на экран информацию обо всех заказах клиентов.
1. Создать запрос с помощью мастера запросов: Создание/Другие/Мастер запросов/Простой запрос
2. Выбрать для создания простого запроса таблицы и поля в соответствующей последовательности
Таблица Клиенты (поля ФИО клиента, Телефон клиента )
Таблица Сотрудники (поля ФИО сотрудника, Должность, Телефон сотрудника )
Таблица Заказы (поля Дата заказа, Сумма )
3. Выбрать подробный отчет (вывод каждого поля каждой записи).
4. Сохраните запрос под именем Информация о заказе .
Перекрестный запрос
Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.
На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.
Одно из оставшихся не выбранных полей может быть использовано в качестве заголовков таблицы запроса. На третьем этапе процедуры (пересечение) выбирается еще одно значение с вариативностью функцию (среднее значение, сумма, первый, последний).
На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.
Изначально отображаются все продукты
Вместо того чтобы отображать продукты при первой загрузке страницы, может потребоваться отобразить все продукты. Один из способов перечислить все продукты каждый раз, когда пустое текстовое поле , — установить для параметра s значение по умолчанию какое-либо безумно высокое значение, например 1000000, так как маловероятно, что у компании «Борей» когда-либо будет Инвентаризация, Цена за единицу которой превышает $1 000 000. Однако этот подход является шортсигхтед и может не работать в других ситуациях.
В предыдущих учебных курсах — декларативные параметры и мы столкнулись с подобной проблемой. Наше решение поместит эту логику на уровне бизнес-логики. В частности, BLL проверил входящее значение и, если оно было или какое зарезервированное значение, вызов направляется к методу DAL, который вернул все записи. Если входящее значение было обычной фильтрацией, в метод DAL был выполнен вызов, который выполнил инструкцию SQL, которая использовала параметризованное предложение с предоставленным значением.
К сожалению, мы обходите архитектуру при использовании SqlDataSource. Вместо этого необходимо настроить инструкцию SQL для интеллектуального получения всех записей, если параметр или какое-либо зарезервированное значение. Для этого упражнения добавим его таким образом, чтобы если параметр равен , все записи будут возвращены ( работает как зарезервированное значение, так как ни один продукт не может иметь отрицательное значение ). Для этого можно использовать следующую инструкцию SQL:
Это предложение возвращает все записи, если параметр равен . Если значение параметра не , возвращаются только те продукты, у которых меньше или равно значению параметра . Установив для параметра значение по умолчанию , при первой загрузке страницы (или при пустом текстовом поле ) будет иметь значение и будут отображены все продукты.
Рис. 8. Теперь все продукты отображаются, если пустое текстовое поле (щелкните, чтобы просмотреть изображение с полным размером)
Существует несколько предостережений, которые следует учитывать при использовании этого подхода. Во-первых, следует понимать, что тип данных параметра s выводится в результате использования в SQL-запросе. При изменении предложения с на среда выполнения рассматривает параметр как целое число. Если затем вы попытаетесь присвоить текстовое поле десятичному значению (например, 5,00), возникнет ошибка, так как она не может преобразовать 5,00 в целое число. Чтобы устранить эту проблему, убедитесь, что вы используете в предложении или, что еще лучше, установите для свойства объектов значение Decimal.
Во-вторых, добавив к предложению , обработчик запросов не сможет использовать индекс в (при условии, что он существует), что приведет к просмотру таблицы. Это может повлиять на производительность, если в таблице достаточно большого количества записей. Лучшим подходом будет перемещение этой логики в хранимую процедуру, где ная инструкция будет выполнять ный запрос из таблицы без предложения , когда необходимо вернуть все записи или какое предложение содержит только критерии , чтобы можно было использовать индекс.
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис. 1.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис. 2.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис. 4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис. 5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Рис. 6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис. 7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис. 8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
Расширенный перекрестный запрос
Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме «Конструктора» можно создавать подобный запрос.
Для этого необходимо нажать «Конструктор запросов» — «Перекрестный».
Открывается меню добавления исходных таблиц, а также возможность заполнения выборочных полей
Единственное, на что следует обратить внимание, – пункты «групповая операция» и «перекрестная таблица». Их нужно заполнять правильно, иначе процедура не будет выполнена корректно
Перекрестные запросы – это наиболее простой способ поиска и выборки информации из нескольких источников данных, плюс с возможностью формирования диаграмм и графиков.
Более того, при использовании данной процедуры быстрее выполняется поиск, даже с несколькими вариантами развития.
Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам – «возрастание и убывание».
Групповые операции (перекрёстные запросы в access)
Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.
При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.
В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.
По умолчанию строка «Групповая операция» в режиме конструктора скрыта.
Группировка
Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).
Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».
Краткие рекомендации
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
В простейшем случае запрос реализует выбор из одной таблицы нужных полей, записей, соответствующих заданным условиям отбора, и просмотр результатов выполнения запроса.