REPORT FORM
 Muestra un informe en la consola
------------------------------------------------------------------------------
 Sintaxis

     REPORT FORM <xcInforme>
        [TO PRINTER] [TO FILE <xcFichero>] [NOCONSOLE]
        [<ámbito>] [WHILE <lCondición>] [FOR <lCondición>]
        [PLAIN | HEADING <cCabecera>] [NOEJECT] [SUMMARY]

 Argumentos

     <xcInforme> es el nombre del fichero de informe (.frm) que contiene
     la definición de REPORT. Si no se especifica una extensión, se supone
     (.frm). <xcInforme> puede especificarse como cadena literal o como una
     expresión de caracteres encerrada entre paréntesis.

     TO PRINTER dirige la salida a la impresora.

     TO FILE <xcFichero> dirige la salida a un fichero, sin caracteres
     de salto de página (ASCII 12). Si no se especifica una extensión, se
     añade .txt. <xcFichero> puede especificarse como cadena literal o como
     una expresión de caracteres encerrada entre paréntesis.

     NOCONSOLE suprime la salida a la consola de REPORT FORM. Si no se
     especifica, aparece automáticamente en la consola, a menos que SET
     CONSOLE esté desactivado.

     <ámbito> es la sección del fichero actual que se utiliza en el
     informe. El ámbito por defecto es todo el fichero.

     WHILE <lCondición> especifica un grupo de registros que cumplen una
     condición, desde el registro actual hasta que la condición deje de
     cumplirse.

     FOR <lCondición> especifica el grupo condicional de registros que
     se utilizan para el informe en el ámbito dado.

     PLAIN suprime la visualización de la fecha y el número de página y
     hace que el informe se imprima sin saltos de página. Asimismo, el
     título del informe y las cabeceras de columna se muestran solamente al
     principio del informe.

     HEADING coloca el resultado de <cCabecera> en la primera línea de
     cada página. <cCabecera> se evalúa sólo una vez, al principio del
     informe y antes de desplazar el puntero del registro. Si se especifican
     PLAIN y HEADING, PLAIN tiene prioridad.

     NOEJECT suprime el salto de página inicial cuando se utiliza la
     cláusula TO PRINTER.

     SUMMARY hace que REPORT FORM muestre únicamente las líneas de
     grupos, subgrupos y totales generales. Se suprimen las líneas de
     detalle.

 Descripción

     REPORT FORM es un mandato de consola que accede secuencialmente a los
     registros del área de trabajo actual, y muestra un informe tabular que
     puede, opcionalmente, agruparse con cabeceras de página y columna a
     partir de la definición contenida en un fichero .frm. El fichero REPORT
     FORM (.frm) real se crea mediante RL.EXE o dBASE III PLUS. Si desea más
     información sobre la creación de definiciones de informe, consulte el
     capítulo "Utilidad de Informes y Etiquetas" de la Guía de Programación
     y Utilidades.

     Al invocarlo, REPORT FORM envía la salida a la pantalla y,
     opcionalmente, a la impresora y/o a un fichero. Si desea suprimir la
     salida por pantalla durante la impresión o redirección a un fichero,
     desactive SET CONSOLE, o utilice la palabra clave NOCONSOLE, antes de
     utilizar REPORT FORM.

     Si el fichero <xcInforme> no se encuentra en el directorio actual y no
     se especifica la vía, este mandato busca primero en la unidad y
     directorio SET PATH actuales.

 Notas

     ■ Interrupción de REPORT FORM: Para permitir al usuario
        interrumpir un mandato REPORT FORM, utilice INKEY() como parte de la
        condición FOR para comprobar si se ha pulsado una tecla de
        interrupción.

     ■ Margen de impresora: REPORT FORM considera el valor SET MARGIN
        actual para la salida dirigida a la impresora.
     ■ Forzar caracteres de salto de página en un fichero de salida:
        Para incluir caracteres de salto de página al utilizar un mandato
        REPORT FORM TO FILE, debe redirigir la salida de impresora a un
        fichero mediante SET PRINTER, tal como se indica a continuación:

        SET PRINTER TO <xcFichero>
        REPORT FORM <xcInforme> TO PRINTER
        SET PRINTER TO

     ■ Informes en un entorno de red: En un entorno de red, los
        mandatos REPORT FORM pueden verse afectados por los cambios
        realizados en el fichero de base de datos por otros usuarios durante
        la elaboración del informe. Por ejemplo, si un usuario cambia un
        valor clave de "A" a "Z" durante la impresión del informe, podría
        aparecer dos veces el mismo registro.

 Ejemplos

      Este ejemplo utiliza una expresión literal y otra extendida
        para ejecutar un mandato REPORT FORM:

        LOCAL xcInforme := "Ventas"
        USE Ventas INDEX Ventas NEW
        REPORT FORM Ventas TO PRINTER FOR Seccion = "100";
                   HEADING "Sección 100"
        REPORT FORM (xcInforme) TO PRINTER FOR Seccion != "100"

      Este ejemplo interrumpe un REPORT FORM mediante INKEY() que
        comprueba si el usuario ha pulsado la tecla Esc:

        #define K_ESC 27
        USE Ventas INDEX Ventas NEW
        REPORT FORM Ventas WHILE INKEY() != K_ESC

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: LABEL FORM LIST