SKIP
 Desplaza el puntero del registro a una nueva posición
------------------------------------------------------------------------------
 Sintaxis

     SKIP [<nRegistros>] [ALIAS <idAlias> | <nAreadeTrabajo>]

 Argumentos

     <nRegistros> es una expresión numérica que determina el número de
     registros que debe desplazarse el puntero a partir de su posición
     actual. Un valor positivo desplaza el puntero hacia adelante y uno
     negativo hacia atrás.

     ALIAS <idAlias>|<nAreadeTrabajo> especifica el nombre del alias o
     del área de trabajo como una expresión numérica.

     SKIP sin argumentos desplaza el puntero hacia adelante un registro.

 Descripción

     SKIP desplaza el puntero del registro a una nueva posición relativa a
     la posición actual en el área de trabajo actual y respetando el filtro
     actual, si existe alguno. Por lo general, SKIP se utiliza para
     operaciones como, por ejemplo, la generación de informes, que deben
     desplazarse al siguiente registro de un fichero de base de datos.

     Si se especifica la cláusula alias, el puntero puede desplazarse en
     otro área de trabajo sin tener que seleccionarla. SKIP permite
     desplazarse hacia adelante o hacia atrás. Si no hay índice activo, SKIP
     desplaza el puntero del registro en relación a la posición actual en el
     fichero de base de datos en cuestión. Si existe un índice activo, SKIP
     desplaza el puntero en relación a la posición actual en el índice, no
     en el fichero de base de datos.

     Si se intenta avanzar más allá del final del fichero, el puntero del
     registro se sitúa en LASTREC() +1 y EOF() devuelve el valor verdadero
     (.T.). Si se intenta retroceder más allá del inicio del fichero, el
     puntero se desplaza al primer registro y BOF() devuelve el valor
     verdadero (.T.).

     En un entorno de red, cualquier mandato de desplazamiento de registros,
     incluyendo SKIP, efectúa cambios en el área de trabajo actual, que son
     visibles para otras aplicaciones si el fichero actual es compartido y
     los cambios se han efectuado durante un RLOCK(). Para que una
     actualización sea visible sin tener que cambiar la posición actual de
     registro, utilice SKIP 0. Sin embargo, si los cambios se efectuaron
     durante un FLOCK(), la visibilidad no puede garantizarse hasta que se
     libere el bloqueo, se lleve a cabo un COMMIT o se cierre el fichero.
     Consulte el capítulo "Programación en Red" de la Guía de Programación
     y Utilidades para obtener más información.

 Ejemplos

      Este ejemplo utiliza SKIP con varios argumentos y muestra los
        resultados:

        USE Clientes NEW
        SKIP
        ? RECNO()                    // Resultado: 2
        SKIP 10
        ? RECNO()                    // Resultado: 12
        SKIP -5
        ? RECNO()                    // Resultado: 7

      Este ejemplo desplaza el puntero del registro en un área de
        trabajo no seleccionada actualmente:

        USE Clientes NEW
        USE Facturas NEW
        SKIP ALIAS Clientes

      Este ejemplo imprime un informe utilizando SKIP para desplazar
        el puntero del registro de forma secuencial a través del fichero de
        base de datos Clientes:

        LOCAL nLinea := 99
        USE Clientes NEW
        SET PRINTER ON
        DO WHILE !EOF()
           IF nLinea > 55
              EJECT
              nLine := 1
           ENDIF
              ? Cliente, Direccion, Ciudad, Provincia, Codigo
              nLinea++
              SKIP
           ENDDO
        SET PRINTER OFF
        CLOSE Clientes

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: BOF() COMMIT DBSKIP() EOF() GO LOCATE RECNO() SEEK