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
| Public Sub ODBCDirect_RunStoredProc()
Dim wrk As DAO.Workspace
Dim cnn As DAO.Connection, strConnect As String
Dim qdf As DAO.QueryDef
' Créer un workspace ODBCDirect nommé "ODBCDirect"
' * changer ce nom si besoin
' * le nom d'utilisateur et le mot de passe ODBC peuvent être spécifiés ici
' (ils n'ont pas de rapport avec le fichier de sécurité (MDW) par défaut)
Set wrk = CreateWorkspace("ODBCDirect", "Admin", "", dbUseODBC)
' Modifier la chaîne de connexion pour l'adapter au cas particulier
' UID et PWD ne sont pas nécessaires si déjà spécifiés ds CreateWorkspace
strConnect = "ODBC;DSN=W805;UID=LeLogin;PWD=LeMotDePasse;DATABASE=LaBase"
' Ouvrir une connexion
Set cnn = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt, False, strConnect)
' Créer un QueryDef pour l'exécution de la procédure stockée
Set qdf = cnn.CreateQueryDef("RunStoredProc")
With qdf
' Spécifier le SQL
.SQL = "{call odbpack.proc(?,?,?)}"
' Spécifier les paramètres (sens et valeurs)
.Parameters(0).Value = 1
.Parameters(1).Direction = dbParamInputOutput
.Parameters(1).Value = 2
.Parameters(2).Direction = dbParamOutput
' Exécuter la requête
.Execute
MsgBox "Return Values from Proc are : " & _
.Parameters(1).Value & _
" and " & _
.Parameters(2).Value
End With
' Fermer la requête et la connexion
qdf.Close
cnn.Close
End Sub |
Partager