Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda para crear reporte con Crystal Report

Estas en el tema de Ayuda para crear reporte con Crystal Report en el foro de .NET en Foros del Web. Hola a todos, necesito ayuda para generar reportes con crystal report sin usar el asistente ya que la idea es generar reportes de una tabla ...
  #1 (permalink)  
Antiguo 27/05/2009, 20:21
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Ayuda para crear reporte con Crystal Report

Hola a todos, necesito ayuda para generar reportes con crystal report sin usar el asistente ya que la idea es generar reportes de una tabla llamada "usuarios" y por el momento quiero ver todos los registros de la tabla en el reporte pero no me funciona, se que algo tengo mal (igual y todo XD), ayuda plis. Dejo el codigo de lo que tengo para que vean los errores:

El error que me manda es que no hay ninguna tabla en el reporte.

//la cadena de conexion cad esta definida solo que la quite para poder poner el codigo.

string cad = "SELECT * FROM USUARIO";
SqlDataAdapter da = new SqlDataAdapter(cad, con);
DataTable dt = new DataTable();
//DataSet ds = new DataSet();
da.Fill(dt);
CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(dt);
crystalReportViewer1.ReportSource = cr;
  #2 (permalink)  
Antiguo 28/05/2009, 02:35
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Ayuda para crear reporte con Crystal Report

Hola LOD_fredy.
Te comento un poco:

- yo no sé como crear un report desde código, quiero decir, no sé como crearlo TODO desde codigo. ( y a decir verdad me gustaría saber si se puede hacer, y cómo se puede hacer)
- Ahora bien, lo que yo hago es crearlo todo por código y luego usar el saistente para decirle de donde traigo los datos. Luego yo coloco los campo sen su sitio, les doy el formmato que deseo, los ciriterios de orden, etc etc etc.

Cómo hago esto.
Pues no ibas mal encaminado. La única diferencia que yo hago es la siguiente.

Me creo un dataset en mi solucion, y a ese dataset le añado un DataTable (tb puede añadirle un tableadapter par traerte toda una tabla o como quieras). Dicho datatable/tablaadapter puede ser bien una tabla entera, o simplemente filas que voy nombrando como me convenga.

(Ahora es cuando viene el codigo) hecho lo anterior, por codigo hago la conexion, y hago la query de los campos (tablas...) que deseo obtener. Dicha query me devuelve unos valores que yo meto en el datatabla/tablaAdapter del dataset qeu habia creado. (es exactamente igual que como haces tu, pero usando el dataTable del dataset y no uno que me haya creado)

A continuacion le ddigo que el origende datos del report es el dataTable en cuestion y listo (esto ya lo hago en el asistente del report)


Te pongo el codigo para que lo veas:


Cita:
Dim tabla As New DataTable
Dim local_data_adapter As New OleDbDataAdapter
Dim local_data_adapter2 As New OleDbDataAdapter
'uso dos data_adapters, porque uso dos tablas diferentes en el report, y he de rellenar sus datos

Me.Cursor = Cursors.WaitCursor
cadena_crystal = "Select * from usuario "
Try
'Definimos lo qeu hacer con la selects, y en donde
local_data_adapter = New OleDbDataAdapter(cadena_crystal, Cadena_Conexion)
local_data_adapter2 = New OleDbDataAdapter("select * from CMDEMANDANTE", Cadena_Conexion)

'Creamos un nuevo DATASET, ha de ser exactamente igual que el que tenemos con las tablas
DS = New DataSet2
'el dataset2 lo tengo en mi solucion, y contiene 2 tablas que tienen los campos qeu relleno con las selects anteriores

DS.Clear()
'Rellenamos las tablas del dataset con los data_adapter que definimos anteriormente
local_data_adapter.Fill(DS, "CMDEMANDANTE_DETALLE") 'entre comillass el nombre de las tablas del dataset, para qeu sepa donde ha de introducir los datos
local_data_adapter2.Fill(DS, "CMDEMANDANTE_CONTADORES")

' creamos un nuevo informe del tipo que ya tenemos. Para esto hemos tenido que crear primero
' el informe rep_cmdemandante
Dim oInforme As New rep_inf_aprovisionamientos
'rep_inf_aprovisionamientos es el report que he creado con el asistente y al qeu le he dicho que el origen de datos era el datset2

