
- •Лабораторная работа № 7
- •Применение операторов sql в процедурах vba
- •Сортировка записей и ключевое слово order by
- •Ограничение набора записей с использованием критерия отбора
- •Обработка групп данных
- •Использование соединений для связи записей
- •Запросы на изменение
- •Задание
- •1.4.1. Создание отношений
- •1.4.2. Команды модификации данных
- •1.4.3. Извлечение данных из отношений
Запросы на изменение
Запросы на изменение (action queries) также представляют собой операторы SQL, генерируемые через графический интерфейс запроса в режиме конструктора. Ниже приведены некоторые примеры запросов на изменение.
1. Запрос на удаление:
DELETE СТУДЕНТ.* , ГРУППА.КОЛ
FROM ГРУППА INNER JOIN СТУДЕНТ
ON ГРУППА.НГ = СТУДЕНТ.НГ
WHERE (((ГРУППА.КОЛ)<5))
Инструкция DELETE удаляет из таблицы записи, удовлетворяющие условию отбора, заданному в условии WHERE. Для того чтобы указать, из какой именно таблицы должны быть удалены записи, в список полей включается конструкция имя_таблицы. * (СТУДЕНТ. *).
2. Запрос на обновление:
UPDATE СТУДЕНТ SET НГ = 101
WHERE Пбалл = 4.5
Инструкция UPDATE обновляет указанное в предложении SET поле НГ, присваивая значение 101 во всех записях, которые удовлетворяют условию отбора, заданному в предложении WHERE.
3. Запрос на вставку:
INSERT INTO УСПЕВАЕМОСТЬ ( НГ, НС, КП, ТАБН, ВИДЗ, ОЦЕНКА )
SELECT УСПВРЕМ. НГ, УСПВРЕМ. НС, УСПВРЕМ. КП, УСПВРЕМ.ТАБН,
УСПВРЕМ.ВИДЗ, УСПВРЕМ.ОЦЕНКА
FROM УСПВРЕМ
Инструкция INSERT INTO позволяет добавить записи в указанную таблицу УСПЕВАЕМОСТЬ. Число добавляемых записей определяется числом записей, возвращаемых используемой инструкцией SELECT. Списки имен полей и порядок их перечисления для таблицы УСПЕВАЕМОСТЬ, куда добавляются записи, и для таблицы, определяемой инструкцией выбора, должны совпадать.
4. Запрос на создание таблицы:
SELECT DISTINCTROW СТУДЕНТ.НГ, Count (СТУДЕНТ.НГ)
AS Count_НГ
INTO [Число студентов]
FROM СТУДЕНТ
GROUP BY СТУДЕНТ.НГ
Инструкция SELECT … INTO, как и инструкция SELECT, выполняет выборку данных, но в отличие от нее для сохранения выбранных данных создает новую таблицу, имя которой указывается в предложении INTO. Новая таблица включает перечисленные в SELECT поля из таблиц, указанных в предложении FROM. Допустимо использование предложения GROUP BY, определяющего поле группировки. При этом список полей новой таблицы должен включать поле, вычисляемого с помощью одной из статистических функций (в примере - Count). Если перед GROUP BY поместить предложение WHERE, тогда группы будут формироваться из записей, отобранных после применения WHERE.
Для проверки работоспособности операторов SQL выполните следующие действия:
1. Откройте базу данных Учебный процесс.
2. Создайте в режиме конструктора форму под названием SQL (рис. 11.1). При создании кнопки на форме автоматически запустится мастер создания кнопок. Не выбирая никаких действий, просто нажмите кнопку Отмена.
3. Далее щелкните правой клавишей мыши на кнопке в форме и нажмите Свойства. На закладке События найдите Нажатие кнопки и выберите [Процедура обработки события]. В конце строки щелкните на кнопке построителя выражений, после чего откроется окно VBA.
Рис. 11.1. Форма SQL
4. Чтобы посмотреть, как работают операторы SQL, запишите по очереди указанные выше инструкции в следующую процедуру обработки события:
5.Чтобы просмотреть результат выполнения процедуры, запустите форму и нажмите на ней кнопку Пуск.