Microsoftun yaptığı değişikliği atladım hızla cevap vereyim derken kusura bakmayın. Bir alt raporun kayıt kaynağını runtime sürecinde ayarlayamazsınız veya değiştiremezsiniz bu nedenle kayıt kaynağını tasarım görünümünde ayarlamanız gerekecektir. Buna çözüm olarak şöyle bir yaklaşım ortaya koyabiliriz
Private Sub Komut25_Click()
RedefRptSQL "rpt_Rapor", "SELECT BOYAMA_RECETE_VERITABANI.* FROM BOYAMA_RECETE_VERITABANI WHERE (((BOYAMA_RECETE_VERITABANI.PARTI_NO)=Formlar!recete_bul!pno));"
RedefRptSQL "rpt_Rapor_KM", "SELECT BOYAMA_RECETE_VERITABANI.* FROM BOYAMA_RECETE_VERITABANI WHERE (((BOYAMA_RECETE_VERITABANI.PARTI_NO)=Formlar!recete_bul!pno));"
DoCmd.OpenReport "rpt_Rapor", acViewPreview
End Sub
Function RedefRptSQL(strRptName As String, strSQL As String)
On Error GoTo Error_Handler
Dim Rpt As Report
DoCmd.OpenReport strRptName, acViewDesign, , , acHidden
Set Rpt = Application.Reports(strRptName)
Rpt.RecordSource = strSQL
DoCmd.Close acReport, strRptName, acSaveYes
Error_Handler_Exit:
On Error Resume Next
Set Rpt = Nothing
Exit Function
Error_Handler:
MsgBox "Karşılaşılan hata:" & vbCrLf & vbCrLf & _
" Error Number: " & Err.Number & vbCrLf & _
" Error Source: RedefRptSQL" & vbCrLf & _
" Error Description: " & Err.Description, _
vbCritical, "BİR HATA OLUŞTU!"
Resume Error_Handler_Exit
End Function
Burada tanımlanan Function raporlarınızı gizli modda tasarım modunda açıp kayıt kaynağını güncelledikten sonra raporu açmanızı sağlar.