No se puede hallar el archivo ISAM instalable

carri
02 de Abril del 2006
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.

SemperFiMXL
02 de Abril del 2006
Cuando agregas valores directos al connection string debes separar unos de otros con punto y coma (;) al inicio de cada grupo de valores agregado...

Teoricamente tu connection string, considerando el .Provider especificado y el "origen de datos" que agregas deberia quedar asi ...

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=base_de_datos.mdb"

Sin embargo, como no pones punto y coma antes de agregar los "origen de datos" entonces el connection string te esta quedando asi ...

"Data Source=base_de_datos.mdb"

Esto hace que se pierda el valor del .Provider especificado, y te genera el error del ISAM que mencionas...

Cambia tu linea 8 a ...
.ConnectionString = ";Origen de datos =" & Curdb.Name

(fijate en el punto y coma ...)

Si no te funciona, entonces cambialo a ...
.ConnectionString = ";Data Source =" & Curdb.Name

En ingles en lugar de espanol... otra vez, fijate en el punto y coma que sirve para agregar y separar unas propiedades de otras dentro del connection string...

Espero te sirva ...