Office: (Office 2010) Acc2000

Helfe beim Thema Acc2000 in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich muss eine CSV-Datei erstellen, indem die Textfelder mit Textbegrenzungszeichen-" gekennzeichnet werden müssen und Datumfelder ohne... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Mindir, 19. September 2011.

  1. Acc2000


    Hallo zusammen,

    ich muss eine CSV-Datei erstellen, indem die Textfelder mit Textbegrenzungszeichen-" gekennzeichnet werden müssen und Datumfelder ohne Zeitangabe eingegeben werden soll.
    Wenn ich die Datumfelder über eine Abfrage umformatiere:

    Format(DeinFeld; "tt.mm.jjjj")

    Werden diese aber auch wie die Textfelder mit Textbegrenzungszeichen-" gekennzeichnet. Wie kann ich das umgehen.

    Ich importiere per Code folgender Maße:

    DoCmd.TransferText acExportDelim, "Exportspezifikation", "Abfrage", "Pfad" & Dateiname & ".csv"

    VD
    Mindir

    :)
     
  2. Hi,

    bei der Spezifikation kannst du auch angeben, ob Textwerte in Anführungszeichen engeschlossen werden sollen oder nicht. bei dir ist das wohl noch der Fall. Ändere das.

    NB: ich muss eine CSV-Datei erstellen vs. Ich importiere per Code : geht es jetzt um Import oder Export? *wink.gif*
     
    Atrus2711, 21. September 2011
    #2
  3. Hi,

    aber die Textwerte sollen in Anführungszeichen engeschlossen werden. Nur die Datumfelder nicht. Datumfelder sollen zusätzlich ohne Zeitangabe sein.

    Z.B.:
    Ich bekomme beim Export eine CSV-Format die
    entweder so aussieht:

    "Text1";"Text2";31.08.2011 0:00:00;"Text3";"Text4"

    oder über Abfrage mit Format(DeinFeld; "tt.mm.jjjj")
    so aussieht:

    "Text1";"Text2";"31.08.2011";"Text3";"Text4"

    So ist es aber gewünscht.
    "Text1";"Text2";31.08.2011;"Text3";"Text4"

    VD
    Mindir
     
  4. Acc2000

    Hi,

    durch das Format() wird das Datum zu einem Textwert und wird entsprechend behandelt. Ohne Format ist das Datum immer zeithaltig.

    Da die Access-Datumswerte immer implizit Zeitanteile (ggf. 0) enthalten und ein textliches Datum eben ein Text ist, wirst du da einen eigenen, zeilenweisen Export per VBA aufbauen müssen (Stichworte: Open #1, Print # strZeile, Close #1).

    Wobei ich nicht verstehe, warum die Uhrzeit im Datum stört. Die 8 Bytes machen den Kohl doch wohl nicht fett und lassen sich ggf. auch auf Importseite wegstrippen.
     
    Atrus2711, 21. September 2011
    #4
  5. Erstelle eine Abfrage
    Code:
    Exportiere ohne Texttrennzeichen
     
  6. Nicht gleich übertreiben.
    Gedanke: Eine CSV enthält Text. Text kann man selber erzeugen.
    Idee:
    - Man erzeugt in einer Abfrage genau die Formate, die man benötigt, also die Textwerte mit umschließenden Anführungszeichen, das Datum im passenden Format usw.
    - Mittels ADODB-Methode GetString erzeugt man aus den Abfragewerten einen zusammenhängenden String mit gewünschten Feld- und Zeilentrennern. Falls man die Feldnamen als Titelzeile benötigt, wären die am String noch zu ergänzen.
    - Mit dem erzeugten String erzeugt man die gewünschte CSV-Datei.

    Das Ganze läuft auch ganz zügig.

    //Edit: Der Weg von kama sieht einfacher aus.
     
  7. Vielen Dank!!

    Mit dem eigen formatierten Abfrage und dann ohne Texttrennzeichen exportiert. Hat super geklappt *grins

    VG
    Mindir
     
Thema:

Acc2000

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden