Requery subformulier

Status
Niet open voor verdere reacties.

john64

Gebruiker
Lid geworden
12 jun 2011
Berichten
268
Goedenavond forum
Ik heb op een formulier om projecten te definieren een subformulier staan met een aantal records gekoppeld aan een sleutelveld op het hoofdformulier.
Op dit hoofdformulier staat een knop (werknr selecteren), waarna een nieuw formulier geopend wordt.
Dit doe ik met
Code:
    DoCmd.OpenForm FormName:="frmWerknr", datamode:=acAdd
    Forms.frmWerknr.Controls.Item("[ProjectID]").Value = Me.ProjectID
Op dit nieuwe formulier kan ik een werknemer selecteren om toe te voegen aan een project. Op frmWerknr staat tevens een subformulier (readonly) met bevoegdheden van betrokkene. Deze moet geupdate worden als ik een andere werknr selecteer
Code:
Private Sub kzeNaam_AfterUpdate()
    DoCmd.Requery "fsubBevoegdheidWerknr"
End Sub
Dit gaat allemaal prima. Dus elke keer als ik d.m.v. pulldown menu een andere werknemer selecteer wordt het subformulier ververst.

Nu gaan we terug naar het eerste hoofdformulier. Als ik i.p.v. Jan een andere werknr. wil selecteren, stel Piet, kan ik m.b.v. knop Wijzig achter elk record van het subformulier het betrokken formulier frmWerknr weer openen, maar dan in de edit mode
Code:
Private Sub cmdDetails_Click()
    DoCmd.OpenForm FormName:="frmWerknr", datamode:=acEdit
    Forms.frmWerknr.Controls.Item("[ProjectID]").Value = Me.ProjectID
    Forms.frmWerknr.Controls.Item("[WerknrID]").Value = Me.WerknrID
End Sub
Het openen gaat prima, het wijzigen van gegevens op frmWerknr gaat ook goed, maar alleen het bijwerken van het subformulier fsubBevoegdheidWerknr gebeurt niet.

Wat kan hiervan de oorzaak zijn ? Is er verschil in werken met acAdd en acEdit om een formulier in bepaalde mode te zetten ?
Hoe kan ik dit anders oplossen ?

Lange vraag, maar ik hoop dat ik e.e.a. duidelijk heb verteld.

mvg
John
 
Laatst bewerkt:
Ik vind dat je een behoorlijk ingewikkelde manier hebt bedacht, in ieder geval voor het bijwerken van de records in het subformulier. Dat zou je met een simpele bijwerkquery al kunnen oplossen, waarbij je met een keuzelijst de nieuwe werknemer selecteert. Die code zet je dan achter een knop.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan