Ich habe ein Problem mit der automatischen Ausführung meines Moduls. Bin neu in Access und Module, Prozeduren sind mir kein Begriff. Habe es Mal mit learning by doing probiert.
Diverse Forumbeiträge zum Thema haben mir nicht weitergeholfen.
Anforderung:
Mit einer Accessabfrage wird ein csv-Report erzeugt, der jeden Montag per E-Mail versendet werden soll.
Die Erstellung per Makro funktioniert nicht für das geforderte csv-Format (nur Excel, html, txt ist Murks).
Im Forum habe ich den Tip mit dem Modul gefunden und es funktioniert wunderbar, aber leider nur „halbautomatisch“. Es soll aber alles mit einem Click durchgeführt sein.
Zur lauft es Zeit „halbautomatisch“:
soll heißen, dass mit „click“ im Formular das Makro „Report_csv_erzeugen“ das Modul geöffnet, aber nicht ausgeführt wird. „Modul Ausführen“ gibt es leider nicht. Auch mit „Ausführen Befehl“ oder „Ausführen Code“ war ich nicht erfolgreich.
Wenn ich im geöffneten Modulfenster „F5“ drücke, wird das Modul ausgeführt. Das Ergebnis ist die erzeugte csv, im vorgegebenen Verzeichnis. Nach manuellem Schließen des Modulfensters bin ich wieder im Formular.
Wie kann ich das Modul automatisch ausführen?
Das ist das Makro und das Modul:
Schaltfläche im Formular:
Führt folgendes Makro aus:
Name des Makros: Report_csv_erzeugen
Aktion: ÖffnenModul
Modulname: Report_test
Prozedurname: Report_test
Das Makro im MS-VB-Fenster:
Private Sub Modul_ausführen_Click()
On Error GoTo Err_Modul_ausführen_Click
Dim stDocName As String
stDocName = „Report_csv_erzeugen“
DoCmd.RunMacro stDocName
Exit_Modul_ausführen_Click:
Exit Sub
Err_Modul_ausführen_Click:
MsgBox Err.Description
Resume Exit_Modul_ausführen_Click
End Sub
MS VB Editor Fenster öffnet sich:
Option Compare Database
Function Report_test()
On Error GoTo Report_test_Err
’ Erzeugen der LAN-Port-Report
DoCmd.TransferText acExportDelim, StandardOutput, „report_switch_dose“, „M:\report_switch_dose.csv“, True
Report_test_Exit:
Exit Function
Report_test_Err:
MsgBox Error$
End Function
Danke im Voarraus.