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

Crear Crystal Reports con VB NET en tiempo de ejecución

Estas en el tema de Crear Crystal Reports con VB NET en tiempo de ejecución en el foro de .NET en Foros del Web. Hola, he visto muchos tutoriales sobre esto, y efectivamente logro hacer informes, pero me toca crear una cadena de conexión y asignarle a los "Campos ...
  #1 (permalink)  
Antiguo 07/11/2011, 22:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 77
Antigüedad: 15 años, 6 meses
Puntos: 8
Crear Crystal Reports con VB NET en tiempo de ejecución

Hola, he visto muchos tutoriales sobre esto, y efectivamente logro hacer informes, pero me toca crear una cadena de conexión y asignarle a los "Campos de la base de datos" esa conexión. El problema es que todas mis aplicaciones obviamente las hago en tiempo de ejecución, donde creo una conexión, la abro y trabajo con los famosos dataAdapters para traer los datos que necesito con consultas avanzadas.

¿Hay alguna forma de hacer un bendito informe en tiempo de ejecución?

por favor explíquenme paso a paso o una pagina donde lo saque. Por hay me pareció leer que para eso eran los CrystalReportDocuments. Es que he logrado con el asistente mostrar un informe donde me muestre los datos de una tabla, pero necesito hacer una CONSULTA QUE ME TRAIGA LOS DATOS DE DIFERENTES TABLAS Y ESTO ME LO MUESTRE EN EL INFORME.

Agradezco toda su ayuda.
  #2 (permalink)  
Antiguo 08/11/2011, 10:58
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

http://jotask8punk.wordpress.com/vbn...ual-basic-net/
__________________
la programación es tan grande como la imaginación (+.+)
  #3 (permalink)  
Antiguo 08/11/2011, 20:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 77
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

Gracias rikakashi, pero me parece más complicado tener que hacer esa conexion y crear dataset con DataTables en tiempo de diseño (no confío mucho en eso) yo en realidad necesito hacer lo que en esa pagina que me mostraste, ej:

dim da as new SqlDataAdapter("select Conductor, Taxi, Cliente, Origen from tbServicio INNER JOIN tbClientes ON Cliente=IdCliente ect...", cnn)

dim dt as new dataTable

da.fill(dt)

***********
Digamos que eso me trae muchos registros, ¿como hago para mostrarlos en el formulario que tengo el CrystalReportViewer?

dim rpt as new reporte
rpt.SetDataSource(dt)
CrystalReportViewer1.reportSource=rpt

Me manda error y me dice algo como que no se le ha agregado tabla al Crystal, algo asi.

Por favor, diganme algo. Gracias
  #4 (permalink)  
Antiguo 09/11/2011, 18:28
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

veras to manejo mis tablas de la misma manera despues de eso lo que hago es crear un dataset y llenarlo con los campor que ire requiriendo por ejemplo

dim dtable as new datatable

y este lo lleno con mis valores asi

With dtmov
.Columns.Add("Documento") '0
.Columns.Add("Referencia") '1
.Columns.Add("Fecha_Fac") '2
.Columns.Add("Fecha_Ven") '3
.Columns.Add("Tipo Mov") '4
.Columns.Add("Cargos") '5
.Columns.Add("Creditos") '6
.Columns.Add("S a l d o") '7
.Columns.Add("Membresia") '8
.Columns.Add("De") '9
.Columns.Add("Asta") '10
.Columns.Add("Cliente") '11
.Columns.Add("Descripcion") '11
End With
End If

For Each dr As DataGridViewRow In Me.dgv_mov.Rows
dtmov.Rows.Add(dr.Cells(0).Value, dr.Cells(1).Value, _
dr.Cells(2).Value, dr.Cells(3).Value, _
dr.Cells(4).Value, dr.Cells(6).Value, _
dr.Cells(7).Value, dr.Cells(8).Value, _
membresia_num, Format(dtp_mov_ini.Value.Date, "dd/MMM/yyyy"), _
Format(dtp_mov_fin.Value.Date, "dd/MMM/yyyy"), txt_nom_completo.Text, _
dr.Cells(5).Value)
Next

pero antes de esto en mi priyecto, click derecho y agregar nuevo elemento dataset creo una tabla exactamente igual en forma de vista a la que estoy creando por codigo esta nos servira para poner los datos en el report y despues de ello seguirias los pasos que vienen en el tuto anterior llenar tu report

Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocum ent
rptDoc = New doc_crv_mov
rptDoc.SetDataSource(dtmov)
vercr.crv_movimientos.ReportSource = rptDoc

para ello me base en esta parte primero

http://setha.info/ict-vb2008/41-ict-vb2008-0009.html
__________________
la programación es tan grande como la imaginación (+.+)
  #5 (permalink)  
Antiguo 29/11/2011, 16:40
 
Fecha de Ingreso: noviembre-2008
Mensajes: 77
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

Perdon la demora, lo voy a intentar.
  #6 (permalink)  
Antiguo 30/11/2011, 16:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 77
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

Hola, lo he intentado pero me dice que Dataset es un tipo y no se puede usar como expresión:


Dim daData As New MySqlDataAdapter("select * from datos", cnn)
Dim dtData As New DataTable

daData.Fill(dtData)
DataGridView1.DataSource = dtData

Dim rpt As New CrystalReport1
rpt.SetDataSource(DataSet)
CrystalReportViewer1.ReportSource = rpt

Me podrías decir cual puede ser el error? ya el DataSet.xsd está en el proyecto con la tabla que tiene los mismo campos que tiene la tabla llenada desde la BD. Gracias por favor siganme ayudando.
  #7 (permalink)  
Antiguo 30/11/2011, 22:20
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Crear Crystal Reports con VB NET en tiempo de ejecución

esta linea

Código vb:
Ver original
  1. rpt.SetDataSource(DataSet)

debe de ser

Código vb:
Ver original
  1. rpt.SetDataSource(dtData)
__________________
la programación es tan grande como la imaginación (+.+)

Etiquetas: crystalreport, vbnet
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 06:59.