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)
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.
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…
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, „“
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!
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.