我已经很长时间不得不在Access中进行任何开发,所以希望我能得到一些帮助。我有一个拆分的前端/后端解决方案,我已经建立了。后端驻留在服务器上,前端被复制到用户的桌面(并且他们使用运行时Access 2013)。我正在使用Access与VBA和ADO连接/记录集来执行所有记录操作(主要是选择,插入,更新)。
出现了两个断断续续的问题,我不知所措 - 这就是其中之一。有时用户会收到错误“无法使用”(后端文件名)“;文件已被使用”。 (其中(后端文件名)是我的后端数据库名称和位置“。当用户收到此消息时,他们关闭,重新打开并尝试相同的数据条目,它可以正常工作。这是代码:
Private Sub SetProblemCode()
On Error GoTo ErrorHandler
strSQL = "SELECT Problem_Code_ID, Problem_Code, Problem_Description FROM Problem_Code ORDER BY Problem_Description"
con.Open strConString
rstProblemCode.CursorLocation = adUseClient
rstProblemCode.Open strSQL, con, adOpenForwardOnly, adLockReadOnly
cboProblemCode.RowSourceType = "Table/Query"
Set cboProblemCode.Recordset = rstProblemCode
rstProblemCode.Close
con.Close
Exit Sub
ErrorHandler:
CriticalError Err.Description, Err.Number, Me.Name, "SetProblemCode"
End Sub
rst和con对象是在全球范围内定义的,这是我之前在其他解决方案中使用的一种做法,但我在质疑这是否是一些问题。我也在质疑我正在使用的光标位置,类型和锁定类型,虽然看起来是正确的 - 我不是在改变数据,只是将记录集复制到Access组合框。
当用户似乎关闭并再次尝试并且工作正常时,我犹豫是否要进行彻底的更改。有什么想法吗?