Comment faire de report de solde d'un mois à un autre ?

gaston_2007 Messages postés 2 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 21 mai 2007 - 16 mai 2007 à 15:39
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 21 mai 2007 à 15:44
Je suis en train de tenter de développer une base de donnée pour gérer une caisse. Ca semvle aller.  Mais comment afficher dans un état la situation par mois tout en reportant le solde de fin de mois au début mois  suivant et ainsi de suite ?

Qlqu'un peut m'aider ?

Merci d'avance.

14 réponses

cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
16 mai 2007 à 15:47
Salut,

il faut que le recordset qui te sert de source pour l'etat soit trier par groupe.

Fait une recherche sur ORDER BY et GROUP BY dans le langage SQL
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 mai 2007 à 15:52
impossible de le faire par requête,
il faut passer par une table temporaire qui sera mise à jour
au moment voulu.Et c' est cette table qui sera la source de données
de ton etat.

<h5 dir="ltr" align="left">© - Développer..c' est cultiver un sens de l' humour bien particulier.
                                                                                                            
      (Rolling, mon poisson rouge)                                                     
                                                                                                       

</h5>
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
16 mai 2007 à 16:26
Tu es sur chaibat05 car je le fais bien moi a moins d'avoir loupé une étape.

Il suffit de mettre un controle dans l'entete de groupe .

Ensuite, de placer les control dans la section details et de lier ces derniers aux champs de la table que l'on souhaite afficher (propriété datafield et datamember).

Mais pour que cela fonctionne, il faut que la source de données de l'etat soit un recordser trié de cette maniere.

select * from [" & Tablename & "] order by Champ2 ASC} AS rst COMPUTE rst BY [Champ1]"

Les données de ma bases seront groupées suivant le champ1 et les groupes formés seront eux memes triés suivant le champ2
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 mai 2007 à 17:17
Le problème est le suivant :


*En-Tete de Groupe
   Mois
*Details
    Champ1   Champ2   Champ3
*Pied de Groupe
  Total                          ..........


Ou mettre le report du Mois 3 par exemple quand tu
demande un etat Situation Mois 4   ?                 


------------------------------------------------------------------------------------------------------------------------------------------


© - Développer..c' est cultiver un sens de l' humour bien particulier.                        
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
16 mai 2007 à 19:10
"Ou mettre le report du Mois 3",

bah enfait dans mon cas, tout les mois serait afficher automatiquement donc on peut pas mettre un mois par ci un mois par la. Les uns seront a la suite des autres.

Par contre, il est possible de n'afficher que le mois 3 avecd une clause Where dans la requete SQL.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 mai 2007 à 22:24
D' accord...! je ne dis pas.
Résumons l' idée :
> J' ai une table avec des entrées et des sorties par date
  (avec possiblité qu' il y ' ait  plusieurs pour une date) .
>Je fais donc un regroupement qui me donne lcumul
 des entrées et des sorties par mois


Résultat :
 Mois          Entrees           Sorties        Solde
 1              10 000.00      5000           5000
 2              15 000.50      7500           7500.50
 3              12 000.50      4000.50      8000


Or le but est d' avoir un report, c.à.d
Mois       Report    Entrees         Sorties        Solde
 1              ?         10 000.00      5000           5000
 2              ?         15 000.50      7500           7500.50
 3              ?         12 000.50      4000.50      8000


En d' autre terme
Pour le mois 1 (cas spécial)
   Report=0
   Solde=Report+ (Entrees-Sorties)


Pour le Mois 2
   Report=Solde du Mois1
   Solde   =Report+ (Entrees-Sorties)


Pour le Mois 3
   Report=Solde du Mois2
   Solde   =Report+ (Entrees-Sorties)


Toute la difficulté pour une requete est d' être à la fois sur une ligne
et récupérer une donnée de la ligne prédédente.
D' ou la nécessité de le faire par traitement.C' est ce que tu proposes,
 je sais.Mais c' est qu' il ne s' agit pas juste d' afficher sur une fenêtre
mais de générer un etat et donc préparer une table temporaire nourrie
 avec le traitement précédent et qui sera Source de données pour cet Etat.


D' acc ?




 



© - Développer..C' est cultiver un sens de l' humour bien particulier. 






