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 :

[A-00] Problème fonction =VRAIFAUX


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut [A-00] Problème fonction =VRAIFAUX
    Bonjour !

    Je viens sur ce forum car j'ai un petit problème avec la fonction =VRAIFAUX pour le boulot ^^

    Je dois crée un état qui permet d'afficher bien proprement un formulaire prêt à imprimer composé de texte que je prend ici et la dans ma base de donnée.

    Je souhaite utilisé une fonction SI, pour que si une valeur ( ici niveau requis ) est renseigné, elle s'affiche sur le formulaire, et que si elle ne l'est pas rien ne s'affiche.

    J'ai donc trouvé sur internet la fonction =VRAIFAUX ( sur le site microsoft ), j'en ai tiré plusieurs exemples que j'ai essayé d'appliquer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Tout d'abbord :
     
    =VraiFaux(EstNull([NiveauRequis]);"";"[NiveauRequis]")
     
    Puis :
     
    =VraiFaux([NiveauRequis] = " "; " ";[NiveauRequis])
     
    Et ensuite j'ai renseigné la valeur niveaurequis par "Aucun" par défaut :
     
    =VraiFaux([NiveauRequis] = "Aucun"; " ";[NiveauRequis])
    J'ai mis cela dans une zone de texte dans la ligne "Source de contrôle".

    Malheureusement rien n'y fait.
    Lorsque j'affiche l'état, à la ligne ou j'ai mis la zone de texte j'ai le droit à une petite "#Erreur".

    Je ne sais donc point comment faire et demande votre aide !

    Merci d'avance

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,


    Une source possible d'erreur: le nom de ton contrôle doit être différent de celui du champ de ta source...

    Pour ce qui concerne le test de valeur, la fonction Nz permet bien souvent d'éviter les soucis de valeurs nulle ou vide...

    NomControl: txtNiveauRequis
    Expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(Nz([NiveauRequis];"") = ""; "";[NiveauRequis])

    EDIT: attends un peu , pourquoi faire cela ? En l'état, l'expression ne sert à rien !
    D'ailleurs, il serait plus d'écrire
    quelle affichage parasite obtiens-tu lorsque la valeur est vide? Normalement, il n'affiche rien si le champ est vide

    A la limite, dans des cas particuliers, tu peux jouer avec une personnalisation du format...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    En prenant en compte ce que tu as dis j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =VraiFaux(Nz([Matieres.NiveauRequis];"")="";"";[Matieres.NiveauRequis])
    Et cela fonctionne ^^

    Merci pour la réponse rapide et efficace !

    Edit : A coté de ce code j'en ai aussi un autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =VraiFaux(Nz([Matieres.NiveauRequis];"")="";"";"Niveaux requis")
    Le but étant que lorsque le champs était vide, que rien n'apparaisse et que le formulaire se ré-ajuste automatiquement ( les lignes qui suivent se colle au champs du dessus )

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Je me permet de reposé une question, toujours sur la même base et le même état.

    Maintenant que mon champs apparait ou n'apparait pas si il est vide, j'aimerai que, lorsqu'il est vide, les champs qui sont en dessous monte automatiquement pour gardé une présentation "propre". ( chaque tuple de la base de donné prenant la place d'un paragraphe ^^ )

    Le problème étant, que avec la mise en forme automatique, cela ne se fait pas.

    Si une aimable personne connait une fonction qui permettrai de pallié à ce problème.

    Merci d'avance.

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Je n'ai toujours pas compris pourquoi il te faut mettre une formule pour remplacer vide par vide mias bon ... si ça marche comme tu veux...


    Pour ce qui est de "monter les champs", regardes du côté de la propriété AutoRéductible.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Ce code ne sert pas à remplacer du vide par du vide ^^

    Il est la pour que, quand dans la base de donnée niveaurequis n'est pas renseigné ( donc vide, un blanc ), l'étiquette "Niveau requis" ne s'affiche pas dans mon état, et si il est renseigné il s'affiche.

    Si vous voulez en vrai ce la donne :


    du blabla


    Objectif : Leblabla qui a dans le tuple objectif

    Niveau requis : Leblabla qui a dans le tuple niveau requis

    encore du blabla
    Sachant que "Niveau requis" et "Objectif" sont en étiquette, et sont la pour indiqué que ce qui suivra c'est l'objectif et le niveau requis, ils ne sont pas inscrit dans un tuple.

    C'est cette ligne qui doit disparaitre ou apparaitre si il y a du contenu ou pas dans niveaurequis.

    Car avant que la fonction ne fonctionne, si je n'avais rien dans niveaurequis, ba "Niveau requis" restait présent alors qu'il n'avait rien à décrire.

    Voilou voilou, j'essayerai Autoreductible mercredi et vous donnerai des nouvelles.

    Encore merci


    Edit : J'ai essayé autoreductible, malheuresement la zone de texte d'en dessous ne se remonte pas si niveau requis n'est pas affiché.

    Je voudrai que cela donne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    du blabla
    
    Objectif : Leblabla qui a dans le tuple objectif
    
    encore du blabla
    
    // Niveau requis : Leblabla qui a dans le tuple niveau requis
    
    // Si niveau requis n'est pas renseigné, il ne s'affiche pas donc je le met en com
    
    // le blabla qui suit a donc pris la place de niveau requis ne créant pas un blanc d'un paragraphe entre objectif et le reste du blabla
    Voilou, en espérant me faire comprendre sans trop de difficulté ( si ce n'est pas le cas j'en suis désolé j'essayerai d'edit en me montrant plus clairs dans mes propos ).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 55
    Points : 55
    Points
    55
    Par défaut
    bonjour,
    essaye de faire la zone qui doit disparaitre la plus fine possible de la dimension d'un trait.selecetionner autoreductible et egalement auto extensible .
    elle apparaitra si le texte est grand et restera quasi invisible sinon

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci pour toutes vos réponses et l'aide que vous m'apportez.

    Pied9 :

    Merci pour ta réponse !

    Je vais essayé ta technique qui m'a l'air des plus logique ! ( pourquoi n'y avais je pas pensé ? peut être marre du boulot ... )

    Si elle fonctionne je viendrai vous le signaler et mettre mon poste en résolu.

    Cordialement,

  9. #9
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    S'il s'agit d'étiquettes, tu peux alors gérer son affichage par code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
     
        If FormatCount = 1 Then
            Me!lblNiveauRequis.Visible = Nz(Me!NiveauRequis, "") <> ""
        End If
    End Sub

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci pour ta énième réponse mout1234

    Pour l'instant la méthode de pied9 fonctionne parfaitement.

    Néanmoins je garde ton bout de code sous le coude, au cas ou la technique précédente poserai problème plus tard.


    Mon état est maintenant fini pour ce qui est de l'affichage et disposition du contenu.

    Maintenant il me reste à revoir l'ergonomie pour que tous le monde puisse l'utiliser.

    J'ai commencé à m'atteler à la tache, à gros coup de VBA, langage que je ne maitrise pas du tous ( je connaissais les bases mais pouf j'ai oublié en 1 an ... ).

    J'essaye de sur-monter mes difficultés, en espérant me débrouillé sans votre aide ! ( sans vouloir vous vexé, si je continue à vous demander pleins de choses va falloir que je vous rémunère ! )

    Je vous remercie encore une fois pour toute l'aide que vous m'avez apporter, en espérant un jour vous rendre l'appareil.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/12/2008, 16h42
  2. Problème fonction VraiFaux
    Par garavous dans le forum Access
    Réponses: 6
    Dernier message: 07/08/2006, 14h35
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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