VBA, MS Access MS Access в примерах

Подтверждение сохранения записи в форме

Private Sub Form_BeforeUpdate(Cancel As Integer)
'Происходит например при преходах между записями или при закрытии формы
    Dim strMsg As String
    If Me.Dirty = True Then 'Вносились изменения
        strMsg = "Данные изменены." & vbCrLf
        strMsg = strMsg & "Вы хотите сохранить изменения?" & vbCrLf
        strMsg = strMsg & "Нажмите [ДА] для записи, или [НЕТ] для отмены изменений."
        If MsgBox(strMsg, vbQuestion + vbYesNo, "Сохранить запись?") = vbYes Then
            'Процедура выхода - перехода к след записи, сохранения, "прыг" в другую форму.
            ' ...
        Else
            'Отмена внесённых изменений
            Cancel = True ' Отмена всего (при закрытии формы выдаст сабж о невозможности сохранить ...)
            Me.Undo 'Отмена изменений (возврат всех значений полей в исходное)
        End If
    End If
End Sub

Примечание:
Если в форме есть подчинённая - ЭТО её не касается

Назад ToTop
L.E. 30.07.2016
Рейтинг@Mail.ru