Voila j'essaye en vain depuis 2 jours d'utiliser l'objet dictionary ...
Je me demandai si les clé attribuer à ces tableaux associatifs pouvaient etre numérique ?
Voila j'essaye en vain depuis 2 jours d'utiliser l'objet dictionary ...
Je me demandai si les clé attribuer à ces tableaux associatifs pouvaient etre numérique ?
une illustration par un bout de code qui fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim oDic : Set oDic = server.CreateObject("Scripting.Dictionary") oDic.Add "a", " a a a a a" oDic.Add 12, "test sur valeur numérique" oDic.Add "c", "c c c c c " Response.Write oDic(12)
tu n'as pas initialisé la valeur de i à 0 avant d'entrer dans la boucle
vla le mien :
J'vois plus trés bien là ...
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 <% 'Ici la déclaration Dim oDict, aItems, x, i Set oDict = Server.CreateObject("Scripting.Dictionary") oDict.CompareMode = VBBinaryCompare 'Liste des référents responsables de l'activité Set Rs_referent = Server.CreateObject("ADODB.Recordset") qry_referent="exec sp_liste_pi_activite_user @id_activite="&Rs.fields("id_activite") Rs_referent.Open qry_referent, conn WHILE not Rs_referent.eof %> 'Ici l'affectation <% oDict.Add i, Rs_referent.fields("id_user") %> <tr> <td><% response.write(Rs_referent.fields("Nom") & " " & Rs_referent.fields("Prenom"))%></td> <td><a href="#" onClick="SupReferent(<%=Rs.fields("id_activite")%>,<%=Rs_referent.fields("id_user")%>);">Supprimer</a></td> </tr> <% Rs_referent.movenext i = i + 1 Wend 'Ici on met tout dans un tableau aItems = oDict.Items Set oDict = Nothing for x=0 to Ubound(aItems) response.Write aItems(x) & "<br>" ->Une exception s'est produite.(l'erreur que l'on me renvoi next Rs_referent.close set Rs_referent=nothing %>
j'ai localisé l'erreur ... mais je ne comprends tjs pas pourquoi ca ne fonctionne pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 aItems = oDict.Items <--- cela ne fonctionne pas response.Write(Ubound(aItems)) <-- ici il affiche 0 response.Write(oDict.count) <-- ici il affiche 1
as-tu bien lu mon précédent post?
Assures-toi que
1/i est bien initialisé à 0
2/que ton recordset n'est pas vide
sinon pour ton erreur initiale
c'est normal qu'il y ait une erreur car la cle 0 n'existe pas. Dans le cas où
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for x=0 to Ubound(aItems) response.Write aItems(x) & "<br>" ->Une exception s'est produite.(l'erreur que l'on me renvoi next
le recordset n'est pas vide la première clef vaut empty et si tu fais
il te renverra bien une valeur pour cette cle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <%=tonDico(empty)%>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager