current subform

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Hoe kan ik te weten komen wel subformulier actief is. Deze code doet het niet en geeft altijd het parentform. :(
Code:
    Dim CurrentForm As Form
    
    Set CurrentForm = Screen.ActiveForm
    MsgBox CurrentForm.Name
 
En waar laat je die code dan draaien?
 
Ik heb een tabbesturingselement gemaakt met drie tabbladen waarin 3 subformulieren staan. Ik wil weten wanneer ik op subformulier 3 sta. Als ik dan het hoofdformulier afsluit (waarin het tabbesturingselement staat) vanuit tabblad 3 moet er code gerund worden die een controle uitvoeren. Dus: als ik op de knop <Sluiten formulier> druk, moet de controle voor tabblad 3 - indien de gebruiker op dit subformulier staat - uitgevoerd worden. Daarom moet ik wel weten op welk formulier/subformulier de gebruiker staat.
 
Dan heb je dus helemaal niks aan Screen.Activeform, want zodra je op de knop klikt, die ongetwijfeld op het hoofdformulier staat, dan activeer je het hoofdformulier. Ik zou de procedure overigens niet laten afhangen van of een bepaald formulier nu wel of niet actief was of niet, want dat zegt toch helemaal niks? Als ik op subformulier 3 heb geklikt, dan is dat actief, maar dan heb ik nog niks gedaan. Ga ik vervolgens terug naar het hoofdformulier, dan lijkt mij dat je ook niets hoeft uit te voeren. Controleer dus de gegevens, en niet waar de gebruiker toevallig staat met zijn cursor.
Overigens is je probleem simpel te omzeilen door een (verborgen) tekstvak op het hoofdformulier te zetten dat je vult met de naam van het geactiveerde tabblad. Kun je altijd uitlezen met de knop. Maar ik zet dus stevige vraagtekens bij je procedure...
 
Juist. Ik heb de procedure veranderd en controleer de gegevens op het betrokken formulier. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan