Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

pfade

pfade
03.02.2008 08:08:36
Stefan
Guten Morgen zusammen,
ich habe noch ein Problem.
Zum Übertragen von Daten habe ich mir ein Makro aufgezeichnet, das auch super läuft. In dieser Aufzeichnug wird natürlich der Ort der Datei, aus der die Daten kommen, als kompletter Pfad angegeben. Nun möchte ich den Pfad durch eine Variable ersetzen, bekomme das irgendwie aber nicht gebacken.
Hoffe, Ihr könnt mir helfen.
1. Code aus Aufzeichnung, 2. Code, so soll es aussehen
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=F:\001 Arbeitsordner\A 01 \001 V" _
, _
"g\Sd\Ast.mdb;Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je" _

, _
"t OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet O" _
, _
"LEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Data" _
, _
"base=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("A1"))
so soll es sein:
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & pfad2 & " ", .dbs.Open "ast", Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je" _
, _
"t OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet O" _
, _
"LEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Data" _
, _
"base=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("A1"))
wichtig, so denke ich, ist nur der fettgedruckte Teil.
Danke für Eure Hilfe
Gruß
Stefan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: pfade
03.02.2008 08:28:35
Hajo_Zi
Hallo Stefan,
den Pfad der Datei mit Code bekommst Du mit ThisWorkbook.Path

AW: pfade
03.02.2008 09:21:00
Stefan
Hallo Hajo,
Danke für deine Antwort. Das bringt mich aber nicht wirklich weiter. Den Code kann ich nur durch den Makrorecorder erzeugen, anders wüsste ich gar nicht, wie ich das anfangen sollte. Nun geht es einfach darum, den erzeugten Code etwas anzupassen und zwar nur so, das der Pfad2 (ist in einer Textbox hinterlegt) genommen wird. Wenn ich die Datei - auf die der Pfad2 zugreift - mal verschieben sollte, brauch ich nämlich nur einmal die Textbox ändern und nicht alle Makros durchsuchen, wo evt. der vollständige Pfad der Datei im Makro hinterlegt ist.
Ich hoffe, ich konnte mein Problem nochmals verdeutlichen.
Gruß
Stefan

Anzeige
AW: pfade
03.02.2008 10:27:00
Stefan12
Hallo Stefan
Versuch es doch mal mit
Pfad2= Textbox1.Value 'wobei du noch die Bezeichnung deiner Textbox ändern mußt
Gruß, Stefan

AW: pfade
03.02.2008 11:25:00
Stefan
Hallo Stefan,
das mit dem "Pfad2" passt so schon. Ich mache des bei vielen anderen Codes auch nur mit Pfaden, da man dadurch sehr flexibel ist. Nur verlangt jeder Code seine "eigene Schreibweise" und mit diesem Code habe ich noch gar keine Erfahrung, nur das ich ihn mit dem Recorder aufgezeichnet habe und der Pfad: z. B: C:\A1\DV\usw. drin steht und nicht meine Variante mit der Pfadvariablen.
Ich werde wohl noch ein bisschen rumprobieren müssen.
Trotzdem Danke für den Tipp und einen schönen Sonntag.
Gruß
Stefan

Anzeige
AW: pfade
03.02.2008 11:38:00
Hermann
Servus,
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source="F:\001 Arbeitsordner\A 01 \001 V" , "g\Sd\Ast.mdb;Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je" _
das ist der Ursprung:
Dim pfad2 As String
pfad2 = TextBox...
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";
User ID=Admin;DataSource= pfad2, "g\Sd\Ast.mdb;Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Je" _
Das müsste dann so aussehen, wenn in der TextBox der Pfadso drin steht:
C:\....\...\...
Ich versteh nicht, warum du die Gänsefüßchen bei der Pfadangabe gesetzt hast.
Gruß
Hermann
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige