gregorian
Messages postés57Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention24 mars 2011
-
20 juin 2005 à 10:47
Mike Gagnon
Messages postés381Date d'inscriptionvendredi 15 octobre 2004StatutMembreDernière intervention24 octobre 2013
-
22 juin 2005 à 12:57
Bonjour,
Suite à une requete sql order by champs1, j'obtiens un cursor tmpData.
J'écris une petite fonction qui vérifie le champs 1, qui devrait copier dans un autre cursor toute les lignes qui contienne le champs 1 et dans ce deuxième cursor, je trie sur le champs 2. Le cursor trié, doit être copier alors dans un troisième cursor, qui contiendra donc le deuxième trié, ensuite je dois ajouter une ligne qui sum certains champs du cursor 2. Je zap alors le cursor 2 et je recommence le tout pour la deuxième valeur rencontrée du champs 1
J'ai fais un truc comme ceci:
FUNCTION tri
atelier = tmpData.comptoirDossier
COPY STRUCTURE TO tmpData2
SELECT tmpData2
SCAN
while tmpData.comptoirDossier = atelier
APPEND blank IN suiviTmp2
ENDSCAN
ENDFUNC
mais je suis bloqué, comment faire l'append de juste la ligne en cour du scan et pas de tout le cursor ???
Sinon, ca m'a l'air bien tiré par les cheveux ce que je fais. Il y a certaine ment plus simple. Savez vous me mettre sur la voie?
Au début j'avais pensé un truc du genre faire un tableau qui comprendrait toute les différentes occurences trouvées du champs 1 dans le cursor tmpData et ensuite écrire qqch:
scan tableau occurence et à chaque entrée,
select all from tmpData where champ1 = occurenceTableau into tmpData2
--> traitement sur la partie sélectionnée.
Je pense que au final c'est plus rapide qu'en pensez vous ??
Mike Gagnon
Messages postés381Date d'inscriptionvendredi 15 octobre 2004StatutMembreDernière intervention24 octobre 20132 22 juin 2005 à 12:57
Met un "set step" dans ton code juste appres ton scatter memvar, et vérifie dans les locals, si les valeurs apparaissent. Ne pas oublier que les deux tables doivent avoir la meme structure (les meme noms de champs)