0

一部のデータベースを管理するために、CrystalReports12.3とPeachtreeAccounting2012を使用しています。今の私の仕事は、過去30日間に注文していない顧客を含むレポートを作成することです。初めてですので、よろしくお願いします。

私が最初に試したのは、この数式を使用することでした(数式エディタ->レコードの選択ですべての作業を行っています)。

not ({Customers.LastInvoiceDate} in Aged0To30Days)

null値を除いて、すべて問題ないようです。null値のレポートレコードに含める必要があります。だから私は式を次のように書き直します:

not ({Customers.LastInvoiceDate} in Aged0To30Days) OR IsNull({Customers.LastInvoiceDate})

しかし、Peachtree Accounting 2012LastInvoiceDateでは、レポートにない空白のフィールドを持つ顧客が表示されます。

私の最後の式に何らかのバグがありますか?または、DateTimeタイプに「その他の」黒の値がありますか?

4

2 に答える 2

4

常に最初にnullをチェックする必要があるため、2番目の式を逆にしてみてください

isnull({Customers.LastInvoiceDate}) or not({Customers.LastInvoiceDate} in Aged0To30Days)

Crystalがnullに遭遇し、それが最初に明示的に処理されない場合、式の残りの部分はクラップアウトされ、評価されません。これを回避する別の方法は、Formula Workshopの「ExceptionsforNulls」ではなく「DefaultValuesforNulls」を使用するようにCrystalに指示することです(これは、Formula Workshopツールバーのドロップダウン設定です)。

于 2012-05-23T15:25:21.183 に答える
1

長さ (トリム ({Customers.LastInvoiceDate})) = 0

isnull 関数と OR 演算子を必要としない 1 つのステートメント。

于 2013-06-20T01:34:24.097 に答える