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-Funktion mit mehreren Bedingungen

    in Microsoft Excel Hilfe
    WENN-Funktion mit mehreren Bedingungen: Guten Morgen, ich würde gerne eine Funktion erstellen, die die Werte einer Zelle untersucht. Ist der Wert unter 5, so soll ein "nein" erscheinen und das Feld rot werden Ist der Wert zwischen 5...
  3. Zellbezug mit MONAT(HEUTE()) Funktion

    in Microsoft Excel Hilfe
    Zellbezug mit MONAT(HEUTE()) Funktion: Hallo Forum, ich habe eine Exceltabelle, mit der ich meine Finanzen festhalte. Auf einer Übersichtsseite stehen die Einnahmen/Ausgaben für verschiedene Bereiche. In der Spalte Q möchte ich den...
  4. Daten aus anderer Mappe

    in Microsoft Excel Hilfe
    Daten aus anderer Mappe: Hallo zusammen, ich habe für die bessere Verständlichkeit eine Excel erstellt, die mein Problem beschreibt. In Tabelle 2 sind verschiede Formen dargestellt, denen mehrere Eigenschaften zugeordnet...
  5. Funktionen Filter, Spaltenwahl und Übernehmen

    in Microsoft Excel Hilfe
    Funktionen Filter, Spaltenwahl und Übernehmen: Guten Abend Liebe Forenmitglieder, es ist für Euch wahrscheinlich ein leichtes, aber ich komm gerade nicht dahinter. Und auch verschiedene Videos führten in meinen Augen nicht weit genug. Wie...
  6. Filter()-Funktion: gefilterte Tabelle erweitern

    in Microsoft Excel Hilfe
    Filter()-Funktion: gefilterte Tabelle erweitern: Hallo, ich möchte gern die Filter-Funktion nutzen (was auch klappt), aber die erzeugte Tabelle möchte ich um neue Spalten erweitern. Leider scheint das aber so nicht zu funktionieren? Beispiel:...
  7. Zeile-Funktion in formatierter Tabelle

    in Microsoft Excel Hilfe
    Zeile-Funktion in formatierter Tabelle: Hallo liebe Forengemeinde, ich habe eine formatierte Tabelle (weiß nicht genau, ob es so auch heißt, aber bei "Start", "Formatvorlagen" - "Als Tabelle formatieren" mit mehreren Spalten und...
  8. Welche Funktion ? Vergleich.. Verweis .. oder WENN ?

    in Microsoft Excel Hilfe
    Welche Funktion ? Vergleich.. Verweis .. oder WENN ?: Huhu Zusammen, könntet ihr mir hier vielleicht auf die Sprünge helfen mit welche Formel ich folgende Aufgabe lösen kann? Bin leider noch nicht so fit mit Excel. Habe ein vereinfachtes Beispiel...
  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