OVH Cloud OVH Cloud

Formulaire et ss formulaire

3 réponses
Avatar
cyberjc
Bonjour à tous, j'ai un formulaire basé sur une requête qui affiche en
continu des enregistrements et sur chaque enregistrement j'ai un bouton qui
affiche des détails. Comment je peux obtenir que quand je passe d'un
enregistrement à un autre les détails soient mis à jour (pour le moment je
doit fermer ce deuxième formulaire et le réouvrir pour afficher les détails
du nouvel enregistrement pointé).
D'avance merci

Jean-Christophe

3 réponses

Avatar
Eric
Bonjour,

Je vois pas le sous-formulaire indiqué dans l'objet. ;-)

1-Déclares une variable booléenne dans la partie des déclarations du
module du formulaire(le1er) appelant l'autre.
Soit : Public Ok as Boolean

2-Mettre Ok à True quand click sur bouton d'ouverture du formulaire en
bout de ligne

3-Sur l'évènement Activation du formulaire
Private Sub Form_Current()
If ok then
DoCmd.OpenForm "FormulaireAOuvrir", , , "ChampLiaison=" &
Me.ChampLiaison ' pour du numérique
' pour du texte : DoCmd ...,,, ""ChampLiaison=" & chr(34) &
Me.ChampLiaison & chr(34)
end if
End Sub

4- Sur libération du formulaire appelé mettre à False la variable
publique Ok
Private Sub Form_Unload(Cancel As Integer)
Forms(NomFormulaireAppelant).Ok = False
End Sub

La variable Ok permet de ne pas ouvrir le formulaire appelé (le 2ème ) à
l'ouverture du formulaire appelant. De plus sur libération du formulaire
appelé, tu la réinitialises pour éviter que le formulaire appelé s'ouvre
systématiquement. Il appartiendra à l'utilisateur de recliquer sur le
bouton de fin de ligne pour avoir le détail de l'enregistrement
sélectionné dès lors qu'il a fermé le formulaire détail.

Ok ?

Bonjour à tous, j'ai un formulaire basé sur une requête qui affiche en
continu des enregistrements et sur chaque enregistrement j'ai un bouton qui
affiche des détails. Comment je peux obtenir que quand je passe d'un
enregistrement à un autre les détails soient mis à jour (pour le moment je
doit fermer ce deuxième formulaire et le réouvrir pour afficher les détails
du nouvel enregistrement pointé).
D'avance merci

Jean-Christophe


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
cyberjc
Merci Eric, c'est parfait. J'ai un autre souci qui est celui d' avoir un
affichage type "popup" des détails (un peu comme la fenêtre "propriétés" du
mode création) je m'y perds complet dans les modes fenêtres "indépendante",
"modale", "centrée", "ajustée", minimizer, maximiser etc, etc...

Merci d'avance.

Jean-Christophe


Bonjour,

Je vois pas le sous-formulaire indiqué dans l'objet. ;-)

1-Déclares une variable booléenne dans la partie des déclarations du
module du formulaire(le1er) appelant l'autre.
Soit : Public Ok as Boolean

2-Mettre Ok à True quand click sur bouton d'ouverture du formulaire en
bout de ligne

3-Sur l'évènement Activation du formulaire
Private Sub Form_Current()
If ok then
DoCmd.OpenForm "FormulaireAOuvrir", , , "ChampLiaison=" &
Me.ChampLiaison ' pour du numérique
' pour du texte : DoCmd ...,,, ""ChampLiaison=" & chr(34) &
Me.ChampLiaison & chr(34)
end if
End Sub

4- Sur libération du formulaire appelé mettre à False la variable
publique Ok
Private Sub Form_Unload(Cancel As Integer)
Forms(NomFormulaireAppelant).Ok = False
End Sub

La variable Ok permet de ne pas ouvrir le formulaire appelé (le 2ème ) à
l'ouverture du formulaire appelant. De plus sur libération du formulaire
appelé, tu la réinitialises pour éviter que le formulaire appelé s'ouvre
systématiquement. Il appartiendra à l'utilisateur de recliquer sur le
bouton de fin de ligne pour avoir le détail de l'enregistrement
sélectionné dès lors qu'il a fermé le formulaire détail.

Ok ?

Bonjour à tous, j'ai un formulaire basé sur une requête qui affiche en
continu des enregistrements et sur chaque enregistrement j'ai un bouton qui
affiche des détails. Comment je peux obtenir que quand je passe d'un
enregistrement à un autre les détails soient mis à jour (pour le moment je
doit fermer ce deuxième formulaire et le réouvrir pour afficher les détails
du nouvel enregistrement pointé).
D'avance merci

Jean-Christophe


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
Bonjour cyberjc,

Dans ce cas là, le formulaire appelé doit avoir Fenêtre indépendante à
Oui. Il sera toujours ouvert et au-dessus du formulaire appelant même
s'il n'a pas le focus. De plus si tu maximize le formulaire appelant, le
formulaire appelé conserve sa taille.

Il faudrait modifier sur l'évènement Unload du formulaire appelé comme suit:

Private Sub Form_Unload(Cancel As Integer)
If CurrentProject.AllForms("NomFormulaireAppelant").IsLoaded Then
Forms("NomFormulaireAppelant").Ok = False
End If
End Sub
(Il faudrait même s'assurer qu'il n'est pas ouvert en mode Design)
afin de pouvoir manipuler ce formulaire tout seul.

De plus, il faut remettre le focus sur le formulaire appelant derrière
la commande Docmd.openform ... comme ça celui-ci est toujours l'actif.

Merci Eric, c'est parfait. J'ai un autre souci qui est celui d' avoir un
affichage type "popup" des détails (un peu comme la fenêtre "propriétés" du
mode création) je m'y perds complet dans les modes fenêtres "indépendante",
"modale", "centrée", "ajustée", minimizer, maximiser etc, etc...

Merci d'avance.

Jean-Christophe



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr