FoxPro/Visual FoxPro - Evaluar una tabla libre

 
Vista:

Evaluar una tabla libre

Publicado por giovinni (64 intervenciones) el 04/03/2009 20:42:12
Hola amigos alguien me podria colaborar con lo siguiente por favor

En mi programa necesito evaluar si una dbf /tabla libre esta en uso en forma exclusiva, en forma compartida o si nadie la tiene abierta pero sin usar el comando USE mitabla

Gracias de antemano.
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:Evaluar una tabla libre

Publicado por andy (228 intervenciones) el 04/03/2009 21:01:56
Si hay una tabla abierta en un área de trabajo especificada, USED( ) devuelve verdadero (.T.); de lo contrario, USED( ) devuelve falso (.F.).

?USED('mitabla')
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:Evaluar una tabla libre

Publicado por giovanni (64 intervenciones) el 05/03/2009 19:39:16
Gracias Andy pero no me soluciona exactamente lo que necesito.

Voy a tratar de explicarme mejor:

Un usuario1 corre el .exe y utiliza una opcion que abre mitabla1 en exclusiva y mitabla2 en modo compartido.

El usuario2 corre el .exe al mismo tiempo y pretende utilizar la misma opcion.

Para el usuario2 quiero hacer que el procedimiento me diga mitabla1 esta en uso en forma exclusiva por otro usuario (entonces le digo al programa que cree unas temporales y que siga con el codigo)

Actualmente me funciona con una rutina de errores (trato de abrir mitabla1 que esta en exclusiva, me genera un error, lo paso a una rutina de errores y lo coloco a que use las temporales)

Existe otra manera de hacerlo con VFP6 o superior ? o con alguna API o algo asi ?

Esto no es critico pero lo tengo en las cosas pendientes por hacer y si me pueden orientar les agradezco.

Gracias
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:Evaluar una tabla libre

Publicado por Mario (199 intervenciones) el 06/03/2009 12:32:52
Creo que esto es lo que necesitás.
En www.portalfox.com hay otro ejemplo un poco más complejo

LPARAMETERS TcTabla
*--------------------------------------------------
*FUNCTION _Exclusivo(tcTabla)
*--------------------------------------------------
* Verifica si una tabla esta abierta en EXCLUSIVO
* USO: _Exclusivo("C:VFPMiTabla.DBF")
* PARAMETRO:
* tcTabla = Ruta completa del archivo .DBF
* RETORNO: .T. si se puede abrir en exclusivo
*--------------------------------------------------
LOCAL lnHandle, llRet

lnHandle = FOPEN(UPPER(tcTabla),12)

IF lnHandle = -1
llRet = .F.
ELSE
llRet = .T.
=FCLOSE(lnHandle)
ENDIF
RETURN llRet
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