Januar 19, 2021, 06:16:53

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Standardspeicherort für RTF Berichte

Begonnen von Dorian-1965, Dezember 25, 2020, 12:51:52

⏪ vorheriges - nächstes ⏩

Dorian-1965

Nee ich weiß auch nicht warum, trotzdem vielen Dank für die Mühe!!!

Dorian

Dorian-1965

kleiner Nachtrag:

DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf",True
DoCmd.Close acReport, "Bericht_12"

Ich habe in der ersten Zeile
,  acHidden weggelassen. Nun funktioniert es bei jedem Versuch!

Danke an alle und guten Rutsch!

Dorian


Dorian-1965

Also, dieser Code funktioniert ja:

DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf",True
DoCmd.Close acReport, "Bericht_12"

Wie kann ich diesen erweitern, so dass zuerst geprüft wird ob schon ein Bericht geöffnet ist und dann ein bereits geöffnete Bericht (C:\Users\Dorian\Dokumente\Bericht.rtf) erst geschlossen wird bevor ein neuer Bericht erstellt wird?

DF6GL

Hallo,

ich denke, Du meinst eigentlich etwas anderes als Du schreibst.

Bericht.rtf ist kein geöffneter Bericht, es ist der Export eines Berichtes ("Bericht_12") in eine RTF-Datei im Dokumente-Ordner.

Der Bericht selber ist durch "Docmd.Close...." schon geschlossen worden und die Erstellung der rtf-Datei ist abgeschlossen.

Ich würde vorschlagen, die rtf-Datei nach dem Namen des benutzten Berichtes zu benennen:

.
.
.
Dim strRptName as String
strRptName= "Bericht_12"

DoCmd.OpenReport strRptName, acViewPreview, , "ID = " & Me!ID
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\" & strRptName,True
DoCmd.Close acReport, strRptName
.
.


Dorian-1965

Zitat von: DF6GL am Januar 10, 2021, 17:58:41Hallo,

ich denke, Du meinst eigentlich etwas anderes als Du schreibst.

Bericht.rtf ist kein geöffneter Bericht, es ist der Export eines Berichtes ("Bericht_12") in eine RTF-Datei im Dokumente-Ordner.

Der Bericht selber ist durch "Docmd.Close...." schon geschlossen worden und die Erstellung der rtf-Datei ist abgeschlossen.

Ich würde vorschlagen, die rtf-Datei nach dem Namen des benutzten Berichtes zu benennen:
...

Ja, richtig.

Den Bericht umbenennen ist kein Problem, habe ich gemacht.

Ich meinte:

Wie kann ich diesen erweitern, so dass:

- zuerst geprüft wird ob schon ein RTF-Dokument (Bericht_12) geöffnet ist
- und dann ein bereits geöffnete Bericht (C:\Users\Dorian\Dokumente\Bericht_12.rtf) erst geschlossen wird
- bevor ein neuer Bericht erstellt wird und als RTF Datei ausgegeben wird?

DF6GL

Hallo,

ich verstehe nicht genau, was Du mit "RTF  geöffnet "  meinst.

Meinst Du, die rtf-Datei wird nach dem Export mit z. B. Word geöffnet und bearbeitet?

Zitatund dann ein bereits geöffnete Bericht (C:\Users\Dorian\Dokumente\Bericht_12.rtf) erst geschlossen wird

die rtf-Datei ist KEIN BERICHT und kann somit auch nicht geschlossen werden, wenn man von der o. g. Situation absieht.


Sie kann höchstens "gelöscht" werden, wenn man die Datei nicht mehr haben will.

Außerdem wird die Datei bei erneutem Export des Access-Berichtes (evtl. erst nach Nachfrage) überschrieben.



Dorian-1965

Sorry, ja ichg meinte die geöffnete RTF Datei. Sie soll automatisch geschlossen werden und Word beendet werden. Dann kann ich den Bericht und die rtf datei erneut geöffnet werden...

DF6GL

Hallo,

warum wird denn die RTF-Datei mit Word überhaupt geöffnet, wenn Du das nicht brauchst....

Insofern, lass einfach "True" bei Docmd.OutputTo weg und die rtf-Datei bleibt unangetastet...

Dorian-1965

