- ベストアンサー
Accessで24時間を超える時間の入力ができない。
時間を入力するときに、 25:00と入れると1:00と認識してしまいます。 24:00を超えると、自動的に切り替わるようですが、 これを「25:00」と表示させる方法はないでしょうか? 10進法で入力する方法も考えたのですが、 個々の値を10進法に変換して入力すると、 それらを合計したデータにわずかな差が生じてしまいます。 エクセルだと、25:00表示が可能なのは確認しましたが、 Accessでの方法がどうしても探せません。 環境→Access 2000 今までの設定方法→データ型:日付/時刻型,書式:時刻(S) 素人なので、詳しく教えて頂けると助かります。 よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 最終的には「数値型で時間と分を分ける」方法を取りたいと思います。 テーブルには分単位でデータをもたせるようにすればいいと思います。 テキスト型(25:00) を分単位の数値(1500)としておけば、計算するのも 簡単ですね。 25:00 のように入力しているのであれば、Left 関数・InStr 関数で 時間を求めることができます。 分は、Mid 関数・InStr 関数で求めることができますね。 #必ず、5桁で入力するということであれば、もっと簡単ですが。 数値型(分単位)を、xx:xx の標記にするには、Mod 演算子・\ 演算子を 使えば簡単です。
その他の回答 (2)
- laputart
- ベストアンサー率34% (288/843)
データ型:日付/時刻型では25時という概念は ありませんので無理です。 #1の方の用にテキスト型か あるいは 時間の足し算や引算をするのなら時間と分を別々に数字型にして入力するといいでしょう。
お礼
テキスト型も試みてみましたが、 足し算や引き算ができるという点で、 最終的には「数値型で時間と分を分ける」方法を取りたいと思います。ただ、この方法だと集計を取る時に、個々の値をを合計して後、分フィールドが60分を超えた場合は、その都度、手直しをして時間に足していくという方法でいいんですか? ずーっと悩んでいたので、すごく助かりました。 目から鱗です。ありがとうございます。
- Gin_F
- ベストアンサー率63% (286/453)
日付/時刻型では、ムリですね。 テキスト型で管理するしかないと思います。
お礼
ありがとうございます。 25:00表示が可能になりました。 あとは、集計方法も考えながら、検討してみます。
お礼
参考にさせていただきました。 関数を使うのが初めてなもので、ちゃんと理解できているのか分りませんが、以下のような形で処理してみました。 1.まず、入力はテキスト型[時間](25:00)で行う。 2.それをクエリーで 時間: Left([時間],2)*60 分: Mid([時間],4,2) というふうに時間と分を分解。 3.次に、総時間: [時間]+[分] で、1500(分)とする。 ここまでは、形としては出来たような気がします。集計もクロス集計で試してみて、問題ないように思えます。 ありがとうございました。