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 :

remplir tableau à partir sélection ligne d'un autre tableau


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut remplir tableau à partir sélection ligne d'un autre tableau
    bonjour,
    je suis débutante dans la programmation windev, j'ai 2 tableaux dans la ême fenetre dont le 2ème tableau(bonliv) se rempli si on électionne une ligne du tableau 1(fournisseur), mais quand je sélectionne une ligne rien ne se passe
    voilà on code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    HFiltre(bonliv,idfr,TABLE_Fournisseur.COL_Idfr)
    HLitPremier(bonliv,idfr)
    TANTQUE PAS HEnDehors(bonliv)
    	//On ajoute dans la liste1
    	TABLE_Bonliv.COL_Idfr= bonliv.idfr
    	TABLE_Bonliv.COL_Numbl=  bonliv.numbl
    	TABLE_Bonliv.COL_Datbl=bonliv.datbl
    	//TableAjoute(TABLE_Bonliv,bonliv.numbl)     
    	HLitSuivant(bonliv,idfr)
    FIN
    HDésactiveFiltre(bonliv)// Produits associées à ce fournisseur
    Merci d'avance pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    Le 2e tableau doit être un tableau à remplir par programmation. Avant toute chose, prévoir la suppression de toutes les lignes existantes afin de partir d'un tableau vierge (voir l'aide sur TableSupprimeTout).
    Il faut utiliser la fonction TableAjouteLigne ou TableAjoute pour ajouter une ligne. (Voir l'aide pour l'utilisation de ces fonctions)
    Ensuite, il faudra tout simplement ajouter une instruction après la boucle : TableAffiche(TABLE_Bonliv) qui va te rafraichir le tableau et donc afficher ce que tu viens d'ajouter.

    à bientôt,

    Nicolas

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup Nicolas pour votre aide
    j'ai essayé de suivre vos instructions, mais le programme se bloque et il n'affiche pas a fenêtre,
    voilà mon nouveau code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //sélection d'une ligne
    TableSupprimeTout(TABLE_Bonliv)
    TANTQUE bonliv.idfr=TABLE_Fournisseur.COL_Idfr
    	//On ajoute 
    	TableAjouteLigne(TABLE_Bonliv,bonliv.idfr,bonliv.numbl,bonliv.datbl)
    FIN
    TableAffiche(TABLE_Bonliv)

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    il faut faire le parcours du fichier bonliv dans la boucle, ce que tu ne fais pas pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //sélection d'une ligne
    TableSupprimeTout(TABLE_Bonliv)
    HFiltre(bonliv,idfr,TABLE_Fournisseur.COL_Idfr[TableSelect(TABLE_Fournisseur)]) // Permet de filtre la table sur l'ID de l'élément sélectionné dans l'autre table
    HLitPremier(bonliv,hrespectefiltre) // Début du parcours de la table en utilisant le filtre
    TANTQUE PAS HEndehors(bonliv) // On parcours tant qu'on n'a pas atteint la fin du fichier
         SI bonliv.idfr=TABLE_Fournisseur.COL_Idfr ALORS
    	//On ajoute 
    	TableAjouteLigne(TABLE_Bonliv,bonliv.idfr,bonliv.numbl,bonliv.datbl)
         FIN
         HLitSuivant(bonliv) // On passe à l'enregistrement suivant
    FIN
    HDesactiveFiltre(bonliv) // On libère le filtre
    TableAffiche(TABLE_Bonliv)
    bon courage,

    Nicolas

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    Meeeeeeerci beaucoup
    c'est

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    désolé pour le dérangement une autre fois
    J'ai une 3ème table dans la même fenêtre (detbl) qui contient les détails d'un bon de livraison, et elle se rempli en sélectionnant une ligne du table bonliv, tout va bien comme la 2ème table sauf que j'ai une colonne désignation qui va se rempli d'un fichier article différent des autre colonne (fichier ligne_bl) sachant que idart est un clé étranger dans le fichier ligne_bl
    estceque je peux désigner 2 fichier dans la fonction hfiltre? sinon comment faire?

    voilà mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TableSupprimeTout(TABLE_detbl)
    HFiltre(ligne_bl,numbl,TABLE_Bonliv.COL_Numbl[TableSelect(TABLE_Bonliv)])   //Permet de filtre la table sur l'ID de l'élément sélectionné dans l'autre table    
    HLitPremier(ligne_bl,hRespecteFiltre)  // Début du parcours de la table en utilisant le filtre
    TANTQUE PAS HEnDehors(ligne_bl)  // On parcours tant qu'on n'a pas atteint la fin du fichier
    	SI ligne_bl.numbl=TABLE_Bonliv.COL_Numbl  ALORS
    		//On ajoute 
    		TableAjouteLigne(TABLE_detbl,ligne_bl.numbl,ligne_bl.idart,article.desart,ligne_bl.qtebl,ligne_bl.remiseli,ligne_bl.prixU) 
     
    FIN
    HLitSuivant(ligne_bl)
    FIN
    HDésactiveFiltre(ligne_bl)
    TableAffiche(TABLE_detbl)
    Merci d'avance

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Dans ce cas, il faut aller chercher la désignation à chaque ligne qui va être ajoutée.

    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
    TableSupprimeTout(TABLE_detbl)
    HFiltre(ligne_bl,numbl,TABLE_Bonliv.COL_Numbl[TableSelect(TABLE_Bonliv)])   //Permet de filtre la table sur l'ID de l'élément sélectionné dans l'autre table    
    HLitPremier(ligne_bl,hRespecteFiltre)  // Début du parcours de la table en utilisant le filtre
    TANTQUE PAS HEnDehors(ligne_bl)  // On parcours tant qu'on n'a pas atteint la fin du fichier
    	SI ligne_bl.numbl=TABLE_Bonliv.COL_Numbl  ALORS
                                 // Recherche de la désignation
                                 HLitRecherchePremier(article,idart, ligne_bl.idart)
                                 SI HTrouve(article) ALORS
                                    //On ajoute 
                                    TableAjouteLigne(TABLE_detbl,ligne_bl.numbl,ligne_bl.idart,article.desart,ligne_bl.qtebl,ligne_bl.remiseli,ligne_bl.prixU) 
                                 SINON
                                    // Message d'erreur pour la ligne
                                    Erreur("L'article du bon de livraison n'a pas de désignation ..... !")
                                    // Si tu veux faire un ajout avec désignation par défaut mais pas conseillé
                                    // TableAjouteLigne(TABLE_detbl,ligne_bl.numbl,ligne_bl.idart,"article inconnu : " + ligne_bl.idart,ligne_bl.qtebl,ligne_bl.remiseli,ligne_bl.prixU) 
    		 FIN
    FIN
    HLitSuivant(ligne_bl)
    FIN
    HDésactiveFiltre(ligne_bl)
    TableAffiche(TABLE_detbl)

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    grand Meeeercitout est

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/06/2014, 15h25
  2. Réponses: 1
    Dernier message: 31/01/2013, 21h00
  3. Réponses: 2
    Dernier message: 19/05/2010, 22h27
  4. Réponses: 2
    Dernier message: 16/07/2008, 13h51
  5. [TP] Remplir un tableau à partir des données d'un autre tableau
    Par The future scientist dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 27/05/2007, 17h31

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