none
Campos en blanco al llenar hacer inner join en reporte .rdlc RRS feed

  • Pregunta

  • Que tal, me encuentro teniendo el siguiente problema:

    Estoy utilizando VS 2012, Webforms y .rdlc como reporteador, en el cual al realizar mi .xsd con un INNER JOIN de 2 tablas, al imprimirse el reporte solo me muestra los campos de la primera tabla y no los de la segunda.

    Este es el .xsd que tengo:

    SELECT PagosDetallado.idpago AS recibo, PagosDetallado.monto AS montorecibido, PagosDetallado.pago_interes_pendiente + PagosDetallado.pago_interes_moroso AS interes,   PagosDetallado.pago_fondoreserva_pendiente + PagosDetallado.pago_fondoreserva_moroso AS fondoreserva, PagosCobrador.fechacreacion
    FROM PagosCobrador 
    INNER JOIN PagosDetallado ON PagosDetallado.idpago = PagosCobrador.id
    WHERE (PagosDetallado.estado = 1) AND (PagosCobrador.caja = 1) AND (PagosCobrador.fechacreacion = @fecha) AND (PagosCobrador.usuario = @cajero)

    Al utilizar esta consulta el .rdlc solamente me imprime el campo de "PagosCobrador" que es "fecha_creacion" y no los demás.

    Estoy consumiendo "Dataset" con la tabla del .xsd en el .rdlc

    Deseo imprimirlos todos.

    Espero me entiendan y me puedan ayudar a resolver este problema.

    Saludos,

    José Pittí

    martes, 30 de junio de 2015 14:49

Respuestas

Todas las respuestas

  • hola

    recomendarias que uses alias

    SELECT PD.idpago AS recibo, PD.monto AS montorecibido, 
    		PD.pago_interes_pendiente + PD.pago_interes_moroso AS interes,   
    		PD.pago_fondoreserva_pendiente + PD.pago_fondoreserva_moroso AS fondoreserva, 
    		PC.fechacreacion
    FROM PagosCobrador PC
    INNER JOIN PagosDetallado PD ON PD.idpago = PC.id
    WHERE ...

    es mas facil la lectura de la query

    -------

    cuando realizas el Fill() del datatable si pones alli un breakpoint y lo inspeccionas puedes ver que estan cargados esos datos ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 30 de junio de 2015 15:06
  • En el Fill() si están todos los datos, pero al asignarlo en el .rdlc y ejecutarlo en el explorador, es que no me muestran los que estan dentro del inner join.

    Ya he utilizado los alias y precisamente el problema no está allí por que me sigue saliendo igual.

    Saludos,

    José Pittí

    martes, 30 de junio de 2015 15:40
  • Hola,

    Has verificado que el dataset tenga las columnas que deseas mostrar? te recomendaría que actualices el dataset y vuelvas a generar todo. Suele suceder que si no actualizas todo los cambios en la consulta no se ven reflejados


    Si se solucionó tu consulta no olvides marcar la respuesta de esta forma mantendremos el orden en el Foro.

    José Carlos Barba Gutierrez
    Lima - Perú
    Saludos

    martes, 30 de junio de 2015 15:52
  • José, ya he actualizado el dataset como indicas, aún no me funciona.

    Te dejo una imagen del reporte.

    Saludos,

    José Pittí

    martes, 30 de junio de 2015 15:59
  • Podrías mostrar una imagen de como se ve el reporte cuando se ejecuta?

    Si se solucionó tu consulta no olvides marcar la respuesta de esta forma mantendremos el orden en el Foro.

    José Carlos Barba Gutierrez
    Lima - Perú
    Saludos

    martes, 30 de junio de 2015 16:05
  • Aquí tienes el resultado del explorador:

    Saludos,

    José Pittí

    martes, 30 de junio de 2015 16:20
  • Si lo ejecutas en el SQL si se llenan todas las columnas? Si trae toda la información te recomendaría generar desde cero el DataSet para salir de dudas de que quizás algo no se esté actualizando

    Si se solucionó tu consulta no olvides marcar la respuesta de esta forma mantendremos el orden en el Foro.

    José Carlos Barba Gutierrez
    Lima - Perú
    Saludos

    martes, 30 de junio de 2015 16:41
  • Tienes algún ejemplo claro de como hacer utilizando vb.net, me refiero a todo el ciclo completo (.xsd luego webform .aspx y luego reporte .rdlc)???

    Saludos,

    José Pittí

    martes, 30 de junio de 2015 17:05
  • hola

    >>En el Fill() si están todos los datos,

    o sea en la linea siguiente al fill usas el Dataset Visualizer y puedes ver que los campos tienen datos

    >>pero al asignarlo en el .rdlc y ejecutarlo en el explorador, es que no me muestran los que estan dentro del inner join

    el inner join no tiene nada que ver, debes definir un dataset tipado con un datatable dentro con los campos que quieres mostrar en el reporte

    estas definiendo un dataset tipado ? porque veo que algunos campos no coinciden

    en el reporte defines un campo de nombre "capital" pero en la query no esta ese campo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 30 de junio de 2015 17:15
  • Espero te ayude

    Ejemplo Reporte Local

    Video - Generar Reportes VB.NET


    Si se solucionó tu consulta no olvides marcar la respuesta de esta forma mantendremos el orden en el Foro.

    José Carlos Barba Gutierrez
    Lima - Perú
    Saludos

    martes, 30 de junio de 2015 17:16
  • Voy a hacerlo y te comento como me fue.

    Gracias,

    José Pittí

    martes, 30 de junio de 2015 17:43