Arkadaşlar tüm forumu aradım ama sorunumun çözümünü bulamadım.Aşağıdaki kodlar tarih aralığına göre veritabanındaki tüm raporları yazdırıyor ancak ben 2 adet raporumu yazdırmasın kalanlarının hepsini yazdırsın istiyorum.yardımınızı bekliyorum.
veritabanındaki tüm raporları ayrım yapmadan yazdıran kod:
Private Sub cmdTüm_Click()
Dim objMyReport As Object
For Each objMyReport In CurrentProject.AllReports
DoCmd.OpenReport objMyReport.Name, acPreview
Next objMyReport
Dim strFilter As String
Dim strRapor, strDate1, strDate2 As String
' Raporlarin açık olup olmadığını kontrol ediyoruz
For Each objMyReport In CurrentProject.AllReports
If SysCmd(acSysCmdGetObjectState, acReport, objMyReport.Name) <> acObjStateOpen Then
MsgBox "Öncelikle raporları açmanız gerekiyor."
Exit Sub
End If
Next objMyReport
' Filtreleme cümlesini oluşturuyoruz
strDate1 = DatePart("m", Me.txtStartDate) & "/" & DatePart("d", Me.txtStartDate) & "/" & DatePart("yyyy", Me.txtStartDate)
strDate2 = DatePart("m", Me.txtEndDate) & "/" & DatePart("d", Me.txtEndDate) & "/" & DatePart("yyyy", Me.txtEndDate)
strFilter = "KayıtTarihi Between #" & strDate1 & "# And #" & strDate2 & "#"
' Filtrelemeyi raporlara uyguluyoruz
For Each objMyReport In CurrentProject.AllReports
strRapor = objMyReport.Name
With Reports(strRapor)
.Filter = strFilter
.FilterOn = True
End With
Next objMyReport
For Each objMyReport In CurrentProject.AllReports
DoCmd.OpenReport objMyReport.Name, acNormal
Next objMyReport
End Sub
veritabanındaki tüm raporları ayrım yapmadan yazdıran kod:
Private Sub cmdTüm_Click()
Dim objMyReport As Object
For Each objMyReport In CurrentProject.AllReports
DoCmd.OpenReport objMyReport.Name, acPreview
Next objMyReport
Dim strFilter As String
Dim strRapor, strDate1, strDate2 As String
' Raporlarin açık olup olmadığını kontrol ediyoruz
For Each objMyReport In CurrentProject.AllReports
If SysCmd(acSysCmdGetObjectState, acReport, objMyReport.Name) <> acObjStateOpen Then
MsgBox "Öncelikle raporları açmanız gerekiyor."
Exit Sub
End If
Next objMyReport
' Filtreleme cümlesini oluşturuyoruz
strDate1 = DatePart("m", Me.txtStartDate) & "/" & DatePart("d", Me.txtStartDate) & "/" & DatePart("yyyy", Me.txtStartDate)
strDate2 = DatePart("m", Me.txtEndDate) & "/" & DatePart("d", Me.txtEndDate) & "/" & DatePart("yyyy", Me.txtEndDate)
strFilter = "KayıtTarihi Between #" & strDate1 & "# And #" & strDate2 & "#"
' Filtrelemeyi raporlara uyguluyoruz
For Each objMyReport In CurrentProject.AllReports
strRapor = objMyReport.Name
With Reports(strRapor)
.Filter = strFilter
.FilterOn = True
End With
Next objMyReport
For Each objMyReport In CurrentProject.AllReports
DoCmd.OpenReport objMyReport.Name, acNormal
Next objMyReport
End Sub