Ausgabe Bericht in Word
Hallöschen!!!
Ich hab ne Frage, die schon oft gestellt wurde, ich aber wegen weniger VBA-Kenntnisse nicht so durchblick.
Ich möchte einen Bericht in Access via Butto in Word ausgeben. (Bitte keine Frage "Warum", soll so sein). Der Bericht ist fertig, der Button ist auch da. ABER
- ich muß nach dem Betätigen das Format auswählen und bekomme kein .doc angeboten
- diese Frage soll nicht mehr gestellt werden
Mein Code vom Button ist:
rivate Sub Ausgabe_Word_Click()
On Error GoTo Err_Ausgabe_Word_Click
Dim stDocName As String
stDocName = "001 002 Debitoren nur zum Druck"
DoCmd.OutputTo acReport, stDocName
Exit_Ausgabe_Word_Click:
Exit Sub
Err_Ausgabe_Word_Click:
MsgBox Err.Description
Resume Exit_Ausgabe_Word_Click
End Sub
Kann mir da einer behilflich sein???? Sterb nur ungern dumm. ;-)
Vielen Dank schon mal.
Sonnigen Gruß aus dem Hesse-Land
Antwort schreiben
Antwort 1 von lorf55 vom 02.04.2020, 09:25 Options
Hallo Mona,
du kannst statt .doc auch .rtf nehmen um formatierten Text auszugeben. Außerdem kannst du bei OutputTo noch angeben, ob die Anwendung sofort gestartet werden soll oder nur ausgegeben werden soll.
Private Sub Ausgabe_Word_Click()
On Error GoTo Err_Ausgabe_Word_Click
Dim stDocName As String
Dim Autostart As Boolean
Dim Tabelle As String
stDocName = "001 002 Debitoren nur zum Druck"
Autostart = True
Tabelle = "Debitoren" ' oder Abfrage
DoCmd.OutputTo acReport, Tabelle, _
acFormatRTF, stDocName, Autostart
Exit_Ausgabe_Word_Click:
Exit Sub
Err_Ausgabe_Word_Click:
MsgBox Err.Description
Resume Exit_Ausgabe_Word_Click
End Sub
Antwort 2 von Mona1980 vom 02.04.2020, 09:37 Options
Hey lorf55,
ich habe mal deinen Vorschlag übernommen, bekomme aber dann diese Meldung:
Der Berichtsname "Debitor", den Sie entweder in das Eigenschaftenfenster oder in einem Makro angegeben haben, ist falsch geschrieben oder verweist auf einen Bericht, der nicht existiert.
Nehme also an, ich muss bei
Tabelle = "Debitoren" ' oder Abfrage
Tabelle = "001 002 Debitoren nur zum Druck"
eingeben????
Sorry, falls es eine blöde Frage ist, aber ich habe Null Ahnung mit VBA.
Antwort 3 von lorf55 vom 02.04.2020, 11:42 Options
Wie heißt denn der Bericht? Trag doch einfach mal diesen Namen statt Debitoren ein.
Antwort 4 von lorf55 vom 02.04.2020, 12:01 Options
Hallo Mona,
um es noch mal ordentlich zu machen:
Die Fehlermeldung ist ja recht eindeutig. Der Bericht Debitoren existiert nicht. Also trägst du dort statt dessen deinen Berichtsnamen ein. Das könnte denn so aussehen:
Private Sub Befehl5_Click()
On Error GoTo Err_Befehl5_Click
Dim stDocName As String
Dim Autostart As Boolean
Dim Bericht As String
Bericht = "MeinBericht"
stDocName = "001 002 Debitoren nur zum Druck"
Autostart = True
DoCmd.OutputTo acReport, Bericht, _
acFormatRTF, stDocName, Autostart
Exit_Befehl5_Click:
Exit Sub
Err_Befehl5_Click:
MsgBox Err.Description
Resume Exit_Befehl5_Click
End Sub
stDocName ist nur der Name des Dokuments, das ausgegeben werden soll.
Gruß
lorf
Antwort 5 von Mona1980 vom 02.04.2020, 12:08 Options
Hallo lorf,
hab es entsprechend angepaßt. Klar ist die Fehlermeldung eindeutig, aber es hätte ja auch noch was anderes sein können.
Der Button funktioniert jetzt...ABER...er gibt es zwar in eine Datei aus, doch die öffnet sich nicht und ich weiß nicht, wo und als was er es speichert. Wie gesagt, bin absoluter VBA-Laie und vielleicht steht es ja in deinem "Befehl" drin, aber ich kann es halt nicht lesen. :-(
Wär dir für nen Tipp sehr dankbar.
Lieben Gruß
Mona
Antwort 6 von lorf55 vom 02.04.2020, 13:31 Options
Der Bericht landet im Standarddatenbankordner, meist "Eigene Dateien".
stDocName = "001 002 Debitoren nur zum Druck.RTF"
Ohne .RTF wird nur die Datei unter dem Namen gespeichert und der Aufruf von Word schlägt fehl, weil es das Format nicht erkennt, weil die Endung fehlt (Windows halt)......
Bei mir geht es jedenfalls so.
Gruß
lorf
Antwort 7 von Mona1980 vom 02.04.2020, 14:11 Options
Wieder was gelernt!!! :-)
Hab es abgeändert und schon funzt es!!!
1000 LIEBEN DANK!!!!!!!!
Gruß
Mona1980