Accesar una base de datos con contraseña

Tengo un amarre de visual basic y access para guradr los datos pero no se como establecerle una contraseña a la conexión para que accese la base de datos, actualmente cualquiera puede abrirla, y lo que deseo es que se habrá desde la conexión es decir, que solo utilizando la aplicación sirva solopara para actualizar los datos.
¿Pregunto si una base va ser usada por varias personas hay que hacerle algo diferente? ¿Para qué admita ser multiusuario?

1 respuesta

Respuesta
1
Podes hacer algo como esto
Establecer una constante y que esa sea la clave para la base de datos y luego usarla en todas las conexiones
Eso es fácil
con que te conectas ... ¿con dao o con ado?
Bueno en cuanto a los usuarios... no hace falta modificarle nada para que pueda ser usada por varios usuarios
Los permisos del access son para dejar que modifiquen alguna o otra tabla
pero eso ya es muy fino... como te lo puedo explicar...
Los permisos de access son solamente para el acceso a tablas... si vos le pones password que conoce solamente tu aplicación... los usuarios no van a poder usar la tabla si no es por medio de la aplicación y ahí vos podes decidir que tablas ven o pueden manejar
Necesito que me aclares como te conectas con la base... por código o ocn los controles
Si usas ado.. podes probar poner un control ado... generar la cadena de conexión y fijarte como escribe el password de la base de datos,,,
Si lo haces con un data por código
Set db = OpenDatabase(BDpath, False, False, ";PWD=" & BDpwd)
Donde BDpwd seria la constante
Para poder usarla con varios usuarrios lo único que tienes que tener cuidado es de no poner en ningún lado que se abra de forma exclusiva
Y con eso ya estaría todo
Muchas gracias por tu tiempo y dedicación
Option Explicit
Public cnH As New ADODB.Connection ' Connection
Public cmH As New ADODB.Command ' Command ' Command
Public rsH As New ADODB.RecordSet ' Recordset
Public Sub Conectar()
On Error GoTo Err_Conect
' Set cnH = New Connection
With cnH
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;Data Source= " & App.Path & "\Escenarios.mdb"
.Open
End With
'Conexión del objeto de comandos
' Set rsH = New Recordset
cmH.ActiveConnection = cnH
'Configuración del Recordset de trabajo
With rsH
.ActiveConnection = cnH
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Source = "SELECT * FROM MISC"
.Open
End With
' Call moddecretos.CTemporal
Exit_Err_Conect:
Exit Sub
Err_Conect:
MsgBox Err.Description & ", algo paso, la Conección no pudo realizarse Correctamente", vbInformation, "Error, en la conección"
Resume Exit_Err_Conect
End Sub
ESTA ES LA MANERA EN QUE ME CONECTO, de hecho no conozco otra manera, nunca me han enseñado otra.
correo [email protected]
Muchas gracias por tu respuesta pero no se como aplicarlo a lo que deseo, como ves la conexión es por código y no por controles.
Tendrías que armas la cadena de conexión más o menos así
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mis documentos\informacom\informacom PRUEBAS\InformaCom.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123
fijate lo ultimo ahi es donde hiria la constante con el password
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & BDpath & ";Persist Security Info=False;Jet OLEDB:Database Password=" & BDpassword
Los controles sirven para poder ver como se escriben ciertas propiedades =)
Bueno un saludo de ezequiel
Desde rosario argentina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas