0

VS 2010を使用していますが、Crystalレポートで何年かわかりません。2008年または2010年?日付フィールドがnullの場合に「N/A」を表示したい。これが私の公式です

  If isnull({usp_print_get;1.Cit_Date}) then 'its null' else 'not null'

日付がある場合は「nullではない」と出力されますが、日付がない場合は「null」を出力する代わりにスペースを空白のままにします。データベースをチェックしましたが、そのレコードの日付フィールドは実際にnullであり、スペースや空の文字列ではありません。どんな助けでも大歓迎です。最終的には、nullの場合は「N / A」、または実際のCit_Dateを出力したいと思います。現在、テストに文字列を使用しています。

4

1 に答える 1

3

数式を見ると、うまくいくはずです。奇妙なのは構文だけです。一重引用符ではなく二重引用符を使用してください。

IF isnull({usp_print_get;1.Cit_Date}) THEN 
  "N/A"
ELSE
  " "

ただし、この数式で日付を使用する場合は、日付を文字列に変換する必要があります。出力は同じデータ型である必要があり、フォーマットオプションを台無しにします。

IF isnull({usp_print_get;1.Cit_Date}) THEN 
  "N/A"
ELSE
  TO_TEXT({usp_print_get;1.Cit_Date}, "MM-dd-yyyy")

日付を好きなようにフォーマットします。

デバッグしている場合は、数式と日付列をレポートに並べて配置します。
動作しているかどうかを確認する方が簡単です。

于 2012-10-02T10:46:23.160 に答える