Trabajo con Tablas dbf Multiusuario Foxpro

Buenas Tardes: Tengo el siguiente problema que espero me puedas apoyar, tengo que trabajar en modo multiusuario, dentro de un botón mando llamar el dbf con el que va a trabajar y el otro usuario utiliza el mismo dbf, hasta ahí no tengo problema, pero cuando quiero hacer sumatorias de cierta columna o cambiar datos me dice que esta siendo utilizado por otro usuario, y estoy usando el SET EXCLUSIVE OFF y el USE ans_garcia IN 0 SHARED no se donde esta el problema y al verdad me urge¡ Gracias

1 Respuesta

Respuesta
1
Primero debes asegurarte que la tabla no esté bloqueada por el otro usuario que la utiliza, es decir, no haya utilizado la función Flock() que bloquea toda la tabla y segundo que no estés modificando un registro que está editando otro usuario, si esto sucede se debe resolver el conflicto decidiendo si va a forzar a grabar los cambios con TableUpdate(.T.,.T.) o deshacer los cambios con TableRevert().
Antes que nada agradezco tu ayuda ¿pero, cómo puedo saber si el otro usuario esta utilizando la función FLOCK? ¿Tendrás algún ejemplo de como dar prioridad a la edición de registros?
Muchas gracias por tu ayuda¡
Utiliza la función Flocked para determinar si la tabla se encuentra bloqueada por otro usuario, ejemplo:
If Floked("ans_garcia")
  Messagebox("La tabla está bloqueada por otro usuario.")
  Else
     Messagebox("La tabla no está bloqueada.")
Endif
Luego te mando un código de ejemplo para resolver conflictos de actualización de datos.
Me ha sido de gran ayuda!
Serias tan amable de apoyarme con lo siguiente:
Tengo el siguiente código:
report form informativo preview while RECNO() = REG
report form informativo to printer prompt noconsole
Cuando mando llamar el Informe todo va bien, lo quie quiero es que cuando me muestre el informe también me muestre la lista de impresoras "según se es con el prompt", y con la página que va a imprimir ya que me muestra el total de páginas. Supongamos que es el registro 1230 que tengo almacenado en REG ¿Cómo lo puedo hacer?
De antemano gracias por tu ayuda.
Trata con esta línea de comando: Report Form Informativo. Frx To Printer Prompt Preview, Visual FoxPro mostrará el informe en vista preliminar y cuando lo vayas a imprimir (al hacer clic en el botón imprimir informe de la barra de herramientas vista previa) te mostrará el cuadro de diálogo de imprimir para seleccionar una impresora y luego imprimirlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas