- - PR -
CrystalReportのデータの表示について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-10-23 11:26
VisualBasic.NETでCrystalReportsFOR.NETを利用してWindowsプログラムを作成しています。
GUIでOleDbdataAdapterのデータアダプタ構成ウィザードを使って CrystalReportに連結するデータテーブルを参照できるようにしているのですが、 GUIを使わずにVB.NETのコードでこれと同じことをするにはどのようなコードを書けばよいのでしょうか? 現在のコードはこのようになっています。 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim cn As New SqlConnection("data source = KINYU02;initial catalog = Study;user id = sa;") 'サーバーの場所を指定しています Dim strSQL As String strSQL = "SELECT * FROM テーブル名" Dim da As New SqlDataAdapter(strSQL, cn) Dim ds As New DataSet() da.Fill(ds, "テーブル名") '↑ここまでのコードでデータセットにテーブルが認識されています Dim Rep as new CrystalReport1() Rep.SetDataSource(ds) rptViewer.ReportSource = Rep End Sub これだと空のCrystalReportが表示されるだけです。 上のソースに間違いあるいは、処理が不足しているのでしょうか? GUIを使用してのレポートの出力方法と同じ結果になるような ソースコードをご享受ください。 よろしくお願いいたします。 |
|
投稿日時: 2003-10-23 17:19
別サイトに解決方法を書きました。
SQLServerなので、若干違う部分もありますが、何か役に立つこともあるかもしれません。 ポイントは、XML形式で、事前にデータ定義(.xsdファイル)を作っておくということです。 ↓ http://dobon.net/cgi-bin/vbbbs/cbbs.cgi 「どぼん!のプログラミング道掲示板」の#889、#895 |
|
投稿日時: 2003-10-23 17:57
ゆーじんさんありがとうございました。
さっそくやってみます。 XMLを使う以外に方法はないんですか? |
|
投稿日時: 2003-10-24 10:40
今のところは、XMLを使用する以外の方法はないのではないかと思います。
直接データセットのフィールドとレポートのフィールドを関連付ける方法など、 もしあれば私も教えていただきたいです。 CrystalReport8.5&VB6.0でレポートを作っていた時にも、 データ定義ファイル(.ttxファイル)を使用していたので、 同じ感覚でXMLにフィールドを定義するとよいのではないでしょうか? |
|
投稿日時: 2003-10-24 11:49
ありがとうございました。
ちなみに私はXMLを使ってません。 Public frm1 As New Form1() 'モジュールでfrm2を宣言する rpRep.SetDataSource(frm1.ds.Tables("テーブル名")) そうするとForm1のデータセットdsが別のフォームでも使えますよ。 |
|
投稿日時: 2003-10-24 13:58
書かれた内容の意味がよく分かりません。申し訳ありません。
別のフォームで作成したデータセットをレポートのデータソースとして使用 できたということでしょうか。。 そして、XMLを使わずにレポートに動的にデータセットのデータを出せた(解決)と いうことでしょうか? ちなみに、おせっかいですが、レポートの1箇所のフィールドに、条件によって別の テーブルのフィールドを出すように切り替える場合には、フィールドエクスプローラから 固定のテーブルのフィールドをレポートに貼り付けるということができなくなるので、 XMLとデータセットを連結するプロセスが必要になってきます。 |
1