Hola a todos en este foro muy bueno,
Juan,
Al pensar en trabajar en Red se cambia el cihips en las aperturas y en los accesos a las tablas ( Ojo son tablas no bases de datos ), yo normalmente uso funciones para evitar tener que abrir cada tabla de modo compartido, te las proporciono y tal vez te sean de utilidad, son las siguientes :
//================================
Function ABRE_BD(FBase,fTipo) // APERTURA DE LA TABLA EN CUALQUIER MODO
//================================
LOCAL mSioNo, Regre
Do While .T.
If ftipo = .t.
Use (fBase) Exclusive // MODO EXCLUSIVO
Else
Use (fbase) Shared // MODO COMPARTIDO
Endif
If !NetErr() // CHEQUEA SI ES EXCLUSIVO QUE NO ESTE SIENDO UTILIZADA
Regre = .T.
Exit
Else
mSioNo = MsgNoYes("La base de datos " + fbase +" esta siendo utilizada por otro usuario, Desea Volver a Intentar? " , "Error al abrir")
If mSioNo
loop
Else
Regre = .F.
Exit
Endif
Endif
EndDo
Return Regre
//======================
Function BLK_REG() // PARA BLOQUEAR UN REGISTRO EN LO REEMPLAZOS (EDICION)
//======================
LOCAL mSioNo, Regre
Do While .T.
If Rlock()
Regre = .T.
Exit
Else
mSioNo = MsgNoYes("El Registro esta siendo utilizado por otro Usuario, Desea Volver a Intentar? " , "Error al bloquear")
If mSioNo
loop
Else
Regre = .F.
Exit
Endif
Endif
EndDo
Return Regre
//=========================
Function REG_APPEN() // PARA BLOQUEAR UN REGISTRO EN LOS REEMPLAZOS ( AGREGAR )
//=========================
LOCAL mSioNo, Regre
Do While .T.
Append Blank
If !NetErr()
Regre = .T.
Exit
Else
mSioNo = MsgNoYes("El Registro esta bloqueado por otro usuario, Desea Volver a Intentar? " , "Error al Bloquear")
If mSioNo
loop
Else
Regre = .F.
Exit
Endif
Endif
EndDo
If rlock()
Return .T.
endif
Return Regre
SU uso es sencillo :
si voy a abrir la tabla en modo exclusivo ::
SELECT A
IF ABRE_BD("TABLA1",.F.) = .F.
CLOSE DATA
RETURN
ENDIF
SET INDEX TO TABLA1
si voy a editar un registro :
SELECT A
IF BLK_REG()
Replace campo1 with mCampo1 etc....
commit
unlock
endif
si voy a adicionar un registro
SELECT A
IF REG_APPEN()
append blank
replace campo1 with mCampo.........etc.
commit
unlock
endif
Saludes y si tienes dudas, pues me las haces saber
Desde managua, Nicaragua