- - PR -
CrystalReportで2テーブルを出力できるか?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-04 11:43
いつもお世話になっています。
環境はWIN2000,VB.NET FrameWork2.0です。 CrystalReportで質問なのですが、 CrystalReportのフィールドエクスプローラーに2つのテーブルを追加して それを出力する方法が分かりません。 サブレポートや、2テーブルをSQLで1テーブルに結合して表示とかは出来たのですが、 参考書にも出来そうなことが書かれていたので、この方法でやれと言われています。(汗) フィールドエクスプローラーに1つのテーブルを追加して出力することは出来ました。 Dim dtSet As New DataSet1 Dim cnt As Integer Dim dr As New DataSet1TableAdapters.AAATableAdapter cnt = dr.Fill(dtSet.AAA) CrystalReportSource1.Report.FileName = "CrystalReport.rpt" CrystalReportSource1.ReportDocument.SetDataSource(dtSet.Tables("AAA")) CrystalReportViewer1.ReportSource = CrystalReportSource1 テーブルを2つ出力するとなると・・・、 Dim dtSet As New DataSet1 Dim cnt As Integer Dim dr As New DataSet1TableAdapters.AAATableAdapter cnt = dr.Fill(dtSet.AAA) CrystalReportSource1.Report.FileName = "CrystalReport.rpt" CrystalReportSource1.ReportDocument.SetDataSource(dtSet.Tables("AAA")) Dim dr As New DataSet1TableAdapters.BBBTableAdapter cnt = dr.Fill(dtSet.BBB) CrystalReportSource1.Report.FileName = "CrystalReport.rpt" CrystalReportSource1.ReportDocument.SetDataSource(dtSet.Tables("BBB")) CrystalReportViewer1.ReportSource = CrystalReportSource1 とやってみたのですが、エラーが出力されます。 「このグループセクションは、条件フィールドが存在しないかまたは無効なため出力できません。別の条件フィールドを選択してください。・・・.rptのエラー:グループ条件が無効です。」 どう書けば、CrystalReportSourceに2つのテーブルを渡せるのでしょうか? | ||||
|
投稿日時: 2006-10-04 11:49
これでは、'AAA' は 'BBB' を設定したと同時に消失しますよね。 DataTable ではなく、DataSet で渡してください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-10-04 11:56
さかもとと申します。
じゃんぬねっと様がおっしゃるように、DataSetで渡すことになります。 1:データセットA.データテーブル1 として最初のデータを入れておく 2:データセットA.データテーブル2 として次のデータを入れておく 3:2つのテーブルが入っているデータセットAをクリレポへ渡す | ||||
|
投稿日時: 2006-10-04 12:03
じゃんぬねっとさん回答ありがとうございます。
出来ました! 言われて納得です。(汗) ありがとうございました!! | ||||
|
投稿日時: 2006-10-04 12:07
さかもとさんありがとうございます。
実は昨日DataSetごと渡すのは試したのですが、 何をミスしたのかエラーが出てしまったので、 CrystalReportSourceにテーブルをAddするのでは・・・と考えていました。 単純なことなのにすいません(;´Д⊂) | ||||
|
投稿日時: 2006-10-11 11:34
お世話になります。まること申します。
突然の参加で申し訳ありませんが、 本件に関連する質問をさせてください。 複数のテーブルをデータセットに格納して、 CrystalReportに渡す件です。 複数のテーブルが同一DBの場合は、 ご指摘の方法でうまくいきますが、 異なるDBに格納されたテーブルのときに うまくいきません。 データセット格納後にテーブルの内容を メッセージボックスで確認すると、 レコードは問題なく格納されています。 CrystalReportに渡すときに問題が 起きているように思います。 勉強不足で申し訳ありません。 異なるDBでは不可能なのでしょうか? | ||||
|
投稿日時: 2006-10-11 11:45
さかもとと申します。
「異なるDB」というのがいまいち分かりません。 DBMSが違う??(SQLServerとOracleとか?)ということでしょうか? | ||||
|
投稿日時: 2006-10-11 12:10
TO:さかもとさま
早々のご返信ありがとうございます。 説明不足ですみません。 単一のSQLServer上でふたつのDBを作成して それぞれのDB配下にテーブルを格納しています。 |