Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J’ai deux datawindow dw1 et dw2 ont le même data object
1/ Est-ce qu’il y a une foction power Builder qui permet de faire l’intersection entre ces deux DataWindows?
2/ si on cumule les données dans une seule datawindow est ce qu’on peut à l’aide d’un filter détecter les lignes qui se répètes?
D’avance merci pour votre aide.
Hors ligne
Bonjour,
intersection selon quels critères (champs de PK identiques) ?
c'est une recherche de doublon ?
Hors ligne
Merci pour ta réponse
1/ supposant que la datawindow contient 3 colonne a,b,c je vais faire l'intersection selon ces trois colonnes
2/pour la deuxième question oui il s'agit d'une détection des doublons.
Hors ligne
je ne vois rien de natif qui peut faire le job, par contre avec un parcours séquentiel de dw1 tu peux utiliser dw2.Find(ls_pk_find, 1, dw2.rowcount()) avec un filtre ls_pk_find que tu construis avec quelque chose comme : "a='"+dw1.object.a[i]+"' and b='"+dw1.object.b[i]+"' and c='"+dw1.object.c[i]+"'" (ici, je considère a, b et c comme des strings qui ne contiennent pas de simple quote).
tu me suis ?
Hors ligne
merci pour votre réponse.
je vais étudier votre réponse et je vous répondrai
Hors ligne
Bonjour,
Tu peut effectuer la chose suivante.
Créer un groupe dans ta datawindow sur les trois colonnes ( en laissant tes colonnes affichées dans la zone de detail )
Tu rajoutes dans la zone de detail un compute field avec le calcul suivant : cumulativeSum( 1 for group 1 ) ce champ s'appelant compute_1
Ensuite tu mets un filtre sur ta datawindow avec le code suivant : compute_1 = 1 ( tu ne garderas que le premier les doubles seront dans le filtre )
Attention il faut que tes données dans la datawindow soient triées. met un tri sur la dw sur les trois colonnes
Cdt
Yanis
Hors ligne
merci pour ta réponse je vais essayer en utilisant ta proposition.
Hors ligne