[Access VBA] 如何得知表單資料內容已更新?
by 艾鍗學院, 2012-12-11 19:58, 人氣(2375)
Private Sub Form_BeforeUpdate(Cancel As Integer)
Call Check_Dirty(Me)
End Sub
Public Sub Check_Dirty(myform As Form)
If myform.Dirty Then
If MsgBox("本筆資料已修改!要儲存嗎?", vbYesNo, "確認儲存") = vbNo Then
myform.Undo
End If
End If
End Sub
為什麼是在BeforeUpdate 事件裡檢查?
因為.Form.dirty 指的是資料改變到尚未儲存該筆資料的這段期間,
所以在"更新前"先提示使用者, 若是在AfterUpdate 事件,那時候表示資料已儲存了.
故Form.dirty 會是false 的狀態,不是true
###
When do we use each of them, and what does it mean.
Rather, how do i know what to use when....
dbOpenDynaset
dbOpenDynamic
dbOpenForwardOnly
dbOpenSnapshot
dbOpenTable
dbOpenOptimistic