Liebe Access-Gemeinde,
ich erstelle einen Bericht, der aus Haupt- (rpt_MeldungAusfallMonat) und Unterbericht (rpt_MeldungAusfallMonatUFO1) besteht. Dieser Bericht wird von einem Formular mit folgendem VBA-Code aufgerufen (vgl. Anhang):
Private Sub opt_VorVorMonat_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single)
Dim strFilter As String
Dim strSchuljahr As String
Dim lngM As Long
Dim lngY As Long
On Error GoTo MyErr
lngY = Year(Date)
lngM = Month(Date)
'Berechnung des VorVormonats
If lngM = 1 Then
lngM = 11
ElseIf lngM = 2 Then
lngM = 12
Else
lngM = Month(Date) - 2
End If
'Berechnung des aktuellen Schuljahres
If Date < DateSerial(lngY, 8, 1) Then
strSchuljahr = Right$(CStr(lngY - 1), 4) & "/" & Right$(CStr(lngY), 2)
ElseIf Date > DateSerial(lngY, 8, 1) Then
strSchuljahr = Right$(CStr(lngY), 4) & "/" & Right$(CStr(lngY + 1), 2)
End If
strFilter = "LeK_Beginn1 = '" & strSchuljahr & "' And Monat1 = " & lngM
DoCmd.OpenReport "rpt_MeldungAusfallMonat", acViewReport, , strFilter
Exit_Sub:
Exit Sub
MyErr:
''MsgBox "Fehler"
Resume Exit_Sub
End Sub
Im Unterbericht werden die Daten des Hauptberichts summiert dargestellt; diese werden dort, also im Hauptbericht, entsprechend nach VorVor-Monat, nach Vor-Monat oder nach aktuellem Monat gefiltert (Eintrag im Eigenschaftenblatt/Daten/Filter: LeK_Beginn1 = '2014/15' And Monat1 = 2).
Wie bekomme ich diesen Filter in den Unterbericht?
Mit dem Eintrag im Öffnen-Ereignis des Hauptberichtes
Private Sub Report_Open(Cancel As Integer)
Dim strSchuljahrUfo As String
Dim lngMUfo As Long
strSchuljahrUfo = Me.Parent!LeK_Beginn1
lngMUfo = Me.Parent!lngM
Me!rpt_MeldungAusfallMonatUFO1.Report.Filter = "LeK_Beginn1 = '" & strSchuljahrUfo & "' And Monat1 = " & lngMUfo & Me.OpenArgs
Me!rpt_MeldungAusfallMonatUFO1.Report.FilterOn = True
End Sub
wollte ich nun diesen Filter an den Unterbericht weitergeben. Das klappt so nicht!
Bei manuellem Eintrag funktioniert die Datendarstellung einwandfrei - aber eben nicht automatisiert!
Für Unterstützung bedanke ich mich ganz herzlich
gromax
p.s.: Alle Personal- oder Schuldaten sind frei erfunden!!
Hallo,
ZitatWie bekomme ich diesen Filter in den Unterbericht?
vermutlich indem du Haupt- und Unterbericht über die gemeinsamen Schlüsselfelder miteinander verknüpfst.
Wenn du damit nicht weiter kommst, wäre es wohl sinnvoller, anstelle von Screenshots eine Beispiel-DB hochzuladen.
Hallo MaggieMay,
super einfach! Ich wusste nicht, dass ich die Verknüpfung zum Haupt- und Unterbericht auch mit zwei Schlüsselfeldern (Schuljahr und Monat) definieren kann.
Man sieht vor lauter VBA die einfachen Wege nicht mehr.
Bekenntnisse eines Anfängers
Vielen Dank und noch einen schönen Feiertag!
gromax