Barvna shema: Svetla
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » troubleshooting » Poročilo se v datoteki ACCDE ustavi z napako 459 „Object or class does not support the set of events“

Poročilo se v datoteki ACCDE ustavi z napako 459 „Object or class does not support the set of events“

Okolje

Access za Microsoft 365 16.0.20527, 32-bitni. Poročilo, ki vsebuje kontrolnik ActiveX in ima lasten modul VBA (Ima modul = Da), prevedeno v ACCDE. Ni nujno, da je kontrolnik kontrolnik WKL: enaka napaka se pojavi tudi s predvajalnikom Windows Media Player in z ukaznim gumbom Microsoft Forms 2.0. Obrazci niso prizadeti.

Poročilo se v ACCDB natisne. V ACCDE (in v Access Runtime) se ustavi takoj, ko se odpre, z napako 2473, ki navede njegov prvi dogodek („The expression On Format you entered as the event property setting produced the following error: Object or class does not support the set of events“), ali z napako VBA 459 z enakim besedilom.

Vzrok

Napaka Accessa. ACCDE vsebuje napačno preveden modul poročila, kadar je modul nastal v isti seji urejanja načrta, v kateri je bil nastavljen ali spremenjen vir zapisov poročila, poročilo pa vsebuje kontrolnik ActiveX. Napaka prihaja iz Accessa, preden se izvede katera koli procedura poročila; sam kontrolnik ni poklican.

Kako se Access vede pri posameznem zaporedju (vsakem v lastni podatkovni zbirki):

Zaporedje v pogledu načrtaACCDE
Vir zapisov in modul v eni seji urejanja (shranjevanje, zaprtje)odpove
Vir zapisov v eni seji, modul v poznejšise natisne
Celotno poročilo ustvari LoadFromText (besedilo vsebuje vir zapisov, kontrolnik ActiveX in modul)odpove
Isto besedilo brez modula, modul dodan v poznejši sejiodpove
Isto besedilo brez vira zapisov, vir zapisov nastavljen v poznejši sejiodpove
Poročilo, ki odpove, znova shranjeno, v njegov modul dodan komentar ali znova SaveAsText in LoadFromTextše vedno odpove
Poročilo, ki odpove: Ima modul nastavljen na Ne v eni seji, modul ustvarjen v poznejšise natisne

Ker LoadFromText ustvari celotno poročilo naenkrat, v ACCDE odpove vsako poročilo s kontrolnikom ActiveX in modulom, ki ga ustvari gradnja iz besedilnih izvornih datotek, razen če ga gradnja popravi.

Rešitev

Gradnja z orodjem za gradnjo: orodje za gradnjo iz knjižnice WKL Forms Object Library (tools/build/Build-AccessApp.ps1) taka poročila popravi samo: ko naloži poročilo s kontrolnikom ActiveX in modulom, v eni seji urejanja načrta modul odstrani, v drugi pa ga znova ustvari, z isto kodo in enakimi lastnostmi dogodkov. Zgradite znova in znova izdelajte ACCDE; v izvornih datotekah se nič ne spremeni.

Brez modula poročila: poročilo, katerega dogodki so izrazi, ki kličejo javne funkcije standardnega modula (na primer lastnost dogodka OnFormat odseka s podrobnostmi =FormatStelle()), nima lastnega modula in ni prizadeto. Tiskanje merilnikov in grafikonov v poročilu prikazuje to obliko; velja tudi za poročila, ki jih v Accessu izdelate ročno.

sl/wiki/msaccess/comctl/troubleshooting/report-fails-with-error-459-in-accde.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille