Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Abfrage von Query Daten per Makro

Abfrage von Query Daten per Makro
09.01.2008 15:01:00
Query
Hallo,
folgende Situation. Durch ein Makro kopiere ich ein Tabellenblatt aus einer anderen Datei ( "2007-10" ) in meine Arbeitsmappe. Das Tabellenblatt in meiner Arbeitsmappe nenne ich mal "Temp". Durch ein weiteres Makro ( mit dem Makrorecorder aufgezeichnet ) werden bestimmte Spalten in dem Blatt "Temp" nach Datum gefiltert und in ein neues Tabellenblatt "aktueller Monatsname" eingefügt. Dies funktioniert so weit auch ohne Probleme.
Wenn ich nun eine neue Datei "importieren" möchte die sich vom Namen her nur im Monat unterscheidet ("2007-11") bringt mir das Makro mit der Query Abfrage immer einen Laufzeitfehler 1004 "Allgemeiner ODBC Fehler"
Die Query Abfrage funktioniert immer nur mit der Datei mit der ich das Makro aufgezeichnet habe.
Im Makro selber sind aber keine Pfadangaben zu dieser neuen Datei. Die wird ja immer neu ausgewählt und in "Temp" importiert und die Query Abfrage bezieht sich ja auf das Temp Tabellenblatt.
Die Dateien liegen im selben Ordner, sind inhaltlich auch gleich aufgebaut.
Hat jemand evtl. Erfahrungen oder Ideen?
Es scheint das Die Query Abfrage im Makro sich immer auf die erste Datei die in TEMP erstellt wurde bezieht.

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

Betreff
Datum
Anwender
Anzeige
AW: Abfrage von Query Daten per Makro
09.01.2008 15:23:00
Query
Vielleicht noch anzumerken das er bei .Refresh BackgroundQuery:=False hängenbleibt wobei das die letzte Zeile der Query Abfrage ist.

AW: Abfrage von Query Daten per Makro
09.01.2008 15:55:00
Query
Hi Nektim,
Die Pfadangaben sind nicht im Code, sondern im Query-Objekt gespeichert.
Selektier im VBE das Blatt und gib im Direktfenster mal ein:

?Activesheet.QueryTables(1).SQL


Jetzt siehst du den SQL der die Daten holt. Du kannst diesen SQL mit VBA direkt im Query-Objekt manipulieren. So etwas wie:


Activesheet.QueryTables(1).SQL = "SELECT * FROM xyz WHERE xyz.key = " & Variable


GreetZ Renée

Anzeige
AW: Abfrage von Query Daten per Makro
09.01.2008 16:06:57
Query
Das Temp Tabellenblatt enthält ja nicht den VBA Code. Aber wenn ich das selektiere und im Direktfenster deinen Code ?Activesheet.QueryTables(1).SQL einfüge bekomme folgenden Fehler : Laufzeitfehler "9" Index ausserhalb des gültigen Bereichs.
Dasselbe passiert wenn ich das probiere im Makro wo der Query Text drinnen steht.

AW: Abfrage von Query Daten per Makro
09.01.2008 16:20:29
Query
Hi Nektim,
Ich hab nix bezgl. dem Blatt mit dem Code geschrieben!
Da ich Deine Mappe nicht sehen kann, ist es auch schwierig zu sagen, wo was stattfinden soll.
Vermutlich enthält dein aufgezeichneter Code eine .Add Methode (statt eines einfachen .Refresh auf ein bestehendes Objekt). Mit der Eingabe im Direktfenster:

?activesheet.querytables.count

siehst du wieviel, oder ob überhaupt das Blatt Queries enthält. Der Index-Fehler deutet darauf hin, das überhaupt keine solchen vorhanden sind und dann kann ich auch nicht weiterhelfen.
GreetZ Renée

Anzeige
AW: Abfrage von Query Daten per Makro
10.01.2008 09:32:37
Query
Ich hab den Fehler gefunden, das Problem lag an den zur Verüfgung gestellten Dateien für die Auswertung.
Obwohl die Dateien immer gleich sein sollten ist bei einer Datei ein Spaltenname abgeändert worden. Daher hat es mit dem Query über alle Spalten nicht funktioniert.
Trotzdem Danke für die Mühe!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige