bonjour a tous,
Dans une page je vais afficher les questionnaires des enfants a impimer
Et pour chaque questionnaire je met des infos les concernant
Mais le soucis que j'ai c'est que je fais deux requetes différentes pour ramener différentes infos sur les gamins (resultat et requete_scolarite)
Mais le probleme que j'ai par exemple sur le libelleclasse (champ classe) c'est que je ramene toujours le meme libelle (celui de la premiere personne et pas celui qui est attribué a chaque personne)
Voyez vous comment faire pour attribuer a chaque gamin sa bonne classe???
merci de votre aide a tous
je vous joint mon code
<!--#include file="session-verif.asp"-->
<%
Session.LCID = 1036 ' gestion des dates en francais
set conn = Application("connexion")
' protège les &, ", < et > dans le code html
Function doinput(byRef ch)
If (ch <> "") Then
doinput = replace(ch, "&", "&")
doinput = replace(doinput, """", """)
doinput = replace(doinput, "<", "<")
doinput = replace(doinput, ">", ">")
Else
doinput = ""
End If
End Function
' paramètre : chaine date au format français 2/3/2004 ou 02/3/2004...
' retourne une chaine sous la forme lundi 7 février 2005
Function getDateFr(byRef uneDate)
Dim dateFormatee
Dim tab_date
Dim n_jour
Dim n_mois
Dim n_annee
Dim n_jour_semaine
Dim nom_mois
Dim nom_jour
Dim dateang
' on sépare les éléments de la date sur les /
tab_date = split(uneDate, "/")
' récupération des valeurs
n_jour = tab_date(0)
n_mois = tab_date(1)
n_annee = tab_date(2)
' transformation du numéro de mois en nom de mois
Select Case n_mois
Case 1 nom_mois = "janvier"
Case 2 nom_mois = "février"
Case 3 nom_mois = "mars"
Case 4 nom_mois = "avril"
Case 5 nom_mois = "mai"
Case 6 nom_mois = "juin"
Case 7 nom_mois = "juillet"
Case 8 nom_mois = "août"
Case 9 nom_mois = "septembre"
Case 10 nom_mois = "octobre"
Case 11 nom_mois = "novembre"
Case 12 nom_mois = "décembre"
End Select
' on met la date au format anglais afin de récupérer un numéro de jour semaine juste
dateang = n_mois & "/" & n_jour & "/" & n_annee
' récupération du numéro de jour dans la semaine : 1er jour -> lundi...
n_jour_semaine = weekday(dateang, vbMonday)
' transformation du numéro de jour de la semaine en nom de jour
Select Case n_jour_semaine
Case 1 nom_jour = "lundi"
Case 2 nom_jour = "mardi"
Case 3 nom_jour = "mercredi"
Case 4 nom_jour = "jeudi"
Case 5 nom_jour = "vendredi"
Case 6 nom_jour = "samedi"
Case 7 nom_jour = "dimanche"
End Select
dateFormatee = n_jour & " " & nom_mois & " " & n_annee
getDateFr = dateFormatee
End Function
' transforme la ligne vide en paragraphe et remplace les caractères spéciaux
Function paragrapheFormate(byRef texte)
Dim texteTemp
Dim tab_para
tab_para = split(texte, VbCrLf & VbCrLf)
paragrapheFormate = ""
For i = 0 To UBound(tab_para)
paragrapheFormate = paragrapheFormate & "<p>" & tab_para(i) & "</p>" & VbCrLf
Next
End Function
%>
<head>
<title>Bourses d'études - Impression des questionnaires</title>
<link rel="stylesheet" type="text/css" media="all" href="mailing-questionnaire-impression-screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="mailing-questionnaire-impression-print.css" />
</head>
<body>
<div id="infoImpression">
<p><font style="font-size: 11pt">Pour l'impression, veuillez attendre la fin du chargement de la page, puis faites <tt>Fichier -> Mise en page</tt> Les entêtes et
les pieds de page doivent être vides. Ensuite, faites <tt>Fichier -> Imprimer</tt>. <a href="#" onclick="history.go(-1);">Retour à la page précédente</a>.
</font>
</p>
</div>
<center>
<%
requete_limite = "select T.* from tranchedecompte T"
set limite = conn.execute(requete_limite)
if not(limite.eof) then
agemin = limite("agemin")
agemax = limite("agemax")
end if
requete = "SELECT S.matricule, S.nom, S.prenom, S.civilite, e.etudeterminee, e.nomEnfant, e.prenomEnfant, e.sexeEnfant, e.datenaissance, e.numenfant ,A.datedebAdr, A.pays, A.nomderue, A.chez, A.complement, A.numerorue, A.codepostal, A.localite FROM enfant e, Salarie S, Adresse A WHERE S.matricule = e.matricule and S.matricule = A.matricule"
requete=requete & " and A.DateDebAdr = (SELECT MAX(A2.DateDebAdr) FROM Adresse A2 WHERE A.matricule=A2.matricule) order by nom,prenom"
set resultat = conn.Execute(requete)
requete_scolarite = "SELECT E.*, SC.idclassescolaire, C.idclassescolaire, C.libelleclasse FROM enfant E, Scolarite SC, ClasseScolaire C where SC.idclassescolaire = C.idclassescolaire and E.matricule = SC.matricule and E.numenfant = SC.numenfant order by SC.idscolarite DESC"
set requete_scolarite = conn.execute(requete_scolarite)
'response.write requete_scolarite
Dim datenaissance
Dim dateMoisSuivant
Dim moisAnciennete, anneeAnciennete
Dim retour
datenaissance = resultat("datenaissance")
dateMoisSuivant = dateserial(year(dateadd("m", 1, now)), month(dateadd("m", 1, now)), 1)
moisAnciennete = DateDiff("m", datenaissance, dateMoisSuivant) mod 12
anneeAnciennete = DateDiff("yyyy", datenaissance, dateMoisSuivant)
retour = "" & anneeAnciennete
If anneeAnciennete > 1 Then
retour = retour
Else
retour = retour
End If
If NOT resultat.EOF Then
' on affiche la première ligne
If not isNull(resultat("nom")) Then
libelleclasse = requete_scolarite("libelleclasse")
numenfant = resultat("numenfant")
nomenfant = resultat("nomenfant")
prenomenfant= resultat("prenomenfant")
matricule = resultat("matricule")
etudeterminee = resultat("etudeterminee")
nom = resultat("nom")
prenom = resultat("prenom")
If resultat("civilite") = "Madame" Then
civilite = "Madame"
Else
civilite = "Monsieur"
End If
End If
%>
<%if (etudeterminee = "n" or etudeterminee= "N") then%>
<%if (Cint(agemin) <= Cint(retour) and Cint(agemax) >= Cint(retour)) then%>
<%Response.Write("<div class=""unCourier"">" & Vbcrlf)%>
</center><br><p style="text-align: right"><font size="2">
<%
Response.Write("Tavaux, le " & getDateFr(day(date()) & "/" & month(date()) & "/" & year(date())))
%>
</p><p style="text-align: left"><%
requete_entete1= "SELECT entete1 FROM BE_questionnaire"
set resultat_entete1 = conn.Execute(requete_entete1)
If NOT resultat_entete1.EOF Then
Response.Write(doinput(resultat_entete1("entete1")))
End If
%><br><%
requete_entete2= "SELECT entete2 FROM BE_questionnaire"
set resultat_entete2 = conn.Execute(requete_entete2)
If NOT resultat_entete2.EOF Then
Response.Write(doinput(resultat_entete2("entete2")))
End If
%>
</p><p style="text-align: right"><%
requete_entete3= "SELECT entete3 FROM BE_questionnaire"
set resultat_entete3 = conn.Execute(requete_entete3)
If NOT resultat_entete3.EOF Then
Response.Write(doinput(resultat_entete3("entete3")) )
End If
%></p></font><center>
<br><b><u>
<%
response.write ("DEMANDE DE BOURSES D'ETUDES")
%></u></b><br><font size="1" face="Comic Sans MS">
<%response.write ("(à adresser au Service du Personnel - Bourses d'Etudes)")%>
</font>
<%
Response.Write("<address>" & Vbcrlf)
Response.Write(doinput(civilite) & " " & doinput(prenom) & " " & doinput(nom) & "<br />" & Vbcrlf)
response.write("Matricule :")%> <%response.write (doinput(matricule))%><br><%
If resultat("chez") <> "" Then
Response.Write("<small>" & doinput(resultat("chez")) & "</small><br />" & Vbcrlf)
End If
If resultat("nomDeRue") <> "" Then
Response.Write(doinput(resultat("numeroRue")) & " " & doinput(resultat("nomDeRue")) & "<br />" & Vbcrlf)
End If
If resultat("complement") <> "" Then
Response.Write("<small>" & doinput(resultat("complement")) & "</small><br />" & Vbcrlf)
End If
Response.Write(doinput(resultat("codePostal")) & " " & doinput(resultat("localite")) & Vbcrlf)
If (resultat("pays") <> "" AND UCase(resultat("pays")) <> "FRANCE") Then
Response.Write("<br /><small>" & Vbcrlf & doinput(resultat("pays")) & "</small>")
End If
Response.Write("</address>" & Vbcrlf)
%><br>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="101%" style="border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1; border-right-style:solid; border-right-width:1" colspan="5">
<i><b><font size="2">Année précédente</font></b></i></td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1"><font size="2"><b><%response.write nomenfant%> <%response.write prenomenfant%></b></font></td>
<td width="13%" style="border-top-style: solid; border-top-width: 1" colspan="2">
<font size="2">Né(e) le :</font></td>
<td width="51%" style="border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-style: none; border-bottom-width: medium" colspan="2"><b><font size="2"><%response.write datenaissance%></font></b></td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1">
<font size="2">Nature des études suivies :</font></td>
<td width="63%" colspan="4" style="border-right-style: solid; border-right-width: 1"> </td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-bottom-style:solid; border-bottom-width:1">
<font size="2">Classe :</font></td>
<td width="22%" style="border-right-style: none; border-right-width: medium; border-bottom-style:solid; border-bottom-width:1"><font size="2"><b><%response.write requete_scolarite("libelleclasse")%></b></font></td>
<td width="6%" colspan="2" style="border-right-style: none; border-right-width: medium; border-left-style:none; border-left-width:medium; border-bottom-style:solid; border-bottom-width:1">
<font size="2">Régime :</font></td>
<td width="36%" style="border-right-style: solid; border-right-width: 1; border-left-style:none; border-left-width:medium; border-bottom-style:solid; border-bottom-width:1"> </td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1">
<i><b><font size="2">Année en cours :</font></b></i></td>
<td width="22%" style="border-right-style: none; border-right-width: medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1"> </td>
<td width="6%" colspan="2" style="border-right-style: none; border-right-width: medium; border-left-style:none; border-left-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1">
</td>
<td width="36%" style="border-right-style: solid; border-right-width: 1; border-left-style:none; border-left-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1"> </td>
</tr>
</table>
<!-- #include file="BE_questionnaire.html"-->
<font size="1"><%
requete_BasdePage = "SELECT BasdePage FROM BE_questionnaire"
set resultat_BasdePage = conn.Execute(requete_BasdePage)
If NOT resultat_BasdePage.EOF Then
Response.Write("<div class=""BasdePage""><p>" & doinput(resultat_BasdePage("BasdePage")) & "</p></div>" & Vbcrlf)
%></font><%
End If
Response.Write("</div>" & Vbcrlf)
end if
end if
resultat.MoveNext
' puis les suivantes en ajoutant un saut de page
' afin de ne pas sortir une page vierge à la fin
While NOT resultat.EOF
If not isNull(resultat("nom")) Then
libelleclasse = requete_scolarite("libelleclasse")
nomenfant = resultat("nomenfant")
prenomenfant = resultat("prenomenfant")
matricule = resultat("matricule")
etudeterminee = resultat("etudeterminee")
nom = resultat("nom")
prenom = resultat("prenom")
If resultat("civilite") = "Madame" Then
civilite = "Madame"
Else
civilite = "Monsieur"
End If
End If
datenaissance = resultat("datenaissance")
dateMoisSuivant = dateserial(year(dateadd("m", 1, now)), month(dateadd("m", 1, now)), 1)
moisAnciennete = DateDiff("m", datenaissance, dateMoisSuivant) mod 12
anneeAnciennete = DateDiff("yyyy", datenaissance, dateMoisSuivant)
retour = "" & anneeAnciennete
If anneeAnciennete > 1 Then
retour = retour
Else
retour = retour
End If
%>
<%if (etudeterminee = "n" or etudeterminee= "N") then%>
<%if (Cint(agemin) <= Cint(retour) and Cint(agemax) >= Cint(retour)) then
%>
<%Response.Write("<hr class=""separateur_page"" />" & Vbcrlf)%>
<%
Response.Write("<div class=""unCourier"">" )
%>
</center><br><p style="text-align: right"><font size="2">
<%
Response.Write("Tavaux, le " & getDateFr(day(date()) & "/" & month(date()) & "/" & year(date())))
%>
</p>
<p style="text-align: left"><%
requete_entete1= "SELECT entete1 FROM BE_questionnaire"
set resultat_entete1 = conn.Execute(requete_entete1)
If NOT resultat_entete1.EOF Then
Response.Write(doinput(resultat_entete1("entete1")))
End If
%><br><%
requete_entete2= "SELECT entete2 FROM BE_questionnaire"
set resultat_entete2 = conn.Execute(requete_entete2)
If NOT resultat_entete2.EOF Then
Response.Write(doinput(resultat_entete2("entete2")))
End If
%>
</p><p style="text-align: right"><%
requete_entete3= "SELECT entete3 FROM BE_questionnaire"
set resultat_entete3 = conn.Execute(requete_entete3)
If NOT resultat_entete3.EOF Then
Response.Write(doinput(resultat_entete3("entete3")) )
End If
%></p></font><center>
<br><b><u>
<%
response.write ("DEMANDE DE BOURSES D'ETUDES")
%></u></b><br><font size="1" face="Comic Sans MS">
<%response.write ("(à adresser au Service du Personnel - Bourses d'Etudes)")%>
</font>
<%
Response.Write("<address>" & Vbcrlf)
Response.Write(doinput(civilite) & " " & doinput(prenom) & " " & doinput(nom) & "<br />" & Vbcrlf)
response.write("Matricule :")%> <%response.write (doinput(matricule))%><br><%
If resultat("chez") <> "" Then
Response.Write("<small>" & doinput(resultat("chez")) & "</small><br />" & Vbcrlf)
End If
If resultat("nomDeRue") <> "" Then
Response.Write(doinput(resultat("numeroRue")) & " " & doinput(resultat("nomDeRue")) & "<br />" & Vbcrlf)
End If
If resultat("complement") <> "" Then
Response.Write("<small>" & doinput(resultat("complement")) & "</small><br />" & Vbcrlf)
End If
Response.Write(resultat("codePostal") & " " & resultat("localite") & Vbcrlf)
If (resultat("pays") <> "" AND UCase(resultat("pays")) <> "FRANCE") Then
Response.Write("<br /><small>" & Vbcrlf & doinput(resultat("pays")) & "</small>")
End If
Response.Write("</address>" & Vbcrlf)
%>
<br>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1">
<i><b><font size="2">Année précédente</font></b></i></td>
<td width="13%" style="border-top-style: solid; border-top-width: 1" colspan="2">
</td>
<td width="51%" style="border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-style: none; border-bottom-width: medium" colspan="2"> </td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-top-style: solid; border-top-width: 1"><font size="2"><b><%response.write nomenfant%> <%response.write prenomenfant%></b></font></td>
<td width="13%" style="border-top-style: solid; border-top-width: 1" colspan="2">
<font size="2">Né(e) le :</font></td>
<td width="51%" style="border-right-style: solid; border-right-width: 1; border-top-style: solid; border-top-width: 1; border-bottom-style: none; border-bottom-width: medium" colspan="2"><b><font size="2"><%response.write resultat("datenaissance")%></font></b></td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1">
<font size="2">Nature des études suivies :</font></td>
<td width="63%" colspan="4" style="border-right-style: solid; border-right-width: 1"> </td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-bottom-style:solid; border-bottom-width:1">
<font size="2">Classe :</font></td>
<td width="22%" style="border-right-style: none; border-right-width: medium; border-bottom-style:solid; border-bottom-width:1"><font size="2"><b><%response.write requete_scolarite("libelleclasse")%></b></font></td>
<td width="6%" colspan="2" style="border-right-style: none; border-right-width: medium; border-left-style:none; border-left-width:medium; border-bottom-style:solid; border-bottom-width:1">
<font size="2">Régime :</font></td>
<td width="36%" style="border-right-style: solid; border-right-width: 1; border-left-style:none; border-left-width:medium; border-bottom-style:solid; border-bottom-width:1"> </td>
</tr>
<tr>
<td width="37%" style="border-left-style: solid; border-left-width: 1; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1">
<i><b><font size="2">Année en cours :</font></b></i></td>
<td width="22%" style="border-right-style: none; border-right-width: medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1"> </td>
<td width="6%" colspan="2" style="border-right-style: none; border-right-width: medium; border-left-style:none; border-left-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1">
</td>
<td width="36%" style="border-right-style: solid; border-right-width: 1; border-left-style:none; border-left-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1"> </td>
</tr>
</table>
<!-- #include file="BE_questionnaire.html"-->
<font size="1"><%
requete_BasdePage = "SELECT BasdePage FROM BE_questionnaire"
set resultat_BasdePage = conn.Execute(requete_BasdePage)
If NOT resultat_BasdePage.EOF Then
Response.Write("<div class=""BasdePage""><p>" & doinput(resultat_BasdePage("BasdePage")) & "</p></div>" & Vbcrlf)
%></font><%
End If
Response.Write("</div>" & Vbcrlf)
end if
end if
resultat.MoveNext
Wend
End If%>
</center>
</body>
</html>