37
El control ActiveX de Crystal El motor de informes de Crystal Además de actuar como una aplicación de generación de informes independiente y eficaz, Crystal Reports proporciona un módulo de generación de informes que puede vincular y al que puede tener acceso desde aplicaciones de Visual Basic. Como programador que utiliza Visual Basic 5.0, puede agregar capacidades sofisticadas para generar e imprimir informes a las aplicaciones sin la costosa tarea de escribir su propio código. El motor de informes de Crystal es una biblioteca de vínculos dinámicos (DLL) que permite que las aplicaciones tengan acceso a las mismas características de impresión de informes que están disponibles en Crystal Reports. Como usuario con licencia de Crystal Reports, recibe derechos para entregar gratuitamente la DLL del motor de informes (CRPE.DLL) con cualquier aplicación que cree. Desde una aplicación, tiene acceso al motor de informes mediante el control de Crystal ActiveX. Cuando se compilan, las aplicaciones enlazan con el motor de informes para agregar funcionalidad de generación de informes a la aplicación. Los informes pueden ser simples, produciendo un único informe que se envía a una impresora o a una ventana de impresión sin opciones disponibles para el usuario, o puede ser complejo, permitiendo que el usuario cambie aspectos tales como la selección de registros, ordenación, agrupación y decisión de dónde debe enviarse el informe resultante. Antes de usar el control ActiveX Antes de agregar el control ActiveX a una aplicación, debe familiarizarse con algunas características clave del motor de informes. Revise los siguientes puntos y asegúrese de entenderlos todos antes de tratar de usar el control ActiveX. El motor de informes genera informes existentes. No puede crear archivos de informe mediante la funcionalidad del motor de informes. Los informes deben crearse mediante la aplicación Crystal Reports. Asegúrese de comprender el proceso de creación de informes antes de tratar de generar informes con el motor de informes. El motor de informes proporciona un cómodo complemento, por medio del control ActiveX, del proyecto de la aplicación de Visual Basic existente. Con unas pocas líneas de código se produce una eficaz herramienta de diseño y distribución de informes que de otra forma podría necesitar miles de líneas de código y varias semanas de producción. El motor de informes no requiere el uso de una interfaz de usuario fija; está diseñado para funcionar con su proyecto de desarrollo existente y le permite definir la interfaz de usuario con la que sus clientes y usuarios estén familiarizados y esperen de su producto. Uso del motor de informes de Crystal Cualquier proyecto de Visual Basic que incorpore el motor de informes Crystal requiere tres pasos: Crear los informes a los que tendrán acceso sus usuarios. Diseñar la interfaz de usuario en Visual Basic que controlará el motor de informes. Agregar el control ActiveX Crystal a su aplicación. Creación de informes La creación de informes para incluirlos en aplicaciones es idéntica a la creación de informes para su propio uso; no existen restricciones. Mediante los procedimientos perfilados en el manual y la Ayuda de Crystal Reports, cree tantos tipos de informes como quiera poner a disposición de los usuarios. Puede crear informes tan simples o tan sofisticados como dicten sus necesidades. Diseño de la interfaz de usuario La interfaz que desarrolle para permitir que los usuarios impriman informes sólo esta limitado por sus necesidades y por su imaginación. Funcionará siempre y cuando pueda usar el control ActiveX Crystal. El tipo de interfaz de usuario que seleccione no es importante para Crystal Reports.

Crystal Report ActiveX en VB6

Embed Size (px)

DESCRIPTION

web design

Citation preview

Page 1: Crystal Report ActiveX en VB6

El control ActiveX de Crystal El motor de informes de Crystal Además de actuar como una aplicación de generación de informes independiente y eficaz, Crystal Reports proporciona un módulo de generación de informes que puede vincular y al que puede tener acceso desde aplicaciones de Visual Basic. Como programador que utiliza Visual Basic 5.0, puede agregar capacidades sofisticadas para generar e imprimir informes a las aplicaciones sin la costosa tarea de escribir su propio código.

El motor de informes de Crystal es una biblioteca de vínculos dinámicos (DLL) que permite que las aplicaciones tengan acceso a las mismas características de impresión de informes que están disponibles en Crystal Reports. Como usuario con licencia de Crystal Reports, recibe derechos para entregar gratuitamente la DLL del motor de informes (CRPE.DLL) con cualquier aplicación que cree.

Desde una aplicación, tiene acceso al motor de informes mediante el control de Crystal ActiveX. Cuando se compilan, las aplicaciones enlazan con el motor de informes para agregar funcionalidad de generación de informes a la aplicación. Los informes pueden ser simples, produciendo un único informe que se envía a una impresora o a una ventana de impresión sin opciones disponibles para el usuario, o puede ser complejo, permitiendo que el usuario cambie aspectos tales como la selección de registros, ordenación, agrupación y decisión de dónde debe enviarse el informe resultante.

Antes de usar el control ActiveX Antes de agregar el control ActiveX a una aplicación, debe familiarizarse con algunas características clave del motor de informes. Revise los siguientes puntos y asegúrese de entenderlos todos antes de tratar de usar el control ActiveX.

• El motor de informes genera informes existentes. No puede crear archivos de informe mediante la funcionalidad del motor de informes. Los informes deben crearse mediante la aplicación Crystal Reports. Asegúrese de comprender el proceso de creación de informes antes de tratar de generar informes con el motor de informes.

• El motor de informes proporciona un cómodo complemento, por medio del control ActiveX, del proyecto de la aplicación de Visual Basic existente. Con unas pocas líneas de código se produce una eficaz herramienta de diseño y distribución de informes que de otra forma podría necesitar miles de líneas de código y varias semanas de producción.

• El motor de informes no requiere el uso de una interfaz de usuario fija; está diseñado para funcionar con su proyecto de desarrollo existente y le permite definir la interfaz de usuario con la que sus clientes y usuarios estén familiarizados y esperen de su producto.

Uso del motor de informes de Crystal Cualquier proyecto de Visual Basic que incorpore el motor de informes Crystal requiere tres pasos:

• Crear los informes a los que tendrán acceso sus usuarios.

• Diseñar la interfaz de usuario en Visual Basic que controlará el motor de informes.

• Agregar el control ActiveX Crystal a su aplicación.

Creación de informes La creación de informes para incluirlos en aplicaciones es idéntica a la creación de informes para su propio uso; no existen restricciones. Mediante los procedimientos perfilados en el manual y la Ayuda de Crystal Reports, cree tantos tipos de informes como quiera poner a disposición de los usuarios. Puede crear informes tan simples o tan sofisticados como dicten sus necesidades.

Diseño de la interfaz de usuario La interfaz que desarrolle para permitir que los usuarios impriman informes sólo esta limitado por sus necesidades y por su imaginación. Funcionará siempre y cuando pueda usar el control ActiveX Crystal. El tipo de interfaz de usuario que seleccione no es importante para Crystal Reports.

Page 2: Crystal Report ActiveX en VB6

Los métodos comunes de uso del motor de informes incluye un único comando de menú que produce un informe, un cuadro de diálogo que permite varias opciones para imprimir informes o una aplicación cliente completamente independiente a la que llama su aplicación. Todas las técnicas son aceptables y cada una tiene sus ventajas. La forma en que diseñe la interfaz de usuario puede depender de lo siguiente:

• el propósito de la aplicación,

• los tipos de informes que usará la aplicación,

• las opciones de impresión que quiera ofrecer con los informes, y

• si la aplicación ofrecerá un único informe o una elección entre varios informes. Considere detenidamente la aplicación y las necesidades de los informes, y diseñe la interfaz de usuario que utilizará el motor de informes más eficientemente.

El control ActiveX ActiveX es una nueva tecnología de Microsoft Corporation diseñada para traer aplicaciones más eficaces a equipos personales y redes locales. ActiveX va más allá de las aplicaciones que producen documentos estáticos para un entorno de Windows que proporciona controles activos, documentos y aplicaciones de cliente que pueden operar e interaccionar no solo entre sí, sino con redes intranet y con Internet.

Los controles ActiveX proporcionan capacidades complementarias que le permiten agregar componentes de aplicación, e incluso aplicaciones completas, a sus propios proyectos de desarrollo sin escribir más que unas pocas líneas de código. Crystal Reports es compatible con el concepto ActiveX mediante el control Crystal ActiveX. Use el control ActiveX para tener acceso al motor de informes Crystal y agregar fácilmente todo el poder de procesamiento de informes de Crystal Reports a sus propias aplicaciones de Visual Basic.

Consulte la documentación de Visual Basic para obtener información completa acerca del uso de controles ActiveX con Visual Basic. El resto de este capítulo describe información específica del control ActiveX Crystal.

Agregar el control ActiveX a un proyecto El control ActiveX Crystal se instala en el directorio \WINDOWS\SYSTEM al instalar Visual Basic 5.0. El control ActiveX se agrega a un proyecto de Visual Basic mediante el comando Componentes del menú Proyecto de Visual Basic.

1 Abra Visual Basic.

2 Abra el proyecto al que desee agregar el control ActiveX.

3 Elija el comando Componentes del menú Proyecto. Aparecerá el cuadro de diálogo Componentes.

4 Si el control Crystal Report aparece en la lista Controles, haga clic en la casilla de verificación que hay junto a él, haga clic en Aceptar y vaya al paso 8.

5 Si el control Crystal Report no aparece en la lista Controles, haga clic en Examinar y aparecerá el cuadro de diálogo Agregar control ActiveX.

Nota Crystal Report Control es el nombre del control ActiveX Crystal cuando se agrega a un proyecto de desarrollo. El término control ActiveX hace referencia a un tipo de control, mientras que Crystal Report Control es el nombre del control ActiveX Crystal proporcionado por Crystal Reports. En esta

documentación, los términos control ActiveX Crystal y Crystal Report Control se usan indistintamente para hacer referencia al control ActiveX incluido con

Crystal Reports para Visual Basic.

6 Use los controles del cuadro de diálogo Agregar control ActiveX para encontrar y seleccionar el archivo CRYSTL16.OCX (16 bits) o CRYSTL32.OCX (32 bits). Este archivo se instala en el directorio \WINDOWS\SYSTEM de manera predeterminada. Una vez encontrado y seleccionado el archivo, haga clic en Abrir.

7 Crystal Report Control aparecerá en el cuadro de lista Controles. Haga clic en la casilla de verificación que hay junto al nombre del control y haga clic en Aceptar.

8 Visual Basic agrega el control ActiveX Crystal al cuadro de herramientas.

9 Cuando quiera agregar el control ActiveX a un formulario, haga doble clic en la herramienta y el programa lo instalará en el formulario activo.

Page 3: Crystal Report ActiveX en VB6

Uso del control ActiveX Una vez que tenga un objeto control ActiveX Crystal en el formulario, se crea la conexión entre la aplicación y Crystal Reports estableciendo las propiedades del objeto en tiempo de diseño o cambiándolas en tiempo de ejecución. Las propiedades de ActiveX le permiten especificar:

• el nombre del informe que desea imprimir como respuesta al evento de una aplicación,

• el destino de un informe (ventana Vista previa, archivo de disco, impresora o correo electrónico),

• el número de copias que desea imprimir (si el informe va a la impresora),

• información del archivo de impresión (si el informe va a un archivo de disco),

