Question concernant table memoire
Animateur WDF
Inscrit:
05/06/2003 14:23
De Québec
Post(s): 511
Bonjour,

J'ai par exemple une table memoire constitue de la sorte

NOCLIENT NOMCLIENT MONTANT CUMUL

au depart la table est triee sur le noclient et le cumul et calcule exemple

0010 Alfred 100 100
0020 Didier 200 300

Maintenant il m'est demande de faire la chose suivante, si je click sur la colonne nomclient pour triee donc par le nom que la zone cumul se recalcul en fonction.

J'ai beau cherche je vois pas comment faire ....

Merci pour votre aide

a+++

Contribution le : 07/08/2006 21:10

Edité par Oceans sur 8/8/2006 17:05:35
Créer un fichier PDF de la contribution Imprimer


Re: Question concernant table memoire
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Chaud !
En effet, tu ne peux effectuer le cumul progressif pour les 3 tris lors du remplissage de la table... sauf à utiliser une table temporaire et beaucoup de TableCherche() ce qui est à proscrire.

En conséquence, pourquoi ne pas simplement faire de Cumul une colonne calculée au moment de l'affichage. Pour ce faire il suffit d'afoir 2 champs : DerniereValeurClé et Cumul
Selon le tri en vigeur et à chaque affichage de ligne tu compare la valeur courante avec la dernière affichée (pourrait être l'indice précédent mais alors attention au positionnement) et selon le cas tu ajoute au cumul ou le RAZ avant d'affecter ta colonne cumul.

Cette dernière méthode est sans doute la plus rapide car elle n'effectue aucune recherche.

Reste à connaitre la colonne pour laquelle le tri est actif (je pense qu'on a une propriété pour cela).

Bon courage.

Contribution le : 08/08/2006 10:17
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Question concernant table memoire
Animateur WDF
Inscrit:
05/06/2003 14:23
De Québec
Post(s): 511
Salut,

Effectivement c'est assez ardu comme principe.

J'ai trouve comment recuperer le no de la colonne sur laquelle j'ai clique via un evenement

evenement("Procedure","NomTable",1529)

dans _eve.wparam on retrouve le no de la colonne

j'y ai ajoute une procedure pour refaire mon calcul

Mais il y a encore un petit probleme a regler, il semble que le calcul se fasse avant le reaffichage pas bon il faut que je cherche encore :)

a+++

Contribution le : 08/08/2006 15:31
Créer un fichier PDF de la contribution Imprimer


Re: Question concernant table memoire
Animateur WDF
Inscrit:
05/06/2003 14:23
De Québec
Post(s): 511
Salut,

Bon j'ai reussi a faire ce que je voulais.

en premier donc faire un evenement("NomProcedure","NomTable",1529)

apres creer autant de booleen a vrai que de colonne qui sont triables.

Global
   bColonne1 est un booleen = vrai
   bColonne2 est un booleen = vrai
   bColonne3 est un booleen = vrai
   bColonne4 est un booleen = vrai


ensuite dans la procedure faire comme suit :


PROCEDURE NomProcedure()

LOCAL
	Nomchamp est une chaîne

SELON _EVE.wParam     // No de la colonne

	CAS 1
		Nomchamp = "COLONNE1"
		SI bDatetrans ALORS Nomchamp = "-COLONNE1" ; bColonne1 = Faux SINON bColonne1 = Vrai
		
	CAS 2
		Nomchamp = "COLONNE2"
		SI bColonne2 ALORS Nomchamp = "-COLONNE2" ; bColonne2 = Faux SINON bColonne2 = Vrai

	CAS 3
		Nomchamp = "COLONNE3"
		SI bColonne3 ALORS Nomchamp = "-COLONNE3" ; bColonne3 = Faux SINON bColonne3 = Vrai

	CAS 4
		Nomchamp = "COLONNE4"
		SI bColonne4 ALORS Nomchamp = "-COLONNE4" ; bColonne4 = Faux SINON bColonne4 = Vrai

FIN

TableTrie(Table,Nomchamp)  // Trie selon le booleen
ProcCalculCumul()
RENVOYER 0   // Kill le message windows


a+++

Contribution le : 08/08/2006 17:00

Edité par Oceans sur 8/8/2006 20:08: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