Automatisierte Verknüpfung von .csv Dateien

Hallo Leute,

ich bin völlig neu auf dem Gebiet von Access und versuche mich da gerade bissl einzuarbeiten. Vielleicht kann mir ja jemand hier ein Stück weiterhelfen :smile:
Also…Ich soll eine Datenbank in Access erstellen, die auf Tabellen basiert.
Regelmäßig werden .csv-Dateien mit Messdaten gespeichert, die ich ins Access einbinden möchte. Über Tabelle verknüpfen und dann .csv einfügen hab ich schon hinbekommen, auch die als Tabelle darstellen zu lassen.

Mein Frage ist, gibt es einen Weg dies automatisiert hinzubekommen. Also immer wenn eine neue .csv-Datei da ist, diese ins Access zu bekommen, ohne das man das immer händisch selber machen muss?

Vielen vielen Dank schonmal

Niesel

Hallo Niesel,

ja das kann man schon bewerkstelligen.
Man kann die Verknuepfung via VBA Code dynamisch setzen.
Es gibt fuer das TabelDef-Objekt die Eigenschaften „SourceTableName“ und „ConnectionString“

SourceTableName ist i.A. der externe Dateiname
Den Connectionstring muss man sich dann halt zusammenbasteln.
Das sieht z.B. so aus:
„Text;DSN=TestCSV Verknüpfungsspezifikation;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=850;DATABASE=C:\Temp;TABLE=TestCsv#csv“

Wie der ConnectionString in deinem Fall auszusehen hat kann du ueber die Eigenschaft der verkn. Tabelle einsehen.
Deine Tabelle manuell verknuepfen, dann in der Entwurfsansicht oeffnen, rechte Maustatse „Eigebschaften“->"Beschreibung.

zum setzen der Eigenschaften via VBA kannst du folgenden Code verwenden:

Dim fs As Object
Dim fld As ADODB.TableDef
Dim importName as String
Dim cnnString as String

Set fs = Application.FileDialog(3)
fs.Title = „Quelldatei wählen“

fs.Filters.Add „CSV Text“, „*.csv“, 1

fs.Show
If fs.SelectedItems.Count [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Peter,

vielen, vielen Dank schonmal. Kannst du mir kurz erklären was das TabelDef-Objekt ist?

Es gibt fuer das TabelDef-Objekt die Eigenschaften
„SourceTableName“ und „ConnectionString“

Hallo
ein TableDef Object stellt die Beschreibung einer Tabelle/Verknuepfung
der
Access-DB dar, alle Tabellen/Verknuepfungen sind in CurrentDB.TableDef aufgelistet. Die einzelne Verknuepfung wird mit
CurrentDB.Tabeldefs(„name“) referenziert (name ist hier dann der
gleiche wie auch in DB-FFenster bei Tabellen angezeigt wird).
Man kann Tabellendefinietioonen mittels VBA manipulieren, Loeschen,
anlegen etc. Auch kann man mittels des TableDef Objekts an eine
bestehende Tabelle neue Felder dynamisch anfuegen

Ansonsten ist dies in der VBA Hilfe recht odentlich erklaert.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

also hab mich nun ein bisschen in das Thema eingelesen, aber steh immer noch in den Anfängen von VBA.
Kannst du mir kurz ne Starthilfe geben, wie ich die ganze Sache am einfachsten beginne.

Lieben Dank

Niesel