アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスのテーブル管理について質問させてください。

現在アクセス上で処理しているテーブルの一つ、日付/時刻型フィールドには時刻データが入っています。
形式:定型入力 時刻(L) 13:12:00

このテーブルをCSVデータとしてエクスポートしたところ、1899/12/30という日付データが時刻データの前に追加されてしまいました。

定型入力をしていたので日付データは扱われないものだと思っていたのですが、見えない部分で日付データも扱われていたということですね。

これを日付/時刻型フィールドのまま時刻データのみを扱う様にするにはどのようにしたらよいのでしょうか?

具体的には、アクセス上で作成した時刻データを含む計測値を日付毎のCSVファイルとしてエクスポートし、後に必要になった場合指定された日付のファイルをインポートします。
よって日付データは必要ないので時刻データのみで管理をしたい、ということです。

レコード数が多いため、ファイル容量を減らすためデータはなるべく少なくしたいのが実情です。
それでも必要ない日付データを加えておいた方がよいのでしょうか?

よろしくお願いいたします。

A 回答 (4件)

>これに日付データ(当日の日付)を付加するにはどうしたらよいのでしょうか?


前回も回答したように、整数部で日付を、小数部で時刻を表しています
取り込んだ日付型の「1899/12/30 xx:xx:xx」の整数部は0ですから
当日0時(小数部は0)を単純に加算してやればOKです

[取り込んだ時刻]+date()
    • good
    • 0
この回答へのお礼

なるほど。+date()でよかったのですね!
なんとか出来ました!ありがとう御座いました。

お礼日時:2007/10/15 14:55

#1です


「時分秒だけ別のデータ型で管理すれば多少ファイル容量は減る」を若干補足します。
日付時刻型は8バイト使用しています。時分秒だけならば0~86400が管理できればよいので4バイトで治まります。従って単精度浮動小数点型のフィールドを設け、独自の変換関数を使用すればデーター領域は半分で済みます。まあフツーはメリットがないですが。
    • good
    • 0

日付時刻型の中身は浮動小数点型の数値です


1899/12/30 0:00:00を起点として1日が1、1時間が1/24の数値で表現されています

ですから時刻だけの値というものはあり得ません
また日付を省略しても同じ数値型ですからサイズが小さくなるということもありません

CSVファイルの容量を小さくしたいというのなら
時刻だけの文字列に変換してからエクスポートするといいでしょう

この回答への補足

ご返答頂きありがとうございます。
成程、日付部分を省略しても容量自体は変わらないのですね。
現在は基となっているCSVデータが時刻のみしか入っていないのですが、これに日付データ(当日の日付)を付加するにはどうしたらよいのでしょうか?
ちなみに基の時刻データの形式は0:00:00~23:59:30までの時刻データが30秒間隔で1レコードとして挿入されています。
これをインポートしてアクセス内で処理をしています。

クエリ・またはモジュールなどで当日の日付データを挿入する方法がありましたらご教授いただければ幸いです。

補足日時:2007/10/15 10:47
    • good
    • 0

アクセスの日付時刻型の実体は倍精度の浮動小数点です。

整数部が年月日、小数部が時分秒。
で時分秒だけで年月日が0だと1899/12/30になるわけです。時分秒だけ別のデータ型で管理すれば多少ファイル容量は減るでしょうが、取り扱いが煩雑になったりするわりに、あまりメリットはないと考えます。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す