Faire apparaitre un bouton selon valeur
enzo29
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Enzo29 -
Enzo29 -
Bonjour,
Débutant sur Access, mais me débrouillant plus bien, je reste toutefois coincé sur un malheureux problème que je cherche à résoudre depuis plus de 2 heures.
Je m'explique rapidement:
Sur un formulaire (Affichage Unique) je cherche la solution de faire apparaitre un Bouton [Enregistrer] uniquement si le champ [ecrat] = 0. Pour Info, Le champ [ecart] est la somme de plusieurs champs dans ce même formulaire.
La valeur de [Enregistrer] est à: "Non" dans la propriété du bouton à Visible.
Voici mon code:
Private Sub Form_Current()
Me.[Enregistrer].Visible = False
If [ecart] = "0" Then
Me.[Enregistrer].Visible = True
Else
Me.[Enregistrer].Visible = False
End If
End Sub
Mais çà ne fonctionne pas.
Si une personne à une solution, je suis preneur. Un grand merci à l'avance !!!!
Débutant sur Access, mais me débrouillant plus bien, je reste toutefois coincé sur un malheureux problème que je cherche à résoudre depuis plus de 2 heures.
Je m'explique rapidement:
Sur un formulaire (Affichage Unique) je cherche la solution de faire apparaitre un Bouton [Enregistrer] uniquement si le champ [ecrat] = 0. Pour Info, Le champ [ecart] est la somme de plusieurs champs dans ce même formulaire.
La valeur de [Enregistrer] est à: "Non" dans la propriété du bouton à Visible.
Voici mon code:
Private Sub Form_Current()
Me.[Enregistrer].Visible = False
If [ecart] = "0" Then
Me.[Enregistrer].Visible = True
Else
Me.[Enregistrer].Visible = False
End If
End Sub
Mais çà ne fonctionne pas.
Si une personne à une solution, je suis preneur. Un grand merci à l'avance !!!!
A voir également:
- Faire apparaitre un bouton selon valeur
- Apparaitre hors ligne instagram - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Comment faire apparaître le curseur sans souris - Guide
- Apparaitre hors ligne whatsapp - Guide
- Comment faire apparaître le clavier sur une tablette - Guide
12 réponses
Bonjour enzo29,
La syntaxe ci-après, est à placer dans l'événement sur ouverture du formulaire.
Je vous laisse le soin de l'adapter à votre contexte.
Private Sub Form_Open(Cancel As Integer)
If <Champ_1>.Value = "" Then
<Champ_1>.Visible = False
End If
End Sub
Cordialement
La syntaxe ci-après, est à placer dans l'événement sur ouverture du formulaire.
Je vous laisse le soin de l'adapter à votre contexte.
Private Sub Form_Open(Cancel As Integer)
If <Champ_1>.Value = "" Then
<Champ_1>.Visible = False
End If
End Sub
Cordialement
Bonjour et merci pour le code.
J'ai bien essayer mais rien y Fait.
Si je reprends le code via mes données ca fait:
Evenement sur Ouverture du Formulaire
If DiffCaisse.Value = "0" Then
DiffCaisse.Visible = False
End If
Le bouton "Enregister" n'apparait toujours pas si DiffCaisse est a 0.
Je coince toujours.
J'ai bien essayer mais rien y Fait.
Si je reprends le code via mes données ca fait:
Evenement sur Ouverture du Formulaire
If DiffCaisse.Value = "0" Then
DiffCaisse.Visible = False
End If
Le bouton "Enregister" n'apparait toujours pas si DiffCaisse est a 0.
Je coince toujours.
Le champ qui contient la valeur testée, ne doit pas avoir le même nom que le bouton.
Diffcaisse est bien le nom du champ numérique contenant zéro ?
Jean-J.
Diffcaisse est bien le nom du champ numérique contenant zéro ?
Jean-J.
Bonjour Jean-Jacques,
Merci pour le code, mais toujours rien... Cà ne fonctionne pas :-(
Voici mon code actuel:
If DiffCaisse.Value = 0 Then
DiffCaisse.Visible = False
End If
Pour Information:
"DiffCaisse" correspond au champs numérique dans lequel doit apparaitre la valeur 0,00€ champs de Format Euro
"Enregistrer" correspond au Bouton qui lui doit apparaitre des que DiffCaisse affiche 0,00€
Est-Il possible que cela vient du Format Euro du champs "DiffCaisse"?
Pour Indo, "DiffCaisse" est la somme de plusieurs champs.
Si ca peut aider.
Je galère et j'ai essayer plusieurs possibilité mais rien y fait.
Encore Merci pour tous.
Enzo
Merci pour le code, mais toujours rien... Cà ne fonctionne pas :-(
Voici mon code actuel:
If DiffCaisse.Value = 0 Then
DiffCaisse.Visible = False
End If
Pour Information:
"DiffCaisse" correspond au champs numérique dans lequel doit apparaitre la valeur 0,00€ champs de Format Euro
"Enregistrer" correspond au Bouton qui lui doit apparaitre des que DiffCaisse affiche 0,00€
Est-Il possible que cela vient du Format Euro du champs "DiffCaisse"?
Pour Indo, "DiffCaisse" est la somme de plusieurs champs.
Si ca peut aider.
Je galère et j'ai essayer plusieurs possibilité mais rien y fait.
Encore Merci pour tous.
Enzo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir Enzo29,
J'ai procédé à un essai. Avec ce code le bouton nommé : "Bouton_essai" , est masqué lorsque le numéro de l'article est à "1".
Private Sub Form_Load()
If Réf_Article = "1" Then
Bouton_essai.Visible = False
End If
End Sub
J'ai procédé à un essai. Avec ce code le bouton nommé : "Bouton_essai" , est masqué lorsque le numéro de l'article est à "1".
Private Sub Form_Load()
If Réf_Article = "1" Then
Bouton_essai.Visible = False
End If
End Sub
Bonjour Jacques-Jeean,
Je viens de lire a l'instant ton message.
Je me suis en pressé de coder sur mon p'tit programme mais rien. Rien ne bouge;
Voici mon code:
Private Sub Form_Load()
If DiffCaisse = "1" Then
Enregistrer.Visible = False
End If
End Sub
Exactemement ton code.... Boooo:-((( Gros Binsssss
J'y comprends rien là car ca me semblait plutôt logic.
Merci quand même !!!!
Enzo
Je viens de lire a l'instant ton message.
Je me suis en pressé de coder sur mon p'tit programme mais rien. Rien ne bouge;
Voici mon code:
Private Sub Form_Load()
If DiffCaisse = "1" Then
Enregistrer.Visible = False
End If
End Sub
Exactemement ton code.... Boooo:-((( Gros Binsssss
J'y comprends rien là car ca me semblait plutôt logic.
Merci quand même !!!!
Enzo
Bonjour et Encore merci de m'aider,
Mais malheureusement tjs pareil..... Grrrr !!!!
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = False
End If
Exactement ce que j'ai fait, avec le bouton "Enregisrtrer" à Visible NON.
J'ai essayé toutes les Solutions même avec essai: If DiffCaisse <> 1 Then
Mais rien n'y fait le bouton n'apparait toujours pas.
En tout cas, merci et grand merci pour tous.
Mais malheureusement tjs pareil..... Grrrr !!!!
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = False
End If
Exactement ce que j'ai fait, avec le bouton "Enregisrtrer" à Visible NON.
J'ai essayé toutes les Solutions même avec essai: If DiffCaisse <> 1 Then
Mais rien n'y fait le bouton n'apparait toujours pas.
En tout cas, merci et grand merci pour tous.
Bonjour Jean-Jacques,
Merci de vous intéresser à mon cas, dirons-nous particulier !!!
Afin de répondre à votre dernier message :
DiffCaisse est un champ de format Euros .
La source de DiffCaisse est la somme de plusieurs autres champs. Le calcul fonctionne parfaitement.
Sources contrôle de DiffCaisse = [Total Caisse]-[Fond de Caisse]+[Equilibrage]
Le but étant de trouvé 0,00 € au Champs DiffCaisse afin que l'utilisateur puisse enregistrer ce contrôle de caisse et d'imprimer l'état correspondant,( d'où faire apparaitre ce fameux bouton « Enregistrer ») à 0. Ce qui permet à l'utilisateur trouver l'erreur de caisse sans valider à tout bout de champs avec un différence.
Le champs DiffCaisse est Visible mais non actif et verrouillé ce qui reste logique.
Pour expliquer le but de ce petit programme, C'est effectué un état de caisse chaque jour en fin de journée pour le personnel de l'entreprise.
Je parcours plein de forum, mais je bloque sur ce petit soucis.
Espérant que ces informations pourront vous emporter une solution à mon problème,
Je vous remercie par avance,
Merci encore.
Enzo
Merci de vous intéresser à mon cas, dirons-nous particulier !!!
Afin de répondre à votre dernier message :
DiffCaisse est un champ de format Euros .
La source de DiffCaisse est la somme de plusieurs autres champs. Le calcul fonctionne parfaitement.
Sources contrôle de DiffCaisse = [Total Caisse]-[Fond de Caisse]+[Equilibrage]
Le but étant de trouvé 0,00 € au Champs DiffCaisse afin que l'utilisateur puisse enregistrer ce contrôle de caisse et d'imprimer l'état correspondant,( d'où faire apparaitre ce fameux bouton « Enregistrer ») à 0. Ce qui permet à l'utilisateur trouver l'erreur de caisse sans valider à tout bout de champs avec un différence.
Le champs DiffCaisse est Visible mais non actif et verrouillé ce qui reste logique.
Pour expliquer le but de ce petit programme, C'est effectué un état de caisse chaque jour en fin de journée pour le personnel de l'entreprise.
Je parcours plein de forum, mais je bloque sur ce petit soucis.
Espérant que ces informations pourront vous emporter une solution à mon problème,
Je vous remercie par avance,
Merci encore.
Enzo
Bonjour,
J'avais compris à l'envers ....
Dans votre cas, la syntaxe standard est :
If condition_1 Then
result_1
ElseIf condition_2 Then
result_2
...
ElseIf condition_n Then
result_n
Else
result_else
End If
**********
- Ceci devrait fonctionner .....
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible
Else
Enregistrer.Visible=false
End If
Une question pour info
Quelle est votre version de Access ?
J'avais compris à l'envers ....
Dans votre cas, la syntaxe standard est :
If condition_1 Then
result_1
ElseIf condition_2 Then
result_2
...
ElseIf condition_n Then
result_n
Else
result_else
End If
**********
- Ceci devrait fonctionner .....
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible
Else
Enregistrer.Visible=false
End If
Une question pour info
Quelle est votre version de Access ?
Bonjour,
Effectivement, vous ne pouvez être dans ma tête et c'est vrai que définir ce que l'on veut demande plus d'explication, je conviens ;
J'ai donc essayer votre code et j'ai eu un petit problème de syntaxe que je pense avoir résolue.
Votre code :
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible
Else
Enregistrer.Visible=false
End If
Erreur de syntaxe sur la ligne : Enregistrer.Visible
Donc corrigé par :
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible = True (Si je ne me trompe pas)
Else
Enregistrer.Visible=false
End If
Mais malheureusement toujours pareil sauf que si je positionne "Enregistrer" sur Visible Oui il n'apparait plus. Par contre, Si le montant de DiffCaisse à 0, Le bouton « Enregistrer » lui n'apparait toujours pas.
Je pense que nous ne sommes est pas loin du but. Aurions nous oublié un truc mais je ne vois pas quoi...
Je suis sous Access 2003.
Merci beaucoup Jean-Jacques
Enzo
Effectivement, vous ne pouvez être dans ma tête et c'est vrai que définir ce que l'on veut demande plus d'explication, je conviens ;
J'ai donc essayer votre code et j'ai eu un petit problème de syntaxe que je pense avoir résolue.
Votre code :
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible
Else
Enregistrer.Visible=false
End If
Erreur de syntaxe sur la ligne : Enregistrer.Visible
Donc corrigé par :
Private Sub Form_Load()
If DiffCaisse = 0 Then
Enregistrer.Visible = True (Si je ne me trompe pas)
Else
Enregistrer.Visible=false
End If
Mais malheureusement toujours pareil sauf que si je positionne "Enregistrer" sur Visible Oui il n'apparait plus. Par contre, Si le montant de DiffCaisse à 0, Le bouton « Enregistrer » lui n'apparait toujours pas.
Je pense que nous ne sommes est pas loin du but. Aurions nous oublié un truc mais je ne vois pas quoi...
Je suis sous Access 2003.
Merci beaucoup Jean-Jacques
Enzo
Bonjour, et Merci,
Malheureusement ca ne fonctionne toujours pas.
Bouton = Visible à Non le bouton « Enregistrer » pas visible
Bouton = Visible à Oui le bouton « Enregistrer » pas visible
Montant de DiffCaisse a 0,00€ - le bouton « Enregistrer » pas visible
Montant de DiffCaisse > ou < à 0,00€ - Le bouton « Enregistrer » pas visible
Je comprends plus rien. Est-ce le format Euro qui bloquerai ??
Voici mon Code :
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = True
Else
Enregistrer.Visible = False
End If
End Sub
Jean-Jacques, je vous remercie en tout du temps que vous passer à m'aider et je vous en remercie grandement.
Si cela ne fonctionne pas, cest pas grave.
Grand Merci en tout cas
Enzo29
Malheureusement ca ne fonctionne toujours pas.
Bouton = Visible à Non le bouton « Enregistrer » pas visible
Bouton = Visible à Oui le bouton « Enregistrer » pas visible
Montant de DiffCaisse a 0,00€ - le bouton « Enregistrer » pas visible
Montant de DiffCaisse > ou < à 0,00€ - Le bouton « Enregistrer » pas visible
Je comprends plus rien. Est-ce le format Euro qui bloquerai ??
Voici mon Code :
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = True
Else
Enregistrer.Visible = False
End If
End Sub
Jean-Jacques, je vous remercie en tout du temps que vous passer à m'aider et je vous en remercie grandement.
Si cela ne fonctionne pas, cest pas grave.
Grand Merci en tout cas
Enzo29
Bonsoir Jean-Jacques,
Avant je vous remercie encore milles fois du temps que vous avez passé à m'aider.
Par contre, j'ai découvert une petite anomalie dans le code qui je pense pourrais peut-être vous mettre le puce à l'oreille. Un truc Bizarre !!! Je m'en suis aperçu tout en modifiant les contrôles, et code.
Je m'en explique :
Mon Champ « DiffCaisse » est un champ qui reçoit la somme d'autres Champs comme j'ai pu vous parler auparavant.
Dans la logique des choses, vous en conviendrez, le champ « DiffCiasse » ne peut-être modifier par l'utilisateur :
Donc les propriétés de « DiffCaisse » Visible= Oui / Actif = Non / Vérouillé = Oui, ce qui permet de rendre ce contrôle comme Visu par l'utilisateur.
Pour l'instant tout va bien, mais depuis que j'ai inséré le code ci-dessous sur le formulaire, j'ai remarqué que le Champ « DiffCaisse » se dévérouille et s'active une fois que la Valeur de « DiffCiasse » est égale a 0 :
Je ne l'avais pas remarqué avant.... Bugggg
Code :
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = True
Else
Enregistrer.Visible = False
End If
Je tenais à vous signaler cette nouvelle information, si cette anomalie vous mets la puce à l'oreille.
D'avance, merci de votre patience.
Enzo
Avant je vous remercie encore milles fois du temps que vous avez passé à m'aider.
Par contre, j'ai découvert une petite anomalie dans le code qui je pense pourrais peut-être vous mettre le puce à l'oreille. Un truc Bizarre !!! Je m'en suis aperçu tout en modifiant les contrôles, et code.
Je m'en explique :
Mon Champ « DiffCaisse » est un champ qui reçoit la somme d'autres Champs comme j'ai pu vous parler auparavant.
Dans la logique des choses, vous en conviendrez, le champ « DiffCiasse » ne peut-être modifier par l'utilisateur :
Donc les propriétés de « DiffCaisse » Visible= Oui / Actif = Non / Vérouillé = Oui, ce qui permet de rendre ce contrôle comme Visu par l'utilisateur.
Pour l'instant tout va bien, mais depuis que j'ai inséré le code ci-dessous sur le formulaire, j'ai remarqué que le Champ « DiffCaisse » se dévérouille et s'active une fois que la Valeur de « DiffCiasse » est égale a 0 :
Je ne l'avais pas remarqué avant.... Bugggg
Code :
Private Sub Form_Load()
If DiffCaisse <> 0 Then
Enregistrer.Visible = True
Else
Enregistrer.Visible = False
End If
Je tenais à vous signaler cette nouvelle information, si cette anomalie vous mets la puce à l'oreille.
D'avance, merci de votre patience.
Enzo