eliminar registros de tablas en foxpro
Jorge respondiendo a tu consulta:
"Tengo dos tablas, tabla1 y tabla2, necesito borrar los registros de las dos tablas que están relacionadas por n_factura. y tengo información desde el año 2009 y solo tengo que dejar la información de dos años, el campo de la fecha es fecha2. como hago esto, ya que si lo hago de una sola tabla si lo hace, pero necesito hacerlo de las dos tablas. El Foxpro que utilizo es el FoxPro 9.0
Les agradezco quien me pueda ayudar."
Select Select(1)
Use Tabla1
Select Select(1)
Use Tabla2
&& dFecha1 y dFecha2 equivale al rango de fechas a borrar.
dFecha1 = Date(2015,1,1) && 1 de Enero de 2015
dFecha2 = Date(2016,12,31) && 31 de Diciembre de 2016.
Select Tabla2
Delete From Tabla2 Where n_Factura IN (Select n_Factura From Tabla1 a Where Between(a.Fecha2,dFecha1,dFecha2))
Sele Tabla1
Delete All For Between(a.Fecha2,dFecha1,dFecha2)
NOTA:
1. He supuesto que Tabla1 es Facturas y Tabla2 es Detalles de Factura.
2. Cambia el Rango de Fechas dFecha1/2 para que tome el rango que deseas.
3. Aquí solo marcas para borrar los registros, si deseas limpiar totalmente la tabla usa PACK pero abriendo la misma en modo exclusivo (USE Tablan EXCLUSIVE).
4. A fin de que tu consulta no se pierda haz una nueva, sino se pierde entre las demás.
Exitos.