Berichte

Hallo,

ich habe das folgende Problem:

Ich habe einen Bericht der u.a. zwei Unterberichte beinhaltet, die Daten aus unterschiedlichen Tabellen anzeigen. Nun würde ich gerne beim öffnen dieses Berichtes durch das Ereigniss „beim öffnen“ die Datensatzherkunft bzw. RecordSet der beiden Unterformualre anpassen.

Wie kann ich aus einem Bericht den RecordSet der Unterbeichte ansprechen?

Vielen Dank!

Grüße marco

Hi Marco,

ist schon nen bissel her, daß ich das machen mußte. Eine Möglichkeit wäre: me…Recordsource = …
Sollte das nicht gehen ist noch me…Properties(„Name Property“) = … möglich.
Sollte das auch nicht gehen habe ich noch application.reports(„Name Unterbericht“).Recordsource
Geht das auch nicht, schreib die Zuweisung in das Open-Event des Unterberichtes und hol Dir ggf. die Daten mit Me.Parent.

Gruß
Ingo

Hallo Marco

In den Eigenschaften der Unterberichte gibt es die Felder
„Verknüpfen von“
und
„Verknüpfen nach“
(Tipp: Mauscursor rein und F1-Taste drücken für Infos dazu)
über die normalerweise die Beziehung zwischen Bericht und Unterbericht definiert wird.

Stefan

Ergänzend
Hallo nochmal

Komplizierter:
1.in einem Modul globale Variable definieren
Bsp.:
Global gvarMeinHauptbericht As String
Global gvarMeinUnterbericht1 As String
Global gvarMeinUnterbericht2 As String

2.in den Berichten die Datenherkunft auf die Variablen setzen
Bsp.:
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = gvarMeinHauptbericht
End Sub
…im Hauptbericht
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = gvarMeinUnterbericht1
End Sub
…im Unterbericht1
etc.

3.in der Ereignisprozedur die den Bericht öffnet
den Variablen Werte zuweisen.
z.B.

Private Sub MeinBerichtOeffnenBefehl_Click()
On Error GoTo Err_MeinBerichtOeffnenBefehl_Click

Dim stDocName As String

stDocName = „MeinHauptbericht“

gvarMeinHauptbericht= „Tabelle1“
gvarMeinUnterbericht1 = „select * from Tabelle2 Where MeinLinkFeld=‚A‘“
gvarMeinUnterbericht2 = „select * from Tabelle3 Where MeinLinkFeld2=‚B‘“
DoCmd.OpenReport stDocName, acPreview

Exit_MeinBerichtOeffnenBefehl_Click:
Exit Sub

Err_MeinBerichtOeffnenBefehl_Click:
MsgBox Err.Description
Resume Exit_MeinBerichtOeffnenBefehl_Click

End Sub

…Hier lässt sich natürlich einiges anpassen
!!Zu beachten sind auf alle Fälle die DatenTypen in den Where Feldern!!

Hoffe es hilft weiter

Stefan