Aide sur notre procedure d'affichage
Anonyme
Bonsoir

Nous sommes un groupe d'enseignants au primaire qui developpent une application de gestion des examens.
On a créé un procedure pour afficher le nombre de garçons et filles par etablissement ayant réussi à l'essai d'examen scolaire.
Cette procedure actuellement ne lit pas tous les candidats admis avant d'afficher le résultat.C'est seulement quand on lit le dernier etablissement qu'on obtient un compte correct.
ça fait 4 jours et nuits on travaille la dessus. On sollicite votre aide pour déceler ce qui n'est pas correct.
Merci de nous aider
voici la procédure
-----------------------------------------------------------
PROCEDURE Dotreatement(Etabmeno,Nbfilles est un entier,Nbgarcons est un entier,pannee,stotal est un entier)
petab est une chaîne=Etabmeno
padmis est une chaîne="A"
pmale est une chaîne="M"
pfemale est une chaîne="F"
sLigne est une chaîne
sSeparateur est une chaîne = TAB
Nbfilles =0
Nbgarcons =0
stotal =0

etabSql est une chaîne
Rsetab est une Source de Données
etabSql = "SELECT Etablissement AS Etablissement, Neleve AS Neleve, Noessaidept As Noessaidept, Anneescolaire AS Anneescolaire, Sexe AS Sexe, Admis AS Admis"+ " FROM EssaiDepartementalentreesixieme " + " WHERE Anneescolaire = '" + pannee + "' AND Etablissement ='"+petab+ "' AND Admis='"+padmis+ "' "

//HExécuteRequête(Reqdepesadetab, hRequêteDéfaut, pannee, Etabmeno)
SI PAS HExécuteRequêteSQL(Rsetab,hRequêteDéfaut,etabSql) ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN

HLitPremier(Rsetab)

TANTQUE PAS HEnDehors()
//Ici On affiche les admis par sexe d'un etablissement
SI Rsetab.sexe="M" ALORS
Nbgarcons+=1

FIN

SI Rsetab.sexe="F" ALORS
Nbfilles+=1

FIN

HLitSuivant(Rsetab)
Garcons=Nbgarcons
Filles=Nbfilles
stotal=Filles+Garcons
Total=stotal
FIN


Info("Etablissement:",Etabmeno,"Filles4:",Filles,"Garcons4:",Garcons,"Total4:",stotal)

sLigne=Etabmeno+sSeparateur +Filles +sSeparateur +Garcons+sSeparateur +Total
TableAjoute(tblreusetab,sLigne)
// TableAjoute(tblreusetab,"")
-----------------------------------------------------------

Contribution le : 25/09/2005 23:29
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Citation :
afficher le nombre de garçons et filles par etablissement ayant réussi à l'essai d'examen scolaire


Rien que cette phrase indique qu'il vous faut créer une requête avec regroupement sur l'établissement puisque vous désirez avoir les nombres réussis par établissement.

de plus vous cherchez deux résultats différents un compteur pour les garcons et un pour les filles.

Je vous conseille donc de créer 2 requêtes

Création de la requête pour compter le nombre de garçons qui ont été admis par établissement.
Ce résultat contient une valeur a Zéro pour le nombre de fille, celui ci sera calculer via une seconde requête.
etabSql est une chaîne
Rs1 est une Source de Données
Rs2 est une source de données

etabSql = "SELECT DISTINCT Etablissement AS Etablissement, "...
+ "Count(<Identifiant unique du fichier  EssaiDepartementalentreesixieme>) AS NbGarcon, "...
+ "'0' AS NbFille "...
+ "FROM EssaiDepartementalentreesixieme "...
+ "WHERE Anneescolaire = '" + pannee + "' "...
+ "AND Etablissement ='"+petab+ "' "...
+ "AND Admis='"+padmis+ "' "...
+ "AND Sexe = "M"

//Exécution de la requête
SI PAS HExécuteRequêteSQL(Rs1,hRequêteDéfaut,etabSql) ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN

Création de la requête pour compter le nombre de filles qui ont été admis par établissement.
etabSql = "SELECT DISTINCT Etablissement AS Etablissement, "...
+ "Count(<Identifiant unique du fichier  EssaiDepartementalentreesixieme>) AS NbFille "...
+ "FROM EssaiDepartementalentreesixieme "...
+ "WHERE Anneescolaire = '" + pannee + "' "...
+ "AND Etablissement ='"+petab+ "' "...
+ "AND Admis='"+padmis+ "' "...
+ "AND Sexe = "F"


