2

Crystal Reports 2008 を使用しています。

数式の正しい構文を取得する際に問題が発生しています。

レポートは顧客ごとにグループ化されます。私は2つのコマンドを持っています。最初のものは常に値を持ちますが、2 番目のものは一部の顧客に対して値を持ちますが、すべてではありません。

私がする必要があるのは、2 番目のコマンドがその顧客の値を持っていない場合に、最初のコマンドの値だけを使用する数式を作成することです。2 番目のコマンドに値がある場合は、コマンド 1 と 2 の合計を取る必要があります。

私はこのように試しました:

IF ISNULL({Command_2.fin_bal_60}) THEN

  {Command_1.inv_bal_60}

ELSE

  {Command_1.inv_bal_60} + {Command_2.fin_bal_60}

レポートに入れると、command_2 に値を持つレコードのみが表示されるため、これは機能しません。

これを記述する方法を理解しようとしているので、command_2 が値を返さない場合でも、command_1 を使用するだけです。

これに関するヘルプは素晴らしいでしょう。

前もって感謝します。

4

1 に答える 1

1

数式は正しいようですので、そこを見る必要はありません。

問題は、テーブル「Command_2」(メニュー[データベース、データベースエキスパート])をリンクする方法にあると思います。アウターテーブルの場合、リンクの種類を「INNERJOIN」から「LEFTOUTER JOIN」に変更すると、問題が解決する可能性があります(リンクラインをダブルクリックして設定を変更してください)。

テーブルのフィールドを使用しない場合、Crystal Reportsはテーブルを無視し、基になるSQLクエリで使用しません。したがって、その場合、この問題は発生しません。これが、「Command_2」テーブルを使用するときに数式フィールドをレポートに入力した場合にのみ発生する理由を説明しています。

于 2012-07-25T07:19:38.400 に答える