- PR -

【Crystal Report】データベースフィールドの集計について

1
投稿者投稿内容
beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-25 11:38
 いつもお世話になっております。
今、数値のデータベースフィールドを集計しようとしています。金額1〜5というフィールドがあり、いつも全てのフィールドに値が入っているわけでなく、金額1と金額2だけ値が入っている場合には、
 Table.金額1 + Table.金額2 + Table.金額3 + Table.金額4 + Table.金額5
という式フィールドをフィールドエクスプローラで作成しレポートに貼り付けても、合計がプレビュー画面で表示されません。
 このような場合にきちんと 金額1 + 金額2 の合計を出すにはどのようにすればよいか、誰かご教授していただけないでしょうか。よろしくお願い致します。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-06-25 14:18
beckさん、こんにちは。

手っ取り早くは、DB側で NOT NULL にする。
もしくは、SQLで NULL を変換する関数(Oracle の NVL とか SQL Server の ISNULL とか)を使って 0 に変換する。
あるいは CrystalReport 側の式フィールドで null を 0 に変換する。
beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-25 16:55
自己スレです。きくちゃんさん、アドバイスありがとうございましたm(_ _)m
CrystalReportのnullフィールドを0に変換しました。方法は式フィールドで、
  
    If IsNull({テーブル名.金額1}) then 0
    else {テーブル.金額1}

として、値を0にし、書式→数値→ユーザー設定で、0を表示しないとして解決できました。
きくちゃんさん、誠にありがとうございました☆

beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-25 16:57
自己スレです。きくちゃんさん、アドバイスありがとうございましたm(_ _)m
CrystalReportのnullフィールドを0に変換しました。方法は式フィールドで、
  
    If IsNull({テーブル名.金額1}) then 0
    else {テーブル.金額1}

として、値を0にし、書式→数値→ユーザー設定で、0を表示しないとして解決できました。
きくちゃんさん、誠にありがとうございました☆

1

スキルアップ/キャリアアップ(JOB@IT)