IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Bloquer bouton formulaire continu ?


Sujet :

IHM

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 275
    Points
    275
    Par défaut Bloquer bouton formulaire continu ?
    Bonjour à tous,

    Je voudrais mettre en enabled= false un bouton contigu à un registre si telle condition est validée dans un formulaire continu mais je n'y arrive pas.

    C'est à dire que suivant chaque registre le bouton serait activé ou non ...

    Je sais comment coder la condition mais sur quel événement le mettre ?


    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    Citation Envoyé par clickandgo Voir le message
    Je voudrais mettre en enabled= false un bouton contigu à un registre
    Qu'est-ce c'est qu'un bouton contigu à un registre ?
    Je comprends en gros ce que tu veux faire mais ne comprends pas ton contexte...

    Argy

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 275
    Points
    275
    Par défaut
    " Registre" : On va dire une ligne de la requête affichée par le formulaire continu ..."

    Le bouton se trouve à la droite de la ligne, si il y a dix lignes, il y a aussi dix boutons...

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Ok, c'est ce que j'avais supposé.
    Mais pour ce faire, il faut stocker la valeur dans la table par une case à cocher (champ Oui/Non). L'événement approprié serait un simple AfterUpdate sur la case à cocher.
    Toutefois, tu ne pourras pas désactiver la ligne.
    Tu ne pourras qu'agir sur l'événement BeforeUpdate de chaque zone recevant des données où le Cancel recevra la valeur de la case à cocher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Option Compare Database
    Option Explicit
     
    Private Sub Champ1_BeforeUpdate(Cancel As Integer)
        Cancel = Me!chkActive
        If Cancel Then
            MsgBox "Pas possible de modifier la valeur !", vbExclamation
            Me.Champ1.Undo
        End If
    End Sub
     
    Private Sub Champ2_BeforeUpdate(Cancel As Integer)
        Cancel = Me!chkActive
        If Cancel Then
            MsgBox "Pas possible de modifier la valeur !", vbExclamation
            Me.Champ2.Undo
        End If
    End Sub
    Argy

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 275
    Points
    275
    Par défaut
    Merci pour ta réponse mais elle n'a rien à voir avec ce que je demandais ...

    Il s'agit d'activer ou désactiver l' état d'un bouton par rapport à la valeur d'un champ, les données sont en lecture seule.

    Le bouton en question sert à annuler un acompte, il faudrait que le bouton se désactive lorsque la valeur du champ [EtatDocument] =" Annulé ".

    Je sais coder pour faire çà dans un formulaire simple mais dans un continu ça ne veut pas marcher !

    Je rappelle que le dit bouton est répété sur le formulaire autant de fois qu'il y a de registres visibles...

  6. #6
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Une idée c'est de pouvoir changer le nom du bouton pour l'enregistrement dont le champs est en modification et faire le test sur la valeur du champs et du bouton qui lui est correspondant.
    J'ai essayé de faire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [bouton].nom=[champs N°ligne].value
    mais un message disant que la modification n'est possible qu'en mode création.
    A+

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par clickandgo Voir le message
    Je rappelle que le dit bouton est répété sur le formulaire autant de fois qu'il y a de registres visibles...
    Merci pour le rappel
    Tu ne peux pas exploiter la propriété Enabled sur un bouton dans un formulaire continu. Soit il seront tous activés, soit ils seront tous désactivés.
    Seul un contrôle de type booléen peut s'appliquer si sa valeur est stockée dans la table dans un champ Oui/Non.

    Il faut donc t'inspirer que ce que je t'ai proposé pour établir ta condition.
    Si ton champ contient "Annulé", alors la case prend la valeur True et dans ton formulaire parent, tu as un autre bouton qui marque comme effacé (mais que ne supprime pas la ligne) chaque enregistrement à True.
    Le sous formulaire est rafraîchit avec la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE RegistreAnnulé = False
    .

    Argy

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 275
    Points
    275
    Par défaut
    Merci pour ta réponse,

    Je vais devoir trouver une autre solution, peut être revenir à une feuille de données ...

    Je te tiens au courant

  9. #9
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Une idée c'est de mettre sur l'événement de "Clic" du bouton un petit code pour afficher un Msgbox pour bloquer l'événement et émettre un alerte juste avant l'événement pour le quel est créer le bouton, Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    If [EtatDocument].Value = "Annulé" Then
    If MsgBox("Le compte est Annulé", vbOKOnly, "Attention") = vbOK Then
    [EtatDocument].SetFocus
    Else
        'Procédure à exécuter par le bouton normalement
    End If
    End If
    End Sub

  10. #10
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Autre idée : faire en sorte que le bouton soit invisible si le champ [EtatDocument] = " Annulé ".

    Le code serait donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    If Forms![MonFormulaire]![EtatDocument] = "Annulé" Then
    Me.MonBouton.Visible = False
    Else
    Me.MonBouton.Visible = True
    End If
    Bon travail!

  11. #11
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Citation Envoyé par RobiPMS Voir le message
    Autre idée : faire en sorte que le bouton soit invisible si le champ [EtatDocument] = " Annulé ".
    Le problème est le même que pour .Enabled : le bouton devient invisible pour tout le formulaire , mais l'idée est très bien si on peux l'appliquer pour l'enregistrement en cours seulement.
    A+

  12. #12
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    dok flint & RobiPMS, je vois que vous n'avez pas compris la problématique.
    Un bouton qui subi une modification des ses propriétés en mode continu affectera tous les boutons de chaque ligne car un bouton ne peut pas être bindé sur un champ de table.
    C'est pourquoi j'avais suggéré la case à cocher.
    Il appartient à clickandgo de modifier sa conception des choses en amont (niveau conception) pour que ce cas soit traitable par un bouton sur le formulaire Parent et non pas au cas par cas comme il le souhaite.
    La case à cocher peut voir sa valeur stockée ce qui fait que l'on peut intervenir pour modifier l'état d'un "Registre" de façon forcée.

    Argy

  13. #13
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour argyronet ,
    Je suis tout a fait d'accord avec toi pour le bouton et la case à cocher qui reste la solution de stockage ,mais je ne vois pas comment cela peut fonctionner avec le bouton que clickandgo veut garder car je crois que ce bouton
    déclenche un autre événement et il veut neutraliser le bouton avant que l'utilisateur puisse le déclencher et c'est pour ça que j'ai proposé la solution du Msgbox.
    A+

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/03/2010, 09h22
  2. Effets sur boutons dans un formulaire continu
    Par docjo dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/10/2009, 09h12
  3. Réponses: 9
    Dernier message: 12/12/2007, 22h52
  4. Réponses: 2
    Dernier message: 30/03/2007, 15h33
  5. Formulaire continu et boutons de commande
    Par Michel DELAVAL dans le forum Access
    Réponses: 1
    Dernier message: 31/08/2006, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo