Visual Basic - Refresco de reporte en Visual Basic 2008

Life is soft - evento anual de software empresarial
   
Vista:

Refresco de reporte en Visual Basic 2008

Publicado por oscar soriano.vivo@gmail.com (2 intervenciones) el 02/04/2014 10:07:26
Ante todo quiero decir que soy muy nobel en el tema de programación y estoy encallado en un tema que seguro que para muchos es muy sencillo de hacer.
Tengo una BBDD en Access y conectada a un formulario de VB2008. La conexión está realizada mediante propiedades del componente y no por código. En el formulario tengo un datagridview que me llena con los datos de una tabla también por propiedades.
Hago búsquedas de registros y funciona correctamente:

Dim cbuscar As String
Dim tbuscar As String
cbuscar = combuscar.Text
tbuscar = textbuscar.Text
Clientes.ClientesBindingSource.Filter = String.Format(cbuscar & " like '%" & tbuscar & "%'")

He creado un crystalreportview y un report.rpt con lo cuales exporto todos los datos de una misma tabla.
El problema es que cuando filtro a través de la sentencia anterior, no se refleja en el reporte y siempre me muestra la tabla entera. Os adjunto el código del botón informe:


Private Sub cmdinfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdinfo.Click
'Invoco al procedimiento que llena los datos del reporte
Cargar_Crystal()
'Abro el formulario que contiene el reporte
Report.ShowDialog()

End Sub
Private Sub Cargar_Crystal()

''El CrystalReport1 es el nombre de mi archivo reporte CrystalReport1.rpt
Dim rdInforme As New ClientesReport1
''El dtTabla es mi DataTable que contiene los datos del DataGridView llenado anteriormente
'rdInforme.SetDataSource(Me._Q_GESDataSet)
''El Form1 es el formulario que contiene el visor llamado CrystalReportViewer1
Report.CrystalReportViewer1.ReportSource = rdInforme
_Q_GESDataSet.Tables("Clientes").Merge(_Q_GESDataSet.Clientes)
rdInforme.SetDataSource(Me._Q_GESDataSet)
Report.CrystalReportViewer1.ReportSource = rdInforme
Report.CrystalReportViewer1.RefreshReport()

End Sub

Ya se que hago algo mal o me faltan cosillas pero es que voy muy pez y ya he consultado en demasiadas páginas. Si alguien paralelamente me puede echar un cable me haría un gran favor. Un saludo y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Refresco de reporte en Visual Basic 2008

Publicado por pedro luis (56 intervenciones) el 02/04/2014 15:05:35
No tengo claro que estes usando Visual 6.0. Si es el caso debes crear un Recordset con una Seleccion y decirle al Crystal que use ese Recordset.
Otra forma, pues creo que el Crystal es el 9, es usar en el Crystal una SelectionFormula con condiciones como en el ejemplo:

Condiciones = "{Expedientes.Expediente}<>''"
If Combo(1) <> "" Then Condiciones = Condiciones + " and {Expedientes.Dg}='" & Combo(1) & "'"
If Combo(2) <> "" Then Condiciones = Condiciones + " and {Expedientes.Tipo}='" + Combo(2) + "'"
If Combo(3) <> "" Then Condiciones = Condiciones + " and {Expedientes.Procedimiento}='" + Combo(3) + "'"
If Combo(4) <> "" Then Condiciones = Condiciones + " and {@Situacion}='" + Combo(4) + "'"
If Fecha(1) <> "" Then Condiciones = Condiciones + " and {@Fecha}>=Date(" & Format(Fecha(1), "yyyy,mm,dd") & ")"
If Fecha(2) <> "" Then Condiciones = Condiciones + " and {@Fecha}<=Date(" & Format(Fecha(2), "yyyy,mm,dd") & ")"
Listado1.RecordSelectionFormula = Condiciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Refresco de reporte en Visual Basic 2008

Publicado por oscar (2 intervenciones) el 02/04/2014 15:58:53
Hola Pedro,ante todo muchas gracias por la respuesta. Estoy utilizando vb2008 y he probado tanto con la herramienta de crystal reports (crystalreportviewer) como con la de microsoft (reportviewer). Yo ya tengo enlazada una BBDD de access y filtro a través de la sentencia:
Clientes.ClientesBindingSource.Filter = String.Format(cbuscar & " like '%" & tbuscar & "%'") sin problemas. Lo que quiero decir es que el resultado del filtro no es visible en el informe y me saca la tabla entera con todos los registros. Si sabes como hacerlo para que los filtros también se me reflejen en el informe, me podrías poner un ejemplo?
Un saludo y muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar