编辑:改变我有相同的代码不同的问题创建和写入数据到一个表的MS Access
2日编辑:添加额外的代码,这似乎是casuing
我所创建的问题访问中的vba程序,它聚合来自多个外部源的数据并将结果写入新表。理想情况下,当我运行该程序时,我想清除当前表中的所有数据,并将其替换为新数据。我目前正在删除所有数据表中的...然后写我的新数据
这里是代码以供参考
Function getTestFixtures(FixtureName As String) As Recordset
Dim db As Database
Set db = OpenDatabase(GetDBPath & "TestFixtures.xlsx", False, False, "Excel 12.0;HDR=Yes;")
If db Is Nothing Then
MsgBox "Can't find the file!", vbExclamation, ThisWorkbook.Name
Exit Function
End If
Set getTestFixtures = db.OpenRecordset("Select * from [" & FixtureName & "$]")
End Function
上面创建的记录被修改,输出数据被放置在一个字典并传递给这个函数。
Sub Write_OTDC_Data(POlist As Dictionary)
Dim Rst As Recordset
DoCmd.SetWarnings False
DoCmd.runsql "Delete * from [OTDC Results]"
DoCmd.SetWarnings True
Set Rst = CurrentDb.OpenRecordset("OTDC Results")
With Rst
For Each key In POlist.Keys
.AddNew
For i = 0 To 9
.Fields(i).value = POlist(key)(i)
Next
.Update
Next
.Close
End With
End Sub
我的问题是,我得到以下错误,如果我试图改变任何东西后运行上述两个procuedures。
孤立运行的是不产生错误。
是否有你不希望运行删除查询而不是删除表的原因? – Fionnuala
与数据的数据丢失@Remou不....我有问题,从键冲突上传。我会试一试,因为这是一个简单的修复 – Pynner
我不认为数据上传表上的密钥是一个好主意。它减缓了事情的速度,并且可以像你发现的那样令人讨厌。你不能把钥匙留下吗? – Fionnuala