SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: _vgt_ en Martes 11 de Enero de 2005, 22:17
-
Hola!!, estoy pasando datos de unas hojas excel a mi base de datos access pero me da un problema en el INSERT INTO y me saca un mensaje k me dice: "No se pudo encontrar el archivo ISAM instalable" :blink: y la verdad es k me tiene descuadrado... os pongo el codigo y lo veis a ver k os parece...
este es el procedimiento con el k introduzco los datos:
Dim RS As Recordset
Public Sub Envia_Datos_Access()
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Z:\Nerv.vgt;"
Set RS = New Recordset
RS.Open "INSERT INTO Contabilidad IN 'Z:\Nerv.vgt' SELECT * FROM [datos$] IN 'Z:\excel\datos.xls'[EXCEL 6.0;]", db, adOpenStatic, adLockOptimistic
Unload frmContabilidad
frmContabilidad.Show
End Sub
cualkier ayuda se agradece un monton !! :comp:
Muchas gracias y saludos a todos/as !! :hola:
-
Hola _vgt_, se supone que tienes activada la referencia Microsoft Activex Data 2.x Library (yo uso la 2.8).
Dim RS As Recordset
Public Sub Envia_Datos_Access()
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Z:\Nerv.vgt;"
Set RS = New Recordset
RS.Open "INSERT INTO Contabilidad IN 'Z:\Nerv.vgt' SELECT * FROM [datos$] IN 'Z:\excel\datos.xls'[EXCEL 6.0;]", db, adOpenStatic, adLockOptimistic
El Dim RS as Recordset, debería estar dentro de Public Sub.
Yo siempre hago la conexión, cuando es access, así:
Dim db As ADODB.Connection, rs as ADODB.Recordset
Set db= New ADODB.Connection
Set rs = New ADODB.Recordset
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=Z:\Nerv.vgt"
En tú caso, como es un .vgt igual lo tienes bien hecho no lo sé. Pero sí conviene dimensionar que son variables ADODB.
Para el INSERT INTO, uso:
db.Execute "INSERT INTO Contabilidad IN 'Z:\Nerv.vgt' SELECT * FROM [datos$] IN 'Z:\excel\datos.xls'[EXCEL 6.0;]"
Con lo que nos ahorramos una variable 'rs
Lo que pasa es que yo nunca he añadido registros desde una tabla de excel y a lo mejor se hace como tú lo tienes.
Saludos y suerte.
-
execute... si es k soy un garrulo xD
Muxisimas gracias ebolo!!! :lol:
x cierto, si funciona dejo aki el codigo puesto x si alguna vez lo necesitas (o cualkiera) :hola:
-
mmmmmm... me sigue dando el mismo error...
te cuento: no tenia instalado el MDAC 2.8 pero como a ti no te daba problemas lo acabo de instalar y le he asignado las referencias del 2.8 aunque aun asi me sigue dando el mismo error de "No se pudo encontrar el archivo ISAM instalable" ... :lightsabre:
Cualkier ayuda se agrade muxo :(
-
Revisa esta dirección de Microsoft:
http://support.microsoft.com/?kbid=283881 (http://support.microsoft.com/?kbid=283881)
Saludos y suerte.
-
Holas!!, al final he optado x hacer el paso de datos desde access en una macro k ya lleva preparada y total como solo lo voy hacer una vez para k no pierdan unos datos (y como k tengo un poco de prisa) pues voy a optar x esa opcion: para los k tengan un caso como el mio atentos:
Abrir el access/ macro/ nueva/ TransferirHojaCálculo ... te pilla la hoja de calculo y te la pasa enteretita y para salir de un apuro puede valer...
Muxas gracias x vuestro tiempo ebolo, Brroz !!! :hola: