none
No se ha proporcionado ninguna instancia de origen de datos para el origen de datos de DataSet1 RRS feed

  • Pregunta

  • Buenas tardes.

    Estoy trabajando con vb.net y emito los reportes correspondientes a mi aplicación con ReportViewer. Hace un buen tiempo lo vengo usando sin ningún problema. 

    La cosa es que ahora al momento de realizar un nuevo reporte o de modificar uno ya creado anteriormente este no encuentra los datos. Me salta lo siguiente dentro del informe: "No se ha proporcionado ninguna instancia de origen de datos para el origen de datos de DataSet1"

    Yo cuando agrego el reportviewer del cuadro de herramientas al form y luego de marcar cual reporte voy a usar ya automáticamente me creaba el el data set de la base de datos, los tabadapter y los bindingsourse a utilizar. Pero ahora si llego a agregar un parámetro como los agregaba anteriormente no me genera esos elementos. Es mas ni aparecen en la opción Choose data source del reportviewer que esta en el form.

    Es automático al agregar un solo parámetro el reporte pierde toda la relación con los orígenes de datos. 

    Por las dudas erro en el código de las consultas o la relación del reporte no es el problema ya que estoy usando vb.net 2017 y las consultas son mas básicas y no dejan lugar a error.

    Como por ejemplo si quiero listar los datos de la empresa que esta usando el reporte únicamente es necesario hacer lo siguiente:

     Me.EmpresaTableAdapter.Fill(Me.DBServidorDataSet.Empresa)

     Me.ReportViewer1.RefreshReport()

    Esto lo vengo usando hace un buen tiempo en todo lo que es reporte sin tener ningún problema y para darle valor a los parámetros usaba algo así:

    Dim value As String
    Dim value2 As String
    value = DateTimePicker1.Value
    value2 = DateTimePicker2.Value
    Dim params(1) As Microsoft.Reporting.WinForms.ReportParameter
    params(0) = New Microsoft.Reporting.WinForms.ReportParameter("FechaInicio", value)
    params(1) = New Microsoft.Reporting.WinForms.ReportParameter("FechaFin", value2)
    Me.ReportViewer1.LocalReport.SetParameters(params)

    Esto tampoco me generaba ningún tipo de problema.

    Si alguien sabe que puede ser lo que esta pasando se lo agradecería mucho.

    lunes, 6 de mayo de 2019 1:07

Todas las respuestas

  • Analizando mas a fondo lo que me esta pasando pude ver que en el código del constructor del form al elegir que el ReportViewer se relacione con un reporte el cual no tiene parámetros osea un reporte el cual si me anda bien. Este en el constructor crea todas las relaciones necesarias para que cargue el reporte.

    Pero al elegir un reporte que contenga un solo parámetro (los reportes que no me están andando) en el constructor se borraba mucho del código del mismo. La solución que encontré por el momento es relacionar el ReportViewer con un reporte que no de problemas cosa que me cargue todo el código necesario para su funcionamiento y posteriormente cambiar dentro del código del constructor el nombre del reporte al que esta relacionado.

    Ahora mi duda es porque no me esta creando este código dentro del constructor como lo hacia antes?

    lunes, 6 de mayo de 2019 4:07