Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Filter in Unterbericht

Begonnen von gromax, April 05, 2015, 16:57:10

⏪ vorheriges - nächstes ⏩

gromax

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!!

MaggieMay

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.
Freundliche Grüße
MaggieMay

gromax

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