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

WinDev Discussion :

Afficher le resultat dans une table


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 74
    Points : 0
    Points
    0
    Par défaut Afficher le resultat dans une table
    Bonjour,

    J'ai trois champs, je les affiche dans une table , mais je veux que lorsque je clique sur un bouton => il m'affiche dans le troisiéme champ si les deux autres ont deux,une ou zero valeurs.
    Par exemple si champ1 contient une valeur et champ2 ne contient aucune => le champ3 affiche 1
    s'il y'a deux valeur dans les deux => 2

    j'ai mis le code ci dessous et quand je clique sur le bouton rien ne se passe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SI Works.TermA<>Null ET Works.TermB<>Null ALORS 
    	Works.Terminals=2
     
    	SINON SI Works.TermA=Null ET Works.TermB<>Null  ALORS
    		Works.Terminals=1
    	FIN	
     
    TableAffiche(TABLE_REQ_affichage_terminal)
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Dans une table, vide ne signifie pas null.
    Ensuite que représente "works" dans ton code ?
    Où se trouve le code qui affecte une valeur à la ligne de la table ?
    De quel type de table s'agit-il ? Fichier, mémoire ?
    A quoi sert le TableAffiche() ici ?
    Tatayo.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 74
    Points : 0
    Points
    0
    Par défaut
    Saluuut Tatayo,

    D'aprés ce que tu viens de dire, j'ai tout faux
    je m'explique à nouveau.

    J'ai une table works elle contient douze champs:
    Idworks (clé primaire), cutmch(texte), Quantity(numérique),termA(texte),termB(texte),sealA(texte),sealB(texte),Length(numérique),terminals(numérique),seals(numérique),time(numérique),quantityxTim(numérique)
    termA et termB contiennent des valeurs de 9 caractéres idem pour sealA et B,mais sa ce peut qu'il y'ai un seul terminal ou deux ou rien, même chose pour les seal A et B.
    Pour terminals : c'est un champ qui doit mentionner s' il existe deux terminaux , un ou 0 m^me chose pour le champs Seals.
    par exemple: si dans les deux champs termA et termB il y'a une valeur=> a coté dans le champ Terminals je veux avoir 2.
    si il y'a une valeur dans termA et pas dans B => terminals=1
    une valeur dans B et pas dans A=> terminals=1
    pas de valeur dans les deux champs => terminals =0
    même chose pour Seals
    Donc , je veux créer un bouton => lorsque je clique dessus il m'affiche sur la table table1 (termA,termB,sealA,sealB,terminals,seals)leur valeur approprié.
    genre:
    Nom : Untitled.png
