12.176 cursos gratis
8.741.736 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Introducción a CrystalReport

Autor: michael cofre
Curso:
10/10 (2 opiniones) |5576 alumnos|Fecha publicación: 16/04/2007
Envía un mensaje al autor

Capítulo 6:

 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.

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.

NotaCrystal 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

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.

NotaLas 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.

Í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.

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.

Índice de métodos ActiveX

PrintReport

Desencadena la impresión del informe.

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"

«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"

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 de impresión)

crptToWindow

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.»

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.

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.
·     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.

NotaLos 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.

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

NotaEsta 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.»

Comentarios
Con 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

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é


PARÁMETRO

DESCRIPCIÓN

VALORES ESPERADOS

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"

«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

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