El código de ejemplo de este artículo utiliza Objetos de datos Microsoft ActiveX. Este código, para funcionar correctamente, debe hacer referencia al Microsoft ActiveX Data Objects 2.x Library (donde es 2.x 2,1 o posterior) Para hacerlo, haz clic en Referencias en el menú Herramientas en el Editor de Visual Basic y asegúrate de que la casilla de verificación Microsoft ActiveX Data Objects 2.x Library está activada.

Crea un módulo y a continuación, escribe la línea siguiente en la sección Declaraciones si no aparece ya allí:

Option Explicit

Escriba el siguiente procedimiento:

Sub ADOAddPW()
Dim cn As ADODB.Connection
Dim newpassword As String
Dim NotValid As Integer
Dim sqlExecStr As String

Set cn = CurrentProject.Connection
On Error Resume Next

‘Comprueba que la base de datos está abierta en modo exclusivo.
If cn.Mode <> 12 Then
MsgBox “La base de datos no está abierta en modo exclusivo”, vbCritical
Exit Sub
End If

RetryPassword:
newpassword = InputBox(”Por favor, entra la nueva contraseña para la base de datos”, “Contraseña”, “New Database Password”)

‘Select case for inputbox.
Select Case newpassword
‘Case where the cancel button was pressed.
Case “New Database Password”
MsgBox “No Database password set”
Exit Sub

‘Case where the OK button was pressed without entering data.
Case “”
NotValid = MsgBox(”You have not entered a valid password, or clicked the cancel button” & Chr(10) & Chr(13) & “Do you want to change the database password?”, vbCritical + vbYesNo)
If NotValid = 6 Then
GoTo RetryPassword
Else
Exit Sub
End If

‘If any data is entered other than the default value.
Case Else
sqlExecStr = “ALTER Database Password ” & newpassword & ““”
CurrentProject.Connection.Execute sqlExecStr
MsgBox “Database password has been set”

End Select
End Sub

Para probar esta función, haga clic en Ejecutar Sub/UserForm en el menú Ejecutar. Cierre y vuelva a abrir la base de datos Tenga en cuenta que se le pide que escriba la contraseña de base de datos.
Restablecer la contraseña de base de datos a una contraseña en blanco. Puede utilizar el ejemplo siguiente del código para restablecer la contraseña a una contraseña de base de datos en blanco. Para establecer la contraseña en blanco, debe utilizar el carácter de acento grave (’) en lugar del carácter de apóstrofo (’). También en este ejemplo se supone que la base de datos activa tenga establecida una contraseña de base de datos como DBPassword.
Cree un módulo y a continuación, escriba la línea siguiente en la sección Declaraciones si no aparece ya allí:

Option Explicit

Escriba el siguiente procedimiento

Sub ResetDBPassword()
Dim cn As ADODB.Connection
Dim sqlExecStr As String
Dim ResetQuestion As Integer

Set cn = CurrentProject.Connection
On Error Resume Next

‘Test to see if the database is open exclusively.
If cn.Mode <> 12 Then
MsgBox “Your database is not opened exclusively”, vbCritical
Exit Sub
End If
ResetQuestion = MsgBox(”You have selected to reset the database” & Chr(10) & Chr(13) & “to a blank password. Do you want to continue?”, vbQuestion + vbYesNo, “Reset Database Password”)

‘Reset database password based on answer to message box.
If ResetQuestion = 6 Then
sqlExecStr = “ALTER DATABASE PASSWORD “ DBPassword”
CurrentProject.Connection.Execute sqlExecStr
MsgBox “Database Password has been reset.”
Else
MsgBox “Database password has not been reset”
Exit Sub
End If

End Sub

Fuente: www.microsoft.com 

Leave a Reply