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 :

comparaison 3 tableaux [WD20]


Sujet :

WinDev

  1. #1
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut comparaison 3 tableaux
    j'ai 3 tableaux qui sont connecté à MS

    1er tableau

    Nom : Sans titre.png
Affichages : 801
Taille : 2,3 Ko

    2eme tableau

    Nom : Sans titre1.png
Affichages : 799
Taille : 1,2 Ko

    3eme tableau

    Nom : Sans titre2.png
Affichages : 796
Taille : 1,2 Ko

    donc est que c'est possible avec windev ou avec code de faire cela :

    1/donc soit je vais ajouter manuellement une colonne dans le 1er tableau qui s’appelle "predacteur"qui est de type boolean ou soit par code
    2/ dans cette colonne avoir le résultat de la comparaison entre revue(table 2) et journal title(table1) si true affiche oui sinon non
    3/ dans cette colonne aussi avoir le résultat de la comparaison entre editeurs (table 2) et publisher(table1) si true affiche oui sinon non

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    Je n'ai rien compris à la question, mais je pense que c'est secondaire.
    Windev est un langage de développement, donc ce que tu demandes est possible. Il faudra mettre du code. Il n'y a pas une commande toute faite qui fait ça.

    Sais tu écrire l'algorithme correspondant à ton besoin ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    en algorithme oui mais en Wlangage non c'est différant c'est un peu difficile pour moi
    en algo

    1er algo
    Code algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    pour i de 1 jusqu'a  m// m représentante le dernier enregistrement (ligne)de la table 2
    pour i de 1 jusqu'a  n// n représentante le dernier enregistrement (ligne)de la table 1
        si(table2. revue==table1.jouranl titale)alors
              table1.predateur ="oui"
        sinon 
              table1.predateur ="non"
        fsi
    fpr
    fpr


    2eme algo
    Code algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    pour i de 1 jusqu'a  m// m représentante le dernier enregistrement (ligne)de la table 3
    pour i de 1 jusqu'a  n// n représentante le dernier enregistrement (ligne)de la table 1
        si(table3. editeur==table1.publisher)alors
              table1.predateur ="oui"           //predateur est une colonne qui sera ajouter dans table 1(voir l'image)
        sinon 
              table1.predateur ="non"
        fsi
    fpr
    fpr

    ici le tableau 1

    Nom : Sans titre.png
Affichages : 814
Taille : 4,3 Ko

    je ne sais pas comment interpréter cela en wlangage(auriez vous une idée)
    est que c'est faisable avec ces algo ci les algo sont faut dite moi car c'est les seuls idées pour que je puisse vous comprendre ma situation du problème

  4. #4
    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
    Citation Envoyé par fashi Voir le message
    1er algo
    Code algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    pour i de 1 jusqu'a  m// m représentante le dernier enregistrement (ligne)de la table 2
    pour i de 1 jusqu'a  n// n représentante le dernier enregistrement (ligne)de la table 1
        si(table2. revue==table1.jouranl titale)alors
              table1.predateur ="oui"
        sinon 
              table1.predateur ="non"
        fsi
    fpr
    fpr
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    POUR ni = 1 _A_ TableOccurrence(TABLE2, toTotal)    POUR nj = 1 _A_ TableOccurrence(TABLE1, toTotal)
            SI TABLE2.revue[ni] = TABLE1.jouranltitale[nj] ALORS
                TABLE1.predateur[ni] = "oui"
            SINON
                TABLE1.predateur[ni] = "non"        
            FIN
        FIN
    FIN
    TableAffiche(TABLE1, taInit)

  5. #5
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    pour quoi j'ai un problème dans TableOccurrence et TableAffiche ?

    Nom : Sans titre.png
