Supportnet / Forum / Datenbanken
Datensatzherkunft in Bericht ändern
Frage
Hallo Ihr.
Ich hab mal wieder ein Problem.
Ich möchte beim öffnen eines Berichts die Datenherkunft anpassen. (über VBA) Das klappt auch alles bis auf den Unterbericht. Da kommt dann eine Fehlermeldung: "Sie können die Eigenschaft Datenherkunft nicht mehr einstellen, nachdem sie einen Druckvorgang gestartet haben.
Hier mal noch der Code:
Reports![ber_anlage2]![ber_anlage2_u].Report.RecordSource = "herkunft"
Wäre schön wenn mir jemand helfen könnte.
Danke schon mal im vorraus.
Thorsten
Antwort 1 von mapet
Hallo
Wo hast Du den Code eingefügt und wann wird er aktiv
mapet
Wo hast Du den Code eingefügt und wann wird er aktiv
mapet
Antwort 2 von hansi3
Hallo mapet,
der Code steht "Beim Öffnen", also sobald ich den Bericht öffne wird aktiviert.
Thorsten
der Code steht "Beim Öffnen", also sobald ich den Bericht öffne wird aktiviert.
Thorsten
Antwort 3 von mapet
Hallo
Dann wird es so sein wie die Fehlermeldung es Dir mitteilt, dass die Daten schon geladen sind und die Quelle nicht mehr geändert werden kann.
Ich selber arbeite bei wechselnden Datenherkunft mit Temporären Tabellen. Das heisst ich erstelle die Tabellen für den Bericht ohne Daten. Zur Laufzeit fülle ich die Tabellen mit den gewünschten Daten, Drucke den Bericht und lösche den Inhalt der Tabellen wieder. (Villeicht kannst du mit dieser Idee etwas anfangen)
mapet
Dann wird es so sein wie die Fehlermeldung es Dir mitteilt, dass die Daten schon geladen sind und die Quelle nicht mehr geändert werden kann.
Ich selber arbeite bei wechselnden Datenherkunft mit Temporären Tabellen. Das heisst ich erstelle die Tabellen für den Bericht ohne Daten. Zur Laufzeit fülle ich die Tabellen mit den gewünschten Daten, Drucke den Bericht und lösche den Inhalt der Tabellen wieder. (Villeicht kannst du mit dieser Idee etwas anfangen)
mapet
Antwort 4 von hansi3
Hallo,
so eine ähnliche Idee kam mir in diesem Moment.
Ich kann die Tabelle vor dem Öffnen des Berichts erstellen und nach dem drucken wieder löschen.
Erstmal werde ich es so machen, aber malsehen ob ich noch was anderes herausbekomme.
Danke
so eine ähnliche Idee kam mir in diesem Moment.
Ich kann die Tabelle vor dem Öffnen des Berichts erstellen und nach dem drucken wieder löschen.
Erstmal werde ich es so machen, aber malsehen ob ich noch was anderes herausbekomme.
Danke
Antwort 5 von El Bobbele
Hi Hansi!
Du könntest den Bericht fest an eine Abfrage binden, deren SQL-Anweisung du vor dem Öffnen des Berichts neu schreibst.
Gruss
El Bobbele
Du könntest den Bericht fest an eine Abfrage binden, deren SQL-Anweisung du vor dem Öffnen des Berichts neu schreibst.
Dim db As Database
Dim qdf As QueryDef
Set db = CurrentDb
Set qdf = db.QueryDefs("<Abfragename>")
qdf.SQL = "SELECT dies FROM das WHERE warum = " & Me.Deshalb & ";"
qdf.Close
'Der Bericht <Berichtsname> ist an <Abfragename> gebunden
DoCmd.OpenReport "<Berichtsname>", acPreviewGruss
El Bobbele

