none
ayuuuuuuuuuuuuudaaaaaaaaaaaaaaaaaa urgente como utilizar variables de vb 2005 en crystal reports RRS feed

  • Pregunta

  • como paso el valor de una variable en vb.net2005 a un reporte echo en crystal reports dentro del mismo visual studio me urge porfavor ayudenme
    • Cambiado Fran DiazModerator jueves, 2 de julio de 2009 7:16 - (De:Lenguaje VB.NET)
    • Cambiado Fran DiazModerator jueves, 18 de agosto de 2011 12:45 Es de CR (De:SQL Server Reporting Services)
    miércoles, 24 de junio de 2009 15:15

Respuestas

  • hola,

    disculpa tendria que haber preguntado antes que version del ide estabas usando

    http://cid-5c82aa0c9bbaf5b3.skydrive.live.com/self.aspx/Public/Forum/WinFormCrystalVD2005.zip

    aqui subi una version en VS 2005

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta divad_82 martes, 30 de junio de 2009 14:38
    jueves, 25 de junio de 2009 19:13
  • Hola leandro muchas gracias por toda tu ayuda ya lo resolvi y aqui dejo el codigo generado para todos los que lleguen a tener este mismo problemita

    Lo primero es crear tu reporte en vb.net 2005 despues de eso crear el parametro en su reporte para su utilización desde visual basic
    una vez dentro de visual basic en nuestro form agregamos un control CrystalReportViewer añadimos las siguientes bibliotecas en el principio de nuestro codigo de la siguiente manera:

    Imports CrystalDecisions.CrystalReports
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.ReportSource
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows
    Public Class contratacion
    
    donde public class contratacion es el nombre de tu form en el programa

    Despues de estos sencillos paso asignamos el siguiente codigo

    ' objeto para contener una colección de valores de parámetros
                Dim pvValoresParametros1 As New ParameterValues()
    
    ' objeto para almacenar un valor de un parámetro
                Dim parNOMBRE As New ParameterDiscreteValue()
    
    ' asignamos el reporte creado dentro de nuestro proyecto par poder referirnos a el en un futuro
                Dim oRptPrueba As New Contrato
    
    ' asignar el valor al parámetro en este caso el valor se encuentra dentro del textbox1.text
                parNOMBRE.Value = TextBox1.Text
    
    
    ' añadir el parámetro a la colección de parámetros
                pvValoresParametros1.Add(parNOMBRE)
    
    ' tomar del informe, el parámetro que necesitemos,
    ' a través de su colección de campos de parámetros,
    ' y aplicar a dicho parámetro los valores de los
    ' parámetros que están en la colección (en este caso sólo uno)
                oRptPrueba.DataDefinition.ParameterFields("Nombre").ApplyCurrentValues(pvValoresParametros1)
    
    'asignamos el roporte al contenerdor puesto con el diseñador para mostrarlo en pantalla
                Me.CrystalReportViewer1.ReportSource = oRptPrueba


    y listo de esta forma le asignamos un valor dado dentro de visual basic .net 2005 a un reporte echo en crystal reports sin nesesidad de pasar por la base de datos cabe mencionar que esto se puede utilizar para valores que no seran almacenados en otro caso no es muy efectivo el procedimiento
    • Marcado como respuesta divad_82 martes, 30 de junio de 2009 14:53
    martes, 30 de junio de 2009 14:52

