FoxPro/Visual FoxPro - AYUDA

   
Vista:

AYUDA

Publicado por IDELSY PEÑA (25 intervenciones) el 12/06/2010 05:14:24
Saludo a todos, y gracias adelantada

He hecho varios programas en visual foxpro 9 y funcionan muy bien, El problema es que cuando programo para multi-usuarios si no es un problema es otro.

he colocado las tablas en el servidor y la abro en un prg, haciendo esto
select tabla
use tabla
No se que pasa pero da problemas.

tambien lo hice cargando las tablas a cada formularios, pero no me gusta este procedimiento ya que es un trabajo que se debe hacer en cada formulario.

Alquien que haya tenido existo con fox en redes, que tiene que decir sobre esto, cual es el truco.

Espero por ustudes.
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
Imágen de perfil de Mauricio

:AYUDA

Publicado por Mauricio (1368 intervenciones) el 12/06/2010 18:22:09
Que errores te da?
Lo otro es que me parece que debes cambiar esto:
select tabla
use tabla
*
por esto
use tabla IN 0
select tabla
Otra cosa: para hacerla multiusuario nunca debes abrir tus tablas en modo exclusivo y en el principal deberas usar SET EXCL OFF
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:AYUDA

Publicado por ACM (162 intervenciones) el 13/06/2010 17:31:13
Hola Idelsy

El primer error es como dice el amigo Mauricio,

select tabla
use tabla

Alli le estas indicando al programa que abra el area de trabajo Tabla y aun no las abierto

seria

Use tabla in 0 Shared && shared abre la tabla de forma compartido

debes de trabajar igual como lo estabas asiendo, simplemente que debes de preocuparte de bloquerar los registro yo en mi caso solo uso 2 bloqueos
cuando un usuario ingresa a una factura ya sea de compra o de ventas para que otro usuario no la tome que es lo logico. y cuando descuento saldo bloqueo el registro para no tener inconsestencia en el saldo y no vender mas de lo que esta disponible.

para eso debes de usar el Rlock

ejemplo

XRECO=STR(RECNO(),12) && asigno el registro de la tabla para bloquearlo
aa=!RLOCK(XRECO,"COMPRAS")
IF AA
MSJ0="Zeta esta siendo utilizada por otro"
msj1="Usuario intente nuevamente "
MESSAGEBOX(msj0+CHR(13)+msj1,0+64,"Advertencia")
swsalir=0
UNLOCK
thisform.release
RETURN
ENDIF

formato
rlock(registrodelatabla,"nombredelatabla")

unlock
desbloquea el registro

espero te sirva

Acm.
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