问题描述
我在MS Access 2016中拥有数据库,并通过Excel VBA运行更新查询。有时,由于UPDATE语句中的条件,多个用户可以同时执行此操作,然后在不应该覆盖的情况下覆盖其数据。
如何阻止数据覆盖?
当我在Access中打开表时,在VBA中的运行查询与表中的信息之间会有几秒钟的延迟。也许这种延迟是问题所在,并且可以通过某种方式消除?
数据库分为FE和BE,并且连接是持久的。
我的查询:
UPDATE
(SELECT TOP 1 ID,Col1,Update_time,Update_user
FROM Table1
WHERE Update_user Is Null
ORDER BY Col2 DESC,ID) AS U_ROW
SET U_ROW.Update_time = Now(),U_ROW.Update_user = [username];
在Excel VBA中,我通过ADODB运行它。命令:
With baseRecordsetCommand
.ActiveConnection = objectConnection
.CommandType = adCmdstoredProc
.CommandText = "qryTest"
.NamedParameters = True
.Parameters.Append .CreateParameter("@username",adVarChar,adParamInput,255,Username)
.Execute recordsAffected
End With
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)