Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Stanislav
Сделал вот так. Форма типа SingleForm. Открывается в режиме добавления записи. На форме есть кнопка Exit. Пользователь заносит данные и жмет exit.


Private Sub ExitButton_Click()
On Error GoTo Err_
Me.Refresh 'по этой команде Access попытается обновить форму и сработает обработчик события BeforeUpdate
DoCmd.Close
Exit Sub
Err_:
'
End Sub



Private Sub Form_BeforeUpdate(Cancel As Integer)
'если указаны какие-то данные по складу, но не указан владелец:
If Not IsNull(Me.StorageID) And IsNull(Me.StorageOwnerID) Then
    If MsgBox("Пожалуйста, укажите владельца склада!"), vbExclamation + vbOKCancel) = vbCancel Then
    'юзер отказался указать владельца склада: отменяем сделанные юзером изменения
    Me.Undo
    Else
    'юзер согласился указать владельца склада: останавливаем исполнение кода, не давая Access обновить данные, 
    'сохранить запись, в которой не указан владелец и закрыть форму.
    Cancel = True
    End If
End If
End Sub


Пока не додумал, как обработать ошибку стандартного крестика, закрывающего форму, поэтому его пришлось отключить.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.