Je travaille sur l'automatisation de la sortie des nouvelles versions de notre application MS Access.

Nous ne pouvons pas expédier la base de données non cryptée, je souhaite donc ajouter un test qui affichera une boîte de message avec un avertissement indiquant que la base de données n'est pas cryptée.

Est-ce que quelqu'un connaît l'objet/la propriété que je peux tester ?

0
Jeff 8 sept. 2020 à 23:04

1 réponse

Meilleure réponse

Vous pouvez le tester en créant une fonction définie par l'utilisateur. Écrivez ci-dessous la fonction dans un module ou un module de formulaire.

Public Function IsDbSecured(ByVal sDb As String) As Boolean
    On Error GoTo Error_Handler
    Dim oAccess         As Access.Application
 
    Set oAccess = CreateObject("Access.Application")
    oAccess.Visible = False
 
    'If an error occurs below, the db is password protected
    oAccess.DBEngine.OpenDatabase sDb, False
 
Error_Handler_Exit:
    On Error Resume Next
    oAccess.Quit acQuitSaveNone
    Set oAccess = Nothing
    Exit Function
 
Error_Handler:
    If Err.Number = 3031 Then
        IsDbSecured = True
         Else
        MsgBox "Error Number: " & Err.Number & vbCrLf & "Error Description: " & Err.Description, vbCritical, "Error"
    End If
    Resume Error_Handler_Exit
End Function

Ensuite, appelez-le à partir d'un bouton ou de la manière souhaitée comme ceci.

Private Sub Command1_Click()
    Dim fileTestPath As String

    'Change your database path here.
    fileTestPath = "C:\Users\Harun.Rashid\Documents\Test_Close.accdb"

    If IsDbSecured(fileTestPath) = True Then
        MsgBox "Your database is encrypted by password"
    End If
    
End Sub

enter image description here

1
Harun24HR 9 sept. 2020 à 06:29