2011-01-14 4 views
1

Ich benötige einen Zugriffsbericht, um eine CSV-Datei als RecordSource zu verwenden.Verwenden einer CSV/Text-Datei als RecordSource für einen Bericht

Ich habe viele Dinge gesucht und ausprobiert, aber ich habe keine Möglichkeit gefunden, dies zu erreichen. Eine temporäre Tabelle in einer anderen Datenbank ist nicht eine Option.

Ich habe versucht, ein DAO zu verwenden RecordSet, aber während ich die RecordSet ganz gut lesen kann ich es als Bericht nicht einstellen RecordSet und ich kann nicht seine Name als RecordSource Property verwenden, da beiden Ansätze zu einem Fehler führen.

Bitte helfen Sie mir einen Weg zu finden!

Antwort

2

ich die Record Ihres Berichts, verwenden Sie den IN-Operator in der FROM-Klausel eine Verbindungszeichenfolge angeben:

SELECT [TestMailing#txt].* 
    FROM [TestMailing#txt] IN 'C:\Documents and Settings\My Documents'[Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1252]; 

Grundsätzlich hat die IN für Textdateien zwei Teile Der erste ist der Pfad, in dem sich die Datei befindet, und der zweite ist die Verbindungszeichenfolge in Klammern. Ich fand heraus, was die Parameter dort waren, indem ich eine Verbindung zur Textdatei herstellte und seine Verbindungszeichenkette prüfte.

Zuletzt beziehen Sie sich auf die Textdatei als eine Tabelle, die ihren Dateinamen mit dem Ersetzen des # verwendet. für die Erweiterung.

Wenn Sie den Access Query Builder verwenden, können Sie diese Optionen im Eigenschaftenfenster für die Abfrage angeben, wobei der Pfad die Source Database-Eigenschaft und die Verbindungszeichenfolgenoptionen die Source Connect Str-Eigenschaft sind. Nachdem Sie diese in das Eigenschaftsfenster eingefügt haben, können Sie auf das Symbol TABLETTEN HINZUFÜGEN klicken, um eine Liste der Dateien für die jeweilige Verbindungszeichenfolge im angegebenen Ordner zu erhalten.

Wenn Ihr Bericht die gleiche Strukturdatei verwendet, können Sie wahrscheinlich die Zuverlässigkeit verbessern, indem Sie eine gespeicherte Importspezifikation erstellen, die auch in den Verbindungszeichenfolgen angegeben werden kann. Sie können dies finden, indem Sie die verknüpfte Tabelle mit der Textdatei erstellen und dann die Verbindungszeichenfolge überprüfen.

Wenn das aber der Fall ist, gibt es kaum einen Grund, warum Sie nicht einfach das mit der Textdatei verknüpfte erstellen und es dort dauerhaft lassen sollten!

1

Die einzige Möglichkeit, dies zu tun, ist AFAIK, die csv-Datei zu verknüpfen. Sie können zur Laufzeit eine Verknüpfung herstellen und die Verknüpfung aufheben, wenn der Bericht abgeschlossen ist. Mit den TransferText-Methoden des DoCmd-Objekts können Sie in VBA verknüpfen.

Weitere Informationen: http://msdn.microsoft.com/en-us/library/aa220768(v=office.11).aspx

+0

Ich habe diese Informationen bereits gefunden, aber ich konnte die Dokumentation für die TransferText-Methode oder die CreateTableDef-Funktion (die gleichwertig sein sollte) nicht finden. Können Sie bitte einen Link zu einem Referenzhandbuch bereitstellen? Ich weiß nicht, welche Argumente es braucht! – Falcon

+0

Okay, ich habe einen Link hinzugefügt. Wenn Sie Access verwenden, kann Intellisense sehr hilfreich sein, Access Help in einigen Versionen ist ebenso nützlich wie der Objekt-Browser. – Fionnuala

Verwandte Themen