Sincronizar tablas

Tienes algún ejemplo o código de como puedo sincronizar 2 tablas.

1 respuesta

Respuesta
1
¿Te refieres a obtener un campo de una tabla por y ver la relación en la tabla y?
lo haces con SET RELATION TO
Hola, lo que quiero es si tengo 2 tablas diferentes, tomar tabla1. Código, compararla con tabla2. Código, si el código no se encuentra, grabar un registro nuevo con el código que no encuentra.
Gracias por tu interés.
Puedes saberlo mediante una consulta
SELECT * FROM tabla1 WHERE codigo not in (SELECT codigo FROM tabla2)
¿La consulta te dará todos los códigos que no estén en tabla2
así te sirve?
Claro, ¿pero cómo le puedo decir que me realice la copia de esos registros a la tabla?
eso depende,quieres agregarlos a tabla2? ambas tablas tienen la misma estructura?, de ser asi es mas facil
SELECT * FROM tabla1 WHERE codigo not in (SELECT codigo FROM tabla2) INTO CURSOR tq1
SELECT tabla2
APPEND FROM DBF("tq1")
Ojo, que si la estructura no es la misma entonces no copiara nada, ¿o lo quieres copiar a una tabla distinta?
Es una comparación de los registros de 2 tablas, voy a probar el código y te cuento, muchas gracias!
Al tratar de hacer la prueba me tope con un detalle, las 2 tablas, pertenecen a 2 proyectos diferences, no me deja agregar las 2 tablas en un proyecto o en el mismo, me dice que ya pertenece a otro proyecto, ¿qué tengo que hacer adicional?
Gracias
Para hacer la consulta no es necesario que agregues esa otra tabla a tu nuevo proyecto, te daré dos soluciones
1) supongamos que tu nuevo proyecto (proj2) esta en c:\proj2 y tu proyecto anterior esta en c:\proj1 , y que las dos tablas se llaman tablax
cuando estas en tu proj2 solo le das
USE tablax ALIAS tablanueva IN 0
para abrir tu tablax del proj1
USE c:\proj1\tablax.dbf IN 0 ALIAS tablavieja
SELECT * FROM tablanueva WHERE codigo NOT IN (SELECT codigo FROM tablavieja) INTO CURSOR tq1
SELECT tablanueva
APPEND FROM DBF("tq1")
Opción 2
2)
Supongamos que tu base de datos se llama db1
entonces (ojo que la tabla físicamente debe estar como si no hiciste nada, osea antes de irla a pegar en tu proj2)
Estando en el directorio de tu proj1
OPEN DATABASE db1
REMOVE TABLE tablax RECYCLE
Ahora puedes copiar la tabla hacia tu proj2 (si el nombre es el mismo cambialo)
Luego estando en tu directorio proj2
OPEN DATABASE db2
ADD TABLA tablax
Y listo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas