calcul somme d'une colonne table
Anonyme
Bonjour et merci de votre aide, voici mon problème :

Eléments

1 Fenêtre "oe.fic"
1 Table (avec colonnes fichiers et calculés)"table"
1 Champ d’affichage "aftotpdc"

Le total des champs de la colonne pdctot de la table est affiché dans le champ aftotpdc avec la boucle:

i est un entier
somme est un reel
pour i=1 à tableoccurrence("table",1)
somme = somme + pdctot[i]
fin
aftotpdc = somme

Ce code est placé dans la table (affichage d’une ligne de la table).

Le problème est que le calcul s’arrête à ce qui est visible dans la table (à l’ecran) et
il faut aller se placer sur le dernier enregistrement pour que calcul total de tous
les champs de la colonne Pdctot soient pris en compte.
Ma question: comment faire pour que, quelque soit les enregistrements visible
A l’ecran, le calcul se fasse sur la totalité des champs de la colonnes pdctot
(champ visible et hors champ de vision)
Merci de votre réponse.
Alain

Contribution le : 13/01/2005 00:59
Créer un fichier PDF de la contribution Imprimer


Re: calcul somme d'une colonne table
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour

Juste un petit parcours de l'aide donne le résultat suivant :
POUR i=1 A tableoccurrence("table",toTotal)

Avec cette option, TableOccurrence parcourera son fichier lié entier.

Sinon, afin d'améliorer les performance de ce type de traitement il y a des méthodes intéressantes.

1- Dans la boucle, mettre la valeur de Tableoccurrence dans une variable, cela évite le comptage intempestif

2- Utiliser une requête "Select AS VALEUR From ". L'éxécution de la requête ne retournera qu'une ligne et sera donc rapide et facile à exploiter.

3- Limiter le lancement du calcul. En effet, les modifications effectuées dans le fichier sont souvent assurées par la fenêtre en cours (attention au contextes réseaux). Par conséquent, une suppression de ligne constitue une diminution connue du total, tout comme l'ajout et la modification si on récupère sa valeur avant modification. Je vous laisse imaginer alors les détail de ce type de solution qui peut permettre d'obtenir un gain conséquent dans l'exécution de votre fenêtre.

Contribution le : 13/01/2005 11:12
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: calcul somme d'une colonne table
Anonyme
Bonjour,

Merci de votre réponse aussi rapide.
Pour commencer, je vais essayé la premiere solution.
Si je rencontre toujours des difficultés, alors je ferais
de nouveau appel à vos compétences.
Encore merci



Contribution le : 13/01/2005 14:15
Créer un fichier PDF de la contribution Imprimer


Re: calcul somme d'une colonne table
Stagiaire WDF
Inscrit:
13/01/2005 00:54
Post(s): 1
Bonjour.
Merci de votre aide.
J'ai trouvé sur un autre forum le traitement ci dessous.
Ce dernier, accelère grandement la vitesse, mais le total se fait toujours sur les seuls enregistrements présents à l'écran, soit 22 (il y en a 23 en tout)
----------------------------------------------------------
I,Z sont des entiers; Somme est un reel
I=1; Z=tableoccurrence(MaTable)+1
Tantque ISomme=Somme+Ht[I]; I++
FIN
AffichTotalHT=Somme
----------------------------------------------------------
J'ai ajouté en sortie de cette boucle AffichEnreg = z
Ainsi, je connais le nombre total d'enregistrement de la table, soit 23
Auriez vous une autre idée
D'avance merci

Alain

Contribution le : 17/01/2005 22:13
Créer un fichier PDF de la contribution Imprimer


Re: calcul somme d'une colonne table
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
WinDev 7 :
merci de mettre l'option toTotal à votre TableOccurrence et de lui cocher l'option "Ascenseur proportionnel" pour y voir plus clair.

A contrario, toAffichée ne donne que les lignes de la table.

WinDev 5 :
Faites simplement un parcours de votre fichier...en ayant pris soin de récupérer la position avant parcours pour la restituer ensuite.

Contribution le : 18/01/2005 08:50
_________________
R&B
Contact, CV.
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