Parámetros en Crystal report y Visual Basic

Escrito en Septiembre 26, 2009 por Alex

Muchas veces necesitamos pasar el contenido de una variable al reporte de Crystal report sin necesidad de acudir a la base de datos.
En Visual Basic.Net esto es posible con la utilización de parámetros y aquí está un sencillo código de ejemplo:

Dim Ds As DataSet
Dim myReport As New ReportDocument
Dim sNombre as string="Juan Pérez"
 
 Try
Ds = fReporte("SELECT * FROM alumnos")
myReport.Load(My.Application.Info.DirectoryPath & "\MyReport.rpt")
myReport.SetDataSource(Ds)
 
'AQUI DECLARAMOS UN PARAMETRO
myReport.SetParameterValue("nombre", sNombre)
 
'CRV1 es el control Report Viewer donde se muestra el reporte
 CRv1.ReportSource = myReport

Como podemos ver he declarado un parámetro llamado “nombre” y le estoy pasando la variable sNombre.

Ahora dentro del diseñador de reportes de Crystal, es decir, dentro de MyReport.rpt, vamos a crear un “Campo de parámetro” y le ponemos un nombre y en texto de solicitud le ponemos el mismo nombre identico al que hemos puesto aquí: “nombre”.
Dentro del apartado “Campos de parámetro” ahora existirá nuestro campo el cual agregaremos al reporte y lo situaremos donde creamos conveniente como a cualquier otro campo.

Si te gusto este artículo Suscribete a nuestro feed

16 Comentarios en “Parámetros en Crystal report y Visual Basic”

  1. Dantors |

    Hola

    hace tiempo que me desconecte de la programacion, ahora regreso y veo que tienes mas cosas muchas felicitaciones….lo que acabas de poner creo que es gusto lo que necesito jejeje oye pero como le haria para poner todos los datos de un data grid a cristal report para que sean impresos… o biem de ahi pasarlos a un formato de excel…

    muchas gracias alex.

  2. Alex |

    Dantors:

    Desde el reporte de Crystal tienes un botón para exportar los datos a excel o a PDF etc…
    En una propiedad del control de Crystal reports puedes hacer visible o invisible esa opción pero ya viene visible por default.

  3. Dantors |

    ok gracias por la info…

  4. JOsue |

    Hola migo oyes yo tengo el mismo problema que el chavo que comento, soy nuevo y mi maestro me pidio un ejemplo de impresion pero de tiket venta ya que haremos un sistemas de PV. y estoy muy novato para esto espero y me puedas ayudar con algun ejemplo.

    mira tomando los datos que nos da la base de datos en mysql por medio de un datagrip pasar el nom,bre de los productos y su precio al tiket…

    ayudame si

  5. Siliva |

    Cuando armo el reporte pasandole parametros (con Setparametervalue) y quiero mandar directamente a PDF sin hacer el preview me da error…..Sabes de alguna solucion???
    Gracias

  6. Alex |

    Necesitaria ver el codigo.

  7. lucas |

    gracias amigo estaba toda la mañana intentado realizar este reporte. gracias

  8. daniel |

    que onda alex…

    no comprendo muy biem cristal report, pero pues necesito mandar a imprimir unos datos de un formulario en forma de tiket…como le puedo hacer…gracias tu pagina me ha servido mucho en un momento dare unos click en la publicidad….gracias

  9. Alex |

    te recomiendo que lo hagas con prinDocument sin usar crystal reports.

    Ejemplo:
    Private Sub btnImprimirSimple_Click(ByVal sender As Object, _
    ByVal e As EventArgs) _
    Handles btnImprimirSimple.Click
    ‘ ejemplo simple para imprimir en .NET
    ‘ Usamos una clase del tipo PrintDocument
    Dim printDoc As New PrintDocument
    ‘ asignamos el método de evento para cada página a imprimir
    AddHandler printDoc.PrintPage, AddressOf print_PrintPage
    ‘ indicamos que queremos imprimir
    printDoc.Print()

    End Sub

    Private Sub print_PrintPage(ByVal sender As Object, _
    ByVal e As PrintPageEventArgs)
    ‘ Este evento se producirá cada vez que se imprima una nueva página
    ‘ imprimir HOLA MUNDO en Arial tamaño 24 y negrita

    ‘ imprimimos la cadena en el margen izquierdo
    Dim xPos As Single = e.MarginBounds.Left
    ‘ La fuente a usar
    Dim prFont As New Font(”Arial”, 24, FontStyle.Bold)
    ‘ la posición superior
    Dim yPos As Single = prFont.GetHeight(e.Graphics)

    ‘ imprimimos la cadena
    e.Graphics.DrawString(”Hola, Mundo”, prFont, Brushes.Black, xPos, yPos)
    ‘ indicamos que ya no hay nada más que imprimir
    ‘ (el valor predeterminado de esta propiedad es False)
    e.HasMorePages = False

    End Sub

    http://www.elguille.info/net/dotnet/imprimir_visual_basic_net.aspx

  10. daniel |

    boy a checarlo…de Antemano te agradesco amigo…ya comento como me fue ….saludos

  11. RAFAEL |

    Buenos dias, necesito por favor una ayuda muy urgente, como puedo hacer para mandar el valor del tamaño de letra a un campo en crystal report

  12. Alex |

    Rafael: El tipo de fuente se lo configuras en el campo ya en el diseñador. Le das clic derecho a el campo y te aparecen varias opciones entre ellas las fuentes y tamaños.

  13. fercha |

    ola… que tal????
    lo que sucede es que necesito hacer un programa, pero que no tiene bd. asi que se me ocurre ir guardando datos en dif variables y acomodarlas de depende de como quiero que me las acomode con el cristal r. en un dcumento…. pero se podre?????
    cuel seria el codigo???

  14. ernesto |

    ola que tal gracias por tu aporte
    ahh una pregunta como le paso dos parametros a un crystal report usando ese mismo ejemplo

  15. Rocío |

    Hola!! buenas noches muchas gracias por la aportación me ha ayudado de mucho, Gracias!!!!

  16. Vale |

    Muchisimas gracias ese aporte me resolvio un duda muy grande

Escribe un comentario