Re: Requete SQL pour compter le nombre de personnes (majeurs et mineurs)

Posté par bassy le 21/4/2004 16:55:20
Bonjour

Essayes ce code :
Marequete est une Source de Données
req est une chaîne="SELECT Client.date_deces AS date_deces, Client.sexe AS sexe, Client.date_naissance AS date_naissance FROM Client"//toutes les enregistrements
HExécuteRequêteSQL(Marequete,hRequêteDéfaut,req)
counterMineurfemelle est un entier=0//compteur Femelles mineures
counTerMajeurfemelle est un entier=0//compteur femelles majeures
counterMineurMale est un entier=0//compteur males mineurs
counterMajeurMale est un entier=0//compteur males majeurs

age est entier

HLitPremier(Marequete)

TANTQUE PAS HEnDehors(Marequete)
	dateDébut est une Date=Marequete.date_naissance
	dateFin est une Date=Marequete.date_deces
	LeSexe est une chaîne=Marequete.sexe
	age=DateVersEntier(dateFin)-DateVersEntier(dateDébut)
	SI age<6570 ALORS //6570=18 ans, tu peux changer
		SI LeSexe="feminin" ALORS
			counterMineurfemelle+=1
		SINON
			counterMineurMale+=1
		FIN
	SINON
		SI LeSexe="feminin" ALORS
			counTerMajeurfemelle+=1
		SINON
		counterMajeurMale+=1
		FIN
		
	FIN
HLitSuivant(Marequete)
FIN

TableAjouteLigne(Table1,"Feminin",counterMineurfemelle,counTerMajeurfemelle)
TableAjouteLigne(Table1,"Male",counterMineurMale,counterMajeurMale)

-->Comme on remarque, le résultat s'obtient dans une Table mémoire, on peux le faire dans un autre champ.

-->les chaines utilisées "féminin" et "male" c'est selon ce que tu mets comme chaine pour désigner le sexe dans ton fichier.


Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=5&topic_id=792&post_id=3134