2013-05-30 39 views
5

Tôi đang sử dụng phương thức DoCmd.RunSQL để chèn và xóa các bản ghi dựa trên các hành động mà người dùng thực hiện trong biểu mẫu. Nó hoạt động tốt nhưng nó yêu cầu xác nhận trước khi xóa hoặc thêm một bản ghi. Làm cách nào tôi có thể xóa xác nhận.Xóa xác nhận khi sử dụng DoCmd.RunSQL cho INSERT và DELETE

Nhân tiện, sự kiện BeforeDelConfirm dường như không chạy với DoCmd.RunSQL.

+0

'Application.DisplayAlerts = False'? –

+1

Cảm ơn bạn. Tôi nghĩ Application.DisplayAlerts chỉ dành cho Excel. Tôi tìm thấy một tương đương mặc dù. DoCmd.SetWarnings. Không biết tại sao họ không nhất quán hơn về excel và truy cập. – jaromey

Trả lời

12

Thay vì sử dụng DoCmd.RunSql để chạy SQL và lo lắng về các cảnh báo, bạn có thể sử dụng điều này.

Dim sql as string 
Dim dbs as DAO.Database 
set dbs = CurrentDb() 

sql = "INSERT INTO table(field1) VALUES(1)" 
dbs.Execute sql, dbFailOnError 

dbs.close 
set dbs = nothing 
+2

Cảm ơn bạn. Tôi đã sử dụng DoCmd.SetWarnings. Tôi đã học được một cái gì đó mới anyway bởi vì tôi không biết bạn có thể chạy các lệnh SQL như thế là tốt. – jaromey

+3

Tắt 'SetWarnings' tắt thông tin, vì vậy có thể gây khó khăn khi chụp. (Tìm kiếm SO cho truy cập ms cộng với SetWarnings) 'Database.Execute' là tốt hơn, đặc biệt là với tùy chọn' dbFailOnError' Zaider được bao gồm một cách khôn ngoan. +1 – HansUp