[DELPHI] Champ agregat HELP!!!

Champ agregat HELP!!! [DELPHI] - Programmation

Marsh Posté le 08-10-2001 à 15:16:06    

Il affiche rien, il faut lui ecrire un gestionnaire (comme pour les champs calculés?)
C important  :sweat:

 

[edtdd]--Message édité par AGA--[/edtdd]


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 08-10-2001 à 15:16:06   

Reply

Marsh Posté le 09-10-2001 à 07:43:34    

personne sait fAIRE ça?!


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 09-10-2001 à 12:27:14    

Reply

Marsh Posté le 09-10-2001 à 15:27:15    

Reply

Marsh Posté le 11-10-2001 à 07:52:29    

Reply

Marsh Posté le 11-10-2001 à 08:27:30    

C'est un problème delphi ou un pb de champ agrégat ds une req sql ? c'est pas clair, ton pb


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 11-10-2001 à 08:58:26    

Ds Delphi tu peux sur une table crée des champs de reference, des champs calculé et des champ d'agregat (c le nom ds Delphi)
L'idee c de recapitulé des champs de l'ensemble de donnée client
 
exemple tu a une facture et des produits, la table facture c la table maitre, la liste des produits la table detail
Le but calculé le totale du prix des produits de la facture; tu peux faire la moyenne, le min, le max, la somme.
J'arrive à creer ce champ mais il n'a aucune valeur (vraisemblablement il y  aune notion de groupe recapitulatif que je n'ai pas compris)
 
C important, aussi je veux bien reexpliquer si je n'ai pas été clair.


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 09:31:45    

désolé, je connais pas delphi :( une piste quand même : t'as peut-être des problèmes avec la valeur null aussi ; si 1 colonne est à null, ta fct d'agrégat fonctionne ou pas ?


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 11-10-2001 à 09:37:04    

instantdharma a écrit a écrit :

désolé, je connais pas delphi :( une piste quand même : t'as peut-être des problèmes avec la valeur null aussi ; si 1 colonne est à null, ta fct d'agrégat fonctionne ou pas ?  




c peut être ça qd je teste le champ d'aggregat il est à nul :(


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 10:59:12    

Par défaut, les agrégats maintenus sont calculés afin qu'ils synthétisent tous les enregistrements d'un ensemble de données client. Toutefois, vous pouvez spécifier que l'opération ne porte que sur les enregistrements d'un groupe. Cela vous permet d'obtenir des synthèses intermédiaires, comme des sous-totaux impliquant des groupes d'enregistrements ayant une valeur de champ commune.
Pour spécifier un agrégat maintenu sur un groupe d'enregistrements, vous devez disposer d'un index à partir duquel peut s'opérer le regroupement. VoirUne fois que vous disposez d'un index qui regroupe les données en fonction de la synthèse que vous voulez opérer, spécifiez les propriétés IndexName et GroupingLevel d'agrégat pour indiquer l'index à utiliser et le groupe ou sous-groupe de cet index qui définit les enregistrements à synthétiser.
 
Par exemple, considérons la portion de table de commandes suivante triée par représentants (SalesRep) puis par clients (Customer) :
 
SalesRep Customer OrderNo Amount
1 1 5 100
1 1 2 50
1 2 3 200
1 2 6 75
2 1 1 10
2 3 4 200
Le code suivant définit un agrégat maintenu qui indique le montant total des ventes réalisé par chaque représentant :
 
Agg.Expression := 'Sum(Amount)';
 
Agg.IndexName := 'SalesCust';
Agg.GroupingLevel := 1;
Agg.AggregateName := 'Total for Rep';
 
Pour ajouter un agrégat qui synthétise chaque client pour un représentant donné, créez un agrégat maintenu de niveau 2.
Les agrégats maintenus qui synthétisent un groupe d'enregistrements sont associés à un index spécifique. La propriété Aggregates peut inclure des agrégats qui utilisent différents index. Toutefois, seuls les agrégats qui synthétisent la totalité de l'ensemble de données client et ceux qui utilisent l'index en cours sont valides. La modification de l'index en cours détermine les agrégats qui sont valides. Pour déterminer les agrégats valides à un moment donné, utilisez la propriété ActiveAggs.


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 10:59:12   

Reply

Marsh Posté le 11-10-2001 à 11:35:42    

UP siouplait une methode n'importe Koi  :cry:  :sweat:  :sweat:  :sweat:  :ouch:  
 
 
 
 
Un champ agrégat affiche les valeurs issues d'un calcul portant sur un ensemble de données client. Un agrégat est la somme des données contenues dans un ensemble d'enregistrements.
Pour créer un champ agrégat dans la boîte de dialogue Nouveau champ :
 
1 Entrez un nom pour le champ agrégat dans la boîte de saisie Nom. N'entrez pas le nom d'un champ existant.
2 Choisissez le type de données d'agrégat pour le champ dans la boîte à options Type.
3 Sélectionnez l'option d'agrégat dans la boîte groupe Type de champ.  
4 Choisissez OK. Le champ agrégat nouvellement défini est automatiquement ajouté au composant Aggregates de l'ensemble de données client. Il est automatiquement mis à jour pour inclure la spécification d'agrégat appropriée et la déclaration du composant est automatiquement ajoutée à la déclaration type de la fiche dans le code source.
 
5 Placez le calcul de la somme dans la propriété ExprText du champ agrégat nouvellement créé. Pour plus d'informations sur la définition d'une somme, voir Spécification des agrégats.
 
Une fois qu'un composant persistant TAggregateField est créé, un contrôle TDBText peut être lié au champ agrégat. Le contrôle TDBText affiche alors la valeur du champ agrégat en fonction de l'enregistrement en cours de l'ensemble de données client sous-jacent.


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 11:55:03    

franchement si tu perds plein temps à esayer d'utiliser les aggrégats, t'aurais peut-être intérêt à le programmer toi même, même si c'est pas la meilleure solution, ça marche! Moi, j'ai développé un soft de gestion de commandes intégrant une facturation auto, ben j'ai fait tout un tas de requêtes SQL et stocker les résultats dans des vars -> ça marche. C'est peut-être moins rapide et moins élégant que tes aggrégats, mais CA MARCHE :)

Reply

Marsh Posté le 11-10-2001 à 12:24:13    

rufo a écrit a écrit :

franchement si tu perds plein temps à esayer d'utiliser les aggrégats, t'aurais peut-être intérêt à le programmer toi même, même si c'est pas la meilleure solution, ça marche! Moi, j'ai développé un soft de gestion de commandes intégrant une facturation auto, ben j'ai fait tout un tas de requêtes SQL et stocker les résultats dans des vars -> ça marche. C'est peut-être moins rapide et moins élégant que tes aggrégats, mais CA MARCHE :)  




c ce que je vais essayer de faire :(
l' id
qd j'enregistre un nouveau enregistrement detail, j'ai un evenement on calc field (pour calculer le montant par ligne qte+prix) en même temps j'appele mon calcul pour le total ki lui est stocké (plus pratique) mais le blem ce que si on revient sur la ligne d'avant et qu'on retire des produits :( ça marceh plus


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 12:50:41    

:ouch: ça marche même pas ma tech; je l'ai mis sous OnNewRecord
et le champ n'est pas encore calculé, donc reste à zero :(


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 15:36:48    

YAISSE çA MARCHE!!!
J'ai un autre blem.
Je veux le total HT, TTC et TVA (montant de TVA confondu taux 5.5 et 19.6), je suis obligé ds stockés deux ds la base??
 
 :hello: rufo (j'ai pris ta methode...tu peux bien jetté un coup d'oeil vite fait ;) )


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 11-10-2001 à 15:48:49    

au passage, j'ai un dbgrid pour inserer les données, comment on fait pour effacer une ligne (sans avoir un dbnavigator ou un bouton) ajouter je fais bas mais effacer :??:


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 12-10-2001 à 07:40:46    

AGA a écrit a écrit :

au passage, j'ai un dbgrid pour inserer les données, comment on fait pour effacer une ligne (sans avoir un dbnavigator ou un bouton) ajouter je fais bas mais effacer :??:  




 
en sélectionnant la ligne en appuyant sur la touche suppr. Mais person, j'interdis toute edition des donnéesvia un dbgrid. Je m'en sers uniquement pour de la consultation ou, quand on dbclick sur une ligne, ça renvoie sur la fiche où là, on peut modifier les données :)

Reply

Marsh Posté le 12-10-2001 à 07:43:36    

AGA a écrit a écrit :

YAISSE çA MARCHE!!!
J'ai un autre blem.
Je veux le total HT, TTC et TVA (montant de TVA confondu taux 5.5 et 19.6), je suis obligé ds stockés deux ds la base??
 
 :hello: rufo (j'ai pris ta methode...tu peux bien jetté un coup d'oeil vite fait ;) )  




 
soit pour chaque article tu stockes le type de tva (via une clé étrangère), soit à partir de la désignation du produit, tu peux déterminer la tva.

Reply

Marsh Posté le 12-10-2001 à 12:31:10    

non a produit peut subir les deux TVA, depend d'un truc trop compliqué
EN plus les 2 TVA peuvent être sur la même facture.


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
Reply

Marsh Posté le 12-10-2001 à 12:37:33    

AGA a écrit a écrit :

non a produit peut subir les deux TVA, depend d'un truc trop compliqué
EN plus les 2 TVA peuvent être sur la même facture.  




 
donc faudra une table suppl qui contiendra pour une commande donnée, un n° de produit et un n° de tva

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed