• ベストアンサー

時刻の書式

ACCESS 2000 OSはWin2000を使っています。 レポートで時刻の表示を「09:00」というように一桁の時間には前に0が表示されるようにしたいのですが、レポートのテキストボックスに書式設定で「hh:mm」と入力すると、「時刻(S)」となってしまいます。 どのように設定すれば、「09:00」というように表示されるのでしょうか? どなたか教えて下さい。 よろしくお願いします。

  • isumi
  • お礼率69% (23/33)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

#1です 目的は何でしょうか? 1.レポートにて、指定した書式にて表示させたい 2."時刻(S)"となるのを回避したい 2であるならば、それは不可能です (Accessの仕様です) 1の場合は、日付データをレポートに渡すときのデータ型を考慮すれば回避できます 日付/時刻型はリテラル値です。 これをレポートにて書式指定すると掲題の様な現象がおきるということですよね では、これを回避するには#1のように行うとできます これはレポートにデータを渡すときに日付データの型を 日付/時刻型から文字列型に変換しています (Format関数の戻り値は文字列型です)

isumi
質問者

お礼

#1の方法を試したらちゃんとできました。 レポートのテキストボックスの書式がおかしかったので、ちゃんと出てなかったようです。 ただ時間の計算をさせたいので、無理だということがわかりました。 詳しい説明ありがとうございました。

その他の回答 (3)

noname#5357
noname#5357
回答No.3

ダメでしたか・・・ 「00\:00」ではどうでしょうか?

isumi
質問者

お礼

また00:00になってしまいました。 how-do-you-doさんの#1の方法を試したらちゃんとできました。 レポートのテキストボックスの書式がおかしかったので、ちゃんと出てなかったようです。 ただ時間の計算をさせたいので、無理だということがわかりました。 色々とご意見ありがとうございました。

noname#5357
noname#5357
回答No.2

テストはしていないのですが、 書式を「00:00」に設定すると頭にゼロが表示されると思います。 されなかったら、ごめんなさい。

isumi
質問者

補足

それをしたらすべてが00:00になって正確な時間が表示されなくなりました・・・。 ご意見ありがとうございます。

回答No.1

おっ?本当だ 余計な機能ですね... (たぶん、レポートのバグかも) これを回避するにはレポートに渡すレコードセットから変更するのが良いかと思われます 現在のレポートのレコードソースには何を設定しているのでしょうか? もし、テーブルを直接設定しているのであれば、クエリに置き換えて下さい 次にレポートのレコードソースに設定するクエリに一つフィールドを作成します 下記のように新規フィールドに指定してください aaa: Format([Time],"hh:nn") 次にレポートの時刻を表示するテキストボックスのコントロールソースにて 先程の「aaa」を指定します これで表示されると思われます

isumi
質問者

補足

やってみたんですが、クエリでも勝手に"hh:nn"のところが"時刻(S)"に変わりました。 ACCESS2002ならいいのでしょうか?

