Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
j'ai une datawindow avec un group contenant plusieurs champs numéro de lot, nom d'un fichier, date d'envoi du fichier.
Ces trois champs seront toujours différents mais je peux avoir un numéro de lot identique.
Si je me trouve avec
En entête:
num lot Nom fichier date
16 Toto 22/03/2009
Détail Nom et prénom
Dupont Jean
Estienne Jacques
....
num lot Nom fichier date
17 Toto 22/03/2009
Détail Nom et prénom
Martin Jean
Nadal Jacques
....
Existe -t-il une solution pour récupéré que les lignes 16 TOTO 22/03/2009 et 17 TOTO 22/03/2009 sans avoir à faire une boucle sur toutes mes lignes au niveau du détail.
Le but étant d'insérer en base mes entêtes.
Merci d'avance pour vos réponses.
PB 9.0.3 sous windows XP
Oracle 10G
Dernière modification par Curios (24-03-2009 13:11:16)
Hors ligne
Avec un find ou un filter peut-être?
Hors ligne
Les champs dans les groupes se récupèrent comme habituellement avec les dw.GetItemXXX( ligne, colonne ).
Pour connaître les n° de ligne des groupes il faut utiliser FindGroupChange. Ci-dessous l'exemple de l'aide PB, adapté à ta situation :
long ll_breakrow = 0 DO WHILE TRUE ll_breakrow = dw_1.FindGroupChange(ll_breakrow, 1) // If no breaks are found, exit. IF ll_breakrow <= 0 THEN EXIT // récupération des valeurs du groupes + traitements numlot = dw_1.GetItemNumber(ll_breakrow, "numlot" ) // etc // Increment starting row to find next break ll_breakrow ++ LOOP
Hors ligne
Merci erasorz,
je ne connaissais pas FindGroupChange, c'est exactement ce qui me fallait.
Hors ligne