• información de tamaño y posición de la ventana (si el informe va a una ventana Vista previa),

• información de fórmula de selección (si quiere limitar los registros del informe),

• información de orden, y

• otras propiedades relacionadas. Las propiedades del control ActiveX Crystal pueden cambiarse en tiempo de diseño o en tiempo de ejecución. Sin embargo, tenga en cuenta que algunas propiedades sólo están disponibles en tiempo de ejecución. Estas propiedades no aparecen en tiempo de diseño.

Cambio de propiedades en tiempo de diseño 1 Haga clic en el control ActiveX que aparece en el formulario para seleccionarlo.

2 Haga clic con el botón secundario del mouse (ratón) y elija el comando Propiedades de Crystal del menú contextual que aparece. Aparecerá el cuadro de diálogo Páginas de propiedades.

3 Use las fichas y los controles de este cuadro de diálogo para cambiar las propiedades del control ActiveX en tiempo de diseño.

Nota Las propiedades del control ActiveX también aparecen en el cuadro Propiedades de Visual Basic en tiempo de diseño.

Cambio de propiedades en tiempo de ejecución La mayoría de las propiedades del control ActiveX pueden establecerse en tiempo de ejecución agregando entradas simples al código del procedimiento. Las propiedades establecidas en tiempo de ejecución sustituyen a los valores establecidos en tiempo de diseño.

Use la propiedad Action o el método PrintReport para procesar realmente el informe en tiempo de ejecución. La propiedad Action y el método PrintReport sólo pueden usarse en tiempo de ejecución y son los únicos medios por los que el control ActiveX puede generar el informe realmente.

Para obtener más información acerca de cómo establecer el valor de determinadas propiedades en tiempo de ejecución, consulte la descripción de cada propiedad o en la Ayuda en pantalla de Crystal Reports. Cada descripción incluye código de ejemplo para establecer la propiedad en la aplicación de Visual Basic.

Page 4: Crystal Report ActiveX en VB6

Índice de propiedades ActiveX A continuación se enumeran las propiedades ActiveX, además de una breve descripción.

Action Es la propiedad que desencadena la impresión del informe.

BoundReportFooter Propiedad True o False que especifica si el pie de página va a aparecer o no en el informe enlazado predeterminado.

BoundReportHeading Propiedad de cadena que permite al usuario asignar un título al informe.

Connect Inicia una sesión en un servidor SQL.

CopiesToPrinter Especifica el número de copias que se van a imprimir si imprime en una impresora.

DataFiles Especifica la ubicación de los archivos o tablas de base de datos usados en el informe.

DataSource Especifica en qué control de datos busca los datos el control ActiveX Crystal Reports.

Destination Especifica el destino en el que se imprimirá el informe (Ventana, Impresora o Archivo).

DetailCopies Especifica el número de copias de cada registro de la sección Detalles que imprimirá el programa.

DiscardSavedData Si los datos se guardan con el informe especificado, establecer esta propiedad a 1 (True) descarta los datos.

EMailCCList Especifica la lista "CC" a la que desea enviar el mensaje de correo electrónico.

EMailMessage Especifica la cadena del mensaje de correo electrónico.

EMailSubject Especifica la línea de asunto del mensaje de correo electrónico.

EMailToList Especifica la lista "A" a la que desea enviar el mensaje de correo electrónico.

Formulas Especifica una nueva cadena para una fórmula existente.

GraphData Obtiene y establece los datos usados para un gráfico especificado.

GraphOptions Obtiene y establece una serie de opciones para el gráfico especificado.

GraphText Obtiene y establece los diversos componentes de texto para el gráfico especificado.

GraphType Obtiene y establece el tipo de gráfico usado en la sección seleccionada del informe especificado.

GroupCondition Especifica qué tipo de cambio en el Campo de condición de grupo desencadenará la creación de un grupo.

GroupSelectionFormula Especifica los grupos que se van a usar cuando imprima el informe.

GroupSortFields Especifica el o los campos de grupo que se usarán para ordenar el los datos al imprimir informe.

LastErrorNumber Devuelve el código de error para el último error de ejecución.

LastErrorString Devuelve la cadena de error para el último error de tiempo de ejecución.

Left Consulte la documentación de Visual Basic.

MarginBottom Obtiene y establece el margen inferior para el informe especificado.

MarginLeft Obtiene y establece el margen izquierdo para el informe especificado.

MarginRight Obtiene y establece el margen derecho para el informe especificado.

MarginTop Obtiene y establece el margen superior para el informe especificado.

Name Consulte la documentación de Visual Basic.

Password Introduce la contraseña necesaria para usar las tablas de la base de datos en un archivo restringido .mdb de Access.

PrintDay Obtiene y establece el componente día de la fecha de impresión (si es diferente de la fecha real en que se imprime el

informe).

PrinterCollation Si especifica más de una copia para imprimir (mediante la propiedad PrinterCopies), PrinterCollation especifica si

las copias se intercalarán o no.

PrinterCopies Obtiene y establece el número de copias del informe para imprimir.

PrinterDriver Obtiene y establece el nombre del controlador de impresora que imprimirá el informe.

PrinterName Obtiene y establece el nombre de la impresora que imprimirá el informe.

PrinterPort Obtiene y establece el nombre del puerto de impresora que imprimirá el informe.

PrinterStartPage Obtiene y establece la primera página que se va a imprimir.

PrinterStopPage Obtiene y establece la última página que se va a imprimir.

PrintFileCharSepQuote Obtiene y establece el carácter separador para encerrar datos de campos alfanuméricos cuando se imprime a un archivo

con el formato Separado por caracteres.

PrintFileCharSepSeparator Obtiene y establece el o los caracteres que dese usar para separar los campos cuando se imprime a un archivo con el

formato Valor separador por caracteres.

PrintFileName Especifica el nombre del archivo en el que se imprimirá el informe.

Page 5: Crystal Report ActiveX en VB6

PrintFileType Especifica el tipo del archivo en el que se imprimirá el informe.

PrintFileUseRptDateFmt Cuando se imprime en un archivo, indica si el programa debe guardar o no las fechas en el mismo formato de fecha (MDA, DMA, etc.) que el utilizado en el informe o bien optimizar las fechas para el formato de archivo seleccionado.

PrintFileUseRptNumberFmt Cuando se imprime en un archivo, indica si el programa debe imprimir o no números en el mismo formato (decimales,

negativos, etc.) que se ha usado en el informe o bien optimizar los números para el formato de archivo seleccionado.

PrintMonth Obtiene y establece el componente mes de la fecha de impresión (si es diferente de la fecha real de impresión del informe).

PrintYear Obtiene y establece el componente año de la fecha de impresión (si es diferente de la fecha real de impresión del

informe).

RecordsPrinted Determina el número de registros impresos realmente.

RecordsRead Determina el número de registros leídos realmente.

RecordsSelected Determina el número de registros seleccionados.

ReportDisplayPage Indica qué página de un informe de varias páginas se está mostrando actualmente en la ventana Vista previa.

ReportFileName Especifica el informe que se va a imprimir.

ReportLatestPage Determina la última página impresa del informe especificado.

ReportSource Especifica el origen del informe como un archivo de informe, un control de datos, o un control de datos de cuadrícula.

ReportStartPage Determina la primera página impresa en el informe especificado.

SectionFont Especifica la fuente para una sección.

SectionFormat Especifica el formato para una sección.

SectionLineHeight Especifica el alto de línea para una sección.

SectionMinHeight Establece el alto de sección mínimo para la sección de informe especificada.

SelectionFormula Especifica los registros que se van a usar al imprimir el informe.

SessionHandle Establece el controlador de sesión para un usuario una vez que las propiedades UserName y Password hayan abierto

un archivo .mdb de Access para usarlo en el informe.

SortFields Especifica el o los campos que se usarán para ordenar los datos cuando se imprima el informe.

SQLQuery Obtiene y establece la cadena de consulta SQL usada por el informe especificado.

Status Determina el estado de impresión del informe especificado.

StoredProcParam Obtiene y establece los parámetros de procedimiento almacenados cuando se usa un informe basado en procedimientos

almacenados SQL.

Top Consulte la documentación de Visual Basic.

UserName Introduce el nombre asignado a un usuario para conectarse a un archivo .mdb de Access protegido, para obtener los archivos de datos requeridos por el informe.

WindowBorderStyle Especifica el tipo de borde para la ventana de impresión.

WindowControlBox Especifica si la ventana de impresión tendrá o no un cuadro de control (menú de sistema) en la esquina superior

izquierda cuando el informe se dirija a una ventana.

WindowControls Especifica si aparecerán o no controles de impresión en la ventana Vista previa cuando la impresión se dirija a una ventana.

WindowHeight Establece el alto de la ventana de impresión cuando ésta se dirija a una ventana.

WindowLeft Establece la distancia, en píxeles, desde el borde izquierdo de la ventana primaria a la ventana de impresión. Si la

ventana de impresión es de nivel superior, la distancia se mide desde el borde izquierdo de la pantalla.

WindowMaxButton Especifica si la ventana de impresión tendrá o no un botón de maximizar cuando el informe se imprima en una ventana.

WindowMinButton Especifica si la ventana de impresión tendrá o no un botón de minimizar cuando el informe se imprima en una ventana.

WindowParentHandle Especifica el controlador de la ventana primaria si la ventana de impresión va a ser secundaria de otra ventana.

WindowState Establece el estado de la ventana Vista previa (normal, minimizada o maximizada) cuando el informe se dirija a una

ventana Vista previa.

WindowTitle Especifica el título que desea que aparezca en la barra de título de la ventana de impresión cuando el informe se dirija a

una ventana.

WindowTop Establece la distancia, en píxeles, desde el borde superior de la ventana primaria a la ventana de impresión. Si la

ventana de impresión es de nivel superior, la distancia se mide desde el borde superior de la pantalla.

WindowWidth Especifica el ancho de la ventana de impresión en píxeles.

PrintReport Desencadena la impresión del informe.

Page 6: Crystal Report ActiveX en VB6

Propiedades del control ActiveX Crystal Action Descripción

Action es la propiedad que desencadena la impresión del informe.

Uso en tiempo de ejecución

[formulario.]CrystalReport.Action = 1

Por ejemplo:

CrystalReport1.Action = 1

«imprime el informe especificado.»

Comentarios

Establezca la propiedad Action a 1 en el código del procedimiento (CrystalReport1.Action = 1) para imprimir el informe como respuesta a un evento del usuario.

Disponibilidad

Sólo de escritura en tiempo de ejecución

BoundReportFooter Descripción

Propiedad True o False que especifica si el pie de página va a aparecer o no en el informe enlazado predeterminado.

Uso en tiempo de ejecución

[formulario.]CrystalReport1.BoundReportFooter = True

Por ejemplo:

CrystalReport1.BoundReportFooter = True Disponibilidad

Tiempo de diseño; tiempo de ejecución

BoundReportHeading Descripción

Propiedad de cadena que permite al usuario asignar el título del informe.

Uso en tiempo de ejecución

[formulario.]CrystalReport1.BoundReportHeading = "título de informe"

Por ejemplo:

CrystalReport1.BoundReportHeading = "Ventas por región" «imprime el título indicado para el informe especificado.»

