Erreur d'automation

Calimero33

XLDnaute Nouveau
Bonjour afin de factoriser mon code VBA j'ai veux faire une boucle for qui execute mes requêtes via des recordset. Mes requetes fonctionne je les ai toutes testé individuellement. Quand je fais :

Set Rst = Cn.Execute("Texte_SQL_10") ça fonctionne
Set Rst = Cn.Execute("Texte_SQL_" & I) ça fonctionne pas j'ai une erreur d'automation.

Extrait code :

Code:
Texte_SQL10 =  " SELECT ..."
Texte_SQL11 =  " SELECT ..."
Texte_SQL12 =  " SELECT ..."
Texte_SQL13 =  " SELECT ..."

...

For I = 10 To 14

Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("Texte_SQL_" & I)

...

Next
 

supernov3

XLDnaute Nouveau
Re : Erreur d'automation

Extrait code :

Code:
Texte_SQL10 =  " SELECT ..."
Texte_SQL11 =  " SELECT ..."
Texte_SQL12 =  " SELECT ..."
Texte_SQL13 =  " SELECT ..."

...

For I = 10 To 14

Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("Texte_SQL[B]_[/B]" & I)

...

Next

Bonjour,

Peut être l'anomalie provient elle du second "_"? Le code va chercher à exécuter "Texte_SQL_10" et non "Texte_SQL10".
A vous lire.
 

jetted

XLDnaute Occasionnel
Re : Erreur d'automation

Avez-vous essayer

Code:
Texte_SQL10 =  " SELECT ..."
Texte_SQL11 =  " SELECT ..."
Texte_SQL12 =  " SELECT ..."
Texte_SQL13 =  " SELECT ..."

...

For I = 10 To 14
I= CStr(I)
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("Texte_SQL_" & I)

...

Next
[/QUOTE]
 

Calimero33

XLDnaute Nouveau
Re : Erreur d'automation

L'absence du caractere "_" dans la déclaration est un oublie de recopie. J'ai essaye
Code:
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("Texte_SQL_" & CStr(I))
Rst.Close
Set Rst = Nothing
mais la probleme persiste.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed