
- •1.Работа с запросами в ms Access
- •1.1Запрос на выборку
- •1.2Запрос с параметрами
- •1.3Перекрестный запрос
- •1.4Запрос на изменение
- •1.5Запрос sql
- •1.5.1.Создание запросов sql
- •Упражнение 1.
- •2.Создание форм и отчетов
- •2.1Работа с формами
- •2.1.1.Создание формы
- •2.1.2.Формы для связанных таблиц
- •2.2Создание отчета
- •2.3Создание элементов управления формы или отчета
- •2.4Добавление вычисляемых выражений в формы и отчеты
- •Упражнение 2
- •3.Макросы
- •3.1Создание макроса пользовательского интерфейса
- •3.2Запуск макроса
- •4.Обмен данными
- •4.1Экспорт данных
- •4.2Импорт данных
- •Упражнение 3
1.5Запрос sql
Запрос SQL создается с помощью инструкций на языке структурированных запросов (Structured Query Language, SQL). SQL - комплексное средство отбора, обновления и управления реляционными базами данных. Access автоматически создает инструкции SQL при создании пользователем всех типов запросов. Все созданные запросы хранятся в виде инструкций SQL. Инструкцию SQL можно создать и вручную. Некоторые типы запросов можно построить, только используя язык SQL.
1.5.1.Создание запросов sql
Процесс создания запроса на языке SQL в Access:
Выбрать на вкладке Создание команду Конструктор запросов.
Закрыть диалоговое окно запроса Добавление таблицы, не выбирая таблицы.
Далее следует выбрать режим SQL в выпадающем списке Режим на вкладке Работа с запросами.
В открывшемся окне запроса ввести инструкцию SQL, предварительно очистив содержимое этого окна.
При использовании SQL необходимо применять правильный синтаксис. Синтаксис — это набор правил, позволяющих правильно сочетать элементы языка. Синтаксис SQL основан на синтаксисе английского языка и включает много таких же элементов, как и синтаксис языка VBA (Visual Basic for Applications).
Инструкция SQL, которая извлекает информацию из базы данных, называется SELECT. Инструкция SELECT служит для описания набора данных на языке SQL и состоит из нескольких частей, называемых предложениями. Каждое предложение в инструкции SQL имеет свое назначение.
Общий формат инструкции SELECT2:
SELECT [Distinct]3 <список полей>
FROM <список таблиц>
[WHERE <условие выборки>]
[ORDER BY <список полей>]
[GROUP BY < список полей >]
[HAVING <условие >]
[UNION <выражение с оператором SELECT >];
SELECT определяет поля, которые содержат нужные данные.
FROM определяет таблицы, которые содержат поля, указанные в предложении SELECT.
WHERE определяет условия отбора полей, которым должны соответствовать все записи, включаемые в результаты.
ORDER BY определяет порядок сортировки результатов для одного или нескольких выбранных столбцов. ASC – сортировка по возрастанию, DESC - сортировка по убыванию. По умолчанию применяется возрастающая последовательность сортировки.
GROUP BY определяет поля, данные в которых группируются. Используется в инструкции SELECT, которая содержит статистические функции: SUM (сумма), COUNT (количество), MIN (минимум), MAX (максимум), AVG (среднее значение) и др.
HAVING определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение. Напрямую в данном предикате могут участвовать только те поля, которые указаны в предложении GROUP BY.
Оператор UNION используется для объединения выходных данных 2-х или более SQL–запросов в единое множество строк и столбцов.
Задание 12. Создайте и выполните запрос, извлекающий номер и адрес склада из таблицы Склады, используя инструкции SQL.
Создайте запрос SQL и введите следующую инструкцию:
SELECT Склады.Номер_склада, Склады.Адрес
FROM Склады;
Выполните запрос.
Если требуется задать новые названия полей (заголовки), в предложении SELECT указываются псевдонимы для этих полей вслед за ключевым словом AS. Например, SELECT Склады.Номер_склада AS [№склада].
Задание 13. Внесите изменения в инструкцию SQL из предыдущего задания, указав псевдоним для поля Номер_склада и оставив без изменения название Адрес. Проверьте результат, выполнив запрос.
Если требуется ограничить выборку складами, номер которых > 20, то условие отбора в этом случае запишется как:
WHERE Номер_склада > 20
Задание 14. Перейдите еще раз в режим SQL и допишите инструкцию, добавив в конец новую строку, определяющую условие отбора.
Вся инструкция будет выглядеть следующим образом:
SELECT Склады.Номер_склада, Склады.Адрес
FROM Склады
WHERE Номер_склада > 20
В инструкции SELECT перечень полей может быть продолжен.
Если нужно извлечь всю информацию из таблицы Склады, указав все поля, то инструкция SELECT будет выглядеть так:
SELECT Склады.*