como pasar parametros_variables a un crystal reports _ sergio inzunza

15
22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 1/15 ← Previous Next → Como Pasar Parametros/Variables a un Crystal Reports 4 Votes Posted on February 22, 2010 by Sergio Inzunza Sergio Inzunza Hazlo simple: tan simple como sea posible, pero no más. Search Home Sotano .NET Contact About

Upload: eagleni

Post on 28-Dec-2015

733 views

Category:

Documents


0 download

TRANSCRIPT

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 1/15

← Previous Next →

Como Pasar Parametros/Variables a un

Crystal Reports

4 Votes

Posted on February 22, 2010 by Sergio Inzunza

Sergio InzunzaHazlo simple: tan simple como sea posible, pero no más.

Search

Home Sotano .NET Contact About

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 2/15

Como pasar un Valor, parametro o variable a Crytal Reports

En esta ocasión compartiré con ustedes una manera fácil de pasar un valor, parámetro o variable a un reporte de

Reporte de Cyrstal Reports desde codigo de C# .net.

Si te has preguntado la manera de pasar un valor, o variable a un reporte de Crystal Reports, sin la necesidad de

crear una columna en la Base de Datos, pues que no tendría sentido hacerlo para un solo valor.

La forma de hacerlo es:

Declarar un parámetro del tipo Parameter Field dentro de nuestro Reporte.

Para esto, en Field Explorer hacer clic derecho sobre Parameter Field y elegir New

Definir el Nombre y el tipo del parametro.

Para el ejemplo, Nombre: ParametroEjemplo, Tipo: String

Listo, ahora ya tenemos el elemento ParametroEjemplo disponible para arrastrarlo y acomodarlo dentro del reporte.

Para pasar el valor/variable al Reporte de Crystal Reports desde código C#.

En caso de que estemos agregando el Reporte al CrystalReportViewer de manera automática, tenemos que poner

el código de paso de parámetros antes de llamar el Reporte.

En caso de que estemos agregando el Reporte al CrystalReportViewer desde código, tenemos que poner

el código de paso de parámetros antes de asignar el ReportSource.

El Código de paso de Parámetros

123

// Pasando una caneda/valorrpt.SetParameterValue("ParametroEjemplo", "Hola Mundo");// Pasando una variable

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 3/15

39 THOUGHTS ON “COMO PASAR PARAMETROS/VARIABLES A UN CRYSTAL REPORTS”

Like this:

Be the first to like this.

Like

About Sergio Inzunza

Sergio Alberto Inzunza Soberanes Ing en Computacion el UABC Tijuana.

View all posts by Sergio Inzunza →

Espero les sea de utilidad el post, y como siempre, se agradecerán todos los comentarios.

This entry was posted in Crystal Reports and tagged C#, Crystal Reports parametros variables, SetParameterField by Sergio Inzunza.

Bookmark the permalink.

45

string var1 = "Hola Mundo";rpt.SetParameterValue("ParametroEjemplo", var1);

You May Like

1.

About these ads

jbslaider on March 11, 2010 at 6:42 pm said:

Buen dia, una pregunta como puedo pasar un paramtro de tipo imagen, quiero mostrar en el reporte una

imagen, pero q no se estatica si no q pueda cambiar, talvez mandarle la ruta de la imagen o la imagen

misma no se como hacerlo, si me pudrieras ayudar estaria perfecto de antemano gracias

Reply ↓

Sergio Inzunza

on March 15, 2010 at 2:40 pm said:

Hola jbslaider.

La verdad es que nunca he utilizado imágenes dinámicas, lo que de primera mano se me ocurre es

que pudieras poner en tu dataset una columna del tipo Binary, y para llenarlo con la imágenes

utilizas el comando ImageToBinary.

Otra opción seria buscar en Google sobre Crystal Reports e Imágenes Dinámicas, seguro

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 4/15

encuentras miles de sugerencias de conocedores en el tema.

Gracias por tu visita

Reply ↓

Melina

on April 16, 2010 at 8:07 pm said:

Podrias guardar tu imagen en labase de datos y segun un identificador el conjunto de datos

