Share via


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

Vea también

OPEN DATABASE | SET EXCLUSIVE | USE