Disponibilidad

Tiempo de diseño; tiempo de ejecución

Connect Descripción

Inicia una sesión en un servidor SQL.

Uso en tiempo de ejecución

[formulario.]CrytalReport.Connect[= Name;UserID;Password;DatabaseQualifier$]

Por ejemplo:

CrystalReport1.Connect = "DSN = Contabilidad;UID = 734;PWD = grande;DSQ = Administración"

Page 7: Crystal Report ActiveX en VB6

«conecta con la base de datos "Administración" del servidor "Contabilidad" usando el Id. de usuario 734 y la contraseña "grande".»

Comentarios

Escriba los parámetros necesarios para iniciar una sesión en el servidor SQL que necesita activar para el informe.

Los parámetros deben aparecer con el siguiente formato:

DSN = nombre;UID = Idusuario;PWD = contraseña;DSQ = calificador base de datos

• nombre es el nombre del servidor.

• Id. usuario es el nombre que se le ha asignado para iniciar una sesión en el servidor SQL.

• contraseña es la contraseña que se le ha asignado para iniciar una sesión en el servidor SQL.

• calificador de base de datos es el nombre de la base de datos si el servidor utiliza el concepto de base de datos. Nota Antes de poder utilizar esta propiedad debe instalar el controlador ODBC para la base de datos SQL que piense utilizar e indicar la ubicación Database/BIN en la ruta de acceso.

Nota Este parámetro sólo se requiere cuando sea aplicable al controlador ODBC que esté usando. Disponibilidad

Tiempo de diseño; tiempo de ejecución

CopiesToPrinter Descripción

Especifica el número de copias que se van a imprimir si imprime en una impresora (si el valor que asigna a la propiedad Destination es 1 - Printer).

Uso en tiempo de ejecución

[formulario.]CrystalReport.CopiesToPrinter[= NumCopias%]

Por ejemplo:

CrytalReport1.CopiesToPrinter = 3 «imprime tres copias del informe especificado.»

Comentarios

El número especificado no debe ser cero ni negativo.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

DataFiles Descripción

Especifica la ubicación de los archivos o tablas de base de datos usados en el informe.

Uso en tiempo de ejecución

[formulario.]CrystalReport.DataFiles(ÍndiceMatriz)[= Ubicación$]

• Escriba el nombre y la ruta de acceso a cada archivo o tabla de base de datos del informe para el que quiera cambiar la ubicación.

• Use una línea de código distinta por cada archivo para el que desee cambiar la ubicación.

• El orden de los archivos la matriz debe reflejar el orden de los archivos del informe. (Puede usar el comando Establecer ubicación del menú Base de datos para determinar el orden de los archivos en el informe.)

• El primer archivo del informe es el índice de matriz (0), el segundo archivo es (1), etc.

Por ejemplo, para cambiar la ubicación del primer y tercer archivos de un informe (primero.dbf y tercero.dbf) al directorio c:\nuevo, use la siguiente sintaxis:

CrystalReport1.DataFiles(0) = "c:\nuevo\primero.dbf"

CrystalReport1.DataFiles(2) = "c:\nuevo\tercero.dbf"

Page 8: Crystal Report ActiveX en VB6

Comentarios

• DataFiles es una propiedad de matriz que sólo está disponible en tiempo de ejecución.

• Use esta propiedad si desea ejecutar el informe con archivos de diferentes ubicaciones de las especificadas en el informe.

• Si utiliza esta propiedad, no tiene que cambiar las ubicaciones de todos los archivos del informe. Simplemente asegúrese de que el índice de la matriz para cada archivo que cambie coincida con la posición de dicho archivo en el informe.

• Esta propiedad se borra una vez impresa la tarea. Si imprime por segunda vez, el programa vuelve a las ubicaciones que se especificaron inicialmente en el informe.

Disponibilidad

Tiempo de ejecución

DataSource Descripción

Especifica en qué control de datos el buscará los datos el control ActiveX Crystal.

Disponibilidad

Solo en tiempo de diseño

Destination Descripción

Especifica el destino en el que se imprimirá el informe (Ventana, Impresora o Archivo).

Uso en tiempo de ejecución

[formulario.]CrystalReport.Destination[= Destino%]

Por ejemplo:

CrystalReport1.Destination = 0 «envía el informe especificado a una ventana de impresión.»

Comentarios

Seleccione uno de los siguientes destinos de impresión:

0 0 =Window (envía el informe a una ventana crptToWindow de impresión)

1 1 =Printer (envía el informe a una impresora) crptToPrinter

2 2 =File (imprime el informe a un archivo de disco para su impresión posterior o para importarlo en otras

aplicaciones. Si selecciona esta propiedad, también tendrá que establecer las propiedades PrintFileName y PrintFileType).

crptToFile

3 3 =MAPI (envía el informe a otra persona de la red local por correo electrónico vía MAPI (Microsoft Mail). El

informe se anexa a la carta de correo electrónico en el formato especificado por la propiedad PrintFileType).

crptMapi

Disponibilidad

Tiempo de diseño; tiempo de ejecución

DetailCopies Descripción

Especifica el número de copias de cada registro de la sección Detalles que imprimirá el programa.

Uso en tiempo de ejecución

[formulario.]CrystalReport.DetailCopies[= NúmCopias%]

Por ejemplo:

CrystalReport1.DetailCopies = 3 «Especifica que se impriman tres (3) copias de cada registro en la sección Detalles.»

Page 9: Crystal Report ActiveX en VB6

Comentarios

Si DetailCopies se establece a un valor menor o igual a cero, el valor se paso por alto y se imprime una copia de la sección Detalles del informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

DiscardSavedData Descripción

Si los datos se guardan con el informe especificado, establecer esta propiedad a 1 (True) descarta los datos.

Uso en tiempo de ejecución

[formulario.]CrystalReport.DiscardSavedData[= TrueFalse%]

Por ejemplo:

CrystalReport1.DiscardSavedData = 1 «Descarta los datos guardados con el informe especificado.»

Comentarios

Para TrueFalse% use uno de los siguientes valores: False = 0, True = 1.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

EMailCCList Descripción

Especifica la lista "CC" a la que desea enviar el mensaje de correo electrónico.

Uso en tiempo de ejecución

[formulario.]CrystalReport.EMailCCList [= ListaCC$]

Por ejemplo:

CrystalReport1.EMailCCList = "Juana Bravo;Jesús Díaz "

«Envía una Copia del mensaje de correo electrónico a Juana Bravo y a Jesús Díaz»

Comentarios

• Aplicable a MAPI.

• Los nombres múltiples deben separarse por signos de punto y coma.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

EMailMessage Descripción

Especifica la cadena que desea que aparezca como el cuerpo del mensaje de correo electrónico.

Uso en tiempo de ejecución

[formulario.]CrystalReport.EMailMessage[=Mensaje$]

Por ejemplo:

CrystalReport1.EMailMessage = "La reunión es a las 4:00"

«Establece "La reunión es a las 4:00" como cuerpo del mensaje de correo electrónico.»

Comentarios

Aplicable a MAPI.

Page 10: Crystal Report ActiveX en VB6

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

EMailSubject Descripción

Especifica la línea de asunto del mensaje de correo electrónico.

Uso en tiempo de ejecución

[formulario.]CrystalReport.EMailSubject[= Asunto$]

Por ejemplo:

CrystalReport1.EMailSubject = "Reunión del personal "

«Establece "Reunión del personal " como la línea de asunto de un mensaje de correo electrónico.»

Comentarios

Aplicable a MAPI.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

EMailToList Descripción

Especifica la lista "A" a la que desee enviar el mensaje de correo electrónico.

Uso en tiempo de ejecución

[formulario.]CrystalReport.EMailToList [=ListaA$]

Por ejemplo:

CrystalReport1.EMailToList = "Jesús Díaz "

«Establece "Jesús Díaz " como único nombre de la lista "A".»

Comentarios

• Aplicable a MAPI.

• Varios nombres deben separarse por signos de punto y coma.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Formulas Descripción

Especifica una nueva cadena para una fórmula existente.

Uso en tiempo de ejecución

[formulario.]CrystalReport.Formulas(ÍndiceMatriz)[= "NombreFórmula= TextoFórmula"]

Escriba el nombre de la fórmula y la cadena que quiera que sustituya a la existente para cada fórmula del informe que desee cambiar.

Por ejemplo, para cambiar una fórmula @COMISIÓN a {archivo.VENTAS}*.1, y una segunda fórmula @TOTAL a {archivo.VENTAS} + {archivo.COMISIÓN}, escriba lo siguiente:

CrystalReport1.Formulas(0) = "COMISIÓN= {archivo.VENTAS} * .1"

CrystalReport1.Formulas(1) = "TOTAL= {archivo.VENTAS} +

{archivo.COMISIÓN}"

Comentarios

• Formulas es una propiedad de matriz que sólo está disponible en tiempo de ejecución.

• Use una línea de código distinta para cada fórmula que desee cambiar.

• Cambie sólo aquellas fórmulas que quiera cambiar.

Page 11: Crystal Report ActiveX en VB6

• La primera fórmula que cambie debe asignarse al índice (0) de la matriz, la segunda debe asignarse al índice (1), etc.

• La nueva cadena de fórmula debe cumplir los requisitos sintácticos de Crystal Reports.

• Esta propiedad se borra una vez impresa la tarea. Si imprime por segunda vez, el programa vuelve a las fórmulas según se especificaron originalmente en el informe.

Nota Los espacios en blanco son significativos en los nombres de fórmulas. Por esta razón, el signo igual debe seguir al nombre de la fórmula sin espacio entre ellos.

Nota El signo @ no se usa cuando se designa un nombre de fórmula en esta propiedad.

Nota Esta propiedad no puede utilizarse para crear nuevas fórmulas. Sólo pueden cambiarse fórmulas existentes.

Disponibilidad

Tiempo de ejecución (lectura y escritura)

GraphData Descripción

Obtiene y establece los datos usados un gráfico especificado.

Uso en tiempo de ejecución

[formulario.]CrystalReport.GraphData(ÍndiceMatriz%)[= CódigoSección; NúmeroGráfico; fila; columna; campo; dirección$]

Por ejemplo:

CrystalReport1.GraphData(0)= "DETAIL; 1; GROUP1; GROUP2; 0;COLANDROW"

«El valor de Group 1 se usa para las líneas del gráfico, el valor de Group 2 se usa para las columnas, el primer campo de resumen agregado al informe se usa para establecer el valor de la elevación del gráfico, y los valores de columnas y filas se usan para crear el gráfico.»

ComentariosCon GraphData puede especificar cambios a uno o más gráficos en tiempo de ejecución. Dichos cambios tienen lugar de forma secuencial cuando se realice la llamada "Action=1". El valor de índice de la matriz para GraphData especifica simplemente el número de orden para los cambios. Así:

CrystalReport1.GraphData(0) = "DETAIL; 3; Group1; Group2;666; COLANDROW"

cuando se hagan cambios a un único gráfico, pero

CrystalReport1.GraphData(0) = "HEADER; 3; Group1; Group2;666; COLANDROW"

CrystalReport1.GraphData(1) = "DETAIL; 3; Group1; Group2;666; COLANDROW"

