人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Access2003を使用しています。
通信ログの解析を使用としているのですが、ログ(テキスト形式:300万件)の中の経過時間が記載されている部分が「99999.999999」の形式で記載されてしまっています。
Accessのテーブルにインポートする際に、データ形式は何でインポートすればよいでしょうか?
日付時刻型、整数型、倍精度浮動小数点型など数値として認識させようとすると変換エラーが出て空白になります。
テキスト型だと取り込めるのですが、その後で時刻形式に変換したりできません。
どうしたらいいのでしょうか?

●質問者: kaemi
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ

「99999.999999」は日付時刻型ではないので、これを取り込むことはできません。

どこかの時点で「99999.999999」を 日付時刻型になるように変換してやる必要があります。


kaemiさんのコメント
Excelに取り込み、セルを時刻型にすれば、0:00:01とかにできるのですが、300万件あるため、Excelでは処理しきれないため、Accessに取り込む際にExcelみたいに変換できるかなと思ったのです。 ありがとうございます。

きゃづみぃさんのコメント
取り込むときか、取り込んだとき、もしくは取り込む前に変換するしかないです。 そもそも300万件のデータをAccessで管理しようというのも 一般的ではないと思われます。

kaemiさんのコメント
いずれはOracleなどを考えてるのですが、とりあえず今、集計するために試行錯誤しているのです;; 取り込むときに変換できればいいのですが……。

2 ● doradoratan
ベストアンサー

手動でインポートされているのでしょうか?VBAでしょうか?
VBAなら1件づつ読み込んで、日付形式に編集するという方法もありますね。
日付型にするには、日付+時刻にしなければいけませんから、そのように編集してからテーブルにセットする必要があります。ただし、小数点以下の秒?は Accessの日付形式のフィールドには保存できないと思います。

とりあえず、テキストでインポートしておいて、クエリで編集してしまう手はあると思います。

SELECT mid(時刻_txt,1,2) & ":" & mid(時刻_txt,3,2) & ":" & mid(時刻_txt,5,2) & "." & right(時刻_txt,6) AS 時刻
FROM テーブル1;


11:30:56.123456 のような表示になると思います。


kaemiさんのコメント
ありがとうございます。 まさしくこの方法でなんとか形を整え、Leftで時間部分だけ取り出しています。 件数が多いので、もっそい時間かかってますが……。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