none
RDLC solo devuelve un solo registro o uno de cada articulo RRS feed

  • Pregunta

  • Estoy armando varios RDLC todo a través de Procedimiento Almacenados.

    así se carga el SP.

    ALTER procedure [dbo].[sp_histusu]
    as begin
    	select id_histusu,t1.usu as Rut, t2.nom as Nombre, t3.nom as tp_usu, t1.fecha as Fecha, t1.hora as Hora  from t_histusu as t1 inner join t_usuario as t2 on t1.usu = t2.rut inner join t_tpusu as t3 on t2.tpusu= t3.id_tpusu
    end
    

    y después las SP la traspaso a una Data set le envió una imagen 

    Posteriormente armo mi RDLC y coloco en obtención de datos en Dataset y apunto al sp_histusu que corresponde

    pero me sale un solo registro en vez de 180 que debe registrar. a que se debe. ayúdeme si pueden 

    Gracias 


    Una respuesta JP

    lunes, 12 de octubre de 2020 23:20

Respuestas

Todas las respuestas

  • Hola JP

    Verificaste que la consulta del SP devuelva los 180 registros en SQL Server Management Studio? Quizás me equivoco, pero esa consulta me suena medio rara. Otra cosa, te recomiendo usar nombres más largos y legibles en las tablas y campos, así se evitan confusiones y se lee mejor.

    Saludos

    Pablo

    lunes, 12 de octubre de 2020 23:49
  • Primero gracias por responder, te cuento que ejecuto el SP en la base de datos  me muestra los 180 registró, hice una conexión  para rellenar un Datatable en la cual descargo los datos al ejecutar el SP el DataTable se llena con la información, es decir los 180 registros.

    Ya me hicieron esas recomendaciones pero a mi me encanta ocupar 3 letras como máximo, es mania mia y lo asumo, lo que me llama la atención en el DataSet, tienen un Fill, Getdata en la cual le pide una variable, pero en este caso no requiero, será eso lo que impide mostrar los demas registro.

    Además tengo otro RDLC que solo me muestra 2 registro pero son 4, 3 de un artículo x y uno de un artículo y, es decir solo muestra el ingreso de los 2 artículos pero no muestra lo demás como modificar.


    Una respuesta JP


    • Editado jpgrover martes, 13 de octubre de 2020 0:40 redaccion
    martes, 13 de octubre de 2020 0:30
  • Podes mostrar el código de cómo ejecutas el SP, el DataSet, etc., y el de cómo asignas el DataSource del reporte?

    martes, 13 de octubre de 2020 1:20
  • Además también puede ocurrir que el error esté dentro del propio RDLC. Si los campos que se muestran no están contenidos en un area de datos (tal como un tablix) sino que están directamente sobre el informe, el diseñador te los habrá inicializado usando un valor tal como "=First(dataset!campo)" y entonces solo se muestra el primer registro.
    martes, 13 de octubre de 2020 11:52
    Moderador
  • Hola como estas espero que bien ya te explico en el form donde se muestra el informe se carga al iniciar el form:

          this.sp_histusuTableAdapter.Fill(this.DataSet.sp_histusu);
    
                this.reportViewer1.RefreshReport();
            

    En mi epoca de estudiante hice una como esto pero se me olvida algo 

    SqlDataAdapter da = new SqlDataAdapter("sp_histusu", conx.conectar()); DataTable dt = new DataTable(); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.Fill(dt); reportViewer1.LocalReport.DataSources.Clear(); ReportDataSource rp = new ReportDataSource("Data_hitusu", dt); reportViewer1.LocalReport.DataSources.Add(rp);

     this.reportViewer1.RefreshReport();

    Sale esto : no se ha proporcionado ninguna instancia de origen de datos para el origen de datos

    y la coneccion al dataset lo hago asi 

    Gracias  por responder



    Una respuesta JP

    martes, 13 de octubre de 2020 15:58
  • Hola JP

    Nunca usé crystal report, pero intentando razonar, me suena mejor el código de tu época de estudiante que el primero. Como dice el mensaje, aparentemente en el primer código no asignas el origen de datos al reportViewer1. Me parece que pinta más el segundo código para funcionar que el primero. Ojalá sea eso sólo.

    Saludos

    martes, 13 de octubre de 2020 16:47
  • A mi tambien me suena, pero si le coloco parametros al SP sale espectacular. me podrais ayudar que falta en el codigo para ver si saco el problema 

    Gracias


    Una respuesta JP

    martes, 13 de octubre de 2020 17:07
  • ReportDataSource rp = new ReportDataSource("Data_hitusu", dt);

    Sale esto : no se ha proporcionado ninguna instancia de origen de datos para el origen de datos

    Ojo con esto. Ese mensaje de error apunta a que dentro del RDLC existe algún origen de datos que no se llama "Data_hitusu". Revisa el diseño del RDLC no vaya a ser que no concuerde el DataSet que le estás pasando con el nombre que tiene el origen de datos dentro del reporte.

    Y no pierdas de vista lo que te dije antes de que el error de que solo te muestre el primer registro puede estar dentro del rdlc. Convendría revisar cómo está hecho ese rdlc, no vaya a ser que el error esté ahí y te estés volviendo loco revisando el código del form cuando éste último es perfectamente correcto.

    martes, 13 de octubre de 2020 17:14
    Moderador
  • Según tu notación, me parece que sería Data_histusu, no Data_hitusu. Pero hacele caso a Alberto que conoce el asunto.
    martes, 13 de octubre de 2020 17:34
  •  me parece que sería Data_histusu, no Data_hitusu.
    No se puede saber con seguridad sin examinar el RDLC. El nombre del ReportDataSource tiene que concordar exactamente con el nombre que se le haya puesto dentro del RDLC.
    martes, 13 de octubre de 2020 20:01
    Moderador
  • Hola jpgrover, 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero su respuesta.  

    Gracias por usar los foros de MSDN.  

    Andres Aguilar 

    ____________________________  

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    miércoles, 14 de octubre de 2020 14:58
    Moderador
  • No pasa lo mismo solo muestra 2 registro no los 4, quiero traspasar un historial de guias de despacho. pero lo que me da curiosidad es que el Datatable contiene los 4 registro es cuando traspasa al RDLC es cuando se come literalmente se come dos registro, lo que no tengo explicacion es que aunque coloque la tabla, por que solo muestro una tabla de la base de datos, siempre me da 2 registro y no los 4, lo he hecho en el modo 1, 2, el dataset con la tabla y con el asistente de informe y todo da 2 registro y no  los 4 si fuese la tabla de guias de despacho  o solo muestra 1 de los 180 que si fuese la tabla historial usuario 

    Gracias  de toda manera 

    Gracias


    Una respuesta JP


    • Editado jpgrover miércoles, 14 de octubre de 2020 17:10 se me olvido algo colocar
    miércoles, 14 de octubre de 2020 17:05
  • Tenias Razon era asi me habia comido una S gracias 

    Una respuesta JP

    miércoles, 14 de octubre de 2020 17:05
  • Funciono, el problema era que ocupaba Matiz y ahora hice prueba con tabla  y funciono gracias por todo

    Siempre el 99.9 % el problema esta entre la pantalla y la silla, es decir yo 

    jajjaja gracias 


    Una respuesta JP

    miércoles, 14 de octubre de 2020 23:09