Fehler 49: Falsche DLL-Aufrufkonvention

13. Juni 2013

Den Fehler 49: "Falsche DLL-Aufrufkonvention" erhalte ich mit schöner Regelmäßigkeit alle paar Monate in Access. Meistens dann, wenn ich in einem schon lange produktiven System nur eine Kleinigkeit im Code geändert habe und diese Änderung dann testen möchte. Eine Erklärung für den Fehler habe ich in keinem der Fälle gefunden. Meiner Beobachtung nach hat es auch nichts damit zu tun, ob ich Funktionen oder Prozeduren verwende: Manchmal genügt es, die Message in einer MsgBox zu ändern und Zack! taucht der Fehler auf.

Zum Glück weiß ich inzwischen, wie man den Fehler zuverlässig und dauerhaft wieder los wird: Einfach das Modul, in dem man gerade etwas geändert hat, einmal ausschneiden und wieder einfügen. Danach muss man die Datenbank einmal schließen und wieder öffnen, damit Access nicht denkt, die Funktionen wären zweimal deklariert.

Übrigens funktioniert dies auch, wenn Access meldet: "Ausdruck zu komplex."

Und wenn eine Abfrage, ein Formular oder ein Bericht, die schon lange funktioniert haben, auf einmal unberechtigter Weise nach Parametern fragen oder Fehlermeldungen ausgeben: Einfach mal ausschneiden und wieder einfügen - bei diesem Vorgang behebt Access so manches Problem :-)

Christian03.07.14
Danke für diesen Tip. Hatte diesen "Fehler" nach vielen Jahren Access-Programmierung das erste Mal und Ihre Methode hat das Problem behoben.
Renate25.08.14
Hat mir heute sehr geholfen und sofort funktioniert
Rolf Berty08.10.14
Manchmal erlebe ich dubiose Fehler, die ich dadurch behebe, dass ich die relevanten Formulare umbenenne, kopiere, dann zusätzlich einfüge und mit altem Namen versehe. Die umbenannten Forms werden anschließend gelöscht. Der Fehler scheint ähnlich zu sein.
Roland03.04.15
Danke für diesen einfachen und effektiven Tipp. Auch ich habe in einer jahrelang problemlos funktionierenden Funktion eine minimale Kleinigkeit geändert und der Fehler trat auf.
Jan29.08.15
Vielen Dank hat funktioniert! Bei mir habe ich sogar den Fehler gefunden. Vor dem Ausschneiden hat der Kompiler nicht deklarierte Variablen nicht gefunden. Nach dem Wiedereinfügen hat er die Variablen plötzlich angemeckert :-)
Stefan Zink22.12.15
Hallo. Also nur damit das Ding auch weiter bei Google gefunden wird: Das hat bestimmt schon vielen geholfen, und mir heute auch. Vielen Dank dafür!
Cornelia19.02.16
Das hilft tatsächlich! Einfach neu kompilieren hilft manchmal, aber wenn nicht, dann diesen Tipp anwenden. Wenns ganz schlimm kommt, muss man den Container neu machen (neue DB und alles reinziehen)
Kally03.01.17
Danke für diesen Tipp. Hat meinen Tag gerettet. Noch schöner wäre es zu wissen, warum dieses merkwürdige Verhalten auftritt.
Armin14.12.18
Microsoft halt..
Dirk10.06.19
Auch Mitte 2019 hilft dieser Tipp noch das Wochenende zu retten. DANKE - ich hätte vermutlich ewig gesucht das logisch zu ergründen ...
Peter04.02.20
Danke für guten Tipp ! Es hat funktioniert.