• Jueves 2 de Mayo de 2024, 08:20

Autor Tema:  Insertar Recordset En Tabla Access  (Leído 2665 veces)

micki_mayo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Insertar Recordset En Tabla Access
« en: Martes 8 de Mayo de 2007, 11:32 »
0
Hola amigos,
A ver si alguien de por aquí me puede echar una mano, porque llevo días intentando hacer una cosa sin resultado alguno, y me estoy volviendo un poco loco.

Veréis, la situación es la siguiente: Trabajo en ASP. Tengo que hacer una replicación de datos de ciertas tablas de una base de datos SQL Server remota a una base de datos Access local. Para ello, existen unos procedimientos almacenados que me devuelven el contenido íntegro de esas tablas. He pensado que tal vez la mejor manera sería recoger esos datos en un recordset mediante el procedimiento almacenado, y desde ese recordset insertar los datos en la tabla (ya creada) correspondiente en Access.

El problema es que no me funciona. Aquí está el código por si alguien le puede echar un vistacillo. La conexión con ambas bases de datos es correcta, y el recordset recoge bien los datos. A lo mejor no es posible lo que intento hacer, o me estoy dejando algo y no me doy cuenta.

Set conn = conexión a la base de datos SQL Server remota

Set oConn = conexión a la base de datos Access local
oConn.Open StrConn

dim i

set rs = server.createobject("adodb.recordset")
rs.Open "Exec COFGet_Replic_Socio", Application("cn") ->ejecuta el procedimiento almacenado y lo recoge en el recordset

sql_filltable = "INSERT INTO Socio(Num_Socio, Nombre, Cif_Nif, Clase, Subclase) VALUES (“rs.Fields(Num_Socio).Value”,” rs.Fields(Nombre).Value”, “rs.Fields(Cif_Nif).Value”, “rs.Fields(Clase).Value”, “rs.Fields(Subclase).Value”)"

DO WHILE NOT rs.EOF
oConn.Execute sql_filltable
rs.movenext
loop

Muchísimas gracias anticipadas! :ph34r:

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Insertar Recordset En Tabla Access
« Respuesta #1 en: Martes 8 de Mayo de 2007, 16:20 »
0
Te da algún error?

Supongo que
Código: Text
  1. sql_filltable = "INSERT INTO Socio(Num_Socio, Nombre, Cif_Nif, Clase, Subclase) VALUES (“rs.Fields(Num_Socio).Value”,” rs.Fields(Nombre).Value”, “rs.Fields(Cif_Nif).Value”, “rs.Fields(Clase).Value”, “rs.Fields(Subclase).Value”)"
  2.  
debería ir dentro del
Código: Text
  1. DO WHILE
  2.  

Además en:
Código: Text
  1. rs.Fields(nombreCampo).Value
  2.  
nombreCampo debe ir entre comillas...
ejemplo:
Código: Text
  1. rs.Fields("Nombre").Value
  2.  

Por último debes concatenar las cadenas con los valores de las variables utilizando el caracter "&".
Te recomiendo que imprimas la consulta (sql_filltable) en la pantalla para que veas cuales son tus errores.

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.