【发布时间】:2014-02-05 09:03:54
【问题描述】:
我不断收到“文件共享锁定计数已超过”的错误消息。有一些变通方法可以增加每个会话的注册表或更改注册表文件,但我不希望用户必须经历这些。有谁知道我为什么会收到这样的错误?
这是我的代码:
Dim rst As DAO.Recordset
Dim rstCopy As DAO.Recordset
Dim Counter As Long
Set rst = dbs.openrecordset("SELECT * FROM [Qry_Calculate_Picking_Times]", dbopendynaset)
Set rstCopy = dbs.openrecordset("SELECT * FROM [Qry_Calculate_Picking_Times]", dbopendynaset)
rst.MoveLast
Counter = rst.RecordCount
rst.MoveFirst
rst.MoveNext
Counter = Counter - 1
While Counter > 0
With rst
If ![OWPPCK] <> rstCopy![OWPPCK] Or ![JustDate] <> rstCopy![JustDate] Or DateDiff("s", rstCopy![TIMESTAMP], ![TIMESTAMP]) > 3600 Then
.Edit
![Time Difference Seconds] = Null
.Update
Else
.Edit
![Time Difference Seconds] = DateDiff("s", rstCopy![TIMESTAMP], ![TIMESTAMP])
.Update
End If
If ![OWPFID] <> rstCopy![OWPFID] Then
If ![OWPPCK] <> rstCopy![OWPPCK] Then
Else
.Edit
![NewLocation] = True
.Update
End If
End If
End With
rst.MoveNext
rstCopy.MoveNext
Counter = Counter - 1
Wend
rst.Close
rstCopy.Close
似乎是在这个阶段发生错误
Else
.Edit
![Time Difference Seconds] = DateDiff("s", rstCopy![TIMESTAMP], ![TIMESTAMP])
.Update
End If
【问题讨论】:
-
你在这里看到
Method 2了吗? support.microsoft.com/kb/815281 -
@SiddharthRout 感谢您的回复,我确实看到用户可以手动覆盖它,但我希望他们不必这样做。如果记录集超过一定限制,有没有办法以编程方式添加它?