aeirik
سه شنبه 22 مرداد 1387, 22:31 عصر
چه طوری می تونم از یه Data table گزارش تهیه کنم؟ اگه امکانش هست راهنماییم کنید.
ali_md110
جمعه 25 مرداد 1387, 01:19 صبح
Private Sub load_report(ByVal Adate As String, ByVal Bdate As String)
Dim CNN As OleDbConnection
Dim DataReader As OleDbDataReader
Dim Command As OleDb.OleDbCommand
Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
CNN = New OleDbConnection(cnnstr)
Dim SQL As String = "SELECT * FROM(Table2)WHERE (((Table2.sdate) Between [@Adate] And [@Bdate]))ORDER BY Table2.sdate"
Command = New OleDbCommand(SQL, CNN)
Command.CommandType = CommandType.Text
Command.Parameters.Add("@Adate", Data.OleDb.OleDbType.VarChar, 50).Value = Adate
Command.Parameters.Add("@Bdate", Data.OleDb.OleDbType.VarChar, 50).Value = Bdate
CNN.Open()
DataReader = Command.ExecuteReader
If DataReader.HasRows Then
mytbl = New DataTable
mytbl.Load(DataReader)
Dim strReportPath As String = GetCurrentDirectory()
If strReportPath.Substring(strReportPath.Length - 9) = "bin\Debug" Then
strReportPath = strReportPath.Substring(0, strReportPath.Length - 10)
End If
strReportPath &= "\CrystalReport1.rpt"
Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocum ent
Me.Cursor = Cursors.WaitCursor
rpt.Load(strReportPath)
rpt.SetDataSource(mytbl)
CrystalReportViewer1.ReportSource = rpt
'Form4.Show()
Me.Cursor = Cursors.Default
Else
MsgBox("رکوردی پیدا نشد")
End If
DataReader.Close()
CNN.Close()
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.