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

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 836
Messages
2 092 623
Membres
105 469
dernier inscrit
gautronmi