ورود

View Full Version : سوال: گزارش گیری از data table



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