2016-05-26 26 views
2

クエリをエクスポートするコードがいくつかありますが、エクスポートを見たときに、エクスポート前にクエリを実行していないことに気づきました。以前のクエリの実行結果を使用しているようです。MS Access:VBAコードがクエリをエクスポートしていますが、最新の結果は表示されません

私のVBAコード:

Dim myQueryName As String 
    Dim myExportFileName As String 

    myQueryName = "qry_A" 
    myExportFileName = "J:\blah\Spreadsheet_" & Me![Combo353].Value & ".xlsx" 
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, myQueryName, myExportFileName, True 

私はどこかにこのコードでは、私は、クエリを実行するために必要な感覚を持っていますか?確信はないけど。

答えて

3

宛先ブックファイルが存在する場合は、DoCmd.TransferSpreadsheetより前にそのファイルを削除します。

Dim myQueryName As String 
Dim myExportFileName As String 

myQueryName = "qry_A" 
myExportFileName = "J:\blah\Spreadsheet_" & Me![Combo353].Value & ".xlsx" 
If Len(Dir(myExportFileName)) > 0 Then 
    Kill myExportFileName 
End If 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, myQueryName, myExportFileName, True 
+0

これは機能しました。私はこれが常に研究に基づいた選択肢であることを知っていましたが、なぜそれが機能していないのかという特定の理由について本当に興味がありました。輸出の結果は、私が気付かなかったファイルのシート2に入っていたことが判明しました。しかし、私はあなたの答えを受け入れるでしょう: – whatwhatwhat

+1

(On Error Resume Next'のような)エラーメッセージを抑制していたか、データが既存のワークブックの別のシートに入っていました。私はどちらが分かっていなかったので、仕事をすることが確実な何かをあなたに与えるのが早かった。 ;-) – HansUp

+0

完璧に合理的です、ありがとうございます。 – whatwhatwhat

関連する問題