2012-02-08 20 views
0

現在、Crystalレポートでレポートを設計しています。 ヘッダーには、Date/Timeや変数のような標準フィールドがあります。場合によっては、変数の1つが何にも解決されない(空です)。 その変数が空になると、すべてのレポートデータが消えます。Crystal Reportsのデータが消える

私はFormularフィールドを作成してCrystal Reportsを騙そうとしましたが、もう一度幸運を祈ることはできませんでした。

アイデア?

すべてのデータはMySQLデータベースから受信され、問題を引き起こすフィールドはカスタムクエリ(コマンド)に基づいています。

実際のクエリ:

SELECT `teacher_name` 
FROM `class_schedule` 
LEFT JOIN (`teacher`, `cs_class`) 
ON (`class_schedule`.`class_supporter`=`teacher`.`teacher_id` AND 
    `cs_class`.`cs_id`=`class_schedule`.`cs_id`) 
WHERE `class_id`={?classId} 
+0

おそらく、その変数に関する選択基準があります。フィールド値は時には "null"になることがあります。これは ""(空)とは異なる処理を必要とすることがあります。 – Arvo

+0

私はすでにそれをチェックしました。クエリ全体が他のデータにもリンクされていません:( – Ben

+0

@Ben:この変数はどのように設定されますか?それが何も原因で空に設定されている場合でも、レポートにデータが返されません。 –

答えて

0

私は多くのすべてのMySQLで働いていません。つまり、私はLOJの構築を見たことがないので、フォーマットに疑問を呈しています。もし私が知らないなら、私の無知を許してください。

CR Developerが利用可能な場合は、CRのクエリが表示されるのが面白いかもしれません。実際にMySQLに提出されたものがトレースに表示されると思います。

SELECT `teacher_name` 
FROM `class_schedule` cs 
    LEFT outer JOIN `teacher` tch 
    on `cs`.`class_supporter`=`tch`.`teacher_id` 
    Left outer join `cs_class` csc 
    on `csc`.`cs_id`=`cs`.`cs_id` 
WHERE `class_id`={?classId} 

がおすすめです。