devuelve un imagen u otra, e insertas la imagen de tipo database

Saludos.

Reply ↓

rm123 on March 12, 2010 at 10:54 am said:

Hola,

He seguido los pasos que ha indicado, pero cuando ejecuto el programa me da un error en el código:

rpt.SetParameterValue(“Valor”,valor) y el error es el siguiente:

“El índice no es valido. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))”

porque me sucede esto?

Espero vuestras respuestas.

Muchas gracias!!

Reply ↓

Sergio Inzunza

on March 15, 2010 at 2:37 pm said:

Hola rm123

Seguramente estas usando VS 2005 vrdd?

Ese error es comun en VS 2005 y Crystal Reports 10, lo unico que tienes que hacer es mandar el

Indice del parametro, no el nombre.

Esto seria: rpt.SetParameterValue(0,valor).

También recomiendo actualizar el vs 2005 al SP 1.

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 5/15

Gracias por la visita.

Reply ↓

Miguel Antonio

on August 15, 2012 at 6:53 pm said:

Hola, a mi tambien me salio el mismo error, porque estoy indicando que es un control

ComboBox, si le asigno el índice como indicas,me va a salir siempre el primer item, pero lo

que necesito es que me visualice el item selecccionado. ¿Como haría porfavor?.

Agradezco de antemano tu repuesta.

rodolfo garcia on April 14, 2010 at 10:42 pm said:

Gracias por el dato pero ya he intentado de las dos formas que mencionas y ambas me aparece la misma

excepcion me puedes ayudar???

Reply ↓

rodolfo garcia on April 14, 2010 at 10:57 pm said:

Ya le intente de otra forma espero y les sirva

Dim reporte3 As CrystalReport3 = New CrystalReport3()

reporte3.SetParameterValue(“diaInicial”, diainicio)

Reply ↓

Sergio Inzunza

on April 16, 2010 at 4:16 pm said:

Gracias.

Creo que es la misma forma que habia escrito en el post, solo que tu codigo es VB.

Reply ↓

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 6/15

Angel on May 13, 2010 at 3:54 pm said:

Excelente!!

Reply ↓

Oscar on December 1, 2010 at 8:27 pm said:

Exelente aporte, nos cayo del cielo esas lineas de codigo..

Reply ↓

Nicolas on February 3, 2011 at 9:33 pm said:

Muchas gracias, era exactamente lo que necesitaba. Muy buena explicación!

Saludos!

Reply ↓

Luis on April 7, 2011 at 7:06 pm said:

Hola, excelente el aporte. Implemente el codigo con un datatable aparte. Pero me genera un error, el cual

es Faltan valores de parámetro:

El codigo es el siguiente:

Dim datos As DataTable = creaTablaPruebas.Tables(0) ‘Crea una tabla con 4 campos: id, valor1, valor2 y

valor3

reporte.Load(“nombreReporte”)

reporte.SetParameterValue(“ParametroExterno”, “Hola a todos”)

reporte.SetDataSource(datos)

reporte.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat,

Response, True, “BaseReporte”) ‘Aqui me genera el error

Response.Clear()

Response.BufferOutput = False

Response.Buffer = False

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 7/15

Response.ContentType = “application/pdf”

nombreReporte &= “.pdf”

Response.AddHeader(“Content-Disposition”, “attachment;filename=” & nombreReporte)

Response.Flush()

Response.Close()

Algo me falta ??? o que podria hacer ???

En el RPT tengo referenciado los nombres del DataTable por el XSD y el parametroExterno como

parametro.

Te agradeceria mucho tu apoyo.

Gracias.

Reply ↓

Sergio Inzunza

on April 11, 2011 at 7:27 pm said:

Hola.

Intenta intercambiando de posición las lineas

reporte.SetParameterValue(“ParametroExterno”, “Hola a todos”)

reporte.SetDataSource(datos)

de tal manera que quede así:

reporte.SetDataSource(datos)

reporte.SetParameterValue(“ParametroExterno”, “Hola a todos”)

Reply ↓

