Erreur runtime 3265 impossible de trouver l'objet dans la collection

Résolu
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 27 oct. 2008 à 15:10
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 28 oct. 2008 à 09:41
<meta http-equiv= "CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta />
<meta durieux="" />
<meta content="20081027;14470618" />
<meta content="16010101;0" />
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta />
<meta durieux="" />
<meta content="20081027;14470618" />
<meta content="16010101;0" />
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->

Bonjour

J'obtiens
l'erreur runtime 3265 « impossible de trouver l'objet
correspondant au nom ou à la référence ordinale
demandée » 

La
fonction parcourt un recordset rsCombi qui contient des règles
de combinaisons du genre item1 * item2 * item3 et un recordset elvar
qui contient des mots à remplacer dans la règle item1 *
item2 * item3
Le
problème vient de la boucle de lecture du recordset elvar:
quand le champ est en dur, ca marche quand c'est générique,
c'est l'erreur 3265.

Merci
d'avance

Function
fCombi(sourceA As String)
Dim
i As Integer

Const
MAXELVAR = 2

Dim
rsCombi As New ADODB.Recordset

Dim
elvar(1 To MAXELVAR) As ADODB.Recordset

Dim
élément(1 To MAXELVAR) As String

Dim
NbElVar As Integer

Dim
maCombi As String

i
= 0

For
i = 1 To MAXELVAR

      Set
elvar(i) = New ADODB.Recordset

Next
i

conUserCombi_Connect

rsCombi.Open
"SELECT * FROM Combinaisons ;", cnxCombi

rsCombi.MoveFirst

Do
Until rsCombi.EOF

      NbElVar
= rsCombi("Nmot")

      maCombi
= rsCombi("Regle")

      For
i = 1 To NbElVar

         elvar(i).Open
"SELECT * FROM Mots ;", cnx

         elvar(i).MoveFirst

      Next
i

      For
i = NbElVar + 1 To MAXELVAR

         elvar(i).Open
"SELECT Expression FROM tblOneRow;", cnx

         elvar(i).MoveFirst

      Next
i

      Do
Until elvar(1).EOF

            If
IsNull(elvar(1)("mot1")) Then Exit Do

            élément(1)
= elvar(1)("mot1") ' OK c'est le nom en dur du champ

            élément(1) = elvar(1)(rsCombi(« Mot1 »)
'KO nom générique, affiche "mot1", ( OK)

            élément(1) = elvar(1)(rsCombi(5)) 'KO n° du champ, affiche "mot1" (OK)

1 réponse

cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
28 oct. 2008 à 09:41
Hello,
si jamais quelqu'un a besoin:
il suffit de faire 
motVariable = (rsCombi(« Mot1 ») )
élément(1) = elvar(1) (motVariable)

Par contre, pouquoi, je n'en ai pas la moindre idée
3
Rejoignez-nous