Todas las respuestas

  • hola,

    deberias pasarse como parametro.

    aqui un excelente ejemplo que explica como hacerlo:

    Working with Parameters with Crystal Reports and ASP.NET 2.0


    nota: si bien esta implementado para asp.net es totalmente aplicable a desarrollos desktop.

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 24 de junio de 2009 15:33
  • mmm no le entiendo muy bien soy muy torpe para el ingles
    miércoles, 24 de junio de 2009 15:38
  • mira ya lo traduci pero no lo entiendo ademas me muestra que parameterfields no esta definido
    miércoles, 24 de junio de 2009 16:08
  • hola,

    mas alla del ingles que si se que es dificil a veces.

    puedes concentrarte en ele ejmplo de codigo, mas puntualmente en esta secion:

        Me.CrystalReportViewer1.ReportSource = Server.MapPath("SampleParam1.rpt")

        Dim ParamFields As ParameterFields = Me.CrystalReportViewer1.ParameterFieldInfo

        Dim p_EmpID As New ParameterField

        p_EmpID.Name = "p_EmployeeID"

        Dim p_EmpID_Value As New ParameterDiscreteValue

        p_EmpID_Value.Value = Me.txtEmployeeID.Text

        p_EmpID.CurrentValues.Add(p_EmpID_Value)

        ParamFields.Add(p_EmpID)


    como veras hace uso del ParameterField, para defini el parametro del report.
    ParameterDiscreteValue para especificarlo.

    veras arriba en la pagina que hay un indice, e la primer pagina te muestra visualmente como crear el parametro en el reporte, deberias utilizar el mismo nombre, en este caso lo llamo  "p_EmployeeID", pero tu debes usar el que crees.

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 24 de junio de 2009 16:11
  • dice que tiene errores
    mira me muestra esto
    Parameter Fiel no esta definido
    miércoles, 24 de junio de 2009 16:17
  •  me lo puedes axplicar como mira has de cuenta que solo quiero mostrar una variable de vb2005 en un reporte de crystal
    miércoles, 24 de junio de 2009 16:19
  • hola,

    mm no se me ocure mucho como explicarlo ams simple que en ejemplo del link.

    por ahi te peuda ayudar un ejemplo explciado en español:

    Interfaz Crystal Reports con .NET

    este igualmente esta apuntado a algo mas generico que son parametros dinamicos, que creo no es tu caso, pero la logica es identica.

    Pasando parámetros al informe en .NET con Crystal Reports.

    en este ultimo ve la seccion cuando explica como pasar el parametro

    por ahi podrias explicarnos ahsta donde conoces de crystal ?
    o si pudiste crea el parametro en el reporte ?

    agregaste el crystal viewer en tu aplicacion para visualizar el reporte ?

    recuerda tener los import y las referencias a loc omponetes de crystal.

    Se que quiere pasar solo el valor de una veriable, peroe s justamente con un parametro alr eprote con que lo logras.
    Luego este parametro podras usarlo para filtrar tu consultaen ele reporte, o para visualziar el valor como un campo en el mismo.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 24 de junio de 2009 16:58
  • que imports se nesesitan
    miércoles, 24 de junio de 2009 16:59
  • haber mira para se mas claro nesesto mostrar dinamicamente en un reporte de crystal reports que ya tengo creado con el parametro "p_EmployeeID" en donde se mostraran los cambios echos en el textbox1.text
    nesesito mostrar cualquier texto que este contenga si me puedes ayudar
    miércoles, 24 de junio de 2009 17:07

  • si analizas primer link "Interfaz Crystal Reports con .NET ", veras que arriba realiza algunas declaraciones en las lineas:

    Imports  CrystalDecisions.CrystalReports
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.ReportSource
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows


    si agregaste un control de crystal viewer seguramente las referencias se agregaron solas, sino deberas hacerlo manualmente.

    si exacto lo que quieres hacer es por medio de parametros, si en realidad podrias haber usado otro nombre en el parametro algo asm representativo, en lugar de "p_EmployeeID", pero bueno si estas probando igual depues puedes renombrarlo.
    Prueba de este campo en el designer del reporte, arrastrarlo a la pantalla, veras como se convierte en un campo en el reporte, cuando desde codigo logras pasarle el valor lo veras donde colocaras.

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 24 de junio de 2009 17:14
  • mira arrastrandolo no me dejo no tienes la forma de hacerlo por codigo?

    miércoles, 24 de junio de 2009 17:17

  • hola,

    pero estas visualizando el diseño del reporte, es alli dodne debes definir el parametro y poder arrastrarlo al formulario del reporte.

    es muy raro que no te deje hacerlo.

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 24 de junio de 2009 21:03
  • hola leandro no me deja y no se por que no sera por que es vb 2005
    jueves, 25 de junio de 2009 14:53
  • hola,

    podrias enviar una print screen de la pantalla donde estas creando el parametro, y desde donde dices que no te deja arrastrarlo al design del reporte ?


    recuerda que puede usar SkyDrive con tu cuanta de hotmail, para subir la imagen alli.

    sino veo de hacer un ejemplo, pero la macana es que en el laburo no tengo instalado vb.net, pero podria armarlo en c#.


    saludo
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 25 de junio de 2009 15:29
  • lo malo es que todo el sistema esta en vb
    jueves, 25 de junio de 2009 15:31

  • ok, igualmente una buena parte del diseño es visual, la parte del codigo de ultima podemos usar un conversor.

    vemos entonces de resolver primero porque no puedes utilizar el parametro creado dentro del reporte, esto es todo visual aqui no interviene codigo alguno.

    ve si puedes subir un print screen a ver que puede estar pasando

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 25 de junio de 2009 15:42
  • como subo el print scren
    jueves, 25 de junio de 2009 15:43
  • hola,

    puedes subirlo aqui: http://skydrive.live.com/

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 25 de junio de 2009 15:57
  • oye leandro tienes mensajero?
    jueves, 25 de junio de 2009 16:28
  • mira no lo pude subir me podrias ayudar si puedes hacer el ejemplo y yo lo adapto porfa
    jueves, 25 de junio de 2009 17:15
  • hola,

    http://cid-5c82aa0c9bbaf5b3.skydrive.live.com/self.aspx/Public/Forum/WinFormCrystal.zip

    en la url subi un ejemplo

    necesitas VS 2008 y esta en c#, pero igualmente no es tan distnto a vb.net
    en todo caso te guio en la traduccion.


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 25 de junio de 2009 17:42
  • tengo vs 2005
    jueves, 25 de junio de 2009 18:36
  • hola,

    disculpa tendria que haber preguntado antes que version del ide estabas usando

    http://cid-5c82aa0c9bbaf5b3.skydrive.live.com/self.aspx/Public/Forum/WinFormCrystalVD2005.zip

    aqui subi una version en VS 2005

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta divad_82 martes, 30 de junio de 2009 14:38
    jueves, 25 de junio de 2009 19:13
  • leandro otr pregunta ya vi que tu codigo funciona muy bien ahora como exporto ese codigo a vb.net 2005
    sábado, 27 de junio de 2009 1:52
  • Hola leandro muchas gracias por toda tu ayuda ya lo resolvi y aqui dejo el codigo generado para todos los que lleguen a tener este mismo problemita

    Lo primero es crear tu reporte en vb.net 2005 despues de eso crear el parametro en su reporte para su utilización desde visual basic
    una vez dentro de visual basic en nuestro form agregamos un control CrystalReportViewer añadimos las siguientes bibliotecas en el principio de nuestro codigo de la siguiente manera:

    Imports CrystalDecisions.CrystalReports
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.ReportSource
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows
    Public Class contratacion
    
    donde public class contratacion es el nombre de tu form en el programa

    Despues de estos sencillos paso asignamos el siguiente codigo

    ' objeto para contener una colección de valores de parámetros
                Dim pvValoresParametros1 As New ParameterValues()
    
    ' objeto para almacenar un valor de un parámetro
                Dim parNOMBRE As New ParameterDiscreteValue()
    
    ' asignamos el reporte creado dentro de nuestro proyecto par poder referirnos a el en un futuro
                Dim oRptPrueba As New Contrato
    
    ' asignar el valor al parámetro en este caso el valor se encuentra dentro del textbox1.text
                parNOMBRE.Value = TextBox1.Text
    
    
    ' añadir el parámetro a la colección de parámetros
                pvValoresParametros1.Add(parNOMBRE)
    
    ' tomar del informe, el parámetro que necesitemos,
    ' a través de su colección de campos de parámetros,
    ' y aplicar a dicho parámetro los valores de los
    ' parámetros que están en la colección (en este caso sólo uno)
                oRptPrueba.DataDefinition.ParameterFields("Nombre").ApplyCurrentValues(pvValoresParametros1)
    
    'asignamos el roporte al contenerdor puesto con el diseñador para mostrarlo en pantalla
                Me.CrystalReportViewer1.ReportSource = oRptPrueba


    y listo de esta forma le asignamos un valor dado dentro de visual basic .net 2005 a un reporte echo en crystal reports sin nesesidad de pasar por la base de datos cabe mencionar que esto se puede utilizar para valores que no seran almacenados en otro caso no es muy efectivo el procedimiento
    • Marcado como respuesta divad_82 martes, 30 de junio de 2009 14:53
    martes, 30 de junio de 2009 14:52