Como se usa !deleted() y !between()

Esto es parte de mi código que no comprendo, se que append agrega registros pero a donde los agrega. Ademas para que sirve el !deleted()

kdfech=thisform.txtdfech.Value
khfech=thisform.txthfech.Value
ksalida=thisform.option.value
kubica = thisform.txtubica.Value
fparas = "N"
SELECT 0
CREATE CURSOR xprod ( item c(6), ditem c(50), cant n(10,2), npers n(5),cantpr n(10,2),fecha d)
SELECT xprod
GO TOP
APPEND FROM plan FOR !DELETED()
DELETE ALL FOR !BETWEEN(fecha,kdfech,khfech)
SELECT 0
CREATE CURSOR xrprod ( item c(6), ditem c(50), capa n(12), cant n(10,2), npers n(5),cantpr n(10,2),;
fecha d, causa n(6), dcausa c(20),días n(5), porc n(10,2), porct n(10,2),;
factor n(10,2),prodh n(10,2), horasp n(10,2))
CREATE CURSOR xitem ( codi c(6), dprod c(50), unid c(10), capa n(6,2), linea c(3), prodh n(5,2), npers n(10))
APPEND FROM prod FOR !DELETED()


Por favor me pueden ayudar describiendo este código, o informacion explicando esto, he buscado en varios foros y tutoriales pero nadie expliqca porque se hace eso.

gracias

Respuesta
1

el APPEND FROM plan FOR ! DELETED() lo que hace es un insert en la tabla xprod de todos los registros de la tabla plan que no tengan marca de eliminación o que hayan sido eliminados con DELETE (recordar que al usar delete solo se eliminan físicamente los registros y con PACK se eliminan definitivamente).

luego con DELETE ALL FOR ! BETWEEN(fecha, kdfech, khfech) lo que indica es que borre de la tabla xprod todos los registros cuyo campo fecha NO este entre los rangos de fecha kdfech y khfech, si por ejemplo kdfech tiene 01-01-2012 y khfech tiene 31-05-2012 lo que hará el comando es borrar todos los registros cuya fecha no este entre el 01-01-2012 y el 31-05-2012, espero haber sido claro y cualquier novedad me comentas, suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas