TXT mit veränderter Pfad u. Name in Access Importi

Hallo Leute,

ich sollte eine TXT Datei in Access importieren und mit verschiedene Abfragen Auswertungen erstellen.
Bei den Abfragen kein Problem - nur beim import

habe folgendes Problem:

Ich habe bereits ein „Spezifikationsname“ angelegt bzw. gespeichert. und in den Makro: „Transfer Text“ angegeben.
Da der Ziel/Pfadname der TXT Datei und der Name der Text Datei immer sich ändert kann ich keinen festen Ordner/Ziel („Dateiname“ in Makro) eingeben. D.h. ich muss die Datei immer neu auswählen importieren Öffnen… somit ist der Makro UMSONST!

(da bei den Befehl „Transfer Text“ muss der Datei Name und Pfad festangelegt sein)

Bitte um Hilfe

Vielen Dank im Voraus.

Freundliche Grüße
Andreas

Hallo Leute,

ich sollte eine TXT Datei in Access importieren und mit
verschiedene Abfragen Auswertungen erstellen.
Bei den Abfragen kein Problem - nur beim import

habe folgendes Problem:

Ich habe bereits ein „Spezifikationsname“ angelegt bzw.
gespeichert.

ok

und in den Makro: „Transfer Text“ angegeben.

nicht ok. Makros sind Mist…

Da der Ziel/Pfadname der TXT Datei und der Name der Text Datei
immer sich ändert kann ich keinen festen Ordner/Ziel
(„Dateiname“ in Makro) eingeben. D.h. ich muss die Datei immer
neu auswählen importieren Öffnen… somit ist der Makro
UMSONST!

Ja, oben schon gesagt.

(da bei den Befehl „Transfer Text“ muss der Datei Name und
Pfad festangelegt sein)

Bitte um Hilfe

Erstell in einem Formular eine Schaltfläche und dazu deren Ereignisprozedur „Beim Klicken“.

In dieser Ereignisprozedur muß zunächst ein Filedialog (es gibt mehrere Varianten —> www.donkarl.com/?FAQ8.1 ) zur Auswahl der Datei eingebaut werden. Die ausgewählte Datei wird einer String-Variablen zugewiesen und für die
Transfertext-Methode (Docmd.Transfertext … siehe VBA-Hilfe) als Parameter verwendet.

Gruß
Franz DF6GL

Hallo Franz,

Vielen Dank für Deine Hilfe!

leider habe ich keine Ahnung von VBA! bzw. Filedialog - String-Variablen…???

Sorry… ich denke hier brauche ich mehr details.

Gruß
Andreas

Hallo ,

leider habe ich keine Ahnung von VBA! bzw. Filedialog -
String-Variablen…???

Sorry… ich denke hier brauche ich mehr details.

Tja, die mußt Du Dir selber beschaffen, z. B. über Durcharbeiten eines Tutorial oder Belegung eines Grundlagenkurses, der VBA-Programmierung mit einschließt.

Selbst wenn ich Dir den Code erstellen würde, wäre vermutlich die Anpassung an Deine Gegebenheiten eher nicht erfolgreich…

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

gibt es eine möglichkeit folgender VBA anzupassen?

DoCmd.TransferText acImportDelim, „1“, „Daten“, „D:\Documents and Settings\Test.txt“, False, „“

Hilfreich wäre z.b. statt „D:\Documents and Settings\Test.txt“ -> die Datei zu wählen oder so…
also „OPFENFILE“ ?

Danke

Hallo,

gibt es eine möglichkeit folgender VBA anzupassen?

DoCmd.TransferText acImportDelim, „1“, „Daten“,
„D:\Documents and Settings\Test.txt“, False, „“

Hilfreich wäre z.b. statt „D:\Documents and Settings\Test.txt“
-> die Datei zu wählen oder so…
also „OPFENFILE“ ?

Klar wäre das hilfreich, und wie es geht, habe ich doch mit dem Link zu Donkarl gesagt. Dort mußt Du Dir eine Möglichkeit zum Öffnen des Windows-Filedialoges aussuchen und die davon zurückgegebene Datei in eine String-Variable speichern und diese Variable in der Transfertext-Methode anstelle des fest codierten Dateinamens einsetzen.

Hier ein Beispiel mit dem Office-Filedialog (nicht ab A2007):
Verweis auf die Microsoft Office 11.0 Object Library setzen.

Dim StrFilename as String, varFile

Dim fDialog As Office.FileDialog
Dim varFile As Variant
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.AllowMultiSelect = False
.InitialFileName = „C:“
.Title = „Alle Dateien“
.Filters.Clear
.Filters.Add „Alle Dateien“, „*.*“

If .Show = True Then

For Each varFile In .SelectedItems
strFilename= varFile
Next
DoCmd.TransferText acImportDelim, „1“, „Daten“,strFilename,False, „“

Else
’ Abbruch, nichts machen
End If
End With

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Guten Tag,

leider bekomme ich eine fehler Meldung:
Fehler beim Komprilieren:
Mehrfachdelaration im aktuellen Gültigkeitbereich

es Markiert das Wort:„Set“ und bericht (klar) ab.

was könnte ich falsch gemacht haben?
Gruß

Hallo,

poste mal den gesamten diesbezüglichen Code, den Du verwendest…

Guten Tag,

ich habe (fast) nix an den Code geändert.
ich habe ein Formular geöffnet. eine Befehlsschaltfläche hinzugefügt. Eigenschaft bei Klicken habe ich dein Code einfach hinzugefügt. vorher natürlich habe ich ein Text Editor (1.txt) angelegt / vorbereitet. genauso eine Spezifikationsname 1 angelegt!

anbei das gesamte Code:

Option Compare Database

Private Sub Befehl0_Click()

ansonst hätte ich die Access Muster als Anlage senden können… aber ich finde den Tool für durchsuchen/hochladen nicht…

HAllo,

ist, wie schon erwähnt, der Verweis auf die MSO-Library gesetzt?

Weiterhin schreib auch mal so:

Dim fDialog As FileDialog

Gruß
Franz

Guten Tag,

MSO-Library „ja“ (Extra-Verweis…)

an den Code habe ich auch die Änderung durchgeführt… leider erfolgslos…
Mal eine andere Frage: haben Sie den Code schon selber getestet? falls ja gerne geben ich Dir meine E-mail adresse.

Gruß

Hallo,

hab ich…

u. a. siehe hier:

http://msdn.microsoft.com/en-us/library/aa195878(off…

Wenn das Ding bei .Filter.Add hängenbleibt, ist das ein (früherer) Bug. Der sollte bei Installation aller SPs nicht mehr auftauchen.

Du kannst ja die .Filters.Add-Zeile auskommentieren.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!