Message de rapport:
 

Re: parcours et selection selon deux condition ?

Sujet: Re: parcours et selection selon deux condition ?
par drcharly93 sur 2/2/2008 18:16:29

Bonjour,

Si vous utiliser une table mémoire vous pouvez commencer par trier votre table par n et Date
Prenons un exemple avec une table que l'on va nommé MaTable
Cette table va contenir deux colonnes que l'on va appeler:
colNum pour le numéro
colDate pour la date

Je considère que la table a déjà été alimentée comme vous l'avez indiquée.
TableTrie( MaTable, "ColNum", "ColDate" )

vous allez avoir comme résultat :

1002 02/11/2007
1002 02/11/2007
1019 30/04/2007
1019 28/09/2007
1222 02/11/2007
1154 09/03/2007
1154 09/03/2007
1154 16/11/2007
1154 16/11/2007
1061 06/07/2007
1061 28/09/2007
1890 23/03/2007
1890 23/03/2007
1890 24/03/2007

Ensuite on peut calculer le nombre de ligne qui possède le meme numéro mais avec des dates différentes:
nNbDiff est un entier
Ind est un entier
nPos est un entier
//On commence à la 2ieme ligne
Pour Ind = 2 _A_ MaTable..Occurrence
  //On test si la ligne est différente
  Si colNum[Ind] = ColNum[Ind - 1] Alors
    //On conserver la position du premier N° répété 
    Si nPos = 0 alors nPos = Ind - 1
    Si colDate[Ind] <> ColDate[nPos] Alors
      //Même n° - Date différente du Premier N° trouvé
      Table[Ind]..CouleurFond = iRougeClair
      nNbDiff ++
    Fin
  Sinon
    //Le n° à changé on remet à 0
    nPos = 0
  Fin
Fin

Voilà non testé mais l'idée est là
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2