OVH Cloud OVH Cloud

affichage contrôle / bouton de commande

11 réponses
Avatar
Laurent
Bonjour à Tous,

Je cherche en vain depuis + d'une semaine une solution à un pb qui me semble
pourtant simple :

dans un Forms, j'ai un contrôle indépendant contenant des infos relatives au
Forms mais basé sur un requête différente du Forms (en résumé, cela pourrait
ressembler à un SForms)
Lorsque qu'aucune info n'apparaît dans le contrôle indépendant, je
souhaiterais qu'un bouton de commande deviennent invisible.
Comment faire pour contrôler qu'aucune référence ne figure dans ce contrôle
indépendant ?
Merci de votre précieuse aide.

Laurent

10 réponses

1 2
Avatar
pgz
Si ton contrôle contient un formulaire(~SF), tu peux en en-tête ou dans le
pied définir un contrôle du genre Compte(Un champ de ce SF). Quand le SF ne
contient aucun enregistrement, suivant la formule son contrôle de pied de
page sera Null ou 0.
Bonne chance.
pgz


Bonjour à Tous,

Je cherche en vain depuis + d'une semaine une solution à un pb qui me semble
pourtant simple :

dans un Forms, j'ai un contrôle indépendant contenant des infos relatives au
Forms mais basé sur un requête différente du Forms (en résumé, cela pourrait
ressembler à un SForms)
Lorsque qu'aucune info n'apparaît dans le contrôle indépendant, je
souhaiterais qu'un bouton de commande deviennent invisible.
Comment faire pour contrôler qu'aucune référence ne figure dans ce contrôle
indépendant ?
Merci de votre précieuse aide.

Laurent


Avatar
3stone
Salut,

"Laurent"
| dans un Forms, j'ai un contrôle indépendant contenant des infos relatives au
| Forms mais basé sur un requête différente du Forms (en résumé, cela pourrait
| ressembler à un SForms)
| Lorsque qu'aucune info n'apparaît dans le contrôle indépendant, je
| souhaiterais qu'un bouton de commande deviennent invisible.
| Comment faire pour contrôler qu'aucune référence ne figure dans ce contrôle
| indépendant ?


Dans l'événement "Sur activation" dur form principal

If Me.sfNomForm.Form.RecordsetClone.RecordCount <> 0 Then
Me.cmdBouton.Enabled = True
Else
Me.cmdBouton.Enabled = False
End If



"sfNomForm" est le nom du contrôle sous-formulaire
"cmdButon" est le nom du bouton (ici placé dans le form principal)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Laurent
Bonjour Pierre,


Dans l'événement "Sur activation" dur form principal

If Me.sfNomForm.Form.RecordsetClone.RecordCount <> 0 Then
Me.cmdBouton.Enabled = True
Else
Me.cmdBouton.Enabled = False
End If

"sfNomForm" est le nom du contrôle sous-formulaire
"cmdButon" est le nom du bouton (ici placé dans le form principal)


J'ai recopié ta formule, mais j'ai une erreur de compilation : membre de
méthode ou de données introuvable.

As-tu une idée ?

merci du tuyau

Laurent

Avatar
3stone
re,

"Laurent"
| > Dans l'événement "Sur activation" dur form principal
| >
| > If Me.sfNomForm.Form.RecordsetClone.RecordCount <> 0 Then
| > Me.cmdBouton.Enabled = True
| > Else
| > Me.cmdBouton.Enabled = False
| > End If
| >
| > "sfNomForm" est le nom du contrôle sous-formulaire
| > "cmdButon" est le nom du bouton (ici placé dans le form principal)
|
| J'ai recopié ta formule, mais j'ai une erreur de compilation : membre de
| méthode ou de données introuvable.


Cocher la référence DAO et la "remonter" au dessus de ADO


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Laurent
Salut Pierre

| > If Me.sfNomForm.Form.RecordsetClone.RecordCount <> 0 Then
Cocher la référence DAO et la "remonter" au dessus de ADO


Cela bloque sur .Form. ??

Qu'ai-je mal recopié ?

@+

Laurent

Avatar
3stone
"Laurent"
| > | > If Me.sfNomForm.Form.RecordsetClone.RecordCount <> 0 Then
| > Cocher la référence DAO et la "remonter" au dessus de ADO
|
| Cela bloque sur .Form. ??
|
| Qu'ai-je mal recopié ?


