VBE.ActiveCodePane.CodeModule

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Ik wil het aangeroepen formulier/rapport in een globale foutenprocedure capteren, maar dat lukt niet. Ik krijg altijd een runtime error fout 91: objectvariabele of blokvariabele with is niet ingesteld. Hierbij mijn code.
Code:
    Dim AccessCodeModule As AccessObject
    Dim strCodeModuleDoorgeef As String
    [COLOR="#FF0000"]Set AccessCodeModule = Access.Application.VBE.ActiveCodePane.CodeModule[/COLOR]    
    strCodeModuleDoorgeef = strCodeModule
    
    On Error GoTo foutafhandeling
    
    ... code ...
    
Exit_sub:
    Exit Sub
    
foutafhandeling:
    Call FoutenRegistratie(Err.Number, 1, Err.Description, Err.Source, Environ("Username"), strCodeModuleDoorgeef)
    Resume Exit_sub
 
Leg eens uit wat je wilt doen, want hier snap ik de ballen van...
 
Via de aangeroepen Call-procedure schrijf ik een aantal zaken weg in een tabel tblFouten. Op die manier weet ik bij wie (van de 17 medewerkers) er een fout opgetreden is (foutnummer, foutbeschrijving, bron, gebruiker). Ik wil ook de naam van de aangeroepen procedure mee opnemen in dit bestand. Dit is voor mij handig op het moment ik de tabel met gecapteerde fouten bekijk. Via F8 (stap voor stap) krijg ik geen foutmelding indien ik Application.VBE.ActiveCodePane.CodeModule opneem in mijn code. Echter on runtime geeft het de fout zoals in vorig bericht vermeld.
 
De module die je uitvoert heeft een naam. Die je nota bene zelf hebt ingetypt. Wat is er op tegen om dat nog een keer te doen bij die variabele? Dat ActivePane het wél doet in de Stap modus is logisch, want dan is de module ook daadwerkelijk actief. Zodra je 'm uitvoert is dat waarschijnlijk een formulier. Maar ik snap niet dat je de naam niet even intypt. Noch wat de meerwaarde is van de functie die 'm genereert.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan