CrystalReportの基本


VB TIPS AND SAMLPE

まずは、DBに接続し、
表示するだけの、基本的なサンプルから始めます。
まずは、クリスタルレポートを、プロジェクトに追加してください。
追加方法は、前回紹介した方法です。
次に、MYSQLから表示するデータを取得します。
MYSQLに接続するためには、以前紹介した方法と同じです。
注意点としては、MYSQLのコネクタのバージョンが、
6.5.*以上だと、パスワード関連のエラーで接続できなかったので、
Authentication with old password no longer supported, use 4.1 style passwords
6.5.*のバージョンをつかいます。

インデックス
  1. VisualStudio2013Communityでクリスタルレポートを使う
  2. グループ化
  3. 垂直ガイドラインを削除する
  4. テキストオブジェクトの挿入
  5. オブジェクトの縦横を揃えます
  6. 重複データの非表示
  7. 非連結フィールドの挿入と式の編集
  8. 罫線の挿入
  9. 空行の出力
  10. 文字列・数字の整形。日付のフォーマット。
  11. エクスポート
  12. VB側から直接クリスタルレポートへ出力
  13. サブレポート
  14. サブレポートの再インポート
  15. グラフ
  16. 出力時にセクションの下部まで拡張
  17. 積算合計フィールド
 


フォームに、ボタンとCrystalReportViewerを貼り付けます。
CrystalReportViewer画面 また、プロジェクトの「App.config」に、赤い字の箇所を追加してください
       <startup useLegacyV2RuntimeActivationPolicy="true">
          <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
       </startup>

ここまでできたら、
ソースのまで、デバッグ実行して、「KEN_ALL.xsd」ファイルを作成し、
プロジェクトに追加しておきます。

レポートのデザインを作ります

CrystalReport1.rptを選択し、
データベースエキスパートを選択します。
データベースエキスパート
すると、先に、作っていた「KEN_ALL」(KEN_ALL.xsd)があるので右側に移動させて選択して「OK」を押します。
ss
後は、簡単で、図のようにドラッグドロップすればOK
レポートデザイン
ソースを最後まで走らせます。
クリレポの完成



Imports MySql.Data
Imports MySql.Data.MySqlClient

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'MYSQLからデータを読み出す
        Dim cnstr As String
        cnstr = "Database=test;Data Source=centos5vm;User Id=vbuser;Password=sa"
        Dim con As New MySql.Data.MySqlClient.MySqlConnection(cnstr)
        Try

            con.Open()

            Dim sql As String = "select * from KEN_ALL"
            Dim Cmd As New MySqlCommand(sql, con)
            Dim myAd As New MySqlDataAdapter
            Dim dt As New DataTable("KEN_ALL")
            Dim dts As New DataSet
            myAd.SelectCommand = Cmd
            'データテーブルに取得
            myAd.Fill(dt)

            'xsdファイルを保存します。
            'DB ---→ xsd ----→ クリスタルレポート
            'というデータの流れになります
            'dt.WriteXmlSchema("KEN_ALL.xsd")
            '保存したKEN_ALL.xsdはプロジェクトに追加しておきます。
            'プロジェクトに追加したクリスタルレポートオブジェクトを参照
            Dim rpt As New CrystalReport1
            'デーソースにデータセットを
            rpt.SetDataSource(dt)

            'ビュワーにレポートをセット
            CrystalReportViewer1.ReportSource = rpt
        Catch ex As Exception
            Debug.Print(ex.Message.ToString)
            MessageBox.Show(ex.Message.ToString)
        End Try

        con.Clone()
        con.Dispose()

        MessageBox.Show("終了")
    End Sub
End Class