Focus op specifiek besturingselement in subformulier

Status
Niet open voor verdere reacties.

john64

Gebruiker
Lid geworden
12 jun 2011
Berichten
268
Vorige week had ik een vraag gesteld om mbv een knop op een hoofdformulier toe te staan dat er nieuwe records ingevoerd kunnen worden op een subformulier. Dat werkt inmiddels goed. (zie http://www.helpmij.nl/forum/showthr...BeforeUpdate-voor-bestaande-en-nieuwe-records)

Code:
Forms.frmDiploma.fsubDatumCertificatie.Form.AllowAdditions = True

Het subformulier is een doorlopend formulier. Is het ook mogelijk om op moment dat de knop op het hoofdformulier ingedrukt wordt, gelijk de focus te zetten op een specifiek besturingselement van een nieuw record ?
Met
Code:
Forms.frmDiploma.fsubDatumCertificatie.SetFocus
wordt de focus gezet op laatste veld waarin gewerkt is.
Nu moet ik eerst nog in een nieuw record klikken voor ik kan beginnen met typen.

Ik heb een poging gedaan om het op te lossen met
Code:
Forms.frmDiploma.fsubDatumCertificatie.[DatumCertificatie].SetFocus
Maar dit geeft een foutmelding (fout 438: Deze eigenschap wordt niet ondersteund door dit object)

mvg
John
 
Gebruik je ook om je formulier te openen de parameter FormAdd?
 
Hoi Madref
Ik heb een subformulier in mijn hoofdformulier staan. Dit subformulier is "op slot" totdat er op een knop in het hoofdformulier geklikt wordt.
Dan gebruik ik
Code:
Forms.frmDiploma.fsubDatumCertificatie.Form.AllowAdditions = True
om het subformulier te openen voor invoeren van gegevens.

Hoe moet ik in deze situatie gebruik maken van de parameter FormAdd ?

John
 
Wat wil je precies doen? De knop waarmee je het formulier openzet (AllowAdditions) kun je ook gebruiken om gelijk een nieuw record aan te maken. En vervolgens de focus op het door jou gewenste object te zetten.
 
Hoi Michel,

Voorbeeldje ?? :confused:

Ik weet inmiddels hoe je de focus op een formulier kan zetten, maar hoe kun je gelijk een nieuw record aan maken en de focus hierop zetten ?
Wat ik wil is dat zodra op de knop in het hoofdformulier geklikt wordt, de focus gaat naar een nieuw record in het subformulier. De bestaande records moeten echter wel in beeld blijven. (correct me if I am wrong: volgens mij wordt met FormAdd wel een nieuw record geopend, maar dan zie ik de vorige records niet. Of geldt dit alleen voor een normaal formulier en niet voor een doorlopend formulier )

John
 
Een formulier zet je in Toevoegmodus met de eigenschap DataEntry=True. Vermoedelijk staat de cursor dan ook al gelijk in het eerste veld, dus is de rest misschien niet eens nodig.
 
Poging 1:
Code:
Forms.frmDiploma.fsubDatumCertificatie.Form.DataEntry = True
Formulier gaat inderdaad naar DataEntry modus, maar de al eerdere ingevoerde records zijn niet meer zichtbaar.
 
Laatst bewerkt:
Zodra je een formulier op DataEntry zet, zie je de overige records niet meer, maar alleen het nieuwe record. Dat is nu eenmaal een eigenschap van DataEntry. Met dezelfde knop waarmee je de DataEntry aanzet, kun je hem ook weer uitzetten. Je kunt bijvoorbeeld de Caption van de knop switchen tussen gewone modus en Invoermodus, en op basis van de Caption van de knop de DataEntry bepalen/instellen.
 
Uitgaande van de door jou gebruikte naamgeving voor het subformulierobject en het tekstveld kun je de volgende code gebruiken:
Code:
Me!fsubDatumCertificatie.SetFocus
DoCmd.RunCommand acCmdRecordsGoToLast
DoCmd.RunCommand acCmdRecordsGoToNew
Me!fsubDatumCertificatie!DatumCertificatie.SetFocus
 
Hoi Harry
Dat was de oplossing, thnx

hij doet nu wat ik wil

mvg
John
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan