进行表查询和删除查询访问VBA

时间:2016-11-07 18:28:28

标签: vba excel-vba ms-access access-vba excel

我在Excel上工作并自动打开Access并运行一个宏,该宏将导入数据,刷新查询并导出它们。

但是,我的两个查询更难。我有一个make表查询,它从Find Duplicates查询运行,然后是一个删除查询,从同一个表中取出重复项。我假设如果我想要更新表,我必须重新运行make表并使用我新导入的数据删除查询。我怎样才能在Access中执行此操作?

我试过查找它,似乎我应该使用runSQL命令?我不确定如何格式化它,特别是当我尝试包含我的查询的SQL版本时,VBA不接受它。

另外,我应该将其作为单独的宏吗?或者我可以在我工作的那个中运行吗?

以下是两个查询中的SQL:

对于生成表查询:

SELECT [NameDupQuery1].* INTO [TableMakingAndEditing]
FROM [NameDupQuery1];

对于删除查询:

DELETE [TableMakingAndEditing].Carrier, [TableMakingAndEditing].[Field1], [TableMakingAndEditing].[Field2], [TableMakingAndEditing].[Field3], [TableMakingAndEditing].[Field4], [TableMakingAndEditing].[Field5], [TableMakingAndEditing].[Field6], [TableMakingAndEditing].[Field7], [TableMakingAndEditing].[Field8]
FROM [TableMakingAndEditing]
WHERE ((([TableMakingAndEditing].Carrier) In (SELECT [Carrier] FROM [TableMakingAndEditing] As Tmp GROUP BY [Carrier],[Field1],[Field2] HAVING Count(*)>1  And [Field1] = [TableMakingAndEditing].[Field1] And [Field2] = [TableMakingAndEditing].[Field2])));

任何帮助或建议?

1 个答案:

答案 0 :(得分:0)

没关系!我发现只要我已经进行了查询,只需使用

DoCmd.SetWarnings False
DoCmd.OpenQuery ("MakeTable Query")
DoCmd.OpenQuery ("Delete from table query")
DoCmd.SetWarnings True

将运行我的make table查询和删除查询!真棒!

相关问题