parcours et selection selon deux condition ?
Utilisateur WDF
Inscrit:
08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
Bonjour,

j'ai un table que je remplie par un requête comme suit :

N Date

1002 02/11/2007
1002 02/11/2007

1222 02/11/2007

1019 28/09/2007 ok
1019 30/04/2007 ok

1061 28/09/2007 ok
1061 06/07/2007 ok

1154 16/11/2007 ok
1154 09/03/2007 ok
1154 16/11/2007 (mon code me colore aussi cette ligne)
1154 09/03/2007 (mon code me colore aussi cette ligne)

1890 23/03/2007 ok
1890 23/03/2007
1890 24/03/2007 ok

je vaudrais calculer le nombre des lignes qui ont un n qui se répètent avec des dates différentes donc j'ai pensé au début de faire colorer les lignes qui ont cette condition mais j'ai pas bien y arriver !



NombreTable--

POUR nCompteur = 1 A (NombreTable)
  nIndice = TableCherche( N ,MATABLE.N[nCompteur],Vrai,nCompteur+1)
  TANTQUE nIndice > 0
    SI MATABELE.DATE [nCompteur] <> MATABELE.DATE[nIndice] ALORS
      kk = Dimension(tabSuiteDate)
      POUR j = 1 A kk
        // Pour sauter les lignes déjà colorer
        SI MATABLE.DATE [nIndice] = tabSuiteDate [j] ET ( MATABLE.N[nCompteur] = tabSuiteN [j] OU MATABLE.N[nIndice] = tabSuiteN [j] ) ALORS
          GOTO hh
        FIN
      FIN
      BufCompteur ++
      Dimension(tabLIsteIndice,BufCompteur)
      Dimension(tabLIsteSerail,BufCompteur)

      // sauvegarde date et N à colorer
      tabSuiteDate[BufCompteur] = MATABLE.DATE[nIndice]
      tabSuiteN [BufCompteur] = MATABLE.N [nIndice]

      // coloration des ligne de condition    
      MATABLE.N[nCompteur]..CouleurFond = iVertClair
      MATABLE.N[nIndice]..CouleurFond = iVertClair
    FIN
hh :
    nIndice = TableCherche(N ,MATABLE.N[nCompteur],Vrai,nIndice+1)
  FIN
FIN

Svp est ce qu'il y as un truc plus rapide et simple me renvoie seulement les lignes avec (ok)?
Merci

Contribution le : 01/02/2008 19:19

Edité par drcharly93 sur 1/2/2008 20:53:02
Edité par drcharly93 sur 1/2/2008 20:53:21
Edité par drcharly93 sur 1/2/2008 20:53:40
_________________
......
Créer un fichier PDF de la contribution Imprimer


Re: parcours et selection selon deux condition ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
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à

Contribution le : 02/02/2008 18:16
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: parcours et selection selon deux condition ?
Utilisateur WDF
Inscrit:
08/06/2004 01:19
De Casablanca au maroc
Post(s): 50
Merci Pour ta répons
Je l'avais testé mais c'est pas tout fait complet (ne marche pas pour les lignes >=3 où on trouve des lignes se répètent) par exemple pour

1154 09/03/2007
1154 09/03/2007
1154 16/11/2007
1154 16/11/2007
on se trouve avec les deux lignes

1154 16/11/2007 colorer
1154 16/11/2007 colorer

mais on doit avoir les lignes suivantes qui sont colorer

1154 09/03/2007
1154 16/11/2007

j'avais trouver une solution mais pas la meilleur, le problème était des doublons donc j'ai créé une fichier hyper file avec un clé composé du N et de la date et je le remplie ça marche bien mais j'avais souhaité de trouver une solution itératif car j'arrive pas à le faire
Merci beaucoup et bonne Dev

Contribution le : 04/02/2008 10:30
_________________
......
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


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