logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • About
  • Consola de usarios Ayuda
    • en
    • de
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Conexión de un informe a los datos de FastReport en Lazarus
  • Instalación de FastReport en Lazarus

    17 de marzo de 2021

    Como parte del programa educativo Académico, hemos decidido producir algunos artículos de apoyo para los

    read more
  • Trabajar con gráficos y tablas en FastReport VCL

    22 de marzo de 2021

    Seguimos publicando artículos de apoyo para los estudiantes como parte del programa educativo de la

    read more
  • Uso de mapas interactivos en FastReport VCL 2021

    30 de abril de 2021

    Este es el artículo final de los cursos del programa educativo Akademik. En las

    read more
  • La formación de informes con los formularios de diálogo

    26 de abril de 2021

    En los artículos precedentes del programa educativo Academic aprendimos a instalar FastReports en Lazarus,

    read more
  • Convierta los datos de la base de datos en un documento en Delphi / Lazarus / C ++ Builder

    3 de febrero de 2021

    ¿Cómo convertir un montón de datos en un informe? Oracle DB, MySQL, Microsoft SQL Server, PostgreSQL,

    read more

Conexión de un informe a los datos de FastReport en Lazarus

26 de marzo de 2021

En el artículo anterior sobre cómo trabajar con cuadros y gráficos, nos hemos familiarizado con los gráficos comerciales y los códigos de barras. Ahora es el momento de complicar la tarea y trabajar con diferentes fuentes de datos. La mayoría de los informes se basan normalmente en datos de bases de datos. Para acceder a estos datos, Lazarus proporciona poderosos mecanismos que son utilizados por FastReport.

Componentes de acceso a datos

Esto se refiere a los componentes de la pestaña DataAccess, que pueden actuar como fuentes de datos para el informe. Cualquier componente sucesor de TDataSet se puede utilizar para este propósito.

Además de acceder a los datos definidos en el proyecto, FastReport le permite crear nuevos componentes en tiempo de ejecución. Los principios de nuestra empresa para crear componentes de acceso a datos son muy similares a los que se utilizan en el entorno de Lazarus: imponemos un componente en el formulario y configuramos sus propiedades en el inspector de objetos. La funcionalidad de las conexiones en tiempo de ejecución es un poco más limitada en la elección de formatos de base de datos, por lo que al momento de escribir este artículo, solo DBF y SqLite3 se pueden crear en tiempo de ejecución.

Esto se refiere a los componentes de la pestaña DataAccess que utilizan el componente del conector TfrxDBDataSet de la pestaña FastReportn para conectar una tabla u otra fuente de datos a la banda. Este componente actúa como intermediario entre la fuente de datos y el núcleo de FastReport. El componente es responsable de navegar por los registros y acceder a los campos. Esto le permite evitar vincular el núcleo FastReport a cualquier biblioteca de acceso a datos.

FastReport puede trabajar simultáneamente con BDE y cualquier otra biblioteca, o recuperar datos de una fuente no asociada con la base de datos, como una matriz o un archivo.

El componente TfrxDataSet está diseñado para trabajar con fuentes de datos y debe tenerse en cuenta su versatilidad. Puede utilizar todas las conexiones heredadas de TDataSet. ¡Y esto es BDE, CVS y la gran mayoría de otras bibliotecas! Para trabajar con otras fuentes de datos (matriz, archivo, etc.) se utiliza el componente TfrxUserDataSet.

Para vincular un componente TfrxDBDataSet a una fuente de datos, se debe configurar una de las opciones:

  • La propiedad DataSet, que se vincula directamente a una tabla o consulta.

  • La propiedad DataSource, que se conecta al componente TDataSource.

Ambos métodos de conexión son equivalentes, solo el primero lo hace sin el componente TDataSource.

Para que el componente y sus datos asociados estén disponibles en el informe, debe especificar explícitamente qué fuentes de datos se utilizan en el informe. En el diseñador de FastReport, seleccione el elemento de menú "Informe / Datos ..." y en la ventana que aparece, marque las casillas junto a las fuentes requeridas.

