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

Laufzeitfehler 91, wie überspringen?

Laufzeitfehler 91, wie überspringen?
24.07.2007 13:01:00
Thorsten
hallo,
ich habe das Problem, das ich an einem vba arbeite, das mit der access db kommuniziert.
mein Problem ist, das jedesmal, wenn ich eine Abfrage mache bekomme ich einen Fehler zurück. Das Programm hat noch den ein oder anderen Bug.
Was mich aber tierisch nerft: wenn der Laufzeitfehler 91 Objektvariable oder... kommt, verliert er die Connection zur DB. Ich muss mein Excel schliessen, die datei öffnen, die DB auswählen und öffnen. Die Fehler sind meist schwieriger zu finden, so muss ich diese prozedur öfter durchlaufen und man kommt zu nix.
kann ich die Verbindung irgendwie anders halten?
den Fehler irgendwie anders abfangen, so dass ich nicht alles neu öffnen brauche?
vielen Dank
Thorsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91, wie überspringen?
24.07.2007 14:03:24
Luschi
Hallo Thorsten,
leider sind die gemachten Angaben zu allgemein. Mit welcher Schnittstelle arbeitest Du:
- ADODB
- DAO
- QueryDef
sicher ist der Abfragetext falsch, indem der Wertetyp von dem gesuchten Inhalt falsch übergeben wird.
Gerade dann, wenn ein Datumsbereich oder der Ähnlichkeitsoperator "Like" eine Rolle spielt, sind ein paar Besonderheiten zu beachten
Aber da mußt Du uns schon ein bischen mehr von Deinem Quellcode und dem Aufbau der MS-Access-DB zeigen.
Gruß von Luschi
aus klein-Paris

AW: Laufzeitfehler 91, wie überspringen?
24.07.2007 14:16:32
Thorsten
hallo,
ich hoffe das ergebnis reicht dir?
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" db spiecherort"
dim cat as new ADOX.Catalog
cat.ActiveConnection = Arbeitsmappe.verbindung (hier stehen wohl verbindungsdaten drinn, steige da nicht ganz durch :-( )
aktuellerRec.Open "AccessFunktion", Arbeitsmappe.verbindung, adOpenStatic, adLockReadOnly
Ich öffne meine Abfragen, die ich in der Access db erstellt habe.
wenn nun ein Fehler auftaucht, (oder ich eine längere Zeit in VBA gearbeitet habe), bricht die verbindung zusammen...
ich habe das programm leider nicht selber geschrieben und mit db abfragen über Access noch nichts gemacht.

Anzeige
AW: Laufzeitfehler 91, wie überspringen?
24.07.2007 14:33:00
Luschi
Hallo Thorsten,
aus dem spärlichen Code ersehe ich, daß Du versuchst, per ADODB Daten von Access nach Excel zu holen (oder soll das umgekehrt laufen).
Dazu benötigt man allerdings keine ADOX-Objekte. Es sei denn, das Programm will von Excel aus den Quellcode einer vorhandenen Access-Abfrage verändern.
Also ohne mehr Detailwissen ist hier kein Lösungsansatz drin.
Gruß von Luschi
aus klein-Paris
PS: Gute Anleitungen zu ADODB/ADOX findet man hier:
http://www.activevb.de/tutorials/tut_adokurs/adokurs.html
http://www.activevb.de/tutorials/tut_ado_db/adodb.html

Anzeige
AW: Laufzeitfehler 91, wie überspringen?
24.07.2007 15:18:00
Thorsten
danke Luschi,
welches Objekt (connection) würdest du mir empfehlen, wenn ich den Code nicht verändern sondern nur abfragen möchte?
Ich möchte einfach nur auf meine DB zugreifen. und die Abfragen auf der DB ausführen.
Gibt es auch nur ein Vorteil, wenn ich meine Verbindung global öffne? wäre es nicht sinnvoller, wenn ich einfach jedesmal vor einer Abfrage die verb. öffne, nach der abf. wieder schliesse?
würde ich dann mein Fehler umgehen können?
danke

AW: Laufzeitfehler 91, wie überspringen?
24.07.2007 15:53:00
Luschi
Hallo Thorsten,
habe Dir mal 1 Beispiel gemacht, wie man von Excel aus auf Access-Tabellen/Abfragen zugreift.
Der ADODB-Teil ist Pflicht, der ADOX-Teil ist nur notwendig, wenn man den SQL-Code der Access-Abfrage verändern will.
Entpacke die zip-Datei und kopiere beide Dateien in 1 gemeinsames Verzeichnis.
Dann starte die xls-Datei. Mit Hilfe des Buttons "Start" öffnet sich 1 Formular, indem man einen Zeitraum per Comboboxen festlegen kann. Wähle 15.6.2007 bis 30.6.2007, denn für die anderen Monate sind keine Daten in der mdb-Datei drin. Den ADOX-Teil habe ich gesondert gekennzeichnet.
Mal sehen, ob Du damit zurecht kommst: https://www.herber.de/bbs/user/44400.zip
Gruß von Luschi
aus klein-Paris

Anzeige
vielen dank :-) für das Beispiel
24.07.2007 16:00:00
Thorsten
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige