Forum: WD 7.x
Transcription
Forum: WD 7.x
WDForge.org Forum: WD 7.x Topic: Aide sur ma requete en table memoire Subject: Aide sur ma requete en table memoire Posté par: Anonyme Contribution le : 14/5/2004 1:14:40 Salut les gars, je tourne sur vous pour vous demander votre aide sur une requete.La requete fonctionne mais quand tu l'execute il n'affiche qu'une seule colonne et je soupconne que ca doit etre l'emplacement de mes conditions J'essaie d'obtenir des stats periodiques sur les deces dont voici comment doit apparaitre mon tableau final. J'ai une datedebut et datefin deux champs de saisie voici ma requete SQL: Marequete est une Source de Données req est une chaîne="SELECT Deces. Datedec AS date_deces, Deces.sexe AS sexe, Deces. DateNaiss AS date_naissance FROM Deces WHERE Datedec BETWEEN '"+datedebut+"' AND '"+dateFin+" '"//toutes les enregistrements HExécuteRequêteSQL(Marequete,hRequêteDéfaut,req) counterzerofemelle est un entier=0//compteur Femelles entre 0-5ans countercinqfemelle est un entier=0//compteur Femelles entre 5-10ans counterdixfemelle est un entier=0//compteur Femelles entre 10-18ans counterdixhuitfemelle est un entier=0//compteur Femelles entre 18-50ans countercinquantefemelle est un entier=0//compteur Femelles entre 50-80ans counterquatrevingtfemelle est un entier=0//compteur Femelles entre 80-120ans counterzeromasculin est un entier=0//compteur Male entre 0-5ans countercinqmasculin est un entier=0//compteur Male entre 5-10ans counterdixmasculin est un entier=0//compteur Male entre 10-18ans counterdixhuitmasculin est un entier=0//compteur Male entre 18-50ans countercinquantemasculin est un entier=0//compteur Male entre 50-80ans counterquatrevingtmasculin est un entier=0//compteur Male entre 80-120ans age est entier HLitPremier(Marequete) TANTQUE PAS HEnDehors(Marequete) datedebut est une Date=Marequete.date_naissance dateFin est une Date=Marequete.date_deces LeSexe est une chaîne=Marequete.sexe age=DateVersEntier(dateFin)-DateVersEntier(datedebut) SI (age>0)ET(age<1825 ) ALORS //1825=5 ans, entre 0-5 ans SI LeSexe="Feminin" ALORS counterzerofemelle +=1 SINON counterzeromasculin +=1 FIN FIN SI (age>1825) ET (age<3650 )ALORS // entre 5-10 ans SI LeSexe="Feminin" ALORS countercinqfemelle +=1 SINON countercinqmasculin +=1 FIN FIN SI (age >3650) ET (age < 6570) ALORS //10-18 ans SI LeSexe="Feminin" ALORS counterdixfemelle +=1 SINON counterdixmasculin +=1 FIN FIN //a continuer SI (age> 6570) ET (age < 18250) ALORS //18-50 ans SI LeSexe="Feminin" ALORS counterdixhuitfemelle +=1 SINON counterdixhuitmasculin +=1 FIN SINON SI (age>18250) ET (age < 29200) ALORS //50-80 ans SI LeSexe="Feminin" ALORS countercinquantefemelle +=1 SINON countercinquantemasculin +=1 FIN SINON SI (age>29200) ET (age < 43800) ALORS //80-120 ans SI LeSexe="Feminin" ALORS counterquatrevingtfemelle +=1 SINON counterquatrevingtmasculin +=1 FIN FIN FIN FIN HLitSuivant(Marequete) FIN Totalfem est un entier = counterzerofemelle + countercinqfemelle + counterdixfemelle + counterdixhuitfemelle + countercinquantefemelle + counterquatrevingtfemelle Totalmas est un entier = counterzeromasculin + countercinqmasculin + counterdixmasculin + counterdixhuitmasculin + countercinquantemasculin + counterquatrevingtmasculin Totalzero est entier = counterzerofemelle + counterzeromasculin http://old.wdforge.org 20/2/2017 21:11:12 / Page Totalcinq est un entier = countercinqfemelle + countercinqmasculin Totaldix est un entier = counterdixfemelle + counterdixmasculin Totaldixhuit est un entier = counterdixhuitfemelle + counterdixhuitmasculin Totalcinquante est un entier = countercinquantefemelle + countercinquantemasculin Totalquatrevingt est un entier = counterquatrevingtfemelle + counterquatrevingtmasculin Totligne est un entier = Totalzero + Totalcinq +Totaldix +Totaldixhuit+Totalcinquante+ Totalquatrevingt //Determination du nombre de Mineurs et de Majeurs Totmineurs est un entier = Totalzero + Totalcinq +Totaldix Totmajeurs est un entier = Totaldixhuit+Totalcinquante+ Totalquatrevingt TableAjouteLigne(DecesTable,"Feminin", counterzerofemelle, countercinqfemelle, counterdixfemelle, counterdixhuitfemelle, countercinquantefemelle, counterquatrevingtfemelle,Totalfem) TableAjouteLigne(DecesTable,"Masculin", counterzeromasculin, countercinqmasculin, counterdixmasculin, counterdixhuitmasculin, countercinquantemasculin, counterquatrevingtmasculin,Totalmas) TableAjouteLigne(DecesTable,"Total", Totalzero, Totalcinq, Totaldix, Totaldixhuit, Totalcinquante, Totalquatrevingt, Totligne) voici le resultat attendu: ----------------------------------------------------------sexe 0-5 5-10 10-18 18-50 50-80 80-120ans Total ----------------------------------------------------------M 2 4 12 14 15 3 52 F 4 6 10 20 10 5 55 Total 6 10 22 34 25 8 107 ---------------------------------------------------------Quand j'execute la requete, j'obtiens que le resultat de la premiere colone. Cordialement http://old.wdforge.org 20/2/2017 21:11:12 / Page