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 :

Désactiver un bouton dans un form par lui même ? [AC-2007]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut Désactiver un bouton dans un form par lui même ?
    Bonjour à tous et toutes.

    J'ai créé une application Access et c'est d'ailleurs un miracle pour moi qui suis autodidacte.
    Je souhaite interdire l'utilisateur de saisir une date > à Date().
    Ca je sais faire mais je voudrais compliquer un peu.
    Voici un bout de code qui j'ai trouvé sur internet (un exemple sera plus simple que longues explications)

    Au début Textbox est = 0
    On clique sur cmdIncrease 14 fois et on obtient 14 dans Textbox : normal mais... comment faire pour désactiver le bouton dés le quinzième clique (puisque Textbox=15) ?
    Dans l'exemple suivant il est désactivé au 16ème clique.

    Je cherche la solution depuis un bon moment, en vain.
    Merci de votre aide.


    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
    Option Compare Database
    Option Explicit
     
    Private m_intActualValue As Integer
     
    Private Sub cmdIncrease_Click()
      If IsNull(Me!txtValeur) Then Me!txtValeur = 0
      m_intActualValue = Me!txtValeur
      If m_intActualValue >= 15 Then
        m_intActualValue = 15
        cmdDecrease.SetFocus
        cmdIncrease.Enabled = False
        Exit Sub
      End If
      cmdDecrease.Enabled = True
      m_intActualValue = m_intActualValue + 1
      Me!txtValeur = m_intActualValue
    End Sub

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    bonjour
    Et ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsNull(Me!txtValeur) Then Me!txtValeur = 1
    @+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Bonjour Keita

    Merci pour ta réponse mais ça ne fonctionne pas.
    D'ailleurs je ne vois pas non plus le raisonnement.
    Ce que je souhaite en reprenant le code exemple c'est que puisque le maximun autorisé est 15, dés que le Txtbox affiche 15, mon bouton se séactive.
    Si sur ouverture du form Texbox=0 , je voudrais que 15 clicks plustard mon bouton cmdIncrease se désactive et non pas 16 clicks.

    Merci encore.

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Vite fait, sans utilisation de variable...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdIncrease_Click()
    If IsNull(Me!txtValeur) Then Me!txtValeur = 0
     
    Me.txtValeur.Value = Me.txtValeur.Value + 1
    If Me.txtValeur.Value = 15 Then
        cmdDecrease.SetFocus
        cmdIncrease.Enabled = False
        Exit Sub
    End If
    End Sub
    ....dès que la valeur est égale à 15, le bouton est désactivé...

    ..à adapter (en particulier, par la récupération du jour de la date en cours...)
    Ce qui te permettra de répondre à ce critère...
    ...interdire l'utilisateur de saisir une date > à Date().
    Comment obtenir le mois, le jour ou l'année d'une date
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Bonjour FreeAccess

    Ca marche super.
    C'est exactement ce qu je cherchais et d'ailleurs mon projet de base est précisément d'interdire la saisie d'une date > Date().
    Je n'ai plus qu'à l'adapter à mon applic.

    Merci encore.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enumeration de boutons dans une form
    Par Yeti_in dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/05/2008, 03h00
  2. Désactivé un bouton dans la barre d'outils et dans le menu
    Par la_praline dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 08/04/2008, 11h22
  3. [HTML] centrer un bouton dans un form
    Par lince102 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 28/03/2008, 15h57
  4. [Forms]Concernant les boutons dans Oracle Forms 9 i
    Par samba2005kanoute dans le forum Forms
    Réponses: 1
    Dernier message: 29/11/2006, 13h07
  5. [MySQL] plusieurs bouton dans 1 form
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/02/2006, 09h40

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