Bonjour,

Voici l'erreur que j'ai quand je souhaite exécuter mon programme..
Je suis sous vB Excel.
J'aimerais me connecter à ma base de donnée ODBC et y exécuter une requete SQL..

Merci d'avance de votre aide.

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Option Explicit
Sub Macro2()
 
'Dim strDSN As String, strAttr As String, strODBCDrv As String
 
' Nom de la source de données ODBC
'strDSN = "DNS_Intranet"
' Nom du pilote ODBC
'strODBCDrv = "MySQL ODBC 3.51 Driver"
' Attributs
' OPTION est spécifique à MySQL dans cet exemple
'strAttr = "SERVER=LZ2" & vbCr & "DATABASE=bddintranetpol" & vbCr & "OPTION=3" & vbCr & _
          '"UID=user_odbc" & vbCr & "PWD=mdpusrodbc"
 
'DBEngine.RegisterDatabase strDSN, strODBCDrv, True, strAttr
 
'Dim oConn As Object
'Set oConn = New ODBCConnection
 
'oConn.Open "DSN=DNS_Intranet;" & _
           '"Uid=user_odbc;" & _
           '"Pwd=mdpusrodbc"
 
 
' Déclaration des objets
Dim valcel As String
valcel = Excel.Range("Feuil2!B4").Value
Dim wrkJet As Workspace
Dim db As Connection
Dim rs As Recordset
Dim Qd As QueryDef
 
' Création de la liaison
Set wrkJet = CreateWorkspace("", "", "", dbUseODBC)
Set db = wrkJet.OpenConnection("", dbDriverNoPrompt, False, "ODBC;DSN=DNS_Intranet;UID=user_odbc;PWD=mdpusrodbc")
 
With rs
     .ActiveConnection = db
     .Open "select Designation from produits_test where code_produit= '&valcel'"
     Feuil1.Range("A2").CopyFromRecordset rs
 
    .Close
End With
 
' fermeture de la base
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
wrkJet.Close
Set wrkJet = Nothing
 
End Sub