Bonjour,

Je souhaite requêter dans une base de données Oracle à partir d'une macro VBA Excel. J'utilise la méthode avec le composant ADO (ActiveX Data Object).

La connexion ne s'effectue pas. En effet, je n'ai pas de message d'erreur (via une boite de dialogue) qui s'affiche mais lorsque je place un espion sur la variable associée à la connexion, j'ai le message suivant :
Une opération OLE-DB en plusieurs étapes a généré des erreurs. Vérifiez chaque valeur d'état OLE-DB disponible. Aucun travail n'a été effectué." : String : Module1.FonctionSQ
Le code que j'utilise est le suivant :
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
Sub FonctionSQL()
 
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
 
Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset
 
cnx.ConnectionString = "DSN=NOM_DSN;PWD=MotDePasse;"
 
cnx.Open
 
rst.Open "SELECT champ FROM table WHERE predicat = valeur", cnx
 
MsgBox rst("champ")
 
rst.Close
cnx.Close
 
End Sub
J'ai au préalable configurer un DSN nommé NOM_DSN dans Microsoft ODBC Administrator avec comme pilote : {Oracle in OraHome92}. Dans ce module, un clic sur le bouton "Test connection" renvoie le message "connection successful".

Je me suis aidé du site http://drq.developpez.com/vb/tutoriels/ADO/ mais sans succès.

Quelqu'un peut-il m'aider ?

Merci d'avance.