在多用户环境中使用DAO记录集addnew

问题描述:

我正在写一个可以自动将新条目添加到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

我明白了。那么应该如何配置我的代码,以便如果两个用户同时执行代码,则1个用户在表中选择一个记录以添加新的记录,而另一个用户选择表中的下一个记录以添加新的记录? 有点背景 - 我最初认为MS Access可以解决在更新电子表格时同时选择lastrow的问题。所以这就是我想在这里实现的。 – Azythe

+0

您不选择记录来添加new_。你只需添加一条新记录。表格不是电子表格。 – Gustav

+0

@Gustav谢谢澄清!这意味着即使10个用户同时使用.addnew方法,也不会有冲突吗? MS Access会自动将所有10条记录插入表中 - 因为它们都是“新”记录,而且我不在表中编辑任何现有记录? – Azythe