05/02/2010, 19:50
|
| | Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 9 meses Puntos: 1 | |
Respuesta: Visual Basic .net & Crystal Report 9 Hi, encontré alguna solución a mi problema, lo que hice primero se crea la conexión OLE DB(ADO), ya que ADO.net proporciona origenes de datos como Microsoft SQL Server y XML, asi como origenes de datos expuestos mediante OLE DB y ODBC. mi base de datos está en SQL lo que hice fué agregar un stored procedure que hace una seleccion de datos de mi tabla, si el recordset está vacio muestra un mensaje, si existen datos configuro el reporte y muestra los datos.
aquí les dejo las lineas que agregué, espero les pueda servir.
Private Sub Grabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grabar.Click
Dim s_SQL As String
Try
s_SQL = "sp_Prueba6 "
abredb()
'corre el SP
rsSP = DB_cn.Execute(s_SQL)
Grabar.Enabled = True
'Si el recordset está vacío muestra un meensaje
If rsSP.EOF Then
MessageBox.Show("No existen datos en esa fecha", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information)
'Grabar.Enabled = False
Else
'Grabar.Enabled = True
'Configuración para abrir el reporte
CrystalApplication = CreateObject("CrystalRuntime.Application.9")
CrystalReport = CrystalApplication.OpenReport(c_PathReporte)
'Asigna como origen de datos del reporte el record set resultante
CrystalReport.Database.SetDataSource(rsSP)
'Esta propiedad es para que se haga un refresh del reporte correcto
CrystalReport.DiscardSavedData()
'El crystal viewer de la forma toma los datos de configuración de crystalreport
AxCRViewer.ReportSource = CrystalReport
''Zoom del crystal viewer
'AxCRViewer.Zoom(100)
'Se muestra el reporte en pantalla
AxCRViewer.ViewReport()
'Actualizamos el Reporte
'AxCRViewer.Update()
End If
Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
End Try
End Sub |