Connexion à une base de données access sécurisée

Connexion à une base de données access sécurisée

' ************************************************************************************************************** '
'                                                                                                                '
'   Module contenant deux fonctions de connections ADO à une base donnée Access sécurisée  par groupe de travail  '
'   (mdw)                                                                                                        '
'   La première méthode utilise un DNS pré-défini sur le poste de travail et dans lequel ont aura pris soin de  '
'   définir le fichier mdw du groupe de travail sur lequel ont travail pour ouvrir la base de données            '
'                                                                                                                '
'   La seconde est une connection directe sans DNS                                                               '
'                                                                                                                '
'                                                                                                                '
' ************************************************************************************************************** '
Public Function ConnDNS(NomDuDNS As String, UserName As String, Password As String) As Boolean
On Error GoTo Err_ConnStrait
Dim Cnx As New ADODB.Connection
Dim strConn As String

    ConnDNS = False
    ' Nom que vous avez donné à votre DNS lorsque vous l'avez créé
    NomDuDNS = "XXXXXX"     ' dans l Administrateur de Sources de données (ODBC)
                            ' du Panneau de configuration de Microsoft Windows                
    ' initialise la chaine de connexion
    strConn = "DNS=" & NomDuDNS & ";"
    
    ' vérifie que la connexion est bien fermée   
    If Cnx.State = adStateOpen Then Cnx.Close
    
    ' Connexion à la base de donnée
    Open ConnectionString:=strConn, UserID:=UserName, Password:=Password
    
    ' Attente jusqu'à la connexion effective
    While (Cnx.State = adStateConnecting)
        DoEvents
    Wend
    
    ' 

'Vérification des erreurs éventuelles engendrées par la connexion 
'ou attribution de la valeur "True" à la connexion

    If Cnx.Errors.Count > 0 Then
        MsgBox Cnx.Errors.Item(0)
        ConnDNS = False
        Exit Function
    Else:
        ConnDNS = True
    End If
    Exit Function

Err_ConnStrait:
    MsgBox err.Description
    ConnDNS = False
    Exit Function
End Function

Public Function ConnStrait(UserName As String, Password As String) As Boolean
On Error GoTo Err_ConnStrait
Dim Cnx As New ADODB.Connection
Dim strConn As String

    ConnStrait = False
    
    ' Initialise la chaine de connexion
    strConn = "Data Source=C:\...\NomDuFichier.MDB;" & _
              "Jet OLEDB:System database=C:\...\NomDuFichier.MDW" & _
               "Provider = Microsoft.Jet.OLEDB.4.0"
    
    ' vérifie que la connexion est bien fermée    
    If Cnx.State = adStateOpen Then Cnx.Close
    
    ' Connexion à la base de donnée
  Open ConnectionString:=strConn, UserID:=UserName, Password:=Password
    
    ' Attente jusqu'à la connexion effective
    While (Cnx.State = adStateConnecting)
        DoEvents
    Wend
    
    ' Vérification des erreurs éventuelles ou attribution de la valeur "True" à la connexion
    If Cnx.Errors.Count > 0 Then
        MsgBox Cnx.Errors.Item(0)
        ConnStrait = False
        Exit Function
    Else:
        ConnStrait = True
    End If
    Exit Function

Err_ConnStrait:
    MsgBox err.Description
    ConnStrait = False
    Exit Function
End Function

Ce document intitulé « Connexion à une base de données access sécurisée » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.