Trucos Establecer y cambiar la password de una base de datos Access 7.0 y 97

Microsoft Access 7.0 y 97 usan Jet 3.0 y Jet 3.5, respectivamente. Para que el código que verás a continuación funcione correctamente debes agregar la referencia correspondiente.

La palabra de paso de la base de datos puede cambiarse empleando el método NewPassword.
El siguiente ejemplo cambia la password de la base de datos MiDb de "MiPassword1" a "MiPassword2":

        Sub ChangeDBPassword ()
           Dim Db As Database

           Set Db = OpenDatabase("C:\Mis Documentos\MiDB.mdb",True, _
              False,";pwd=MiPassword1")
           Db.NewPassword "MiPassword1","MiPassword2"
           Db.Close
        End Sub


El código anterior no contempla la posibilidad de intentar abrir la base de datos con una password equivocada, lo que generará un error. Una aplicación que deba abrir bases de datosprotegidas con password debe de ser capaz de manejar este error.

Para eliminar la password de una base de datos usaremos un string vacío para el segundo parámetro del método NewPassword. Por ejemplo:

        Db.NewPassword "MiPassword2", ""

Para asignar una password a una base de datos que no tiene password usaremos una cadena vacía como primer parámetro del método NewPassword. Por ejemplo:

        Db.NewPassword "", "MiPassword1"


También podemos cambiar, asignar o eliminar una password a una base de datos mediante el método CompactDatabase. Cuando empleemos este método con una base de datos con password debemos proporcional los argumentos opcionales :

        Sub CompactDB ()
           ' Compactar la base, proporcionando la password
           DBEngine.CompactDatabase "C:\Mis Documentos\MiDB.mdb", _
              "C:\Mis Documentos\Prueba.MDB", dbLangGeneral, dbVersion30, _
              ";pwd=MiPassword1"
        End Sub

La nueva base de datos tiene la misma password que la anterior.Para compactar la base de datos y cambiar la password por "MiNuevaPassword":

        DBEngine.CompactDatabase "C:\Mis Documentos\Prueba.mdb", _
           "C:\Mis Documentos\Prueba2.MDB", dbLangGeneral & ";pwd=MiNuevaPassword", _
           dbVersion30, ";pwd=MiPassword1"


Para eliminar la protección por password :

        DBEngine.CompactDatabase "C:\Mis Documentos\Prueba2.mdb", _
           "C:\Mis Documentos\Prueba3.MDB", dbLangGeneral & ";pwd=", _
           dbVersion30, ";pwd=MiNuevaPassword"


Para compactar una base de datos sin password y asignarle una (en este caso "NuevaPassword):

        DBEngine.CompactDatabase "C:\Mis Documentos\Prueba3.mdb", _
          "C:\Mis Documentos\Prueba4.mdb", dbLangGeneral & _
";pwd=NuevaPassword", dbVersion30



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com