Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Fehler mit ActiveX bei Internetabfragen





Frage

Ich bekomme die Fehlermeldung "Objekterstellung durch AktiveX Komponente nicht möglich" wenn ich aus einem Acess-Programm eine Internetverbindung aufbauen will. Warum? Mit anderen Rechnern klappts!!!

Antwort 1 von Koebi

Grüezi ferdi

Schau einmal in der Access-FAQ von donkarl, unter Punkt 7.9

www.donkarl.com/

Gruss
Köbi

Antwort 2 von ferdi

Super Tipp,
hat leider leider nix geholfen,
hat sonst noch jemand was zu sagen?

Antwort 3 von struppi

Hallo ferdi,
Dazu müßtest Du auch mal sagen ob noch ein Modul zwischengeschalten ist oder ein OCX oder eine dll. Oder ob Du lediglich einen Link in Access aufrufst der den IE startet oder Outlook oder sonst irgend etwas????????
gruß struppi

Antwort 4 von ferdi

Sorry aber ich bin absoluter Newbie. Ich kann dir nur soviel sagen dass es sich um ein Warenwirtschaftssystem auf Acess-Basis handelt.(Das Proggramm installiert eine Runtime-Version von Acess) Ob OCX oder dll weis ich leider ned. (Hab auch keine Ahnung was ocx eigentlich ist) aber soweit ich weiss hat die Sache nichts mit dem IE zu tun. Der wird nämlich gar nicht gestartet. Bitte helft mir!

Antwort 5 von struppi

Hi ferdi,
Das ist dann wohl eine API-Geschichte die in Access eingebunden wurde und auf Prgrammbibliotheken des Rechners zugreift.
Beispiel:

Private Declare Function InternetAutodial Lib "wininet.dll" _
(ByVal dwFlags As Long, ByVal dwReserved As Long) As Long

Public Function tsConnect() As Boolean
Dim intMsgBoxResult As Integer

If InternetAutodial(OhneNachfrage, 0) Then
tsConnect = True
Else
tsConnect = False
End If

End Function

Mit dieser Funktion ist es möglich sogar eine ungefragte Verbindung ins Internet über das DFÜ-Netzwerk auzubauen.
Verantwortlich für das Funktionieren ist in diesem Fall die wininet.dll.
Wenn es in Deiner Datenbank offenen Code gibt (in Modulen) solltest Du mal nach einer ähnlichen Funktion suchen.
Ist die Sache als MDE kompiliert hast Du keine Chance was zu finden. Da mußt Du wohl den Erzeuger der DB fragen.
gruß struppi

Antwort 6 von ferdi

@ Struppi
erstmal vielen Dank für deine Tipps.
Glaubst du es lohnt sich mal auszuprobieren die "wininet.dll" von nem anderen Rechner bei dem die Sache funktioniert auf meinen zu kopieren oder sollte ich lieber die Finger von der Sache lassen weil ich nur noch mehr kaputtmachen könnte???

Antwort 7 von struppi

Hallo ferdi,
Wenn es ansonsten möglich ist mit dem Rechner eine DFÜ-Verbindung ins I-Net zu erzeugen wird das wohl nichts bringen.

Die Fehlermeldung deutet darauf hin, das in einem VBA-Code eine aktive Komponente aufgerufen wird, die der Rechner nicht kennt.
Grund dafür kann auch eine fehlende Registrierung (mit regsvr32.exe) sein oder ein in Access fehlender Verweis auf eine Komponente.
Nun müsste man halt wissen wie der Namen dieser Komponente lautet, um sie zu suchen und dem Rechner bekannt zu machen. Ohne den verantwortlichen Code in der DB bekommst Du aber den Namen nicht raus.
Ist der Modulcode denn zugänglich?
Gruß struppi

Antwort 8 von struppi

..Hab da noch einen Nachtrag.
Mir fällt gerade ein, daß man es eigentlich doch rausbekommen kann.
Wenn es auf einem anderen Rechner geht!
Du brauchst dafür einen Processviewer.
Ich benutze ZB PrcView 3.6... von http://www.prcview.com.
In diesem Programm werden alle *.dll und *.exe etc aufgelistet, die im Moment auf dem Rechner laufen. Aber nicht nur das! Du kannst auch sehen welche Programme welche *.dll gerade benutzen oder aufrufen. Das mußt Du auf dem Rechner wo es funktioniert installieren und erforschen.
Dann kannst Du genau sehen was aufgerufen wird wenn Access ins Netz geht. Diese Komponenten sollte dann :
1. auf dem anderen Rechner existieren
2. registriert sein
Gruß struppi

Antwort 9 von ferdi

Vielen Dank für deine Bemühungen, falls ich keinen Erfolg habe meld ich mich bestimmt noch mal.

Antwort 10 von ferdi

Nur noch eine kurze Frage: Woher erkenne ich welche dll zu welchem Programm gehört, bei mir sind das nämlich ziemlich viele dll Dateien.

Antwort 11 von struppi

Hi ferdi,
Du startest Access auf dem Rechner wo es funktioniert. Am besten wäre, das noch so zu tun, ohne das die Internetverbindung aufgebaut wird.
Dann öffnest du den ProcessViewer und machst einen Rechtsklick auf den MSAccess Process. Im Kontext-Menü wählst Du Module aus.
Jetzt werden Dir in einer Liste alle Module angezeigt die Access momentan verwendet.
Den Modulpaths kopierst Du nacheinander und schreibst sie in einen Editor (merkt man sich ja nicht alles).
Jetzt verbindest Du ins I-Net und rufst erneut das Kontextmenü des Processes auf. Jetzt sollten da eine ganze Reihe Module mehr drin stehen.
Vergleiche die mit den Einträgen im Editor und Du weißt welche Komponenten für die Internetverbindung benötigt werden. Diese suchst Du dann auf dem Rechner wo es nicht klappt und vergleichst zunächst die Versionen. Wenn die übereinstimmen versuche die Module neu zu registrieren.
Unter Ausführen folgende Codezeile eingeben:

%windir%/system/regsvr32.exe PfadundDateiname

Laß Dich von eventuellen Fehlermeldungen hier nicht abschrecken. Nicht jede Datei läßt sich auf diese Art registrieren.
Gruß struppi

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: