A02: Objekterstellung (CurrentDb) nicht möglich

Hallo, allerseits!

Habe ein unlustiges Problem: Bis letzte Woche lief ein Programm unter XP einwandfrei. Dann wurde was installiert, was eigentlich nichts mit der Datenbank zu tun hat. Zunächst fehlte ein Verweis auf die DAO-DLL, welches einen Compilerfehler bei allen DAO-Zugriffen/Deklarationen verursachte. Dann haben wir die DLL wieder eingefügt. Jetzt lässt sich das Programm compilieren, bringt aber bei der Zeile „Set dbMdb = CurrentDb“ die Fehlermeldung 429-Objekterstellung durch ActiveX nicht möglich.

Verwendete Verweise: VBA, MS Access 10 Object Lib, OLE Automation, MS VBA Extensibility, MS Office XP Web Components, MS DAO 3.6

Hat irgendjemand eine Ahnung, warum das so ist und was die Abhilfe sein könnte?

Gruß, Manfred

Hallo Manfred,

leider ist das Problem so alt, wie es Access gibt. Die Verweise eben.

Du hast Direct-X oder andere Komponenten benutzt, die durch das neu installierte Programm überschrieben wurden und von daher nicht mehr funktionieren.

Wenn Du noch einen Rechner hast, der funktioniert, von diesem Rechner alle Verweise auslesen und den Pfad der Dateien.

Diese Dateien sichern. Auf dem nicht funktionierenden Rechner in die gleichen Pfade kopieren, und dann geht es, allerdings wird dann evtl. Dein neu installiertes Programm nicht mehr laufen.

Ich habe das über einen Batchjob geregelt, dass ich gnadenlos alle DLLs überschreibe (meist in systemroot\system32), die mich behindern. Die Programme, die dann nicht mehr liefen, waren unwichtig.

Ich denke sporadisch immer wieder über folgendes nach:
Durch andere Programme werden immer wieder neue Versionen von DLLs und OCX installiert, die diese brauchen, ich aber in Access die alten Versionen brauche.

Also alle in Access benötigten DLLs und OCX in einem speziellen Verezichnis ablegen, dorthin auch die Verweise verknüpfen.

Noch nie getestet ist dann folgendes:

  1. Was passiert, wenn ein anderes Programm eine andere DLL oder OCX öffnet, aus dem Bauch nichts, aber…
    2.Wenn es dabei zu einem Fehler kommt, kann man diesen abfangen (meine User haben gerne 98 Programme gleichzeig geöffnet, also auch eines, was nach der neuen DLL oder OCX verlangt.

Hoffe,es hilft Dir etwas,

Peter