|
フォームで抽出したデータをExcel出力をしようとしてます。
下記のコマンドで出力可能なのですが、二つ程ご質問がございます。
1. Dドライブ直下に下記のコードのファイル名として保存するの
ですが、エクセルファイルのファイル名の後ろに現在の日付を入力して
例:(2010/01/12ホストデータ.xls)として保存する方法があります
でしょうか。
「"D:\yyyymmddホストデータ.xls"」などと記述を変更しても
何も起こりません。
2.フィールド名が"登録日"のものはAccessテーブル上では「2010/01/12」として
表示されるのですが、Excel上に出力すると「12-Jan-10」の形式で表示されて
しまいます。Excel上のも「2010/01/12」として出力する方法はありますで
しょうか。
_____________記述コード__________________________________________________
Private Sub コマンド35_Click()
Const xlsFileName As String = "D:\ホストデータ.xls" '●
Dim strSQL As String
'フィルタを掛けた時点で Hitするものがなかったような場合は
'メッセージを出して処理を中止します。
If Me.Recordset.EOF Then
MsgBox Prompt:="出力するデータがありませぬ" _
, Buttons:=vbExclamation
Exit Sub
End If
'もし Filterプロパティになにも記述されていなかったら
'フォームに表示されている全データを出力するようにします。
If Me.Filter = "" Then Me.Filter = True
'変数に SQL文を代入します。
'Filter プロパティに記述されているものを抽出条件とします。
'strSQL = "SELECT * FROM " & Me.RecordSource _
' & " WHERE " & Me.Filter
strSQL = "SELECT 登録日,QH_COMM AS 事業所,NEW_HOSTNAME AS 新PC名,QH_IPADR AS IPアドレス,MEMO2 AS メモ1, MEMO3 AS メモ2, MEMO4 As メモ3, MEMO5 As 事項 FROM " & Me.RecordSource _
& " WHERE " & Me.Filter
'ダミークエリの SQL を書き換えます。
CurrentDb.QueryDefs("Q_Damie").SQL = strSQL
'対象のExcelファイルが開かれたまま、コマンドボタンを
'押されることもありそうなので、エラーはすっ飛ばします。
On Error Resume Next
'ダミークエリを出力します。
DoCmd.OutputTo ObjectType:=acOutputQuery _
, ObjectName:="Q_Damie" _
, OutputFormat:=acFormatXLS _
, OutputFile:=xlsFileName _
, AutoStart:=True
On Error GoTo 0
End Sub
________________________________________________________________________________________________________________________________________________
お忙しい中恐れ入りますが、ご教授をお願いします。
|
|