0

カウント数を表示する Crystal レポートを作成しています。結果を絞り込むために日付パラメーターを使用しない限り、これはうまく機能します。日付を使用しようとすると、レポートですべてのカウントに対して 0 が返されます。

このレポートでは、次の SQL でコマンド オブジェクトを使用します (難読化されていますが、構文は同じです)。

SELECT 
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_SUBMITTED IS NOT NULL) AS SUBMITTED,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate}) AS TOTALRECEIVED,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'A1') AS A1,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'A2') AS A2,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'A3') AS A3,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'A4') AS A4,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'A5') AS A5,
(SELECT COUNT(*) FROM REPORT_ WHERE DATE_RECEIVED BETWEEN {?StartDate} AND {?EndDate} AND STATUS_ LIKE 'OTHER') AS OTHER

コマンド自体でパラメーターを静的な値に置き換えると、完全に実行されます...しかし、日付パラメーターを使用しようとすると、失敗します。Crystal レポートが日付を形式で提供している可能性があると思いますが、それは ms sql サーバーにとって理解できるものです。キャストを試みましたが、何も機能していないようです。日付パラメーターを機能させるにはどうすればよいですか?

4

1 に答える 1

0

私は最終的にこれを解決する方法を見つけました...それは人的ミスでした. パラメータに新しい値を入力するように求められたとき、どういうわけか最初に終了日を尋ね、次に開始日を尋ねることにしました。間違った値を入れていたため、null の日付範囲に解決されました。パラメータリクエストを並べ替えて、正しい値を入れたところ、うまくいきました。

うまくいくのに時間がかかったのは少し恥ずかしいですが、誰かが同様の問題に遭遇した可能性があるので、これを投稿することにしました.

于 2012-08-02T15:14:19.097 に答える