ご列席の皆様、
これまでのところ、プログラムを使用して MySQL データベースからレコードを取得し、単一のテーブルからクリスタル レポートを作成することに成功しています。以下のコードを使用して、2 つのテーブルを結合し、一致したレコードをレポートに表示しようとしています。
Try
Dim myConnectionString As String = "Server=" & FormLogin.ComboBoxServerIP.SelectedItem & ";Port=3306;Uid=parts;Password=parts;Database=accounting;"
Dim dbConn As New MySqlConnection(myConnectionString)
Dim dbQuery As String = "SELECT * " & _
"FROM cc_master a JOIN customer b ON b.accountNumber = a.customer_accountNumber;"
Dim dbAdapter As New MySqlDataAdapter(dbQuery, dbConn)
Dim dbTable As New DataTable
dbAdapter.Fill(dbTable)
Dim report As New rptCardListAll
report.SetDataSource(dbTable)
CrystalReportViewer1.ReportSource = report
CrystalReportViewer1.Zoom(1)
Catch ex As Exception
'MsgBox(ex.Message)
End Try
私が今直面している問題は、実行時にレポートを実行すると、CUSTOMER テーブルから取得している 1 つのフィールドを除いて、すべての db レコードがレポートに入力されることです。以下はスクリーンショットです。空白の CUSTOMER NAME に注意してください。すべてのレコードのそのフィールドにデータがあるという事実を知っているため、これを空白にすることはできません。
MySQL Workbench を使用して DB で直接クエリを実行すると、クエリは正常に機能するため、レポートが要求された情報を取得しない理由がわかりません。どんな助けでも感謝します、ありがとう。
編集: 不足しているフィールド (nameCOMPANY) を含むデバッグ中の DataSet Visualizer を示すスクリーンショット