van hoofdformulier naar specifiek veld in subformulier

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste forummers, Ik heb een hoofdformulier "dien-brief" met hierin een subformulier "sub25".
Als ik het veld "algmed" (op het hoofdformulier) verlaat wil ik graag naar het veld "tbv" in het subformulier.

Ik heb de volgende opdrachten bij gebeurtenis geprobeerd maar werkt helaas niet.

HTML:
Private Sub algmed_Exit(Cancel As Integer)
=Forms!Sub25!tbv.SetFocus
End Sub
en ook :
HTML:
Private Sub algmed_Exit(Cancel As Integer)
Me.Sub25.tbv.SetFocus
End Sub
met de volgende opdracht kom ik wel op het subformulier maar niet in het juiste veld :
HTML:
Private Sub algmed_Exit(Cancel As Integer)
Me.Sub25.SetFocus
End Sub
Kan iemand mij uithelpen ?
Friend
 
Me!Sub25.Form!tbv.Setfocus zou moeten werken.
 
OctaFish, bedankt maar weer. Werkt goed! Alleen nu wil ik weer terug naar het hoofdformulier naar het veld onderdeel (voor de verwarring heb ik het hoofdformulier verandert in "Fdienbrief") Heb ik van jou opgepikt! F voor alle namen als het een formulier is etc)
Ik gebruik de volgende code :
HTML:
Private Sub tbv_KeyUp(KeyCode As Integer, Shift As Integer)
Me!Fdienbrief.Form!onderdeel.SetFocus
End Sub

Hij zegt dan kan het veld Fdienbrief niet vinden. Maar ja het veld is "onderdeel" en het hoofdformulier "Fdienbrief":confused:
Nog wijze raad?
Friend
 
Dat wordt dan:
Me.Parent!onderdeel.SetFocus
 
OctaFish, heel erg bedankt! Werkt super..... Friend:thumb:
 
Nog even de uitleg waarom jouw varianten niet werken, en die van mij wel:

Me!Sub25.Form!tbv.Setfocus

Als je verwijst naar een Object, moet Access weten wàt je precies aanroept. Het basisprincipe is, dat je objecten op het huidige formulier of rapport wilt benaderen.
Als je op het hoofdformulier zit, kun je dus met Me.Onderdeel.SetFocus dus de focus verplaatsen naar het object Onderdeel, want je zit op het goede formulier.
Als je naar het veld tbv wilt dat op een ander formulier staat, moet je dus eerst verwijzen naar dat formulier. Dat doe je met Me!Sub25. Maar, en nu komt het, Access weet niet dat Sub25 geen Object is! Het is namelijk een formulier! Daarom moet je Na de naam aangeven dat je naar een ander formulier gaat!
Oftewel: Me!Sub25.Form
Vervolgens wil je op het andere formulier een object selecteren, en dat doe je dan met tbl.Setfocus.
Dus:
Me!Sub25.Form!tbv.Setfocus
Het Blauwe deel is de verwijzing waarmee je aangeeft dat je naar een ander formulier gaat, het rode gedeelte is de verwijzing naar het object.
 
OctaFish, Dank je voor de uitleg. Ik wilde het je eigenlijk niet vragen omdat je het misschien te veel zou vinden, maar begrijpen deed ik het niet. Dit is enorm helpfull. Omdat bij de reguery :
HTML:
 =Forms!Frittenadministratie2!NaamVanJeSubformulier!doel.requery
de opdracht begint met Forms ging ik ervan uit dat je eerst aangeeft dat het een form betreft en dan pas de veldnaam. Wat mij ook verbaast is dat als je dus teruggaat naar het hoofdfomulier daar een andere functienaam voor gebruikt wordt Me.Parent!onderdeel.SetFocus Je zou denken dat moet dan toch ook met forms. Nog veel te leren dus. Gelukkig is er hulp. Thanks again. Friend
 
Me.Parent is inderdaad een buitenbeentje, maar wel een jofele. Omdat een subformulier (meestal) in een hoofdformulier hangt, is het simpeler om in dit geval een treetje hoger te kijken a.h.w. En dat is wat Parent doet.
Je mag wel met de formuliernaam werken, als je dat wilt, maar Parent is in dit geval een stuk makkelijker!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan