|
Débuté par gregory f, 13 mai 2005 13:51 - 4 réponses |
| |
| | | |
|
| |
Posté le 13 mai 2005 - 13:51 |
Bonjour,
J'ai en fait dans ma base, des Périodes ( IDPériode , date_début , date_fin ). Mais aussi des clients(IDClient), des factures(IDFacture,IDClient), et des lignes de facture(IDFacture,IDProduit,Montant).
J'aimerai un état tableau croisé (ou même une table peut-etre ?) qui contiendrait les clients sur les lignes, et les périodes sur les colonnes, pour représenter les montants totaux des factures durant la période (besoin de comparer la date de la facture aux date_debut et date_fin), pour le client concerné.
Les périodes sur lesquelles les calculs doivent être effectués seraient d'abord sélectionnées par l'utilisateur parmi la liste des périodes de la base de données. Et une colonne serait affichée par période sélectionnée.
Je ne vois pas comment réaliser cela car que je ne trouve pas la souplesse nécessaire dans les états "tableau croisé".
Cordialement. |
| |
| |
| | | |
|
| | |
| |
Posté le 13 mai 2005 - 16:23 |
Bonjour,
Vous pouvez réaliser un tableau croisé en combinant Structure et tableau dynamique.
Seules contraintes - Nombre de lignes - limite de 10 éléments < colonnes >
Si celà peut vous donner une idée, j'ai réaliser un budget dont voici quelques bout de code a titre d'exemple
MaStruct est une structure Ref est un tableau dynamique Mvts est un tableau dynamique Totaux est un tableau dynamique FIN Bal est une MaStruct
// ************************************************************ // Ref = Tableau dynamique de 80,3 Chaines // Lgn - [< C1 IDCompte - C2 Libellé - C3 Type >] // ------------------------------------------------------------ // Mvts = Tableau dynamique de 80,6 Reels // Lgn - [< C1 IDCompte - C2 Exerc1 >> C6 Exerc5 // ------------------------------------------------------------ // Totaux = Tableau dynamique de 5,3 Réels // Lgn - [< C1 Recettes - C2 Dépenses - C3 Capital >] // ************************************************************
// [< Allocation des tableaux >] Bal:Ref = allouer un tableau de 80, 3 chaînes Bal:Mvts = allouer un tableau de 80, 6 réels Bal:Totaux = allouer un tableau de 5, 3 réels
// [< Références compte >] nLgn = 1 HLitPremier(Compte, IDCompte) TANTQUE PAS HEnDehors(Compte) Bal:Ref[nLgn,1] = Compte.IDCompte // Compte Bal:Ref[nLgn,2] = Compte.LibCompte // Libellé Bal:Ref[nLgn,3] = Compte.TypeCpte // Type de compte Bal:Mvts[nLgn,1] = Compte.IDCompte
HLitSuivant(Compte, IDCompte) nLgn++ FIN
Il faut remplir les tableaux dont les données seront affichés dans une table mémoire puis faire un état sur cette table
Le tout réside en fait dans la conception de l'ordonnance des tableaux
J'espère avoir pu un peu vous éclairer
Cordialement
Albert |
| |
| |
| | | |
|
| | |
| |
Posté le 13 mai 2005 - 16:45 |
| |
| |
| | | |
|
| | |
| |
Posté le 13 mai 2005 - 17:08 |
Oh, merci beaucoup, je crois bien y arriver grâce à vos conseils !
Cordialement. |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2005 - 14:24 |
Bonjour ben moi aussi j'ai le même problème sauf que le code que vous avez mis concernant le tableau dynamique, je l'ai compris mais après comment l'exploiter pour l'afficher dans un état...je ne vois pas trop comment faire ??? |
| |
| |
| | | |
|
| | | | |
| | |
|