cuando se realicen cambios a más de un gráfico.

Use la siguiente tabla como guía para proporcionar los valores requeridos por esta propiedad:

PARAMETRO DESCRIPCION VALOR ESPERADO

sectionCode Especifica la sección en que desea modificar un gráfico. Consulte la tabla de códigos de sección.

GraphNum El número del gráfico dentro de la sección que desea modificar. Los gráficos de una sección se numeran desde cero, de

izquierda a derecha y de arriba abajo.

Row El número de grupo del informe usado para crear filas en el gráfico. GROUP1, GROUP2, GROUP3, . . ., GROUP9

col El número de grupo del informe usado para crear columnas del gráfico. GROUP1, GROUP2, GROUP3, . . ., GROUP9

field El campo de resumen que contiene los valores máximos de cada cima del gráfico. El primer campo de resumen agregado a un informe se numera como 0, el segundo como 1, etc.

direction Si los valores de las filas, las columnas o ambos se usan para crear el gráfico. ROWS, COLS, ROWANDCOL, o COLANDROW

Disponibilidad

Lectura y escritura|tiempo de ejecución

Page 12: Crystal Report ActiveX en VB6

GraphOptions Descripción

Obtiene y establece una serie de opciones para el gráfico especificado.

Uso en tiempo de ejecución

[formulario.]CrystalReport.GraphOptions(ÍndiceMatriz%)[= CódigoSección; NúmeroGráfico; fuente; DirecciónBarras;etiquetas;cuadrícula;leyenda;máx;mín$]

Por ejemplo:

CrystalReport1.GraphOptions(0) ="FOOTER;0;Arial;H;T;F;X;max;min"

«Establece la fuente como Arial, establece barras horizontales, muestra un valor de datos en cada cima (etiquetas = T) y quita las líneas de cuadrícula del primer gráfico de la sección Pie de página.»

Comentarios

Con GraphOptions puede especificar cambios a uno o más gráficos en tiempo de ejecución. Dichos cambios se llevan a cabo de forma secuencial cuando se realiza la llamada "Action=1". El valor de índice de la matriz para GraphOptions especifica simplemente el número de orden para el cambio. Así:

CrystalReport1.GraphOptions(0) = "DETAIL; 1; Arial; H; T; F;

legend; max; min"

cuando sólo se cambia un gráfico, pero

CrystalReport1.GraphOptions(0) = " 1; title string; subtitle string; footnote string; series string; group string; x

string;y string; z string"

CrystalReport1.GraphOptions(1) = " 1; title string; subtitle string; footnote string; series string; group string; x

string;y string; z string"

cuando se cambia más de un gráfico.

Use el siguiente diagrama como guía para introducir los valores de propiedad requeridos:

PARÁMETRO DESCRIPCIÓN VALORES ESPERADOS

sectionCode Especifica la sección en la que desea modificar un gráfico. Consulte la tabla de códigos de sección.

GraphNum Especifica qué gráfico de la sección desea modificar. Los gráficos de una sección se numeran,

comenzando por cero, de izquierda a derecha y

de arriba abajo.

FontFace Especifica la fuente para todo el gráfico. Nombre real de fuente; por ejemplo, Arial

barDirection En un gráfico de barras, especifica la dirección en la que desea que aparezcan las barras. H = horizontal, V = vertical, X = como esté

labelRisers Especifica si quiere que se muestren los valores de datos de cada cima. T= verdadero, F = Falso, X = como esté

gridLines Especifica si quiere que se muestren las líneas de la cuadrícula. T= verdadero, F = Falso, X = como esté

legend Especifica si quiere que se muestre una leyenda. T= verdadero, F = Falso, X = como esté

max Especifica el valor máximo que desea incluir en un gráfico. Indique un número.

Min Especifica el valor mínimo que desea incluir en un gráfico. Indique un número.

Disponibilidad

Lectura y escritura|tiempo de ejecución

GraphText Descripción

Obtiene y establece los diversos componentes de texto para el gráfico especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.GraphText(ArrayIndex%)[= sectionCode; graphNum;title; subTitle; footnote; series; group; x; y; z$]

Por ejemplo:

CrystalReport1.GraphText(0) = "HEADER; 0;;;;;;new x label;new y label;

new z label"

Page 13: Crystal Report ActiveX en VB6

«Restablece las etiquetas x, y, y z para el primer gráfico de la sección Encabezado de página.»

Comentarios

Seleccione el código de sección de la tabla de código de secciones.

Con GraphText puede especificar cambios a uno o más gráficos en tiempo de ejecución. Dichos cambios tienen lugar de forma secuencial cuando se realiza la llamada "Action=1". El valor de índice de la matriz de GraphText simplemente especifica el número de orden para los cambios. Así:

CrystalReport1.GraphText(0) = "DETAIL; 1; title string;subtitle string; footnote string; series string; group string; x

string;y string;

z string"

cuando se efectúan cambios a un único gráfico, pero

CrystalReport1.GraphText(0) = " 1; title string; subtitle string; footnote string; series string; group string; x string;y

string; z string" CrystalReport1.GraphText(1) = " 1; title string; subtitle string; footnote string; series string; group string; x string;y

string; z string" cuando se realizan cambios a más de un gráfico.

"title", "subTitle", "footnote", "series", "group", "x","y", y "z" son las cadenas que dese etiquetar para las partes adecuadas del gráfico.

Disponibilidad

Lectura y escritura|tiempo de ejecución

GraphType Descripción

Obtiene y establece el tipo de gráfico usado en la sección seleccionada del informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.GraphType(ArrayIndex%)[= sectionCode;graphNum;graphType$]

Por ejemplo:

CrystalReport1.GraphType(0)= "GH1; 0; PIE"

«Especifica un gráfico circular como el primer gráfico (graphNum =0) de la sección Encabezado de grupo 1 »

Comentarios

Con GraphType puede especificar cambios a uno o más gráficos en tiempo de ejecución. Dichos cambios tienen lugar secuencialmente cuando se realiza la llamada "Action=1". El valor de índice de la matriz de GraphType especifica el orden para los cambios. Así:

CrystalReport1.GraphType(0) = "DETAIL; 0; PIE"

cuando se realizan cambios a un único gráfico, pero

CrystalReport1.GraphType(0) = "HEADER; 0; PIE"

CrystalReport1.GraphType(1) = "DETAIL; 0; PIE"

cuando se realizan cambios a más de un gráfico.

Seleccione el código de sección en la tabla de códigos de secciones.

Los números de gráficos comienzan por 0; el primer gráfico de una sección es el número 0, el segundo es 1, etc.

Cuando hay varios gráficos en una sección se numeran de izquierda a derecha y de arriba abajo.

Seleccione de los siguientes tipos de gráficos para el valor graphType de esta propiedad:

PARA ESTE TIPO DE GRÁFICO USE ESTE CÓDIGO PARA GRAPHTYPE

Lado a lado SIDEBYSIDE

Columna 3-D 3DSIDE

Apiladas STACKEDBAR

Apiladas 3-D 3DSTACKED

Porcentaje PERCENTBAR

Porcentaje 3-D 3DPERCENT

Page 14: Crystal Report ActiveX en VB6

Línea LINE

Área AREA

Barras 3-D 3DBARS

Circular PIE

Múltiple MULTIPLEPIE

Proporcionado WEIGHTEDPIE

Disponibilidad

Lectura y escritura|tiempo de ejecución

GroupCondition Descripción

Especifica qué tipo de cambio en el campo de condición de grupo desencadenará la creación de un grupo.

Uso en tiempo de ejecución

[form.]CrystalReport.GroupCondition(SequentialIndex%)[= group; field; condition; sortDirection$]

Por ejemplo:

CrystalReport1.GroupCondition(0)="GROUP1;{header.ordernum};ANYCHANGE;A"

«Especifica que cualquier cambio en el campo ordernum de Group1 producirá una nueva agrupación.»

Comentarios

Consulte las siguientes tablas para valores de parámetros de esta propiedad:

PARÁMETRO DESCRIPCIÓN VALORES ESPERADOS

group El grupo en que el que desea establecer la condición de grupo. El grupo más externo del informe es GROUP1, el siguiente grupo es

GROUP2, etc.

field El nombre del campo que producirá una agrupación siempre que

cambie su valor.

Indique el nombre en el siguiente formato: {tabla.campo}

condition Indique la condición que producirá la agrupación. Consulte las siguientes tablas.

SortDirection La dirección en que se ordenarán los grupos. A = Ascendente,

D = Descendente

Condiciones de campo de fecha

CONDICIÓN CÓDIGO DE CONDICIÓN

Diario DAILY

Semanal WEEKLY

Quincenal BIWEEKLY

Semi-mensual SEMIMONTHLY

Mensual MONTHLY

Trimestral QUARTERLY

Semi-anual SEMIANNUALLY

Anual ANNUALLY

Condiciones de campo booleano

CONDICIÓN CÓDIGO DE CONDICIÓN

A sí TOYES

A No TONO

Cada Yes EVERYYES

Cada No EVERYNO

Próximo Yes NEXTISYES

Próximo No NEXTISNO

Page 15: Crystal Report ActiveX en VB6

Condición para los demás tipos de datos

CONDICIÓN CÓDIGO DE CONDICIÓN

Cualquier cambio ANYCHANGE

Disponibilidad

Lectura y escritura|tiempo de ejecución solamente

GroupSelectionFormula Descripción

Especifica los grupos que se van a utilizar cuando se imprima el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.GroupSelectionFormula[= "GroupSelectionFormula"]

Escriba la fórmula de selección de grupo como si le introdujera en el Editor de fórmulas. Por ejemplo, para limitar el informe a aquellos grupos que tengan un subtotal en el campo header.AMOUNT menor que $10.000 (con subtotales producidos por cambios en el campo header.CUSTNUMB), debe introducir lo siguiente como fórmula de selección de grupo:

CrystalReport1.GroupSelectionFormula = Sum ( {header.AMOUNT}, {header.CustNumb}) < 10000

Comentarios

Si la fórmula de selección de grupo incluye comillas internas, cambie todas las dobles comillas internas a comillas simples y encierre la fórmula de selección de grupo entre dobles comillas.

Nota Si ha creado una fórmula de selección de grupo en tiempo de diseño, cualquier fórmula de selección de grupo que indique aquí se agregará a dicha fórmula de selección de grupo, conectada por "and". Así, los registros se seleccionarán según una combinación de las dos fórmulas.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

GroupSortFields Descripción

Especifica el o los campos de grupo que se usarán para ordenar los datos cuando se imprima el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.GroupSortFields(ArrayIndex)[= "{+|-}GroupField"]

Escriba el o los campos de grupo por los que desee ordenar el informe.

Por ejemplo, suponga que ha separado los datos en grupos de estado y Crystal Reports ha contado el número de clientes de cada grupo. Para imprimir el grupo con el mayor contador primero y después con el siguiente contador, etc. (orden descendente), especifique una cadena de caracteres similar a la siguiente:

CrystalReport1.GroupSortFields(0) = "-Count({customer.CUSTOMER},

{customer.STATE})"

Comentarios

• GroupSortFields es una propiedad de matriz sólo disponible en tiempo de ejecución.

• Use una línea de código distinta para especificar cada campo de orden de grupo.

