FoxPro/Visual FoxPro - Marcados para borrar en vistas

 
Vista:
Imágen de perfil de Walter

Marcados para borrar en vistas

Publicado por Walter (3 intervenciones) el 20/11/2007 21:42:31
Alguien sabe como hago para que no me aparescan los registros marcados para borrar de una tabla que integre una vista en VFP?

Es decir: tengo una vista creada con dos o mas tablas Una de esas tablas tiene registros marcados para borrar ( y no puedo hacer pack). Estos me aparecen en los resultados de la vistas y no quiero. El set delete esta en "ON" y uso etornos de datos privados

Saludos cordiales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Marcados para borrar en vistas

Publicado por Plinio (7841 intervenciones) el 20/11/2007 23:33:23
Dos cosas
1- El SET DELETE ON tendrias que activarlo en cada formulario, pues los comandos SETs se elimninan en cada seccion de datos(si es privada). Una seccion de datos privadas en un formulario es como si ejecutara el formulario en otro form, respeta pocas cosas.

2- En la vista tambien puedes poner en las condiciones !DELETED()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Walter

RE:Marcados para borrar en vistas

Publicado por Walter (3 intervenciones) el 21/11/2007 12:28:22
Estimado Plinio

1 El set delete esta en on en cada formulario y con sesio privada de datos.

2 Quise utilizar la funcion deleted() en el select pero o no funcionaba o no me mostraba nada, podrias darme un ejemplo que funcione ?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Marcados para borrar en vistas

Publicado por Plinio (7841 intervenciones) el 21/11/2007 13:02:34
1- Ponlo en el Load del formulario
2- Para poner el el deleted debes de hacerlo de la siuiente manera
a) en la Pestaña Filter
b) En "Field Name" busca <Expresion> y ahi pones DELETED()
c) Marca donde Dice "Not". Se te pone √
c) donde dice "Criteria" pon =
d) y en "Example" pon .T.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Marcados para borrar en vistas

Publicado por JorgeE (423 intervenciones) el 21/11/2007 17:49:40
Si haces algo asi:???

Select * FROM Tabla WHERE NOT DELETED()

Lo que harias es que omitiria todos los registros borrados de tu tabla o tablas ...
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Walter

RE:Marcados para borrar en vistas

Publicado por Walter (3 intervenciones) el 21/11/2007 17:54:10
Pruebo ambas y les cuento.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Marcados para borrar en vistas

Publicado por Carlos Cuyé (75 intervenciones) el 23/11/2007 21:41:09
Si el uso de DELETED() te retorna registros erroneos, podés agregar un campo lógico a cada tabla y usarlo como señal de borrado, por ejemplo que se llame ELIM. Cada vez que elimines un registro con DELETE también tendrías que ejecutar REPLACE IN TuTabla Elim WITH .T.
Luego en la Vista la cláusula Where debería tener la condición Elim=.F. Con esto la vista no te muestra los registros cuyo campo Elim es igual a .T. (eliminado).
Y si usás RECALL, debés ejecutar REPLACE IN TuTabla Elim WITH .F.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar