
- •Санкт-Петербургский
- •Оглавление
- •Запуск 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).
Запрос на удаление также можно реализовать как запрос с параметром.
!!!!! Если в запросе на удаление будет отсутствовать условие отбора удаляемых записей, то будут удалены ВСЕ записи таблицы.
Если удаление указано из родительской таблицы, и при этом ранее было установленоКаскадноеудалениесвязанныхзаписей,то удаление будет произведено не только из родительской, но и из всех дочерних таблиц, которые имеют записи, связанные с удаляемыми записями родительской таблицы.