CSV in Acces einlesen

  • Hallo zusammen,

    kann mir einer sagen, ob Ich eine CSV Datei in Access importieren lassen kann?

    Wenn ja wie geht das, die Verbindung zu meiner DB habe Ich schon nur, im SQL BEfehl kann Ich ja schlecht sagen nimm die CSV :D

    Viele Grüße

    caran

    • Offizieller Beitrag

    Ich weiß nicht, ob es bereits Access-UDF ähnlich der Excel-UDF gibt. Aber grundsätzlich brauchst du doch aus den Daten der csv nur den INSERT-String zusammenstellen.
    - csv in ein Array lesen
    - für jeden Arrayeintrag:
    -- Zeile an Trennzeichen splitten
    -- das Splitarray enthält jetzt die Werte für jedes zugeordnete Feld
    -- nun in einer Schleife zusammenfügen: $sInsert &= INSERT ....'Feld' = 'Wert'
    Syntax sollte klar sein, hier nur grobe Vorgehensweise.

  • Hi,

    sorry das Ich so spät Antworte, also die Syntax ist mir schon klar, die Frage ist ich lese die CSV ein, von mir aus in ein Array, wie gebe Ich den
    im Insert INto ein ?

    mfg

    • Offizieller Beitrag

    wie gebe Ich den
    im Insert INto ein ?

    Meinst du, wie du den INSERT-String erstellst?
    Bsp:

  • die Access UDF brauchst du da nicht zwingend und es gibt hier im Forum auch schon paar Beiträge zum MS Access.

    Hier mal ein einfacher Insert in eine Access accdb. (Datei im Anhang)


    gruß gmmg :)

  • Sorry, aber dein Source hat zuviele Fehler. Ich dachte ich könnte einfach den Insert-Teil einfügen, die SQL-Syntax sollte wohl gleich oder doch sehr ähnlich sein. Aber bei deinem Skript müsste ich ja von vorne anfangen.
    Die ertsen Fehler die mir aufgefallen sind haben alle etwas mit String-Concatenate (&) zu tun, die habe ich noch berichtigt aber danach kommen noch 26:

  • die Query sollte so aussehen wie im Beispiel aussehen...


    Beispiel

    AutoIt
    ; schleife durch Array, Werte erzeugen und übergeben
    
    
    $sQuery = "INSERT INTO tabelle_xyz (`Feld1`,`Feld2`,`Feld3`,`Feld4`) VALUES ('" & $s_wert[1] & "', '" & $s_wert[2] & "', '" & $s_wert[3] & "', '" & $s_wert[4] & "')"

    Zum testen auch einfach mal die Query über Consolewrite($query) ausgeben lassen und den String direkt im Access testen


    gruß gmmg :)