Programación General > Visual Basic 6.0 e inferiores
Error En Un Insert Into
_vgt_:
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:
ebolo:
Hola _vgt_, se supone que tienes activada la referencia Microsoft Activex Data 2.x Library (yo uso la 2.8).
--- Citar ---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
--- Fin de la cita ---
El Dim RS as Recordset, debería estar dentro de Public Sub.
Yo siempre hago la conexión, cuando es access, así:
--- Citar ---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"
--- Fin de la cita ---
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:
--- Citar ---db.Execute "INSERT INTO Contabilidad IN 'Z:\Nerv.vgt' SELECT * FROM [datos$] IN 'Z:\excel\datos.xls'[EXCEL 6.0;]"
--- Fin de la cita ---
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.
_vgt_:
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:
_vgt_:
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 :(
ebolo:
Revisa esta dirección de Microsoft:
http://support.microsoft.com/?kbid=283881
Saludos y suerte.
Navegación
[#] Página Siguiente
Ir a la versión completa