La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1987 - COMO UTILIZAR UNA BASE DE DATOS ACCESS CON PASSWORD
Autor:  Cosimo Campos
deseo proteger mi base de datos (en Access) y luego como debo hacer para abrirla en Visual Basic.Soy novato
Gracias

  Respuesta:  Francisco Ayala
Hola, yo utilizo esta sentencia una sola vez, declarando la variable como publica desde un modulo; asi:

Public abrebaseprin As Variant -----------> en modulo

Set abrebaseprin = OpenDatabase(ruta & "datos.mdb", True, False, ";pwd=[tu pass]") -----------> en el formulario principal.
gsDatabase = (ruta) & "datos.mdb" ---------> eb formulario principal

Luego llamo la base de datos desde cualquier otro formulario las veces que yo quiera y no tengo que poner nada mas, solo le asigno luego los siguiente para cada control data: data1.DatabaseName = gsDatabase y ya esta; la variable gsDatabase tambien la declaro como publica desde el modulo. Espero te sirva

  Respuesta:  Jose Ramón Espinosa Muñoz
La respuesta ya dada es muy correcta, sin embargo, si quieres utilizar directamente controles DATA, lo anterior no sirve especialmente. Para ello, deberías incluir para cada control DATA que definas, estas líneas de código:

Data1.Connect = ";pwd=Contraseña"
Data1.DatabaseName = gsDataBase
Data1.Refresh

Yo esto lo suelo colocar a la hora de incorporar los ResourcesFiles, con el procedimiento LoadResString, etc. Pero puede colocarse donde sea, antes de utilizar o visualizar el DATA.

  Respuesta:  Santiago Tomas
En la sentencia Opendatabase debes especificar en la cadena de conexion la contraseña:

Dim StrPass as string, OldDb as databse, OldWs as workspace

strPass = ";pwd=UNA_CLAVE"
Set OldDb = OldWs.OpenDatabase(RUTA, False, False, strPass)

Esto funciona cunado utilizas una Base datos con Jet.