首先,我应该解释一下我的场景,宣布我会做什么:
我想将记录合并到一个表中,然后将它们保存在另一个表中。 为什么? 我有一个非常复杂的查询,需要很长时间才能运行并返回结果。我决定将此查询分为两个查询,并将第一个查询的resulat保存到表中,然后第二个查询使用新生成的表 源表经常更新,生成的表也必须生成 如果我在我的VBA上使用此代码,则会发生此错误: 错误3010表已存在
Set db = CurrentDb
ssql = "SELECT DISTINCT tb_KonzeptDaten.DFCC, " _
& "tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC " _
& "INTO Test_Table FROM tb_KonzeptDaten"
db.Execute ssql, dbFailOnError
RecordsUpdated = db.RecordsAffected
你知道吗?我们还有另一个SQL语句来完成这项工作吗?
答案 0 :(得分:1)
如果表中已存在该表,则可以删除该表,然后运行查询。
tblName = "TableX"
tbl = DLookup("Name", "MSysobjects", "Type=1 and Name='" & tblName & "'")
If Not IsNull(tbl) Then
DoCmd.DeleteObject acTable, tbl
End If
或者
Set db = CurrentDb
ssql = "DELETE FROM Test_Table"
db.Execute ssql, dbFailOnError
ssql = "INSERT INTO Test_Table SELECT DISTINCT tb_KonzeptDaten.DFCC, " _
& "tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC " _
& "FROM tb_KonzeptDaten"
db.Execute ssql, dbFailOnError