Bonjour,
J'ai un problème qui est assez compliqué à expliquer.
Dans une première page, j'ai un formulaire qui permet de choisir un horaire.
Ce formulaire envoie sur une seconde page ou là, en fonction de l'horaire choisi j'affiche différente chose.
Voici le code la seconde page :
(checklist est une procédure qui fonctionne car je l'ai utilisé avant pour d'autres pages)
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 <form method="POST" action="checklist_journaliere.asp" id=form1 name=form1><% hor=Request.Form("horaire") 'hor="11h00" requete_checklist="SELECT control_domaine, control_name, control_procédure FROM ((tb_control t1 " requete_checklist=requete_checklist & "INNER JOIN tb_control_planifie t2 ON t1.id_control=t2.id_control) " requete_checklist=requete_checklist & "INNER JOIN tb_jour_semaine t3 ON t3.id_jour=t2.id_jour) " requete_checklist=requete_checklist & "INNER JOIN tb_horaire t4 ON t4.id_horaire=t2.id_horaire " requete_checklist=requete_checklist & "WHERE t3.jour='"&jour_now&"' AND t4.horaire='"&hor&"' " requete_checklist=requete_checklist & "ORDER BY t1.control_domaine, t1.place_control" checklist 'appel procédure if Request.Form("choix_action")="Enregistrer" then checklist elseif Request.Form("choix_action")="Revenir" then Response.Redirect("portail.asp") end if %> </form> <%
Si je met hor="11h00" ça fonctionne sans problème.Mais à partir du moment ou je récupère le champ du formulaire je vais avoir un problème.
L'appel de la première procédure va fonctionner parfaitement.
Mais quand je vais entrer dans la condition "if" peut improte ce que je fais je vais avoir cette erreur que je n'ai pas si je définis hor="11h00"
La ligne 106 correspond à une ligne de la procédure "checklist"ADODB.Recordset erreur '800a0bcd'
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.
/meteo/checklist_journaliere.asp, ligne 106
Code : Sélectionner tout - Visualiser dans une fenêtre à part checkRS.MoveFirst
pourtant ça fonctionne bien une fois, et quand c'est hor="11h00" ça fonctionne tout court.
voici ma procédure même si elle est un peu longue
Je ne comprend vraiment pas pourquoi ça ne fonctionne pas.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164 sub checklist set checkRS = CreateObject("ADODB.RecordSet") checkRS.Open requete_checklist, connexion,1,1 dim tb_ctrl_name() dim tb_ctrl_dom() dim tb_ctrl_proc() Response.Write "</br></br>" j=0 do while not checkRS.EOF redim preserve tb_ctrl_name(j) redim preserve tb_ctrl_dom(j) redim preserve tb_ctrl_proc(j) tb_ctrl_dom(j)=checkRS("control_domaine") tb_ctrl_name(j)=checkRS("control_name") tb_ctrl_proc(j)=checkRS("control_procédure") checkRS.MoveNext j=j+1 loop checkRS.MoveFirst session("tb_dom")=tb_ctrl_dom session("tb_name")=tb_ctrl_name session("tb_proc")=tb_ctrl_proc %> <table class="checklist_matin" border="1"> <caption class="titre1">Checklist journalière du <%=DATE%></caption> <tr> <th>Domaines</th> <th>Contrôles</th> <th>Procédure</th> <th>Resultat</br> <input type="submit" name="allok" value="OK"> </th> <th>Incident</th> <th>Commentaire</th> </tr><% i=0 j=1 do while not checkRS.EOF modulo = i mod 2 if modulo=0 then couleur="ligne1" bg="#fff0f5" else couleur="ligne2" bg="#fffff0" end if Response.Write "<tr class=""" & couleur & """>" Response.Write "<td align=""center"">" & checkRS("control_domaine") & "</td>" 'nom de domaine Response.Write "<td align=""center"">" & checkRS("control_name") & "</td>" 'nom du contrôle if checkRS("control_procédure") <> "" then Response.Write "<td align=""center""><a href=""" & checkRS("control_procédure") & """>Lien</a></td>" 'si la procédure existe on crée un lien vers la procédure else Response.Write "<td align=""center"">--</td>" 'sinon on met une case vide end if Response.Write "<td align=""center""><input style='background-color:" &bg& "' type=""text"" maxlength=""2"" size=""1"" name=""result" & i & """ " if Request.Form("result"&i)="" and Request.Form("allok")="OK" then Response.Write "value=""OK""></td>" elseif Request.Form("result"&i)="" and Request.Form("allok")="" then Response.Write "></td>" elseif Request.Form("result"&i)<>"" then Response.Write "value=""" & Request.Form("result"&i) & """></td>" end if Response.write "<td align=""center""><input style='background-color:" &bg& "' type=""text"" size=""40""name=""incident" & i & """ " if Request.Form("incident"&i)<>"" then Response.Write "value=""" & Request.Form("incident"&i) & """" end if Response.Write "></td>" 'input texte pour incident Response.write "<td align=""center""><input style='background-color:" &bg& "' type=""text"" size=""50"" name=""commentaire" & i & """ " if Request.Form("commentaire"&i)<>"" then Response.Write "value=""" & Request.Form("commentaire"&i) & """" end if Response.Write "></td>" 'input texte pour commentaire Response.write "</tr>" checkRS.MoveNext i=i+1 j=j+1 loop nb_enregistrement=checkRS.RecordCount %> </table> <p class="ctrl_gauche">Pilote : <p class="affichage_checklist"> <!--<FONT size="3"><a href="affichage_checklist_matin.asp">Affichage de la checklist</a></FONT>--> </p> <span class="ctrl_gauche"><select name="pilote"> <option value=""></option> <% requete_pilote="SELECT nom FROM tb_pilote ORDER BY nom" set RS=CreateObject("ADODB.RecordSet") RS.Open requete_pilote, connexion do while not RS.EOF if RS("nom")=Request.Form("pilote") then choix = "selected=""selected"" " else choix = "" end if Response.Write "<option value=""" & RS("nom") & """ " & choix & " >" &RS("nom")& "</option>" RS.MoveNext loop RS.Close set RS = nothing %> </select></span> <p class="ctrl_gauche">Commentaire : <FONT size="2">(255 caractères maximum)</FONT> </br> <textarea name="general_comment" rows="3" cols="35"> <%if Request.Form("general_comment")<>"" then Response.Write Request.Form("general_comment") end if%> </textarea></p> <p class="ctrl_gauche"> <input type="submit" name="choix_action" value="Enregistrer"> <input type="submit" name="choix_action" value="Revenir"> <input type="hidden" name="nb_rec" value="<%=nb_enregistrement%>"></p> <% checkRS.Close set checkRS = nothing end sub
Partager