- - PR -
CrystalReportXIの出力条件について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-11-16 12:56
レポートに出力するデータをAccessのデータにしているのですが、
そのテーブルには複数のデータがあります。そのうち『あるキー』のデータのみを 表示したいのですが、CrystalReportXIでSQL文のWhere条件のようにして、 出力するデータを限定できるのでしょうか? ご存知の方がいらっしゃいましたらご教示お願いします。 目的) テーブルには主キーが「A」、「B」、「C」のデータがあります。 レポートに表示したいデータは主キーが「B」のデータのみ。 | ||||||||
|
投稿日時: 2007-11-16 13:42
"Access のデータにしている"? なぜ 'わざわざ' そのようなことをしているのでしょうか?
もちろんレポート側でもコード側でも可能です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-11-16 13:52
"Access のデータにしている"? なぜ 'わざわざ' そのようなことをしているのでしょうか?
↓ C#でクラス管理しているデータをAccessにセットしてから出力しようと考えています。 他に何か良い方法があるのでしょうか? もちろんレポート側でもコード側でも可能です。 ↓ 徹底活用術を呼んでいるのですが、それらしき項目が見つけられません。 どのようにすればいいでしょうか? ご教示お願い致します。 | ||||||||
|
投稿日時: 2007-11-16 14:08
やはり... 「バウンド レポート」 という手法しか知らないがためだったようですね。 DataSet や DataTable を DataSource として渡す方が簡潔であり高速です。 また拡張性にも優れています。 Access というか MDB を使わずに済むというのも利点ですね。 帳票コンポーネントの世界では、これを 「アンバウンド レポート (縛られていない帳票)」 と呼んでいます。
どの手法で行くかにもよりますが、上記のアンバウンド レポートでいく場合は DataTable を作る段階で SQL 文やその他の方法で絞り込みが可能です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-11-16 14:30
回答ありがとうございます。
DataSet や DataTable を DataSource として渡す方が簡潔であり高速です。 ↓ CrystalReportXI(.NET付属でないもの)のレポートを作成しています。 MDBで設定している場合、データベースを接続して、レポート上に接続しているMDBの フィールドをドロップダウンすると、連結してくれますがDataSet、DataTableの場合は どのように連結するのでしょうか? また、「バウンド レポート」で行う場合、レポート側で出力条件を設定する方法はどうするのでしょうか? 質問ばかりですみませんが、ご教示お願い致します。 | ||||||||
|
投稿日時: 2007-11-16 15:06
マッピングというのを行います。 デフォルトではフィールド名で連結しようとします。 型付 DataSet でも書いておけば何も考えなくても連結されます。
ガンバさんが "MDB で設定している場合、データベースを接続して、レポート上に接続している MDB のフィールドをドロップダウンすると、連結してくれます" と書いてくれましたが、この時に裏では SQL クエリが構築されています。 この SQL クエリに条件を付け加えれば良いわけです。 私は 1 度しかやったことありませんけども。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-11-16 15:19
今のバージョンは知らないけど、昔はSelectionFieldで絞り込んでた。 クリレポのメニューからレポート→選択式の編集→レコード(Crystal Reports 8の頃) #それでもなお、バウンドレポートにこだわる理由は不明だけど | ||||||||
|
投稿日時: 2007-11-16 15:31
回答ありがとうございます。
マッピングというのを行います。 デフォルトではフィールド名で連結しようとします。 型付 DataSet でも書いておけば何も考えなくても連結されます。 ↓ マッピングというのは何でしょうか? レポートのテキストボックスの名前をフィールド名にすれば良いのでしょうか? 型付はレポート側、DataSet側のどちらにどのようにするのでしょうか? 本当に初歩的な質問ですみません。 ご教示お願い致します。 |