• Introduzca los campos de ordenación en el orden en que desee ordenarlos en el informe. Por ejemplo, si primero quiere ordenar el informe según el campo de ordenación de grupo A y después según el campo B, especifique el campo de ordenación A en la primera línea de código y el campo B en la segunda línea de código.

• Al primer campo de ordenación de grupo que especifique debe asignarse el índice de matriz 0, al segundo campo de ordenación de grupo debe asignarse el índice de matriz 1, etc.

• Los valores de índice asignados deben ser continuos; no se admiten saltos (0,1,2 = correcto, 0,1,3 = incorrecto)

• Los valores de índices de matriz deben ser subíndices en el código inmediatamente después del nombre de la propiedad; por ejemplo, CrystalReport1.GroupSortFields(0) =.

Page 16: Crystal Report ActiveX en VB6

• Si ha especificado campos de ordenación para el informe en tiempo de diseño, los campos de ordenación introducidos aquí sustituirán a los campos de ordenación del informe.

• Si no usa esta propiedad, el programa usará las instrucciones de ordenación que se especificaron en el informe.

• Si desea borrar los campos de ordenación de grupo del informe, use una cadena vacía (CrystalReport1.GroupSortFields(0) = "")

• Esta propiedad se borra cuando se imprime la tarea. Si se imprime una segunda vez, el programa restablece los campos de ordenación de grupo especificados originalmente en el informe.

Nota La entrada del campo de ordenación de grupo debe ir seguida del signo de dirección (+ o -) sin espacios.

Nota Para encontrar la sintaxis correcta para cualquier grupo del informe usando Crystal Reports para Visual Basic: seleccione Insertar|Campo de fórmula, escriba cualquier nombre de fórmula en el cuadro de diálogo Insertar fórmula cuando aparezca, haga clic en el botón de desplazamiento de la lista Campos en el de fórmulas Editor cuando aparezca, y haga doble clic en el campo de grupo que desee.

Crystal Reports escribe el nombre del campo de grupo en el cuadro Texto de fórmula. Use el nombre y la sintaxis de dicho cuadro de texto cuando construya la cadena del campo de ordenación de grupo.

Disponibilidad

Tiempo de ejecución

LastErrorNumber Descripción

Devuelve el código de error del último error de ejecución.

Uso en tiempo de ejecución

[form.]CrystalReport.LastErrorNumber

Por ejemplo:

' Si ocurre un error, ir a ErrorHandler ErrorHandler:MsgBox CrystalReport1.LastErrorNumber

«si se produce un error, este código invoca un cuadro de mensajes que muestra el número del error.»

Comentarios

LastErrorNumber es una propiedad sólo de tiempo de ejecución.

Nota LastErrorNumber debe aparecer después de la llamada a Action para mostrar los valores relevantes. Después de imprimir el informe, puede consultar esta propiedad para obtener un número de error (si lo hubiera). Si no hubo ningún error en la impresión, LastErrorNumber = 0.

Disponibilidad

Tiempo de ejecución (lectura y escritura)

LastErrorString Descripción

Devuelve la cadena de error del último error de ejecución.

Uso en tiempo de ejecución

[form.]CrystalReport.LastErrorString

Por ejemplo:

'Si ocurre un error, ir a ErrorHandler ErrorHandler:MsgBox CrystalReport1.LastErrorString

«si se produce un error, este código invoca un cuadro de mensajes que muestra la cadena del error.»

Comentarios

LastErrorString es una propiedad sólo en tiempo de ejecución.

Nota LastErrorString debe aparecer después de la llamada a Action para que muestre valores relevantes. Tras imprimir el informe, puede consultar esta propiedad para obtener una cadena de error (si la hay). Si no se produjo ningún error en la impresión, LastErrorNumber = 0.

Disponibilidad

Tiempo de ejecución (lectura y escritura)

Page 17: Crystal Report ActiveX en VB6

MarginBottom Descripción

Obtiene y establece el margen inferior para el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.MarginBottom[=MarginSetting%]

Por ejemplo:

CrystalReport1.MarginBottom = 720

«Establece un margen inferior de 1/2 pulgada para el informe (1 pulgada = 1440 twips)»

Comentarios

MarginSetting% es el margen deseado, en twips.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

MarginLeft Descripción

Obtiene y establece el margen izquierdo para el informe especificado.

Uso en tiempo de ejecución

[form.] CrystalReport.MarginLeft[=MarginSetting%]

Por ejemplo:

CrystalReport1.MarginLeft = 1440

«Establece un margen izquierdo de 1 pulgada para el informe (1 pulgada = 1440 twips)»

Comentarios

MarginSetting% es el margen deseado, en twips.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

MarginRight Descripción

Obtiene y establece el margen derecho para el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.MarginRight[=MarginSetting%]

Por ejemplo:

CrystalReport1.MarginRight=1440

«Establece un margen derecho de 1 pulgada para el informe (1 pulgada = 1440 twips)»

Comentarios

MarginSetting% es el margen deseado, en twips.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

MarginTop Descripción

Obtiene y establece el margen superior para el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.MarginTop[=MarginSetting%]

Page 18: Crystal Report ActiveX en VB6

Por ejemplo:

CrystalReport1.MarginTop = 720

«Establece un margen superior de 1/2 pulgada para el informe (1 pulgada = 1440 twips)»

Comentarios

MarginSetting% es el margen deseado, en twips.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Password Descripción

Introduce la contraseña necesaria para usar las tablas de la base de datos en un archivo .mdb restringido de Access.

Uso en tiempo de ejecución

[form.]CrystalReport.Password[= Password$]

Por ejemplo:

CrystalReport1.Password = "lluvia"

«introduce la contraseña "lluvia".»

Comentarios

Escriba la contraseña que ha asignado.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

PrintDay Descripción

Obtiene y establece el componente día de la fecha de impresión (si es distinta de la fecha real en que se imprime el informe).

Uso en tiempo de ejecución

[form.]CrystalReport.PrintDay[=Day%]

Por ejemplo:

CrystalReport1.PrintDay = 23

«Establece 23 como día de impresión.»

Comentarios

• Escriba un valor entre 1 y 31

• Las propiedades PrintYear, PrintMonth y PrintDay funcionan juntas. Debe cambiar el valor de las tres para cambiar la fecha de impresión. Si no cambia las tres, se usa la fecha de impresión guardada con el informe. Puede ser la fecha actual si no se guardó una fecha específica con el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrinterCollation Descripción

Si especifica más de una copia para imprimir (mediante la propiedad PrinterCopies), PrinterCollation especifica si las copias se intercalarán o no.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterCollation[=CollationCode%]

Page 19: Crystal Report ActiveX en VB6

Por ejemplo:

CrystalReport1.PrinterCollation = 1

«Intercala las copias del informe especificado.»

Comentarios

Seleccione el valor de CollationCode% de la siguiente tabla:

ESTADO CÓDIGO CONSTANTES

Uncollated 0 crptUncollated

Collated 1 crptCollated

Default Collation 2 crptDefault

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrinterCopies Descripción

Obtiene y establece el número de copias del informe a imprimir.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterCopies[=NumCopies%]

Por ejemplo:

CrystalReport1.PrinterCopies = 3

«Especifica que el programa imprimirá tres (3) copias del informe.»

Comentarios

El número utilizado para PrinterCopies no debe ser cero ni negativo.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrinterDriver Descripción

Obtiene y establece el nombre del controlador de impresora que imprimirá el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterDriver[= DriverName$]

Por ejemplo:

CrystalReport1.PrinterDriver = "Epson24.drv"

«Establece que el controlador de impresora sea el Epson 24.»

Comentarios

Las propiedades PrinterDriver, PrinterName y PrinterPort funcionan conjuntamente para definir la impresora a la que se enviará el informe. Las tres propiedades deben establecerse para definir una nueva impresora. Si no se establecen las tres propiedades, se usará la impresora definida en el informe. Puede ser la impresora predeterminada del usuario si no se especificó ninguna en el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Page 20: Crystal Report ActiveX en VB6

PrinterName Descripción

Obtiene y establece el nombre de la impresora que imprimirá el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterName[= PrinterName$]

Por ejemplo:

CrystalReport1.PrinterName= "Epson LQ-850"

«Especifica la impresora Epson LQ-850 »

Comentarios

Las propiedades PrinterDriver, PrinterName y PrinterPort funcionan conjuntamente para definir la impresora a la que se enviará el informe. Las tres propiedades deben establecerse para definir una nueva impresora. Si no se establecen las tres propiedades, se usará la impresora definida en el informe. Puede ser la impresora predeterminada del usuario si no se especificó ninguna en el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrinterPort Descripción

Obtiene y establece el nombre del puerto para la impresora especificada.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterPort[= PortName$]

Por ejemplo:

CrystalReport1.PrinterPort= "LPT1"

«Establece el puerto de la impresora como LPT1»

Comentarios

Las propiedades PrinterDriver, PrinterName y PrinterPort funcionan conjuntamente para definir la impresora a la que se enviará el informe. Las tres propiedades deben establecerse para definir una nueva impresora. Si no se establecen las tres propiedades, se usará la impresora definida en el informe. Puede ser la impresora predeterminada del usuario si no se especificó ninguna en el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrinterStartPage Descripción

Obtiene y establece la primera página que se va a imprimir.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterStartPage[= StartPage%]

Por ejemplo:

CrystalReport1.PrinterStartPage = 7

«Especifica que la impresión comenzará con la página 7 del informe.»

Comentarios

Si se usa un valor menor o igual que 0 para PrinterStartPage, el valor se pasa por alto y la impresión comienza con la página 1.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Page 21: Crystal Report ActiveX en VB6

PrinterStopPage Descripción

Obtiene y establece la última página que se va a imprimir.

Uso en tiempo de ejecución

[form.]CrystalReport.PrinterStopPage[=StopPage%]

Por ejemplo:

CrystalReport1.PrinterStopPage = 12

«Especifica que la impresión finalice con la página 12 del informe.»

Comentarios

Use un valor -1 para PrinterStopPage con el fin de indicar que la impresión continúe hasta la última página.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrintFileCharSepQuote Descripción

Obtiene y establece el carácter de comillas para encerrar datos de campos alfanuméricos cuando se imprime a un archivo con el formato Separado por caracteres.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileCharSepQuote[=Quote$]

Por ejemplo:

CrystalReport1.PrintFileCharSepQuote = " ' "

«Usa el carácter de separación ' para encerrar valores guardados en formato separados por caracteres.»

Comentarios

• Aplicable sólo cuando PrintFileType es 5 - Valores separados por caracteres.

• Aplicable sólo cuando Destination es 2 - Archivo, 3 - Correo electrónico vía MAPI.

• Si se asigna una cadena a PrintFileCharSepQuote de más de un carácter, el VBX sólo emplea el primer carácter de dicha cadena. Por ejemplo, si asigna "quote" a la propiedad, el VBX sólo reconocerá "q".

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrintFileCharSepSeparator Descripción

Obtiene y establece el o los caracteres que desea usar para separar los campos cuando se imprime a un archivo con el formato Valor separador por caracteres.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileCharSepSeparator[=Separator$]

Por ejemplo:

CrystalReport1.PrintFileCharSepSeparator= "@"

