Bonjour,
J'essaye de lancer des commandes SLQ sur une base de données via VBA (Excel2007).
J'ai réussi à me connecter sur la base via un DSN, et j'arrive à lancer des requêtes grâce à l'objet RecordSet et à récupérer les résultats.
En revanche, pas moyen d'utiliser l'objet Command. J'ai constamment l'erreur
"runtime 3709: The connection cannot be used to perform this operation. It is either closed or invalid in this content".
Ci-dessous mon code, quasi-directement tiré du tutoriel de Sébastien Curutchet, trouvé sur ce site. Quelqu'un pourrait-il me dire ou il pêche?
""""""
"""""""
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub tutoriel() 'Déclaration des variables Dim cnx As ADODB.Connection Dim cmd As ADODB.Command Dim prm1 As ADODB.Parameter Dim rst As ADODB.Recordset 'Instanciation des variables Set cnx = New ADODB.Connection Set cmd = New ADODB.Command Set prm1 = New ADODB.Parameter Set rst = New ADODB.Recordset 'Connexion à la base de données cnx.ConnectionString = "DSN=SQL_CONNECT; UID=MTa; PWD=DSDSDE" cnx.Open rst.Open "Select R_SNAPC, R_IDFD from AQR_BPI_COLLAT", cnx 'Fonctionne sans problème 'Préparation de l'objet Command cmd.CommandText = "Select R_SNAPC, R_IDFD from LISTE" 'Exécution de la requête Set rst = cmd.Execute ''''''' L'ERREUR SE SITUE LA '''''''''' End Sub
Merci d'avance pour votre aide
Partager