DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CrystalReportへのデータ出力

分類:[.NET]

開発環境:VB.NET、DB:SQLServer2000、OS:Windows2000Pro

クリスタルレポートについて質問させて下さい。
SQLServerのテーブルのデータをクリスタルレポートに表示したいのですが、
うまくいきません。
CrystalReportViewerを表示するタイミングで「クエリーエンジンエラー...」
というダイアログが出てしまい、何もレポートが表示されない、という状況です。
普段データベースからデータをSELECTする処理に関しては、うまくいっています。
(DataTableを作り、そのデータをグリッドに表示したりしています。)

自分でやった手順は以下のようになります。
VB.NET、クリスタルレポート共に初心者のため、見当違いのことをしているかも
しれません。(一応ヘルプファイルの手順には従ったつもりです。。)
おかしい点があったら、ご教授ください。

1.ADO.NETデータセットオブジェクトを作成し、レポートに出したいテーブルAを追加
  (dsTEST.xsdというファイルとしてプロジェクトへ追加した)
2.レポート編集画面のフィールドエクスプローラのデータベースフィールドにdsTEST
  を追加し、レポートに出力したいテーブルAのフィールドを貼り付けた。
  (rptTEST.rptというファイルとしてプロジェクトへ追加した)
3.Formに、CrystalReportViewerを追加した。
  (rptViewerと名前をつけた)
4.プロジェクトの参照にSystem.XML.dllを追加した。
5.Form内でデータベースに接続、SELECT文を発行し、データセットを作成、rptTEST
  に設定した。(以下のようなコーディング)

Imports System.Data.SqlClient
Imports System.Data.OleDb
(中略、変数宣言も略)
strSQL = " SELECT * FROM A "

cn = New SqlConnection()
cn.ConnectionString = "(省略)"
da = New SqlDataAdapter(strSQL,cn)
ds = New DataSet
da.Fill(ds)

Dim rp As rptTEST
rp = New rptTEST
rp.SetDataSource(ds)
rptViewer.ReportSource = rp
rptViewer.Zoom(1)

※ヘルプには、「using System.Data.OleDb」というコードをWindowフォームに追加
するように書いてありましたが、どう書いていいか分からず、Import文にしました。
  • 題名: Re[1]: CrystalReportへのデータ出力
  • 著者: ゆーじん
  • 日時: 2003/10/09 14:45:55
  • ID: 895
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
以下のところを、追加したXMLのデータセットに変更したらうまくいきました。
>ds = New DataSet ×
   ↓
ds = New dsTest ○

初歩的なミスでした。お騒がせ致しました。ありがとうございました。
なお、↓以下のサイトを参考にしました。
http://www.crystalreportsbook.com/
(Capter14 Connecting to Databases)
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板