«Especifica que el carácter "@" se usará para separar valores de campos.»

Comentarios

• Aplicable sólo cuando PrintFileType es 5 - Valores separados por caracteres.

• Aplicable sólo cuando Destination es 2 - Archivo, 3 - Correo electrónico vía MAPI.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Page 22: Crystal Report ActiveX en VB6

PrintFileName Descripción

Especifica el nombre del archivo en el que se imprimirá el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileName[= FileName$]

Por ejemplo:

CrystalReport1.PrintFileName ="c:\crw\cust_rpt.txt"

«Imprime el informe en un archivo llamado "cust_rpt.txt" del directorio c:\crw.»

Comentarios

• Puede hacer doble clic en esta propiedad o en el botón con tres puntos del cuadro de diálogo Configuración para invocar el cuadro de diálogo Elegir nombre de archivo de impresión. En dicho cuadro de diálogo, seleccione el nombre y la ruta de acceso del archivo en el que desee imprimir el informe.

• Seleccione un valor para esta propiedad sólo si va a imprimir en un archivo (si el valor asignado a la propiedad Destination es 2 - Archivo).

Nota Si quiere especificar PrintFileName en tiempo de ejecución, asegúrese que lo encierra entre comillas en el código.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

PrintFileType Descripción

Especifica el tipo del archivo de impresión cuando se imprima un informe a un archivo.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileType[= FileType%]

Por ejemplo:

CrystalReport1.PrintFileType = 1

«Imprime el informe en un archivo en formato separado por tabuladores.»

Comentarios

Seleccione uno de los siguientes tipos de archivo de impresión si va a imprimir en un archivo (si el valor asignado a la propiedad Destination es 2 - file).

0 - Record Estilo de registro (columnas de valores). No utiliza comas o separadores. Cada registro tiene un ancho de campo fijo.

crptRecord

1 - Tab separated Valores separador por tabuladores. Presenta los datos en forma tabular. Encierra los datos de campos

alfanuméricos entre comillas y separa los campos con tabuladores.

crptTabSep

2 - Text Estilo texto. Guarda los datos en formato de texto ASCII con todos los valores separados por espacios

en blanco. Este estilo es más similar a la página impresa.

crptText

3 - DIF Guarda los datos en formato DIF (formato de intercambio de datos). Este formato se suele utilizar para la transferencia de datos entre diferentes programas de hoja de cálculo.

crptDIF

4 - CSV Valores separados por comas. Encierra los datos de campos alfanuméricos entre comillas y separa los

campos con comas.

crptCSV

5 - Character Separated Guarda los datos en formato de texto ASCII con todos los valores separados por tabuladores. crptCharSep

6 - Tab separated Text Guarda los datos como valores separados por caracteres en formato de texto ASCII. Todos los valores

se separan por un carácter o caracteres especificados por la propiedad PrintFileCharSepSeparator.

crptTabSepText

7 - Crystal Reports RPT Se usa el formato RPT estándar de Crystal Reports. Más frecuente para enviar el informe a otro usuario

por correo electrónico.

crptCrystal

8 - Excel 2.1 XLS Exporta el informe como una hoja de cálculo de Microsoft Excel 2.1. crptExcel21

9 - Excel 3.0 XLS Exporta el informe como una hoja de cálculo de Microsoft Excel 3.0. crptExcel30

10 - Excel 4.0 XLS Exporta el informe como una hoja de cálculo de Microsoft Excel 4.0. crptExcel40

Page 23: Crystal Report ActiveX en VB6

11 - Lotus 1-2-3 WK1 Exporta el informe como formato WK1 de hoja de cálculo de Lotus 1-2-3. crpt123wk1

12 - Lotus 1-2-3 WK3 Exporta el informe como formato WK3 de hoja de cálculo de Lotus 1-2-3. crpt123wk3

13 - Lotus 1-2-3 WKS Exporta el informe como formato WKS de hoja de cálculo de Lotus 1-2-3. crpt123wks

15 - RTF Guarda los datos en formato de texto enriquecido. crptRTF

17 - Word for Windows Usa el formato de Microsoft Word para Windows para guardar los datos del informe. crptWinWord

19 - Excel 5.0 XLS Exporta el informe como una hoja de cálculo de Microsoft Excel 5.0. crptExcel50

20 - HTML 3.0 Exporta el informe en formato HTML. crptHTML30

21 - Internet Expl Exporta el informe en formato Internet Explorer. crptIntExpl

22 - Netscape Exporta el informe en formato Netscape. crptNetscape

Disponibilidad

Tiempo de diseño; tiempo de ejecución

PrintFileUseRptDateFmt Descripción

Cuando se imprime en un archivo, indica si el programa debe guardar las fechas en el mismo formato de fecha (MDA, DMA, etc.) que el utilizado en el informe o bien optimizar las fechas para el formato de archivo seleccionado.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileUseRptDateFmt[= TrueFalse%]

Por ejemplo:

CrystalReport1.PrintFileUseRptDateFmt = 1

«Especifica que el programa debe imprimir las fechas en el mismo formato que el empleado en el informe.»

Comentarios

• Aplicable sólo cuando PrintFileType es 0 - Registro, 1 - Separado por tabuladores, 3 - Formato de intercambio de datos (DIF), 4 - CSV o 5 - Separado por caracteres.

• Aplicable sólo cuando Destination es 2 - Archivo, 3 - Correo electrónico vía MAPI.

• Para TrueFalse%, use uno de los siguientes valores: False = 0, True = 1.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrintFileUseRptNumberFmt Descripción

Cuando se imprime en un archivo, indica si el programa debe imprimir números en el mismo formato (decimales, negativos, etc.) que se ha usado en el informe o bien optimizar los números para el formato de archivo seleccionado.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintFileUseRptNumberFmt[=TrueFalse%]

Por ejemplo:

CrystalReport1.PrintFileUseRptNumberFmt = 1

«Especifica que el programa debe imprimir los números en el mismo formato que el empleado en el informe.»

Comentarios

• Aplicable sólo cuando PrintFileType es 0 - Registro, 1 - Separado por tabuladores, 3 - Formato de intercambio de datos (DIF), 4 - CSV o 5 - Separado por caracteres

• Aplicable sólo cuando Destination es 2 - Archivo, 3 - Correo electrónico vía MAPI.

• Para TrueFalse%, use uno de los siguientes valores: False = 0, True = 1.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Page 24: Crystal Report ActiveX en VB6

PrintMonth Descripción

Obtiene y establece el componente mes de la fecha de impresión (si es diferente de la fecha real de impresión del informe).

Uso en tiempo de ejecución

[form.]CrystalReport.PrintMonth[= Month%]

Por ejemplo:

CrystalReport1.PrintMonth= 7

«Establece Julio como el mes de impresión.»

Comentarios

• Indique un valor entre 1-12 con Enero = 1, Diciembre = 12.

• Las propiedades PrintYear, PrintMonth y PrintDay funcionan conjuntamente. Debe cambiar el valor de las tres para cambiar la fecha de impresión. Si no cambia las tres, se usará la fecha de impresión guardada con el informe. Puede ser la fecha actual si no se guardó una fecha específica con el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

PrintYear Descripción

Obtiene y establece el componente año de la fecha de impresión (si es diferente de la fecha real de impresión del informe).

Uso en tiempo de ejecución

[form.]CrystalReport.PrintYear[=Year%]

Por ejemplo:

CrystalReport1.PrintYear = 1994

«Establece el componente año de la fecha de impresión como 1994.»

Comentarios

• Indique el año de impresión como un número de cuatro dígitos.

• Las propiedades PrintYear, PrintMonth y PrintDay funcionan conjuntamente. Debe cambiar el valor de las tres para cambiar la fecha de impresión. Si no cambia las tres, se usará la fecha de impresión guardada con el informe. Puede ser la fecha actual si no se guardó una fecha específica con el informe.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

RecordsPrinted Descripción

Determina el número de registros impresos realmente.

Uso en tiempo de ejecución

[form.]CrystalReport.RecordsPrinted

Por ejemplo:

Printed& = CrystalReport1.RecordsPrinted

«Recupera el número de registros impresos y lo almacena en la variable Printed.»

Comentarios

Si el informe que se está imprimiendo contiene una o más fórmulas de selección de grupos, el valor retornado por RecordsPrinted puede ser mucho menor que el valor retornado por RecordsSelected. De lo contrario, este valor debe ser igual que RecordsSelected.

Disponibilidad

Sólo lectura|tiempo de ejecución

Page 25: Crystal Report ActiveX en VB6

RecordsRead Descripción

Determina el número de registros procesados realmente.

Uso en tiempo de ejecución

[form.]CrystalReport.RecordsRead

Por ejemplo:

Read% = CrystalReport1.RecordsRead

«Recupera el número de registros leídos y lo guarda en la variable Read.»

Comentarios

Si el motor de impresión de Crystal Reports genera una consulta SQL para obtener los datos desde una base de datos SQL cuando se imprime el informe, RecordsRead sólo recuperará el número de registros recibidos por el motor de impresión desde la consulta. Este valor puede ser mucho menor que el número de registros reales de la tabla de la base de datos SQL.

Disponibilidad

Sólo lectura|tiempo de ejecución

RecordsSelected Descripción

Determina el número de registros seleccionados para incluirlos en el informe del número total de registros leídos.

Uso en tiempo de ejecución

[form.]CrystalReport.RecordsSelected

Por ejemplo:

Selected& = CrystalReport1.RecordsSelected

«Recupera el número de registros seleccionados y lo guarda en la variable Selected.»

Comentarios

RecordsSelected retornará un valor entre cero y el valor retornado por RecordsRead. El valor retornado por RecordsSelected depende de las consultas y las fórmulas de selección definidas en el informe.

Disponibilidad

Sólo lectura|tiempo de ejecución

ReportDisplayPage Descripción

Indica qué página de un informe de varias páginas se está mostrando actualmente en la ventana Vista previa.

Uso en tiempo de ejecución

[form.]CrystalReport.ReportDisplayPage

Por ejemplo:

Result% = CrystalReport1.DisplayPage

«Recupera el número de la página mostrada y lo almacena en la variable Result.»

Disponibilidad

Sólo lectura|tiempo de ejecución

Page 26: Crystal Report ActiveX en VB6

ReportFileName Descripción

Especifica el informe que se va a imprimir.

Uso en tiempo de ejecución

[form.]CrystalReport.ReportFileName[= ReportName$]

Por ejemplo:

CrystalReport1.ReportFileName = "c:\crw\company.rpt"

«Imprime el informe llamado "company.rpt" que está en el directorio c:\crw.»

Comentarios

Puede hacer doble clic en esta propiedad o en el botón con tres puntos del cuadro Configuración para invocar el cuadro de diálogo Elegir archivo de informe. En dicho cuadro de diálogo, seleccione el nombre y la ruta de acceso del informe que quiera que imprima el programa como respuesta a un evento CRW Custom Control.

Nota Si quiere especificar ReportFileName en tiempo de ejecución, asegúrese de encerrarlo entre comillas en el código.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

ReportLatestPage Descripción

Determina la última página impresa del informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.ReportLatestPage

Por ejemplo:

Latest% = CrystalReport1.ReportLatestPage

«Recupera el número de la última página impresa y lo almacena en la variable Latest.»

