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 :

[FORMULAIRE] Activer un contrôle si une zone de texte contient du texte


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [FORMULAIRE] Activer un contrôle si une zone de texte contient du texte
    Bonjour,

    J'essais d'activer une case cocher si une zone de texte contient du texte... Quelqu'un saurait m'aider

    Merci beaucoup

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour sim911

    Cela doit être possible sur l'évènement Change de la zone de texte.

    Voici un petit test avec une zone de texte nommée txtTest et une case à cocher nommée chkTest.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub txtTest_Change()
        If Me.txtTest.Text = "" Or IsNull(Me.txtTest.Text) Then
            Me.chkTest.Value = False
        Else
            Me.chkTest.Value = True
        End If
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Cela doit être possible sur l'évènement Change de la zone de texte
    Cela ne fonctionne que lorsque je modifie le contenu de la zone de texte... Lorsque je change d'enregistrement ou tout simplement ouvre mon formulaire et que cette zone de texte n'est pas vide, cela n'active pas mon contrôle (checkbox). Existe-t-il un évènement directement sur la form? J'ai fait quelques tests d'évènements mais je n'y arrive toujours pas.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Tu peux mettre une valeur par défaut pour ce contrôle.

    Dans les propriétés de ta Chekbox, tu as Valeur par Défaut, il suffit de mettre Faux, ainsi par défaut ta case sera décochée, si tu saisies quelque chose dans ta Textbox, tu la cocheras, si tu ne saisis rien elle sera toujours décochée.

    Tu n'as donc pas à faire un test sur un évènement.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    En fait, ce que je souhaite faire, c'est qu'à l'ouverture du formlaire (et aussi à chaque fois que je change d'enregistrement, si ma zone de texte contient du texte, qu'une case cocher soit activé (et non pas cocher, l'utilisateur pourra si désiré, la cocher par la suite, mais s'il n'y a pas de texte dans la zone, il ne pourra pas cliqué sur la case, puisque la zone sera vide).

    J'ai essayer sous l'évènement load du formulaire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Load()
    If Me.text_NomClient.Text = "" Or IsNull(Me.text_NomClient.Text) Then
            Me.chk_RéservationConfirmée.Enabled = False
        Else
            Me.chk_RéservationConfirmée.Enabled = True
        End If
    End Sub

    Et lorsque j'ouvre mon formulaire, un erreur apparait :

    Erreur d'exécution '2185':
    Impossible de faire référence à une propriété ou de la définir pour un contrôle si ce dernier n'est pas activé.


    Je sais pas si comme ça je suis plus clair?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Dans ce cas remplaceparde même pour le deuxième.

  7. #7
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Je pense que tu aurais pu utiliser l'évènement Sur activation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If isnull(Me.text_NomClient) or Len(Me.text_NomClient) = 0 Then
            Me.chk_RéservationConfirmée.Enabled = False
        Else
            Me.chk_RéservationConfirmée.Enabled = True
        End If
    End Sub
    A+
    Gabout

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Merci

    Oui ça fonctionne du moins à l'ouverture du formulaire... mais lorsque je change d'enregistrement, et que par exemple dans l'enregistrement suivant il y a du texte dans cette zone, la case n'est pas activé?

    On pourrait m'éclairer? Je suis débutant avec Access... J'ignore qu'est-ce que la différence entre .Text et .Value

  9. #9
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Re,

    Autant pour moi , essaie plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If isnull(Me.text_NomClient) or Len(Me.text_NomClient) = 0 Then
            Me.chk_RéservationConfirmée = False
        Else
            Me.chk_RéservationConfirmée = True
        End If
    End Sub
    Gabout

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Salut Gabout...

    Tu avais raison ça fonctionne très bien sur l'évènement activation.

    Je comprends pas pourquoi ton code ne fonctionne pas... mais celui-ci fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If Me.text_NomClient.Value = "" Or IsNull(Me.text_NomClient.Value) Then
            Me.chk_RéservationConfirmée.Enabled = False
        Else
            Me.chk_RéservationConfirmée.Enabled = True
        End If
    End Sub
    Pour l'utilisation futur; est-ce que quelqu'un sait la différence entre .Value et .Text ???

    Merci!

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sim911 Voir le message

    Pour l'utilisation futur; est-ce que quelqu'un sait la différence entre .Value et .Text ???

    Merci!
    Value s'utilise tout le temps
    Text ne s'utilise que lorsque le contrôle à le focus.

    Tout cela pour Access.

    OK ?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Merci Starec pour ta réponse!

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Rebonjour à tous,

    Lol... J'essais maintenant de faire la même chose avec deux zones de texte... Je veux que lorsque les deux zones de texte sont vide, que ma case coché soit activée.

    J'ai essayé cette structure conditionnelle, mais ça ne fonctionne pas. C'est seulement lorsque l'une des deux est vide que ça fonctionne...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If ((Me.text_Date.Value = "" Or IsNull(Me.text_Date.Value)) And (Me.text_NomClient.Value = "" Or IsNull(Me.text_NomClient.Value))) Then
            Me.chk_RéservationConfirmée.Enabled = False
        Else
            Me.chk_RéservationConfirmée.Enabled = True
        End If
    End Sub
    Merci à tous encore.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/10/2007, 16h40
  2. Réponses: 12
    Dernier message: 02/04/2007, 16h17
  3. Réponses: 2
    Dernier message: 02/04/2007, 13h21
  4. Réponses: 9
    Dernier message: 02/04/2007, 00h22
  5. [Formulaire]effacer le contenu d'une zone de liste
    Par laurent.w dans le forum IHM
    Réponses: 5
    Dernier message: 06/02/2007, 13h53

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