|
AccessのVBAで、クエリのデータをファイルへ貼り付けようとしているのですが、
貼り付けが上手くできず困っております。
下記のソースを使って週ごとのデータを出力しようとしています。
ですが、
一部の期間のみ貼り付けができ、他はできない状態です。
エラーもでず、マクロ自体は正常終了しています…。
出力できる週はいつ実行しても動作し、他はいつやっても出来ません。
ちなみに、
クエリを直に動かすときちんとデータが出力されます。
(レコード数は0件ではありませんし、出力される週より少ない場合もあり。)
お心当たりあればアドバイス頂ければ幸いです。
↓↓↓ 以下、VBAのコードです。 ↓↓↓
Private Sub 出力ボタン_Click()
'DBオブジェクト
Dim db As DAO.Database
Set db = CurrentDb
Dim rs As DAO.Recordset
Set rs = Nothing
Dim qd As DAO.QueryDef
'Excelオブジェクト
Dim objEXE As Object
Set objEXE = Excel.Application
Dim objBOOK As Excel.Workbook
Dim objMacroBOOK As Excel.Workbook
'■■■■■■■■■ 処 理 開 始 ■■■■■■■■■
'Excel画面表示
objEXE.Visible = True
'Excelファイルのオープン
Set objBOOK = objEXE.Workbooks.Open("C:\xxx\出力ファイル.xls", 0, False, 1, "******")
'データ取得
Set qd = db.QueryDefs("クエリ1") 'クエリ指定
qd.Parameters("[期間_開始日]").Value = #2013/08/01#
qd.Parameters("[期間_終了日]").Value = #2013/08/04#
Set rs = qd.OpenRecordSet() 'データを抽出
'指定セルに貼り付け
objBOOK.Worksheets("Sheet1").Range("$A$1").CopyFromRecordset rs
'ファイルクローズ(上書き保存)
objBOOK.Close saveChanges:=True
'外部プログラム(Excel)終了
objEXE.Quit
'オブジェクト解放
Set rs = Nothing
Set db = Nothing
Set qd = Nothing
'完了
MsgBox "完了"
End Sub
|
|