ตอนแรกก็สร้าง form ขึ้นมา 1 form แล้วเอา Crystal Report ว่างลงไป โดย form ที่ผมสร้างไว้ชื่อว่า frmreportshow แล้ว Crystal Report ที่อยู่ใน form นั้นชื่อว่า crtReport
Dim frmRpt As New frmreportshow
Dim input As String = ""
input = InputBox("กรุณาระบุรหัส Order ที่ต้องการออกบิล", "ใบเสร็จสินค้า")
frmRpt.crtReport.ReportSource = New crBill
frmRpt.crtReport.SelectionFormula = "{orderp.Ord_id}='" & input & "'"
'{orderp.Ord_id} เป็นชื่อตารางและชื่อคอลัม ที่เราจะให้อ้างถึงครับ
frmRpt.ShowDialog(Me)
Option Explicit On
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class rptpls
Dim da, da1, da2 As SqlDataAdapter
Dim ds, ds1, ds2 As New DataSet
Dim Str, Str1, Str2 As String
Dim rpt As New crppls
Dim maxPriceList_id As String
Dim checkFeedstuff As Integer
Private Sub openConn()
If SqlConnection1.State = ConnectionState.Closed Then
SqlConnection1.Open()
End If
End Sub
Private Sub closeConn()
If SqlConnection1.State = ConnectionState.Open Then
SqlConnection1.Close()
End If
End Sub
Private Sub rptpls_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ds.Tables.Clear()
Str = "Select MAX(PriceList_id) as PriceList_id from PriceList"
openConn()
da = New SqlDataAdapter(Str, SqlConnection1)
da.Fill(ds, "Max")
maxPriceList_id = ds.Tables("Max").Rows(0).Item("PriceList_id").ToString
closeConn()
ds.Tables.Clear()
ds1.Tables.Clear()
Str1 = "Select * from PriceListview Where PriceList_id ='" & maxPriceList_id & "'"
openConn()
da1 = New SqlDataAdapter(Str1, SqlConnection1)
da1.Fill(ds1, "Pls")
rpt.Database.Tables("PriceListview").SetDataSource(ds1.Tables("Pls"))
'rpt.SetParameterValue("Fname", LoginSession.Employee_FirstName)
'rpt.SetParameterValue("Lname", LoginSession.Employee_LastName)
With CrystalReportViewer1
.ReportSource = rpt
.DisplayStatusBar = True
.DisplayToolbar = True
.DisplayGroupTree = False
End With
closeConn()
End Sub
End Class