Office: (Office 2016) Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden

Helfe beim Thema Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Liebe Mitleser, ich versuche Code aus Excel in Access zum laufen zu bringen. Es handelt sich um das Excel OPC-UA Beispiel V2_0 von Siemens. Ich bekomme... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Aksels, 21. Oktober 2019.

  1. Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden


    Liebe Mitleser,
    ich versuche Code aus Excel in Access zum laufen zu bringen. Es handelt sich um das Excel OPC-UA Beispiel V2_0 von Siemens.
    Ich bekomme diese Fehlermeldung in Access 2016:
    Markiert wird .ReadValues
    Der Code sieht so aus:
    Code:
    Die zugehörigen DLLs müssten eigentlich korrekt eingebunden sein, denn ich kann mit meinem Access-Code mich zur Maschine verbinden, wie im Excel Beispiel. Also TCP Verbindung steht bereits. Nur das ReadValues kann ich wegen dem Compilierungsfehler nicht ausführen.
    Der gleiche Code funktioniert in Excel 2016.
    Hat jemand einen Tipp?
    Gruß,
    Aksels

    :)
     
  2. Code:
    Das fällt anscheinend nicht alleine vom Himmel. Müsste da nicht eine Deklaration + Initialisierung, ggf. in Verbindung mit einem Verweis, vorausgehen?

    Mit Excel selber hat dieser Code allerwenigst zu tun.
     
  3. \@Aksels,
    bei deinen Angaben ist nichts verwertbares dabei.
    Sollte es sich aber um eine COM DLL handeln, vermute ich mal dass die Daten falsch übergeben werden.
    So viel ich weiß, ist es nicht möglich ein Datenfeld zu übergeben höchstens ein Array.
    Vielleicht schaust du mal im Objektkatalog nach wie die Schnittstelle ausschaut.
     
    markusxy, 23. Oktober 2019
    #3
  4. Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden

    Hallo!

    Funktioniert der gleiche/identische Code, wenn er in Excel ausgeführt wird.

    mfg
    Josef
     
    Josef P., 23. Oktober 2019
    #4
  5. Hallo Josef,
    Eberhards Hinweis sollte wohl zielführend sein.
    gruss ekkehard
     
    Beaker s.a., 24. Oktober 2019
    #5
  6. Guten Morgen,
    hier kommen mehr Infos. Ich dachte einer schaut hin und sagt: "Bekanntes Problem, musst nur das und jenes umstellen." Scheint aber wohl doch schwieriger zu sein.
    Erstmal: ja, der Code läuft in Excel.
    So siehr die Funktion in der OpcUaClient.cs aus:
    Code:
    In Access wird die Klasse so aufgerufen:
    Code:
    Hier ist die Klasse:
    Code:
    Gruß,
    Aksels
     
  7. Darf ich hier hier Links zu Siemens Homepage veröffentlichen?
     
  8. Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden

    In Excel sieht der Originalcode so aus:
    Code:
     
  9. Aksels,
    warum postest du nicht die Schnittstellen-Definition, aus dem Objektkatalog?

    Niemand kann dir bei der Fehlersuche helfen, wenn nicht klar ist wie die Schnittstelle für die Funktion/Property

    OpcUaClient.ReadValues

    innerhalb von VBA aussieht.
    Wenn die korrekt umgesetzt ist, sollte der Compiler nicht jammern.

    Ist im Excel Code das Option Explicit gesetzt?
    Möglicherweise klappt der Code ja trotz Compiler Fehler und man muss das Option Explicit nur abdrehen. In seltenen Fällen mag das zum Erfolg führen, jedenfalls kenne ich auch solche Fälle.

    OT:
    Im Class_Initialize wird ein Error beim Connect praktisch ignoriert.
    Das ist wohl mehr als dilettantisch.

    Edit:
    Im o.a. Code steht im Kommentar, dass ein Array erwartet wird - übergeben wird ein Datenfeld.
    Das habe ich schon in meinem ersten Kommentar bemängelt. Warum wird ein Datenfeld statt eines Arrays übergeben?
     
    markusxy, 26. Oktober 2019
    #9
  10. Vermutlich wurden Anteile des nötigen Codes aus der Excellösung einfach nicht übernommen.

    Man sollte also nicht nur darauf schauen, was man übernommen hat, sondern auch wesentlich darauf, was noch fehlt. Wenn dem Fass der Boden fehlt, ist es halt problematisch mit dem Wassersammeln.
     
  11. Guten Morgen alle zusammen.
    Vielen Dank erstmal für die Mithilfe. Ich finde es wirklich klasse, dass Ihr Euch so engagiert.
    Zu den offenen Punkten:
    Ich war der Meinung der Code für ReadValues aus der OPCUaClient.cs wäre aussagekräftiger. Dennoch: Hier ist der Eintrag aus dem Objektkatalog:
    Function ReadValues(nodeIdStrings() As String) As String()

    Option Explicit ist tatsächlich in Excel nicht drin. Habe es aus Access entfernt. Bringt aber den gleichen Fehler beim Compilieren. Werde das Option Explicit noch aus allen anderen Modulen entfernen, um zu prüfen ob es daran liegt. Ich war dann vielleicht zu voreilig, aber ich kann Code ohne Option Explicit nicht leiden.
    Habe alle Option Explicit aus allen Modulen entfernt. Fehler bleibt.

    Nächster Punkt: was könnte in Access fehlen, was in Excel drin ist.
    Ich hab keine Ahnung. Vielleicht hab ich auch nur ein Brett vor dem Kopf.
    Ich habe die beiden Dateien angehängt. Wenn jemand das Siemens-Beispiel mit der DLL möchte bitte per PN fragen.

    Gruß,
    Aksels
     
  12. Wenn Streichen Deine Lösung ist, dann sei doch gleich konsequent und beschränke Dich nicht auf höchst sinnvolle Kontrollmechanismen.
    Wo NICHTS ist, werden auch kaum Fehler auftreten.
     
  13. Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden

    Das Entfernen von "Option Explicit" kann in diesem Fall nichts bringen, im Gegenteil.

    Wenn der Code der Excel-Anwendung in Excel kompiliert werden kann, dann würde ich mal hingehen und die Codesequenz in Access auskommentieren und schauen ob er dann kompiliert werden kann.

    Es ist auch möglich, dass die Access Datei fehlerhaft ist und die Stelle reklamiert obwohl alles in Ordnung ist.
     
    markusxy, 30. Oktober 2019
    #13
