Comparar dos tablas

27/10/2005 - 16:19 por Gustavo Molina | Informe spam
Hola a todos, tengo dos tablas iguales "medicos.dbf" y "medicosAct.dbf"
con la misma estructura, como puedo reemplazar los datos nuevos que estan
en la tabla "medicosAct.dbf" a la tabla "medicos", las tablas tienen los
sig. campos, "codigo,apelnom,dom,loc,cp etc.."

en la tabla "medicosAct.dbf" puede haber medicos nuevos que no estan en la
tabla original

Saludos y Gracias

Gustavo




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#1 Pablo Bouzada
27/10/2005 - 17:07 | Informe spam
Hola Gustavo, a mi me parece sencillo de hacer lo que preguntas.

1._ Obtienes los datos de la 2ª tabla que no estén en la 1ª

Select * from medicosact where codigo not in (select codigo from
medicos) into cursor TMP

2._ Insertas los registros en la 1ª tabla

Select "medicos"
Append From DBF("TMP")

Espero que te sirva de ayuda.

Un saludo.




-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#2 Gustavo Molina
27/10/2005 - 17:28 | Informe spam
Hola Pablo, para el caso de tenga nuevos registros si, pero tambien puede
haber datos para modificar en algunos campos de la tabla, por ejemplo
puede haber un cambio en el domicilio que esta en la tabla 2 y tengo que
actualizar la tabla 1 con ese dato., debo hacerlo asi, ya que hay campos
de la tabla 1 que no los debo tocar.

Saludos y Gracias



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#3 Pablo Bouzada
28/10/2005 - 09:18 | Informe spam
Hola Gustavo

La cosa se complica un poco más, pero no mucho.

Recorre la 2ª tabla con un scan ... endscan, y busca cada registro en la
1ª tabla con SEEK, si no existe, lo insertas con INSERT INTO o APPEND
BLANK, y si ya existe, haces un REPLACE de los campos que quieras.

Un saludo.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#4 Luis María Guayán
28/10/2005 - 14:36 | Informe spam
Entonces es mejor partir de la 2da. tabla que tiene los datos actualizados,
y solo añadirle los registros que faltan de la 1era. tabla.

SELECT * FROM MedicosAct ;
UNION ALL ;
SELECT * FROM Medicos ;
WHERE NOT EXISTS ( ;
SELECT * FROM MedicosAct ;
WHERE MedicosAct.Codigo = Medicos.Codigo) ;
INTO CURSOR MedicosNuevo

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Gustavo Molina" escribió en el mensaje
news:
Hola Pablo, para el caso de tenga nuevos registros si, pero tambien puede
haber datos para modificar en algunos campos de la tabla, por ejemplo
puede haber un cambio en el domicilio que esta en la tabla 2 y tengo que
actualizar la tabla 1 con ese dato., debo hacerlo asi, ya que hay campos
de la tabla 1 que no los debo tocar.

Saludos y Gracias



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#5 skywito
13/05/2013 - 10:58 | Informe spam
Luis María Guayán escribió el 28/10/2005 14:36 :
Entonces es mejor partir de la 2da. tabla que tiene los datos actualizados,
y solo añadirle los registros que faltan de la 1era. tabla.

SELECT * FROM MedicosAct ;
UNION ALL ;
SELECT * FROM Medicos ;
WHERE NOT EXISTS ( ;
SELECT * FROM MedicosAct ;
WHERE MedicosAct.Codigo = Medicos.Codigo) ;
INTO CURSOR MedicosNuevo

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Gustavo Molina"
escribió en el mensaje
news:
Hola Pablo, para el caso de tenga nuevos registros si, pero tambien puede
haber datos para modificar en algunos campos de la tabla, por ejemplo
puede haber un cambio en el domicilio que esta en la tabla 2 y tengo que
actualizar la tabla 1 con ese dato., debo hacerlo asi, ya que hay campos
de la tabla 1 que no los debo tocar.

Saludos y Gracias



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway




hola tengo un problema similar y soi noob aun en esto de fox pro :c podrias ayudarme???
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida