Запросы в access 2020
Запросы в access
Запросы в access – объекты базы данных, извлекающие из таблиц или других запросов информацию согласно заданным условиям. Это виртуальные таблицы (существующие в оперативной памяти компьютера.
На диске хранится лишь структура самого запроса, формулы и условия, по которым будут выбираться данные), не являющиеся хранилищем информации, но через большинство запросов можно менять информацию, применять вычисляемые поля (значения которых также не хранятся на жёстком диске).
Можно легко обнаружить, является ли запрос обновляемым: при отображении результатов запроса в конце записей должна быть пустая строка, которая помечена значком звездочки (*) в области выделения записи слева. Тогда в эту строку можно вводить данные, которые создадут новую запись. Если такая строка отсутствует, добавлять записи в запрос и изменять значения полей запроса нельзя.
При разработке форм и отчётов желательно выбирать для них базовой основой запросы, а не таблицы. При необходимости базовый запрос легко модифицировать (задать новые условия, применить выражения и функции, создать вычисляемые поля и т. д.).
Основные отличия запросов от расширенного фильтра:
— используя реляционные связи, можно применять запрос к нескольким таблицам (запросам);
— на экран можно выводить только необходимые поля;
— в запросе можно переставлять поля в любом порядке;
— команды фильтра сохраняются временно, запрос хранится постоянно как объект базы данных;
— применение фильтра и сортировки возможно только в открытой таблице, запросе и форме, а запрос работает с таблицами и запросами, которые не надо открывать;
— в запросе можно выводить на экран только необходимые (по количеству или процентному соотношению) записи (например, для лучшей десятки продаж можно отсортировать сумму продаж по возрастанию, а в свойствах запроса «Набор значений» (в режиме конструктора) ввести число 10;
— фильтры не могут создавать вычисляемые поля.
Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.
Самым распространённым является запрос на выборку.
В строке условия отбора значение даты вводится, окруженное знаками #. Например, Between #01.01.2010# And #31.12.2010# — будут отобраны записи в диапазоне с 1 января по 31 декабря 2010 года.
В готовом запросе, который выводится в виде таблицы, можно применить временный фильтр для сужения критериев поиска.
При сортировке нескольких полей порядок сортировки идёт слева направо.
Если запрос очень сложный, можно разбить его на несколько составных (т. е. запрос делает запрос к запросу).
При операциях с числами программа использует математические знаки, например «+». Но при соединении текстовых полей знак «+» заменяется знаком «&» (амперсанд). Этот знак выполняет операцию конкатенации, т. е. соединяет между собой строки и подстроки, например, ФИО: [Фамилия] & » » & [Имя] & » » & [Отчество] (в кавычках заключена константа «пробел»).
Добавляются поля в запрос либо двойным щелчком на имени поля, либо прямым перетаскиванием, либо выбором из списка в строке «Поле» бланка запроса. Таблицу можно добавить в бланк запроса простым перетаскиванием из окна базы данных.
При создании вычисляемого поля надо ввести название столбца, после него знак двоеточия, а затем вычисляемое выражение (как в вышеупомянутом примере с ФИО).
Для очистки запроса есть команда меню Правка – Очистить бланк.
Нельзя добавлять и изменять записи в запросах, если:
— две таблицы запроса связаны отношением «один-ко-многим» и в таблице «один» не задан первичный ключ;
— в запросе используются рекурсивные соединения (связь установлена между полями одной таблицы (запроса));
— в запросе применяются статистические функции SQL.
Условия, при которых можно добавить или обновить записи в запросе:
— таблица является единственной в запросе;
— таблицы в запросе связаны отношением «один-к-одному»;
— если таблицы в запросе связаны отношением «один-ко-многим», можно изменять поля только в таблице «многие».
В таблице «один», связанной с другой таблицей отношением «один-ко-многим», можно изменять поля только в том случае, если ни одно поле таблицы «многие» не включено в результат запроса, а используется только для отбора записей.
Если условия введены в одну строку сетки конструктора запросов, результат будет содержать только записи, удовлетворяющие всем условиям.
Если хотим, чтобы запрос извлекал все записи, удовлетворяющие хотя бы одному из условий, одно условие надо ввести в строку «Условие отбора», а другое в строку «Или».
В меню «Сервис»-«Параметры»-«Таблицы и запросы»-«Конструктор запросов»-«Вывод всех полей» надо отключить флажок, иначе при создании нового запроса будут автоматически добавляться все поля базовой таблицы (запроса).
Групповые операции (перекрёстные запросы в access)
Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.
При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.
В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.
По умолчанию строка «Групповая операция» в режиме конструктора скрыта.
Группировка
Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).
Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».
Управляющие запросы
Создаются, когда необходимо автоматически изменить большие объёмы информации. С помощью управляющих запросов можно обновлять данные, добавлять или удалять записи, создавать новые таблицы. Рекомендуется сразу создавать запрос на выборку и, лишь убедившись, что она правильно работает, преобразовать его в запрос на действие.
Создание таблицы
Создаёт таблицу, содержащую необходимые данные, извлекая требуемые записи из одной таблицы и добавляя их во вновь созданную. Можно этот запрос использовать для создания резервной копии данных или архивных записей.
Есть возможность создания новой таблицы в другой базе данных, выбрав свойство «Другая база данных» и введя имя базы в поле «Имя файла».
Таблица, созданная при помощи запроса, не наследует свойства полей и первичный ключ родительской таблицы.
Перед выполнением запроса можно посмотреть, что получится, отобразив запрос в режиме таблицы. Создание физической таблицы произойдёт только после нажатия кнопки «Запуск».
Можно включить в новую таблицу вычисляемое поле. При создании таблицы поле станет заполненным данными.
Для создания архивной таблицы надо скопировать исходную таблицу и затем вставить её из буфера, скопировав при этом только структуру (без данных) таблицы.
Обновление
Позволяет изменять (обновлять) соответствующие значения в таблицах (одной или нескольких). Сразу создаётся обычный запрос на выборку и только затем на его основе запрос на обновление.
Добавление
Запрос на добавление извлекает записи из одной таблицы и добавляет их в конец другой (других). Можно применить, если надо добавить большое количество новых записей (новые поставщики и потребители и т. д.). Запрос выполняется один раз, иначе одни и те же записи будут добавлены неоднократно. Запрос хорош, когда в архивную таблицу добавляются записи, которые будут затем удалены из таблицы-поставщика.
Удаление
Удаляет указанные записи в таблицах (одной или нескольких).
Перед выполнением запроса на удаление надо создать такой же запрос на выборку. Лишь убедившись, что отобраны нужные записи, меняем тип запроса «Выборка» на «Удаление».
При удалении связанных записей из главной таблицы (при установленном флажке каскадного удаления) Access выдаёт некорректное сообщение, например, что будет удалена одна запись, даже если в подчинённой таблице вместе с этой записью будут удалены сотни и тысячи связанных записей (т. е. выдаётся сообщение о количестве удаляемых записей в главной таблице).
Запрос с параметром
Хотите узнать какие 35 инструментов нужно знать, чтобы научиться создавать базы данных в Аксесс?
Бывает, что в неизменной формуле запроса меняется переменная (дата, процент увеличения, надбавка и т. д.). Вместо того, чтобы каждый раз переписывать меняющееся число в одной и той же формуле, предложим программе каждый раз выводить диалоговое окно для введения конкретной цифры, даты или другой переменной.
Для поля, которое предполагается использовать как параметр, введите в ячейку строки «Условие отбора» выражение с текстом приглашения, заключенным в квадратные скобки.
Например, нам часто нужны сведения по сотрудникам, фамилия которых начинается с определённой буквы. Можно сделать около 30 запросов (для почти всех букв русского алфавита), чтобы получать требуемые данные, но это займёт много времени для создания запросов, загромоздит базу данных и вызовет путаницу. Вместо этого создадим один запрос для формирования списка сотрудников, который будет нас спрашивать, с какой буквы начинающиеся фамилии мы хотим видеть. В поле «Условие отбора» введём: Like [Введите первую букву фамилии]& «*». На самом деле, если введём букву «С», условие будет читаться Access как Like «С*». Знак амперсанда «&» указывает на необходимость сцепления введённой буквы с остальными символами искомой ячейки, так как «*» обозначает любое количество символов после «С».
Например, выражение Between [Начальная дата:] And [Конечная дата:] запросит ввести начальную и конечную даты и выдаст все записи, содержащиеся в этом диапазоне (программа распознает разные форматы, например: 01.01.2010 или 01,01,2010 или 01/01/2010). Но для этого в режиме конструктора через меню Запрос – Параметры (можно вызвать через контекстное меню) надо вызвать диалоговое окно «Параметры запроса». В столбце «Параметр» указать правильно название, например [Начальная дата:], а в столбце «Тип данных» указать требуемый тип, в нашем случае «Дата/время». Как правило, указываются параметры для числовых и полей дата/время.
Ещё пример: Like «. » & [Введите номер месяца, например, для марта — 03, для ноября — 11] & «. ». Программа попросит ввести номер месяца года и выдаст все записи, относящиеся к этому месяцу. Если в параметре ввести знак звёздочки «*», то будут выбраны дни рождений за все месяцы.
Запрос может не работать, если формат даты в условии задан 00.00.0000, а в настройках панели управления установлен 00/00/0000. Тогда надо вместо точек добавить ещё по одному вопросу.
Запрос на объединение таблиц
Запрос извлекает данные из нескольких таблиц, имеющих одинаковые поля. Самый простой способ извлечения записей из связанных таблиц.
При объединении таблиц, связанных отношением «один-ко-многим», поле первичного ключа таблицы «один» используется для отображения связанных записей из таблицы, представляющей сторону «многие».
Когда таблицы объединены, можно легко создать запрос, извлекающий данные из нескольких таблиц.
Программа переводит графический запрос в запрос SQL – универсальный язык запросов.
Собственный язык Access JetSQL имеет отличия от ANSI SQL.
Хотя большинство запросов создаются в режиме конструктора, Access хранит их в формате SQL (структурированном языке запросов). Чтобы увидеть режим SQL, надо выбрать Вид-Режим SQL.
Практическая работа. Создание перекрестных запросов в MS Access
Как организовать дистанционное обучение во время карантина?
Помогает проект «Инфоурок»
Практическая работа №5
Тема: «Создание перекрестных запросов»
для студентов 2 курса специальности 10.02.03
Информационная безопасность автоматизированных систем
Цели работы: научиться создавать перекрестные запросы на выборку данных с помощью мастера и конструктора запросов.
Перекрестные запросы — это запросы, в которых происходит статистическая обработка данных, результаты которой выводятся в виде таблицы, очень похожей на сводную таблицу Excel. Перекрестные запросы обладают следующими достоинствами:
возможностью обработки значительного объема данных и вывода их в формате, который очень хорошо подходит для автоматического создания графиков и диаграмм;
простотой и скоростью разработки сложных запросов с несколькими уровнями детализации.
Однако они имеют и недостатки — например, нельзя сортировать таблицу результатов по значениям, содержащимся в столбцах, т. к. в подавляющем большинстве случаев одновременное упорядочивание данных в столбцах по всем строкам невозможно. При этом вы можете задать сортировку по возрастанию или по убыванию для заголовков строк.
Создать запрос с помощью мастера форм: Создание/Мастер запросов
Создать с помощью конструктора: Создание/ Конструктор запросов
Изменить запрос с помощью конструктора: Режим/Конструктор
Задание 1. Создать запрос Выручка по месяцам
Создать с помощью мастера запросов перекрестный запрос, результатом которого будет таблица, демонтирующая выручку организации по месяцам по каждому сотруднику.
1. Создать запрос с помощью мастера запросов: Создание/Другие/Мастер запросов/Перекрестный запрос
2. Для создания перекрестного запроса использовать данные таблицы Заказы
3. Выбрать поля, значения которых использовать в качестве заголовков строк — Сотрудник.
4. Выбрать поля, значения которых использовать в качестве заголовков столбцов – Дата заказа .
5. Выбрать интервал, с которым необходимо сгруппировать столбец данных типа даты и времени — Месяц
6. Выбрать, какие исчисления необходимо провести для каждой ячейки на пересечении строк и столбцов. Выбрать поле Сумма и применить функцию C УММА.
7. Задать имя перекрестного запроса Выручка по месяцам .
Задание 2. Создать перекрестный запрос «Количество заказов по сотрудникам»
Создать с помощью конструктора перекрестный запрос, результатом которого будет таблица, демонтирующая количество заказов по сотрудникам и клиентам.
1. Создать запрос с помощью конструктора: Создание/Другие/Конструктор запросов
2. Для создания запроса использоватьтаблицы и поля:
таблица Заказы (поля ФИО клиента и Сумма )
таблица Сотрудники (поле ФИО сотрудника ).
3. Чтобы подключить групповые функции , нажать на кнопку
4. Для поля Сумма выбирать из выпадающего списка функцию Count – считать количество записей.
5. Чтобы создать перекрестный запрос, нажать на кнопку .
6. Провести настройку перекрестной таблицы. Использовать:
Поле ФИО сотрудника для заголовков столбцов ,
Поле ФИО клиента для заголовков строк ,
Поле Сумма в качестве значений , которые будут отображаться на пересечении столбцов и строк.
5. Для создания запроса нажимаем кнопку Выполнить!
6. Сохраните запрос под именем Количество заказов по сотрудникам .
Создание базы данных в MS Access 2007: пошаговая инструкция
В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.
Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL.
Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.
Описание MS Access
Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.
Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.
Определения основных понятий
Без базовых знаний об элементах управления и объектах, использующихся при создании и конфигурации БД, нельзя успешно понять принцип и особенности настройки предметной области. Поэтому сейчас я постараюсь простым языком объяснить суть всех важных элементов. Итак, начнем:
- Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
- Сущность – отдельная таблица базы данных.
- Атрибут – заголовок отдельного столбца в таблице.
- Кортеж – это строка, принимающая значение всех атрибутов.
- Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
- Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
- SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.
Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.
Создание БД
Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.
Итак, выполните следующее:
- Запустите MS Access 2007.
- Нажмите на кнопку «Новая база данных».
- В появившемся окне введите название БД и выберите «Создать».
Все, теперь осталось только создать, заполнить и связать таблицы. Переходите к следующему пункту.
Создание и заполнение таблиц
После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:
- Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
- Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться.
Создание и редактирование схем данных
Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».
Для выполнения запросов нужно связать наши таблицы. Иными словами, это некая зависимость, которая реализуется с помощью ключевых полей. Для этого нужно:
- Перейти во вкладку «Работа с базами данных».
- Нажать на кнопку «Схема данных».
- Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
- Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
- Нажмите кнопку «ОК».
Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:
- Перетащите общее поле из одной таблицы в другую.
- В появившемся окне выберите необходимы параметры и нажмите «ОК».
- Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).
Выполнение запросов
Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.
Именно в этой ситуации к нам на помощь приходят SQL запросы, которые помогают изъять лишь необходимую информацию.
Виды запросов
SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.
На выборку
В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:
- Перейти во вкладку «Создание».
- Нажать кнопку «Конструктор запросов» в блоке «Другие».
- В новом окне нажмите на кнопку SQL.
- В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
- Нажмите кнопку «Выполнить».
- На выходе мы получаем результирующую таблицу.
А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:
SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;
а результирующая таблица примет следующий вид:
На создание сущности
Кроме добавления таблицы с помощью встроенного конструктора, иногда может потребоваться выполнение этой операции с помощью SQL запроса. В большинстве случаев это нужно во время выполнения лабораторных или курсовых работ в рамках университетского курса, ведь в реальной жизни необходимости в этом нет. Если вы, конечно, не занимаетесь профессиональной разработкой приложений. Итак, для создания запроса нужно:
- Перейти во вкладку «Создание».
- Нажать кнопку «Конструктор запросов» в блоке «Другие».
- В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:
CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));
где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.
- Кликните по кнопке «Выполнить».
- Откройте созданную таблицу.
На добавление, удаление, редактирование
Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:
- для заполнения кортежа:
INSERT INTO Преподаватели
VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’); - для редактирования записи:
UPDATE Преподаватели SET Имя = ‘Анна’;
- для удаления:
DELETE * FROM Преподаватели WHERE Имя=’Анна’;.
Создание формы
При огромном количестве полей в таблице заполнять базу данных становится сложно. Можно случайно пропустить значение, ввести неверное или другого типа. В данной ситуации на помощь приходят формы, с помощью которых можно быстро заполнять сущности, а вероятность допустить ошибку минимизируется. Для этого потребуются следующие действия:
- Откройте интересующую таблицу.
- Перейдите во вкладку «Создание».
- Нажмите на необходимый формат формы из блока «Формы».
Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.
Формирование отчета
Отчет – это специальная функция MS Access, позволяющая оформить и подготовить для печати данные из базы данных. В основном это используется для создания товарных накладных, бухгалтерских отчетов и прочей офисной документации.
Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:
- Перейдите во вкладку «Создание».
- Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
- Выберите интересующую таблицу и поля, нужные для печати.
- Добавьте необходимый уровень группировки.
- Выберите тип сортировки каждого из полей.
- Настройте вид макета для отчета.
- Выберите подходящий стиль оформления.
Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:
- Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
- Вручную расширьте интересующие столбцы.
- Сохраните изменения.
Вывод
Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.
Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.
Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!
Практическая работа «Access. Создание Запросов»
Перед работой Вам необходимо создать таблицы и связи:
Типы запросов
1. Запросы на выборку
Запрос на выборку, является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми- ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
Существует два варианта построения: в режиме Мастера и в режиме Конструктора.
1. Создание запроса в режиме Мастера.
Выбрать информацию, которая необходима, можно из одной или нескольких таблиц. Так как таблицы связаны друг с другом, это не представляет большой сложности, особенно если подключить к работе мастер запросов. Мастер запросов вызывается двумя способами:
• в основном окне базы данных необходимо выбрать объект Запросы, затем на панели инструментов основного окна нажать кнопку Создать и в открывшемся диалоговом окне Новый запрос (рис. 12) выбрать строку Простой запрос:
Рис. 12. Окно Новый запрос
• мастер запросов можно вызвать сразу, если в объекте Запросы дважды щелкнуть по надписи Создание запроса с помощью мастера.
В обоих случаях будет открыто диалоговое окно Создание простых запросов для выбора полей (рис. 13)
Рис. 13. Окно Создание простых запросов. Шаг первый В окне списка Таблицы и запросы надо выбрать таблицу, из которой будут отбираться данные, после чего в окне Доступные поля автоматически появится список полей выбранной таблицы. Нужные поля отбираются в окно Выбранные поля с помощью стрелок, расположенных между окнами (одинарная стрелка переносит одно выделенное поле в одну или другую сторону, двойная — переносит все).
Кнопка Далее позволит перейти на следующий шаг работы мастера (рис. 14).
Рис. 14. Окно Создание простых запросов. Шаг второй
На втором шаге требуется поставить точку в строке Подробный (вывод каждого поля каждой записи). Кнопка Далее откроет окно третьего шага (рис. 15).
Рис. 15. Окно Создание простых запросов. Шаг третий
В последнем окне необходимо задать имя запроса. Кнопка Готово выведет на экран запрос в режиме таблицы (рис. 16)
Рис. 16. Новая таблица, созданная мастером запросов
2. Создание запроса в режиме Конструктора (основной режим построения)
Режим Конструктора в запросах является основным. Даже запрос, выполненный в режиме Мастера, может потребовать доработки: выполнить вычисления, сгруппировать данные или произвести еще какие-либо действия. Выполнение всех дополнительных условий производится в режиме Конструктора — здесь можно сделать практически все.
Так же как и в мастере запросов, открытие запроса в режиме Конструктора происходит двумя способами:
• в основном окне базы данных необходимо выбрать объект Запросы, на панели инструментов основного окна нажать кнопку Создать и в окне Новый запрос выбрать строку Конструктор. Кнопка ОК в этом случае откроет два окна: Запрос 1: запрос на выборку и Добавление таблицы;
• тот же результат даст двойной щелчок по надписи Создание запроса в режиме конструктора в окне объекта Запросы.
В Окне Добавление таблицы необходимо выбрать требуемую таблицу и нажать кнопку Добавить. Выбранная таблица появится в зоне отбора таблиц окна Запрос на выборку в верхнем (сером) поле. После вывода необходимых таблиц или запросов окно Добавление таблицы надо закрыть.
К выбору таблиц нужно отнестись внимательно, так как вместо данных в них могут находиться коды. Лучше всего ориентироваться на таблицы, в которые информация вносится впервые. Например, нужно знать название товара и его количество. Эти данные находятся в таблице Поставка товара, однако название товара здесь представлено в виде кода, поэтому для отбора данных потребуется две таблицы:
Товар и Поставка товара.
Теперь из таблиц нужно выбрать необходимые поля. Это можно сделать тремя способами:
• перетащить поле из окна выбранной таблицы в нижнюю часть окна
Запрос на выборку в свободную (белую) строку Поле, удерживая нажатой левую кнопку мыши. В результате в строке Поле появится имя отобранного поля, а в строку Имя таблицы автоматически будет внесено название таблицы, из которой это поле было выбрано;
• в нижней части окна построителя запроса в строке Имя таблицы выбрать из списка нужную таблицу, после чего в строке Поле появится список полей данной таблицы, из которого выбирается нужное поле;
• поле выбирается при помощи двойного щелчка мышью в зоне выбранной таблицы, находящейся в верхней части построителя запроса.
При отборе таблиц связи полей устанавливаются автоматически в соответствии со схемой данных, но при удалений или добавлении полей они могут быть потеряны. В этом случае их связь восстанавливается вручную, аналогично созданию связи в схеме данных.
В результате всех действий запрос в режиме Конструктора примет вид, представленный на рис. 17
Рис. 17. Создание запроса в режиме Конструктора
Проверить запрос можно с помощью кнопки, на которой изображен восклицательный знак, на панели инструментов. Запрос переходит в режим таблицы, и, если он не выполняется, следует доработать его, вернувшись в режим Конструктора.
После проверки запроса окно построителя закрывается. При этом появится сообщение о сохранении запроса. Если содержащиеся в нем данные будут использованы в дальнейшем, запрос надо сохранить, присвоив ему индивидуальное имя. В основном окне базы данных в объекте Запросы появится новый запрос.
Открытие запроса производится двойным щелчком мыши по названию. Запрос открывается в режиме таблицы.
2. Запросы с параметрами
Запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие для возвращения записей или значение, которое требуется вставить в поле. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например двух дат. Затем Microsoft Access может вернуть все записи, приходящиеся на интервал времени между этими датами.
Запросы с параметрами работают по двум вариантам:
• отбор данных происходит в отдельном диалоговом окне. Такие диалоговые окна существуют в любой справочной системе, где вводится вопрос, и программа ищет ответ;
• отбор данных ведется непосредственно в таблице запроса в режиме Конструктора. В строку Условие отбора записываются критерии отбора, и только после этого на экран выводится табличная форма запроса.
1. Диалоговое окно для запроса
Диалоговые окна нужны не только для справки. Они выводят на экран только запрашиваемые данные и скрывают всю остальную информацию. Такой порядок позволяет разделить работу по нескольким направлениям и скрыть коммерческий характер информации.
Любой запрос начинается с создания простого запроса, а так как предстоит дополнительная работа, то создавать его лучше в режиме Конструктора.
После отбора таблиц и полей в том же режиме в строке Условие отбора в поле, где необходимо произвести отбор, надо указать критерии отбора. Эти критерии записываются в квадратных скобках в виде формулы:
[введите:КодТовара].
После слова «введите» указывается название поля (рис. 18).
Рис. 18. Создание запроса с параметрами
При проверке или запуске запроса открывается диалоговое окно Введите значение параметра (рис. 19), в котором пользователю предлагают ввести параметры. Какой параметр внести, указано на сером фоне окна, а в текстовом окне мигает курсор, дожидаясь ввода данных с клавиатуры.
Рис. 19. Диалоговое окно Введите значение параметра
После ввода параметра в диалоговом окне Введите значение параметра нажмите ОК, и на экране появится таблица с выбранными параметрами (рис. 20).
Рис. 20. Результат действия запроса с параметрами При выполнении запроса по двум и более параметрам окна Введите значение параметра будут появляться после введения каждого параметра друг за другом до тех пор, пока не будут заполнены все требуемые значения. Только после этого откроется таблица запроса.
2. Отбор данных в таблице запроса
Запросы с отбором данных считаются рабочими. Все начинается с простого запроса. В режиме Конструктора в строке Условие отбора в столбце, где необходимо произвести отбор, указываются критерии отбора. В этом случае они записываются в кавычках с указанием данных из записи или с помощью математических знаков (например, «тетради», Групповые операции. В нижней части окна построения запроса появится новая строка Групповые операции, а в зоне каждого поля автоматически будет установлено значение Группировка.
В тех полях, где нужно сгруппировать данные, необходимо оставить запись Группировка. В этом случае одинаковые данные будут выведены на экран единой записью без повторения. В остальных полях, по которым следует провести итоговые вычисления, в строке Группировка нужно раскрыть список и выбрать одну из итоговых функций (рис. 21)
Рис. 21. Создание итогового запроса
Функции в раскрывающемся списке имеют краткое обозначение (табл. 11).
Практическая работа. Создание перекрестных запросов в MS Access
Как организовать дистанционное обучение во время карантина?
Помогает проект «Инфоурок»
Практическая работа №5
Тема: «Создание перекрестных запросов»
для студентов 2 курса специальности 10.02.03
Информационная безопасность автоматизированных систем
Цели работы: научиться создавать перекрестные запросы на выборку данных с помощью мастера и конструктора запросов.
Перекрестные запросы — это запросы, в которых происходит статистическая обработка данных, результаты которой выводятся в виде таблицы, очень похожей на сводную таблицу Excel. Перекрестные запросы обладают следующими достоинствами:
возможностью обработки значительного объема данных и вывода их в формате, который очень хорошо подходит для автоматического создания графиков и диаграмм;
простотой и скоростью разработки сложных запросов с несколькими уровнями детализации.
Однако они имеют и недостатки — например, нельзя сортировать таблицу результатов по значениям, содержащимся в столбцах, т. к. в подавляющем большинстве случаев одновременное упорядочивание данных в столбцах по всем строкам невозможно. При этом вы можете задать сортировку по возрастанию или по убыванию для заголовков строк.
Создать запрос с помощью мастера форм: Создание/Мастер запросов
Создать с помощью конструктора: Создание/ Конструктор запросов
Изменить запрос с помощью конструктора: Режим/Конструктор
Задание 1. Создать запрос Выручка по месяцам
Создать с помощью мастера запросов перекрестный запрос, результатом которого будет таблица, демонтирующая выручку организации по месяцам по каждому сотруднику.
1. Создать запрос с помощью мастера запросов: Создание/Другие/Мастер запросов/Перекрестный запрос
2. Для создания перекрестного запроса использовать данные таблицы Заказы
3. Выбрать поля, значения которых использовать в качестве заголовков строк — Сотрудник.
4. Выбрать поля, значения которых использовать в качестве заголовков столбцов – Дата заказа .
5. Выбрать интервал, с которым необходимо сгруппировать столбец данных типа даты и времени — Месяц
6. Выбрать, какие исчисления необходимо провести для каждой ячейки на пересечении строк и столбцов. Выбрать поле Сумма и применить функцию C УММА.
7. Задать имя перекрестного запроса Выручка по месяцам .
Задание 2. Создать перекрестный запрос «Количество заказов по сотрудникам»
Создать с помощью конструктора перекрестный запрос, результатом которого будет таблица, демонтирующая количество заказов по сотрудникам и клиентам.
1. Создать запрос с помощью конструктора: Создание/Другие/Конструктор запросов
2. Для создания запроса использоватьтаблицы и поля:
таблица Заказы (поля ФИО клиента и Сумма )
таблица Сотрудники (поле ФИО сотрудника ).
3. Чтобы подключить групповые функции , нажать на кнопку
4. Для поля Сумма выбирать из выпадающего списка функцию Count – считать количество записей.
5. Чтобы создать перекрестный запрос, нажать на кнопку .
6. Провести настройку перекрестной таблицы. Использовать:
Поле ФИО сотрудника для заголовков столбцов ,
Поле ФИО клиента для заголовков строк ,
Поле Сумма в качестве значений , которые будут отображаться на пересечении столбцов и строк.
5. Для создания запроса нажимаем кнопку Выполнить!
6. Сохраните запрос под именем Количество заказов по сотрудникам .