rodro on November 3, 2011 at 1:09 am said:

la solución es sencilla, tenés mal la ubicación de tu origen de datos, la actualizas y va bien.

Reply ↓

Christian on November 24, 2011 at 5:12 pm said:

Tengo un problema al mandar a ejecutar la aplicacion q soty desarrolando en c# 2010, el error q sale es:

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 8/15

Error 18 No se puede encontrar el tipo o el nombre de espacio de nombres ‘ReportClass’ (¿falta una

directiva using o una referencia de ensamblado?)

el mismo error me sale para el Enginer, Shared, Report Source, IcachedReport, ReportClass y

RequestContext.

que puedo hacer. Es de suma urgencia

Reply ↓

Sergio Inzunza

on November 29, 2011 at 6:40 am said:

Pues no soy el experto en este caso, pero te puedo recomendar:

1,- Tienes instalado el crystal reports ?

2.- Estas usando las referencias (usings)

Reply ↓

Christian

on November 29, 2011 at 1:20 pm said:

tengo instalado el crystal reports 13, en mi aplicacion estoy haciendo referencia al:

using crystaldecisions.enginer

using crystaldecisions.shared

using crystaldecisions.ReportSource

tambien agerge referencia mediane las dll

Joel on November 25, 2011 at 10:47 pm said:

En el caso de los comandos, como hago para pasarle parametros??

Reply ↓

Rooevelt on January 3, 2012 at 2:15 am said:

buenas hermano tengo mi envio asi y me da error El índice no es valido. (Exception from HRESULT:

0x8002000B (DISP_E_BADINDEX)) y a todo le ah funcionado

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 9/15

Dim reporte As CrystalReport1 = New CrystalReport1()

reporte.SetParameterValue(“nombre1″, nom.Text)

que error tengo estoy usando vb.net 2005

Reply ↓

Sergio Inzunza

on January 3, 2012 at 9:32 pm said:

Estas usando VS 2005 vrdd?

Ese error es comun en VS 2005 y Crystal Reports 10, lo unico que tienes que hacer es mandar el

Indice del parametro, no el nombre.

Esto seria: rpt.SetParameterValue(0,valor).

También recomiendo actualizar el vs 2005 al SP 1.

Gracias por la visita.

Reply ↓

jalberto on February 15, 2012 at 7:14 pm said:

Muchas gracias compañero.

Saludos!

Reply ↓

yusi on March 7, 2012 at 12:45 pm said:

Hola estoy haciendo un sistema en vs 2008 en Cshart y quiero sacar un reporte con Cristal Report pero no

se como pasarle un parametro yo, cree un dataset y a este le adñadi un query con un filtro pero no se como

hacer mas nada tengo algunos manuales pero no he podido resolver mi problema

Reply ↓

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 10/15

yusi on March 27, 2012 at 1:47 pm said:

Hola no he recibido ninguna respuesta y me gustaria que me ayuden mira yo tengo un dataset de visitas

donde a este le adñadi un query con un filtro fecha pues me interesa obtener todas las visitas de una fecha

dada pero no se como poder mostrar este resultado en un reporte estoy trabajando con vs 2008 en CShart

y es una aplicacion destop. Ya lo he intentado de muchas maneras hasta creando un procedimiento

almacenado y combirtiendolo en dataset pero al final cuando muestro el reporte no obtengo nada me

pueden ayudar graciasssssssssssssss

Reply ↓

Sergio Inzunza

on March 27, 2012 at 5:25 pm said:

Hola, Si tienes el DataSet con un filtro, no se si lo tengas que los datos siempre son filtrados o el

DataSet tiene un query con el filtro.

Quiero pensar que es la segunda opcion, entonces lo que tienes que hacer es tan facil como:

1.- Obtener los datos filtrados:

DataTable dtsFiltrados = new DataSet1TableAdapters.Table1().Query1();

2.- Asignar los Datos al Reporte:

Report1 rpt = new Report1();

rpt.SetDataSource(rpt);

3.- y ya esta listo el reporte para asignarlo al reportviewer o lo que desees hacer con el.