関連するQ&A

  • 時刻形式以外に色を付けたい

    お世話になります。 Excelの入力にて、時刻形式(hh:mm)以外で入力されているセルに対して色を付けたいのですが、どのように条件付き書式を設定すればよいのでしょうか? セミコロンを使用した入力ですとか、文字だけが入力されている等々とにかく時刻形式(hh:mm)以外のものが分かり易くしたいです。 よろしくお願いいたします。

  • Access2007の日付/時刻型フィールドで、時を二桁にする書式

    お世話になります。 Access2007の日付/時刻型フィールドで、日時を「2007/07/09 01:22:33」というふうに表示させるにはどういう書式にしたらいいんでしょうか? 「yyyy/mm/dd hh:nn:ss」と入れてみたのですが、時が一桁だと一桁になってしまいます。 ヘルプの「hh」のところには「時を 2桁の数字で表示します (00 ~ 23)。」と書いてありますが、「h」の場合と同じようになってしまいます。 時も二桁にする書式を教えてください。よろしくお願いします。

  • 「yyyy/mm/dd hh:mm」が「yyyy/mm/dd hh:nn」へ変化する

    access2003を使用しています。 時刻の「分」の表示形式で気になることがあるのですが テーブルのデザインで フィールド1のデータ型を「日付/時刻型」にし 書式を「yyyy/mm/dd hh:mm」と入力しても 「yyyy/mm/dd hh:nn」に変化してしまいます。 問題なく「2009/02/28 20:33」と表示されるのですが なぜmからnへ変化してしまうのでしょうか? また デザインで書式を「hh:mm」だけ入力した場合は 「時刻 (S)」へ変化します。 何か少しでもわかる方ご回答よろしくお願いします。

  • ボタンを押すことでテキストエリアへの時刻の挿入方法

    いつもお世話になります テキストエリア(この入力しているところ:テキストボックス?)のそばにボタンがあり、そのボタンを押すことで、現在時刻(MM/DD hh:mm)をこのテキストボックスに挿入させたい(押すたびに入力している最後の文字の次に)のですが、ネット上いろいろ探してみましたがサンプルが見つかりません。どこかいいプログラムはないでしょうか。Javascript、PHP、MySQLでシステムを作成しています。よろしくお願いいたします。

  • 【Access2003】書式設定(Format)が適用されない

    Access2003で開発を行っております。 数値型フィールドを表示するテキストボックスに対して、 書式を"00"に設定し、数値をゼロ埋め桁で表示したいのですが、 書式が反映されません。 Access97のころからそこそこ触っており、久々に開発しているのですが こんなことでつまづいたことがないので少々焦っております。 どのような原因が考えられますでしょうか? 宜しくご教授願います。

  • Excelで時刻のセル入力について

    Excelのセルに時刻入力(hh:mm)をしたいのですが、「:」(コロン)は自動入力できないでしょうか? 例えばセルに500と入力したら、5:00と表示されるようにしたいのですが…。

  • Access2000の年表示

    Windows98SEでAccess2000を使って簡単なDBを使っています。 検索機能があるのですが、日付で検索するときにうまく動作しません。 Windows2000だと普通に動作するのですが、どうやらWin98SEだと、 年の表示が2桁になってしまっているようです。 ちなみに入力するテキストボックスの書式は「日付(S)」にしています。 なにか設定すれば、なおるのでしょうか? 教えて下さい。

  • 年月日+時刻で00:00のときは空白にしたい

    質問をご覧いただきましてありがとうございます。 よろしくお願いいたします。 とあるセルの書式を以下のように設定しています。   mm"月"dd"日( "aaa" )"hh:mm"着" ここに入ってくる値は、"yyyy/MM/dd hh:mm"(年月日+時刻)の場合と"yyyy/MM/dd"(年月日のみ)の場合があります。 このとき、以下のように表記を分けたいのです。 ◆年月日のみ(yyyy/MM/dd)   [入力]2001/01/01   [結果]01月01日(月) 着 ◆年月日+時刻(yyyy/MM/dd hh:mm)   [入力]2001/01/01 15:30   [結果]01月01日(月)15:30着 現在の状態は、年月日だけの入力の場合、   [結果]01月01日(月)00:00着    書式の設定上、当然のことながら上記のように時間の部分が"00:00"と表示されます。 年月日だけの入力の場合に、この"00:00"を空白に置き換えるにはどうしたらいいでしょうか?

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。

  • 日付や時刻の"01"を" 1"に変換したいです。

    下記のような問題で悩んでいます。何かよいアイディアがありましたら教えて下さい。 【要件】 ・SimpleDateFormatで指定された書式の文字列にした後、年月日時分秒ミリ秒の"01"~"09"を" 1"~" 9"のように前0を半角スペースに一括変換したい(年は書式がyy形式の場合のみ)。 ・SimpleDateFormatへの書式はエラーが起きない限りどんなものでも受け入れる(通常、書くわけがない書式についても)。 例) "yyyy/MM/dd HH:mm:ss:SSS" "'yyyy/MM/dd HH:mm:ss:SSS形式:'yyyy/MM/dd HH:mm:ss:SSS"  ※''の中にあるMMはテキストなので英字のまま。 "yyyy/MMMMMMMMMMMMMMMMMMMM/dd HH:mm:ss:SSS"  ※Mの数は不明 "yyyy/MM/dd MM MM HH:mm:ss:SSS"  ※月の表示指定が複数 引数 :日付(yyyyMMddHHmmssSSS形式), SimpleDateFormatへの書式 戻り値:SimpleDateFormatで変換後に"01"~"09"を" 1"~" 9"にした文字列 自分なりの検討案としては下記になります。 a.引数の書式をそのままSimpleDateFormatに引き渡ずに、一部修正してから呼び出す。 例)"yyyy/MM/dd HH:mm:ss:SSS"→yyyy/_M/_d _H:_m:_s:__S" ※"_"は半角スペースです。 実際はMやdなどが2桁になる場合は変換しません。 かなりごりごり200行ぐらい試しに書いたのですが、対応できないケースが出てきてその都度エンドレス状態です。 ちょっとこのまま実装するわけにいきません。いつバグがでるか・・・。 b.SimpleDateFormatで変換後に年月日時分秒ミリ秒に該当する箇所に"01"~"09"があったら置換する。  引数の書式からMMやddのindexを保持して、SimpleDateFormatで変換後の該当indexに置換。 例) 書式:"yyyy/MM/dd_HH:mm:ss:SSS" 日付:"20090101010101001" "2009/01/01_01:01:01:001"→"2009/_1/_1__1:_1:_1:__1" ※"_"は半角スペースです。 但し前提として、書式とSimpleDateFormatで変換後の文字列が1対1になっている必要があります。 単純な例ですと 書式:"yyyy/MMMM/dd HH:mm:ss:SSS" 書式のddは11~12桁目ですが、SimpleDateFormatで変換後は下記のようにインデックスがずれます。 "2009/1月/01 01:01:01:001" "2009/12月/01 01:01:01:001" もしかしたら下記のような感じで吸収できるのかもしれませんが、ちょっと個人的に出来そうに思えませんでした。 月が1桁 かつ 書式が"M"の場合 月が1桁 かつ 書式が"MM"の場合 月が1桁 かつ 書式が"MMM"の場合 月が1桁 かつ 書式が"MMMM"の場合 月が1桁 かつ 書式が"Mxn"の場合 月が2桁 かつ 書式が"M"の場合 月が2桁 かつ 書式が"MM"の場合 月が2桁 かつ 書式が"MMM"の場合 月が2桁 かつ 書式が"MMMM"の場合 月が2桁 かつ 書式が"Mxn"の場合 ここ1,2週間ほど煮詰まっています。どなたかアドバイス頂けると助かります。 自分的なネックは書式が限りなくフリー形式なところです。

    • ベストアンサー
    • Java

専門家に質問してみよう