USE
 Abre un fichero (.dbf) existente y sus ficheros asociados
------------------------------------------------------------------------------
 Sintaxis

     USE [<xcBasedeDatos>
        [INDEX <lista xcIndices>]
        [ALIAS <xcAlias>] [EXCLUSIVE | SHARED]
        [NEW] [READONLY]
        [VIA <cControlador>]]

 Argumentos

     <xcBasedeDatos> es el nombre del fichero de base de datos que se va
     a abrir. Puede especificarse como un nombre literal o como una
     expresión de caracteres entre paréntesis.

     INDEX <lista xcIndices> especifica los nombres de 1 a 15 ficheros
     de índice que se van a abrir en el área de trabajo actual. Especifique
     cada índice como un nombre literal o una expresión de caracteres entre
     paréntesis. El primer índice de la lista se convierte en el índice
     activo. Si especifica un <índice> como una expresión y el valor
     devuelto es espacios o NIL, se ignora.

     ALIAS <xcAlias> especifica el nombre que se asocia al área de
     trabajo cuando se abre el fichero de base de datos. Puede especificar
     el nombre de alias como un nombre literal o como una expresión de
     caracteres entre paréntesis. Un <xcAlias> válido puede ser cualquier
     identificador válido (es decir, debe comenzar con un carácter
     alfabético y contener caracteres alfanuméricos o de subrayado). En una
     misma aplicación, CA-Clipper no admite alias duplicados. Si se omite
     esta cláusula, el alias toma por defecto el nombre del fichero de base
     de datos.

     EXCLUSIVE abre el fichero de base de datos para una utilización no
     compartida en un entorno de red. El acceso a los demás usuarios queda
     denegado hasta que el fichero de base de datos se cierra, por ejemplo
     con el mandato CLOSE.

     SHARED abre el fichero de base de datos para su utilización
     compartida en un entorno de red. Al especificar esta cláusula, se anula
     el argumento EXCLUSIVE actual.

     NEW abre una <xcBasedeDatos> en la siguiente área de trabajo
     disponible, convirtiéndola en el área de trabajo actual. Si no se
     especifica esta cláusula, <xcBasedeDatos> se abre en el área de trabajo
     actual.

     READONLY abre <xcBasedeDatos> con atributo de sólo lectura. Esto
     permite abrir ficheros de base de datos marcados como de sólo lectura.
     Si no puede abrir la <xcBasedeDatos> de esta forma, se genera un error
     de ejecución. Si no se especifica esta cláusula, <xcBasedeDatos> se
     abre para lectura y escritura.

     VIA <cControlador> especifica el controlador de bases de datos
     sustituible (RDD) con el que se va a procesar el área de trabajo
     actual. <cControlador> es el nombre del RDD especificado, como
     expresión de caracteres. Si se especifica <cControlador> como valor
     literal, debe indicarse entre comillas.

     Si se omite la cláusula VIA, se utiliza por defecto el controlador
     DBFNTX. Recuerde que si el controlador especificado no está enlazado,
     se produce un error irrecuperable.

     Si no se especifican argumentos, se cierra el fichero de base de datos
     abierto en el área de trabajo actual.

 Descripción

     USE abre un fichero existente de base de datos (.dbf), su fichero memo
     asociado (.dbt) y, opcionalmente, los ficheros de índice asociados
     (.ntx o .ndx) en el área de trabajo actual o en la siguiente área de
     trabajo disponible. En CA-Clipper, se pueden tener 250 áreas de trabajo
     y un máximo de 255 ficheros abiertos con el DOS 3.3 y versiones
     posteriores. Antes de que USE abra un fichero de base de datos y sus
     ficheros asociados, cierra cualquier fichero activo abierto en el área
     de trabajo. Cuando se abre un fichero de base de datos, el puntero del
     registro se sitúa inicialmente en el primer registro lógico del fichero
     (el registro uno si no hay fichero de índice especificado).

     En un entorno de red, pueden abrirse los ficheros de base de datos en
     modo exclusivo o compartido. El modo exclusivo impide la utilización
     del fichero de base de datos por el resto de usuarios hasta que se
     cierra el fichero. El modo compartido permite que los demás usuarios
     utilicen simultáneamente el fichero de base de datos. Si un fichero de
     base de datos abierto está en modo compartido, la responsabilidad de la
     integridad de los datos depende de la aplicación.

     En CA-Clipper, las funciones FLOCK() y RLOCK() son los dos medios
     principales para restringir el acceso a otros usuarios a un área de
     trabajo o registro determinado. Si se especifica USE sin el parámetro
     EXCLUSIVE o SHARED, el fichero de base de datos se abre de acuerdo a la
     configuración actual de SET EXCLUSIVE. En CA-Clipper, todos los
     mandatos USE deberían especificar explícitamente si el fichero se abre
     en modo compartido o exclusivo. El modo de apertura implícita
     especificado con SET EXCLUSIVE existe por razones de compatibilidad y
     no es recomendable.

     Al abrir un fichero de base de datos en una red son necesarias ciertas
     operaciones especiales. Primero, trate de abrir el fichero de base de
     datos sin especificar la lista INDEX. Compruebe si la operación se ha
     ejecutado satisfactoriamente mediante NETERR(). Si NETERR() devuelve el
     valor falso (.F.), la operación de apertura se ha realizado
     satisfactoriamente y puede ejcutar SET INDEX TO con la lista de
     índices. El mandato USE no se ejecuta en un entorno de red cuando otro
     usuario tiene la utilización exclusiva del fichero de base de datos.
     Consulte el capítulo "Programación en Red" de la Guía de Programación
     y Utilidades si desea más información sobre la apertura de ficheros en
     un entorno de red.

     Puede abrir ficheros índice con USE o SET INDEX. El primer índice de la
     lista de índices define el orden de acceso actual de los registros.
     Este índice se denomina índice activo. Puede cambiar el índice activo
     actual sin cerrar ningún fichero utilizando el mandato SET ORDER.

     Para cerrar una base de datos y sus ficheros asociados en el área de
     trabajo actual, especifique USE o CLOSE sin argumentos. Para cerrar los
     ficheros de base de datos en todas las áreas de trabajo, utilice CLOSE
     DATABASE. Para cerrar ficheros de índice en el área de trabajo actual
     sin cerrar el fichero de base de datos, utilice CLOSE INDEX o SET INDEX
     TO sin argumentos.

     Si desea más información sobre el paradigma de base de datos de
     CA-Clipper, consulte el capítulo "Conceptos Básicos" de la Guía de
     Programación y Utilidades.

 Notas

     ■ Selección del número máximo de ficheros abiertos: El control
        del número de manejadores de fichero disponibles para una aplicación
        de CA-Clipper depende del mandato FILES del fichero CONFIG.SYS y del
        parámetro F de la variable de entorno CLIPPER. El parámetro F
        especifica el número máximo de ficheros que pueden abrirse
        simultáneamente en un programa de CA-Clipper. CA-Clipper determina
        el número de ficheros que se pueden abrir en base al valor menor de
        estos dos parámetros. Por ejemplo, si el mandato FILES es 120 y el
        parámetro F es 50, el número máximo de ficheros que pueden abrirse
        es 50. En un entorno de red, deben configurarse los manejadores de
        fichero en el fichero de configuración de la red.

        El límite del número de ficheros está controlado también por el
        sistema operativo. En las versiones del DOS anteriores a la 3.3, el
        número máximo de ficheros que pueden abrirse simultáneamente es 20.
        En el DOS versión 3.3 y superiores, el límite máximo es 255.

     ■ Apertura de un mismo fichero de base de datos en varias áreas de
        trabajo: En un entorno de red, aunque se puede abrir un fichero de
        base de datos en más de un área de trabajo, esta práctica es
        desaconsejable. En caso de realizarse, cada fichero debe abrirse con
        un alias diferente o se producirá un error de ejecución.

     ■ Apertura de dos ficheros de base de datos con los mismos nombres
        en directorios diferentes: Aunque se pueden abrir dos ficheros de
        bases de datos con el mismo nombre y en directorios diferentes, los
        ficheros DEBEN tener nombres de alias distintos o se producirá un
        error de ejecución.

 Ejemplos

      Este ejemplo abre un fichero compartido de base de datos, con
        los ficheros índice correspondientes, en un entorno de red. Si
        NETERR() devuelve el valor falso (.F.) indicando que el mandato USE
        se ejecutó correctamente, se abren los índices:

        USE Cuentas SHARED NEW
        IF !NETERR()
           SET INDEX TO NCuentas, CPCuenta
        ELSE
           ? "Fallo de apertura de fichero"
           BREAK
        ENDIF

      Este ejemplo abre un fichero de base de datos con varios
        índices especificados como expresiones extendidas. Observe como los
        nombres de índices de matriz se crean en forma de matriz de
        constantes:

        xcBasededatos = "MiFichBD"
        xcIndice = {"MiInd1", "MiInd2", "MiInd3"}
        USE (xcBasededatos) INDEX (xcIndice[1]), ;
                (xcIndice[2]), (xcIndice[3])

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: CLOSE DBRSELECT() DBSETINDEX() DBUSEAREA() NETERR()