La Web del Programador: Comunidad de Programadores
 
    Pregunta:  47537 - ERROR EN LA CONEXION A UNA BASE DE DATOS ACCESS
Autor:  Cristian Valdivia C.
Saludos a todos lo que leen esta pregunta =)
--------------------------------------------------------------
Sistema Operativo: Windows XP
Versión de VB: VB 6 Profesional

Estoy realizando unas consultas a una base de datos de Access 2000 cifrada con una password=ores23

me conecto de la siguiente manera:

'Declaro las variables
Dim Conexion As New ADODB.Connection
Dim Registro As New ADODB.Recordset
'Abro la conexión
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0;Password=ores23"
Conexion.ConnectionString = App.Path & "\basedatos.mdb"
Conexion.Open

El problema sucede cuando quiero conectarme, me arroja el siguiente error:

Error '-214717843 (80040e4d)' en tiempo de ejecución:

No se puede iniciar la aplicación. Falta el archivo de información del grupo de trabajo o bien está abierto en modo exclusivo por otro usuario.

** no tengo ningun programa ejecutando la base de datos, lo cual descarta la opción del modo exlusivo

Me pueden ayudar?

Atte. Cristian

  Respuesta:  JHODY VILLAMARIN
MIRA LA CONEXION ES ASI:

Private sub form_load ()
Set con = New ADODB.Connection
Set Rcon = New ADODB.Recordset
ruta = App.Path & ""
conexion con base de datos
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & ruta & "bdesp.mdb"
conexion tabla
Rcon.Open "estudiantes", con, adOpenDynamic, adLockPessimistic, adTableDirect

nota: Las variables no las declare alli sino en un modulo por eso no aparecen declaradas

ok bye espero te sirva

  Respuesta:  Cristian Valdivia C.
Acabo de encontrar la solución a mi problema =)

Tienen que cambiar unos parametros en el Proveedor. Asi:

'Declaro las variables
Dim Conexion As New ADODB.Connection
Dim Registro As New ADODB.Recordset
'Abro la conexión
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password=ores23"
Conexion.ConnectionString = App.Path & "\basedatos.mdb"
Conexion.Open

Porqué?

La contraseña no se la tienes que dar al usuario, sino a la base de datos. En la pestaña Todas elige la opción Jet OLEDB Database Password y escribes la contraseña.

Saludos.
Atte. Cristian