Actualizr reporte desde visual basic
Estoy diseñando un software de gestión, el cual genera reportes en el Crystal que trae incluido el Visual Studio 2008. Tengo una base de Datos que tiene 3 tablas asociadas, y al ingresarle los datos manualmente para probar como funcionan los reportes, no hay ningún problema.
El problema es que cuando ejecuto la aplicación y comienzo a llenar las tablas de la Base de Datos(sql 2005 Express), y quiero mostrar los nuevos datos ingresados en tiempo de ejecución, solo me muestra los que añadí manualmente al principio para probar los reportes..
Que se puede hacer en este caso
Este es el código del Reporte!(Los Refresh los añadí para ver si actualizaba datos, pero igual no pasa nada)
PrivateSub CrystalReportViewer1_Load(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles CrystalReportViewer1.Load
'Primero Creamos los objetos que vamos a utilizar para poblar un DataGridView
' El GridView que esta en el formulario se llama "Datos"
' Error "The value's length for key 'data source' exceeds it's limit of '128'"
' Creamos los componenetes para obtener los datos.
ReporteTrabajador1.Refresh()
Dim CadenaConexion AsNew SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Mac Leopard\Escritorio\Aceros_SOLDESP\Aceros_SOLDESP\B ASE.mdf;Integrated Security=True;User Instance=True")
Dim DatosDS AsNew BASEDataSet
Dim DatosDAC AsNew SqlDataAdapter("SELECT * FROM TB_Trabajadores ", CadenaConexion)
Dim DatosDAP AsNew SqlDataAdapter("SELECT * FROM TB_Horas ", CadenaConexion)
' Utilizamos un TryCatch para capturar un error y asi no pueda afectar a la Base de datos
Try
' Abrimos la conexion y poblamos el DataSet y posteriormente cerramos la conexion
' -NOTA- : Recuedo que estoy usando Adaptadores para realizar consultas a la base de datos
' de forma desconectada, para no consumir recursos.
CadenaConexion. Open()
ReporteTrabajador1. Refresh()
DatosDAC. Fill(DatosDS.TB_Trabajadores)
ReporteTrabajador1. Refresh()
DatosDAP. Fill(DatosDS.TB_Horas)
CadenaConexion. Close()
' Cargamos los datos recolectados en un Crystal Report y lo cargamos al CrystalView
ReporteTrabajador1.Refresh()
Dim miReporte AsNew ReporteTrabajador
MiReporte. SetDataSource(DatosDS)
ReporteTrabajador1. Refresh()
Me.CrystalReportViewer1.ReportSource = miReporte
' Liberamos memoria
DatosDS. Dispose()
DatosDAC. Dispose()
DatosDAP. Dispose()
Catch ex As Exception
MsgBox("Mensaje : " & ex.Message)
EndTry
Endomo puedo actualizar mis reportes desde visual basic(el código).
Necesito el código...
Ejemplo:
crytalreport1.reportfilename = app.path & "\NOMBRE DEL REPORTE.rpt" =LLAMA AL REPORTE
crystalreport1.printreport =imprime el reporte en pantalla
Y COMO ACTUALIZO EL REPORTE CUANDO HAGO MODIFICACIONES EN VISUAL BASIC YA SEA ALTAS BAJAS; ETC.
Espero y me puedan ayudar necesito el código
gracias por su atención.
Atentamente. Evr
NOTA: mis reportes los hice en crystal report
El problema es que cuando ejecuto la aplicación y comienzo a llenar las tablas de la Base de Datos(sql 2005 Express), y quiero mostrar los nuevos datos ingresados en tiempo de ejecución, solo me muestra los que añadí manualmente al principio para probar los reportes..
Que se puede hacer en este caso
Este es el código del Reporte!(Los Refresh los añadí para ver si actualizaba datos, pero igual no pasa nada)
PrivateSub CrystalReportViewer1_Load(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles CrystalReportViewer1.Load
'Primero Creamos los objetos que vamos a utilizar para poblar un DataGridView
' El GridView que esta en el formulario se llama "Datos"
' Error "The value's length for key 'data source' exceeds it's limit of '128'"
' Creamos los componenetes para obtener los datos.
ReporteTrabajador1.Refresh()
Dim CadenaConexion AsNew SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Mac Leopard\Escritorio\Aceros_SOLDESP\Aceros_SOLDESP\B ASE.mdf;Integrated Security=True;User Instance=True")
Dim DatosDS AsNew BASEDataSet
Dim DatosDAC AsNew SqlDataAdapter("SELECT * FROM TB_Trabajadores ", CadenaConexion)
Dim DatosDAP AsNew SqlDataAdapter("SELECT * FROM TB_Horas ", CadenaConexion)
' Utilizamos un TryCatch para capturar un error y asi no pueda afectar a la Base de datos
Try
' Abrimos la conexion y poblamos el DataSet y posteriormente cerramos la conexion
' -NOTA- : Recuedo que estoy usando Adaptadores para realizar consultas a la base de datos
' de forma desconectada, para no consumir recursos.
CadenaConexion. Open()
ReporteTrabajador1. Refresh()
DatosDAC. Fill(DatosDS.TB_Trabajadores)
ReporteTrabajador1. Refresh()
DatosDAP. Fill(DatosDS.TB_Horas)
CadenaConexion. Close()
' Cargamos los datos recolectados en un Crystal Report y lo cargamos al CrystalView
ReporteTrabajador1.Refresh()
Dim miReporte AsNew ReporteTrabajador
MiReporte. SetDataSource(DatosDS)
ReporteTrabajador1. Refresh()
Me.CrystalReportViewer1.ReportSource = miReporte
' Liberamos memoria
DatosDS. Dispose()
DatosDAC. Dispose()
DatosDAP. Dispose()
Catch ex As Exception
MsgBox("Mensaje : " & ex.Message)
EndTry
Endomo puedo actualizar mis reportes desde visual basic(el código).
Necesito el código...
Ejemplo:
crytalreport1.reportfilename = app.path & "\NOMBRE DEL REPORTE.rpt" =LLAMA AL REPORTE
crystalreport1.printreport =imprime el reporte en pantalla
Y COMO ACTUALIZO EL REPORTE CUANDO HAGO MODIFICACIONES EN VISUAL BASIC YA SEA ALTAS BAJAS; ETC.
Espero y me puedan ayudar necesito el código
gracias por su atención.
Atentamente. Evr
NOTA: mis reportes los hice en crystal report
1 Respuesta
Respuesta de Roberto Alvarado
1