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 :

rendre invisible une texte box si elle est vide


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 83
    Points : 45
    Points
    45
    Par défaut rendre invisible une texte box si elle est vide
    Bonjour,

    J'ai un premier formulaire de saisie : "f_saisie" où je rentre toutes mes données.
    J'ai un second formulaire (de recherche) avec entre autre 2 text box : Texte1 et Texte2 qui vont me permettre de limiter entre autre ma recherche entre 2 dates limites : celles contenu dans Texte1 et Texte2.
    Mon problème se situe dans le 3e formulaire qui est le résultat d'une requête; mon titre est composé de plusieurs élements :

    -un label10 "resultat de la recherche"
    -un label11 "du"
    -un Texte12 ex. "31-jan-06" (dépendant de ce qui aura été saisie dans le formulaire de recherche Texte1)
    -un label13 "au"
    -un Texte13 ex. "31-mar-06" (dépendant de ce qui aura été saisie dans le formulaire de recherche Texte2).

    Je souhaite obtenir le résultat suivant :"résultat de la recherche du 31-jan-06 au 31-mar-06" si j'ai bien saisie "31-jan-06" pour Texte1 et "31-mar-06" pour Texte2.

    Jusque là tout va bien. Par contre si Texte1 et Texte2 son vide je souhaite avoir "resultat de la recherche" au lieu de "resultat de la recherche du au ".

    J'ai ainsi rentré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    If Me.Texte12 = Null Then Me.Label10.Visible = False
    If Me.Texte12 = Null Then Me.Label11.Visible = False
    End Sub
    Malheureusement "du" (label10) et "au (label11) sont toujours visibles.

    Quelqu'un peut-il m'aider ?

    Merci

    Nico

  2. #2
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Bonjour,

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Current() 
     
    If (isnull(Me.Texte1.Value)) Then 
          Me.Label10.Visible = False 
    End if
     
     
    If (isnull(Me.Texte2.Value)) Then 
          Me.Label11.Visible = False 
    End if
     
    End Sub
    Comme ça à vu d'euil, ton code ne peut pas marché car :

    1) Tu ne ferme pas tes tests IF
    2) Tu écrit tout ton test sur une ligne
    3) Tu n'utilise pas la bonne syntaxe pour gèrer le null

    Ce que tu peux faire aussi c'est :

    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
    20
    21
    Private Sub Form_Current() 
     
    'Déclaration des variables
    Dim str_Texte1 as string
    Dim str_Texte2 as string
     
    'Attribution des valeurs aux variables
    str_Texte1 = Me.Texte1.Value'--> On stoque le contenu de Texte 1 dans la variable str_Texte1
    str_Texte2 = Me.Texte2.Value --> On stoque le contenu de Texte 2 dans la variable str_Texte2
     
    'Début des tests
    If (isnull(str_Texte1)) Then 
          Me.Label10.Visible = False 
    End if
     
     
    If (isnull(str_Texte2)) Then 
          Me.Label11.Visible = False 
    End if
     
    End Sub
    Ce que tu pouvais faire aussi c'était : RECHERCHER DANS LA :

    http://access.developpez.com/faq/?pa...gage#UseIsNull


    En espérant t'avoir aidé ...

    +++
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  3. #3
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 116
    Points : 105
    Points
    105
    Par défaut
    oups,
    je rebondis ici pour une question/temoignage...
    perso j'utilise enormément les tests "if" sur une ligne, précisément parce que ça ne demande pas à être fermé...! et je crois bien que ça fonctionne correctement. le debuggeur execute la ligne si"vrai" et la saute si"faux"....
    c'est une grossiere erreur?
    je trouve ça bien pratique lorsqu'il n'y a pas besoin de "else" et que le "then" est tres court...
    b.

  4. #4
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    borisa dit :
    c'est une grossiere erreur?
    Alors là, je ne sais pas ...

    Mais ce que je sais c'est que dans chaque cours de programmation que j'ai suivi ( que cela soit en Java, Php, ou autre ... ) ben on m'a toujours dit de fermer mes IF et de les écrires le plus simplement possible en suivant ce modèle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    IF mon_test Then
     
    'aller à la ligne
    'tabulation à droite
     
    _______faire_cela
     
    'aller à la ligne et aligner sur le IF
     
    End if
    les ____ sont là à titre d'espace pour montrer la tabulation ... ...
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Hello à vous,
    Je me permets d'élargir un peu la question.

    J'aimerais rendre une section invisible si une textbox est vide, De plus ce textbox est un champ calculé.
    Pour l'instant j'ai codé ça :
    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
    20
     
    Function MakeInvisible(ch_atraduire As objet) 
     
    Dim intSectionNumber As Integer
     
    If IsNull(ch_atraduire) Then
     
        intSectionNumber = ch_atraduire.SECTION
        -- C'est ici que ca coince, il me dit que Me n'est pas valide.
       --Utilisation incorrect du mot clé Me
        Me.SECTION(intSectionNumber).Visible = False
    Else
     
        If IsNumeric(ch_atraduire) Then
            chtraduit = ods_traduitMessage(CLng(ch_atraduire))
        Else
        chtraduit = ch_atraduire
        End If
    End If
    End Function
    l'appel de la fonction ce fait dans le textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =MakeInvisible([ods_lignesMenuPrincipal.Message])
    Est-ce que vous voyez d'où vient le problème ?

    Merci pour le coup de main.
    A+

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/03/2009, 20h13
  2. Rendre invisible une zone texte
    Par Sam 069 dans le forum Access
    Réponses: 2
    Dernier message: 11/07/2007, 09h46
  3. rendre visible ou invisible une texte box
    Par kuhnden dans le forum Access
    Réponses: 13
    Dernier message: 01/11/2005, 18h59
  4. Réponses: 10
    Dernier message: 19/05/2004, 15h44
  5. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21

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