Extreme Veteran
Beiträge: 566
| Hallo,
Klauzi99 - 29.01.22 10:21
Ich öffne aus einem Formular heraus einen Bericht in der Berichtsansicht, dieser enthält zwei Buttons um den Bericht zu drucken oder um den Bericht via E-Mail zu versenden. Beides mal wird im Kunden Ordner ein PDF erstellt. Ja nach dem wird dann das PDF gedruckt oder an eine E-Mail angehängt. Das Öffnen des Berichts funktioniert mit DoCmd.OpenReport und das PDF wird mit DoCmd.OutputTo acOutputReport exportiert. Prinzipiell funktioniert dies auch so, Bericht wird geöffnet, das PDF erstellt, etc...
Das Problem ist, dass die Funktion DoCmd.OutputTo acOutputReport immer nur den Bericht exportiert welcher zuletzt in in der Entwurfsansicht offen war. Sprich öffnen ich den Bericht mit ID=XX in der Entwurfsansicht wird von jetzt an immer dieser Bericht exportiert. Es scheint so als wurde der Export irgendwo zwischengespeichert und wird nicht aktualisiert.
Gibt es einen Grund, warum die Buttons im Bericht und nicht im aufrufenden Formular liegen? Ich hab was ähnliches im Einsatz, allerdings ändere ich im Startformular bereits pro Benutzer den Filter der Abfragen, die dem Report zugrunde liegen. Damit wird in OutputTo das PDF auf jeden Fall richtig erzeugt.
Folgende Schritte habe ich schon probiert:
- Direkt das darunter liegende Recordset ändern, so dass nur noch ein Datensatz darin ist -> wird immer noch falsch Exportiert
RecordSource ändern ist nur in Report_Open möglich, danach nicht mehr. Im Unterbericht ist es garnicht möglich, da geht nur: dem UB eine feste Abfrage als RecordSource zuordnen und die Abfrage spätestens in (Hauptbericht)-Report_Open ändern.
- Filter Klausel und Where Klausel bei OpenReport -> wird immer noch falsch Exportiert
Solange du im Report bist, bleibt diese Änderung wirklungslos.
----- Gruss - Peter |