none
Llamar reporte crystal externo que utiliza conexión odbc a base de datos mysql RRS feed

  • Pregunta

  • Hola compañeros del foro, tengo un problema relacionado con crystal reports, el cual espero contextualizar de la mejor manera para resolverlo muy pronto.

    Tengo una aplicación en VB 2010 la cual contiene un formulario de consulta, que muestra en una grilla los documentos de contabilidad relacionados en el sistema, cuyo diseño está presentado de la siguiente manera.

    Al dar click selecciono el comprobante contable cuyo código interno aparece en la parte inferior derecha (Recuadro rojo), este código le servirá al usuario para que en el momento de dar click en el botón "Imprimir" muestre un reporte que esta contenido en la carpeta "Reportes" del contenedor principal de la aplicación.

    Para dar respuesta a dicho problema enumero los siguientes eventos y/o circunstancias para que puedan saber en que estado se encuentra la aplicación.

    1. Los reportes son realizado en Crystal Reports 2008 Sp4 por el departamento de consultas de la empresa, por tal motivo a mi me llegan hechos al departamento de programación con la extensión " *.rpt "

    2. La conexión a los datos en dichos reportes, que usa el departamento de consultas es ODBC, que en cuyo caso está orientado a una base de datos MYSQL, por tal motivo no lo hago con un dataset tipado.

    3. La mayor parte de los reportes pueden tener 1 a 6 variables, que son enviadas a través de la aplicación hecha en VB 2010. (para el ejemplo es 1 variable usando el botón "Imprimir")

    4. Me indica el departamento que es cuestión de enviar las variables al formulario, (Que en mi caso obviamente no sé como se hace) con los nombres "p1", "p2", "p3", "p4", "p5", "p6"

    5. Tome como ejemplo a este compañero del foro pero NO ME FUNCIONÓ. Llamar Reporte Externo

    Agradezco la ayuda enormemente, supongo que deberá ser algo muy sencillo, pero después de mes y medio intentando me doy por vencido y aparte la premura de mi trabajo.

    Dios los guarde.

    • Cambiado Enrique M. Montejo martes, 24 de junio de 2014 14:36 Pregunta relacionada con Crystal Reports
    martes, 24 de junio de 2014 0:45

Respuestas

  • Hola:
    Lo que teneis que hacer es poner como origen de datos  del fichero rpt un fichero de esquema con todos los campos que se utilicen en dicho fichero rpt.
    Despues de esto, solo le tienes que cargar el ReportDocument con 1 datatable con todos los campos del fichero rpt, da igual que el origen de datos del datatable sea MySql, Access, Oracle, SQLServer etc.
    Si me pasas una direccion de correo, te paso un ejemplo.

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta Jairo Garzón jueves, 10 de julio de 2014 22:50
    miércoles, 25 de junio de 2014 9:06
  • bvuen dia a todos

    Agregas a tu formulario un CrystalReportViewer

    Dim rpt As ReportDocument = New ReportDocument()

     rpt.Load("C:\Sistemas\RPT\" + nomrpt.Trim)

     rpt.SetDatabaseLogon("USUARIO", "PASS")
     rpt.SetParameterValue(0, "PARAMETRO")
     rpt.SetParameterValue(1, "PARAMETRO2")

     CrystalReportViewer1.ReportSource = rpt
     CrystalReportViewer1.Show()

    Prueba este codigo y avisas.

    suerte


    alerta

    • Marcado como respuesta Jairo Garzón jueves, 10 de julio de 2014 22:50
    jueves, 26 de junio de 2014 21:21

Todas las respuestas

  • Hola:
    Lo que teneis que hacer es poner como origen de datos  del fichero rpt un fichero de esquema con todos los campos que se utilicen en dicho fichero rpt.
    Despues de esto, solo le tienes que cargar el ReportDocument con 1 datatable con todos los campos del fichero rpt, da igual que el origen de datos del datatable sea MySql, Access, Oracle, SQLServer etc.
    Si me pasas una direccion de correo, te paso un ejemplo.

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta Jairo Garzón jueves, 10 de julio de 2014 22:50
    miércoles, 25 de junio de 2014 9:06
  • Buen día Carlos, mi correo es jairogf821@hotmail.com

    Agradezco tu ayuda, un saludo desde Bogotá - Colombia

    jueves, 26 de junio de 2014 2:53
  • bvuen dia a todos

    Agregas a tu formulario un CrystalReportViewer

    Dim rpt As ReportDocument = New ReportDocument()

     rpt.Load("C:\Sistemas\RPT\" + nomrpt.Trim)

     rpt.SetDatabaseLogon("USUARIO", "PASS")
     rpt.SetParameterValue(0, "PARAMETRO")
     rpt.SetParameterValue(1, "PARAMETRO2")

     CrystalReportViewer1.ReportSource = rpt
     CrystalReportViewer1.Show()

    Prueba este codigo y avisas.

    suerte


    alerta

    • Marcado como respuesta Jairo Garzón jueves, 10 de julio de 2014 22:50
    jueves, 26 de junio de 2014 21:21