IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Report du solde d'un mois sur l'autre.


Sujet :

Requêtes et SQL.

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut Report du solde d'un mois sur l'autre.
    Bonjour,

    C'est la rentrée et j'ai un rapport de gestion d'un compte de banque, et ses sous comptes à remettre lundi.
    Je ne sais quelle serait la meilleure, ou la moins mauvaise direction à prendre.

    Suivant une première requête j'effectue un cumul en ligne des sous comptes (RubGénérale)
    http://ns1.hostingpics.net/pics/331055Approche.jpg
    Puis, une seconde requête permet de connaître, mois par mois, les versements, ainsi que la mise à zéro de ce compte.(D'une façon générale tout retrait et apport)
    http://ns1.hostingpics.net/pics/844979Mensuel.jpg
    Jusque là c'est positif.

    La question :
    Il me faut indiquer la situation du compte au dernier jour du mois.
    Le compte 1790 :
    —> 06/04/2007—>Versement 15000 €—>Fin du mois Avril =15 000 €—>OK
    —>05/05/2007—>Retrait—>12 000 € —>Fin du mois Mai = 3 000 € —>OK
    —>29/06//2007—>Retrait—> 3 000 € —> Fin du mois Juin = 0 € —> OK
    Formidable.

    Le compte 1791 :
    —>13/04/2007—>Versement—>500 €—>Fin du mois Avril = 500 €—>OK
    —> Fin Mai
    —>Fin juin
    —>20/07/2007—>Retrait—>500 €—>Fin du mois Juillet = 0 €—>OK
    Il me faut faire ressortir pour Mai Et juin le solde du compte qui est à 500 €

    Et évidemment gérer pour ceci le passage d'une année sur l'autre.
    RapportGestion.zip

    Merci de bien vouloir éclairer mon obscurantisme.

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bien le bonjour Francishop,

    je voulais regarder ton ZIP mais autant Winrar que Winzip me font des erreurs.

    Winzip :
    Dll: C:\Program Files\WinZip\Wz32.dll - 12/04/1998 07:00
    Extraction vers D:\tmp\08-09\
    Utilise Chemin: oui Fichiers Overlay: non
    passe: RapportGestion.mdb méthode de compression non supportée 12
    erreur: fichier introuvable - rien à faire
    J'espère que d'autres seront plus chanceux.

    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir micniv;
    Et bonsoir tout le monde.

    Mais non, ils ne seront pas plus chanceux. Il auront :
    http://www.wiinzip.info/fr/

    Mais tu ne perds pas grand chose avec mon zip. Je ne me suis pas fendu. Je l'ai joint pour éviter aux bonnes âmes d'avoir à reconstituer la table.

    Cordialement.

    Ps : Gratuit -->http://www.new-7zip.com/fr/
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Bonjour,
    pourquoi ne pas faire simplement le cummul entre tous les plus et les moins et un filtrage avec les dates inférieure au 1 er de chacun des mois cela donnera le solde.
    bonne soirée.

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut francishop, micniv et cbleas,
    déjà: 7Zip c'est ici que cela se passe et qu'il est gratuit.

    cbleas, tu as raison mais le mois étant en pivot cela n'est pas aussi simple que cela en a l'air.

    j'ai eu exactement ce même pb il y a qq année: je l'avais mis de coté...

    je te propose cette requete ci-dessous:
    (attention tu as des dates null que je mets à 0)
    les champs vide exprime une non existance avant une date, il est possible de mettre des 0 mais cela alourdirait le traitement et je trouve cela plutôt bénéfique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    PARAMETERS mYear long;
    SELECT tt.RPG, Max(tt.LD) as LastDec, Max(tt.m1) as Jan, Max(tt.m2) as Fev, Max(tt.m3) as Mar, Max(tt.m4) as Avr, Max(tt.m5) as Mai, Max(tt.m6) as Jui, Max(tt.m7) as Jul, Max(tt.m8) as Aou, Max(tt.m9) as Sep, Max(tt.m10) as Oct, Max(tt.m11) as Nov, Max(tt.m12) as Dec FROM
    (
    SELECT t0.RPG,
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "01") and t1.RPG=t0.RPG group by t1.RPG,0) as LD,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "02") and t1.RPG=t0.RPG group by t1.RPG,0) as m1,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "03") and t1.RPG=t0.RPG group by t1.RPG,0) as m2,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "04") and t1.RPG=t0.RPG group by t1.RPG,0) as m3,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "05") and t1.RPG=t0.RPG group by t1.RPG,0) as m4,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "06") and t1.RPG=t0.RPG group by t1.RPG,0) as m5,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "07") and t1.RPG=t0.RPG group by t1.RPG,0) as m6,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "08") and t1.RPG=t0.RPG group by t1.RPG,0) as m7,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "09") and t1.RPG=t0.RPG group by t1.RPG,0) as m8,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "10") and t1.RPG=t0.RPG group by t1.RPG,0) as m9,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "11") and t1.RPG=t0.RPG group by t1.RPG,0) as m10,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear & "12") and t1.RPG=t0.RPG group by t1.RPG,0) as m11,
     
    (select nz(sum(nz(t1.[MntAcompte€],0)-nz(t1.[MontantRetrait€],0)),0) from tbl_CompteBanque t1 where (format(t1.Dte,"yyyymm")<mYear+1 & "01") and t1.RPG=t0.RPG group by t1.RPG,0) as m12
     
    FROM tbl_CompteBanque t0
    ) tt
     
    GROUP BY tt.RPG
    il y a des contraintes dans l'analyse croisée qui font qu'il n'y a pas de solution explicite.

    et malheureusement ce traitement est assez long.
    on peut éviter le groupement avec un distinct préalable qui devrait améliorer la vitesse.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Bonjour,
    meme ce n'est surement pas la meilleure solution mais cela aura le mérite d'etre assez rapide pourquoi ne pas créer une table solde mensuel.

    bonne journée

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Oui c'est vrai. Tu as raison cbleas, on peut essayer diverses solutions. Mais comme je l'ai dis à Vodiem par MP, en d'autres circonstances je me serais fait un "délice" d'apporter une solution à cette recherche. J'entends par solution quelque chose dont on est fière momentanément.
    Mais je suis pris par cette rentrée et la mise en route de commerciaux qui n'ont guère le moral...Immobilier. (Ceci explique cela)
    Raison pour laquelle par MP j'ai "chauffé" Vodiem 2 jours avant, sans lui donner les données de mon besoin. (Pas de bizness par MP. Juste l'amitié..C'est déjà énorme.)
    Je suis certain que Vodiem est resté en ligne dans l'attente de ma demande.
    Alors, tous, je vous invite à ne pas communiquer par MP avec ce garçon. Outre son humour presque aussi grinçant que le mien, il vous lasse et rend jaloux lorsqu'il vous indique ses "chantiers".
    Il touche à tout. Et en plus, si besoin Il apporte aide à qui le veut. Infréquentable!

    Alors, ta solution Vodiem m'enlève une belle épine du pied ainsi que le stress de savoir qu'il me sera impossible de réfléchir sereinement sur ce sujet.
    En rentrant ce soir à 20 h, dés 21 h j'avais adapté celle ci à ma base.
    Je suis paré pour éditer.

    D'ici quelque temps, dés le coup de feu passé, pour le sport je ne manquerai pas de poster "Ma" solution à cette recherche.

    Un grand merci à tous ceux qui se sont penchés sur ma demande, même sans intervenir.

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    j'avoue, j'attendais l'ouverture de la discution et après deux jours je m'en veux de n'être pas le premier à avoir répondu.
    d'un autre côté je me réjouis de l'intérêt qu'ont d'autres à ton pb ou simplement comme moi à tes soucis.

    Citation Envoyé par francishop
    Alors, tous, je vous invite à ne pas communiquer par MP avec ce garçon. Outre son humour presque aussi grinçant que le mien, il vous lasse et rend jaloux lorsqu'il vous indique ses "chantiers".
    Il touche à tout. Et en plus, si besoin Il apporte aide à qui le veut. Infréquentable!
    c'est trop sympa ce que tu raconte sur lui.
    faudrait pas que cela lui monte à la tête.
    tel que je le connais avec une pub comme ca il va même plus pouvoir finir ce qu'il a entreprit.
    je vais pas faire de délation mais il y est pas le seul sur ce forum, n'est ce pas ?

    pour ce qui est du sujet, j'avais mis l'accent surtout sur l'urgence de la demande: je t'ai donc fourni qu'une solution dont (pour reprendre ton expression) je ne peut être fière, j'aurais aimé trouvé mieux.
    je me suis dis si tu n'as pas mieux d'ici là au moins tu pourras t'en sortir avec.
    d'ailleurs l'empressement et l'heure tardive à fait glisser un NZ() inutile dans chaque select. mais bon c'est l'idée qui compte et c'est surement pas la meilleur solution.
    à ce propos je reste réservé cbleas sur la rapidité par le passage en table bien que souvent cela soit le cas, cette méthode (sum pour * <= au mois en cours) oblige beaucoup de traitement dû à la "jonction".
    il reste encore d'autres pistes comme une requete sur la requete analyse croisée, une mise en forme soigneusement réfléchi avant la requete analyse croisée, la piste préalablement choisi par francishop...

    je continu aussi à regarder qq piste mais c'est difficile: entre le lièvre qui est sur le feu, celui qui est dans l'assiette et le reste de sa famille qui continu à me narguer...

    bonne cogitation,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/05/2006, 17h47
  2. matrice.aidez moi sur ça
    Par assane dans le forum C
    Réponses: 8
    Dernier message: 13/03/2006, 15h11
  3. Eclairez moi sur le concept XML/XSL
    Par largolgd dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/02/2006, 15h51
  4. Réponses: 2
    Dernier message: 26/03/2004, 09h15
  5. [Kylix] aider moi sur kylix
    Par nabs dans le forum EDI
    Réponses: 1
    Dernier message: 19/03/2004, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo