Aus Access Tabelle oder Abfrage direkt als Textdatei mit Semikolon als Feldtrenner exportieren
Habe eine kleine Frage an Access Experten.
Ich möchte aus Access 2003 eine Tabelle oder eine Abfrage direkt als txt Datei exportieren.
Dabei soll für jeden Zeilensatz (250) Spalten eine Zeile in der TXT Datei erstellt werden.
Der Trenner der Felder soll ein Semikolon sein.
Ich verwende kein Formular und auch keinen Bericht.
Das ganze würde ich gerne mit einem Makro durchführen.
Wie kann ich das machen?
verkürzetes Beispiel:
Meine Access Tabelle hat den Namen xyz, mit 10 Spalten Feld1,Feld2, ..., Feld10
Alle Felder sind Textfelder
Der Export der soll als TXT Datei den Namen xyz.txt haben und auf C:\temp gespeichert werden.
Wie geht das?
Gruß viking
Ich möchte aus Access 2003 eine Tabelle oder eine Abfrage direkt als txt Datei exportieren.
Dabei soll für jeden Zeilensatz (250) Spalten eine Zeile in der TXT Datei erstellt werden.
Der Trenner der Felder soll ein Semikolon sein.
Ich verwende kein Formular und auch keinen Bericht.
Das ganze würde ich gerne mit einem Makro durchführen.
Wie kann ich das machen?
verkürzetes Beispiel:
Meine Access Tabelle hat den Namen xyz, mit 10 Spalten Feld1,Feld2, ..., Feld10
Alle Felder sind Textfelder
Der Export der soll als TXT Datei den Namen xyz.txt haben und auf C:\temp gespeichert werden.
Wie geht das?
Gruß viking
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 152854
Url: https://administrator.de/forum/aus-access-tabelle-oder-abfrage-direkt-als-textdatei-mit-semikolon-als-feldtrenner-exportieren-152854.html
Ausgedruckt am: 10.01.2025 um 11:01 Uhr
16 Kommentare
Neuester Kommentar
Hallo zusammen,
ich bin neu im Forum und hoffe, es ist in Ordnung, dass ich keinen neuen Thread aufmache, sondern meine Fragen an diesen bestehenden, ähnlichen Thread anhänge. Ich lese bereits einige Zeit still mit und habe auch schon einige Antworten zur Lösung von einiger meiner Aufgaben hier im Forum gefunden.
Ich arbeite im Einkauf eines kleinen Maschinenbauunternehmens und nutze Access, um Daten über eine ODBC-Datenverbindung von der MS-SQL-Datenbank des ERP-Systems auszuwerten.
Ich benötige die Zeichnungsnummern für die Zusammenstellung von Zeichnungen zu einer Bestellung in einer .txt-Datei und bitte um Eure Unterstützung. Die folgenden Schritte habe ich bereits gemacht.
Die folgende einfache Access-Abfrage gibt die Zeichnungsnummern von Bestellpositionen einer bestimmten Bestellung zurück:
Ein Beispiel des Ergebnisses meiner Access-Abfrage zeigt der folgende Screenshot:
Dieses Abfrageergebnis soll ohne die Spaltenüberschrift "Zeichnung" in eine .txt-Datei exportiert werden. Dazu habe ich in Access ein Makro mit Hilfe des Makro-Assistenten erstellt:
Die Funktion "Exportieren mit Formatierung" gibt folgendes Ergebnis zurück:
Die Datei darf aber weder die "Striche" noch die "Überschrift Zeichnung" enthalten. Das Ergebnis muss wie folgt aussehen:
Wer kann einem Anfänger Tipps geben, wie ich das gewünschte Ergebnis erzielen kann? VBA-Kenntnisse sind leider 0 vorhanden.
Vielen Dank.
Role
ich bin neu im Forum und hoffe, es ist in Ordnung, dass ich keinen neuen Thread aufmache, sondern meine Fragen an diesen bestehenden, ähnlichen Thread anhänge. Ich lese bereits einige Zeit still mit und habe auch schon einige Antworten zur Lösung von einiger meiner Aufgaben hier im Forum gefunden.
Ich arbeite im Einkauf eines kleinen Maschinenbauunternehmens und nutze Access, um Daten über eine ODBC-Datenverbindung von der MS-SQL-Datenbank des ERP-Systems auszuwerten.
Ich benötige die Zeichnungsnummern für die Zusammenstellung von Zeichnungen zu einer Bestellung in einer .txt-Datei und bitte um Eure Unterstützung. Die folgenden Schritte habe ich bereits gemacht.
Die folgende einfache Access-Abfrage gibt die Zeichnungsnummern von Bestellpositionen einer bestimmten Bestellung zurück:
SELECT dbo_BESTELLUNGPOS.ZEICHNUNG
FROM dbo_BESTELLUNGPOS
WHERE (((dbo_BESTELLUNGPOS.BESTELLUNG) Like [Bitte Bestellnummer eingeben:]))
ORDER BY dbo_BESTELLUNGPOS.ZEICHNUNG;
Ein Beispiel des Ergebnisses meiner Access-Abfrage zeigt der folgende Screenshot:
Dieses Abfrageergebnis soll ohne die Spaltenüberschrift "Zeichnung" in eine .txt-Datei exportiert werden. Dazu habe ich in Access ein Makro mit Hilfe des Makro-Assistenten erstellt:
Die Funktion "Exportieren mit Formatierung" gibt folgendes Ergebnis zurück:
Die Datei darf aber weder die "Striche" noch die "Überschrift Zeichnung" enthalten. Das Ergebnis muss wie folgt aussehen:
Wer kann einem Anfänger Tipps geben, wie ich das gewünschte Ergebnis erzielen kann? VBA-Kenntnisse sind leider 0 vorhanden.
Vielen Dank.
Role
ich bin neu im Forum und hoffe, es ist in Ordnung, dass ich keinen neuen Thread aufmache,
Oh ohKeine Takeovers. Versuche nicht, Beiträge anderer Autoren mit Ihren Fragen zu anderen Themen zu übernehmen. Eröffne lieber einen neuen eigenen Beitrag.
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="MyQueryTable", SpecificationName:="MyExportSpec", FileName:="C:\export.txt",HasFieldNames:=False
"Table name"
Schreibfehler. Gehört zusammengeschrieben.
Hallo zusammen,
@ Bangalore: Vielen Dank für die Anmerkungen zu meinem Post und die Unterstützung.
Mir ist leider nicht klar, wo ich die Anweisung
eintragen muss.
Habe mein Makro in Visual Basic konvertiert und die Befehlszeile wie folgt eingefügt:
Nach dem Speichern wurde unter Access-Objekte "Module" der Eintrag "Konvertiertes Makro -m_Zeichnungen_Bestellung" angelegt.
Dieses in der Entwurfsansicht geöffnet und mit "F5" ausgeführt erzeugt die Meldung "Das Feldtrennzeichen für die angegebene Textdatei entspricht dem Dezimaltrennzeichen oder Texttrennzeichen."
Bin leider komplett planlos.....
@ Bangalore: Vielen Dank für die Anmerkungen zu meinem Post und die Unterstützung.
Mir ist leider nicht klar, wo ich die Anweisung
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="MyQueryTable", FileName:="C:\export.txt",HasFieldNames:=False
Habe mein Makro in Visual Basic konvertiert und die Befehlszeile wie folgt eingefügt:
Option Compare Database
'------------------------------------------------------------
' m_Zeichnungen_Bestellung
'
'------------------------------------------------------------
Function m_Zeichnungen_Bestellung()
On Error GoTo m_Zeichnungen_Bestellung_Err
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="qry Zeichnungen_Bestellung", FileName:="c:\Users\slro\!slro\miro\Zeichnungen\Source.txt", HasFieldNames:=False
m_Zeichnungen_Bestellung_Exit:
Exit Function
m_Zeichnungen_Bestellung_Err:
MsgBox Error$
Resume m_Zeichnungen_Bestellung_Exit
End Function
Dieses in der Entwurfsansicht geöffnet und mit "F5" ausgeführt erzeugt die Meldung "Das Feldtrennzeichen für die angegebene Textdatei entspricht dem Dezimaltrennzeichen oder Texttrennzeichen."
Bin leider komplett planlos.....
Export einmalig über die GUI ausführen unter Tab > Externe Daten > Textdatei. Am Ende dann diese Spezifikation unter einem Namen speichern z.B. "MyExportSpec". Das dann in der DoCMD Zeile zusätzlich mit angeben mit SpecificationName:="MyExportSpec"
Will mans manuell ohne die o.g. Funktion machen geht das natürlich auch, Tabelle, Dateiname und Spaltenname einfach nach Bedarf anpassen.
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="qry Zeichnungen_Bestellung", FileName:="c:\Users\slro\!slro\miro\Zeichnungen\Source.txt", SpecificationName:="MyExportSpec"
Sub Export()
Dim rec As Recordset, fso as Object, objFile as Object
Set rec = CurrentDb.OpenRecordset("qry Zeichnungen_Bestellung")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFile = fso.OpenTextFile("D:\export.csv", 2, True)
rec.MoveFirst
While Not rec.EOF
objFile.WriteLine rec.Fields("Zeichnung").Value
rec.MoveNext
Wend
objFile.Close
End Sub
Bin leider komplett planlos.....
Oha, sehr schlechte Grundvoraussetzung! Dann solltest du die Aufgabe wohl jemandem übertragen der Ahnung davon hat oder dich besser einarbeiten.
Was muss ich über den Tab > Externe Daten > Textdatei exportieren?
Wenn ich meine Abfrage "qry Zeichnungen_Bestellung" exportiere, bekomme ich das Ergebnis meiner Abfrage in einem Format, das beim Export nicht funktioniert:
| ZEICHNUNG |
| 05.11.00.10-42 |
| 06.31.12.02-22 |
| 10.26.00.08-30 |
| 12.00.00.18-2A |
| 12.00.00.34-43 |
| 12.00.00.36-40 |
| 12.00.00.53-32 |
| 12.00.00.A8-40 |
Exportiere ich das VBA-Modul -m_Zeichnungen_Bestellung sieht das Ergebnis folgendermaßen aus:
Attribute VB_Name = "Konvertiertes Makro- m_Zeichnungen_Bestellung"
Option Compare Database
'------------------------------------------------------------
' m_Zeichnungen_Bestellung
'
'------------------------------------------------------------
Function m_Zeichnungen_Bestellung()
On Error GoTo m_Zeichnungen_Bestellung_Err
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="qry Zeichnungen_Bestellung", FileName:="c:\Users\slro\!slro\miro\Zeichnungen\Source.txt", SpecificationName:="MyExportSpec"
m_Zeichnungen_Bestellung_Exit:
Exit Function
m_Zeichnungen_Bestellung_Err:
MsgBox Error$
Resume m_Zeichnungen_Bestellung_Exit
End Function
Das kann auch nicht die Information sein, die in der Datei "MyExportSpec" stehen muss.
Wenn ich meine Abfrage "qry Zeichnungen_Bestellung" exportiere, bekomme ich das Ergebnis meiner Abfrage in einem Format, das beim Export nicht funktioniert:
| ZEICHNUNG |
| 05.11.00.10-42 |
| 06.31.12.02-22 |
| 10.26.00.08-30 |
| 12.00.00.18-2A |
| 12.00.00.34-43 |
| 12.00.00.36-40 |
| 12.00.00.53-32 |
| 12.00.00.A8-40 |
Exportiere ich das VBA-Modul -m_Zeichnungen_Bestellung sieht das Ergebnis folgendermaßen aus:
Attribute VB_Name = "Konvertiertes Makro- m_Zeichnungen_Bestellung"
Option Compare Database
'------------------------------------------------------------
' m_Zeichnungen_Bestellung
'
'------------------------------------------------------------
Function m_Zeichnungen_Bestellung()
On Error GoTo m_Zeichnungen_Bestellung_Err
DoCmd.TransferText Transfertype:=acExportDelim, TableName:="qry Zeichnungen_Bestellung", FileName:="c:\Users\slro\!slro\miro\Zeichnungen\Source.txt", SpecificationName:="MyExportSpec"
m_Zeichnungen_Bestellung_Exit:
Exit Function
m_Zeichnungen_Bestellung_Err:
MsgBox Error$
Resume m_Zeichnungen_Bestellung_Exit
End Function
Das kann auch nicht die Information sein, die in der Datei "MyExportSpec" stehen muss.
Was muss ich über den Tab > Externe Daten > Textdatei exportieren?
Deine Abfrage! Am Ende des Vorgangs kommt ein Button "Erweitert" indem man einen Namen für diesen Export vergeben kann! Dieser Name ist der Name der Export-Spezifikation und kommt dann in die o.g. Codezeile! Ist das so schwierig zu verstehen? Muss ich wieder Bildchen posten?Wenn man sich dann auch mal die Systemtabellen anzeigen lässt kann man sich die angelegte Spezifikation auch in einer Tabelle anzeigen lassen:
So wenn's jetzt nicht klar ist dann wes ich auch ned was ich mit dir noch machen soll.
Bis denne, tschö mit ö...
Hallo Bangalore,
vielen Dank für Deine Rückmeldung. Leider helfen mir die Bildchen nicht weiter.
Du schreibst auf meine Frage Was muss ich über den Tab > Externe Daten > Textdatei exportieren?
Deine Abfrage. Deine Screenshots zeigen aber Tabelle1, keine Abfrage.
Ist meine Annahme richtig, dass meine Abfrage eine Tabellenerstellungsabfrage sein muss, deren Ergebnis in eine Tabelle geschrieben werden muss? Wenn ich die erstellte Tabelle dann über Externe Daten - Textdatei exportieren möchte, öffnet sich folgendes Dialogfenster:
In diesem Dialogfeld gibt es bei mir leider keine Schaltfläche Erweitert.
Vielen Dank!
vielen Dank für Deine Rückmeldung. Leider helfen mir die Bildchen nicht weiter.
Du schreibst auf meine Frage Was muss ich über den Tab > Externe Daten > Textdatei exportieren?
Deine Abfrage. Deine Screenshots zeigen aber Tabelle1, keine Abfrage.
Ist meine Annahme richtig, dass meine Abfrage eine Tabellenerstellungsabfrage sein muss, deren Ergebnis in eine Tabelle geschrieben werden muss? Wenn ich die erstellte Tabelle dann über Externe Daten - Textdatei exportieren möchte, öffnet sich folgendes Dialogfenster:
In diesem Dialogfeld gibt es bei mir leider keine Schaltfläche Erweitert.
Vielen Dank!
Beitrag noch mal ganz langsam lesen dann findest auch du die Schaltfläche!
Am Ende des Vorgangs kommt ein Button "Erweitert"
Echt krass hier, noch nicht mal die Beiträge vollständig lesen. Hier muss man echt den Löffel bis ans Zäpfchen schieben ....🙈💊.