Kerberos69008
Messages postés5Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention13 octobre 2009
-
13 oct. 2009 à 09:30
Kerberos69008
Messages postés5Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention13 octobre 2009
-
13 oct. 2009 à 09:46
Bonjour à tous,
Je planche depuis hier sur un problème dans mon code et je n'arrive pas à trouver de solution.
Brievement ce code me permet d'éxécuter une procédure stocké sur diverses bases SQL(d'où la boucle :p)ce qui me renvera des valeurs.
Voici le bout de code problématique:
Set Feuil1= Workbooks("resultat.xls").Worksheets("Feuil1")
Set Feuil2= Workbooks("resultat.xls").Worksheets("Feuil2")
Ligne = 0
For Ligne = 1 To 10
Dim RecordSet
Set Base = CreateObject("ADODB.Connection")
Set Requete = CreateObject("ADODB.Recordset")
With Feuill2
Set Requete = Nothing
Set Base = Nothing
adh = .Cells(Ligne, 1).Value
Serveur = .Cells(Ligne, 2).Value
BDD = .Cells(Ligne, 3).Value
Password = .Cells(Ligne, 4).Value
End With 'Fin de délcaration des paramètres
With Feuill1
RQ_SQL = "ProcStock"
StringCon = ("Provider=SQLOLEDB.1;Password=" & Password & ";Persist Security Info=True;User ID=toto;Initial Catalog=" & BDD & ";Data Source=" & Serveur)
Base.Open (StringCon)
Set Requete = Base.Execute(RQ_SQL)
.Cells(4, 13).CopyFromRecordset Requete
Set Requete = Nothing
Set Base = Nothing
End With
Next Ligne
End Sub
Je supute que c'est un problème d'ouverture et de fermeture de bases. Mais si je fais un Base.close ca ne marche pas mieux.
D'ailleurs pour test si je fais un for i = 1 to 1 le code fonctionne, ce qui conforterais mes supçons sur la fermeture de la base.
Si un érudie pourrais m'aider je sèche actuellement, et à pars me flageller avec mes propres globes occulaires je n'avance pas des masses sur la résolution de ce problème.
A titre informatif, l'erreur donnée par excel est:
Variable Objet ou Variable de Bloc With non définie