Sub ReportPrint()
Cry.Close()
Me.Cursor = Cursors.WaitCursor
Dim pVal As New CrystalDecisions.Shared.ParameterDiscreteValue
pVal.Value = Me.TextBox3.Text.Trim()
Dim pField As New CrystalDecisions.Shared.ParameterField 'สร้างพารามิเตอร์จำลองขึ้นมา
pField.Name = "Code_Buy" 'ตั้งชื่อพารามิเตอร์จำลองให้เหมือนกับที่ได้ตั้งไว้ใน Report
pField.CurrentValues.Add(pVal) 'นำค่าที่ได้จาก pVal ไปให้พารามิเตอร์ เพื่อเรียกรายงานขึ้นมาตามค่าที่ส่งไปให้
pField.HasCurrentValue = True 'สั่งให้พารามิเตอร์ทำงานตามค่าที่ส่งไปให้
' เรียกรายงานขึ้นมาโชว์
Dim frmReport As New Cry '<-- Create a new instance of your report viewer.
frmReport.CrystalReportViewer1.ReportSource = New ReportBuy 'เรียกรายงานขึ้นมาตามพาร์ธ
frmReport.CrystalReportViewer1.ParameterFieldInfo.Clear() 'ล้างค่าต่างๆก่อน
frmReport.CrystalReportViewer1.ParameterFieldInfo.Add(pField) 'เรียกค่าขึ้นมาใหม่
frmReport.CrystalReportViewer1.Refresh()
frmReport.TopMost = True
frmReport.WindowState = FormWindowState.Maximized
frmReport.Show()
Me.Hide()
Me.Cursor = Cursors.Default
Exit Sub
End Sub
จากโค้ด พอรัน มันขึ้นว่า The parameter is incorrect แสดงว่าค่าที่ส่งไปที่พารามิเตอร์ไม่มีค่า
ในรีพอทก็สร้างพารามิเตอร์ชื่อว่า Code_Buy ทำการรีเฟช เฉพาะรีพอท รีพอททำงานปกติ
แต่พอจะเรียกใช้งานกับ VB ดันติดปัญหา