none
consulta de crystal reports RRS feed

  • Pregunta

  • Hola a todos

    Tengo un par de consultas que hacerles
    Estoy trabajando en vb 2008 y crystal report

    la cuestion es que estoy armando un reporte en crystal report 2008 y no se como visualizar desde el visual basic sino la mayoria de los ejemplos son con dataset, antes en vb 6 era muy sensillo print report y ya está, seria algo asi también en vb net o tiene su tecnica?

    la segunda consulta es mas bien para que me den un link con un tutorial sobre como imprimir a pdf a traves de crystal report

    Saludos

    Carlos


    martes, 12 de enero de 2010 12:02

Respuestas

  • Mira yo le hago de la siguiente manera.
     
    1. creo el crystal y lo guardo.
    2. lo adiciono al proyecto.
    3. creo el formulario con el CrystalReportViewer
    4. creo los textbox que necesito para enviar los parametros al CrystalReport
    es alcgo como lo siguiente.


    Public Class Form13
        Dim con As New MySqlConnection(My.Settings.MysqlConnectionString)
        Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
            Dim dr As MySqlDataReader
            Dim str As New MySqlCommand("Select f001_id_ped_unoee from t001_pedido_venta")
            con.Open()
            str.Connection = con
            dr = str.ExecuteReader
            ComboBox1.Items.Clear()
            Try
                While dr.Read
                    ComboBox1.Items.Add(dr.Item(0).ToString)
                End While
            Catch ex As Exception
            Finally
                con.Close()
                dr = Nothing
                str = Nothing
            End Try
    
        End Sub
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim rept As New PVproduccion
            Dim par As New ParameterField
            par = rept.ParameterFields("pedido")
            par.CurrentValues.AddValue(ComboBox1.Text)
            Dim con As New CrystalDecisions.Shared.ConnectionInfo
            rept.SetDatabaseLogon("******", "******")
            Me.CrystalReportViewer1.ReportSource = rept
        End Sub
        Private Sub Form13_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Thread.CurrentThread.CurrentCulture = _
    New CultureInfo("es-CO", False)
            ' Obtengo la informaci?n de formato n?merico, correspondiente
            ' a la nueva configuraci?n establecida.
            '
            Dim nfi As Globalization.NumberFormatInfo = _
            Thread.CurrentThread.CurrentCulture.NumberFormat
    
            Console.WriteLine(nfi.NumberDecimalSeparator)
            Console.WriteLine(nfi.NumberGroupSeparator)
            Console.WriteLine(nfi.CurrencyDecimalSeparator)
            Console.WriteLine(nfi.CurrencyGroupSeparator)
            Console.WriteLine(nfi.CurrencySymbol)
    
        End Sub
    End Class
    si ter sive de algo marca la respuesta.
    • Marcado como respuesta carlosanpy martes, 6 de abril de 2010 13:07
    miércoles, 13 de enero de 2010 12:45

