


|
|
WD20 - Requête mise a jour colonne après trie
|
| Message envoyé
le
04-11-2025
par
Spinx
(TN)
|
Bonjour,
J'ai une table Articles dans ma base de données qui contient les colonnes : codeArticle, libarticle, prixArticle et ordrePrix (voir ci-joint). Je veux une requête ou code source sous Windev qui permet de mettre à jour la colonne ordreArticle de cette façon,
Pour un code article donné, la ligne dont le prix est le 1er moins disant, la colonne ordre = 1 , la ligne dont le prix est le 2ème moins disant, la colonne ordre = 2, la ligne dont le prix est le 3ème moins disant, la colonne ordre = 3
Voir ci-joint un exemple comment cette colonne sera remplie.
Merci d'avance pour votre aide smiling smiley 
| |
| Message envoyé
le
06-11-2025
par
Jackson
(Bosnie)
|
Il me semble qu'un ordre de tri est nécessaire. Créez un index composite dans Analysis sur la table codeArticle+OrdreArticle+prixArticle.
Lors de la création de la requête, définissez l'ordre de tri sur ces trois colonnes.
| |
| Message envoyé
le
07-11-2025
par
WDnet
(France)
|
par programmation avec un truc comme ça
nOrdre est entier = 1
nIndice est entier
sLibelle est chaîne = ""
sPrix est monétaire = -1
POUR TOUT Articles
TableAjouteLigne(Table_Articles, Articles.codeArticle, Articles.libelleArticle, Articles.prixArticle)
FIN
TableTrie(Table_Articles, "libelleArticle", "prixArticle")
POUR nIndice = 1 _À_ Table_Articles..Occurrence
SI Table_Articles[nIndice].libelleArticle = sLibelle _ET_ Table_Articles[nIndice].prixArticle = sPrix ALORS
Table_Articles[nIndice].ordreArticle = nOrdre
SINON SI Table_Articles[nIndice].libelleArticle = sLibelle _ET_ Table_Articles[nIndice].prixArticle <> sPrix ALORS
nOrdre+=1
Table_Articles[nIndice].ordreArticle = nOrdre
SINON
nOrdre = 1
Table_Articles[nIndice].ordreArticle = nOrdre
FIN
sLibelle = Table_Articles[nIndice].libelleArticle
sPrix = Table_Articles[nIndice].prixArticle
FIN
| |
|