トップ回答者
Crystal Reportsで年月日を表示させない

質問
-
お世話になります。
VS2010にバンドルされるダウンロード版のCrystal Reportsですが
レポートのデータソースであるDBのデータがDateTime without timezone で
'04:33:45'というデータが格納されている場合でも、レポートのテキストボックスの表示が
'1899/12/30 04:33:45' と 'yyyy/mm/dd HH:MM:SS' となってしまいます。表示したいのは
'04:33:45' という形で 'HH:MM:SS'という形式です。
レポートのテキストボックスのプロパティで
DayType を crNoDay
MonthType を crNoMonth
YearType を crNoYear
にしてもyyyy/mm/ddも表示されてしまうのですが
やり方が間違っているのでしょうか?
どなたかご教示お願いいたします。
回答
-
Crystal Reports では、[日付] [時刻] [日時] の3つの型があります。フィールドオブジェクトでは、[日付] の場合日付だけが表示され、[時刻] の場合には時刻のみが表示されます。[日時] では両方が表示されます。
[日時] 型のフィールドに対して、時刻のみを表示する方法で簡単なのは、
1. 式を作成し、[日時] から [時刻] へ変換する
2. [日時] のフィールドを作成しておいて、[時刻] に書式を変更する
あたりです。
前者は、式を作成してレポートに配置するだけです。式は Time(フィールド) でよいでしょう。
後者は、レポートに張り付けた [日付・時刻] の型のフィールドオブジェクトを選択して、[オブジェクトの書式設定] → [ユーザ設定] → [日付と時刻] → [順序] の値を [時刻] 変更します。
- 回答としてマーク oira3ryu 2010年9月15日 9:42
すべての返信
-
Crystal Reports では、[日付] [時刻] [日時] の3つの型があります。フィールドオブジェクトでは、[日付] の場合日付だけが表示され、[時刻] の場合には時刻のみが表示されます。[日時] では両方が表示されます。
[日時] 型のフィールドに対して、時刻のみを表示する方法で簡単なのは、
1. 式を作成し、[日時] から [時刻] へ変換する
2. [日時] のフィールドを作成しておいて、[時刻] に書式を変更する
あたりです。
前者は、式を作成してレポートに配置するだけです。式は Time(フィールド) でよいでしょう。
後者は、レポートに張り付けた [日付・時刻] の型のフィールドオブジェクトを選択して、[オブジェクトの書式設定] → [ユーザ設定] → [日付と時刻] → [順序] の値を [時刻] 変更します。
- 回答としてマーク oira3ryu 2010年9月15日 9:42
-
K. Takaokaさま、ありがとうございます。
> 新規作成して、"Time();" と入力して () の内側にカーソルを置いてから該当するフィールドを選択です。
上記で掲示していただいた方法そのままでできました。
備忘録として、一応細かい部分まで書いておきます。
レポートの詳細部分の白紙の部分で右クリック
[Field Explorer] - [Unbound Fields] - [Time]
[Field Explorer]から[Time]を詳細の表示させたい場所にドラッグ&ドロップ
そしたら@Unbound Fields(Time)というフィールドが出来るので、
その上で右クリックすると[Formula Workshop]のフォームが表示されるので
その中のTime(0, 0, 0)の()の中身を選択状態にしたうえで、その上のフィールドに表示されている
表示させたいフィールドを選択しダブルクリックすると
Time({表示したいフィールド})という風に置き換わるので[Save and Close]で保存してフォームを閉じ
デバッグしてみると表示されるはずです。