Todas las respuestas

  • No se si te he entendido bien... necesitas como visualizar un informe en pantalla desde VB. Has de usar el CrystalReporViewer que encontrarás en la barra de herramientas...

    Y aquí tienes como enlazarlo:
    http://msdn.microsoft.com/es-es/library/ms251671.aspx
    http://www.vbdotnetheaven.com/UploadFile/sushmita_kumari/Report201242006041121AM/Report2.aspx?ArticleID=d6184a33-ee75-495d-9ef3-1fe3e9a24632


    Y desde el propio ReportViewer te da la opción de imprimir en PDF y otros formatos. ;)
    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    martes, 12 de enero de 2010 12:18
  • Hola ivan gracias por responder

    En realiadad creo que hay una confusión.
    Tengo el visual basic 2008. Aparte tengo el crystal report 2008 o sea es otro software. En ella estoy armando un informe y desearia saber cual es el codigo para visualizar ese informe ya que en el crystal ya tengo todo armado.
    Estoy conciente de que en un form cargo el crystal report viewer y alli enlazo con el informe en cuestion y seria form1.show solamente?

    Saludos


    martes, 12 de enero de 2010 12:29
  • A ver, sinceramente, el crystal reports completo no lo tengo por que uso el del VB o el report service del sqlserver como mucho... Así que te hablo teoricamente.

    En principio el crystal reports tiene al igual que el SQLServer un servidor de reportes, por lo que puedes enviarle al usuario a la dirección de este reporte o usar el reportviewer, enlazarlo y tal como dices hacer un show...

    La forma más sencilla, usando el reportviewer, sino mira a ver que tipo de licencia tienes de crystal y lo que puedes usar. Creo que el servidor es Xcelsius .


    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    martes, 12 de enero de 2010 12:39
  • hola

    busca en la toolbox del VS el control CrystalReportViewer y arrastralo a un formulario
    este es el control que debes usar para visualizar el reporte en tu aplicacion

    Using CrystalReportViewer to Display Crystal Reports in .Net

    en este link por ahi algo puede difereir en como lo uses dependiendo si el crystal report que usas es el mismo que viene en el VS
    ya que para cargar el reporte podrias crear a instancia del mismo y asignarlo a la propiedad ReportSource de este control viewer

    me refiero a que si has creado un reporte de nombre ReportTest.rpt
    podrias crear una instancia del mismo

    Dim rpt As New ReportTest

    CrystalReportViewer1.ReportSource = rpt


    de esta forma asignas el reporte al control para visualizarlo
    por supuesto no te olvides de asignar los datos usando

    rpt.SetDataSource(dt)

    en donde dt es el datatable

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 12 de enero de 2010 13:05
  • Edito:
    En un form cargo el crystalreportviewer, elijo el crystalreport.rpt y lo inserto a mi crv
    pero al introducir el codigo

    Dim rpt As New Base_Material me marca error 'Base_Material no esta definido

    como hago para dirigir el reporte hacia mibasedatos.mdb

    Donde hay un link para exportar directamente a pdf a traves de Crystal Report sin visualizar el reportviewer?

    Saludos

    Carlos
    martes, 12 de enero de 2010 19:04
  • mira primero tienes que agregar el report a tu proyecto , te recomiendo hacer una carpeta y ponerlo hay

    despues  escribes

    new report= new Nombrearchivosreportrpt
    report.SetDataSource(dset)
    crystalview.reportSource()=report

     



    depues de esto te vas al diseño pichas el crystalviewreport y en sus propiedades donde sale  reportsource y marca tu informe =).



    con el dset es el dataset =).


    • Editado ARthemiaz martes, 12 de enero de 2010 23:15
    martes, 12 de enero de 2010 19:41
  • te recomiedo que cuado este llenado tu dataset use try  catch

    porque cuado uno llena con mas de una tabla , no te das cuenta y pones primero a llenar una tabla que tiene claves Fk y te tira error porque no tiene de doce sacar la Primary key,

    espero te sirva saludos =).

    y por si no te acuerdas de como llenar los dataset ejemplillo


    dim dset as new NombrearchivosDAtaset
    dim sqlda as new sqldaadapter

    sqlda=new sqldaadapter("select * from personal",rutabasedatos)
    <---------------------------si llenas mas de una tabla recomiendo poner un try catch =)
    sqlda.fill(dset.personal)

    new report= new Nombrearchivosreportrpt
    report.SetDataSource(dset)
    crystalview.reportSource()=report

    • Propuesto como respuesta ARthemiaz martes, 12 de enero de 2010 22:36
    martes, 12 de enero de 2010 19:44
  • Aquí te dejo la forma de exportar a pdf directamente sin visualizar. En los ejemplos visualizan, pero puedes poner la propiedad visible a false del reportviewer.

    http://vb.net-informations.com/crystal-report/vb.net_crystal_report_export_pdf.htm
    http://visualbasic.ittoolbox.com/documents/exporting-crystal-report-to-pdf-using-vb-11675

    Y este en español y con ejemplo que puedes descargar. ;)
    http://www.dotnetcr.com/recurso.aspx?id=71&tag=Convierte-tu-reporte-Crystal-Reports-a-PDF-y-envialo-por-correo 
    Iván Noya Cendal
    http://www.seuvella.com

    Si la respuesta te ha ayudado, marcala.
    • Propuesto como respuesta IncaSoft miércoles, 13 de enero de 2010 7:49
    miércoles, 13 de enero de 2010 7:49
  • Mira yo le hago de la siguiente manera.
     
    1. creo el crystal y lo guardo.
    2. lo adiciono al proyecto.
    3. creo el formulario con el CrystalReportViewer
    4. creo los textbox que necesito para enviar los parametros al CrystalReport
    es alcgo como lo siguiente.


    Public Class Form13
        Dim con As New MySqlConnection(My.Settings.MysqlConnectionString)
        Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
            Dim dr As MySqlDataReader
            Dim str As New MySqlCommand("Select f001_id_ped_unoee from t001_pedido_venta")
            con.Open()
            str.Connection = con
            dr = str.ExecuteReader
            ComboBox1.Items.Clear()
            Try
                While dr.Read
                    ComboBox1.Items.Add(dr.Item(0).ToString)
                End While
            Catch ex As Exception
            Finally
                con.Close()
                dr = Nothing
                str = Nothing
            End Try
    
        End Sub
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim rept As New PVproduccion
            Dim par As New ParameterField
            par = rept.ParameterFields("pedido")
            par.CurrentValues.AddValue(ComboBox1.Text)
            Dim con As New CrystalDecisions.Shared.ConnectionInfo
            rept.SetDatabaseLogon("******", "******")
            Me.CrystalReportViewer1.ReportSource = rept
        End Sub
        Private Sub Form13_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Thread.CurrentThread.CurrentCulture = _
    New CultureInfo("es-CO", False)
            ' Obtengo la informaci?n de formato n?merico, correspondiente
            ' a la nueva configuraci?n establecida.
            '
            Dim nfi As Globalization.NumberFormatInfo = _
            Thread.CurrentThread.CurrentCulture.NumberFormat
    
            Console.WriteLine(nfi.NumberDecimalSeparator)
            Console.WriteLine(nfi.NumberGroupSeparator)
            Console.WriteLine(nfi.CurrencyDecimalSeparator)
            Console.WriteLine(nfi.CurrencyGroupSeparator)
            Console.WriteLine(nfi.CurrencySymbol)
    
        End Sub
    End Class
    si ter sive de algo marca la respuesta.
    • Marcado como respuesta carlosanpy martes, 6 de abril de 2010 13:07
    miércoles, 13 de enero de 2010 12:45