Nachdem ich die Daten aus der RTF Datei kopiert und weiterverarbeitet habe, wechsel ich den Datensatz und erstelle den Bericht und den Export als RTF Datei erneut. Das geht aber nur wenn ich vorher die alte RTF Datei schließe. Ich habe gehofft es mit Access zu automatisieren. Im Moment schließe ich die RTF Datei selbst und erstelle dann - mit einem neuen Datensatz - eine neue RTF Datei...

DF6GL

Hallo,


woher soll Access denn wissen, dass Du mit der Bearbeitung in Word fertig bist?

Du musst schon selber Word schliessen und damit den Zugriff auf die rtf-Datei beenden.


Du könntest ja mal verraten, was es mit der "Weiterverarbeitung" auf sich hat und was genau dabei geschieht.



Dorian-1965

OK, also:

1. Ich erstelle einen Bericht (Bericht_12) in Access
2. Dieser Bericht wird automatisch als RTF Datei ausgegeben
3. Somit ist Word geöffnet und damit auch die RTF Datei
4. Ich kopiere die Daten aus der Word Datei und gebe sie weiter (E Mail oder a.)
5. Ich wechsel den Datensatz und möchte wieder diesen Bericht erstellen (mit anderen Daten)
6. Der Bericht (mit anderen Daten) soll wiederum als RTF Datei ausgegeben werden.
7. Das geht aber nur wenn Word beendet wurde.

Ich möchte also den vorhandenen Code erweitern:

DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf",True
DoCmd.Close acReport, "Bericht_12"

1. prüfen ob Word und damit die RTF Datei geöffnet ist
2. Falls ja soll Word beendet werden und die RTF Datei geschlossen werden (ohne speichern)
3. Dann soll der Bericht erneut geöffnet werden (mit anderen Daten) (Bericht_12)
4. Dieser Bericht soll dann mit Word als RTF Datei geöffnet werden.

Ich hoffe es nun verständlich beschrieben zu haben...

Gruß Dorian

DF6GL

Hallo,

nochmal: Woher weiß Access, das Du  mit dem Bearbeiten in Word fertig bist und Word geschlossen werden könnte...?

Zum anderen kommt mir der Umweg über Word und die Kopiererei in eine (neue) Mail recht verquert vor.

Warum exportierst Du den Bericht nicht in eine PDF-Datei und hängst diese an eine neu generierte Mail an (und sendest sie auch gleich noch ab)?


 

Dorian-1965

Zitat von: DF6GL am Januar 12, 2021, 13:32:14nochmal: Woher weiß Access, das Du  mit dem Bearbeiten in Word fertig bist und Word geschlossen werden könnte...?

Wenn ich einen neuen Bericht erstelle und ihn als RTF erstellen möchte, dann soll Word beendet vorher beendet werden.

1. prüfen ob Word und damit die RTF Datei geöffnet ist
2. Falls ja soll Word beendet werden und die RTF Datei geschlossen werden (ohne speichern)
3. Dann soll der Bericht erneut geöffnet werden (mit anderen Daten) (Bericht_12)
4. Dieser Bericht soll dann mit Word als RTF Datei geöffnet werden.

Zitat von: DF6GL am Januar 12, 2021, 13:32:14Zum anderen kommt mir der Umweg über Word und die Kopiererei in eine (neue) Mail recht verquert vor.

Warum exportierst Du den Bericht nicht in eine PDF-Datei und hängst diese an eine neu generierte Mail an (und sendest sie auch gleich noch ab)?

Das mag schon sein, allerdings habe ich mir zu dieser Vorgehensweise schon meine Gedanken gemacht.

DF6GL

Hallo,

ZitatDas mag schon sein, allerdings habe ich mir zu dieser Vorgehensweise schon meine Gedanken gemacht.

Das kann ja sein, beantwortet aber meine Frage nicht.  Wie auch immer:

Du könntest in der Db mittels Button ("btnWeitermachen") und Word-Automation auf die aktuelle Word-Instanz "aufschalten" und mit SaveAs das Word-Doc sichern, wenn gewünscht, oder ansonsten verwerfen und Word  mit Quit schliessen.

Wenn Dir dieser Aufwand genügend Wert für Dich hat gegenüber einem, maximal 2 Klicks zum Beenden von Word, dann setze es so um.