Neuigkeiten:

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

Mobiles Hauptmenü

Aus einer Abfrage eine CSV Datei erstellen

Begonnen von Estadl, August 25, 2026, 13:41:22

⏪ vorheriges - nächstes ⏩

Estadl

Hallo, habe schon einiges versucht, schaffe es einfach nicht auch nicht mit Hilfe von KI. Excel Export funktioniert aber nicht als CSV Export, kann mir jemand weiterhelfen. Danke.

SELECT
    Fahrer.Personalnummer,
    Fahrer.[Fahrer-Name],
    [Alle Verkaufsdaten].Datum,
    Sum([Alle Verkaufsdaten].EUR) AS SummevonEUR,
    Fahrer.Betrieb
FROM
    (
        [Alle Verkaufsdaten]
        INNER JOIN Fahrer ON [Alle Verkaufsdaten].Verkäufer = Fahrer.[Fahrer-Nummer]
    )
    INNER JOIN Linien ON [Alle Verkaufsdaten].Linie = Linien.Lnr
GROUP BY
    [Alle Verkaufsdaten].JJMM,
    Fahrer.Personalnummer,
    Fahrer.[Fahrer-Name],
    [Alle Verkaufsdaten].Verkäufer,
    [Alle Verkaufsdaten].Datum,
    Fahrer.Betrieb,
    Linien.Abrechnung,
    Fahrer.Lohnverrechnung,
    [Alle Verkaufsdaten].Zahlungsart
HAVING
    (
        ((Fahrer.Lohnverrechnung) = True)
        AND (([Alle Verkaufsdaten].Zahlungsart) = "Bargeld")
    )
ORDER BY
    Fahrer.[Fahrer-Name];

Bekomme den Fehler: 3441   Das Feldtrennzeichen für die angebene Textdatei entspricht dem Dezimaltrennzeichen oder den Texttrennzeichen


Estadl

Anbei noch der Code für den Export


ZitatPrivate Sub Befehl196_Click()

DoCmd.TransferText _
    TransferType:=acExportDelim, _
    TableName:="Bargeldeinnahmen Lohnverrechnung", _
    FileName:="C:\Temp\MeineDatei.csv", _
    HasFieldNames:=True
   
End Sub


andyfau

Hallo,

um Tabellen formatiert, z.B. als csv, was ja nichts anderes als eine Textdatei ist, auszugeben, erstelle ich mit dem Exportassistenten einen entsprechenden Export und speichere ihn mit einem beliebigen Namen ab. Diesen Export kann ich dann beliebig über VBA aufrufen:

DoCmd.RunSavedImportExport "MeinExport"
Beste Grüße
Andreas

Knobbi38

Hallo,

die Fehlermeldung kann mehrere Ursachen haben. Entweder stimmt der Text der Meldung, was bedeuten würde, dass du z. B. ein Komma als Feldtrennzeichen verwenden möchtest. Dies kollidiert jedoch in der Regel mit den deutschen Ländereinstellungen (Dezimaltrennzeichen = Feldtrennzeichen ist nicht erlaubt!), oder es existiert schlichtweg keine Standard-Import-/Export-Spezifikation.

Hier die Schritte, um eine fehlende Import-/Exportspezifikation zu erstellen:

Zitat von: gemini1. ASSISTENTEN STARTEN
----------------------
* Öffnen Sie Ihre Access-Datenbank.
* Wechseln Sie oben auf die Registerkarte "Externe Daten".
* Klicken Sie auf "Neue Datenquelle" -> "Aus Datei" -> "Textdatei".
* Wählen Sie über "Durchsuchen" IRGENDEINE CSV-Datei aus (diese dient nur als Vorlage für die Struktur).
* Klicken Sie auf "OK".

2. SPEZIFIKATION ANPASSEN & SPEICHERN
-------------------------------------
* Wählen Sie im ersten Fenster "Mit Trennzeichen" aus.
* Klicken Sie sofort unten links auf die Schaltfläche "Erweitert...".
* Stellen Sie Ihr Feldtrennzeichen (z. B. Semikolon) und das Textqualifikationsmerkmal ein.
* Prüfen Sie unten in der Tabelle die Datentypen für Ihre zukünftige Datei.
* Klicken Sie rechts auf "Speichern unter...".
* Vergeben Sie Ihren Wunschnamen (z. B. "SpätererExportSpez") und klicken Sie auf "OK".
* Schließen Sie das Erweiterungsfenster mit einem Klick auf "OK".

3. VORGANG ABBRECHEN
--------------------
* Sie befinden sich nun wieder im normalen Assistenten-Fenster.
* Klicken Sie unten rechts auf "Abbrechen".

ERGEBNIS:
Der Datenimport/-export wird nicht ausgeführt, aber Ihre Spezifikation ist nun sicher im Hintergrund der Datenbank gespeichert und kann später jederzeit (z. B. per VBA) aufgerufen werden.


und dann kannst du diese beim Export angeben:
MS ACCESS 2010 - CSV EXPORT PER VBA
====================================

' Kopieren Sie diesen Code in Ihr Access-VBA-Modul:

Sub TabelleAlsCsvExportieren()
    On Error GoTo FehlerHandler

    Dim strTabelle As String
    Dim strSpezifikation As String
    Dim strPfad As String

    ' HIER ANPASSEN:
    strTabelle = "IhreTabelle"                 ' Name der Access-Tabelle
    strSpezifikation = "SpätererExportSpez"    ' Name Ihrer gespeicherten Spezifikation
    strPfad = "C:\DeinPfad\ExportDatei.csv"    ' Zielpfad und Dateiname

    ' Der Export-Befehl (acExportDelim steht für Text/CSV mit Trennzeichen)
    ' Das finale "True" exportiert die Feldnamen in die erste Zeile
    DoCmd.TransferText acExportDelim, strSpezifikation, strTabelle, strPfad, True

    MsgBox "Export erfolgreich abgeschlossen!", vbInformation, "Erfolg"

Exit_Sub:
    Exit Sub

FehlerHandler:
    MsgBox "Fehler beim Export: " & Err.Description, vbCritical, "Fehler " & Err.Number
    Resume Exit_Sub
End Sub
Hier für eine Tabelle, geht natürlich auch mit Abfragen.

Knobbi38