none
VB2008 - Conexión de reporte en Crystal RRS feed

  • Pregunta

  • Estimados,

    les comento que necesito crear un informe con Crystal Reports, anteriormente lo hacía mediante el conector ODBC de MySQL. El problema es que debo instalar, en cada equipo cliente, dicho conector. Mi idea es poder realizar dicha conexión mediante código sin necesidad de ODBC. Algo así como, de llamar a  :

    Dim oDataBuscar As New DataTable

     oDataBuscar = oVNT.BusquedaVenta(Fecha, Usuario).Tables("Venta")

    y esos registros cargalos en el reporte, obviament, usando el explorador de campos de Crystal.

    Gracias de ante mano.

     

    • Cambiado Enrique M. Montejo sábado, 23 de junio de 2012 15:42 Consulta sobre Crystal Reports (De:Lenguaje VB.NET)
    miércoles, 25 de agosto de 2010 18:56

Todas las respuestas

  • Alguna idea de como hacerlo? hasta ahora no he podido avanzar nada.

    lunes, 30 de agosto de 2010 14:43
  • hola ...para usar mysql es necesario que uses el conector...lo que no es necesario es usar ODBC...solo usas el conector de mysql para el servidor..

     

    u otra opcion es usar este espacio de nombres

    using System.Data.Common

    aqui usas dbconeccion, dbcommand, etc...este espacio de nombers es de modo general para usar cualquier base de datos....

    http://msdn.microsoft.com/es-es/library/system.data.common%28v=VS.80%29.aspx


    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    lunes, 30 de agosto de 2010 15:33
  • hola

    por ahi esto ayude

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/48d6b873-af3c-4dba-aa4d-b2231ad00db3

    como comento alli no conectes el reporte directo a los datos, usas dataset tipados

    desde tu codigo cargas el dataset como mas te guste y luego asignas este como origen de datos, usa el conector OleDb de mysql para tomar conectarte a la db

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 30 de agosto de 2010 15:49
  • Estimados,

    gracias por responder. Mi idea no es usar un un elemento DataSet, porque tedría que tener una N cantidad por cada consulta que necesito mostrar  (eso creo yo?, si estoy mal me comentan). Mi idea es utilizar las mismas funciones que tengo para llenar, por ejemplo un listview, el reporte en crystal. Todo mediante código, obviamente, no utilizando ODBC solo el conector .NET que ya está instalado en mi proyecto:

    1.- Se podrá crear un reporte mediante las mismas funciones que uso para llenar mis grillas o listview?

         Dim oDataBuscar As New DataTable

        oDataBuscar = oVNT.BusquedaVenta(Fecha, Usuario).Tables("Venta")

    2.- Revisando un hilo de acá, hacen una referencia a un blog: Que tan factible es crear un archivo XML para llenar el reporte?

        Private Sub frmMain_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
           'Creating XML file.
            Dim RC As New clsReportCreator("zbl_bill2print")
            RC.CreateXMLFile("C:\")
        End Sub

    Que me aconsejan ustedes.

    lunes, 30 de agosto de 2010 18:36
  • hola nose si te entendi ...pero lo que comentas por su puesto que se puede hacer..es decir usar las mismas funciones como tu llamas para llenar listas como grillas de igual manera te sirve para llenar los reportes...

    si estas usando el tool crystalreportview ...veras que en su codigo de este se hace uso de un conjunto de datos para llenar el reporte .. este conjunto de datos por lo general se hace referencia a un dataset tipado...entonces aqui cambiarias en vez de poner el dataset tipado usarias la clase con las funciones tuyas...te dejo un ejemplo de como se usa el crystalreportview con ese codigo que te comento...y ahi entonces instanciarias tu tus clases con las funciones y utilizarias tu tus propios datasets..

    http://www.elguille.info/colabora/NET2006/slope_imgdin.htm

    bueno fijate el la parte del codigo donde esta algo asi:

    el rs es el datataset que tu en vez de este deverias hacer usos de tus funciones o datasets ...

     //le indicamos el datasource al report, que sera el recordset
    
    //que hemos llenado
    report.SetDataSource(rs);

    //le indicamos el reportsource al crviewer del segundo form
    //que sera el report que creamos
    form.crystalReportViewer1.ReportSource = report;
    //mostramos el 2ndo form
    form.Show();

    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    martes, 31 de agosto de 2010 13:47
  • He tratado de hacer lo siguiente:

    1. Crear un DataSet llamado: oDataReportes.xsd

    2. Crear un DataTable dentro de oDataReportes.xsd llamado VtaLibroVenta y dentro de el insertar las columnas correspondientes.

    3. Crear mi reporte CrystalReport1.rpt y seleccionar el origen de datos. Cargo los campos de la tabla.

    4. En el código de mi formulario tengo:

    Dim oDataBuscar As New DataTable
    Dim oInforme As New CrystalReport1
    Dim mi_oDataReportes As New oDataReportes

    oDataBuscar = oVNT.BusquedaVenta(Fecha, Usuario).Tables("Venta")

    oInforme.SetDataSource(mi_oDataReportes)

    El reporte se imprime pero solo con las cabeceras de las columnas, nada de información.

    Que estoy haciendo mal?

     

     

    miércoles, 1 de septiembre de 2010 17:27
  • hola intenta cambiar el nombre de la tabla en esta linea

    oDataBuscar = oVNT.BusquedaVenta(Fecha, Usuario).Tables("Venta")

    por esta

    oDataBuscar = oVNT.BusquedaVenta(Fecha, Usuario).Tables("VtaLibroVenta")

    y me avisas


    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    miércoles, 1 de septiembre de 2010 21:59
  • Pablo,

    creo que ese no es mi problema más bien es que no sé como asignar los datos al DataTable VtaLibroVenta ubicado en el DataSet llamado oDataReportes.xsd provenientes de oDataBuscar.

     

    miércoles, 1 de septiembre de 2010 23:45
  • hola...

    hay una forma mas facil de usar los datasetipados y es asi

    http://www.onglasses.net/Default.aspx?id=1340

    auqi en el blog de Leandro Tutini hay otro ejemplo de como usar datasets tipados

    http://ltuttini.blogspot.com/2009/12/c-crystal-reports-usar-dataset-tipado.html

    pero de todas maneras lo que comentas se debe hacer asi revisalo en la parte del final y veras como se instancia el dataset tipado...

    http://www.onglasses.net/Default.aspx?id=3749

     


    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    jueves, 2 de septiembre de 2010 21:38