• Sábado 21 de Diciembre de 2024, 19:33

Autor Tema:  errores en tablas y formularios  (Leído 1497 veces)

Emilianov

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
errores en tablas y formularios
« en: Domingo 22 de Junio de 2008, 21:47 »
0
Buenas tardes, quisiera hacerle un par de prreguntas acerca de VFP 8.0. Actualmente estoy desarrollando un sistema de facturación, me están surgiendo múltiples errores, quisiera comentarle algunos, a lo mejor usted me sabe decir en dónde debería revisar:

1) Problemas con Pack y Delete

Al examinar una tabla es posible "marcar" un registro como borrado, luego con pack eliminarlo definitivamente. Bueno, en mi sistema si marco como borrado un registro y luego cierro la tabla, al abrirla se me borró el registro, como si hubiese puesto la propiedad pack. ¿Cómo hago para que esto no suceda? .

Además, si marco como borrado un registro y luego en la ventana de comandos (con la tabla abierta) escribo el comando pack me aparece un mensaje que dice "Debe abrir el archivo de modo exclusivo", pero si cierro y vuelvo a abrir lo eliminó ¿Por qué me sucede eso?

2) Conflicto de actualización:

En uno de mis formularios, presento una lista con todos los clientes de puedo facturar (trabajo con un sistema para un proveedor de Internet), permito seleccionar (en un grid) algunos registros para factura

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: errores en tablas y formularios
« Respuesta #1 en: Lunes 23 de Junio de 2008, 16:13 »
0
Hola, en el borrado de registros se maneja el concepto de borrado lógico y borrado fisico.
Cuando le colocas a un registro la marca negra que dices esto viendo siendo borrado lógico, al hacerle el pack estás haciendo un borrado fisico.
Código: Text
  1. si marco como borrado un registro y luego cierro la tabla, al abrirla se me borró el registro,
  2.  

no es que se borró es que el set deleted  está activado (ON), si deseas verlos nuevamente debes poner en la consola
Código: Text
  1. set delete off
  2.  

y si quieres que en tú programa esté activo siempre lo colocas en el prg inicial o cuando lo necesites.
si vas a usar el set delete off debe utilizar en tus sentencias "not deleted" algo así
Código: Text
  1. select * from tabla where usuario = "juez" and not deleted
  2.  

En el caso 2 no comprendo el problema
Código: Text
  1.  
  2. En uno de mis formularios, presento una lista con todos los clientes de puedo facturar (trabajo con un sistema para un proveedor de Internet), permito seleccionar (en un grid) algunos registros para factura.
  3.  

Bueno saludos, espero te sirva
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com