Hi, sieht bei dir in etwa so aus:
DoCmd.OpenReport "Berichtsname", acViewPreview
DoCmd.RunCommand acCmdOutputToText
DoCmd.Close acReport, "Berichtsname"
Und wie unschwer zu erkennen ist, befindet sich die Ausgabe
im DOS (ASCII) Textformat. Win (ANSI) Text erhälst Du
nur im RTF Format (acCmdOutputToRTF)
Das ändert sich auch nicht durch Verwendung von DoCmd.OutputTo
Die Auswahl von ANSI oder ASCII Text hast Du nur mittels Methode
DoCmd.TransferText - diese funzt aber nur mit Tabellen/Abfragen
Spezifikation:
http://support.microsoft.com/?kbid=155512
0 Problem - ich sehe erstmal 3 Möglichkeiten:
1) Drucke den Bericht über einen generischen Druckertreiber
2) Exportiere RTF und bediene dich eines Konverter (rtf2txt)
3) Exportiere den Text und konvertiere mittels API Funktion
Ich will hier nur auf 3) näher eingehen:
Private Declare Function OemToChar Lib "user32" _
Alias "OemToCharA" (ByVal lpszSrc As String, _
ByVal lpszDst As String) As Long
Private Sub convert_Click()
DoCmd.OutputTo acOutputReport, _
"Berichtsname", acFormatTXT, "c:\ascii.txt"
Dim ASCII As String, ANSI As String, result
Open "c:\ascii.txt" For Input As #1
Open "c:\ansi.txt" For Output As #2
While Not EOF(1)
Line Input #1, ASCII
ANSI = ASCII
result = OemToChar(ASCII, ANSI)
Print #2, ANSI
Wend
Close #2
Close #1
End Sub