• 締切済み

ACCESS 日付型でEXCEL出力 

日付/時刻型の項目に 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」の形式で出力する方法は無いでしょうか?

みんなの回答

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

日付時刻型というのは表示されているような文字列が格納されているわけではありません 1日が1、1時間なら1/24となるような浮動小数点型の数値が格納されています それを書式でいろんな風に見せているのです で、AccessからExcelにエクスポートするとこの数値がエクスポートされます このとき書式はエクスポートされません したがって、エクスポート先での書式に従うことになります 日付時刻型でなくてもいいのだというのなら、 Access側でそういう文字列に変換してからエクスポートするということになります

optimas
質問者

お礼

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

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

難しいです 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を使用して、いじってやるくらいしか私には思いつきません

optimas
質問者

お礼

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

関連するQ&A