¿Qué puedo hacer para que no se bloquee el registro y me guarde la información en la rutina?

Hola de nuevo, esero se encuentre bien. Necesito de nuevo su ayuda si esta dentro de lo posible. Sigo en la construcción de mi aplicación. Todo funciona tal como lo espero. Las tablas están compartidas y puedo trabajar en dos equipos a la vez, ya sea para cualquier función del formulario... Pero, en ciertos momentos que aún no identifico la razón, el registro se bloquea (creo yo que es eso), me dice que ha grabado la información en la rutina, pero no es así, ya que cuando reviso la tabla el registro no existe. Estoy haciendo lo siguiente (COMO MUESTRA UN SOLO CAMPO):
IF RLOCK()
REPLACE CAMPO WITH THISFORM.X.VALUE
unlock all
Endif
Esto lo copie de otro foro pero realmente no entiendo como la maquina sabe lo que debe hacer cuando el registro esta bloqueado o no, ya que de esta manera no se le está indicando.
Agradezco su ayuda. Suerte, Dios le cuide... ML

1 Respuesta

Respuesta
1
Bueno me parece más bien que el problema esta en consultar si grabo por que cuando el registro no esta bloqueado no hace nada debería darle un tiempo de espera y volver a preguntar si esa bloqueado y grabar en caso de que no este bloqueado tal vez al cabo de tres intentos mostrar un mensaje de error en la pantalla. No se que tan frecuente sea que tus usuarios usen el mismo registro al mismo tiempo pero yo deje de usar este comando y diseñe un método al que he llamado modo desconectado y funciona bien claro que tal vez cambie tu perspectiva de modo en que programas tal vez te ayude lee mi blog ingesoftsrl. Mi-web. Es
En este momento no estoy en mi maquina paar que te pase la rutina que usaba pero me acuerdo que el bloquerar lo hice función donde devolvía un valor para poder grabar un registro como .t. y si daba error al conectarse o bloquear desde la función emitía un mensaje de error y devolvía .f., muy complicado no es cierto por eso cambie el método que te comente anteriormente.
Hola, de nuevo yo, espero se encuentre bien. Gracias por responderme la vez anterior.
Estoy un poco complicada con el tiempo y el trabajo. He descubierto que la tabla se bloquea cuando elimino la totalidad de los registros, ya sea de uno en uno desde la aplicación, o haciendo un ZAP desde afuera (ventana de commandos... sin utilizar la aplicación por supuesto ya que no se puede). Lo segundo que he notado, específicamente esta mañana, es que al salir de la aplicación, ésta queda cargada en la memoria, ya que al tratar de apagar la computadora me dice "no se puede salir de fox pro". Reviso en el administrador de tareas, en procesos, y allí puedo observar el nombre del ejecutable. ¿Eso a qué se debe? ¿Qué debería hacer?.
Gracias de antemano si me puede ayudar de nuevo. Mucho éxito y suerte.
Bueno lo del borrado solo se hace un dele en modo ejecvucion u se pone set dele on para que no se vean y comúnmente se hace una opción de mantenimiento donde solo se abrirá la palicion en una sola computadora y las tablas en modo exclusivo y recién utilizar pack . Una vez llames a tu formulario principal seguramente tienes un botón de salir en el cual debes tener release thisform y luego quit.
Por favor finaliza tu pregunta y cada vez que necesites otra consulta vuelve a abrir otra consulta.
Muchas Gracias !
Asumí que el release. Thisform terminaría la ejecución de la aplicación jajajaj. Lo del borrado lo tengo tal cual usted me explico, programaré la opción que usted me ofrece del mantenimiento utilizable sólo en una máquina. De nuevo mil gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas