Access2003を使用しています。

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/06/13 11:46:11
  • 終了:2013/06/15 21:21:40

ベストアンサー

id:doradoratan No.2

doradoratan回答回数67ベストアンサー獲得回数152013/06/14 16:15:19

手動でインポートされているのでしょうか?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 のような表示になると思います。

id:kaemi

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

2013/06/15 21:21:21

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/06/13 12:11:57

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

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

他1件のコメントを見る
id:taknt

取り込むときか、取り込んだとき、もしくは取り込む前に変換するしかないです。

そもそも300万件のデータをAccessで管理しようというのも 一般的ではないと思われます。

2013/06/13 13:00:34
id:kaemi

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

2013/06/13 15:15:06
id:doradoratan No.2

doradoratan回答回数67ベストアンサー獲得回数152013/06/14 16:15:19ここでベストアンサー

手動でインポートされているのでしょうか?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 のような表示になると思います。

id:kaemi

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

2013/06/15 21:21:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません