Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pasar datos de un form de VB.NET a un reporte Crystal

2,004 views
Skip to first unread message

Javier

unread,
Oct 19, 2005, 7:26:13 AM10/19/05
to
Hola buenas!!!

Me gustaría saber como puedo pasar un dato que tengo en un TextBox en un
formulario a un Text de un reporte del Crystal Reports.

He estado buscando pero no encuentro nada.

Muchas gracias.

Baldor

unread,
Oct 19, 2005, 8:43:06 AM10/19/05
to
En el report de Crystal, en lugar de un objeto text, usa un objeto Formula,
y luego desde VB, lo inicializas con:


ObjetoReport.DataDefinition.FormulaFields("NombreFormula").Text = "'" &
<Valor_formula> & "'"

si la formula es de tipo Cadena, y si fuera un numero, simplemente le quitas
las comillas


Javier

unread,
Oct 19, 2005, 11:15:40 AM10/19/05
to
Mi pregunta ahora es si no sería posible que fuera otro tipo de objeto
en vez de ser una fórmula. ¿O es mejor que sea una fórmula?

Perdona, es que no domino mucho el tema.

Muchas gracias.

Baldor

unread,
Oct 20, 2005, 3:19:11 AM10/20/05
to
Eso depende de la finalidad de ese campo en tu informe. Normalmente, yo solo
utilizo formulas y parametros, los parametros se suelen usar para establecer
criterios en base a ellos en el RecordSelectionFormula del informe, y las
formulas pueden tener prácticamente cualquier utilidad. Creo que en tu caso
lo adecuado seria una formula, aunque no se para que vas a usar ese campo en
el informe.
Acceder a un objeto de texto de un report desde VB no se como se puede
hacer, aunque es posible que simplemente no se pueda. Al fin y al cabo
cualquier cosa que hagas con un objeto de texto lo vas a poder hacer con una
formula y mucho más.


Javier

unread,
Oct 20, 2005, 4:42:30 AM10/20/05
to
Hola...

Pues lo quiero para poder poner datos, que voy a tener en TextBox's en
un WinForm, en un reporte.

Otra preguntilla por favor:
¿Hay alguna otra forma de cargar el formulario en el objetoreporte sin
tener que introducir la ruta?

Muchisimas gracias.

Tus explicaciones me han servido de mucho.

Baldor

unread,
Oct 21, 2005, 4:27:45 AM10/21/05
to
Hay una forma de hacer lo que dices, es decir, no tener que poner la ruta
del report al cargarlo. No estoy del todo seguro, pero creo que eso supone
que el fichero rpt no exista físicamente en disco cuando distribuyas tu
aplicación ya que quedará incluido dentro del EXE del programa.
La forma de hacerlo es cambiar la propiedad "Accion de generacion" del
objeto report en el explorador de soluciones y poner "Recurso incrustado" en
lugar de "contenido". Y al cargar el report, en lugar de hacer:

Dim CR As New CrystalDecisions.CrystalReports.Engine.ReportDocument
CR.Load (rutainforme & "\Informe1.rpt")
....

hazlo con:

Dim CR As New Informe1
....

con lo cual, ya no tienes que hacer el CR.Load


0 new messages