'Este es un ejemplo de lo que tengo q por cierto es mas complejo q esto, lo he tocado y extraido un poco para hacerte un ejemplo sencillo...........
'Este ejemplo utiliza 2 forms uno llamado impresiones el cual contiene el viewer y otro donde estan tus datos a imprimir.
'Estas variables las coloco en un modulo
Public CargarReporte As String
Public R_IdCliente As Int32
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''form impresiones
Dim nParametro1 As New ParameterValues()
Dim Param1 As New ParameterDiscreteValue()
Private Sub FrmImpresiones_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ConfigureCrystalReports(CargarReporte)
Me.CRv.Zoom(90) ' viewer
end sub
Private Sub ConfigureCrystalReports(ByVal Reporte As String)
Try
'Dim reportPath As String = "..\..\Reportes\" & Reporte
CRv.ReportSource = reportPath
Param1.Value = R_IdCliente
nParametro1.Add(Param1)
Dim Parametros As ParameterFields = CRv.ParameterFieldInfo '(Prm_IdCliente)
Parametros(o).CurrentValues = nParametro1
Catch ex As Exception
ex.Data.Clear()
End Try
End sub
'''''''''''''''''''''''''''''form datos
'Este codigo va en tu boton imprimir
Try
Dim Impresion As New Impresiones' form impresiones(codigo anterior)
CargarReporte = "PedidosComprasProveedor.rpt"
R_IdCliente= cboSearch.SelectedValue
Impresion.ShowDialog()
Catch ex As Exception
ex.Data.Clear()
End Try