
- •Введение
- •1. Базы данных и системы
- •1.1. Наборы записей RecordSet
- •1.2 Элементы управления Data
- •1.3.Свойства элемента управления Data
- •1.4. Методы элемента управления Data
- •Option Compare Text,
- •Option Compare Binary.
- •1.5. Реляционные связи
- •1.5.1. Первичный ключ
- •1.5.2. Внешний ключ
- •1.5.3 Индексы
- •2. Структура базы данных biblio
- •3. Проверка корректности данных
- •3.1 Событие Validate
- •3.2. Событие Error
- •4. Ввод данных
- •5. Доступ к полям в объектах recordset
- •6. Введение в sql
- •Select (список полей) from (список таблиц) [where (выражение)]
- •11. Пример использования внутреннего объединения.
- •6.2. Использование sql-операторов
- •7. Усовершенствованные элементы управления, связанные с данными
- •7.1. Связанный с данными элемент управления List
- •7.3. Связанный с данными элемент управления Grid
- •8. Отображение баз данных
- •8.1 Объект Database
- •8.2 Объект TableDef: определение таблиц
- •8.2.1 Идексы таблицы
- •8.2.2 Поля таблицы
- •8.3 Объект QueryDef: определение запросов
- •8.4. Описание проекта dbStructure
3. Проверка корректности данных
Как уже отмечалось, элемент управления Data может использоваться для редактирования записей. Однако приложения БД должны проверять правильность (validating) вводимых пользователем данных перед их сохранением. Элемент управления Data предоставляет несколько событий и методов для проверки правильности вводимых данных перед их сохранением в БД.
3.1 Событие Validate
Проверку правильности вводимых данных выполняет событие Validate элемента управления Data:
Private Sub object_Validate (action As Integer, save As Integer),
где параметр action (действие) - это целое число, задающее операцию, выполнение которой вызывает данное событие. Его значения приведены в табл. 4.
Таблица 4. Значение параметра action события Validate
Константа |
Значение |
Описание |
vbDataActionCancel |
0 |
Отмена операции при выходе из процедуры |
vbDataActionMoveFirst |
1 |
Метод MoveFirst (Перейти к первой записи) |
vbDataActionMovePrevious |
2 |
Метод MovePrevious (Перейти к предыдущей записи) |
vbDataActionMoveNext |
3 |
Метод MoveNext (Перейти к следующей записи) |
vbDataActionMoveLast |
4 |
Метод MoveLast (Перейти к последней записи) |
vbDataActionAddNew |
5 |
Метод AddNew (Добавить новую запись) |
vbDataActionUpdate |
6 |
Операция обновления (не UpdateRecord)) |
vbDataActionDelete |
7 |
Метод Delete (Удалить) |
vbDataActionFind |
8 |
Метод Find (Найти) |
vbDataActionBookmark |
9 |
Установлено свойство Bookmark (Закладка) |
vbDataActionClose |
10 |
Метод Close (Закрыть) |
vbDataActionUnload |
11 |
Выгрузка формы из памяти |
Чтобы отменить операцию, вызвавшую событие Validate, значение vbDataActionCanсel следует установить с помощью кода. Например, если пользователь изменяет данные в элементе управления, а затем щелкает на кнопке MoveNext, то можно отменить изменения и операцию MoveNext.
Параметр save (сохранить) - это выражение типа Boolean, указывающее, изменялись ли данные. Можно установить его значение в False, чтобы отменить изменения.
3.2. Событие Error
Другим полезным событием при проверке правильности данных является событие Error (Ошибка). Когда модифицируется запись в БД, механизм JET гарантирует, что введенные данные не противоречат правилам, определенным при проектировании БД. Например, если требуется, чтобы указанное поле было уникальным, то запись не будет модифицирована, если введенное значение уже использовалось. Если поле превышает максимальную длину, изменения будут также отклонены.
Если данные не удовлетворяют правилам, определенным в проекте БД то генерируется ошибка выполнения программы. Перед сообщением об ошибке генерируется событие Error. Можно выявить причину ошибки, вызвав ее обработчик.
Cобытие Error объявляется следующим образом:
Sub Object_Error (dataerr As Integer, response As Integer),
где параметр dataerr (данные об ошибке) - это номер ошибки, a response (отклик) - целое число, которое устанавливается при появлении события, чтобы затем в обработчике ошибки выполнить соответствующие действия. Значения параметра response перечислены в табл. 5. Ошибку необходимо обработать внутри процедуры Error, а затем установить параметр response в 0, чтоб предотвратить генерирование ошибки выполнения программы.
Талица 5. Значение параметра response события Error
Константа |
Значение |
Описание |
vbDataErrContinue |
0 |
Продолжать выполнение |
vbDataErrDisplay |
1 |
Отображение сообщения по ошибке (установлено по умолчанию) |
.