August 03, 2021, 16:49:14

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Anfängerfrage: Wie rufe ich ein Modul auf?

Begonnen von Anke_71, Mai 15, 2021, 16:29:28

⏪ vorheriges - nächstes ⏩

Anke_71

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

PhilS

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 von Martin Asal, da ist das gut und anfängerfreundlich erklärt.

Zum Hinzufügen der "DAO-Referenz" siehe: Hinzufügen von Verweisen
DAO = "Microsoft Office xx.x Access database engine Object Library" (xx.x ist die jeweilige Versionsnummer)
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

MzKlMu

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.
Gruß
Klaus

Anke_71

Super, vielen Dank, dann habe ich schon meinen Lesestoff für den Sonntag Abend!!!