1.- obtener los datos filtrados

Reply ↓

yusi

on April 16, 2012 at 5:27 pm said:

Hola primero que todo gracias y disculpa pues usted debe de estar pensando que yo soy

una mala agradecida pero es que no habia podido escribirte mira yo hize lo que me dijiste y

de hecho este es mi codigo

// TODO: This line of code loads data into the ‘dataSet2.Prueba’ table. You can move, or

remove it, as needed.

this.pruebaTableAdapter.Fill(this.dataSet2.Prueba);

Sistema_Recepcion.DataSet2.PruebaDataTable rrr = new DataSet2.PruebaDataTable();

DataSet2TableAdapters.PruebaTableAdapter ws = new

Sistema_Recepcion.DataSet2TableAdapters.PruebaTableAdapter();

FrmFecha frmFecha = new FrmFecha();

ws.FillByFecha(rrr, “19 / 3 / 2012”);

CrystalReport2 rpt = new CrystalReport2();

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 11/15

rpt.SetDataSource(this.dataSet2);

crystalReportViewer1.ReportSource = rpt;

y este es mi dataset donde tengo el query con el dato filtrado

Pero no me funciona ya que me devuelve todas las recepciones no las del 19/3/2012 que

son las que me hacen falta me ayudas porfa estoy como loca.

También intente haciendo un procedimiento almacenado donde ya yo obtengo los datos

filtrados por esa fecha u otra y con el creo mi dataset pero tampoco funciona.

Cuando usted me pone en el pazo 2

2.- Asignar los Datos al Reporte:

Report1 rpt = new Report1();

rpt.SetDataSource(rpt);

En la segunda línea o sea en rpt.SetDataSource(rpt); me da error pues yo no le puedo pasar

un reporte cuando el me esta pidiendo un dataset espero su ayuda y gracias

yusi on April 24, 2012 at 12:40 pm said:

Hola no he recibido ninguna respuesta y necesito su ayuda porfa ya no se que hacer le agradeceria que me

ayudaran lo antes posible saludos y gracias yusi

Reply ↓

Berenice on May 11, 2012 at 10:19 pm said:

Hola soy nueva y hice el codigo para pasar parametros pero cuando ejecuto me sale un apantalla y me pide

que ingrese un texto y ese me aparece donde puse el parametro en el informe, yo quiero que me salga un

nombre de cualquier persona que escoja de un combo

Reply ↓

Sergio Inzunza

on May 16, 2012 at 7:12 pm said:

Es es por que en el reporte tienes parametros que deben ser pasados como cadena, que no toma

del source de datos.

por ejemplo si en el reporte tienes un parametro de NombreReporte.

y llamas el reporte sin pasarle el parametro te pide que lo ingreses.

para pasar el parametro, despues de donde asiganas el datasource (rpt.SetDataSource(x)) llamas

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 12/15

a rpt.SetParameterValue(“NombreReporte”, strNombre);

Reply ↓

yusi on May 16, 2012 at 7:00 pm said:

Hola sergio porfa es yusi otra vez me puede dar respuesta porfa

Reply ↓

Sergio Inzunza

on May 16, 2012 at 7:38 pm said:

Disculpa que no te respondiera pero en la lista de comentarios no me aparecia tu comentario tal vez

por que le diste replay.

En fin.

Me parece un muy complicado tu codigo tan solo para obtener datos filtrados de una tabla.

pero me parece mas complicado entenderlo asi en simple texto, te ajunto un ejemplo de como

obtendo datos filtrados.

y si quieres ayuda mas especifica enviame tu archivo de clase a inxunxa(arroba)gamil.com

Asi obtengo datos filtrados de un DAtaSet y los asigno al reporte.

Data.Recorrido rec = new Data.Recorrido();

rec.EnforceConstraints = false; //opcional para que no marque error si hay problemas con un

contraint

new

Data.RecorridoTableAdapters.RecorridosReal_PorUnidadTableAdapter().TodasUnidades_Fill(rec.RecorridosReal_PorUnidad,

inicio, final);