Affichages : 805
Taille : 79,2 Ko

  6. #6
    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
    Quelle erreur?
    Recompilez.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut
    MS = ?
    Tes tableaux sont ils bien des champs table Windev que tu pré-remplis ?
    Peut on avoir une copie des tableaux remplis?

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    Plusieurs choses :

    - Dans le jargon windev, le mot Table a un sens un peu particulier. Une Table, c'est un truc d'affichage, c'est les objets que tu avais montré dans tes 1ère copies d'écran.
    - Dans ton 2ème message, tu as une copie d'écran de l'analyse. Dans l'analyse, on a des fichiers, et tu as choisi d'appeler tes fichiers 'table', table1' et 'table2'. C'est le meilleur moyen pour se planter. Donne des noms significatifs à tes fichiers : fichier_commande, fichier_livraison ... ou des trucs comme ça ; pas 'table', 'table1' et 'table2'
    - En plus , le mot table est un mot réservé du WLangage, donc avec un fichier qui s'appelle table, tu rajoutes encore une raison pour avoir des difficultés. Au pire, appelle ce fichier table0.

    - Yusep avait donné la syntaxe en partant du principe que tes données éaient affichées à l'écran, dans des TABLES.


    Si tu veux obtenir de l'aide , il faut qu'on parle la même langue. Et pour ça, il fuat que tu lises l'autoformation de Windev.
    Par exemple ici

    Comme ça, ça évitera le genre de quiproquo comme ici.


    2 options pour ton besoin.
    Soit tu affiches tes 3 fichiers de données à l'écran, dans 3 tables, et la syntaxe proposée par Yusep va marcher.
    Soit tu fais un traitement qui va lire et modifier les fichiers de données (directement dans les fichiers, pas à l'écran). Dans ce cas, les fonctions à utiliser sont les fonctions qui commencent par hxxx : hNbenr(), hLit(), hModifie() , hLitsuivant() , etc.
    Les fonctions Tablexxx() ne savent traiter que les tables affichées à l'écran.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  9. #9
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alaclef Voir le message
    MS = ?
    A priori MS Excel cf https://www.developpez.net/forums/d2.../#post11427941
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  10. #10
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    mes fichiers était en access et je les ai importer etje les ai laissé en access relié à windev (car au futur je veux modifier dans access)
    et voici le type d'eureur

    Erreur à la ligne 1 du traitement Clic sur BTN_BOUTON.
    Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.

    ----- Informations techniques -----

    Projet : PFE

    Appel WL :
    Traitement de 'Clic sur BTN_BOUTON' (FEN_fentre.BTN_BOUTON), ligne 1, thread 0

    Que s'est-il passé ?
    Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.

    Code erreur : 1001
    Niveau : erreur fatale (EL_FATAL)

    Dump de l'erreur du module 'wd200vm.dll' (20.0.243.3).
    Identifiant des informations détaillées (.err) : 1001
    Informations de débogage :
    Aucune syntaxe de TableOccurrence ne correspond.
    Informations supplémentaires :
    EIT_PILEWL :
    Clic sur BTN_BOUTON (FEN_fentre.BTN_BOUTON), ligne 1
    EIT_DATEHEURE : 19/03/2020 11:04:41

    Assistance

    - Recompilez le code
    et voici comment j'ai imporet mon fichier en rendue en hfsql :

    Nom : Sans titre.png
Affichages : 753
Taille : 80,5 Ko

    Nom : Sans titre1.png
Affichages : 756
Taille : 102,7 Ko


    et après j'ai mis le chemin de la connexion et je les ai importer de access .
    et j'ai crée un button ou j'ai mis le code de Yusep .
    pour résumer en gros

    voici le contenue de mon fichier access qui contient les tables (car j'ai pas peu importer le fichier access dans le forum car mon fichier contient 1,1 mo je ne sais pas pour quoi )

    Nom : Sans titre4.png
Affichages : 787
Taille : 62,4 Ko

    Nom : Sans titre5.png
Affichages : 740
Taille : 62,6 Ko

    Nom : Sans titre6.png
Affichages : 740
Taille : 63,6 Ko

    et voici aperçu dans windev :

    Nom : Sans titre7.png
Affichages : 748
Taille : 70,6 Ko

    ps:mes tables contiennent plus de 1000 ligne

  11. #11
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    Table_Revue.xls
    Table_cat.xls
    Table_editeur.xls

    voici en fichiers excel car je n'est pas peu importer le fichier access donc tout les tables de access je les ai rendu en excel c'est le seul moyenne pour que j'ai pu poster les tables

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut
    rreur à la ligne 1 du traitement Clic sur BTN_BOUTON.
    Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.

    ----- Informations techniques -----

    Projet : PFE

    Appel WL :
    Traitement de 'Clic sur BTN_BOUTON' (FEN_fentre.BTN_BOUTON), ligne 1, thread 0

    Que s'est-il passé ?
    Ce code contient encore des erreurs de compilation et ne peut pas être exécuté.

    Code erreur : 1001
    Niveau : erreur fatale (EL_FATAL)

    Dump de l'erreur du module 'wd200vm.dll' (20.0.243.3).
    Identifiant des informations détaillées (.err) : 1001
    Informations de débogage :
    Aucune syntaxe de TableOccurrence ne correspond.
    Informations supplémentaires :
    EIT_PILEWL :
    Clic sur BTN_BOUTON (FEN_fentre.BTN_BOUTON), ligne 1
    EIT_DATEHEURE : 19/03/2020 11:04:41

    Assistance

    - Recompilez le code
    Ben recompilez le code !

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut
    Table1 ... sont des tables de BD et non des champs tables. Tableoccurence ne s'applique pas.
    Tu doit utiliser Hlitpremier, hlitsuivant....

  14. #14
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par alaclef Voir le message
    Ben recompilez le code !
    même eureur l'ors de la compilation

  15. #15
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par alaclef Voir le message
    Table1 ... sont des tables de BD et non des champs tables. Tableoccurence ne s'applique pas.
    Tu doit utiliser Hlitpremier, hlitsuivant....
    Erreur à la ligne 1 du traitement Clic sur BTN_BOUTON.
    Vous avez appelé la fonction HLitSuivant.
    La constante passée en paramètre est incorrecte.

    ----- Informations techniques -----

    Projet : PFE

    Appel WL :
    Traitement de 'Clic sur BTN_BOUTON' (FEN_fentre.BTN_BOUTON), ligne 1, thread 0
    Fonction 'HLitSuivant', syntaxe 4

    Que s'est-il passé ?
    La constante passée en paramètre est incorrecte.

    Code erreur : 70501
    Niveau : erreur fatale (EL_FATAL)
    Code erreur WD55 : 501

    Dump de l'erreur du module 'wd200hf.dll' (20.0.115.0).
    Identifiant des informations détaillées (.err) : 72302
    Informations de débogage :
    IEWDHF=4.35
    Module=<WDHF>
    Version=<20.0.115.0>
    Fonction (7,14)
    Informations supplémentaires :
    EIT_LOGICALTABLENAME : <Table2>
    EIT_PILEWL :
    Clic sur BTN_BOUTON (FEN_fentre.BTN_BOUTON), ligne 1
    EIT_DATEHEURE : 19/03/2020 13:54:49

    Assistance

    aussi avec ses deux options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    POUR ni = 1 _A_ HLitSuivant(Table2,toTotal)
    	POUR nj = 1 _A_ HLitSuivant(Table, toTotal)
    		SI Table2.Revues[ni] = Table.Journal_Title[nj] ALORS
    			Table.predateur[ni] = "oui"
    		SINON
    			Table.predateur[ni] = "non"        
    		FIN
    	FIN
    FIN
    //TableAffiche(Table, taInit)

  16. #16
    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

  17. #17
    Membre du Club
    Femme Profil pro
    étudiant
    Inscrit en
    Février 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2018
    Messages : 91
    Points : 64
    Points
    64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    HLitPremier(Table2,Revues)
    	 HLitSuivant(Table, predateur)
    		SI Table2.Revues = Table.Journal_Title  ALORS
    			Table.predateur= "oui"
    		SINON
    			Table.predateur = "non"        
    		FIN
    	HLitSuivant(Table, predateur)
    HLitSuivant(Table2,Revues)
    //TableAffiche(Table, taInit)
    pour quoi sa ne marche pas ?

  18. #18
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 525
    Points
    2 525
    Par défaut
    Citation Envoyé par fashi Voir le message
    pour quoi sa ne marche pas ?
    Parce que tu fais n'importe quoi !

    Faire le cours d'autoformation de toute urgence, sinon dans quatre ans
    tu n'auras toujours pas avancé.

    Et suis les conseils de tbc92 concernant les noms de tes fichiers !

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut
    Pas mieux

  20. #20
    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
    Citation Envoyé par fashi Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    HLitPremier(Table2,Revues)
         HLitSuivant(Table, predateur)
            SI Table2.Revues = Table.Journal_Title  ALORS
                Table.predateur= "oui"
            SINON
                Table.predateur = "non"        
            FIN
        HLitSuivant(Table, predateur)
    HLitSuivant(Table2,Revues)
    //TableAffiche(Table, taInit)
    pour quoi sa ne marche pas ?
    Lisez bien l'aide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exemple
    HLitPremier(Client, Nom)
    TANTQUE HEnDehors() = Faux // vous avez oublié la boucle
        // Traitement de l'enregistrement
    
        HLitSuivant(Client, Nom)
    FIN

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [debutant]comparaison de table
    Par manshoon dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/06/2006, 16h49
  2. Comparaison entre tables
    Par Marmouz dans le forum Access
    Réponses: 3
    Dernier message: 13/04/2006, 15h21
  3. [SQL] vs [VBA] comparaison de tables et mise à jour
    Par borisa dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/02/2006, 10h15
  4. accélérer la comparaison de tables
    Par mick84m dans le forum SQL Procédural
    Réponses: 16
    Dernier message: 10/12/2005, 12h06
  5. comparaison de tables
    Par amelie15 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/04/2005, 10h37

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