Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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


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]
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur d'automation

Bonjour à tous,

peut être ainsi :

Code:
For I = 10 To 14
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("Texte_SQL_" & I)
[COLOR="Blue"][B]Rst.Close
Set Rst = Nothing[/B][/COLOR]
Next

bonne soirée
@+
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…