none
Crear un Report Viewer con parámetros desde una búsqueda Textbox RRS feed

  • Pregunta

  • ¡Buenas! Ya he buscado mucho por la Red, por Youtube, por el FORO y he encontrado mucha información pero no realmente lo que quiero hacer. Soy programador Novato y desearía que realmente me puedan ayudar, porque si no, me volveré loco de frustración.

    Tengo1 Formulario con 2 Tablas en base de datos Access(anexo Imagen) la cual quiero hacer un reporte de un Paciente y filtrar todos sus abonos. Por Ejemplo: Fulanito Pérez y todos sus Saldos, como un Estado de cuenta.

    Este es Formulario Estado de Cuenta, quiero que a partir de elegir un Paciente o Buscarlo y luego darle al botón Imprimir, se genere el informe con su Nombre, Tratamiento, Costo, Último Pago y Saldo. El nombre iría arriba y los demás campos en forma de tabla.

    Form Estado de Cuenta

    Esta es el Dataset que quiero que muestre el ReportViewer. y La consulta VerTodosLosPagos es esta:

    SELECT        Pacientes.Nombre, Pacientes.Apellido, Pacientes.Tratamiento, Edo_cuenta.Fec_abono, Edo_cuenta.Costo, Edo_cuenta.Ult_Pago, Edo_cuenta.Saldo
    FROM            (Pacientes INNER JOIN
                             Edo_cuenta ON Pacientes.Cuenta = Edo_cuenta.Cuenta)

    También tengo la consulta LlenarPorParametroPagos y su código:

    SELECT        Pacientes.Nombre, Pacientes.Apellido, Pacientes.Tratamiento, Edo_cuenta.Fec_abono, Edo_cuenta.Costo, Edo_cuenta.Ult_Pago, Edo_cuenta.Saldo
    FROM            (Pacientes INNER JOIN
                             Edo_cuenta ON Pacientes.Cuenta = Edo_cuenta.Cuenta)
    WHERE        (Pacientes.Nombre = ?)


    Si pudieran ayudarme, no pido que me lo hagan, lo que quiero es que al menos me enseñen hacerlo, con ejemplos, códigos.

    Ya lo dicen por ahí, el conocimiento no tiene ningún poder, si no se comparte.

    Gracias de antemano.

    jueves, 22 de octubre de 2020 18:59

Todas las respuestas

  • Por favor,necesito ayuda.
    domingo, 25 de octubre de 2020 5:42
  • Hola:
    Lo que pides es muy extenso, tienes que pedir cosas mas especificas.
    Puedes poner lo que has hecho y donde te has quedado "atascado", asi iras avanzado poco a poco.
    Los pasos basicamente son:


    1.- Crear un datatable de forma manual con los campos que iran en el informe
    2.- Hay que crear el fichero RDLC y al añadir una tabla, asignar los datos

    3.- Crear una consulta con la que se obtiene un DataTable que sera el conjunto de datos que "alimenta" al fichero RDLC
    4.- Codigo para que se ejecute el informe
            Try
                With Me.ReportViewer1.LocalReport
                    ' path del Informe
                    .ReportPath = Application.StartupPath & "\..\.." & "\TU_FICHERO.rdlc"
                    .DataSources.Clear()
                End With
                ' ----------------------------------------------------
                ' Datasource para el Informe principal
                ' ----------------------------------------------------
                'DataTable es el conjunto de datos que se obtiene de la consulta
                ?Datos es el nombre que se pone en el fichero RDLC segun la imagen posterior
                Dim rptDataSource As New ReportDataSource("Datos", DataTable)  
                Me.ReportViewer1.LocalReport.DataSources.Add(rptDataSource)
                ReportViewer1.RefreshReport()
            Catch ex As Exception
                MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try

    Un saludo desde Bilbo
    Carlos


    domingo, 25 de octubre de 2020 9:03
  • Hola Alfredo Arenas,

    ¿Alguna novedad sobre tu pregunta? ¿Han sido útiles las respuestas proporcionadas? Por favor no olvides marcar una respuesta si resolviste tu consulta (debajo de cada post hay una opción que dice "Marcar como respuesta").

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    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. 

    lunes, 26 de octubre de 2020 13:17
    Moderador