
- •Лабораторные работы Лабораторная работа № 1 Анализ процедуры обработки события, формируемой мастером
- •Инструкции
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 2 Выполнение запросов в процедуре обработки события
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №3 Поиск данных с использованием индексов
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №4 Создание новой таблицы в базе данных
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №5 Фильтрация записей формы по значению, выбранному из списка другой формы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №6 Создание таблицы и заполнение ее записями
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №7 Расчет в текущей записи однотабличной формы и обновление таблицы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №10 Создание таблицы с помощью инструкции sql
- •Сортировка записей и ключевое слово order by
- •Ограничение набора записей с использованием критерия отбора
- •Обработка групп данных
- •Использование соединений для связи записей
- •Select студент.Нг, студент.Нс, студент.Фио, успеваемость.Кп, успеваемость.Табн, успеваемость.Видз, успеваемость.Оценка
- •Запросы на изменение
- •Откройте базу данных Учебный процесс.
- •Задание для самостоятельной работы
- •Используя инструкции sql, обеспечьте сортировку записей таблицы izd в базе данных Изделия в алфавитном порядке.
- •Используя форму sql базы данных Изделия, обеспечьте вывод только тех записей из таблицы отгрузка, для которых поле Количество отгружаемого товара имеет значение меньшее 60.
Задание для самостоятельной работы
Сконструируйте в базе данных Изделия форму Поиск аналогичную форме созданной в лабораторной работе, и обеспечьте поиск данных об отгрузке. При нажатии кнопки на форме сначала должно выводиться окно предлагающее ввести номер накладной и окно, запрашиваемое код изделия. Используйте таблицу ОТГРУЗКА, которая имеет составной ключ, включающий поля NTTN(Номер ТТН) и KI(Код изделия). Пример результата поиска приведен на рис. 3.4.
Рис. 3.4. Пример результата поиска по идентификатору
Контрольные вопросы
К какому объекту применим метод Seek?
За счет чего обеспечивается быстродействие поиска методом Seek?
Для чего предназначена объектная переменная?
Какого типа объектная переменная предназначена для хранения ссылок на набор записей?
Какая инструкция используется для присваивания объектной переменной значения?
Какой метод, какого объекта используется для создания набора записей!
Что служит источником записей для набора, к которому применим метод Seek?
Какому свойству набора записей присваивается значение текущего индекса?
Какое имя по умолчанию имеет индекс первичного ключа таблицы?
Какое свойство позволяет определить, найдена ли запись в наборе?
Лабораторная работа №4 Создание новой таблицы в базе данных
Цель лабораторной работы: научиться создавать новые таблицы в базе данных средствами VBA.
Создайте в базе данных Учебный процесс средствами VBA новую таблицу Деканат с полями Код и Название. В качестве первичного ключа таблицы используйте поле Код. Для проверки работоспособности программы оформите ее, как процедуру обработки события — нажатие кнопки в некоторой форме.
Для работы со структурой таблицы используйте объекты:
Database, представляющий базу данных;
TableDef, представляющий структуру таблицы;
Field, определяющий поле таблицы;
Index, который позволяет определить ключ таблицы.
1. В процедуре создайте объектные переменные типа Database, TableDef, Field и Index, предназначенные для хранения ссылок на соответствующие объекты базы данных.
2. Для создания нового объекта TabieDef - таблицы с именем Деканат, примените метод СreateTabieDef к объектной переменной dbsУчебный_процесс, которая указывает на объект Database. Для создания нового объекта Field - текстового поля, сохраняющего не более двух символов, с именем Код, примените метод CreateFieid к объектной переменной tbl, которая указывает на объект TabieDef:
3. Для добавления поля (ссылка на него сохранена в объектной переменной fiel) в семейство Fields, входящее в объект TableDef, используйте метод Append и запишите:
tbl.Fields.Append fiel
4. Для создания в таблице поля Название используйте ту же объектную переменную fiel и так же добавьте его в семейство Fields:
5. Для добавления таблицы – объекта TableDef (ссылка на него сохранена в объектной переменной tbl) в семейство TableDef используйте метод этого семейства Append
6. Теперь создайте первичный ключ новой таблицы:
• Сначала создайте индекс, который будет использоваться в качестве первичного ключа, задав ему имя, например, то, которое по умолчанию используется при определении ключа таблицы в конструкторе – PrymaryKey. Для этого используйте метод CreateIndex объекта TableDef:
• Следующей инструкцией задайте поле, на основе которого строится индекс (поле Код) ind1.CreateField(“Код”), и включите его в семейство полей индекса. В модели объектов доступа к данным поля индекса включаются в семейство Fields, которое включается не только в объект TableDef, но и в объект Index.
ind1.Fields.Append ind1.CreateFieid("Код")
• Объявите индекс первичным ключом таблицы Деканат. Для этого присвойте свойству индекса Prymary значение True:
ind1.Primary = True
• Добавьте индекс (ссылка на него сохранена в объектной переменной ind1) в семейство индексов объекта TableDef
tbl.Indexes.Append ind1
7. Окончательно процедура запишется в следующем виде:
8. Возвратитесь в Access и, нажав в форме кнопку, к которой привязана процедура обработки этого события, выполните процедуру. В БД создастся таблица Деканат с полями Код и Название, причем поле Код объявлено ключевым, а индекс имеет имя PrimaryKey. Чтобы убедиться в этом, откройте таблицу в режиме конструктора.
9. Выполните процедуру повторно, и будет выведено сообщение, представленное на рис. 4.1.
Рис. 4.1. Сообщение, формируемое инструкцией обработки ошибки
Это сообщение является результатом обработки ошибки, которая производится за счет инструкций в начале процедуры:
On Error GoTo Err_Kнопкa_Click
и в конце процедуры.
Аргумент Err.Description инструкции MsgBox определяет строковое значение, формируемое свойством Description объекта Err. Значением свойства является предупреждающее сообщение с описанием перехваченной ошибки.