Principales respuestas
Imposible generar reporte con cristal report con datos de un datagrid view

Pregunta
-
Buenas,
no soy capaz de crear el reporte.
Tegno esto:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conexion As New MySqlConnection("Server=localhost;Database=grupomontes;Uid=root;Pwd=;")
Dim da As New MySqlDataAdapter("select * from albaranes where num_albaran = '" & Me.TextBox1.Text & "'", conexion)
Dim ds As New DataSet
Dim i = 0
da.Fill(ds, "grupomontes")
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "grupomontes"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim rpt As New reporte
Dim FORMULARIO As New generar_reporte
Dim conexion As New MySqlConnection("Server=localhost;Database=grupomontes;Uid=root;Pwd=;")
Dim da As New MySqlDataAdapter("select * from albaranes where num_albaran = '" & Me.TextBox1.Text & "'", conexion)
Dim ds As New DataSet
da.Fill(ds, "grupomontes")
rpt.SetDataSource(ds)
FORMULARIO.CrystalReportViewer1.ReportSource = rpt
FORMULARIO.CrystalReportViewer1.Dock = DockStyle.Fill
Dim frmreporte As New Form()
With frmreporte
.Controls.Add(FORMULARIO.CrystalReportViewer1)
.Text = "Reporte Albaranes"
.WindowState = FormWindowState.Maximized
.ShowDialog()
End With
conexion.Close()
End Sub
End ClassTengo los datos a mostrar en el reporte en el datagrid pero luego no los "coge" el cristal report.
Tegno ya el diseño del reporte con los datos de las tablas puestos en "detalle" del cristal report. Me salen solo las etiquetas de textos, imagenes pero no me coge los datos de la base de datos..
Tengo que entregar esto medio funcionando esta tarde y estoy desesperado...
Respuestas
-
Me salen solo las etiquetas de textos, imagenes pero no me coge los datos de la base de datos..
pero estas usando un dataset tipado para vincular los datos al reporte ?
[Crystal Reports] Usar DataSet Tipado con dos Datatable
un dataset sin tipo podria enviar campos que el reporte no reconozca y por ende no pueda mapear a datos
por eso lo idea es validar que los campos de la query coinciden con los que crystal espera usar
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Gustavo Enriquez jueves, 26 de abril de 2012 10:32
-
Hola
Exacto, como dice Leonardo. Tienes 3 posibles opciones rapidas.
- DataSet tipado.
- Objetos.
- Generar DataSet tipado por medio al asistente.
En cualquiera de las 3 opciones debes enlazar la fuente de datos y esta debe coincidir con la diseñada para el reporte.
Saludos.
- Marcado como respuesta Gustavo Enriquez jueves, 26 de abril de 2012 10:32
Todas las respuestas
-
Hola.
Debes diseñar el reporte antes de usarlo para enlazar los campor que vas a mostrar.
Mire estos videos para que tenga una idea:
Local Reports: Formatting and Remote Data Access
How Do I: Create a Report From a Database?
PD: Los videos estan en ingles, pero en escencia sin tener que entenderlo se aprecia todo lo que necesita para generar un reporte ;).
Saludos.
- Editado By AlaN miércoles, 25 de abril de 2012 12:20
-
-
Se supone que diseñaste tu reporte y conoces tu fuente de datos, por lo cual, debes ponerle esa misma fuente de datos al BindingSource que utiliza el reporte para mostrar la informacion.
Mira los video que te deje en el comentario anterior para que te orientes mejor.
Saludos.
-
Gracias Alan,he vsito 50 videos y el procedimiento lo tengo muy muy claro.
Pero no me funciona. Si observas el codigo que pongo arriba uso la misma fuente de datos para el datadrig y para el reporte pero en uno si me sale pero en el otro no..
Acabo de ver todos los videos y yo no tengo problemas en cargar los datos en el grid ni con el reporte de microsft.
Necesito poder imprimir un albaran diseñado por mi con los datos de una fila de la bbdd. Por pantalla a traves de un grid sin problemas pero no puedo llevaqrlo al cristal report.
- Editado Gustavo Enriquez miércoles, 25 de abril de 2012 14:50
-
-
Me salen solo las etiquetas de textos, imagenes pero no me coge los datos de la base de datos..
pero estas usando un dataset tipado para vincular los datos al reporte ?
[Crystal Reports] Usar DataSet Tipado con dos Datatable
un dataset sin tipo podria enviar campos que el reporte no reconozca y por ende no pueda mapear a datos
por eso lo idea es validar que los campos de la query coinciden con los que crystal espera usar
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Gustavo Enriquez jueves, 26 de abril de 2012 10:32
-
Hola
Exacto, como dice Leonardo. Tienes 3 posibles opciones rapidas.
- DataSet tipado.
- Objetos.
- Generar DataSet tipado por medio al asistente.
En cualquiera de las 3 opciones debes enlazar la fuente de datos y esta debe coincidir con la diseñada para el reporte.
Saludos.
- Marcado como respuesta Gustavo Enriquez jueves, 26 de abril de 2012 10:32
-
gracias chicos. Cuando la fuente es una sola tabla ok.
cuando le quiero meter datos de la segunda digamos que lo que ya funciona de la 1ª tabla desaparece. El tomado del ejeplo de Leandro este codigo casi tal cual:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conexion As New MySqlConnection("server=localhost;User Id=****;database=grupomontes")
Dim da As New MySqlDataAdapter("select * from albaranes", conexion)
Dim ds As New grupomontesDataSet
da.Fill(ds, "albaranes")
da = New MySqlDataAdapter("select * from clientes", conexion)
da.Fill(ds, "clientes")
Dim report As New CrystalReport1
report.SetDataSource(ds)
CrystalReportViewer1.ReportSource = report
End SubCuando añado campos en el reporte de la base de datos de albaranes todo OK, sin embargo en cuanto meto algun campo de la tabla clientes dejan de aparecerme tanto unos como otros.