2016-11-07 78 views
0

我正在從Excel工作並自動打開Access並運行一個將導入數據,刷新我的查詢並導出它們的宏。使表查詢和刪除查詢訪問VBA

但是,我的兩個疑問更困難。我有一個從查找重複查詢運行的生成表查詢,然後是從同一個表中取出重複項的刪除查詢。我假設如果我想要更新表,我必須重新運行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]))); 

任何幫助或建議?

回答

0

沒關係!我發現只要我已經有查詢,只要使用

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

將運行我的表查詢和刪除查詢!真棒!