Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA_Labs.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
8.08 Mб
Скачать

Задание для самостоятельной работы

Сконструируйте в базе данных Изделия форму Поиск аналогичную форме созданной в лабораторной работе, и обеспечьте поиск данных об отгрузке. При нажатии кнопки на форме сначала должно выводиться окно предлагающее ввести номер накладной и окно, запрашиваемое код изделия. Используйте таблицу ОТГРУЗКА, которая имеет составной ключ, включающий поля NTTN(Номер ТТН) и KI(Код изделия). Пример результата поиска приведен на рис. 3.4.

Рис. 3.4. Пример результата поиска по идентификатору

Контрольные вопросы

  1. К какому объекту применим метод Seek?

  2. За счет чего обеспечивается быстродействие поиска методом Seek?

  3. Для чего предназначена объектная переменная?

  4. Какого типа объектная переменная предназначена для хранения ссылок на набор записей?

  5. Какая инструкция используется для присваивания объектной переменной значения?

  6. Какой метод, какого объекта используется для создания набора записей!

  7. Что служит источником записей для набора, к которому применим метод Seek?

  8. Какому свойству набора записей присваивается значение текущего индекса?

  9. Какое имя по умолчанию имеет индекс первичного ключа таблицы?

  10. Какое свойство позволяет определить, найдена ли запись в наборе?

Лабораторная работа №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. Значением свойства является предупреждающее сообщение с описанием перехваченной ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]