02. Когда пользователь работает с формой, то может возникнуть ситуация, что он не ввел в нее некоторые данные (Страна, Фамилия и т.п.). Этот алгоритм решает такую проблему, пока не будут введены данные в ключевые поля форма не закроется.
' Проверка при выгрузке окна
Private Sub Form_Unload(Cancel As Integer)
If Nz(Me.Country, "") = "" Then
Me.Country.Controls(0).ForeColor = RGB(255, 0, 0)
MsgBox "НЕ заполнено поле Страна!", vbCritical, "Ошибка при вводе данных"
Cancel = True ' Отменяем закрытие окна
DoCmd.CancelEvent ' Отменяем последнее событие
Exit Sub
End If
If Nz(Me.City, "") = "" Then
Me.City.Controls(0).ForeColor = RGB(255, 0, 0)
MsgBox "НЕ заполнено поле Город!", vbCritical, "Ошибка при вводе данных"
Cancel = True ' Отменяем закрытие окна
DoCmd.CancelEvent ' Отменяем последнее событие
Exit Sub
End If
' Запрашиваем закрытие окна
If MsgBox("Закрыть окно !", vbInformation + vbOKCancel, "Выход из программы") vbOK Then
Cancel = True
DoCmd.CancelEvent
End If
End Sub