-
Ngăn chặn không cho Access tự động lưu record
Xuân Thanh > 01-07-12, 11:46 AM
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 -
RE: Ngăn chặn không cho Access tự động lưu record
khanhduycsgt > 01-07-12, 11:49 AM
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! -
RE: Ngăn chặn không cho Access tự động lưu record
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
Bac Xuan Thanh hay lam. cam on bac. Minh dang can chuc nang nay. Thuc su minh cung co cach khac khac phuc nhung phuc tap hon. Cach cua bac qua ok -
RE: Ngăn chặn không cho Access tự động lưu record
tanthuc > 08-10-12, 05:35 PM
đối với single form thì xử lý được nhưng nếu có subform thì không được các bạn ơi. Có ai làm đươc với subform chia sẽ mình với -
RE: Ngăn chặn không cho Access tự động lưu record
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!
Hi KhanhDuycsgt
Hành trình access của mình bằng thời gian tham gia forum này - gần 2 ngày hi hi. Bác google dẫn mình tới đây.
Là dân ngoại đạo và với kinh nghiệm trên chắc bạn cũng bít là chửa có mánh gì . Mình quan sát diễn đàn còn như xem mục lục. Nhìn thấy code mà hoảng quá bạn ơi
Bạn có mánh nào học hiệu quả chia sẽ mình với nhé! Chỗ mới mình làm đang quản lý thông tin bằng excel, dùng như những cái ma trận không có quy luật trên những tờ giấy Bãi Bằng í, trông chán lắm
Thanks thanks
ối ối nút post ở đâu nhỉ -
RE: Ngăn chặn không cho Access tự động lưu record
khải nguyên > 10-02-13, 11:31 PM
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é ! -
RE: Ngăn chặn không cho Access tự động lưu record
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é !
Nghe nói vậy mình cũng thử vào Subform nhập đúng là ko cập nhật đc cho subform rồi bạn ơi, -
RE: Ngăn chặn không cho Access tự động lưu record
khải nguyên > 18-02-13, 11:24 PM
Khải Nguyên xin bạn " Lotus " thử Code sau :
Mã: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
Phần lệnh này phải : "Trực tiếp gán vào Form nào cần xóa "
Như tôi vẫn làm : nếu trên Form Sub mà nhúng vào Form Main thì lệnh này phải gán váo thuộc tính của Form Sub mới chạy đúng !
Khải Nguyên làm kg có lỗi gì mà OK hết , bãn thử chạy thử xem rồi cho kết quả nhé
Khải Nguyên !
O sao kỳ vậy phần cậu: N = MsgBox tiếp đến là dấu ( cơ mà
N = MsgBox ("Xoa kg", vbOKCancel + vbCritical, " Khải Nguyên")
mà sao đăng tải lên nó có hình mặt quỷ vậy ?
Khải Nguyên Sorry kg hiểu ! -
RE: Ngăn chặn không cho Access tự động lưu record
khải nguyên > 18-02-13, 11:39 PM
Cái chỗ có mặt quỷ đó là dấu " ( " mở ngoặc đó !
Khải Nguyên! -
RE: Ngăn chặn không cho Access tự động lưu record
Noname > 19-02-13, 01:33 AM
Để tránh các ký tự nhảy ra không mong muốn. Các bạn khi trình bày code nên cho vào thẻ [code] nội dung [/code].
Trên tranh công cụ gõ diễn đàn là dấu #