Disponibilidad

Sólo lectura|tiempo de ejecución

ReportSource Descripción

Especifica de donde vendrá la plantilla del informe.

Uso en tiempo de ejecución

[form.]CrystalReport1.ReportSource = [TrueFalse%]

Por ejemplo:

CrystalReport1.ReportSource = 1

Disponibilidad

Tiempo de diseño; tiempo de ejecución

ReportStartPage Descripción

Determina la primera página impresa en el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.ReportStartPage

Por ejemplo:

StartPage% = CrystalReport1.ReportStartPage

Page 27: Crystal Report ActiveX en VB6

«Recupera el número de la primera página impresa y lo almacena en la variable StartPage.»

Disponibilidad

Sólo lectura|tiempo de ejecución solamente

SectionFont Descripción

Especifica la fuente para una o más secciones del informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.SectionFont(SequentialIndex%)[= sectionCode; fontName; size; italic; bold;underline;strikethru$]

Por ejemplo:

CrystalReport1.SectionFont(0)="Footer;Arial;12;N;N;N;Y"

«Establece la fuente para la sección de pie como 12 puntos, Arial, tachada.»

Comentarios

Con SectionFont, puede especificar cambios a una o más secciones en tiempo de ejecución. Dichos cambios se producen secuencialmente cuando se efectúa la llamada "Action=1". El valor de índice de la matriz para SectionFont simplemente especifica el orden para el cambio. Así:

CrystalReport1.SectionFont(0)= "DETAIL;Arial;12;N;N;N;Y"

cuando se efectúan cambios sólo a la sección DETAIL, pero

CrystalReport1.SectionMinHeight(0) = "HEADER;Arial;12;N;N;N;Y"

CrystalReport1.SectionMinHeight(1) = "DETAIL;Arial;12;N;N;N;Y"

cuando se efectúan cambios a más de una sección.

Use la siguiente tabla como guía para proporcionar los valores requeridos por esta propiedad:

PARÁMETRO TIPO DE DATOS VALOR ESPERADO

sectionCode cadena Consulte la tabla de códigos de secciones.

fontName cadena El nombre real de la fuente; por ejemplo, Arial o Helvética

size número El tamaño de la fuente en puntos; por ejemplo, 12 ó 16

italic carácter T = Verdadero, F = Falso, X = como está1

bold carácter T = Verdadero, F = Falso, X = como está1

underline carácter T = Verdadero, F = Falso, X = como está1

strikethru carácter T = Verdadero, F = Falso, X = como está1

1X (como está) usa el valor guardado con el informe

Disponibilidad

Lectura y escritura|tiempo de ejecución

SectionFormat Descripción

Especifica el formato para una o más secciones del informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.SectionFormat(SectionArrayIndex%)[= sectionCode; visible; newPageBefore; newPageAfter; keepTogether; suppressBlank; resetPageNAfter; printAtPageBottom$]

Por ejemplo:

CrystalReport1.SectionFormat(0)= "GH2;F;X;X;X;X;X;X"

«Oculta la sección Encabezado de grupo 2 (visible = F) y mantiene el valor predeterminado para todos los demás parámetros»

Page 28: Crystal Report ActiveX en VB6

Comentarios

Con SectionFormat puede especificar cambios a una o más secciones en tiempo de ejecución. Dichos cambios se producen secuencialmente cuando se realiza la llamada "Action=1". El valor de índice secuencial para SectionFormat simplemente especifica el número de orden para el cambio. Así:

CrystalReport1.SectionFormat(0)= "DETAIL;T;F;F;X;X;X;X"

cuando se efectúan cambios sólo a la sección DETAIL, pero

CrystalReport1.SectionFormat(0) = "HEADER;T;F;F;X;X;X;X"

CrystalReport1.SectionFormat(1) = "DETAIL;T;F;F;X;X;X;X"

cuando se efectúan cambios a más de una sección.

Use la siguiente tabla como referencia para introducir valores como parámetros para esta propiedad:

PARÁMETRO VALOR ESPERADO

sectionCode Consulte la tabla de códigos de secciones.

visible T = verdadero, F = Falso, X = como está1

newPageBefore T = verdadero, F = Falso, X = como está1

newPageAfter T = verdadero, F = Falso, X = como está1

keepTogether T = verdadero, F = Falso, X = como está1

suppressBlank T = verdadero, F = Falso, X = como está1

resetPageNAfter T = verdadero, F = Falso, X = como está1

printAtPageBottom T = verdadero, F = Falso, X = como está1 1X (como está) usa el valor guardado con el informe

Disponibilidad

Lectura y escritura|tiempo de ejecución solamente

SectionLineHeight Descripción

Especifica el alto de línea en twips. Un twip es 1/1440 pulgadas; hay 20 twips en un punto.

Uso en tiempo de ejecución

[form.]CrystalReport.SectionLineHeight(SequentialIndex%)[= sectionCode; line; height; ascent$]

Por ejemplo:

CrystalReport1.SectionLineHeight(0) = "GH0; 1; 500; 300"

«Establece el alto para la segunda línea de la sección cero de encabezado de grupo a un alto de 500 twips con un ascendente de 300 twips.»

Comentarios

Con SectionLineHeight puede especificar cambios a una o más secciones en tiempo de ejecución. Dichos cambios se producen secuencialmente cuando se realiza la llamada "Action=1". El valor de índice secuencial para SectionLineHeight simplemente especifica el número de orden para el cambio. Así:

CrystalReport1.SectionLineHeight(0)= "DETAIL;1;500;300"

cuando se efectúan cambios sólo a la sección DETAIL, pero

CrystalReport1.SectionLineHeight(0) = "HEADER;1;500;300"

CrystalReport1.SectionLineHeight(1) = "DETAIL;1;500;300"

cuando se efectúan cambios a más de una sección.

Use la siguiente tabla como guía para suministrar los valores requeridos para esta propiedad:

Page 29: Crystal Report ActiveX en VB6

sectionCode Especifica el código de sección para la sección o secciones para las que desee establecer un nuevo alto de línea.

lineN Especifica las líneas para las que desea establecer el alto de línea. Los números de línea de una sección comienzan por 0: el primer número de

línea es 0, el segundo es 1, etc.

height Especifica el alto de línea en twips. Un twip equivale a 1/1440 pulgadas; hay 20 twips en un punto.

ascent Especifica la pendiente en twips. La pendiente es la distancia desde la parte superior del espacio de línea asignado (alto de línea) a la línea

base de la fuente. Este parámetro se usa para especificar la posición de la línea de base si se especifica un alto de línea sobre o

subdimensionado. Si se establece la pendiente a 0, el programa sitúa la línea de base en la parte superior del espacio; si la pendiente se establece al mismo valor que el alto, el programa establece la línea de base en la parte inferior del espacio. Para cualquier otra línea de base,

especifique la pendiente en twips.

Disponibilidad

Lectura y escritura|tiempo de ejecución solamente

SectionMinHeight Descripción

Establece el alto de sección mínimo para la sección de informe especificada.

Uso en tiempo de ejecución

[form.]CrystalReport.SectionMinHeight(SequentialIndex%)[=sectionCode;minHeight$]

Por ejemplo:

CrystalReport1.SectionMinHeight(0) = "ALL; 500"

«Establece el alto mínimo para todas las secciones a 500 twips.»

Comentarios

Con SectionMinHeight puede especificar cambios a una o más secciones en tiempo de ejecución. Dichos cambios se producen secuencialmente cuando se realiza la llamada "Action=1". El valor de índice secuencial para SectionMinHeight simplemente especifica el número de orden para el cambio. Así:

CrystalReport1.SectionMinHeight(0)= "DETAIL;500"

cuando se efectúan cambios sólo a la sección DETAIL, pero

CrystalReport1.SectionMinHeight(0) = "HEADER;500"

CrystalReport1.SectionMinHeight(1) = "DETAIL;500"

cuando se efectúan cambios a más de una sección.

Disponibilidad

Lectura y escritura|tiempo de ejecución

SelectionFormula Descripción

Especifica los registros que se van a usar al imprimir el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.SelectionFormulaProperty[= SelectionFormula$]

Escriba la fórmula de selección como lo haría en el Editor de fórmulas de Crystal Reports. Por ejemplo, para incluir los registros que tienen una cantidad mayor que 5 en el archivo {file.Qty}, escriba "{file.QTY} > 5" como fórmula de selección; por ejemplo, Report1.SelectionFormula = "{file.QTY} > 5"

Comentarios

• Asegúrese de que encierra la fórmula de selección entre dobles comillas.

• Si la fórmula de selección incluye comillas internas, por ejemplo:

{file.STATE} = "CA"

cambie todas las dobles comillas internas a comillas simples y encierre toda la fórmula de selección entre dobles comillas como sigue:

"{file.STATE} = 'CA'"

Page 30: Crystal Report ActiveX en VB6

• Si ha creado una fórmula de selección en el informe en tiempo de diseño, cualquier fórmula de selección que escriba aquí se agregará a dicha fórmula de selección. Así, los registros se seleccionarán según una combinación de las dos fórmulas de selección.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

SessionHandle Descripción

Establece el controlador de sesión para un usuario una vez que las propiedades UserName y Password hayan abierto un archivo.mdb de Access para usarlo en el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.SessionHandle[= Handle%]

Comentarios

Si ya ha abierto una sesión de Jet en la aplicación de Visual Basic, puede establecer esta propiedad para que sea el controlador de sesión actual. De lo contrario tendrá que usar las propiedades Password y UserName para establecer la sesión de Jet.

Por ejemplo:

CrystalReport1.SessionHandle = CurrentSessionHandle

«establece el controlador de sesión al controlador de sesión retornado en otra parte de la aplicación y almacenado en la variable CurrentSessionHandle.»

Disponibilidad

Tiempo de ejecución (lectura y escritura)

SortFields Descripción

Especifica el o los campos que se usarán para ordenar los datos cuando se imprima el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.SortFields(ArrayIndex)[= "{+|-}SortField"]

Escriba los campos por los que desee ordenar los datos del informe.

Por ejemplo, para ordenar una base de datos de pedidos alfabéticamente por cliente, y después por fecha de pedido, puede escribir código similar a éste:

CrystalReport1.SortFields(0) = "+{orders.CUSTOMER}"Report1.SortFields(1) = "+{orders.ORDERDATE}"

Comentarios

• SortFields es una propiedad de matriz disponible sólo en tiempo de ejecución.

• Use una línea de código distinta para especificar cada campo de ordenación.

• Escriba los campos de ordenación en el orden en que desee ordenar el informe. Por ejemplo, si quiere ordenar el informe por el campo A y después por el campo B, especifique el campo de ordenación A en la primera línea de código y el campo de ordenación B en la segunda línea de código.

• Al campo de ordenación que especifique debe asignarse el índice de matriz 0, al segundo campo debe asignarse el índice de matriz 1, etc.

• Los valores de índice que se asignen deben ser continuos; no se permiten saltos (0,1,2 = correcto, 0,1,3 = incorrecto)

• Los valores de índice de matriz deben ser subíndices en el código inmediatamente después del nombre de la propiedad; por ejemplo, Report1.SortFields(0) =.