oInforme.SetDataSource(DS)
' Le pasamos los parametros
oInforme.SetParameterValue("anno", frm_cuadro.cmb_anno.SelectedValue)
'esto es por si quiers pasarle parameros. Estos se los has de crear en el report
oInforme.SetParameterValue("mayor_que", frm_cuadro.txt_mayor.Text)

'Visor es el nombre del crystal Viewer
visor.Visible = True
'El informe que vemos es el infomre OINFORME
visor.ReportSource = oInforme


espero que t evalga.
  #3 (permalink)  
Antiguo 28/05/2009, 17:19
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear reporte con Crystal Report

Gracias por el codigo. Creo que ya tengo casi todo, solo me falta hacer la referencia del dataset en el reporte y no se como hacerlo, por eso me dice que el reporte no contiene ninguna tabla, ya que no esta asociada ninguna tabla al reporte y no se como asociarla. Ojala puedas decirme, ya le estuve buscando y no me sale el dataset1 que cree en la forma, me salen como tablas todas las clases del proyecto mas no datasets que haya creado.

Por cierto si puedes paso a paso decirme como agregar el dataset al reporte mejor.
  #4 (permalink)  
Antiguo 29/05/2009, 00:15
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Ayuda para crear reporte con Crystal Report

Hola Fredy.

Me da la sensacion de que lo unico qeu te falta es crearte el dataset en la solucion. Cuando digo esto quiero decir que lo que has de hacer es, en la solucion del proyecto, boton derecho, Agregar,nuevo_elemento- nuevo origen de datos (o dataset)

Hecho esto, se te creará el dataset1 en tu solucion, y en ese dataset es donde tendras qeu crearte el datatable (o tableadapter) que contenga los mismo campo de tu select.

Cuando pro codigo creas un nuevo dataset y le añades insertas los campos de la select, has de crearte un dataset de este tipo que hass creado, y rellenar la tabla que tengas en el.

hech todo esto, cuando usas el asistente de bbdd, en la primera carpetita que te sale de origen de datos, despliegas, y te saldra el dataset1. Desplegandfo otra vez te saldran lass tablas de ese dataset.

Y listo!!!

A ver si sai te sale.

Si no, me ddices y te lo intento explicar de otro modo. ok???

un saludo y buen dia
  #5 (permalink)  
Antiguo 30/05/2009, 07:52
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear reporte con Crystal Report

sigue sin funcionar, agregue el dataset desde el explorador de soluciones, luego cree un data set de ses tipo, despues desde el explorador agregue un nuevo origen de datos y elegi la tabla que quiero mostrar, luego en el report, agregue el dataset (aunque me aparece como dataset1tableadapters_nombretablatableadapter. Corro el programa le doy al boton y me crear el doc pero en blanco. Algo me sigue faltando o a lo mejor no hice las cosas como son no se.

Por cierto el dataset que cree desde el explorador me creo la tabla y abajo tiene el dataadapter.

Agrego: he notado que ademas del dataset1 me creo un BIBLIOTECADataSet1 que contiene la tabla USUARIO con los campos, el dataset1 no contiene ninguna tabla, lo que hice fue usar el BIBLIOTECADataSet1 en vez del dataset1 pero aun asi sigue saliendo en blanco el reporte.

Este es el codigo:

string cad = "SELECT * FROM USUARIO";
SqlConnection con = new SqlConnection(@"Data Source=.\SqlExpress; Initial Catalog = BIBLIOTECA; Integrated Security = true;");
SqlDataAdapter da = new SqlDataAdapter(cad, con);
BIBLIOTECADataSet1 ds = new BIBLIOTECADataSet1();
da.Fill(ds.USUARIO);
CR cr = new CR();
cr.SetDataSource(ds.Tables["USUARIO"]);
crystalReportViewer1.ReportSource = cr;

Última edición por LOD_Fredy; 30/05/2009 a las 08:20
  #6 (permalink)  
Antiguo 30/05/2009, 09:40
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Ayuda para crear reporte con Crystal Report

Hola.

Creo que a lo mejor estás haciendo algun paso mal porque todo como te comentaron es correcto. Te recomiendo que veas este tutorial e intentes seguirlo paso a paso:

http://vbcodigopocketpc.blogspot.com...1_archive.html
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #7 (permalink)  
Antiguo 10/06/2009, 02:37
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear reporte con Crystal Report

Disculpan la tardanza en contestar, tuve problemas con la laptop, ya intente de la forma que viene en el link pero no entiendo la ultima parte donde viene el codigo del boton imprimir.

Si eso debe ir a fuerza como lo adecuo a mis necesidades?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:47.