2012-03-29 8 views
0

Crystal ReportsのrptファイルがC#コードから呼び出されています。レポートはStudio 2010内のDesignerから期待通りに機能します。同じレポートでは、C#から呼び出されたときに選択基準は無視されますが、特定のテーブルのフィールドを条件に含める場合のみです。C#とCrystal Reports SDK - 選択基準が無視される

現在の基準例:

date({transaction.transaction_date}) in {?FromTo} and 
{user_branch.branch_id} = 1 

完全

私はBRANCH_IDセクションを削除すると、日付パラメータが正しくチェックされている作品日付範囲パラメータである{FromTo?} {FromToは?}期待どおりのデータが返されます。しかし、branch_idフィールドをインクルードするとすぐに、すべてのデータが返されますが、それはまったく意味がありません。

この同じレポートをデザイナー経由で実行すると、正常に動作します。この問題は、C#SDKコード経由で実行しているときに発生します。これで

すべてのヘルプは大すでに

  • がテーブルによって全体のビットによるスクラッチビットからのレポート、テーブルを再作成しようとしました

    を理解されるであろう。これは、レポートそのものにフィールドを追加し始めても、特に問題のないフィールドを追加し始めるところまで続きます。明らかに、レポート全体が再び空になるまで私の歩みを追跡し始めます。ファイルが今すぐ "壊れている"のように問題が続く
  • Googleで類似した問題はありません...コード内で選択基準を空にする行はありません...そのテーブルにアクセスしていない他のレポートは正常に動作します。
  • 現在CRランタイムのバージョン13.0.1を使用しています。 13.0.2にアップグレードしようとしましたが、まだ動作しませんでした。
  • レポートがデータベースに対して直接生成したのとまったく同じSQLを実行します。それは期待どおりに動作します。

答えて

0

今週は多くの頭痛の後、私はついにこの問題を発見しました...これはSDK自体のバグのようですが、問題を解決するために、上記の問題を与えるフィールドが含まれていることを確認してくださいレポートの詳細セクションを参照してください。

つまり、レポートの詳細セクションにbranch_idフィールドを追加して抑制しました。これは、フィールドがそこに含まれている限り、セクションを抑制することによっても機能します。

私はこれを他のすべてのレポートで同じ問題でテストしています。

0

に、あなたの基準を変更してみてください:()date({transaction.transaction_date}) in {?FromTo}行を追加

(date({transaction.transaction_date}) in {?FromTo}) and 
{user_branch.branch_id} = 1 


私は確信していません。

+0

お返事ありがとうございます。 私はまた、日付フィールドを完全に削除しましたが、branch_idフィールドのみを含んでいました...それでも、ブランチ2と3からデータを返します。 –

+0

'transaction'テーブルと' user_branch'テーブルの接続は何ですか?また、それらを1つのクリスタルレポートでどのように使用しますか? –

+0

transaction.user_branch_id内部結合user_branch.user_branch_id。トランザクションは、特定のブランチにログインしたユーザーによってポストされます。そのブランチはレポートが生成されるブランチです。 私は二重チェックをして、ジョインを使って(ノルムの外で)プレイしましたが、まだ運がありません –

関連する問題