rpt.SetDataSource(rec.RecorridosReal_PorUnidad);

y en el dataSource el la TableAdapter RecorridosReal_PorUnidadTableAdapter tengo el query

TodasUnidades_Fill con el codigo:

Select campo1, campo2,…,campoN from nombreTabla

where fecha1 >= @inicio and fecha2<= @final

Reply ↓

yusi on May 16, 2012 at 7:19 pm said:

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 13/15

hola sergio se acuerda de mi porfa necesito su ayuda

Reply ↓

Sergio Inzunza

on May 16, 2012 at 7:39 pm said:

jajaja me llego tu coment cuando te estaba escribiendo la respuesta.

Reply ↓

yusi on May 16, 2012 at 7:57 pm said:

Ok voy a probarlo y despues te digo deja ver si asi si, sino te mando mi archivo de clase aunque te soy

sincera creo que no entiendo mucho lo que me mandastes jajaja pero cuando tu te refieres a mi archivo de

clase es a alguno especifico pues mira tengo una clase para cada tabla y una principal que es la que

maneja todo el negocio yo mañana pues estoy en el trabajo y ya voy de salida te envio lo que entienda para

ver si me puedes ayudar ok saludos y gracias yusi

Reply ↓

mars on June 5, 2012 at 10:40 pm said:

tengo una consulta al respecto, tengo tres parametros en mi reporte pero estos son de un sp en la bd. el

problema que tengo es se puede mandar el valor null al parametro desde vb. o como puedeo hacer por

ejemplo si no mando ningun valor al parametro me tome null por defecto?…….

Reply ↓

Lyly on June 23, 2012 at 11:21 pm said:

Ayuda a la hora de correr mi aplicacion me manda un mensaje de que el informe solicitado requiere de

informacion adicional y me pide usuario y contraseña no se como quitar ese error.. ayuda

Reply ↓

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 14/15

LALO on September 16, 2012 at 1:23 am said:

hola quisiera saber si ese parametro que mandas se puede multiplicar?? por un dato que traigo de la base

de datos

Reply ↓

joejmp on February 15, 2013 at 12:29 am said:

hola estoy iniciando me en programacion y uso de c#, logre programar un sistema solo me falta lo que

refiere a impresiones. bien no se utilizar el crystal report. Lei info de la red pero no logro comprender el

uso….estoy intentado conseguir que al presionar un boton este guarde en la base de datos e imprima el

reporte pero no logro dar con un ejemplo de esto…

segui el siguiente ejemplo con parametro y programe lo siguiente

private CrystalReport2 reporte;

private void button1_Click(object sender, EventArgs e)

{

reporte = new CrystalReport2();

reporte.SetParameterValue(“IdCliente”, ncli);

reporte.SetParameterValue(“TipoCliente”, tcli);

reporte.SetParameterValue(“Antiguedad”, ant);

reporte.SetParameterValue(“EstadoAnterior”, estado);

ReporteFinal frm = new ReporteFinal();//este seria el form donde se presenta el crystal report

frm.Show();

las variables toman su valor de los textbox del form

los textbox estan conectados a la base de datos atraves de un binding source (no creo que esto cause

problemas al reporte)

sucede que al lanzar el frm este me pide valores para los parametros del crystalReport2, cosa que deberia

tomar de las variables pasadas por parametros

una cosa que note en la creacion del CrystalReport2 es que cuando inserto las variables en las secciones

estos toman valor

ej:(nombre de la variable) IdCliente = IdCliente1(en el formulario)

gracias por la paciencia

22/09/13 Como Pasar Parametros/Variables a un Crystal Reports | Sergio Inzunza

inxunxa.wordpress.com/2010/02/22/parametros_crystalreports/ 15/15

Blog at WordPress.com. | The Duster Theme.

Reply ↓

max on February 25, 2013 at 9:50 pm said:

Hola, como puedo hacer para que de una pagina asp net lea un campo TextBox y con ese dato

pueda generar el reporte, ya que en mi procedimiento almacenado que llena el reporte le paso ese dato.

Reply ↓

Leave a Reply

Enter your comment here...