La Web del Programador: Comunidad de Programadores
 
    Pregunta:  812 - CONTRASEÑAS PARA BASES DE DATOS EN VB 5
Autor:  Javier González
Quisiera saber como ponerle una clave a una bases de datos desde el Visdata de Visual Basic 5.
Y como hacer desde un programa para usar esa base de datos con un control data, ya que me va a pedir que en el código del programa se encuentre la contraseña.
Gracias amigos

  Respuesta:  Alejandro SOY DE RIVER
Si estas trabajando con Acces 97 (al menos yo probé solo con éste), en la propiedad CONNECT del Control Data, solo tenés que colocar ;pwd; y listo

  Respuesta:  carlos hernandez huerta
Lei tu pregunta y la respuesta que te dejaron, mi punto de vista (a ver si entendi la pregunta) tienes una tabla con claves y deseas que al dar enter o precionar un boton se verifique la existencia de la clave proporcionada con la de la tabla, bueno has lo siguiente en un control data carga la tabla, ahora en el objeto que deses que haga la accion icluye este codigo:

nombredeldata.recordset.findfirst "clave= " & objeto.propiedad & " "
if nombredeldata.recordset.notmatch then
msgbox "usuario extraño, auxilio",vbcritcal,"error"
else
nombreformulario.show ´ir a un formulario
endif
si tienes problemas contactame.

  Respuesta:  Oscar
Tu problema es algo complicado pero no imposible.
Los archivos de bases de datos de Microsoft(*.mdb), no tienen una seguridad en el archivo mismo(salvo que le pongas clave al archivo desde Access, pero luego tienes que llamar al ActiveX Access desde Visual y eso es muy pesado para la Aplicación).
La seguridad en este tipo de archivos la maneja otra base de Datos que esta dentro del directorio Windows, y se llama System.MDW.
Este archivo maneja la seguridad de la Máquina en que estas trabajando, pero puede ser llevado a otra máquina, y obtendrás los mismos resultados.
Entonces, Primero tienes que establecer la seguridad de tu Base de datos desde Access, o tambien desde VisData. Luego, en tu aplicación, poner la siguiente linea de Codigo.
DbEngine.SystemDB = App.Path & "System.mdw"
Por supuesto, siempre tienes que llevar este archivo con tu aplicacion.
Con respecto al Control Data, te recomiendo no usarlo, ya que es un Control que Ocupa muchos recursos de Memoria.
Esto se está poniendo un poco largo. Si quieres código de ejemplo y alguna otra explicacion, envíame un e-mail, y te lo contestaré a la brevedad.
Saludos. Oscar Torres

  Respuesta:  LuisR
Hay una solución muy sencilla cuando la clave está puesta en access, cuando es para la base de datos y no restricciones de acceso el código sería algo como esto:
Set db = DBEngine(0).OpenDatabase("PathDeTuBaseDatos", False, True, ";PWD=TuClave")
..
With TuDataControl
DatabaseName = db.Name
Connect = db.Connect
RecordSource = "TuTabla"
Refresh
End With
Ahora ya tienes TuDataControl conectado a TuBaseDatos y con la clave pasada...