- •Санкт-Петербургский
 - •Оглавление
 - •Запуск Access
 - •Интерфейс пользователя Access
 - •НастройкиAccess
 - •Создание новой бд
 - •Таблицы
 - •Создание структуры таблицы
 - •Типы данных
 - •Свойства полей
 - •Загрузка таблицы данными
 - •Модификация структуры таблицы
 - •Работа с макетом таблицы
 - •Печать таблицы
 - •Запросы
 - •Типы запросов
 - •Создание qde-запросов
 - •Заполнение бланка запроса
 - •Работа с построителем выражений
 - •Примеры запросов
 - •Запросы на выборку данных
 - •Запросы на создание таблицы
 - •Запросы на добавление записей
 - •Insert into Det ( dim, cena )
 - •Insert into Det ( dim, cena )
 - •Values ("шайба", 40);
 - •Insert into Новая ( pim, gor )
 - •Запросы на удаление записей
 - •Запросы на обновление полей записей
 - •Перекрестные запросы
 - •Вложенные запросы
 - •Sql-запросы
 - •Фильтрация данных
 - •13.1. Создание однотабличной формы
 - •13.2. Редактирование формы
 - •13.3. Часто используемые свойства формы
 - •13.4. Элементы управления на форме и их свойства
 - •14. Отчеты
 - •14.1. Создание отчета
 - •14.2. Работа с отчетом в режиме конструктора
 - •14.3. Сортировка и группировка данных
 - •15. Макросы
 - •15.1. Создание макросов
 - •15.2. Краткая характеристика основных макрокоманд
 - •15.3. Групповые макросы
 - •15.4. Реализация ветвлений в макросах
 - •15.4.1. Примеры макросов с односторонним ветвлением
 - •15.4.2. Пример макроса с двусторонним ветвлением
 - •15.5. Реализация циклов в макросах
 - •16. Основы создания пользовательского интерфейса
 - •16. 1. Взаимодействие форм
 - •16. 2. Требования, предъявляемые к интерфейсу пользователя
 - •Литература
 
Insert into Det ( dim, cena )
SELECT "шайба" AS Выражение1, 40 AS Выражение2;
Здесь псевдонимы Выражение1 и Выражение2 Access добавил сам.
На языке SQL этот оператор можно было написать в виде
Insert into Det ( dim, cena )
Values ("шайба", 40);
Но, если теперь перейти в окно конструктора, то мы увидим запрос, как на рисунке 36, и, перейдя снова в окно SQL, увидим запрос с псевдонимами Выражение1 и Выражение2.

Рисунок 40 – Добавление одной записи как запрос с параметрами
Запрос 10. Запрос на добавление нескольких записей в таблицу Новая, которая была создана в запросе 7. Добавляемые записи получим выборкой из той же таблицы, что и в запросе 5. Итак, в таблицу Новая добавим поставщиков из Москвы.
Последовательность действий при этом будет такой:
активизировать на ленте вкладку Создание;
в разделе Другие выбрать Конструктор запросов;
откроется окно для добавления таблицы;
добавим в верхнюю часть бланка таблицу Post;
построим запрос на выборку поставщиков из Москвы;
преобразуем запрос в запрос на добавление, как было описано выше;
в строке Добавление укажем поля, в которые будут добавлены новые данные, полученные из таблицы Post;
Сконструированный таким образом запрос показан на рисунке 41.

Рисунок 41 – добавление нескольких записей в таблицу Новая
Результат добавления показан на рисунке 42

Рисунок 42 – Добавление нескольких (двух) записей в таблицу Новая
Как видно из рисунка 42, был осуществлен ввод данных не во все поля таблицы Новая.
Соответствующий SQL-запрос:
Insert into Новая ( pim, gor )
SELECT Post.PIM, Post.GOR
FROM Post
WHERE (((Post.GOR)="Москва"));
Запросы на удаление записей
Запрос 11. Запрос на удаление записей. Удалить записи из таблицы PD, в которых количество поставляемых деталей меньше или равно 40. Для реализации этого QBE-запроса нужно выполнить следующую последовательность действий:
активизировать на ленте вкладку Создание;
в разделе Другие выбрать Конструктор запросов;
откроется окно для добавления таблицы;
добавим в верхнюю часть бланка таблицу PD;
построим запрос на выборку записей, в которых значение поля KOL<=40, причем можно в ответе оставить только поле KOL, как показано на рисунке 40;
выполним запрос на выборку и убедимся, что такие записи в таблице есть;
преобразуем запрос в запрос на удаление кнопкой
;
	появится строкаУдаление,
	в которой автоматически добавится
	слово Условие;Выполним запрос и убедимся в том, что удаление состоялось.

Рисунок 43 – Первый вариант запроса на удаление
Соответствующий SQL-запрос:
DELETE PD.KOL
FROM PD
WHERE (((PD.KOL)<=40));
Если в строкуПолебыли вынесены все поля (с помощью символа *), то для этого столбца в строкеУдалениебудет указано словоИз, а в столбце, для которого было написано условие отбора, в строкеУдалениебудет указано словоУсловие,как показано на рисунке 44.

Рисунок 44 – Второй вариант запроса на удаление
Соответствующий SQL-запрос:
DELETE PD.*, PD.KOL
FROM PD
WHERE (((PD.KOL)<=40));
SQL-запрос на удаление может быть написан так:
DELETE
FROM PD
WHERE (((PD.KOL)<=40));
Если теперь перейти в режим конструктора, то мы увидим соответствующий QBE-запрос в виде первого варианта (рис.40).
Запрос на удаление также можно реализовать как запрос с параметром.
!!!!! Если в запросе на удаление будет отсутствовать условие отбора удаляемых записей, то будут удалены ВСЕ записи таблицы.
Если удаление указано из родительской таблицы, и при этом ранее было установленоКаскадноеудалениесвязанныхзаписей,то удаление будет произведено не только из родительской, но и из всех дочерних таблиц, которые имеют записи, связанные с удаляемыми записями родительской таблицы.
