Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » troubleshooting » „Method or data member not found“ za kontrolnik na obrazcu UserForm

„Method or data member not found“ za kontrolnik na obrazcu UserForm

Na obrazcu UserForm v Excelu, Wordu ali Outlooku se prevajanje VBA ustavi v vrstici, kot je UserForm1.List1.LinkChildFields = "OrderID", s sporočilom Method or data member not found (v nemščini Methode oder Datenobjekt nicht gefunden). Drugi člani istega kontrolnika se prevedejo, brskalnik predmetov (Object Browser) člana navaja, ista vrstica pa v Accessu deluje.

Okolje

Office za Microsoft 365, Excel in Word (32-bitna), obrazci UserForm (MSForms), v računalniku, v katerem je bila WKL Forms Object Library uporabljena na obrazcu UserForm, preden je bila posodobljena na gradnjo z novimi člani pod isto različico knjižnice tipov. Obrazci Accessa niso prizadeti. Vsaka izdaja s spremembo vmesnika zviša različico knjižnice tipov, zato pravilno registrirana izdaja simptoma ne kaže.

Vzrok

Office hrani kopijo knjižnice tipov za vsak ID knjižnice in različico, in sicer od trenutka, ko je bil eden od njenih kontrolnikov prvič postavljen na obrazec UserForm. Člani, ki so bili knjižnici pozneje dodani pod isto različico, ostanejo prevajalniku VBA neznani, ko razrešuje UserForm1.List1.Member; spremenljivka lastnega tipa kontrolnika jih še vedno najde, ker je vezana prek sklica. Brisanje datotek predpomnilnika MSForms (%TEMP%\VBE\*.exd) ne pomaga. Nova številka različice člane takoj naredi vidne. Access knjižnico tipov prebere znova in simptoma nikoli ne kaže.

Izdelek različico zviša ob vsaki spremembi vmesnika, registracija pa odstrani druge različice knjižnice. Simptom se zato pojavi samo, kadar je še registrirana starejša gradnja ali kadar je bila gradnja registrirana, ne da bi se ji različica zvišala.

Rešitev

  1. Registrirajte trenutno izdajo (Namestitev izdanega paketa). V urejevalniku VBA (Orodja › Sklici) preverite, ali je WKL Forms Object Library navedena z različico registrirane izdaje; obstoječi delovni zvezki s sklicem na starejšo različico preklopijo nanjo sami.
  2. Zaprite vse programe Office in datoteko znova odprite.

Če se mora vrstica prevesti v računalniku, v katerem registracije ni mogoče posodobiti, do kontrolnika dostopajte prek spremenljivke njegovega lastnega tipa; koda ostane zgodaj vezana, z IntelliSense:

Dim myList As WklTreeList
Set myList = UserForm1.List1
myList.LinkChildFields = "OrderID"
sl/wiki/msaccess/comctl/troubleshooting/userform-member-not-found.txt · Zuletzt geändert: von Wolfgang van der Stille