Ventana de Selección de Fuente de datos

Descripción de componentes en el diseñador FastReport

El componente TfrxDBFTable está diseñado para organizar el acceso a una tabla de base de datos .dbf y tiene las siguientes propiedades:

  • FilePath especifica la ruta a la carpeta de la base de datos.

  • TableName asigna el nombre de la base de datos. Al seleccionar una base de datos, también cambiará la ruta.

  • FieldAliases le permite especificar nombres de campo personalizados.

  • Filtro contiene una expresión para filtrar los registros.

  • Filtrado determina si se aplica un filtro.

  • IndexFieldNames almacena los nombres de los campos que forman el índice.

  • IndexName define el nombre del índice secundario.

  • MasterFields incluye los campos asociados con el conjunto de datos maestro.

  • El maestro es el mismo que el conjunto de datos maestro.

  • UserName establece el Alias (nombre de usuario) del conjunto de datos.

Las asignaciones de propiedades del componente son las mismas que las propiedades TDbf en Lazarus. Para conectar el componente a la tabla de la base de datos, simplemente complete la propiedad TableName. Abra la tabla configurando Activo: = Verdadero.

El editor de propiedades FieldAliases le permite seleccionar los campos que estarán disponibles al acceder a la tabla y establecer un nombre personalizado para cada campo y para toda la tabla.

Editor de alias

El editor de propiedades MasterFields se utiliza para crear relaciones maestro-detalle entre dos tablas. Para vincular dos tablas con una relación maestro-detalle en una tabla esclava, especifique la tabla maestra en la propiedad Maestra e invoque el editor de propiedades MasterFields. Si la tabla tiene índices secundarios para usar, primero configure la propiedad IndexName.

Editor de enlaces master-detail

Este editor le permite vincular visualmente los campos maestro y de detalle de los conjuntos de datos. Cuando los conjuntos están vinculados por una relación maestro-detalle, el contenido del conjunto de detalles se filtra a medida que navega por el conjunto maestro, de modo que solo contiene registros que son relevantes para el registro del conjunto maestro actual.

Para vincular campos de conjuntos, seleccione el campo de la lista de la izquierda (conjunto de detalles), luego el campo de la lista de la derecha (conjunto maestro) y haga clic en el botón "Agregar". Esto moverá el mapeo de campo a la lista inferior. Para borrar la lista inferior, use el botón "Borrar". Es importante tener en cuenta que los campos a vincular deben ser del mismo tipo y clave.

Pero en Lazarus mismo estas propiedades no funcionan con selecciones (clasificación y filtrado de Master-Detail) para componentes TDbf, y como usamos este componente, tampoco nos funciona.

El componente TfrxLazSqliteQuery está diseñado para realizar consultas SQL a la base de datos usando SqLite3 y tiene las siguientes propiedades:

  • La base de datos especifica el nombre de la conexión de la base de datos (el valor predeterminado es siempre "sqlLite").
  • FieldAliases le permite especificar nombres de campo personalizados.
  • Filter almacena una expresión para filtrar los registros.
  • Filtrado determina si se aplica un filtro.
  • Maestro es lo mismo que el conjunto de datos maestro.
  • Params muestra una lista de parámetros de consulta.
  • SQL incluye el texto de la consulta.
  • UserName establece el alias (nombre de usuario) del conjunto de datos.
  • IgnoreDupParams: si es verdadero, los nombres de los parámetros de consulta no se duplicarán en el editor de parámetros.

La propiedad SQL tiene su propio editor para completar la consulta SQL:

Editor de consultas SQL en el componente TfrxLazSqliteQuery

La propiedad Params también tiene su propio editor. Está disponible si el texto de la consulta contiene parámetros.

Editor de parámetros en el componente TfrxLazSqliteQuery

Un parámetro puede ser de dos tipos: el asignado desde el conjunto de datos maestros y el otro con un valor específico, donde el valor puede ser una constante, una referencia a una variable o una propiedad del objeto.

