ERREUR d'exécution 3265/Recordset.find
Bonjour,
La méthode recordset.find me retourne le message d'erreur 3265;
Citation:
Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé.
MOn code est :
Code:
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
|
'--- Connection ---
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & Fichier & _
";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1"""
.Open
End With
'-----------------
Set My_Recordset_FERME = New ADODB.Recordset
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set My_Recordset_FERME = New ADODB.Recordset
Set My_Recordset_FERME = cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A1
ThisWorkbook.Sheets(3).Range("A1").CopyFromRecordset My_Recordset_FERME
'My_Recordset_FERME.Open , Cn
compt = 1
My_Recordset_FERME.Movefirst
Do While Not My_Recordset_FERME.EOF
My_Recordset_FERME.Find ("owner.client= '" & code_fond & "' ")
'....... |
"owner.client" est le nom de la colonne que je souhaite parcourir et code_fond est un entier "2139" par exemple.
Dans la suite de mon code, j'ai essayé d'autres manipulations sur le nom des entêtes, mais toujours le même message d'erreur
Code:
1 2 3
|
Public Position_Operation_Dic As dictionary
Position_Operation_Dic.Add My_Recordset_FERME!compt, My_Recordset_FERME!quantity ' |
"quantity" étant le nom d'une colonne sur le classeur fermé, avec qui j'ai établit une connexion.
ci-après une vue plus globale sur le code :
Code:
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
|
'--- Connection ---
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & Fichier & _
";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"""
.Open
End With
'-----------------
Set My_Recordset_FERME = New ADODB.Recordset
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set My_Recordset_FERME = New ADODB.Recordset
Set My_Recordset_FERME = cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A1
ThisWorkbook.Sheets(3).Range("A1").CopyFromRecordset My_Recordset_FERME
compt = 1
My_Recordset_FERME.Movefirst
Do While Not My_Recordset_FERME.EOF
My_Recordset_FERME.Find ("owner.client= '" & code_fond & "' ")
'My_Recordset_FERME.Find ("Owner.client" = 2139)
If My_Recordset_FERME!depo = "2362|000003700000000" Then ' to add depo numbers
My_Recordset_FERME.MoveNext
Else
Position_Operation_Dic.Add My_Recordset_FERME!compt, My_Recordset_FERME!quantity ' think about how to sum Quantity of similar ISIN
ISIN_Composition_Fond_Dic.Add compt, My_Recordset_FERME!tradableAsset
Nature_Compo_Fond_Dic.Add compt, "Ferme"
End If
compt = compt + 1
Loop
'--- Fermeture connexion ---
cn.Close
Set cn = Nothing
End Function |
merci