WDForge - Forum

Le forum des développeurs professionnels WinDev ®

Trie et Calcul sur TABLE

Discussion sur WinDev®

Message non lupar zeston » Lun 8 Avr 2019 03:19

Bonjour
J'ai un petit soucis avec un calcul sur une table de facturation.
En Effet, les articles sont ajoutés un a un par les caissières par code ou codebarre (Col_Code)
A la fin de la saisie (que je détermine après un Echap)
Je veux un trie et un calcul en additionnant les codes articles identique :
TableTrie(TABLE_Facturation,COL_Code..Nom)
POUR i=1 A TableOccurrence(TABLE_Facturation)
TANTQUE COL_Code[i]=COL_Code[i+1]
COL_Quantite[i]=COL_Quantite[i]+COL_Quantite[i+1]
TableSupprime(TABLE_Facturation,i+1)
FIN
FIN
Effectivement, il m'envoie le message d'erreur suivant :
Vous avez appelé l'opérateur [] sur le champ TABLE_Facturation.
L'indice spécifié [3] est invalide.
Les valeurs valides sont comprises entre 1 et 2 (inclus).
Je comprend qu’après la suppression de la ligne i+1, l’occurrence de la table change, mais je cherche l'astuce et la je coince..
Si je peu avoir des avis ou des astuces pour contourner tout ça (avec une tablecherche par exemple ou j'ai coincé aussi)
merci...
zeston
Stagiaire WDF
 
Messages: 3
Enregistré le: Mer 3 Avr 2019 17:52

Message non lupar zeston » Lun 8 Avr 2019 13:18

Pour ceux que sa pourrait aider,
La solution :
Code: Tout sélectionner
TableTrie(TABLE_Facturation,COL_Code..Nom)
POUR i= TableOccurrence(TABLE_Facturation) _A_ 1 pas -1
      SI i>1 _ET_ COL_Code[i]=COL_Code[i-1]
          COL_Quantite[i]=COL_Quantite[i]+COL_Quantite[i-1]
          TableSupprime(TABLE_Facturation,(i-1))
      FIN
FIN

Sa marche parfaitement
Merci
zeston
Stagiaire WDF
 
Messages: 3
Enregistré le: Mer 3 Avr 2019 17:52


Retourner vers WinDev

cron