# Acess2000 Datei.csv einlesen



## peter(R) (26 März 2009)

Ich soll da was an einer bestehenden Datenbank ändern, bin aber nicht der Datenbank Guru.
Es soll eine von Easylog erstellte csv Datei in eine Acess Datenbank eingelesen werden. Mit Excel geht das ja ganz easy. Mit csv habe ich auch nach längerem rumsuchen nix rechtes gefunden.
Hat da jemand ne Idee oder gar ein Programmstückchen als Basis zum ändern oder ne web site wo man sowas findet ???

Vorab Dank

peter(R)


----------



## Rainer Hönle (26 März 2009)

Mal so als Idee:

Über Systemsteuerung / Verwaltung / Datenquellen (ODBC) / Hinzufügen .. den Treiber für *.txt, *.csv auswählen und eine entsprechende Verknüpfung erstellen. Ggf. kann Access aus dieser dann direkt einlesen.


----------



## peter(R) (26 März 2009)

Danke für die Idee. 
Das Problem startet jetzt bei "entsprechende Verknüpfung" was wäre das ???
Desweiteren als was muss ich dann in Access importieren ?? Text ? Datenbank ??

Als Info:
Die Datenbank liegt in C:\Datenbank\Chargenverwaltung 
Tabelle heisst   "Gesamt"   da will (muss) ich reinschreiben

Die Datei aus der ich die Daten holen will 

liegt auch in C:\Datenbank  und heisst Import und wird von EasyLog erzeugt.


peter(R)


----------



## Rainer Hönle (26 März 2009)

Verknüpfung ist z.B. User-DSN hinzufügen. Dann Treiber auswählen und den Dateinamen der CSV-Datei. Mit Access sollte dann auf diesen DSN (= Datenquelle) zugegriffen werden können. An welcher Stelle klemmt es bei den Dialogen? Anmerkung: Bin allerdings nicht der Abszess-Crack ;-)


----------



## peter(R) (26 März 2009)

Abszess ist guuut !!

Also meine Datei Import.txt soll lt. Explorer jetzt tatsächlich eine ODBC Datenquelle sein.
Das Makro  hat Aktion:  
Transfer Datenbank

Transfertyp   Importieren
Datenbankformat   ODBC-Datenbank
Datenbankname    c:\Datenbank\import.txt
Objekttyp
Quelle                 c:\Datenbank\import.txt
Ziel                     Gesamt
Nur Struktur        Nein


Fehlermeldung beim Ausführen  Installierbares ISAM nicht gefunden


peter(R)


----------



## Thomas_v2.1 (26 März 2009)

Hi,
sieh dir mal diesen Teil für den CSV-Import in Excel an:
http://www.sps-forum.de/showpost.php?p=175490&postcount=5

Du müsstest nur den Excel-Teil mit objSheet... in eine SQL-Anweisung ändern, welche dir die Daten (Zeilen) dann in eine Access Tabelle einträgt.


----------



## peter(R) (27 März 2009)

So nach einigem hin und her bin ich jetzt glücklich und zufrieden.
Ein Programm namens FlowHeater macht die Arbeit für mich. Auf Knopfdruck Transfer von CSV ins Access. Das Ding ist enorm flexibel, Änderungen sind Minutensache und -evtl. wichtig für die Zukunft - es transferiert von allem möglichen in alles mögliche. Sollte also der Kunde - oder ein anderer - das Ganze mal für Oracle oder sonstwas wollen kein Problem. Mit geringstem Aufwand machbar. 
Einzelheiten unter _www._*flowheater.de*

Trotzdem Dank an Rainer und Thomas Ihr habt mich auf die richtige Spur gebracht.

peter(R)


----------



## Rainer Hönle (27 März 2009)

Danke für den Tipp


----------



## peter(R) (27 März 2009)

Davon lebt doch das Forum !!!!!

Nicht nur fragen, sondern auch anderen die Lösung zur Verfügung stellen 


peter(R)


----------



## peter(R) (30 März 2009)

Es geht noch viel einfacher.

In Access Makro erstellen

Transfer Text
Transfertyp: Import mit Trennzeichen
Spezifikation:  <leer lassen>
Tabellenname: <Name der Access Tabelle auf die Importiert erden soll>
Dateiname: <Name der durch EasyLog erzeugten Tabelle (mit Pfadnamen)>
Besitzt Feldnamen: Ja
HTML-Tabellenname: <leer lassen>
Codepage: <leer lassen>

und schon flutschts

peter(R)


----------



## Rainer Hönle (30 März 2009)

Werden dann die Feldnamen automatisch gemäß Kopfzeile angelegt? Was passiert, wenn Felddefinitionen bereits existieren und nicht übereinstimmen?


----------



## peter(R) (30 März 2009)

Die Tabelle in die importiert wird existiert schon. Man kann ja keine Datenbank ohne eine Tabelle öffnen damit gibt es dann auch schon Feldnamen.
Feldnamen müssen übereinstimmen, sonst kommt eine Fehlermeldung. <Feldname existiert nicht>.
Wenn ein Wert im Primärschlüssel auch auf der zu importierten Datei zu finden ist wird ebenfalls eine Fehlermeldung ausgegeben. Es werden die überlappenden Bereiche nicht importiert oder man kann abbrechen.

peter(R)


----------

