2017-07-13 2 views
0

Ich habe eine CSV-Datei, die eine Ausgabe von einem Tool ist, und ich muss bestimmte Daten aus dieser Datei lesen (nur B3 und dann von A13 bis C17, es wird immer das gleiche sein). Danach muss es in eine MS-Access-Tabelle importiert werden. Gibt es eine Funktion, die ich dazu benutzen kann, die ich dann hinter einer Taste einstellen kann, damit sie benutzerfreundlich ist?Importieren von spezifischen Daten aus CSV-Datei in MS Access

+0

_A13 bis C17_ ist ein Excel-Bereich. Eine CSV-Datei ist im Grunde eine Textdatei. Wenn Sie nur einen bestimmten Bereich in Excel benötigen, können Sie den CSV in Excel konvertieren und den Bereich importieren (oder mit diesem verknüpfen). Andernfalls müssen Sie den gesamten CSV importieren. – marlan

+0

Die wahrscheinlich einfachste Lösung (anstatt sie in eine Tabelle zu konvertieren und dann spezifische Spalten von dort zu importieren) besteht darin, 'DoCmd.TransferText' zu verwenden, um das gesamte Blatt zu importieren und dann entweder die nicht benötigten Spalten zu löschen oder die benötigten Spalten zu kopieren eine Tabelle und lösche die alte Tabelle. –

Antwort

0

Nachdem Sie die Datei in Excel konvertieren (SaveAs -> Excel-Arbeitsmappe), diese Codezeile hinter einer Schaltfläche Zugriff auf die Daten zu importieren:

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, YourTableName, YourFileName, False, "B3" 
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, YourTableName, YourFileName, False, "A13:C17" 

Sobald die Daten in Access ist, Du kannst alles damit machen.
Sie finden here Hilfe auf der TransferSpreadsheet Funktion.

Sie können das Objekt Excel.Application verwenden, um CSV nach Code in Excel zu konvertieren.

+0

Danke für Ihre Antwort Ich habe meinen Code funktioniert an dem Punkt, wo es eine CSV-Datei und konvertiert es in eine Excel-Datei und beginnt zu importieren es das Problem definiert jede Zelle das Format, das Sie gaben einen Fehler, der sagt "B3" kann nicht gefunden werden. Ich schaute mich hier um und sah einen ähnlichen Beitrag, der sagte, ich versuche, den Bereich zu benennen und ihn dann anzurufen, kann aber nichts von der Zugriffsseite finden, oder ist es möglich, eine Zelle zu referenzieren, ohne sie zu benennen? Danke nochmal für den Hinweis bis jetzt – Speedy

Verwandte Themen