Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mise à jour d un sous formulaire à partir d une case du formulaire principale dont la valeur est modifiée par un bouton bascule...

5 réponses
Avatar
j
Bonjour à tous


Voici mon problème:

J ai un formulaire principal qui contient un bouton bascule et un sous
formulaire.
Le bouton bascule permet de séléctionner la personne dont on veut afficher
l'état civil et affiche ainsi le code état civil de la table [état civil] de
la personne sélectionner dans une case du formulaire principal.
le sous formulaire qui est censé afficher l'état civil de la personne
sélectionné à l aide du bouton bascule est basé sur une requete qui prend
comme critére de sélection du code état civil la case du formulaire
principale où est modifiée la valeur par le bouton bascule.
le probléme est donc qu' en cliquant sur le bouton bascule la valeur dans la
case est bien modifié mais le sous formulaire reste blanc comme neige à
chaque fois.

J ai essayé plusieurs solutions:
-apres modification de la valeur de la case je fais un sous
formulaire.requery ca ne marche pas
-apres modification de la valeur de la case je fais un requery pour tout le
formulaire ca marche mais le pointeur d'enregistrement remonte en haut de la
table et stocke pour d'autres personnes des infos qui ne leur sont donc pas
associées...!donc en faites c pas bon du tout
-même combat avec la macro actualiser
-apres modification de la valeur de la case je fait un petit
Me.refresh--->marche pas...mon sous formulaire n'affiche pas les
renseignements voulu
-lier mon sous-formulaire avec la case de mon formulaire grace au options
champs père et champs fils, marche pas non plus... : =(

quand je dis que ca ne marche pas c que les enregistrements ne s'afiche par
pour tous les boutons....et pour ceux ou ca ne s'affiche pas lorsque que
l'on clik sur un sous formulaire adjacent(ce qui doit l'activer) qui
contient des infos similaires à celle qui doivent être affiché l'effet
désiré se produit.
bref ca marche mais pas à tt les coups comme s'il y avait un probleme
d'activation des données ou de raffraichissement....

j ai fait des recherches sur les forums et sur le net et rien...

bref je suis un peu désespéré si kkun a une idée pour aider le ptit j@co ca
serait super...

@+

5 réponses

Avatar
Raymond [mvp]
Bonsoir.

Je n'ai pas lu jusqu'au bout ( un peu indigeste) car un bouton bascule n'a
que deux états: On et Off (1 ou 0). Il ne peut donc pas être utilisé pour
sélectionner des enregistrements ( des personnes).
Si tu veux avoir des réponses demain matin, il faudrait que tu précises ce
point en indiquant quel type de contrôles tu utilises: liste modifiable,
liste etc.....

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:40ec1c91$0$11887$
Bonjour à tous


Voici mon problème:

J ai un formulaire principal qui contient un bouton bascule et un sous
formulaire.
Le bouton bascule permet de séléctionner la personne dont on veut afficher
l'état civil et affiche ainsi le code état civil de la table [état civil]
de

la personne sélectionner dans une case du formulaire principal.
le sous formulaire qui est censé afficher l'état civil de la personne
sélectionné à l aide du bouton bascule est basé sur une requete qui prend
comme critére de sélection du code état civil la case du formulaire
principale où est modifiée la valeur par le bouton bascule.
le probléme est donc qu' en cliquant sur le bouton bascule la valeur dans
la

case est bien modifié mais le sous formulaire reste blanc comme neige à
chaque fois.

J ai essayé plusieurs solutions:
-apres modification de la valeur de la case je fais un sous
formulaire.requery ca ne marche pas
-apres modification de la valeur de la case je fais un requery pour tout
le

formulaire ca marche mais le pointeur d'enregistrement remonte en haut de
la

table et stocke pour d'autres personnes des infos qui ne leur sont donc
pas

associées...!donc en faites c pas bon du tout
-même combat avec la macro actualiser
-apres modification de la valeur de la case je fait un petit
Me.refresh--->marche pas...mon sous formulaire n'affiche pas les
renseignements voulu
-lier mon sous-formulaire avec la case de mon formulaire grace au options
champs père et champs fils, marche pas non plus... : =(

quand je dis que ca ne marche pas c que les enregistrements ne s'afiche
par

pour tous les boutons....et pour ceux ou ca ne s'affiche pas lorsque que
l'on clik sur un sous formulaire adjacent(ce qui doit l'activer) qui
contient des infos similaires à celle qui doivent être affiché l'effet
désiré se produit.
bref ca marche mais pas à tt les coups comme s'il y avait un probleme
d'activation des données ou de raffraichissement....