SI PAS HExécuteRequêteSQL(Rs2,hRequêteDéfaut,etabSql) ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN

Maintenant on créer une fusion entre les 2 sources de données
POUR Tous Rs2
 SI HLitRecherche(Rs1,"Etablissement",Rs2.Etablissement) Alors
  Rs1.NbFille++
  HModifie(Rs1)
 SINON
  Rs1.Etablissement = Rs2.Etablissement
  Rs1.NbGarcon = 0
  Rs1.NbFille = 1
  HAjoute(Rs1)
FIN

On peut remplir la table
POUR TOUS Rs1
  TableAjoute(tblreusetab,Rs1.Etablissement + TAB...
                        + Rs1.NbGarcon + TAB...
                        + Rs1.NbFille) 
FIN


Tout ceci est saisie est la volée, n'a pas été testée et peut comporter des erreurs.

Contribution le : 26/09/2005 10:50
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Anonyme
Bonjour
Cette procedure etait appelée derriére une requete qui prenait comme parametre l'année ou la session .Car on dispose d'une table pour les etablissements participants à l'essai chaque année.
ecoleSql est une chaîne
Rsecole est une Source de Données


ecoleSql = "SELECT DISTINCT Etablissement AS Etablissement,Anneescolaire as Anneescolaire "

+ "FROM EssaidepEtablissement"...
+ "WHERE Anneescolaire = '" + pannee + "' "


//Exécution de la requête
SI PAS HExécuteRequêteSQ(Rsecole ,hRequêteDéfaut,ecoleSql ) ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN

HLitPremier(Rsecole)
Tantque pas endehors()
dotreatment(Etablissement, pannee, Filles, garcons,total)
Hlitsuivant(Rsecole)
Fin
Notre question est de savoir si cette meme approche peut etre utilisée pour obtenir l'etablissement d'abord et le passer comme parametre pour faire le compte par genre

Merci

Contribution le : 26/09/2005 14:28
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Je ne vois personnellement l'interêt d'attaquer 2 tables différentes puisques toutes les informations névessaires se trouvent dans la table
- EssaiDepartementalentreesixieme

Créer une nouvelle procédure qui contient le code que je vous ai fourni et verifier sont résultat.

De plus dans votre traitement il faut remplacer:
dotreatment(Etablissement, pannee, Filles, garcons,total)
par
dotreatment(RsEcole.Etablissement, pannee, Filles, garcons,total)

Contribution le : 26/09/2005 17:35
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Anonyme
En regardant les deux requetes fournies, on Etablissement=Petab comme parametre et ce qui veut dire il faudrait creer un champ pour saisir l'annee et l'etablissement. Or nous voulons afficher les resultats par etablissement ....On peut ajouter une clause Group by

et se debarrasser du parametre Etablissement=petab.

Visuellement on s'attend à un resultat qui se presentera sous cette forme:

Etablissement Filles Garcons total
-------------------------------------
Etab1 6 5 11
-------------------------------------
Etab2 3 2 5
------------------------------------
Etabn 4 3 7
-------------------------------------

Merci

Contribution le : 26/09/2005 18:05
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Anonyme
Salut
Nous avons essaye le code mais ca ne marche, le resultat retourne est toujours nul
Merci

Contribution le : 27/09/2005 01:50
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
requete Sql tel que testé via une base de teste pour récupérer le nombre de garcons admi pour un departement et une année

SELECT EssaiDepartementalentreesixieme.Etablissement, Count(EssaiDepartementalentreesixieme.Id) AS NbGarcon, "0" AS NbFille
FROM EssaiDepartementalentreesixieme
WHERE (((EssaiDepartementalentreesixieme.Sexe)="F") AND ((EssaiDepartementalentreesixieme.Anneescolaire)="2005") AND ((EssaiDepartementalentreesixieme.Admis)="1"))
GROUP BY EssaiDepartementalentreesixieme.Etablissement;


Les valeurs sont ici en dur pour test mais normallement seule l'année est à passer en paramètre.

Contribution le : 27/09/2005 09:40
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Anonyme
Salut
Nous sollicitons votre aide pour resoudre ce probleme. on a beau essayer mais jusqu'a present rien n'arrive.

Contribution le : 28/09/2005 18:35
Créer un fichier PDF de la contribution Imprimer


Re: Aide sur notre procedure d'affichage
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Vous pouvez me contacter en privé

drcharly@wdforge.org

Contribution le : 29/09/2005 00:19
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2