Hallo, komplette Anfängerfrage:
ich möchte die Ergebnisse einer Abfrage in mehrere unterschiedliche csv files exportieren, habe dazu einen passend aussehenden code bereits gefunden, aber jetzt stecke ich vom Ablauf her bei den Basics fest ... .
a) ich kopiere den Code in ein neues Modul (korrekt? oder muss der code an eine andere Stelle?) Oben mit der Zeile "Option Compare Database"
b) Tabelle habe ich angelegt
c) muss ich noch eine "DAO Referenz" setzen, falls ja wie, mache ich das? (habe access 2004 und 2010 zur Verfügung); ich habe Inhalte dazu gefunden, aber leider keine Anleitung für Dummies ...
d) und wie initiiere ich das Modul jetzt, so dass es ausgeführt wird ?
Tabelle und code habe ich unten angefügt.
Im voraus herzlichen Dank. Leider ist die Fragestellung wohl so Basic, dass selbst googeln nicht hilft ...
Anke
tbldata
ST SSN LASTNAME
AK 111111111 BRUCKMAN
AK 222222222 DOW
MI 333333333 LEVINSON
MN 444444444 REED
MN 555555555 URLING
Dim dbs as DAO.Database
Dim rstStates,rstOutput as DAO.RecordSet
Dim FileHandle as Integer
Set dbs = CurrentDb()
Set rstStates = dbs.OpenRecordset("SELECT DISTINCT ST FROM tblData;",dbOpenDynaset)
Do until rstStates.EOF
FileHandle = FreeFile
Open rstStates![ST] & ".csv" For Write as #FileHandle
Set rstOutput = dbs.OpenRecordset("SELECT * FROM tblData WHERE ST = '" & rstStates![ST] & "';",dbOpenDynaset)
Do until rstOutput.EOF
Write #FileHandle, rstOutput![ST], rstOutput![SSN], rstOutput![LASTNAME]
rstOutput.MoveNext
Loop
Close #FileHandle
rstStates.MoveNext
Loop
Ein Modul wird nicht ausgeführt, sondern Funktionen und Prozeduren. Das Modul ist nur ein Container für diese.
Du musst deinen Code in eine Prozedur "verpacken".
Ich empfehle dir das VBA-Tutorial (https://www.vba-tutorial.de/editor/prozedur.htm) von Martin Asal, da ist das gut und anfängerfreundlich erklärt.
Zum Hinzufügen der "DAO-Referenz" siehe: Hinzufügen von Verweisen (https://docs.microsoft.com/de-de/office/vba/language/how-to/check-or-add-an-object-library-reference)
DAO = "Microsoft Office xx.x Access database engine Object Library" (xx.x ist die jeweilige Versionsnummer)
Hallo,
im übrigen stellt Access selbst Methoden bereit um Tabellen direkt in CSV Dateien zu exportieren. Da braucht es keinen extra Modul dazu.
DoCmd.TransferText acExportDelim ....
Da sind noch weitere Parameter erforderlich. Siehe Hilfe (F1) zu TransferText.
Super, vielen Dank, dann habe ich schon meinen Lesestoff für den Sonntag Abend!!!