2016-11-07 17 views
0

私はExcelから作業していて、自動的にAccessを開いてデータをインポートし、クエリを更新してエクスポートするマクロを実行しています。テーブルのクエリとクエリの削除アクセスVBA

しかし、私の質問のうち2つはより困難です。私は、重複の検索クエリから実行して、同じテーブルから重複を取り出して削除クエリを実行するテーブルのクエリを作成しています。テーブルを更新したい場合は、テーブルを再作成し、新しくインポートしたデータでクエリを削除する必要があると私は推測しています。私はAccessでこれをどうやって行うことができますか?

私はそれを調べようとしましたが、おそらくrunSQLコマンドが私が使用すべきものでしょうか?私は私のクエリの私のSQLバージョンを含めるようにしようとすると、VBAはそれを受け入れないので、特にそれをフォーマットする方法がわからない。

また、これを別のマクロとして行う必要がありますか?または私が働いているものの中でそれを走らせることができますか?削除クエリの場合

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]))); 

すべてのヘルプや提案ここで

は、2つのクエリからSQLとは?

答えて

0

気にしないでください!私は既にクエリを作成している限り、ただ使っていることがわかりました

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

私の作成テーブルクエリと削除クエリを実行します!驚くばかり!

関連する問題