[Access] Protokoll mit Makro schreiben

kalli45

Grünschnabel
Hallo,

ich habe folgendes Problem:
verschiedene csv-Datein sollen in eine Access 2003 Datenbank eingelesen werden und danach sollen mehrere Queries hintereinander ausgeführt werden.

Das ist soweit noch nicht das Problem es mit VBA zu lösen über TransferText und Excecute.

Leider müsste mir das Makro auch noch eine Log-Datei schreiben, mit folgenden Inhalten:
Wann wurde es gestartet, welche Queries wurden ausgeführt mit welchem Ergebniss (wie viele Daten wurden in die Tabelle geschrieben, gelöscht oder upgedatet), usw.

Weiß jemand wie ich dem Excecute bzw. TransferText Befehl diese Dinge entlocke oder wo ich eine Anleitung finde?

Vielen Dank für Eure Hilfe.
 
Also wenn du es mit VBA löst, dann bestimmst du damit dch selber welche Abfrage ausgeführt werden und welche nicht. Somit wäre dieses Problem doch schon gelöst.

Welche Daten neu eingetragen, geupdated oder gelöscht wurden, kannst du rauskriegen indem du RecordsAffected verwendest. Ein Beispiel dazu findest du hier.
 
Für Log-Dateien bieten sich stinknormale Textdateien an.
Siehe hierzu die FreeFile, Open, Print und Close-Funktion

Du könntest es z.B. So aufbauen:
Visual Basic:
'Hier Code zum importieren der CSV's
Datei=FreeFile

Open Pfad & "\AccessImport.log" For Output as #Datei

StartQuery=Now()
Print #Datei, StartQuery
'Hier Code um Query1 auszuführen
Print #Datei, RecordsAffected
EndQuery=Now()
Print #Datei, EndQuery
'Hier weiterer Code für die anderen Queries, oder vielleicht sogar in einer Schleife
Close #Datei
 
Vielen Dank für den Tipp mit RecorsEffected und den Quellcode, werd ihn nächste Woche gleich mal in der Arbeit ausprobieren.

@tombe:
Also wenn du es mit VBA löst, dann bestimmst du damit dch selber welche Abfrage ausgeführt werden und welche nicht. Somit wäre dieses Problem doch schon gelöst.

Ja das stimmt, dass ich mit VBA selber bestimmen kann was ich mache. Leider will unsere Aufsicht bzw. Revision, sowas sehen wie
Abfrage x wurde um y ausgeführt und hat 20 Datensätze eingefügt, soviele gelöscht usw.
Und hier fing ja mein Problem leider an, dass ich nicht wusste wie ich das anstelle, aber eure Beiträge haben mir schon sehr weitergeholfen, Danke dafür :D
 
Du kannst ja in die Log-Datei erklärenden Text mit reinschreiben, da du ja derjenige bist, der weiss, ob gerade eine Lösch-, Aktualisierungs- oder Hinzufüge-Abfrage ausgeführt wird
 
Zurück