j ai fait des recherches sur les forums et sur le net et rien...

bref je suis un peu désespéré si kkun a une idée pour aider le ptit
ca

serait super...

@+




Avatar
j
je vais essayer d être un peu plus concis...

en gros ma base contient trois types de personne:
-des papas
-des mamans
-et leurs enfants
-et des tuteurs

pour attribuer une bourse à un enfant on doit choisir qui
est son représentant légal (le papa la maman ou l enfant
lui même)
d où le bouton bascule avec trois cases (une par personne)
ce bouton met dans une case du formulaire le code de la
personne choisie.
Il y a un sous formulaire en dessous du bouton bascule et
ce formulaire est censé afficher l état civil
correspondant au code de la case modifié par le bouton
bascule...ouf
et la le formulaire n'affiche pas tjs les
renseignements... il reste blanc ou affiche mais c'est
aléatoire...
d ou les différentes solutions exposées plus haut...

merci
++

-----Message d'origine-----
Bonsoir.

Je n'ai pas lu jusqu'au bout ( un peu indigeste) car un
bouton bascule n'a

que deux états: On et Off (1 ou 0). Il ne peut donc pas
être utilisé pour

sélectionner des enregistrements ( des personnes).
Si tu veux avoir des réponses demain matin, il faudrait
que tu précises ce

point en indiquant quel type de contrôles tu utilises:
liste modifiable,

liste etc.....

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:40ec1c91$0$11887$
Bonjour à tous


Voici mon problème:

J ai un formulaire principal qui contient un bouton
bascule et un sous


formulaire.
Le bouton bascule permet de séléctionner la personne
dont on veut afficher


l'état civil et affiche ainsi le code état civil de la
table [état civil]


de
la personne sélectionner dans une case du formulaire
principal.


le sous formulaire qui est censé afficher l'état civil
de la personne


sélectionné à l aide du bouton bascule est basé sur une
requete qui prend


comme critére de sélection du code état civil la case
du formulaire


principale où est modifiée la valeur par le bouton
bascule.


le probléme est donc qu' en cliquant sur le bouton
bascule la valeur dans


la
case est bien modifié mais le sous formulaire reste
blanc comme neige à


chaque fois.

J ai essayé plusieurs solutions:
-apres modification de la valeur de la case je fais un
sous


formulaire.requery ca ne marche pas
-apres modification de la valeur de la case je fais un
requery pour tout


le
formulaire ca marche mais le pointeur d'enregistrement
remonte en haut de


la
table et stocke pour d'autres personnes des infos qui
ne leur sont donc


pas
associées...!donc en faites c pas bon du tout
-même combat avec la macro actualiser
-apres modification de la valeur de la case je fait un
petit


Me.refresh--->marche pas...mon sous formulaire
n'affiche pas les


renseignements voulu
-lier mon sous-formulaire avec la case de mon
formulaire grace au options


