プロが教える店舗&オフィスのセキュリティ対策術

日付/時刻型の項目に yyyy/mm/dd hh:mm:ss(2007/01/11 12:10:33)の形で入っているのですが、
以下のような処理でEXCELにエクスポートすると・・・

strSQL = "SELECT Time AS 日時 FROM T_TIME"
Set qryBuf = CurrentDb.CreateQueryDef(Q_Time, strSQL)
DoCmd.TransferSpreadsheet acExport, , Q_Time, txtFileName, True

EXCELの表示は「2007/01/11」と表示されてしまいます。
表示形式を変更すれば「2007/01/11 12:10:33」で表示されるのですが
その手間は省きたいと思っています。
一発で「yyyy/mm/dd hh:mm:ss」の形式で出力する方法は無いでしょうか?

A 回答 (2件)

日付時刻型というのは表示されているような文字列が格納されているわけではありません


1日が1、1時間なら1/24となるような浮動小数点型の数値が格納されています
それを書式でいろんな風に見せているのです
で、AccessからExcelにエクスポートするとこの数値がエクスポートされます
このとき書式はエクスポートされません
したがって、エクスポート先での書式に従うことになります

日付時刻型でなくてもいいのだというのなら、
Access側でそういう文字列に変換してからエクスポートするということになります
    • good
    • 0
この回答へのお礼

text型で出力する事にしました。
ありがとうございました。

お礼日時:2007/01/19 23:02

難しいです



Excel だと、yyyy/mm/dd hh:mm:ss
Accessだと、yyyy/mm/dd hh:nn:ss
(分の所が nn になります)

「表示書式の設定が失われました」で弾かれてしまいますね
他の手となるのですが・・・

Dim xlsApp As Excel.Application
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Workbooks.Open Filename:=txtFileName
xlsApp.Columns("A:A").NumberFormatLocal = "yyyy/mm/dd hh:mm:ss"
xlsApp.ActiveWorkbook.Close True
xlsApp.Quit
Set xlsApp = Nothing

みたいに、Excel.Applicationを使用して、いじってやるくらいしか私には思いつきません
    • good
    • 0
この回答へのお礼

text型で出力する事にしました。
ありがとうございました。

お礼日時:2007/01/19 23:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!