Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: jagger am Oktober 31, 2018, 18:41:24

Titel: Select Top beim Öffnen von Unterbericht
Beitrag von: jagger am Oktober 31, 2018, 18:41:24
Guten Abend,

ich habe einen HauptBericht "rep_Umsatz_F_Kundenblatt".
In dem dem Bericht gibt es einen Unterbericht "rep_Umsatz_F_Notizen"
Damit immer nur eine bestimmte Anzahl von Datensätzen angezeigt werden,
verwende ich beim Öffnen vom dem Bericht
Private Sub Report_Open(Cancel As Integer)
Dim SQL As String
Dim TopWert As Byte
TopWert = DLookup("F8NotizAnz", "tab_intex_Daten", "")
SQL = "SELECT TOP " & TopWert & " * "
SQL = SQL & "FROM tab_ex_Notizen"
Reports![rep_Umsatz_F_Notizen].RecordSource = SQL
End Sub


Solange ich den Unterbericht direkt aufrufe, klappt das auch super.
Wenn ich den Unterbericht über den Hauptbericht aufrufe, bekomme ich die
Fehlermeldung, dass der Bericht "rep_Umsatz_F_Notizen" entweder nicht existiert
oder falsch geschrieben ist.

Ich habe diverse Versuche unternommen, um das zu lösen, aber leider ohne Erfolg. Es ist wohl wieder mein Unvermögen auf den Unterbericht zuzugreifen.  :'(
Ich habe die Zeile:
Reports![rep_Umsatz_F_Notizen].RecordSource = SQL
schon
in allen Varianten verändert, aber leider es will mir nicht gelingen.
Ich habe auch schon mit verschiedenen Ereignissen experimentiert.

Hat jemand eine Lösung?
Mit besten Dank im Voraus
jagger
Titel: Re: Select Top beim Öffnen von Unterbericht
Beitrag von: MzKlMu am Oktober 31, 2018, 19:27:50
Hallo,
siehe hierzu:
https://dbwiki.net/wiki/Access_Bedienungsanleitung:_Bezug_auf_Formular/Unterformular
Das gilt sinngemäß auch für Berichte.
Titel: Re: Select Top beim Öffnen von Unterbericht
Beitrag von: jagger am November 01, 2018, 08:56:06
Hallo MzKlMu,

Danke für den super Link. Das ist ja mal eine gute Hilfe/Erklärung!
Es ist so einfach:
Me.RecordSource = SQL
Link werde ich mir mal abspeichern!

Hier der komplette Code:
Private Sub Report_Open(Cancel As Integer)
'bei Ereignis beim Öffnen im UFO bzw. Unterbericht
Dim SQL As String
Dim TopWert As Byte
TopWert = DLookup("F8NotizAnz", "tab_intex_Daten", "")
SQL = "SELECT TOP " & TopWert & " * "
SQL = SQL & "FROM tab_ex_Notizen"

Me.RecordSource = SQL

End Sub


LG und nochmals vielen Dank für den Tipp
jagger