ISEXCLUSIVE( ) (Función)
Devuelve verdadero (.T.) si una tabla está abierta para uso exclusivo; de lo contrario, devuelve falso (.F.).
ISEXCLUSIVE([cTableAlias | nWorkArea | cDatabaseName [, nType]])
Valores devueltos
Logical
Parámetros
cTableAlias
Especifica el alias de la tabla para la que se devuelve el estado de uso exclusivo. Visual FoxPro genera un mensaje de error si especifica un alias de tabla que no existe.nWorkArea
Especifica el área de trabajo de la tabla para la que se devuelve el estado de uso exclusivo. ISEXCLUSIVE( ) devuelve falso (.F.) si no hay abierta una tabla en el área de trabajo que especifique.cDatabaseName
Especifica el nombre de la base de datos para la que se devuelve el estado de uso exclusivo.nType
Especifica si se devolverá el estado de uso exclusivo para una tabla o para una base de datos. En la siguiente tabla se enumeran los valores para nType y el estado devuelto correspondiente.nType Estado exclusivo devuelto 1 Tabla 2 Base de datos Para determinar el estado exclusivo para una base de datos, es necesario incluir nType con un valor de 2.
Observaciones
ISEXCLUSIVE( ) devuelve un valor para la tabla abierta en el área de trabajo seleccionada actualmente si omite los argumentos opcionales cTableAlias, nWorkArea o cDatabaseName.
Una tabla se abre para uso exclusivo al incluir la palabra clave EXCLUSIVE en USE, o al establecer SET EXCLUSIVE como ON antes de abrir la tabla.
Para abrir una base de datos para uso exclusivo, incluya la palabra clave EXCLUSIVE en OPEN DATABASE.
Ejemplo
En el ejemplo siguiente, la función ISEXCLUSIVE( ) comprueba que la tabla se ha abierto para uso exclusivo. La tabla no se vuelve a indizar porque la tabla que hay en el área de trabajo actual no se ha abierto para uso exclusivo.
cExclusive = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SET PATH TO (HOME(2) + 'data\')
OPEN DATA testdata && Opens the test databsase
USE customer && Not opened exclusively
USE employee IN 0 EXCLUSIVE && Opened exclusively in another work area
IF ISEXCLUSIVE( )
REINDEX && Can only be done if table opened exclusively
ELSE
WAIT WINDOW 'The table has to be exclusively opened'
ENDIF
SET EXCLUSIVE &cExclusive