Xuân Thanh > 01-07-12, 11:46 AM
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
khanhduycsgt > 01-07-12, 11:49 AM
cannguyen > 01-07-12, 11:34 PM
(01-07-12, 11:46 AM)Xuân Thanh Đã viết: 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
Mã: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
tanthuc > 08-10-12, 05:35 PM
phamvanthanh > 01-11-12, 06:14 PM
(01-07-12, 11:49 AM)khanhduycsgt Đã viết: cái này cũng tương tự như code cho nút Hủy thôi. chỉ khác là bỏ vào sự kiện Form_BeforeUpdate, dù sao cũng thanks bạn!
khải nguyên > 10-02-13, 11:31 PM
lotus > 18-02-13, 10:11 PM
(10-02-13, 11:31 PM)khải nguyên Đã viết: Bây giờ kg có ai phải lòng vòng nhập Dữ Liệu từ Table mà người ta nhập DL trưc tiếp trên Form tiện lợi mọi mặt Còn trong Subform nhúng vào Form mẹ thì khi thoát muốn cho nó hỏi hay kg cũng chỉ cần làm nút THOÁT bình thường trên Form thôi chứ sao lại với Subform thì kg được ,có chăng chỉ là kg có biến cố xóa dòng ( record ).. hay lưu dòng ( record ) mà thôi ! chưa thấy lỗi này
Khải Ngyên có gì Sorry nhé !
khải nguyên > 18-02-13, 11:24 PM
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Dim N As Integer
Response = acdatacontinue
N = MsgBox("Xoa kg", vbOKCancel + vbCritical, "Khải Nguyên")
If N = vbCancel Then
Cancel = True
End If
End Sub
khải nguyên > 18-02-13, 11:39 PM
Noname > 19-02-13, 01:33 AM