En caso de que el parámetro se tome del conjunto de datos maestro, se debe configurar la propiedad TfrxLazSqliteQuery.Master. El conjunto de datos debe contener un campo con el mismo nombre que el parámetro. No es necesario especificar el tipo y el valor del parámetro.

El componente TfrxLazSqliteDataBase se utiliza para conectarse a la base de datos SqLite3. Su propósito es similar a los componentes TSQLite3Connection y TSqlTransaction, y tiene las siguientes propiedades:

  • Conectado: cuando True está activo, la conexión está activada.
  • DatabaseName le permite seleccionar un nombre para la base de datos.
  • LoginPrompt define si al usuario se le debe solicitar una contraseña cuando se conecta a la base de datos. Si LoginPrompt = False, el nombre de usuario y la contraseña deben especificarse en la cadena de conexión.

Creación de informes con acceso a la base de datos

Considere la posibilidad de crear un informe simple que contenga componentes de acceso a datos, donde usaremos la base de datos de demostración LDemo como ejemplo.

Para empezar, creemos un proyecto, con el que realizaremos nuestros experimentos. Haga un nuevo proyecto en Lazarus y coloque en el formulario los componentes TfrxReport, TfrxDesigner, TfrxDialogControls, TfrxDBDataset, TDbf.

Formulario en Lazarus con componentes FastReport

Configure la conexión a la base de datos. Para hacer eso, busque la propiedad TableName de Dbf1 y en el cuadro de diálogo, elija el archivo de base de datos; cualquier cosa con una extensión .dbf funcionará. A continuación, establezca la propiedad DataSet de frxDBDataset1 en "Dbf1".

Luego agregue el botón al formulario e ingrese el siguiente código en OnClick:

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
 frxReport1.DesignReport;
end;

Recuerde permitir subprocesos para el proyecto de Linux. Esto se describió en el artículo de instalación. Después de eso, compile y ejecute el proyecto. No se requiere nada más para crear el diseñador de informes del usuario final.

Al hacer clic en Diseño, el diseñador se abre con un informe vacío. Considere la posibilidad de crear informes sencillos en este entorno. Por cierto, en este punto ya sabe cómo conectar bases de datos a FR desde Lazarus.

Un informe simple de tipo "Lista"

Ahora generaremos datos de una tabla de base de datos que ya usa FR en tiempo de ejecución. Siga los siguientes pasos para generar el informe:

  1. Haga clic en el botón "Nuevo informe" en la barra de herramientas del Diseñador. FastReport creará un informe vacío que contiene las páginas "Código", "Datos", "Página1".
  2. Cambie a la página "Datos" y coloque el componente "Tabla DBF" en la página:

Agregar un componente frxDBFTable a un informe

  1. Seleccione la base de datos a conectarse. Para hacer esto, establezca la propiedad TableName en el Inspector de objetos seleccionando el archivo customer.dbf del proyecto de demostración.

  2. Para conectar el banco de datos de Nivel 1 a la tabla, haga doble clic en él y seleccione nuestra tabla en la ventana que se abrirá. Luego, arrastre y suelte los campos deseados de la ventana Árbol de datos en la hoja del informe. Nuestro informe se verá así:

Plantilla de informe para salida de lista


Para ver el informe resultante, haga clic en el botón "Vista previa" en la barra de herramientas.

Opciones de manejo de datos útiles

La pestaña Datos no es solo para componentes de acceso a datos. Con los objetos Texto y Dibujo, puede colocar etiquetas explicativas y dibujar diagramas simples, como se muestra en la siguiente figura:

Ejemplo de descripción de datos

about product comprar
avatar
Sergey Plastun
VCL Development
Fast Reports Team: Sergey Plastun - VCL Development at Fast Reports
VCL Lazarus FastReport Delphi Academic

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • FAQ
  • Toturial en vídeo
  • Foro
  • Support SLA
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2023 by Fast Reports Inc.

  • Privacidad

Trustpilot