(Rolling, mon pois
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
19 mai 2007 à 11:38
Donc le mieux d'apres toi serait de refaire une table temporaire avec les données organiser pour pouvoir faire cette affichage.

Pourquoi pas. [auteurdetail.aspx?ID=983663 gaston_2007], regarde la requete SQL Create_Table, organise les données pour que sur chaque enregistrement (chaque mois donc) il y ait le resultat du mois précédent et ensuite, tu mettras cette table en source de ton data report et ca devrait aller.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 mai 2007 à 12:06
Salut,
Pourquoi créer une table par code ?
Ta table doit faire partie de ta BD.Au même titre que
les autres tables.
Il suffirait juste qu' au moment de dresser la situation:
1° la vider
2° Faire le traitement,
3° Lancer le resultat
Ainsi tu as un aperçu de la sitution exavte et instantanée.
D' ailleur c' est pour ça qu' on l' appelle Temporaire.
Elle est constament mise à jour.




<hr />



© -Cannes, c' est juste une histoire d' escalier.
Mais moi ce qui m' inquiète, c' est plus la montée des eaux que la montée des marches !
                                         Rolling: l' agité du bocal.





<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 mai 2007 à 12:08
je veux dire:
1° la vider
2° Lancer le traitement,
3° Copier le resultat

<hr />
© -Cannes, c' est juste une histoire d' escalier.
Mais moi ce qui m' inquiète, c' est plus la montée des eaux que la montée des marches !
                                         Rolling: l' agité du bocal.
<hr />
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
19 mai 2007 à 15:00
A chacin sa solution, moi par temporaire, j'entends une table qui n'a d'existance que pendant le lancement du report mais bon c'est rien ca d'autant plus que notre ami ne repond pas du tout donc on débat dans le vide (je deteste ce genre de situation qui se repete de plus en plus souvent).

PS: Pout ta petite reflexion sur la futilité de la montée des marches, tout à fait d'accord.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 mai 2007 à 15:33
Re-salut,
Mais non Nickos, on ne débat pas dans le vide,
puisqu' on est deux...plus ceux qui seront interressés.
Tu n' adopteras peut être pas ma façon de faire, mais au mois
on aura eu l' occasion d' en débattre.Le reste, peu importe.

Bonne fin de semaine.


PS: ce qui est sûr c' est qu' on est tout deux d' accord avec Rolling
<hr />
© -Cannes, c' est juste une histoire d' escalier.
Mais moi ce qui m' inquiète, c' est plus la montée des eaux
que la montée des marches !                                            
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
19 mai 2007 à 15:47
Merci de m'avoir rapeller qu'eventuellement, ca pouvait aider d'autres personnes et nous meme aussi, c'est d'ailleurs grace aux gens qui me posent des questions que j'apprends, en cherchant moi meme.
0
gaston_2007 Messages postés 2 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 21 mai 2007
21 mai 2007 à 11:32
Chers amis, merci de débatre... 

736628 chaibat05 résume très bien mon besoin.  Mais étant débutant, je suis un peu perdu dans la discussion.  Concrètement comment générer cette table temporaire ?  Pcq effectiement, de la situation générale de l'année, je dois pouvoir extraire la situation mensuelle des entrées et des sorties, ce qui signifie que le report du mois précédent doit apparaître, sinon le solde du mois extrait sera faux.

Essayez de me dire PRATIQUEMENT comment faire ?

=999867 Nicko11 j'aimerais vous rassurer, le debat n'est pas inutile.  au contraire. Retenez que j'ai un problème à résoudre...

Merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 mai 2007 à 15:44
Bonjour,
Avec la solution proposée tu n' auras aucun problçme et ce?
quelque soit le mois que tu demanderas à consulter.
En effet la génération de la situation (voir traitement) concernera toute l' année.
Tu auras donc au final douze lignes que tu copies dans ta table temporaire.
Mois       Report    Entrees         Sorties        Solde
 1            0             12                   4                 8
 2            8              5                    3               10
 3          10              6                  12                 4 
 4         4          14                 3             15       
 5          15     
...
etc jusqu' au mois 12
      


La selection du mois se fera donc sur la table temporaire.C' est pourquoi
j' ai précisé que la source de données est la table temporaire,
Et si tu veux avoir en plus le détails du mois tu lies ta table Mouvements à
cette table temporaire (ou Situation si tu préf_res) sur le champ mois












<hr />
0
Rejoignez-nous