Eliminar y copiar registros

Hice el sig. Código para identificar riesgos concluidos que estén dentro de un rango de fechas que el usuario especifique, como puedo hacer para que
los registros que cumplan el criterio
se eliminan de la tabla pero se copien con todos sus campos a otra tabla
public ries_excluido
SELECT riesgos
GO TOP
DO WHILE NOT EOF()
&&Excluir los riesgos y sus recomendaciones de un intervalo de fechas especificadas en donde el estado de los
&&Riesgos esten como concluidos
IF (riesgos.estadonum=3 .and. Riesgos.fecha_cumplimiento>=thisform.txtfecha_detec.value .and. Riesgos.fecha_cumplimiento<=thisform.txtfecha_mayor.value)
Messagebox("El riesgo cae dentro de este rango de fechas y esta concluido")
&&Aqui quiero que lo elimine de la &&tabla y lo copie a otra tabla ries_excluido=riesgos.clave_riesgo
SELECT recomendaciones
GO TOP
DO WHILE NOT EOF()
IF (recomendaciones.clave_riesgo=ries_excluido)
Messagebox("Recomendacion pertenece a un riesgo excluido")
&&Aqui quiero que lo elimine de la &&tabla y lo copie a otra tabla
ENDIF
if not eof() &&si no es fin de archivo que se brinque al sig. Registro
SKIP
ENDIF
ENDDO
ELSE &&en caso de que no se deba excluir
Messagebox("Riesgo no cae dentro de este intervalo o no esta concluido")
Endif
if not eof() &&si no es fin de archivo que se brinque al sig. Registro
SKIP
ENDIF
enddo

1 respuesta

Respuesta
1
Lo que puedes hacer es lo siguiente: usas el SCATTER (ver Help) para levantar el registro en variables de memoria o a un arreglo, luego con GATHER (ver Help) bajas el registro a la nueva tabla y luego lo borras con DELETE.
Fíjate si en lugar de usar WHILE no te conviene usar SCAN.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas