Isertar datos en una tabla externa de access
Publicado por egamonty (1 intervención) el 01/02/2007 09:28:44
soy novato en Visual FoxPro, tengo el siguiente codigo:
tengo creado una conexión ADO con un recorset para recorrer una tabla de donde cojo los nombres de las tablas que tengo que leer y escribir. Despues tengo abiertas dos conexiones para poder insertar datos de una tabla de .dbf en otra en una base de datos de access, pero evidentemente con este codigo no funciona, alguien podría ayudarme?
DO WHILE !rsttabla.EOF
cn=SQLSTRINGCONNECT("DRIVER={Microsoft Visual FoxPro Driver}; SourceType=DBF; SourceDB=ruta;backgroundfetch=no;Exclusive=No;Collate=Machine;")
tabla=rsttabla.Fields['Nombre'].Value
IF cn >0 then
n=SQLEXEC(cn, "SELECT * FROM '"+tabla+"'","cursor")
cone1=SQLSTRINGCONNECT("Driver={Microsoft Access Driver *.mdb)};DBQ=ruta\bd.mdb;")
IF cone1>0 then
cmd=SQLEXEC(cone1,"SELECT * FROM tabla INTO CURSOR cursor READWRITE")
ENDIF
n1=SQLDISCONNECT(cone1)
ENDIF
n=SQLDISCONNECT(cn)
rsttabla.MoveNext
LOOP
ENDDO
Muchas gracias
tengo creado una conexión ADO con un recorset para recorrer una tabla de donde cojo los nombres de las tablas que tengo que leer y escribir. Despues tengo abiertas dos conexiones para poder insertar datos de una tabla de .dbf en otra en una base de datos de access, pero evidentemente con este codigo no funciona, alguien podría ayudarme?
DO WHILE !rsttabla.EOF
cn=SQLSTRINGCONNECT("DRIVER={Microsoft Visual FoxPro Driver}; SourceType=DBF; SourceDB=ruta;backgroundfetch=no;Exclusive=No;Collate=Machine;")
tabla=rsttabla.Fields['Nombre'].Value
IF cn >0 then
n=SQLEXEC(cn, "SELECT * FROM '"+tabla+"'","cursor")
cone1=SQLSTRINGCONNECT("Driver={Microsoft Access Driver *.mdb)};DBQ=ruta\bd.mdb;")
IF cone1>0 then
cmd=SQLEXEC(cone1,"SELECT * FROM tabla INTO CURSOR cursor READWRITE")
ENDIF
n1=SQLDISCONNECT(cone1)
ENDIF
n=SQLDISCONNECT(cn)
rsttabla.MoveNext
LOOP
ENDDO
Muchas gracias
Valora esta pregunta


0