donne ta ligne pour voir, dans ce cas...

et le nom des form et sous-form !


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Laurent
RE,

donne ta ligne pour voir, dans ce cas...

et le nom des form et sous-form !


Il ne s'agit pas d'un SForm, mais d'un contrôle indépendant dans lequel est
affiché des informations relatives au formulaire et crée sur une autre
requête que le Form

le contrôle : ListSej
le Form : HRes
le bouton de commande : Exit

if Me.ListSej.Hres.RecordsetClone.RecordCount <> 0 Then
Me!Exit.Visibleúlse
End if

Merci

Avatar
3stone
re,

"Laurent"
| > donne ta ligne pour voir, dans ce cas...
| >
| > et le nom des form et sous-form !
|
| Il ne s'agit pas d'un SForm, mais d'un contrôle indépendant dans lequel est
| affiché des informations relatives au formulaire et crée sur une autre
| requête que le Form
|
| le contrôle : ListSej
| le Form : HRes
| le bouton de commande : Exit
|
| if Me.ListSej.Hres.RecordsetClone.RecordCount <> 0 Then
| Me!Exit.Visibleúlse
| End if


Bon, je te cite :
"dans un Forms, j'ai un contrôle indépendant contenant des infos relatives au
Forms mais basé sur un requête différente du Forms (en résumé, cela pourrait
ressembler à un SForms)
Lorsque qu'aucune info n'apparaît dans le contrôle indépendant, je
souhaiterais qu'un bouton de commande deviennent invisible."


c'est quoi : ListSej ? (si le formulaire se nomme "Hres"


Comme mets tu une valeur dans ce contrôle indépendant
(qui pourrait ressembler à un sous form !!!)


Si c'est un simple champ texte, un test du Null suffit:

If IsNull(ListSej) Then
Me!cmdExit.Visible = False
else
Me!cmdExit.Visible = True
end if


PS: Exit comme nom de bouton... c'est pas très recherché...
et pourquoi pas IF et Then et ELSE ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Laurent
Re,

c'est quoi : ListSej ? (si le formulaire se nomme "Hres"


le contrôle : ListSej (indépendant, mais reprenant une requête sélection
"R2", avec colonnes)
le Form : HRes (from une requête R1)
le bouton de commande : Exit (sortie sans valider les modifications)


Comme mets tu une valeur dans ce contrôle indépendant
(qui pourrait ressembler à un sous form !!!)


Si c'est un simple champ texte, un test du Null suffit:

If IsNull(ListSej) Then
Me!cmdExit.Visible = False
else
Me!cmdExit.Visible = True
end if


cela ne marche pas, c'est ce que j'ai essayé en 1er lieu. Ensuite j'ai testé
un DCount, puis un RecordsetClone (suivant ton info), mais aucun résultat !

merci

Avatar
3stone
re,

"Laurent"
| > c'est quoi : ListSej ? (si le formulaire se nomme "Hres"
|
| le contrôle : ListSej (indépendant, mais reprenant une requête sélection
| "R2", avec colonnes)


une liste, qui as comme source qque chose comme:
"Select champ1, champ2, champ3 From R2"

c'est ca ?

(faudrait apprendre le nom des objet que tu utilise, c'est plus simple)




| le Form : HRes (from une requête R1)
| le bouton de commande : Exit (sortie sans valider les modifications)
|
|
| > Comme mets tu une valeur dans ce contrôle indépendant
| > (qui pourrait ressembler à un sous form !!!)


Faudrait *aussi* répondre aux questions !!



| cela ne marche pas, c'est ce que j'ai essayé en 1er lieu. Ensuite j'ai testé
| un DCount, puis un RecordsetClone (suivant ton info), mais aucun résultat !


dire "cela ne marche pas" n'apporte rien !!


Pour vous aider, il faut vous tirer les vers du nez, ce qui est un comble
lorsque l'on demande de l'aide, non ?


Donc, si c'est une zone de liste (comme il semblerait ;-)

dans l'événement "sur activation du formulaire (form_current)


If Me.ListSej.ListCount > 0 Then
Me.cmdExit.Visible = True
Else
Me.cmdExit.Visible = False
End If


au moins tu aies encore caché quelque chose, cela fonctionnera ;-)

:o)

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
1 2