1

簡単なCrystalReportを作成しようとしています(私が思っていたもの)。基本的に、たとえば、学生が何らかの懲戒処分を受けるたびにリストするレポートを作成したいと思います。

╔═══════════╦═════════════╦════════════╦══════════╗
║ StudentID ║ StudentName ║   Action   ║   Date   ║
╠═══════════╬═════════════╬════════════╬══════════╣
║ 1         ║ Smith, John ║ Suspension ║ 1/1/2012 ║
║ 2         ║ Q, Susie    ║ Detention  ║ 1/5/2012 ║
║ ...       ║ ...         ║ ...        ║          ║
╚═══════════╩═════════════╩════════════╩══════════╝

ただし、この情報は3つの別個のテーブルとしてデータベースに保存されます。

  1. IDや名前などの学生情報。
  2. 学生のID、日付、および実行されたアクションの種類を示すコードを含む懲戒処分。
  3. 各コードとアクションの説明を組み合わせたテーブル。1つは「保持」にマップされ、2つは「一時停止」にマップされます。

Crystal Reportsでこれらの列をリンクする方法がわかりません。具体的には、コードだけでなく、実行されたアクションを説明する列を表示できるようにするためです。私は、SQL式フィールドが次のようにこれを達成できると思いました。

(
SELECT "ActionCodes"."ActionDesc"
WHERE "DisciplinaryActions"."ActionCode" = "ActionCodes"."ActionCode"
)

このフィールドをレポートに追加すると、残念ながら空白行しか生成されません。私は正しい方向に進んでいて、クエリをいじくり回しているだけですか、それともより良いルートがありますか?

4

2 に答える 2

0

最初にデータベースでクエリをチェックし、データが来たら配置します

StudentID、Student Name、Action、

ReportPriviewをもう一度チェックインした後、CrystalReportの[Details]セクションの日付。

于 2013-02-08T12:51:52.067 に答える
0

Crystal Reports では、データベース エキスパートに移動し、テーブルを取得するデータベースに移動する必要があります。次に、画面中央の [>] ボタンを使用して、すべてのテーブルを右に移動します: 学生、専門分野、説明。

次に、左外部結合を作成する必要があります。

Student テーブルから StudentID を選択し、学科の StudentID にドラッグします。

Student から Disciplinary への矢印を示す結合が表示されます --->

その後、外部結合の懲戒コードと説明コードを残しました。

結合が正しく完了すると、必要なさまざまなフィールドをレポートにドラッグ アンド ドロップできるようになります。

SQL 式オプションを使用することもできますが、結合を行う方が簡単であり、将来的に懲戒コードまたは説明を使用できるという柔軟性もあります。

スクリーンショット付きの段階的な手順が必要な場合は、お知らせください。

于 2013-02-08T16:06:48.740 に答える