Autor Tema: lo que tu mama no te conto de los CrystalReports !!!  (Leído 21602 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
lo que tu mama no te conto de los CrystalReports !!!
« : diciembre 27, 2007, 09:41:32 pm »
hace poco menos de un mes no tenia ni mi3rd4 de idea de lo que eran los CrystalReports que de ahora en adelante llamare CrysRep....

para decirte que no sabia que los CrysRep no eran producto de la Microsoft, y por si no lo sabías, dejame decirte que los CrysRep son un producto ajeno a bi$$gates.

Sino me crees, date una vuelta por el site
Código: [Seleccionar]
www.businessobjects.com
Con esto empiezo a abrirte los ojos a lo que es el mundo de los CrysRep.

Verás que trabajar con los CrysRep es bien mamado, y me baso en la teoría del Huevo de Colón.... con esto no digo que es fácil porque alguien me enseño... lo digo porque así quedaras luego de leer el post!


Ya entrando en materia, en este apartado te explicare como trabajar con los CrysRep ver 10 en vb.Net 2005


requisitos:
el Visual Basic .Net 2005 en español, con el componente CrysRep Instalado por supuesto.
una base de Datos relacional.
y lo más importante La necesidad de crear un Reporte!!!!

- Crea un proyecto nuevo del tipo "Aplicacion para Windows"
para trabajar adecuadamente, (ojo con la palabra adecuada, porque siempre se puede de otra forma....) necesitas conectar tu proyecto de vb.Net a tu data, por medio del menú Herramientas (vb.Net) - Conectar con base de Datos... eso para crear un Esquema de tu Data..
Esto te creara un DataSet con todas las tablas que tu desees.

A lo que me referia con la palabra adecuadamente, es que una opción es crear tu esquema a patita, pero date cuenta que es mas facil ocupar los famosos Asistentes a los que microsoft nos tiene acostumbrados a ir creando un DataTable con todos los campos uno por uno.... pero en fin it's your desicion

- va ahora agregas un frm a tu proyecto... tu te llamaras frmReportes.
- en el agregas un control CrystalReportViewer.... tu te llamaras objViewer
- al objViewer le asignas la propiedad "Dock" a Fill pa que te ocupte todo el espacio del frm
- agrega un nuevo elemento a tu proyecto, del tipo CrystalReport,... tu te llamaras objCrystal

ojo que cuando hayas agregado el objCrystal te aparecera un asistente que te preguntará si queres hacer uno en Blanco, con Asistente o duplicar uno que ya creaste....

Primero vamos a seleccionar uno en blanco. (mas adelante ocuparemos el asistente....)

con esto te crea un CrysRep en blanco y te debe aparecer en la parte izquierda una ventana acoplable llamada "Explorador de Campos".
ahi, donde dice "Campos de Base de Datos" da clic derecho y luego "Asistente de Base de Datos"---"ADO.Net DataSets" aqui te deben aparecer las tablas de tu esquema... sino pos tas frito...

seleccionas la tabla de la que quieres el reporte... ojo ahorita solo agrega una... vamos a ir despacio...

- Aceptar

ahora en el Explorador de Campos debe de aparecer tu tabla con todos sus campos.

- Agrega los campos de tu tabla que queras mostrar en el reporte a la Seccion3(Detalles) del ObjCrystal

CrysRep le pondra los nombres de los campos automaticamente (gonitos los CrysRep)


ahora, el codigo.

en las declaraciones declara 3 cosas
- la conexion
- un dataSet
- un dataAdapter

- en el load del frmReportes vas a setear tu conexión... esto me lo voy a saltar porque es otor pisto....

luego abrir la conexion, vamos a crear la consulta... podes crear una consulta con algun criterio, todo de depende de tu Data.

- la vas a Abrir con el dataAdapter
Citar
       (dataAdapter("select * from nombre_tabla", my_conexion)

- Llenas tu dataSet con el resultado de tu consulta, logicamente vas a consultar a la tabla que agregaste al Explorador de Campos...
Citar
       (dataAdapter.fill(dataSet,"nombre_tabla")

- seteas el dataSource de tu objCrystal con el dataSet
Citar
objCrystal.SetDataSource(dataSet)

- refrescas tu objCrystal
Citar
objCrystal.Refresh

- al objViewer le seteas tu objCrystal
Citar
frmReporte.objViewer.ReportSource = objCrystal

ahora presiona F5 y veamos si furula.....

si todo salio bien... te pregunto ¿como se ve vo?

como ya es noche... mañana te sigo contando lo que tu mama no te dijo de los CrystalReport pero esta vez de un reporte con Corte de Control o llamado también  Maestro - Detalle  ohyea:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Herberths

  • Sv Member
  • ***
  • Mensajes: 462
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #1 : diciembre 27, 2007, 10:09:29 pm »
Solo medio lo empese a leer y debola c nota q esta facil..
para empesarlo a usar, no es tan complicad
Gracias :mosh:
Equivocarse es humano, pero para complicar las cosas es necesario un ordenador.

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #2 : diciembre 30, 2007, 11:39:38 am »
ahora que reviso lo que escribi veo que me faltaron dos cosas x_x

por si te da error cuando llenas el dataSet....

luego de crear el dataAdapter con tu consulta
Citar
     (dataAdapter("select * from nombre_tabla", my_conexion)

agrega lo siguiente
Citar
        dataAdapter.MissingSchemaAction = MissingSchemaAction.Add
        dataAdapter.MissingMappingAction = MissingMappingAction.Passthrough

quieres saber que hace.... pos tendrás que leer....

declara una variable del tipo objCrystal.... el CrysRep que creaste....



va. ahora con lo que quede pendiente de un Reporte con Corte de Control....

yo le llamo asi a aquellos reporte que estan agrupados por un criterio en especifico.... para este ejemplo voy a referirme a dos tablas de un base de datos "Relacional" como dije al inicio...

mis tablas son:

Table: Sucursales

con estos datos y columnas

codigo_sucursal           nombre_sucursal
1                              Casa Matriz Barrio Sta Lucia
2                              Sucursal Col 27 Septiembre
3                              Sucursal Barrio La Cruz

Citar
primariKey codigo_sucursal

Table: Empleados

con estos datos y columnas

codigo_sucursal        codigo_empleado      nombre_empleado
1                           1                            Pedro Gonzalez
1                           2                            Guadalupe Hernandez
1                           3                            Esteban Martinez
2                           1                            Ana Garcia
2                           2                            Silvia Lopez
2                           3                            Jose Herrera
3                           1                            Antonio Lainez
3                           2                            Susana Quintanilla
3                           3                            Francisco Cruz

Citar
PrimariKey codigo_sucursal+codigo_empleado
ForeignKey codigo_sucursal con referencia a tabla sucursales en el campo codigo_sucursal

..............

- agrega uno crystal report, tu te llamaras objCrystal2

- ahora seleccionamos el asistente estandar.... ojo, que hasta aquí ya debe estar en nuestro esquemas las dos tablas que estan arriba o sobre las cuales quieras trabajar...

- ya en el asistente en la seccion de Origenes de datos disponibles, buscas en la carpeta ADO.Nets te aparecera tu esquema con todas las tablas... seleccionamos y agregamos las tablas Empleados y Sucursales... Siguiente

- el vinculo el automaticamente lo creara.... Nota... si no lo hace automaticamente... tendras que hacerlo tu... jalando la clave principal hacia la foranea... si queres que lo haga automaticamente creo que lo que te falta es crear las llaves en tus tablas del esquema... eso lo haces en el esquema directamente... como¿? pos lee.. Siguiente

- campos a mostrar: como lo que queremos son los empleados por sucursal.. solo elegire dos campos de la tabla Empleados... codigo_sucursal y nombre_empleado... Siguiente

- aqui esta el reporte con Corte de Control.... Agrupamiento, a la seccion de agrupar por, agrega el campo codigo_sucursal de la seccion "Campos del Informe"... Siguiente

- Resumenes; si queres hacer un count de cuantos registros hay en el grupo, o los famosos subTotales.... Siguiente

- Ordenacion de grupos; dejalo en niguno... Siguiente

- Estilo... pues trataremos con el primero, el Estandar... Finalizar

ahora tu CrysRep va a tener un aspecto algo raro... ajustalo a tus ideas de "Decoro"....


ahora el codigo.....

en tu FrmReportes.... solo cambiaremos dos cosas del anterior... logicamente será el Query de la consulta en el dataAdapter y el nombre de la tabla en el dataSet...

Para ver un buen efecto consultare todos los Empleados existentes....

Citar
   
   ' primero declaramos la variable del tipo objCrystal
   dim objCrystal as objCrystal2

(dataAdapter("select * from empleados", my_conexion)
   dataAdapter.MissingSchemaAction = MissingSchemaAction.Add
   dataAdapter.MissingMappingAction = MissingMappingAction.Passthrough
   (dataAdapter.fill(dataSet,"empleados")

   ' de aqui es lo mismo

   objCrystal.SetDataSource(dataSet)
   objCrystal.Refresh
   frmReporte.objViewer.ReportSource = objCrystal

- F5.... como se ve?

ahhhh pero me diras... aparece agrupado por 1, 2 y 3 como codigo de sucursal....

interesante vea... como hacer para que aparezca el nombre de la sucursal...?¿?¿

pues vamos a hacer lo siguiente:

- primero.... vamos a agregar el campo "nombre_sucursal" de la tabla Sucursales a nuestro objCrystal2, y lo vas a agregar a la seccion Encabezado de Grupo...
Eso lo haces con el Explorador de Campos - Campos de Base de datos... solo arrastra el nombre del campo a la seccion que te dije antes...

- ahora el codigo; vamos a declarar otro dataAdapter o podes ocupar el mismo... yo ocupare otro, declarandolo desde el inicio... y seteandolo así:
Citar
    (dataAdapter2("select * from sucursales", my_conexion)
   dataAdapter2.MissingSchemaAction = MissingSchemaAction.Add
   dataAdapter2.MissingMappingAction = MissingMappingAction.Passthrough
   (dataAdapter2.fill(dataSet,"sucursales")
es un dataAdapter2 que llena el mismo dataSet solo que es la tabla "sucursales"

este codigo agregalo antes del
Citar
objCrystal.SetDataSource(dataSet)
   objCrystal.Refresh
   frmReporte.objViewer.ReportSource = objCrystal
ahora. en el objCrystal en tiempo de diseño selecciona el campo "Nombre de Grupo #1" de la sección "Encabezado de Grupo #1" y cambiale la propiedad "Suppress" a "True"

presiona F5 y decime ?como se ve?¿
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #3 : diciembre 30, 2007, 08:44:50 pm »
sabes yo tengo uan duda cone estos crystal report y lo  quiero hacer es imprimir un reporte con 2 tablas distintas d lo cual no tienen relacion ella, osea para explicarme mejor m gustaria que saliera el primer reporte y seguido de este q saliera el segundo repote cabal abajo de donde termine el primero, Lo intente hacer con subreportes pero al igual noc a veces en q posicion ponerlos! Alguan ayuda.. Osea lo mejor quzias algunos m digan es imprimir uno primero y seguido el otro.. Pero no lo quiero hacer d un solo.. y q salga cabal justo depues de dond termine el primero!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado Alexiel

  • -<- SvPrincess ->-
  • Sv Member
  • *
  • Mensajes: 178
  • Pienso luego Existo
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #4 : enero 17, 2008, 07:06:58 am »
Buenisimo aporte la verdad.
Yo siempre he tenido una duda, cual es la ventaja de trabajar con Crystal Reports??
Solo es el hecho de ahorrar tiempo, porque es mas facil?? O sera que es mas versatil en cuanto al diseño, trae mas opciones??

Otra consultita, estos reportes se pueden utilizar en ASP 2.0?? Se hace de la misma forma??

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #5 : enero 17, 2008, 11:33:59 am »
Osea lo mejor quzias algunos m digan es imprimir uno primero y seguido el otro.. Pero no lo quiero hacer d un solo.. y q salga cabal justo depues de dond termine el primero!

Cual es la necesidad de hacerlo uno tras de otro?¿?¿.-..... por como lo planteas no le veo razón de ser a ese reporte....

Buenisimo aporte la verdad.
Yo siempre he tenido una duda, cual es la ventaja de trabajar con Crystal Reports??
Solo es el hecho de ahorrar tiempo, porque es mas facil?? O sera que es mas versatil en cuanto al diseño, trae mas opciones??

Otra consultita, estos reportes se pueden utilizar en ASP 2.0?? Se hace de la misma forma??


Hasta donde se, Crystal Reports es el add-on que trae por default VS.Net para crear reportes.... hay otros complementos para reportes que se le pueden agregar al .Net.

Ventaja, los reportes con de vb6.0 de aquellos con corte de control(Maestro - Detalle) para mi eran super engorrozos... aquello del command Shape.......ajsdfajkla

ahora con los crystal es mas mamado....

Diseño.... con los corte de control crystal automaticamente te crea otro reporte, es decir si le das doble clic a un agrupador te aparece otro reportillo solo con la info de ese grupo... algo que se es bastante gonito

Opciones.... podes exportar a pdf, excel, word con el mismo formato de tu reporte, buscar cualquier texto dentro de tus reportes....

Versatil..... ya pondre mas ejemplos de lo que puedes hacer con los crystal... me he retrasado con el trabajo... no porque tengo de dos a tres entregas mas de ejemplos.... al final pondre un proyecto con todos los temas que he tocado....

ASP 2.0.... con eso no he trabajado..... pero segun google si se pueden ejecutar los crystal...

saludos
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

sicario

  • Visitante
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #6 : enero 17, 2008, 11:44:39 am »
a mi mi MAMA me conto que en crystal.. podia yo elegir en que formato quiero mi informacion (exel, word, html, pdf) .... pero no quiero utilizar la opcion que tiene el reportviewer.. de "EXPORTAR"... lo quiero automatico en mi apliacion....mediante una funcioncita....

¿como quedaria eso segun tu ejemplo?  :)

Desconectado Alexiel

  • -<- SvPrincess ->-
  • Sv Member
  • *
  • Mensajes: 178
  • Pienso luego Existo
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #7 : enero 17, 2008, 01:07:41 pm »
Ya que lo mencionas si tiene bastantes ventajas, sobre todo por los diferentes formatos que puedes utilizar.
Espero los demas ejemplos con ancias  :p

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #8 : enero 17, 2008, 01:44:41 pm »
Cual es la necesidad de hacerlo uno tras de otro?¿?¿.-..... por como lo planteas no le veo razón de ser a ese reporte....

T pongo un ejemplo... Suponete q estas en tu trabajo y tienen una impreseroa en red o por IP para todas las compu y la impresora esta en el primer piso y vs estas en el octavo piso tendrias q bajar ocho pisos para darla vuelta al papel o volver a poner la hoja y d alli subir de nuevo 8 pisos para volver a imprmir el segundo? No crees q seria mejor de un solo?
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado xeneise69

  • Sv Member
  • ***
  • Mensajes: 239
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #9 : enero 17, 2008, 05:39:17 pm »
hey fijense q estube probando el crystal reports, es facil de usar pero mi problema es cuando quiero probar mi aplicacion en otras maquinas me pide una serial es decir una clave de registro distanta a la q e usado para mi Visual estudio estoy usando visual basic.net 2005 y el crystal Reports q trae por default... podria alguien ayudarme como puedo hacer cuando pruebo en otra maquina mi aplicacion los reportes no me funcionan debido a q debo registrar el CrystalReports  :sur:

NOSE Q HACER ESTOY EN PRBLEMAS....  :cry:

de antemano muchas gracias....  :drinks:

Conectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14583
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #10 : enero 17, 2008, 08:54:45 pm »
que bien esta esta guia te animo a q la sigas y la completes porq aqui en todos lados piden crystal reports y no es una babosada con la q se juege todos los dias cuando no estas trabajando...

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #11 : enero 18, 2008, 09:11:37 am »
T pongo un ejemplo... Suponete q estas en tu trabajo y tienen una impreseroa en red o por IP para todas las compu y la impresora esta en el primer piso y vs estas en el octavo piso tendrias q bajar ocho pisos para darla vuelta al papel o volver a poner la hoja y d alli subir de nuevo 8 pisos para volver a imprmir el segundo? No crees q seria mejor de un solo?

entonces vos lo que quere es una impresion doble cara???? porque hay impresoras que lo hacen...



hey fijense q estube probando el crystal reports, es facil de usar pero mi problema es cuando quiero probar mi aplicacion en otras maquinas me pide una serial es decir una clave de registro distanta a la q e usado para mi Visual estudio estoy usando visual basic.net 2005 y el crystal Reports q trae por default... podria alguien ayudarme como puedo hacer cuando pruebo en otra maquina mi aplicacion los reportes no me funcionan debido a q debo registrar el CrystalReports

NOSE Q HACER ESTOY EN PRBLEMAS....

de antemano muchas gracias.... 

por favor poneme el msj de error que te tira.... yo tuve un pedo con la utilizacion de los crystal en otras maquinas pero no me pedia clave o serial....

la forma en como solucione mi error es una de los post que voy a poner.... pero uta ahorita toy super topado con el trabajo....


a mi mi MAMA me conto que en crystal.. podia yo elegir en que formato quiero mi informacion (exel, word, html, pdf) .... pero no quiero utilizar la opcion que tiene el reportviewer.. de "EXPORTAR"... lo quiero automatico en mi apliacion....mediante una funcioncita....

¿como quedaria eso segun tu ejemplo? 

tu mama te conto eso porque yo le dije XD.....jajajajajaja

perame ya te voy a poner como hago eso
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado xeneise69

  • Sv Member
  • ***
  • Mensajes: 239
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #12 : enero 21, 2008, 05:34:20 pm »
pues fijate q el error q me da es q no me deja utilizar los reportes q e creado antes de eso me pide q ingrese el serial osea registrarme para utilizarlo.... nose que puedo hacer...  ohyea:

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #13 : enero 21, 2008, 09:04:31 pm »
entonces vos lo que quere es una impresion doble cara???? porque hay impresoras que lo hacen...

No lo q quiero son 2 informes completament diferent q salgo uno seguido dle otro.. Osea dond no mas termine uno q alli incie el siguietne.. X tanto no es doble cara!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: lo que tu mama no te conto de los CrystalReports !!!
« Respuesta #14 : enero 23, 2008, 07:03:39 pm »
pues fijate q el error q me da es q no me deja utilizar los reportes q e creado antes de eso me pide q ingrese el serial osea registrarme para utilizarlo.... nose que puedo hacer... 

para poder ayudarte.... captura la pantalla del error y ponlo aqui.


T pongo un ejemplo... Suponete q estas en tu trabajo y tienen una impreseroa en red o por IP para todas las compu y la impresora esta en el primer piso y vs estas en el octavo piso tendrias q bajar ocho pisos para darla vuelta al papel o volver a poner la hoja y d alli subir de nuevo 8 pisos para volver a imprmir el segundo? No crees q seria mejor de un solo?

yo dije imprimir doble cara porque literalmente eso es lo que describes en el parrafo anterior....
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito