- PR -

CrystalReportのデータの表示について

1
投稿者投稿内容
たけし城
会議室デビュー日: 2003/10/23
投稿数: 3
投稿日時: 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
投稿数: 21
投稿日時: 2003-10-23 17:19
別サイトに解決方法を書きました。
SQLServerなので、若干違う部分もありますが、何か役に立つこともあるかもしれません。
ポイントは、XML形式で、事前にデータ定義(.xsdファイル)を作っておくということです。



http://dobon.net/cgi-bin/vbbbs/cbbs.cgi
「どぼん!のプログラミング道掲示板」の#889、#895
たけし城
会議室デビュー日: 2003/10/23
投稿数: 3
投稿日時: 2003-10-23 17:57
ゆーじんさんありがとうございました。
さっそくやってみます。
XMLを使う以外に方法はないんですか?
ゆき
常連さん
会議室デビュー日: 2003/10/23
投稿数: 21
投稿日時: 2003-10-24 10:40
今のところは、XMLを使用する以外の方法はないのではないかと思います。
直接データセットのフィールドとレポートのフィールドを関連付ける方法など、
もしあれば私も教えていただきたいです。

CrystalReport8.5&VB6.0でレポートを作っていた時にも、
データ定義ファイル(.ttxファイル)を使用していたので、
同じ感覚でXMLにフィールドを定義するとよいのではないでしょうか?
たけし城
会議室デビュー日: 2003/10/23
投稿数: 3
投稿日時: 2003-10-24 11:49
ありがとうございました。
ちなみに私はXMLを使ってません。

Public frm1 As New Form1() 'モジュールでfrm2を宣言する

rpRep.SetDataSource(frm1.ds.Tables("テーブル名"))

そうするとForm1のデータセットdsが別のフォームでも使えますよ。
ゆき
常連さん
会議室デビュー日: 2003/10/23
投稿数: 21
投稿日時: 2003-10-24 13:58
書かれた内容の意味がよく分かりません。申し訳ありません。
別のフォームで作成したデータセットをレポートのデータソースとして使用
できたということでしょうか。。
そして、XMLを使わずにレポートに動的にデータセットのデータを出せた(解決)と
いうことでしょうか?

ちなみに、おせっかいですが、レポートの1箇所のフィールドに、条件によって別の
テーブルのフィールドを出すように切り替える場合には、フィールドエクスプローラから
固定のテーブルのフィールドをレポートに貼り付けるということができなくなるので、
XMLとデータセットを連結するプロセスが必要になってきます。
1

スキルアップ/キャリアアップ(JOB@IT)