Affichages : 150
Taille : 34,9 Ko

    Merci beaucoup, j'éspére que j'ai bien expliqué.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Effectivement, tu as tout faux
    Je pars du principe qu'il s'agit d'une table mémoire.
    Premier point: il faut parcourir les lignes de la table. Une boucle POUR TOUT fera très bien l'affaire (cf l'aide en ligne).
    Ensuite, vu que ce sont des chaines, je prends pour hypothèse que les valeurs vides... sont vides.
    Il suffit alors d'un test du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    works.terminals=0
    si works.terma<> '' alors works.terminals++
    si works.termb<> '' alors works.terminals++
    Il te reste donc à faire de même pour Seals, et à tout mettre dans la boucle.

    Tatayo.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 74
    Points : 0
    Points
    0
    Par défaut
    Salut Tatayo,

    J'ai copié le code que tu m'as donné => ça me donne une erreur sur le ' (erreur de syntaxe sur le mot ').
    puis je l'ai mis dans la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    POUR TOUT ELÉMENT DE TABLE_REQ_AFFICHAGE_SEAL_TERMINALS
    	Works.Terminals=0
    	SI Works.TermA<> '' ALORS Works.Terminals++
    		SI Works.TermB<> '' ALORS Works.Terminals++
     
    		FIN
    Est ce bien comme ça ? mais il y'a toujours erreur de '.
    Merci.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Effectivement, il faut mettre des doubles-quotes (" au lieu de ', saleté de clavier de portable...).
    Mais en cherchant un tout petit peu tu aurais dû le corriger tout seul...

    Tatayo.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 74
    Points : 0
    Points
    0
    Par défaut
    Bonjour Tatayo,

    je sais pas quoi mettre dans "ELEMENT" => POUR TOUT ELEMENT DE...
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    POUR TOUT .... DE TABLE_REQ_AFFICHAGE_SEAL_TERMINALS
    Works.Terminals=0
    SI Works.TermA<> "" ALORS Works.Terminals++
    		SI Works.TermB<> "" ALORS Works.Terminals++
     
    		FIN
    La TABLE_REQ_AFFICHAGE_SEAL_TERMINALS se remplis à partir d'une requête.
    Et ensuite le code je le met dans un bouton qui fait le calcul.

    Merci

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Je ne vois que 2 réponses:
    1. Qu'est-ce que tu veux parcourir dans la table ?
    3. L'aide en ligne sur le champ table.

    Il faut quand même faire un minimum d'effort de ton côté.
    Si tu débutes et que tu ne sais pas parcourir une table, je ne peux que te conseiller de suivre le guide d'auto-formation. Quand bien même ça prend du temps, ce temps sera largement gagné pour tes premiers développements.

    Tatayo.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 74
    Points : 0
    Points
    0
    Par défaut
    Salut tatayo,

    oui, j'ai pas arréter de chercher y'a deux jours => j'ai vu l'aide en ligne , l'auto-formation et sur google mais j'ai rien trouvé ou j'ai pas bien chérché.

    y'a moyen d'aprés l'affichage de la table (depuis une requête) de cliquer sur un bouton => et dans chaque ligne de la colonne terminals => il calcule les champs remplies du termA et B, si les deux sont remplies il met 2 ainsi de suite.
    C'est ça le probléme :s
    merci

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonsoir
    Je cite l'aide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SyntaxeParcours des éléments du champ (Table, Liste et Zone répétée)Masquer les détails
    POUR TOUTE LIGNE [<Indice> [, <Compteur>]] DE <Champ>
    
        ...
    
    
    
    
    FIN
    Si vous parcourez la table, travaillez sur les éléments de la table.

    Alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    POUR TOUTE LIGNE DE TABLE_REQ_AFFICHAGE_SEAL_TERMINALS
    //Works.Terminals=0 ----- FAIRE PLUTOT CECI :
    TABLE_REQ_AFFICHAGE_SEAL_TERMINALS.COL_Terminals=0
    
    //SI Works.TermA<> "" ALORS Works.Terminals++ ----- FAIRE PLUTOT CECI :
    SI TABLE_REQ_AFFICHAGE_SEAL_TERMINALS.COL_TermA<> "" ALORS TABLE_REQ_AFFICHAGE_SEAL_TERMINALS.COL_Terminals++
    
    //SI Works.TermB<> "" ALORS Works.Terminals++ ----- FAIRE PLUTOT CECI :
    SI TABLE_REQ_AFFICHAGE_SEAL_TERMINALS.COL_TermB<> "" ALORS TABLE_REQ_AFFICHAGE_SEAL_TERMINALS.COL_Terminals++
    
    FIN
    Je vous laisse continuer ........
    Mois aussi je crois que vous devriez suivre le guide d'auto-formation de plus près.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/01/2010, 11h34
  2. [WD10] Calcul simple et ajout du resultat dans une table.
    Par Trebor dans le forum WinDev
    Réponses: 4
    Dernier message: 24/09/2009, 17h51
  3. Réponses: 2
    Dernier message: 21/04/2009, 21h10
  4. afficher des images dans une table
    Par battit64 dans le forum ASP.NET
    Réponses: 17
    Dernier message: 25/04/2008, 00h06
  5. Réponses: 1
    Dernier message: 12/02/2008, 17h14

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