21-03-13, 03:22 PM
السلام عليكم
اعمل على برنامج فيجوال بيسك بعد عملية بحث بين تاريخين اريد اظهار نتيجة في داتا قريد الى حد هنا توفقت والحمد لله مشكلتي ان لمر الطباعة لا يقوم بطلاعة ماظهر في الداتا قريد وانما كل معطيات قاعدة البيانات .
الرجاء مساعدتي ان امكن لتعديل كود الطباعة:
Private Sub SearchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchBtn.Click
Dim cnStr As String, cmdText As String
cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source =" & Application.StartupPath & "\base_issam.mdb"
Dim cn As New OleDbConnection(cnStr)
Dim dt As New DataTable("calcul")
Try
cn.Open()
cmdText = "SELECT * FROM calcul where [DateDep] between format(#" & DateTimePicker3.Value.Date & "#,'mm/dd/YYYY') and format(#" & DateTimePicker2.Value.Date & "#,'mm/dd/YYYY')"
'MsgBox(cmdText)
'Exit Sub
cmd = New OleDbCommand(cmdText, cn)
dr = cmd.ExecuteReader()
If dr.HasRows Then
dt.Load(dr)
End If
dr.Close()
DataGridView1.DataSource = dt
DataGridView1.RowHeadersVisible = False
DataGridView1.Columns(0).HeaderText = "id"
DataGridView1.Columns(1).HeaderText = "DateDep"
DataGridView1.Columns(2).HeaderText = "Description"
DataGridView1.Columns(3).HeaderText = "type"
DataGridView1.Columns(4).HeaderText = "depences_recette"
DataGridView1.Columns(5).HeaderText = "recettes"
DataGridView1.Columns(6).HeaderText = "dépences"
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
''**********************************************************
Catch ex As Exception
MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
cn.Close()
cn = Nothing
End Try
End Sub
'---------------------------------------------------------------------------------------------
Private Sub PrintGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintGrid.Click
Dim t As DataTable
Dim dr As DataRow
Dim i As Int16 = 0
Do While i < DataGridView1.Rows.Count - 1
t = ds.Tables("Calcul")
dr = t.NewRow
If DataGridView1.Rows(i).Cells(0).Value <> Nothing Then dr(0) = DataGridView1.Rows(i).Cells(0).Value.ToString
If DataGridView1.Rows(i).Cells(1).Value <> Nothing Then dr(1) = DataGridView1.Rows(i).Cells(1).Value.ToString
If DataGridView1.Rows(i).Cells(2).Value <> Nothing Then dr(2) = DataGridView1.Rows(i).Cells(2).Value.ToString
If DataGridView1.Rows(i).Cells(3).Value <> Nothing Then dr(3) = DataGridView1.Rows(i).Cells(3).Value.ToString
If DataGridView1.Rows(i).Cells(4).Value <> Nothing Then dr(4) = DataGridView1.Rows(i).Cells(4).Value.ToString
If DataGridView1.Rows(i).Cells(5).Value <> Nothing Then dr(5) = DataGridView1.Rows(i).Cells(5).Value.ToString
i += 1
Loop
Dim fr1 As New frmprintcalcul
Dim Rep As New Calcul
Rep.Database.Tables(0).SetDataSource(DS)
fr1.CrystalReportViewer1.ReportSource = Rep
fr1.Show()
End Sub
اعمل على برنامج فيجوال بيسك بعد عملية بحث بين تاريخين اريد اظهار نتيجة في داتا قريد الى حد هنا توفقت والحمد لله مشكلتي ان لمر الطباعة لا يقوم بطلاعة ماظهر في الداتا قريد وانما كل معطيات قاعدة البيانات .
الرجاء مساعدتي ان امكن لتعديل كود الطباعة:
Private Sub SearchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchBtn.Click
Dim cnStr As String, cmdText As String
cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source =" & Application.StartupPath & "\base_issam.mdb"
Dim cn As New OleDbConnection(cnStr)
Dim dt As New DataTable("calcul")
Try
cn.Open()
cmdText = "SELECT * FROM calcul where [DateDep] between format(#" & DateTimePicker3.Value.Date & "#,'mm/dd/YYYY') and format(#" & DateTimePicker2.Value.Date & "#,'mm/dd/YYYY')"
'MsgBox(cmdText)
'Exit Sub
cmd = New OleDbCommand(cmdText, cn)
dr = cmd.ExecuteReader()
If dr.HasRows Then
dt.Load(dr)
End If
dr.Close()
DataGridView1.DataSource = dt
DataGridView1.RowHeadersVisible = False
DataGridView1.Columns(0).HeaderText = "id"
DataGridView1.Columns(1).HeaderText = "DateDep"
DataGridView1.Columns(2).HeaderText = "Description"
DataGridView1.Columns(3).HeaderText = "type"
DataGridView1.Columns(4).HeaderText = "depences_recette"
DataGridView1.Columns(5).HeaderText = "recettes"
DataGridView1.Columns(6).HeaderText = "dépences"
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
''**********************************************************
Catch ex As Exception
MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
cn.Close()
cn = Nothing
End Try
End Sub
'---------------------------------------------------------------------------------------------
Private Sub PrintGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintGrid.Click
Dim t As DataTable
Dim dr As DataRow
Dim i As Int16 = 0
Do While i < DataGridView1.Rows.Count - 1
t = ds.Tables("Calcul")
dr = t.NewRow
If DataGridView1.Rows(i).Cells(0).Value <> Nothing Then dr(0) = DataGridView1.Rows(i).Cells(0).Value.ToString
If DataGridView1.Rows(i).Cells(1).Value <> Nothing Then dr(1) = DataGridView1.Rows(i).Cells(1).Value.ToString
If DataGridView1.Rows(i).Cells(2).Value <> Nothing Then dr(2) = DataGridView1.Rows(i).Cells(2).Value.ToString
If DataGridView1.Rows(i).Cells(3).Value <> Nothing Then dr(3) = DataGridView1.Rows(i).Cells(3).Value.ToString
If DataGridView1.Rows(i).Cells(4).Value <> Nothing Then dr(4) = DataGridView1.Rows(i).Cells(4).Value.ToString
If DataGridView1.Rows(i).Cells(5).Value <> Nothing Then dr(5) = DataGridView1.Rows(i).Cells(5).Value.ToString
i += 1
Loop
Dim fr1 As New frmprintcalcul
Dim Rep As New Calcul
Rep.Database.Tables(0).SetDataSource(DS)
fr1.CrystalReportViewer1.ReportSource = Rep
fr1.Show()
End Sub