- - PR -
ODBC経由ではないCrystalReportsのDBへの接続
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-06 15:17
つまり、SQLコマンドでCREATE VIEW〜を作成した方がいいということでしょうか? あと、CrystalReportのデザイナ画面上でTAB423(テーブル)とTAB401SEL、TAB104SEL(ビュー)の フィールドのリンクは張りました。 その上で、実行しても結果はやはり、TAB423のGOODSCDのみの場合だけ上手くいきまして、 他にTAB401SEL.GOODSKJNAMEのフィールドをもってきても、タイトルの表示だけでした・・ また、
としても、SetDataSourceにはDataSetしか指定できないみたいだし・・
↑上記を行うと、当然ながら詳細セクションに配置された"aaa"フィールドは1行だけで、データは最終レコードが反映されているだけでした・・・(もう何をどうすりゃいいのだ状態ですw) また、ActiveReportsの方がデバッグしやすいことも述べたのですが、、 たとえランタイムフリーでも、現場でデバッグする場合に、使えないという結論になったのでした・・・・
いえいえ、私の方こそ説明が悪かったみたいで申し訳ないです。 わざわざご丁寧にありがとうございます。 | ||||||||||||||||||||||||
|
投稿日時: 2007-06-06 15:34
SQL コマンドでというよりは DBMS 側に最初から用意しておくという意味です。それも 「可能ならば」 程度の意味合いです。多くの帳票処理の結合 / 抽出条件は 「動的な条件」 になりますから、SQL コマンドで WHERE や テーブル結合やらをやることになるでしょう。
先にも述べたとおり、双方のテーブルの関係が CrystalReports にはわからないからです。CrystalReports Engine は人口知能を搭載していませんから、こちらから 「こうしなさい」 と命令せざるを得ません。 こればかりはしょうがないですね。バウンド レポートも実際には SQL クエリを使っています。(内部的に)
? 型付はダメだったということでしょうか? daa をただの System.Data.DataTable にしておけば問題ないかもしれません。SetDataSource メソッドには DataTable を引数に持つオーバーロードも存在しています。
式フィールドを繰り返しデータに利用するのはダメですよね。パフォーマンスにも影響します。
そもそも実行環境に開発環境を入れるのは環境バグの温床になりますよ。どうしてもデバッグしたい場合は、ノートパソコンなどで持ち込むのが定石です。最近はこれすらセキュリティの都合上難しいようですが... 私の場合、端末が持ち込めない場合はロギングなどを利用しています。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||
|
投稿日時: 2007-06-06 16:38
わぁ。本当ですね。明日この方法で試してみます。 本日は時間がなくなったため、CREATE VIEW NEW_URIAGE2・・・を作成して、 DataSet2を新たに作成し、以下の方法でやっとうまくいきました・・(涙)
具体的な例をあげていただきまして、ありがとうございます。 上司に相談してみます。 今回は、CrystalReportsで初めて帳票を作成したのですが、とてもとても勉強になりました。 じゃんぬねっと様、長々とお付き合い下さいまして、本当にありがとうございました。 |