Chúng ta biết rằng Access luôn tự động lưu lại các record mỗi
khi ta nhập mới hoặc sửa đổi. Để ngăn không cho access tự động lưu, muốn lưu phải
hỏi trước, nếu đồng ý thì lưu, nếu không thì undo lại giá trị trước khi thay đổi,
ta dùng thủ thuật sau của sự kiện BeforeUpdate của form
Private Sub Form_BeforeUpdate(Cancel As Integer)
'If the form data has changed a message is shown asking if
'the changes should be saved. If the answer is no then
'the changes are undone
On Error GoTo BeforeUpdate_Error
If Me.Dirty Then
'if record has been changed the dirty property
'is set to true Display message to save the record
If MsgBox("The record has changed - do you want to save it?", _
vbYesNo + vbQuestion, "Save Changes") = vbNo Then
Me.Undo
End If
End If
BeforeUpdate_Exit:
Exit Sub
BeforeUpdate_Error:
MsgBox Err.Description
Resume BeforeUpdate_Exit
End Sub
'If the form data has changed a message is shown asking if
'the changes should be saved. If the answer is no then
'the changes are undone
On Error GoTo BeforeUpdate_Error
If Me.Dirty Then
'if record has been changed the dirty property
'is set to true Display message to save the record
If MsgBox("The record has changed - do you want to save it?", _
vbYesNo + vbQuestion, "Save Changes") = vbNo Then
Me.Undo
End If
End If
BeforeUpdate_Exit:
Exit Sub
BeforeUpdate_Error:
MsgBox Err.Description
Resume BeforeUpdate_Exit
End Sub
(Theo Xuân Thanh, thuthuataccess)
Không có nhận xét nào:
Đăng nhận xét