2012-05-09 37 views
2

使用Access 2010,WinXP。我試圖用插入到鎖定表時記錄集不顯示錯誤

Sub testUpdate() 
Dim rs As Recordset 
Dim db As DAO.Database 

Set db = CurrentDb 
Set rs = db.OpenRecordset("test") 

With rs 
.AddNew 
!field1 = "abc" 
!field2 = "def" 
.Update 
End With 

End Sub 

更新表test如果test被另一個用戶鎖定,程序運行,並且不更新該表(這是罰款),也不會產生錯誤。如果我執行與SQL插入語句相同的操作,例如

insert into test (field1,field2) values ("abc","def")

然後我得到一個錯誤信息,告訴我插入失敗,原因是鎖衝突。我怎樣才能使recordset.update產生一個類似的錯誤,然後我可以處理?就我所知,似乎沒有任何與Recordset有關的dbFailOnError

+0

測試如何鎖定?例如,用戶是否在設計視圖中獲得了表格,是否打開了排他性,或者只是記錄鎖定? – Fionnuala

回答

1

我認爲你需要看看在設置記錄類型和鎖類型,如果要觸發錯誤的如:

Currentdb.OpenRecordset("test", dbOpenDynaset, dbPessimistic,) 

您可以測試出這些不同的變化,直到找到工作的人,建立在幫助中的訪問將列出所有可用的選項。