FoxPro/Visual FoxPro - Isertar datos en una tabla externa de access

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Isertar datos en una tabla externa de access

Publicado por ramon (47 intervenciones) el 04/02/2007 07:27:54
a ver si te entiendo
de cn seleccionas los registros de cada tabla en una bd de fox que quieres insertar en cone1 que es una conexion a access
si es asi entonces creo que deberias utilizar
cn=sqlstringconnect('bd de fox')
cone1=sqlstringconect('bd de acces')
do while !rsttabla.eof
tabla=rsttabla.Fields['Nombre'].Value
n=SQLEXEC(cn, "SELECT * FROM '"+tabla+"'","cursor")
scan && 'cursor'
sqlexec(cone1,'insert into tablaacces (......) values (?cursor.campo1,.....')
endscan
enddo
asi no abres las conexiones para cada tabla
nota (no se si es ? o @) ve la documentacion de sqlexec
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar