2017-10-08 90 views
0

我正在寫一個可以自動將新條目添加到Access數據庫的Excel宏。在多用戶環境中使用DAO記錄集addnew

如果多個用戶同時按下按鈕執行Excel宏(如下所示),Access會自動更新數據庫並避免任何衝突?

的樣本代碼,我打算使用:

Function AddName(rstTemp As Recordset, _ 
strFirst As String, strLast As String) 

' Adds a new record to a Recordset using the data passed 
' by the calling procedure. The new record is then made 
' the current record. 
With rstTemp 
.AddNew 
!FirstName = strFirst 
!LastName = strLast 
.Update 
.Bookmark = .LastModified 
End With 

End Function 

回答

0

不應該有任何問題,只要兩個或多個用戶更新的同時在相同的表相同的記錄。

您可以隨時將默認鎖定選項設置爲編輯記錄以避免在同一個表中編輯/插入相同的記錄。

+0

我明白了。那麼應該如何配置我的代碼,以便如果兩個用戶同時執行代碼,則1個用戶在表中選擇一個記錄以添加新的記錄,而另一個用戶選擇表中的下一個記錄以添加新的記錄? 有點背景 - 我最初認爲MS Access可以解決在更新電子表格時同時選擇lastrow的問題。所以這就是我想在這裏實現的。 – Azythe

+0

您不選擇記錄來添加new_。你只需添加一條新記錄。表格不是電子表格。 – Gustav

+0

@Gustav謝謝澄清!這意味着即使10個用戶同時使用.addnew方法,也不會有衝突嗎? MS Access會自動將所有10條記錄插入表中 - 因爲它們都是「新」記錄,而且我不在表中編輯任何現有記錄? – Azythe