Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

  • Access

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von maerssi.

    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Hallo zusammen

    Ich bin am Verzweifeln. Ich habe in Vb.NET eine DLL erstellt um ein PDF-Formular auszufüllen (mit itextsharp). Aus VB.NET funktioniert das Programm einwandfrei. Nur aus Access (VBA) kommt der Fehler "Objektverweis wurde nicht auf eine Objektinstanz festgelegt".

    Visual Basic-Quellcode

    1. Dim c As clsLohnausweis
    2. Set c = New clsLohnausweis
    3. c.LohnausweisVorlagenPfad = "c:\Lohnausweis.pdf"
    4. c.AusgabePfad = "c:\ausgabe.pdf"
    5. c.NameMitarbeiter = "Fritz Meier"
    6. c.LohnausweisErstellen


    Ich habe schon folgendes probiert:

    Visual Basic-Quellcode

    1. ​Dim c as new clsLohnausweis

    Visual Basic-Quellcode

    1. ​Dim c as new clsLohnausweis
    2. Set c as new clsLohnausweis


    Im VB.NET Text gibt es keinen Fehler, da läuft es ja. Da ist der Verweis auf die itextsharp.dll eingebunden. Bei Access muss ich das nicht machen, das sollte durch VB.NET gehandelt werden, oder?
    Hallo!

    Gibt es in Deinem VBA-Projekt die Klasse "clsLohnausweis"? Das müsste ein Klassenmodul sein, in welches der passende Code steht. Oder es muss eine passende Steuerdatei eingebunden sein (Extras=>Verweise) welches die Klasse sauber zur Verfügung stellt.

    Einbinden musst Du die Steuerdatei wenn Du sie in Deinem VBA-Projekt nutzen möchtest. Du könntest auch eine Steuerdatei erstellen welche durch Funktionen ("Declare Function NamederFunction Lib "NameDerSteuerdatei.dll" Alias...") nutzen. Ohne Einbindung funktioniert die Steuerdatei natürlich nicht.

    Gruß, René
    Ich hab den Fehler gefunden. Die obigen Zeilen waren eine gekürzte Fassung. Es werden rund 40 Variablen an die Klasse clsLohnausweis übergeben. Und itextsharp aus meiner VBA-DLL aufgerufen, akzeptiert offenbar (anders als VB.NET) bei Checkbox-Zuweisungen in PDF-Formularen keine leeren Zeichenfolgen. Das heisst ich musste dort den Wert c.Firmenfahrzeug="" auf c.Firmenfahrzeug="Nein" (oder "Ja") ändern, auch bei allen anderen Checkboxen.
    :)
    Danke mumpel.