Hola.
Estoy intentado hacer una pequeña base de datos en acces con consultas a un par de tablas.
En principio tengo el código que debería funcionar y es este:
1 Dim Curconn As ADODB.Connection
2 Dim Rst As ADODB.Recordset
3 Dim Curdb As Database
4 Set Curdb = CurrentDb
5 Set Curconn = New ADODB.Connection
6 With Curconn
7 .Provider = "Microsoft.Jet.OLEDB.4.0"
8 .ConnectionString = "Origen de datos =" & Curdb.Name
9 .Open
10 End With
11 Set Rst = New ADODB.Recordset
12 Rst.CursorType = adOpenDynamic
13 Rst.LockType = adLockOptimistic
14 Rst.Open "Hechos", Curconn, , , adCmdTable
Bien, pues en la linea 9 al trazar encuentra un error cuyo mensaje es:
"No se pudo encontrar el archivo ISAM instalable".
He buscado por todos sitios y hablan de errores en la linea connectionString que tiene espacios (no es mi caso), o de MDAC que hay que acutalizarlo (ya lo tengo actuzado)
Se trata de una base de datos en acces 2003 y es una macho hecha en VB, con el propio editor de macros de office.
¿alguien sabe donde puede estar el error?
Gracias.
No puedo encontrar el fichero ISAM instalable
Moderador: Moderadores
Bien, lo he solucionado cambiando la forma de acceder a los datos.
Las lineas de 1 a 10 las he sustituido por las siguientes:
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("hechos", dbOpenDynaset)
Parece ser que he cambiado el modo de acceso a los datos de DAO a ADO (no entiendo muy bien la diferencia, si alguien me la pudiera explicar).
Gracias.
Las lineas de 1 a 10 las he sustituido por las siguientes:
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("hechos", dbOpenDynaset)
Parece ser que he cambiado el modo de acceso a los datos de DAO a ADO (no entiendo muy bien la diferencia, si alguien me la pudiera explicar).
Gracias.