Opgelost Inhoud van een tabbladbesturingselement verversen

Dit topic is als opgelost gemarkeerd

jbusser

Gebruiker
Lid geworden
23 feb 2007
Berichten
147
Ik had een aantal formulieren tegelijkertijd geopend en na een toevoeging in "formulier1" gaf ik een [forms]![Formulier2].Requery, om daar direct het zojuist toegevoegde record uit formulier1 zichtbaar te krijgen.
Dit werkte prima.
Nu heb ik die formulieren voor de esthetiek in verschillende tabbladen van een tabbladbesturingselement gezet en nu wordt het (in een ander tabblad geopend formulier) niet als geopend gezien.
De toegevoegde data uit formulier1 krijg ik dus niet automatich zichtbaar in fomulier2.
Hoe kan ik de inhoud van een tabblad requery-en?
 
Logisch, want een zelfstandig formulier is niet hetzelfde als een formulier dat in een tabblad element op een ander formulier staat. Je zult de verwijzing dus moeten aanpassen.
 
Ja, dat snap ik maar hoe verwijs ik naar:
Tabbladbesturingselement "MainTabbladen"
tabblad met de naam "Pagina13" met als inhoud Formulier2 (die uiteindelijk een requery moet krijgen?)
en dit alles op Formulier "Mainpage"
Ik kan de werkende syntaxis niet vinden.
 
Tabbladen zijn ‘onzichtbare’ objecten. Je ziet ze niet terug in code. Het maakt voor een formulier dus niet uit of dat als gewoon subformulier op een formulier staat, of in een tabelement.
 
Nee, maar vanuit een formulier een ander formulier Requery-en dat ín een tabblad van een ander formulier zit zal dus niet lukken begrijp ik.
 
Dat mag geen enkel probleem zijn. Maar ik snap niet helemaal wat je aan het doen bent. Heb je één hoofdformulier met daarop een tabblad element met een paar tabbladen en daarin verschillende subformulieren? En wil je dan vanuit het ene subformulier het andere subformulier bijwerken?
 
Yep!
Aanvankelijk had ik een aantal geopende formulieren en kon ik middels forms!formuliernaam.Requery prima uit de voeten. Maar formulieren in een tabbladbesturingselement worden niet als geopende formulieren gezien, zo lijkt het.
 
Je moet verwijzen naar het besturingselement van het subformulier. Dus:
Code:
Forms!JouwFormulier.NaamBesturingselementSubformulier.Requery

Doe anders effe een voorbeeldbestand. Dat praat een stuk makkelijker :p
 
Maar formulieren in een tabbladbesturingselement worden niet als geopende formulieren gezien, zo lijkt het.
Dat zie je verkeerd; je moet het zien als een getrapt systeem, waarbij je, als je op een gelijke laag zit, eerst een laag omhoog moet voordat je weer naar beneden kunt. Vergelijk het met twee woningen in een appartementencomplex: als je bij de buren naar binnen wilt, moet je éérst door je eigen deur, dan de centrale hal en dán door de deur van de buren. De 'centrale hal' is in jouw geval je hoofdformulier, en de 'deuren' de subformulieren.
Je moet dus het hoofdformulier óók in de opdracht meenemen.
Ik zou het dus zo doen, met de 'makkelijke' optie Parent:

Code:
    Me.Parent.Form!Formulier2.Form.Requery
Niet echt getest natuurlijk, want ik heb jouw db niet. Dit was mijn feitelijke testcode:
Code:
    MsgBox Me.Parent.Form!Materialen.Form.Name

En voor de volledigheid: ik heb dus twee formulieren in een tabelement op een hoofdformulier gezet, en vraag vanaf het eerste subformulier de naam op van het tweede.
 
Terug
Bovenaan Onderaan