Wie Exportiere ich eine Access-Datenbank in ein CSV-format?
Ich habe eine Access Datenbank, die ich möchte eine Textdatei exportieren. Ich habe ein schema definiert, in Access und derzeit ein makro verwenden, um es zu exportieren. Ich möchte mit VBScript immer Anhängen das Ergebnis einer Abfrage in der gleichen Datei. Wenn es nicht möglich ist die Nutzung meiner angegebenen schema, nur muss ich die Felder werden durch Kommas getrennt und eingeschlossen "
, und die text-Datei muss im UTF-8
format.
Fand ich den folgenden code-snippet, aber ich bin nicht sicher, wie Sie es annehmen für meine Bedürfnisse.
db = "C:\Docs\LTD.mdb"
TextExportFile = "C:\Docs\Exp.txt"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open _
"Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & db
strSQL = "SELECT * FROM tblMembers"
rs.Open strSQL, cn, 3, 3
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(TextExportFile, True)
a = rs.GetString
f.WriteLine a
f.Close
Wollen Sie zum exportieren aller Tabellen in der Datenbank oder nur bestimmte Tabellen? Es könnte helfen, wenn das Ziel der Aufgabe bekannt waren.
Eine ganze Tabelle, nur select * from Tabelle.
Ich so etwas Lesen und sofort Fragen warum, die Sie brauchen. Meine Vermutung ist, dass Ihr Ziel für die text-Datei möglicherweise bessere Lösungen für dieses problem.
Eine ganze Tabelle, nur select * from Tabelle.
Ich so etwas Lesen und sofort Fragen warum, die Sie brauchen. Meine Vermutung ist, dass Ihr Ziel für die text-Datei möglicherweise bessere Lösungen für dieses problem.
InformationsquelleAutor Jason Stanthorp | 2009-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
RICHTUNG (2)
Dies ist etwas, VBA, ausgeführt von der Access-Datenbank:
Dies ist die gleiche Sache, aber in VBScript unter Verwendung von DAO:
RICHTUNG (1)
Schlage ich vor, eine komplett andere Richtung, und das ist es, lass MySQL die Arbeit machen:
MySQL Migration Toolkit
Getestet habe ich diese gegen die Datenbank, und es wird korrekt importiert, nur ein paar Minuten dauert, und erzeugen alle Arten von wiederverwendbaren Skripte und so weiter.
Wenn Sie Probleme mit der Einrichtung von MySQL, möchten Sie vielleicht, um zu Lesen:
9.1.4. Connection Character Sets and Collations
Richtung (0)
UMSCHREIBEN (2)
Ja, siehe mein edit.
Ich bin nicht sicher, wie ty die zwei Beispiele zusammen.., wie geben Sie die Abfrage, und wo soll es geschrieben werden?
Ich habe neu geschrieben, mein Beispiel.
Sehr schön 🙂 Aber es wirft eine Fehlermeldung, dass die csv-Datei wird nicht gefunden. Ich bin nicht sicher, warum dies sein sollte, als Sie es nicht finden können, etwas, das noch nicht erstellt ist?
InformationsquelleAutor Fionnuala
Vielleicht der einfachste Weg ist die Verwendung [...].Dateiname Ansatz:-
"FileSystemObject" wird Ihnen nicht helfen, da es nicht UTF-8. UTF-8 wird erreicht durch die Angabe CharacterSet=65001 (65001 ist die UTF-8-Zeichensatz). Hinweis: die erzeugte Datei enthält keine UTF-8-BOM, aber das schema.ini-Datei erstellt werden, beachten Sie, dass das CharacterSet ist UTF-8.
Beachten Sie dies nicht erreichen, Ihren Anhängen Anforderungen sind Sie sicher, dass ohnehin sinnvoll, Sie nicht am Ende mit viel Dubletten?
Bearbeiten:
Oben angepasst, enthalten die UTF-8-Anforderung. Sie können einfach Anhängen, so etwas wie das Datum, um mehrere snapshot-Dateien für die Tabelle.
Ich habe optimiert die Antwort die Lösung der UTF-8-Anforderung. Sie können schreiben Sie einfach einen eindeutigen Dateinamen jedes mal. Beachten Sie, dass wenn Sie subsquently eine Datei löschen, müssen Sie zum aktualisieren der shema.ini. Alternativ können Sie möglicherweise verwenden Sie einen Text-provider-DROP die Datei, die aktualisiert das schema.
Bitte entschuldigen Sie mich, indem Sie Ihre code zu meinem post, ist es zu veranschaulichen, die neuen Datei-Namen für die OP. Ich bestätigte die Quelle.
Vielen Dank Anthony.
InformationsquelleAutor AnthonyWJones
Habe ich nummeriert die Zeilen für die Referenz.
Linie 1 " - die aktuelle access-Datenbank-Datei, mit der Sie arbeiten. in diesem Fall ist es, LTD.mdb
Linie 2 - der name der Datei, die Sie gehen zu schreiben/Anhängen. Es ist Exp.txt
Linie 3 - ist die sql-Anweisung, die verwendet wird, die Daten zu erfassen.
Linie 4 - ist der Befehl zum öffnen der Datei zu schreiben.
Ändern Sie Zeile 2 der name der Datei, die Sie möchten.
Ändern Sie Zeile 3 der Tabelle, die Sie verwenden möchten. Select * alle Spalten verwendet, wenn Sie wollen nur ein paar identifizieren Sie mit Namen. select col1, col2 ... von mytable. Sie möchten sich mit where-Klauseln auch.
Ändern Sie Zeile 4 von CreateTextFile, OpenTextFile und verwenden ForAppending Anhängen.
MSDN VBA
Ich zeichne eine leere, die auf die Formatierung der Zeile. Einer der Wege, die ich benutze, ist ändern Sie die select-Anweisung Kommas. Beispiel select col1 & "," & col2 from mytable.
Für UTF-8 (ich habe nicht ein lauffähiges Beispiel) Versuchen:
UTF-8 VBA
InformationsquelleAutor jim
In diesem Fall hätte er, um eine Schleife durch jedes Feld jedes Datensatzes und erstellen Sie die csv-Datei der lange Weg. Oder nicht setzen von Kommas in der Datenbank.
InformationsquelleAutor Tester101