Impossible de Créer Source de Données Système (DSN) en VBA
Bonjour,
J'ai tenté de créer un DSN système d'une base de données Access 2007 .ACCDB via l'API SQLConfigDataSource() sans succès. Le code voici:
Code:
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
|
Private Const ODBC_ADD_DSN = 1 ' Add data source
Private Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Private Const ODBC_REMOVE_DSN = 3 ' Remove data source
Private Const ODBC_ADD_SYS_DSN = 4 ' Add System DSN
'
Private Declare Function apiSQLConfigDataSource Lib "ODBCCP32.DLL" _
Alias "SQLConfigDataSource" (ByVal hwndParent As Long, _
ByVal fRequest As Long, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Function dllCreateDSNAccdbSystem() As Long
'
Dim lStat As Long
Dim strConn As String
'
strConn = "DSN=MonDsnAccdb" & Chr(0) _
& "Description=MonDsnAccdb SYSTEME" & Chr(0) _
& "DBQ=" & Application.CurrentProject.FullName & Chr(0)
'
' Erreur: ceci ne marche pas: tentant de créer DSN système:
'
lStat = apiSQLConfigDataSource(0&, ODBC_ADD_SYS_DSN, _
"Microsoft Access Driver (*.mdb, *.accdb)", strConn)
'
' BON: cela marche bien, mais creant DSN utilisateur:
'
' lStat = apiSQLConfigDataSource(0&, ODBC_ADD_DSN, _
' "Microsoft Access Driver (*.mdb, *.accdb)", strConn)
'
If (lStat = 1) Then
MsgBox "CREATION DSN REUSSIE AVEC " & strConn
Else
MsgBox "CREATION DSN ECHOUEE AVEC " & strConn
End If
'
dllCreateDSNAccdbSystem = lStat
'
End Function |
En sachant que je peux créer DSN utilisateur avec option ODBC_ADD_DSN.
Et je peux également configurer manuellement une Source de Données système en Shell Windows Vista via Panneau de Configuration .
Pourriez-vous m'éclairer SVP ?