• Si ha especificado campos de ordenación para un informe en tiempo de diseño, los que escriban aquí sustituirán a los del informe.

• Si no usa esta propiedad, el programa usará las instrucciones de ordenación que se especificaron en el informe.

• Si quiere borrar los campos de ordenación de un informe, use una cadena vacía (Report1.SortFields(0) = "")

• Encierre los nombres de campos entre corchetes.

Page 31: Crystal Report ActiveX en VB6

• Los campos de ordenación pueden ser campos de la base de datos o campos de fórmula. Si ordena por un campo de fórmula, use el signo @ delante del nombre de la fórmula; por ejemplo, @FÓRMULA.

Disponibilidad

Tiempo de ejecución (lectura y escritura)

SQLQuery Descripción

Obtiene y establece la cadena de consulta SQL usada por el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.SQLQuery[=SQLQuery$]

Por ejemplo:

CrystalReport1.SQLQuery = "SELECT authors.au_id, authors.au_lname, authors.au_fname FROM pubs2.dbo.authors authors WHERE

authors.au_

lname > 'Madison'"

«Consulta la base de datos SQL para retornar únicamente los registros en los que el nombre de los autores están alfabéticamente después de Madison.»

Comentarios

Puede cambiar sólo las secciones WHERE y FROM de una consulta SQL. Aunque la propiedad requiere que se introduzca toda la consulta SQL, la sección SELECT no debe ser diferente de la consulta original.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

Status Descripción

Determina el estado de impresión para el informe especificado.

Uso en tiempo de ejecución

[form.]CrystalReport.Status

Por ejemplo:

Status% = CrystalReport1.Status

«Recupera el estado de impresión y lo guarda en la variable Status.»

Comentarios

La propiedad Status retornará uno de los siguientes valores:

• 0 - El informe no se ha impreso o no se ha terminado de imprimir.

• 3 - El informe se terminó de imprimir.

• 5 - El usuario canceló el informe.

Disponibilidad

Sólo lectura|tiempo de ejecución

StoredProcParam Descripción

Obtiene y establece los parámetros de procedimiento almacenado cuando se usa un informe basado en procedimientos almacenados de SQL.

Uso en tiempo de ejecución

[form.]CrystalReport.StoredProcParam(Parameter Array Index%)[= newParameter$]

Por ejemplo:

CrystalReport1.StoredProcParam(0) = "06/14/1989"

Page 32: Crystal Report ActiveX en VB6

«Establece el primer parámetro de procedimiento almacenado a la fecha 14 de junio de 1989.»

Comentarios

StoredProcParam establece el valor del parámetro especificado de una tabla de base de datos SQL que está basada en un procedimiento almacenado. Pase el valor al que quiera establecer el parámetro como cadena. Si el parámetro espera un tipo de datos diferente, debe pasar el valor como una cadena. Por ejemplo, para pasar el valor entero 396, use la cadena "396". El motor de impresión de Crystal realizará la conversión del valor a formato entero.

Disponibilidad

Lectura y escritura|tiempo de ejecución solamente.

UserName Descripción

Introduce el nombre asignado a un usuario para conectarse a un archivo .mdb de Access protegido con el fin de obtener los archivos de datos necesarios por el informe.

Uso en tiempo de ejecución

[form.]CrystalReport.UserName[= Name$]

Por ejemplo:

CrystalReport1.UserName = "MIS"

«introduce el nombre de usuario "MIS"»

Comentarios

• Escriba el nombre que se le ha asignado.

• El nombre debe encerrarse entre comillas.

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowBorderStyle Descripción

Especifica el tipo de borde para la ventana de impresión.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowBorderStyle[= BorderStyle%]

Por ejemplo:

CrystalReport1.WindowBorderStyle = 2

«establece un estilo de borde de tamaño ajustable (Style #2) para la ventana de impresión »

Comentarios

Seleccione uno de los siguientes estilos de borde para la ventana de impresión:

0 0 - NoBorder (crea una ventana sin borde). crptNoBorder

1 1 - FixedSingle (crea una ventana de tamaño fijo con un borde de línea simple). crptFixedSingle

2 2 - Siazable (crea una ventana que el usuario puede cambiar de tamaño). crptSizeable

3 FixedDouble (crea una ventana de tamaño fijo con un borde de línea doble). crptFixedDouble

Disponibilidad

Tiempo de diseño; tiempo de ejecución

Page 33: Crystal Report ActiveX en VB6

WindowControlBox Descripción

Especifica si la ventana de impresión tendrá o no un cuadro de control (menú de sistema) en la esquina superior izquierda cuando el informe se dirija a una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowControlBox[= {True|False}]

Por ejemplo:

CrystalReport1.WindowControlBox = True

«especifica que aparezca un cuadro de control (menú del sistema) en la ventana de impresión.»

Comentarios

• Seleccione True si quiere que la ventana contenga un cuadro de control. De lo contrario, seleccione False.

• Seleccione un valor aquí sólo si está imprimiendo hacia una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowControls Descripción

Especifica si aparecerán o no controles de impresión en la ventana Vista previa cuando la impresión se dirija a una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowControls[=TrueFalse%]

Por ejemplo:

CrystalReport1.WindowControls = 1

«Especifica qué controles de impresión aparecerán en la ventana Vista previa.»

Comentarios

Para TrueFalse% use uno de los siguientes: False = 0, True = 1.

Disponibilidad

Lectura y escritura (tiempo de diseño y de ejecución)

WindowHeight Descripción

Establece el alto de la ventana de impresión cuando el informe se dirija a una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowHeight[= Height%]

Por ejemplo:

CrystalReport1.WindowHeight = 300

«establece el alto de la ventana de impresión a 300 píxeles.»

Comentarios

• Si no le satisfacen los valores predeterminados, escriba el alto externo que desee para la ventana de impresión en píxeles.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

Page 34: Crystal Report ActiveX en VB6

WindowLeft Descripción

Establece la distancia, en píxeles, desde el borde izquierdo de la ventana principal a la ventana de impresión. Si la ventana de impresión es de nivel superior, la distancia se mide desde la izquierda de la pantalla.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowLeft[= Distance%]

Por ejemplo:

CrystalReport1.WindowLeft = 100

«establece el borde izquierdo de la ventana de impresión a 100 píxeles desde el borde izquierdo de la pantalla.»

Comentarios

• Si no le satisface el valor predeterminado, escriba el número de píxeles que desee que haya entre el borde izquierdo de la pantalla y el de la ventana.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowMaxButton Descripción

Especifica si la ventana de impresión tendrá o no un botón de maximizar cuando el informe se imprima en una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowMaxButton[= {True|False}]

Por ejemplo:

CrystalReport1.WindowMaxButton = False

«especifica que no aparezca el botón de Maximizar en la ventana de impresión.»

Comentarios

• Seleccione True si quiere que la ventana contenga un botón de maximizar. De lo contrario seleccione False.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowMinButton Descripción

Especifica si la ventana de impresión tendrá o no un botón de minimizar cuando el informe se imprima en una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowMinButton[= {True|False}]

Por ejemplo:

CrystalReport1.WindowMinButton = True

«especifica que aparezca un botón de Minimizar en la ventana de impresión.»

Comentarios

• Seleccione True si quiere que la ventana de impresión contenga un botón de minimizar. De lo contrario, seleccione False.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

Page 35: Crystal Report ActiveX en VB6

WindowParentHandle Descripción

Especifica el controlador de la ventana principal si la ventana de impresión va a ser secundaria de otra ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowParentHandle[= ParentHandle%]

Comentarios

Esta propiedad es sólo de tiempo de ejecución.

Por ejemplo:

CrystalReport1.WindowParentHandle = Form1.hWnd

«establece WindowParentHandle al controlador de Form1. Esto indica que la ventana de impresión es secundaria de Form1»

Disponibilidad

Tiempo de ejecución (lectura y escritura)

WindowState Descripción

Establece el estado de la ventana Vista prevista, normal, minimizada, o maximizada, cuando el informe se dirija a una ventana Vista previa.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowState[= State%]

Por ejemplo:

CrystalReport1.WindowState= 2

«Cuando el informe se imprime en una ventana Vista previa, esta ventana aparece maximizada cuando se abre.»

Comentarios

Use los siguientes valores para establecer la propiedad WindowState:

0 = Normal La ventana Vista previa no aparece minimizada ni maximizada. Aparece con un tamaño y posición predeterminados definidos previamente por la aplicación o por Windows.

crptNormal

1 = Minimized La ventana Vista previa aparece minimizada como un icono junto a la esquina inferior izquierda de la pantalla. El icono

puede restaurarse para mostrar la ventana en estado normal.

crptMinimized

2 = Maximized La ventana Vista previa se maximiza cuando se abre para ocupar toda la pantalla. crptMaximized

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowTitle Descripción

Especifica el título que quiera que aparezca en la barra de título de la ventana de impresión cuando el informe se dirija a una ventana.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowTitle[= Title$]

Por ejemplo:

CrystalReport1.WindowTitle = "Ingresos trimestrales"

«establece el título de la ventana de impresión (la cadena que aparece en la barra de título) como "Ingresos trimestrales"»

Comentarios

• Asegúrese de que el título se encierra entre comillas.

• Seleccione un valor aquí solo si está imprimiendo en una ventana (si Destination = 0). Disponibilidad

Tiempo de diseño; tiempo de ejecución

Page 36: Crystal Report ActiveX en VB6

WindowTop Descripción

Establece la distancia, en píxeles, desde el borde superior de la ventana primaria a la ventana de impresión. Si la ventana de impresión es de nivel superior, la distancia se mide desde el borde superior de la pantalla.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowTop[= Distance%]

Por ejemplo:

CrystalReport1.WindowTop = 100

«establece el borde superior de la ventana de impresión a 100 píxeles desde la parte superior de la pantalla.»

Comentarios

• Si no está satisfecho con el valor predeterminado, escriba el número de píxeles que quiera que haya entre el borde superior de la pantalla y el de la ventana.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

WindowWidth Descripción

Especifica el ancho de la ventana de impresión en píxeles.

Uso en tiempo de ejecución

[form.]CrystalReport.WindowWidth[= Width%]

Por ejemplo:

CrystalReport1.WindowWidth = 480

«especifica un ancho de ventana de impresión de 480 píxeles.»

Comentarios

• Si no está satisfecho con el valor predeterminado, escriba el ancho externo de la ventana, en píxeles.

• Seleccione un valor aquí sólo si está imprimiendo en una ventana (si Destination = 0).

Disponibilidad

Tiempo de diseño; tiempo de ejecución

Page 37: Crystal Report ActiveX en VB6

Métodos del control ActiveX Crystal PrintReport Descripción

PrintReport inicia la impresión del informe.

Uso en tiempo de ejecución

[form.]CrystalReport.PrintReport

Por ejemplo:

Result% = CrystalReport1.PrintReport

«imprime el informe especificado.»

Comentarios

• PrintReport retorna un código de resultado, 0 si la llamada es satisfactoria, un código de error en el intervalo 20XXX si falla.

• También puede imprimir un informe mediante la propiedad Action. Sin embargo, si algo va mal, se obtiene un error de ejecución que finalizará la aplicación. Por esta razón, necesitará instalar un controlador de error.

Disponibilidad

Tiempo de ejecución