Freigeben über


ISEXCLUSIVE( )-Funktion

Gibt den Wert Wahr (.T.) zurück, wenn eine Tabelle oder Datenbank zur exklusiven Benutzung geöffnet ist; andernfalls wird Falsch (.F.) zurückgegeben.

ISEXCLUSIVE([cTableAlias | nWorkArea | cDatabaseName [, nType]])

Rückgabewerte

Logisch

Parameter

  • cTableAlias
    Gibt den Alias der Tabelle an, für die zurückgegeben wird, ob sie zur exklusiven Benutzung geöffnet ist. Visual FoxPro zeigt eine Fehlermeldung an, wenn ein nicht vorhandener TabellenAlias angeben wird.

  • nWorkArea
    Gibt den Arbeitsbereich der Tabelle an, für die zurückgegeben wird, ob sie zur exklusiven Benutzung geöffnet ist. Ist im angegebenen Arbeitsbereich keine Tabelle geöffnet, gibt ISEXCLUSIVE( ) den Wert Falsch (.F.) zurück.

  • cDatabaseName
    Gibt den Namen der Datenbank an, für die zurückgegeben wird, ob sie zur exklusiven Benutzung geöffnet ist.

  • nType
    Gibt an, ob für eine Tabelle oder eine Datenbank zurückgegeben wird, ob sie zur exklusiven Benutzung geöffnet ist. Die folgende Tabelle zeigt die möglichen Werte für nType und den entsprechenden zurückgegebenen Status.

    nType Zurückgegebener Status für die exklusive Benutzung
    1 Tabelle
    2 Database

    Zur Emittlung, ob eine Datenbank zur exklusiven Benutzung geöffnet ist, müssen Sie für nType den Wert 2 angeben.

Hinweise

Werden die optionalen Argumente cTableAlias, nWorkArea oder cDatabaseName nicht angegeben, gibt ISEXCLUSIVE( ) einen Wert für die im aktuellen Arbeitsbereich geöffnete Tabelle zurück.

Eine Tabelle wird zur exklusiven Benutzung geöffnet, indem Sie das Schlüsselwort EXCLUSIVE im USE-Befehl angeben oder SET EXCLUSIVE vor dem Öffnen der Tabelle auf ON setzen.

Eine Datenbank wird mit dem Schlüsselwort EXCLUSIVE in OPEN DATABASE zur exklusiven Benutzung geöffnet.

Beispiel

Im folgenden Beispiel überprüft die ISECXLUSIVE( )-Funktion, ob die Tabelle zur exklusiven Benutzung geöffnet wurde. Die Tabelle wird nicht neu indiziert, da sie im aktuellen Arbeitsbereich nicht zur exklusiven Benutzung geöffnet wurde.

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

Siehe auch

OPEN DATABASE | SET EXCLUSIVE | USE