champs père et champs fils, marche pas non plus... : =(

quand je dis que ca ne marche pas c que les
enregistrements ne s'afiche


par
pour tous les boutons....et pour ceux ou ca ne
s'affiche pas lorsque que


l'on clik sur un sous formulaire adjacent(ce qui doit
l'activer) qui


contient des infos similaires à celle qui doivent être
affiché l'effet


désiré se produit.
bref ca marche mais pas à tt les coups comme s'il y
avait un probleme


d'activation des données ou de raffraichissement....

j ai fait des recherches sur les forums et sur le net
et rien...



bref je suis un peu désespéré si kkun a une idée pour
aider le ptit


ca
serait super...

@+





.




Avatar
Raymond [mvp]
Bonjour.

Donc c'est un groupe d'options avec 3 boutons bascule.
L'état civil se trouve-t-il dans la même table selon le "tuteur" ou est-il
dans 3 tables séparées ?
le recordsource du sous-formulaire pour cet état civil est-il avec une
clause where ou mets-tu seulement un filtre avec la valeur du bouton ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" a écrit dans le message de
news:2843801c464ca$b2c23560$
je vais essayer d être un peu plus concis...

en gros ma base contient trois types de personne:
-des papas
-des mamans
-et leurs enfants
-et des tuteurs

pour attribuer une bourse à un enfant on doit choisir qui
est son représentant légal (le papa la maman ou l enfant
lui même)
d où le bouton bascule avec trois cases (une par personne)
ce bouton met dans une case du formulaire le code de la
personne choisie.
Il y a un sous formulaire en dessous du bouton bascule et
ce formulaire est censé afficher l état civil
correspondant au code de la case modifié par le bouton
bascule...ouf
et la le formulaire n'affiche pas tjs les
renseignements... il reste blanc ou affiche mais c'est
aléatoire...
d ou les différentes solutions exposées plus haut...

merci
++
Avatar
Raymond [mvp]
normalement le Me.Refresh devrait faire l'affaire, mais vu qu'il ne le fait
pas, je ne vois pas.
peux-tu me passer ta base dans un fichier zip, par mail en enlevant XYZ.
dans mon adresse. je regarderai ce soir.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"" @discussions.microsoft.com> a écrit dans le message de
news:
tous les états civils sont dans la meme table [etat civil]
au départ dans la requete du sous formulaire j'avais comme critère de
[code etat civil] le code inscrit dans la case du formulaire principal mais

ca ne marchait pas à tous les coups ..puis même combat avec champs père et
champs fils
le seul truc qui marche à peu près c est actualiser tout le formulaire
principal sur clik relaché mais le bouton bascule ne reste pas enfoncé à

cause de l'actualisation donc on ne sait pas sur qui on a appuyé et le
pointeur de l enregistrement se place au tout début de la table-source du
formulaire principal écrasant les infos déjà rentrées

Avatar
Raymond [mvp]
Réponse donnée par mail:

Il y a une rreur de compil, variable code non déclarée dans le formulaire
EntrezNom_bourse_maj. Toute erreur de compil a des conséquences sur le
déroulement de l'application. Toujours compiler avant de faire des essais.

If Not IsNull(Forms![Bourse
modif]![Sous_formulaire_ressortissant].Form![Code Tuteur] = 0) Then
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_ressortissant].Form![Code Tuteur]

Ce genre de commande retourne toujours True ou False ce qui ne sera jamais
Null, donc le If recevra toujours la valeur Not Null.

Je pense que tu voulais indiquer:

If Not IsNull(Forms![Bourse
modif]![Sous_formulaire_ressortissant].Form![Code Tuteur]) Then
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_ressortissant].Form![Code Tuteur]

Ton problème vient de là.

Idem sur les 3 boutons.

Le Me.Refresh doit être placé dans les 3 procédures juste avant le end sub

Ce qui donnerait ça:
Option Compare Database
Option Explicit
Private Sub Bascule61_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
' bouton bascule qui renvoie le ressortissant ou son tuteur en priorité
comme destinataire de la bourse
If Not IsNull(Forms![Bourse
modif]![Sous_formulaire_ressortissant].Form![Code Tuteur]) Then
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_ressortissant].Form![Code Tuteur]
Else
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_ressortissant].Form![Code Ressortissant]
End If
Me.Refresh
End Sub

Private Sub Bascule62_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
' bouton bascule qui renvoie le Candidat ou son tuteur en priorité comme
destinataire de la bourse
If Not IsNull(Forms![Bourse modif]![Candidat :].Form![Code Tuteur]) Then
Forms![Bourse modif]![Texte66] = Me![Candidat :].Form![Code Tuteur]
Else
Forms![Bourse modif]![Texte66] = Me![Candidat :].Form![CodeEC]
End If
Me.Refresh
End Sub

Private Sub Bascule63_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
' bouton bascule qui renvoie le conjoint ou son tuteur en priorité comme
destinataire de la bourse
If Not (IsNull(Forms![Bourse
modif]![Sous_formulaire_bourse_ajout_conjoint].Form![Code Tuteur]) Or
Forms![Bourse modif]![Sous_formulaire_bourse_ajout_conjoint].Form![Code
Tuteur] = 0) Then
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_bourse_ajout_conjoint].Form![Code Tuteur]
Else
Forms![Bourse modif]![Texte66] Me![Sous_formulaire_bourse_ajout_conjoint].Form![CodeEC]
End If
Me.Refresh
End Sub

Je ne peux pas vérifier si les If dans les boutons sont corrects ou non .

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum