Hallo,
ich habe eine Testdatenbank angelegt, um das Senden von Mails aus Access heraus zu entwickeln und zu testen.
Verweise habe ich neben den Standards folgende aktiviert:
Microsoft Outlook 15.0 Object Library
Microsoft VBScript Regular Expressions 5.5
In der Testdatenbank funktioniert alles wunderbar. Nun habe ich in der live-db einen butten und das click-event angelegt und den code eingefügt. auch hier sind die Verweise aktiviert. trotzdem erhalte ich die Fehlermeldung: "Fehler beim Komplilieren: Benutzerdefinierter Typ nicht definiert" und der curser geht im code auf "Dim db As DAO.Database"
Der Verweis "Microsoft DAO 3.6 Object Library" lässt sich nicht aktivieren. "Fehler beim Laden einer DLL". Das wird wohl in der neuen Access-Version nicht unterstütz.
Zu meinem System: Win8.1, 64 bit, Office 2013
Habe noch laut der MS-Hilfe auf ADODB.Databse bzw. .Recordset umgestellt und Microsoft ActiveX Data Objects 2.5 Library aktiviert. Leider wird auch hier der Fehler beim Kompilieren angezeit. Und wie gesagt, auf der Testdb, auf demselben Rechner funktioniert das. Warum? :/
Wo liegt der fehler? warum geht es in der testdb und in der anderen nicht? :(
Danke
Hi,
welche DAO-Bibliothek hast du denn in der Test-DB eingebunden?
Dieselbe solltest du auch in der anderen DB verwenden.
Hi,
keine. dies wird ja mit einem Fehler verhindert, was in den neueren Access-Version auch normal ist, wie ich laß.
Fehler lautet: "Fehler beim Laden einer DLL
Nach dem ersten Auftreten des Fehlers habe ich das auch gleich geprüft. In beiden DB´s sind dieselben Verweise vorhanden, aber eben kein DAO
Dann zeig doch bitte mal alle Verweise aus der Test-DB.
PS:
In A2013 ist dies standardmäßig die Microsoft Office 15.0 Access database engine Object Library.
DB6 ist die TestDB
Und, siehst du nicht den Unterschied?!
(s.a. meinen obigen Nachtrag)
Übrigens kann man sich auch mal im Objekt-Explorer die Inhalte dieser Bibliotheken anschauen.
PS:
Du solltest dich am besten erstmal entscheiden, ob du DAO oder ADO einsetzen willst.
PS-2:
Hier noch ein Link zu einem YouTube-Video zu diesem Thema: https://www.youtube.com/watch?v=soSKpnM4wcg
okay, in der HauptDB fehlte das Office 15.0.
habe es geändert/hinzugefügt, leider jetzt wieder mit dem Fehler "Benutzerdefinierter Typ nicht definiert", wenn ich den Code über den button ausführe. Leider wird im code keine explizite stelle angezeigt, wo es hakt.
Entscheidung DAO oder ADO: das hatte ich ja, habe ja mit DAO angefangen, oder nicht?
Das Video gucke ich mir mal an, ist aber mit ner halben Stunde hier auf der Arbeit nciht mal eben gemacht.
Könntest du dennoch zu dem hier oben geschriebenen Problem/Fehler noch etwas sagen?
DAnke
Kompiliere den Code
vor dem Testen und beschreibe genau was sich dabei ergibt.
Zitatin der HauptDB fehlte das Office 15.0
Das ist keine ausreichende Beschreibung des eingerichteten Verweises, nenne bitte den vollständigen Namen.
Hallo Nimora,
Bibliotheken: ADO 2.5 und DAO 3.6 sind veraltet und vielleicht auch gar nicht auf deinem System verfügbar.
Du solltest Sie nicht verwenden. In der Regel sind die aktuellen Bibliotheken auch alle abwärts kompatibel.
Benutzerdefinierter Typ nicht vorhanden: Es kann da viele Gründe geben. Da hat Access leider auch Bugs.
Ich hatte das auch schon nach dem Löschen eines Klassenmoduls, obwohl alle Bezüge weg waren. Geholfen hat dann nur ein dekompilieren der Anwendung. Siehe http://www.donkarl.com/faq/FAQ1Grundlagen.htm#1.23.
Wichtig: vorher sichern, was ich auch vor dem Löschen eines Klassenmoduls grundsätzlich empfehlen würde. Allein durch das Löschen von Klassenmodulen habe ich schon mehrere Access Anwendung unwiederbringlich zerstört. Auch wenn das selten passiert, einmal ist für mich schon zu viel. Die Sicherung ist dann oft einen Tag alt und ich kann den Code wieder neu schreiben.
ADO oder DAO: Ich verwende beide, da sie unterschiedliche Stärken haben.
Hallo Markus,
ZitatADO oder DAO: Ich verwende beide
klar kann man auch beide verwenden, wenn man damit umzugehen weiß.
Ich hatte jetzt mal unterstellt, dass das bei nimora noch nicht so ganz der Fall ist. ;-)
Bezüglich o.g. Fehler:
Die Microsoft Office XX.0 Access database engine Object Library entspricht vollständig der ursprünglichen DAO 3.6 Object Library zzgl. einiger Erweiterungen, die neue Features möglich gemacht haben wie mehrwertige Felder, Anlagenfelder, DataMacros u.a.
Also da den Verweis für DAO setzen.
Zitatklar kann man auch beide verwenden, wenn man damit umzugehen weiß
Ich würde es eher umgekehrt betrachten. Wenn ich weiß oder schon ahne, welche Vorteile und Features eine Verbindungsart bringt, bin ich auch bereit, den Umgang zu lernen.
ADO bietet z.B. Disconnected Recordsets und die Methode GetString, wo es nichts vergleichbares in DAO gibt.
DAO ist optimiert auf JET und da umfassend, schnell und stabil.
vielen Dank für die zahlreichen Antworten, die aber meinen Kopf qualmen lassen.
Maggie, du hast natürlich recht. So recht weiss ich nicht, was das ganze bedeutet und wo die unterschiede liegen. ich hangel mich an einem gefundenen code entlang und versuche diesen für meine bedürfnisse anzupassen.
Grundsätzlich verstehe ich aber nicht, warum es in der einen db funzt und in der anderen nicht. du hattest mich darauf hingewiesen, dass sich die beinen db´s in den Verweisen unterscheiden. in der testdb war "Microsoft Office 15.0 Access database engine Object Library" aktiviert. in der "richtigen" Datenbank ist dies aber gar nicht vorhanden. dort gibt es nur "Microsoft Office 15.0 Object Library.
Liegt darin das Problem? und warum ist die Library in der einen db wieder vorhanden und in der anderen nicht?
Edit:
habe es gerade getest, wenn ich in der Test db das "Microsoft Office 15.0 Access database engine Object Library" entfernen, bekomme ich auch den fehler. scheint dafür also nötig zu sein. Tja, wie bekomme ich das ding nun in die andere db?
ZitatLiegt darin das Problem?
Ja, genau.
Zitatscheint dafür also nötig zu sein.
Das sagte ich doch schon.
Zitatwie bekomme ich das ding nun in die andere db?
Indem du den Verweis auf
diese Datei einstellst - und nicht irgendeine nimmst wo ebenfalls "Office 15" drin steht.
So, jetzt habe ich das "Microsoft Office 15.0 Access database engine Object Library" endlich gefunden und grundsätzlich geht es nun. Es tritt zwar ein weiteres Problem auf, aber das passt hier nicht rein.
Danke für die Zahlreichen Beiträge und das Video werde ich mir heute Abend mal anschauen.
Thx :)