Thema:

Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden

Die Seite wird geladen...
  1. Funktion oder Schnittstelle kann nur eingeschränkt verwendet werden - Similar Threads - Funktion Schnittstelle eingeschränkt

  2. Wenn Max min Funktion

    in Microsoft Excel Hilfe
    Wenn Max min Funktion: Hallo liebe Excel Gemeinde, was bewirkt diese Formel formel =wenn(max()>min()*–1;max())*–1
  3. WENN FUNKTION / Zelleninhalte verbinden

    in Microsoft Excel Hilfe
    WENN FUNKTION / Zelleninhalte verbinden: Liebes Forum, in diesem Beispiel stand ich vor der Aufgabe, Spalte C und D zu verbinden, mit dem Zusatz dass hinter das auf den Buchstaben D noch ein E und ein Minus folgt. Dies ist mir auch...
  4. Wenn-Dann-Funktion ohne Serienbrief

    in Microsoft Word Hilfe
    Wenn-Dann-Funktion ohne Serienbrief: Hallo und guten Abend, bin im Internet auf dieses Forum gestoßen, denn ich kommen nicht weiter und hoffe, dass ihr mir helfen könnt. Ich habe einen Serienbrief, der auf eine unübbliche Exc-Datei...
  5. WENNS Funktion Dropdown Menu

    in Microsoft Excel Hilfe
    WENNS Funktion Dropdown Menu: Ich habe eine Funktionsabfrage: Wenn Homeoffice ja, dann soll eine Zelle leer angezeigt werden. Wenn Homeoffice nein, dann soll einer Zelle in einem Dropdown angeboten werden, welches zwei...
  6. Mehrere WENN Funktion für Textilien

    in Microsoft Excel Hilfe
    Mehrere WENN Funktion für Textilien: Hallo bin neu hier also tragt es mir nicht nach wen mir Fehler passieren oder ich im falschem Forum gelandet bin da ich mich noch zurecht finden mus *:)* Ich suche eine Lösung für meine wenn...
  7. Datenschnitt mit Cube Funktion ausgeben lassen

    in Microsoft Excel Hilfe
    Datenschnitt mit Cube Funktion ausgeben lassen: Hallo zusammen, gibt es eine Möglichkeit wie ich mir mit einer Cube Funktion die aktuelle Auswahl aus einem Datenschnitt in eine Zelle schreiben lassen kann? Wenn aus dem Datenschnitt ein...
  8. Index Funktion mit Platzhalter

    in Microsoft Excel Hilfe
    Index Funktion mit Platzhalter: Hallo Zusammen! Vielleicht kann mir ja jemand von euch helfen. Ich versuche seit einiger Zeit in Excel aus einer Tabelle etwas abzufragen. Konkret geht es um eine Materialliste. Es soll so...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden