我将多个Excel工作表组合到一个SharePoint列表中,因此我们的数据全部集中在一个位置,并且可以由多个用户同时修改。 Append查询顺利运行。
现在我尝试使用更新查询更新列表中的一个字段,但它一直锁定MS Access(无响应,100%CPU使用率)。我必须从任务管理器终止。
我让它运行了10分钟。那么我切换到下面的一次性使用子程序来更新记录集。同样的问题。
我可以通过MS Access中的链接列表一次手动更新字段。我可以通过SharePoint中的数据表和对话框更新该字段。
SharePoint 2010
MS Access 2013
有没有人有任何想法?
Option Compare Database
Option Explicit
Public Sub UpdateDataPlateDates()
On Error GoTo err_trap
Dim db As DAO.Database: Set db = CurrentDb()
Dim rst As DAO.Recordset
Dim strSQL As String
Dim i As Integer: i = 1
Dim vDate As Variant
Dim sNum As String
strSQL = "SELECT TML.[SERIAL NUMBER], TML.[DATA PLATE DATE] FROM [Tool Master List] AS TML WHERE (((TML.[DATA PLATE DATE]) Is Null));"
Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
With rst
If Not (.BOF And .EOF) Then
.MoveLast: .MoveFirst
Do Until .EOF
sNum = ![SERIAL NUMBER].Value
vDate = DLookup("[ACCEPT DATE]", "Tool information", "[SERIAL NUMBER]='" & sNum & "'")
Debug.Print i, sNum, vDate
If Not (IsNull(vDate) Or IsEmpty(vDate)) Then
vDate = CDate(vDate)
.Edit
![DATA Plate Date] = vDate '//FAILS-LOCKS UP RIGHT HERE WITHOUT and ERROR
.Update
End If
.MoveNext
i = i + 1
sNum = vbNullString
vDate = Null
DoEvents
Loop
End If
.Close
End With
Set rst = Nothing
Set db = Nothing
exit_sub:
Exit Sub
err_trap:
Debug.Print Err.Number, Err.Description
Stop
Resume
End Sub
答案 0 :(得分:0)
您尝试更新的项目是否可能正由用户编辑?您是否考虑过链接SharePoint表并执行更新查询?