Reportes con crystalreport

  • 219 views
Uploaded on

Car Center "Rivera & G" : http://carcenterrivera.pusku.com/ …

Car Center "Rivera & G" : http://carcenterrivera.pusku.com/


Mi web Programador :http://riverasn.p.ht/

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
219
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
33
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ REPORTES CON CRYSTALREPORT Permiten mostrar e imprimir la información proveniente de una tabla, vista o procedimiento almacenado . Procedimientos  Crear la fuente (Base de datos, tablas y registros) en Sql Sevrer  Crear un proyecto en Visual Basic Net  Ubicar un control CrystalReportViewer en el formulario (Use la categoría INFORME del cuadro de herramientas)  Crear objeto CrystalReport (que contendrá la información a mostrar o imprimir)  Enlazar el control CrystalreportViewer con el objeto CrystalReport usando la propiedad ReportSource Solución Crear la fuente (Base de datos, tablas y registros) en Sql Sevrer BD: MAVILA create database Mavila go use Mavila go create table cliente(idcli char(5) primary key not null, razcli varchar(45),dircli varchar(45),foncli char(8)) go create table empleado(idemp char(2) primary key not null, apeemp varchar(45),sexemp bit,sueemp numeric(9,3)) go create table articulo(idart char(6) primary key not null,
  • 2. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ desart varchar(45),stock numeric(5,0),precomp numeric(9,2),prevent numeric(9,2)) go create table factura(idfac char(6) primary key not null, idcli char(5) foreign key(idcli) references cliente(idcli), idemp char(2) foreign key(idemp) references empleado(idemp), fecfac datetime,totfac numeric(9,2),activo bit) go insert into cliente values('00001','Moinsa S.A','Union 384','234567') insert into cliente values('00002','Trutex S.R.L','Ayacucho 495','294743') insert into cliente values('00003','Nicolini S.A','Junin 887','224566') insert into cliente values('00004','Morin S.A','La Mar 389','283161') insert into cliente values('00005','Pandora S.A','Los Jeranios 345','243171') insert into cliente values('00006','Ticos S.R.L','San Pedro 585','227575') insert into cliente values('00007','Bentin S.A','Ayacucho 102','288841') insert into cliente values('00008','Salinas S.A','Av Peru 696','283461') insert into cliente values('00009','Tours S.R.L','Ayacucho 4094','285677') insert into cliente values('00010','Chicamo S.A','Av. Brasil 885','283484') insert into cliente values('00011','Jarapa S.R.L','Av. España 455','238585') go insert into empleado values('01','Jacinto Rios',1,1000) insert into empleado values('02','Pilar Odria',0,670) insert into empleado values('03','Rosa Perez',1,800) insert into empleado values('04','Carlos Uriol',1,1400) insert into empleado values('05','Mario Perez',1,700) go insert into articulo values('a00001','Cuaderno Loro',200,20,25) insert into articulo values('a00002','Libro Tres Ositos',120,50,60) insert into articulo values('a00003','Libro Lenguaje II',80,45,60) insert into articulo values('a00004','Libro Matematica I',50,35,40) insert into articulo values('a00005','Historia Universal',70,50,58) insert into articulo values('a00006','Geografia',180,25,35) go
  • 3. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ insert into factura values('f00001','00002','02','10/01/2007',200,1) insert into factura values('f00002','00001','04','10/01/2007',70,1) insert into factura values('f00003','00004','01','12/01/2007',175,1) insert into factura values('f00004','00002','02','12/02/2007',650,1) insert into factura values('f00005','00003','02','22/02/2007',160,1) insert into factura values('f00006','00001','03','02/03/2007',458,1) insert into factura values('f00007','00002','05','15/03/2007',58,1) insert into factura values('f00008','00006','03','16/03/2007',60,1) insert into factura values('f00009','00002','01','10/04/2007',125,1) insert into factura values('f00010','00001','04','13/04/2007',60,1) insert into factura values('f00011','00003','02','23/04/2007',93,1) insert into factura values('f00012','00001','04','04/04/2007',160,1) insert into factura values('f00013','00003','01','24/04/2007',58,1) insert into factura values('f00014','00001','03','02/05/2007',200,1) insert into factura values('f00015','00004','04','12/05/2007',35,1) insert into factura values('f00016','00002','04','22/05/2007',40,1) insert into factura values('f00017','00002','04','03/06/2007',60,1) insert into factura values('f00018','00001','01','13/06/2007',193,1) insert into factura values('f00019','00001','01','14/06/2007',40,1) insert into factura values('f00020','00003','01','01/07/2007',35,1) insert into factura values('f00021','00004','02','11/07/2007',120,1) insert into factura values('f00022','00001','03','21/07/2007',25,1) insert into factura values('f00023','00001','03','05/08/2007',180,1) insert into factura values('f00024','00001','03','05/08/2007',200,1) insert into factura values('f00025','00001','03','15/08/2007',100,1) insert into factura values('f00026','00004','02','01/09/2007',60,1) insert into factura values('f00027','00001','02','21/09/2007',158,1) insert into factura values('f00028','00002','01','22/09/2007',25,1) insert into factura values('f00029','00002','01','12/10/2007',60,1) insert into factura values('f00030','00002','01','22/10/2007',40,1) insert into factura values('f00031','00002','01','12/11/2007',93,1) insert into factura values('f00032','00003','04','15/11/2007',50,1) insert into factura values('f00033','00001','04','25/11/2007',180,1) insert into factura values('f00034','00001','04','26/11/2007',60,1) insert into factura values('f00035','00002','03','06/12/2007',40,1) insert into factura values('f00036','00002','03','16/12/2007',100,1) insert into factura values('f00037','00002','03','21/12/2007',170,1)
  • 4. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ insert into factura values('f00038','00002','04','31/12/2007',60,1) insert into factura values('f00039','00001','02','05/01/2008',100,1) insert into factura values('f00040','00002','01','15/01/2008',120,1) insert into factura values('f00041','00002','01','01/02/2008',155,1) go Nota: Observamos que las tablas principales son Cliente, Empleado y Articulo y la tabla foránea es Factura. Siguiendo las reglas de creación, debemos decir que primero se crean las tablas principales o padres y luego las foráneas; además para la inserción de datos, seguimos la misma regla. Crear un proyecto en Visual Basic Net Nmbre del Proyecto: PrjReportes.vb Ubicar un control CrystalReportViewer en el formulario (Use la categoría INFORME del De cuadro de herramientas de la categoría INFORME, haga clic en el control CrystalReportViewer y luego clic en el formulario y el control se ubica como se observa en el formulario de la derecha. Seleccione el control CrystalReportVewer1 y cambie la propiedad DisplayGrouptree por False. Observe:
  • 5. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Crear objeto CrystalReport (que contendrá la información a mostrar o imprimir) Esta es la parte mas importante, ya que tendremos que elegir de que fuente (tabla, vista o procedimiento) obtendremos nuestro informe. Por ejemplo, queremos obtener un informe de la tabla principal ARTICULO. Pasos para crear el Objeto CrystalReport para la tabla Articulo. Menu Proyecto/Agregar Nuevo Elemento … Elija la categoría Reporting y luego la plantilla Crystalreport, como se observa: Luego haga clic en el botón Agregar y aparece la ventana de Galeria de Crystalreport como se observa:
  • 6. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Luego, haga clic en botón ACEPTAR y aparece : Haga clic en el símbolo +de Crear nueva conexión: Luego haga clic en símbolo +de la carpeta OLE DB (ADO)como se observa:
  • 7. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Aparecerá la siguiente ventana, de la cual se elejira el proveedor MICROSOFT OLE DB PROVIDER FOR SQL SERVER, ya que estamos trabajando con una fuente que proviene de un servidor de datos Sql Server, observe: Haga clic en el botón Siguiente e indique la Información de Conexión, Para eso, marque el check de Seguridad integrada y luego ubique como nombre de servidor EL PUNTO(.) para finalmente elegir la Base de datos creada en Sql Server (al inicio y llamada MAVILA) y de la cual haremos un informe de una de sus tablas. Observe: Luego hacemos Clic en el botón Siguiente y aparece una ventana de estadísticas, observe:
  • 8. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Finalmente hacemos Clic en el botón FINALIZAR, observándose la conexión con la base de datos MAVILA. Ahora despliegue el símbolo + de la base de datos MAVILA, mostrándose las tablas, vistas y procedimientos de la Base de datos. Aqui solo aparecen tablas, porque eso fue lo único que creamos al inicio. Observe:
  • 9. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Ahora elija la tabla ARTICULO de la cual deseamos hacer un informe o reportey agréguelo a la lista de TABLAS SELECCIONADAS, haciendo clic en el botón , observe: Ahora haga clic en el botón SIGUIENTE y aparace la siguiente ventana de datos:
  • 10. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Despliegue la tabla Articulo, haciendo clic en el signo + para mostrar los campos a ubicar en el informa, observe. En nuestro caso ubicaremos todos los campos como se observa: Luego haga clic en el botón SIGUIENTE que nos mostrara la ventana de Agrupamiento, observe: Nota: Esta ventana la usaremos cuando queramos AGRUPAR POR UN CAMPO, una tabla FORANEA. En este caso como no es el caso, ya que se trata de una tabla Principal, solo hacemos clic en el botón SIGUIENTE, con lo cual se obtendrá la ventana de SELECCIÓN DE REGISTROS, observe:
  • 11. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Aquí tampoco haremos nada, y solo haremos clic en el botón SIGUIENTE, con lo cual se mostrara la ventana para elegir los estilos del informe a mostrar, obseve: Finalmente hacemos clic en el botón FINALIZAR y habremos obtenido nuestro OBJETO CRYSTALREPORT
  • 12. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Adecue diseño del objeto para mostrarlo de esta forma: Nota: Para cambiar el color del texto, asi como el color de fondo, primero seleccione el texto REPORTE DE ARTICULOS y luego vaya a las propiedades y elija TEXTCOLOR (con el color deseado)y BACKCOLOR (con el color deseado)
  • 13. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Enlazar el control CrystalreportViewer con el objeto CrystalReport creado usando la propiedad ReportSource Para eso, primero seleccionamos el control CrystalReportViewer1 creado y que se halla en el formulario y luego en propiedades, haga clic en la flechita y elija PrjReporte.CrystalReport1, observe: Aparece información en el control CrystaleReportViewer1 que se halla en el formulario, indicándonos que se realizo el enlace con el Objeto crystalRepor1 en forma idónea, observe: Finalmente, ejecute el formulario, para obtener el siguiente informe o reporte:
  • 14. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ AHORA, si lo Maximizamos, obtendremos:
  • 15. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Práctica para el alumno: Crear un reporte para la vista VISTAFACTURA creada en la CLASE NRO 13 Reporte por agrupación Por lo general se dan para las tablas o las vistas que provienen de las tablas hijas (relacionadas). Crear un reporte de Facturas x Clientes usando la vista Vistafactura En SQL Server 2008 En SQL Server, crear la vista: vistafactura Alias Nro. Factura Cliente Atendido Por Fecha Emisión Total Campo idfac razcli Apeemp fecfac totfac Tabla Factura Cliente Empleado Factura Factura Nota: No olvide guardar el script de la vista
  • 16. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Este script es en SQL Server, lo guarda junto con el script de la base de datos y tablas create view vistafactura as SELECT dbo.factura.idfac AS [Nro. Factura], dbo.cliente.razcli AS Cliente, dbo.empleado.apeemp AS [Atendido Por], dbo.factura.fecfac AS [Fecha Emisión], dbo.factura.totfac AS Total FROM dbo.cliente INNER JOIN dbo.factura ON dbo.cliente.idcli = dbo.factura.idcli INNER JOIN dbo.empleado ON dbo.factura.idemp = dbo.empleado.idemp go En Visual Basic Net 2008 Para esto debemos crear un nuevo formulario Form2 Luego nos vamos al menú proyecto y hacemos clic en la opción Agregar Nuevo elemento Luego elegimos la opción Reporting como se observa y luego la plantilla CrystalReports Luego de dar nuevo nombre (si desea), haga clic en el botón Agregar
  • 17. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Nuevamente Aceptar Despliegue la conexión existente a la base de datos MAVILA y elija la vista VISTFACTURA como se observe y agréguelo a tablas Seleccionadas (lado derecho). Haga clic en el botón Siguiente y aparece: Despliegue la vistafactura y elija los campos a mostrar en el reporte como se indica
  • 18. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Haga clic en el botón Siguiente y aparece: De los campos de informe, elija el campo por el cual se agruparan los restantes, por lo general son los campos de las tablas padres. Para nuestro ejemplo, elegiremos el campo vistafactura.cliente y lo ubicaremos en el lado derecho así como el orden que deseamos que aparezca como se observa:
  • 19. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Hacemos clic en el botón Siguiente
  • 20. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Si usted desea cambiar la función del campo resumido (campo numérico), lo puede hacer, haciendo clic en el campo resumido existente como se observa: Para nuestro caso, nuestro reporte no tendrá un campo resumido, por lo tanto lo quitaremos como se observa:
  • 21. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Haga clic en botón Siguiente hasta llegar a la última ventana donde se elige el estilo como se observa:
  • 22. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Una vez que elige el estilo, haga clic en el botón Finalizar Adecue los campos como se observa. Solo el campo de agrupamiento Cliente debe quedar en el área de encabezado y el resto en el área de detalle. Finalmente en el formulario Form2, agrege el control CrystalReportViewer1
  • 23. Programador y Analista De Sistemas Autor : Santos Nilo Rivera Luján Mi Web: http://riverasn.p.ht/ Mi grupo Programadores: https://www.facebook.com/groups/398604720248657/ Elija el control CrystalreportViewer1 y en la propiedad ReportSource, elija el objeto CrystalReport2 Ejecute ese formulario