FoxPro/Visual FoxPro - comand lock tabla bloqueada

 
Vista:

comand lock tabla bloqueada

Publicado por ALE (26 intervenciones) el 13/12/2006 16:32:04
Hola a todos, necesito ayuda, tengo una aplicacion multiusuario que permite dar citas desde varios computadores, de unos dias para aca sucede algo extraño para agregar un paciente con APPEND BLANK sale el error "ATTEMPTING LOCK... PRESS ESC TO CANCEL" y no me deja grabar registros ni siquiera directamente en la tabla con control+Y, para darle solucion solo he reiniciado el equipo pero no se que mas hacer. lo raro es que cuando entro a la aplicacion tengo el comando SET EXCLUSIVE OFF. y cuando bloqueo con LOCK bloqueo la tabla de citas no la de pacientes y el error lo saca en la de pacientes. Ayudenme porfavor...
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:comand lock tabla bloqueada

Publicado por Jorge (423 intervenciones) el 13/12/2006 17:03:23
Hola amiga, puede que lo que te este pasando es que tu tabla fisica este de solo lectura, y por tal motivo no puedes agregar registros.
por otro lado intenta validar la tabla en tu BD, con VALIDATE DATABASE.
si estas usando un sistema multiusuario necesitas unas funciones parecidas a estas antes de insertar o modificar datos en tus tablas, para darle fluides a tu Base de Datos

Function aseg_arch
Set Reproces To 1
xvar=.T.
Do While .T.
If Flock()
xvar=.T.
Exit
Else
answer=Messagebox('La Tabla se encuentra Ocupada por otro usuario! ',5+64 ,' TABLA BLOQUEADA')
If answer=4
Loop
Else
xvar=.F.
Exit
Endif
Endif
Enddo
Return xvar

*************************bloqueo un registro
Function Aseg_Reg
Set Reproces To 1
xvar=.T.
Do While .T.
If Rlock()
xvar=.T.
Exit
Else
answer=Messagebox('El registro se encuentra Ocupado por otro usuario! ',5+64 ,' REGISTRO BLOQUEADO')
If answer=4
Loop
Else
xvar=.F.
Exit
Endif
Endif
Enddo
Return xvar

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:comand lock tabla bloqueada

Publicado por Ernesto Hernandez (4623 intervenciones) el 14/12/2006 18:01:19
Arleyda el problema esta en que utilizas algun consecutivo o folio para guardar tus registros y en el momento en que te manda el error es por que 2 usuarios estan tomando el mismo numero de registro y estan tratando de escribir en el puede ser que un usuario este tratando de escribir en la tabla y otro este utilizando esa tabla ..


Suerte
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:comand lock tabla bloqueada

Publicado por ALE (26 intervenciones) el 15/12/2006 16:27:59
Hola muchas gracias por la ayuda, sucede que yo tengo este problema cuando grabo pero en una tabla maestra que solo tiene datos del paciente, cedula, nombre en realidad no uso consecutivo. y sucede solo a veces . Como puedo hacer que dos usuarios ingresen registros en esta tabla con un Append Blank al mismo tiempo.??
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:comand lock tabla bloqueada

Publicado por jorge (423 intervenciones) el 15/12/2006 16:58:11
Hola ALE
Para lograr hacer eso, la tabla debe abrirse en modo compartido.
En sistemas multiusuarios se debe de hacer un bloqueo de registros para asegurar que el registro al que en ese momento se hace referencia quede asegurado para el usuario o el proceso que se esta haciendo en ese instante, modificar, grabar, borrar ...

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