
- •Лабораторные работы Лабораторная работа № 1 Анализ процедуры обработки события, формируемой мастером
- •Инструкции
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 2 Выполнение запросов в процедуре обработки события
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №3 Поиск данных с использованием индексов
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №4 Создание новой таблицы в базе данных
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №5 Фильтрация записей формы по значению, выбранному из списка другой формы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №6 Создание таблицы и заполнение ее записями
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №7 Расчет в текущей записи однотабличной формы и обновление таблицы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №10 Создание таблицы с помощью инструкции sql
- •Сортировка записей и ключевое слово order by
- •Ограничение набора записей с использованием критерия отбора
- •Обработка групп данных
- •Использование соединений для связи записей
- •Select студент.Нг, студент.Нс, студент.Фио, успеваемость.Кп, успеваемость.Табн, успеваемость.Видз, успеваемость.Оценка
- •Запросы на изменение
- •Откройте базу данных Учебный процесс.
- •Задание для самостоятельной работы
- •Используя инструкции sql, обеспечьте сортировку записей таблицы izd в базе данных Изделия в алфавитном порядке.
- •Используя форму sql базы данных Изделия, обеспечьте вывод только тех записей из таблицы отгрузка, для которых поле Количество отгружаемого товара имеет значение меньшее 60.
Задание для самостоятельной работы
Сконструируйте в базе данных Изделия форму ТНН аналогичную форме созданной в лабораторной работе, а для элемента управления Поле со списком выберите поле из таблицы ТНН – NTTN. При выборе номера накладной, на экран должна выводиться форма ОТГРУЗКА1 со списком отгружаемых товаров по данной накладной.
Контрольные вопросы
Какой метод объекта DoCmd позволяет открыть форму.
Назовите константу VBA, которая определяет вывод в окне диалога двух кнопок ОК и Отмена.
Для чего используется ключевое слово Me?
Лабораторная работа №6 Создание таблицы и заполнение ее записями
Цель лабораторной работы: научиться создавать таблицы и заполнять ее записями с помощью процедуры VBA.
Пусть для получения списка студентов, обучающихся в заданной группе, необходимо создать таблицу и вывести ее на экран.
В базе данных имеется таблица СТУДЕНТ, из которой должны выбираться записи с заданным значением в поле НГ (номер группы). Для размещения результата выборки должна быть создана таблица Ответ с полями ФИО и Группа.
Для просмотра и выбора нужной группы из списка сконструируем кнопочную форму Выборка записей, не использующую источник данных. Создадим в ней поле со списком групп, построенное на основе данных из таблицы Группа (рис. 6.1).
Рис. 6.1. Окно формы со списком групп
1. Создайте процедуру, которая выполняется при обновлении значения в
поле со списком групп Private Sub ПолеСоСписком0_AfterUpdate(). Полный текст процедуры приведен ниже. В процедуре выделены три основных блока. Предыдущие упражнения и комментарии позволят вам понять логику процедуры и инструкции, реализующие решение сформулированной выше задачи.
• Первый блок инструкций по созданию таблицы содержит инструкции создания структуры таблицы и включения объектов структуры в семейства.
• Второй блок начинается с создания наборов записей, предоставляющих возможность обработки каждой его записи. Набор записей по таблице СТУДЕНТ stab содержит все записи, удовлетворяющие заданному условию отбора, и служит источником данных для новой таблицы. Набор записей по таблице Ответ stab1 используется для добавления записей в таблицу. Для последовательной обработки записей объектов Recordset организован цикл Do Until ....Loop.
• Третий блок обработки ошибок содержит инструкции, которые позволяют выполнять создание таблицы как в первый раз, так и повторно, даже если она не была закрыта.
2. Найдите в процедуре программу обработки ошибок, начинающуюся с метки ОбработкаОшибок. Эта программа получает управление при возникновении любой ошибки, поскольку в начале процедуры записана инструкция On Error GoTo ОбработкаОшибок.
• Первая инструкция программы If Err.Number - 7874 Then ... End If
проверяет код ошибки 7874, который вырабатывается при удалении несуществующей таблицы Ответ методом Deleteobject объекта DoCmd:
DoCmd.DeleteObject acTable, "Ответ"
• Следующая инструкция проверяет код ошибки 2008, который вырабатывается при попытке удалить открытую таблицу Ответ. Обнаружив эту ошибку, программа закрывает таблицу и передает управление на повторное выполнение инструкции удаления таблицы и продолжения работы процедуры.
• Во всех остальных случаях предусмотрен вывод стандартного сообщения об ошибке.
3. Удалите из программы обработки ошибок или переведите в комментарии первые две инструкции if ... Then ... End if. Откройте таблицу Ответ. При выполнении процедуры вы получите стандартное сообщение об ошибке 2008 и процедура завершит выполнение. Удалите таблицу Ответ. При выполнении процедуры вы получите сообщение об ошибке 7874 и процедура также завершит выполнение. Убедитесь, что те же действия при наличии указанных инструкций не вызывают никаких осложнений при выполнении процедуры.