Foros del Web » Programación para mayores de 30 ;) » .NET »

Acceder a objetos de un informe Crystal Reports

Estas en el tema de Acceder a objetos de un informe Crystal Reports en el foro de .NET en Foros del Web. Muy buenas. Estoy intentando acceder a las propiedades de un objeto de un reporte de Crystal Reports para modificarlas y obtengo errores. Código: Dim rpt ...
  #1 (permalink)  
Antiguo 02/02/2009, 07:06
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Acceder a objetos de un informe Crystal Reports

Muy buenas. Estoy intentando acceder a las propiedades de un objeto de un reporte de Crystal Reports para modificarlas y obtengo errores.

Código:
Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
rpt.Load(Server.MapPath("../Reportes/reporte.rpt"), CrystalDecisions.[Shared].OpenReportMethod.OpenReportByTempCopy)
....
Dim txt As CrystalDecisions.CrystalReports.Engine.TextObject
txt = rpt.ReportDefinition.ReportObjects("Text13")
Response.Write(txt.Text) 'Sin error
txt.Text = "texto a mostrar" 'Con error
Obtengo sin problemas el texto de Text13, sin embargo no lo puedo cambiar obteniendo un error: Referencia a objeto no establecida como instancia de un objeto.

He estado leyendo mucha documentación y siempre que se muestra cómo acceder a los objetos de un reporte se hace creando un objeto a partir de la clase del reporte, es decir:
Código:
Dim rpt As New Reporte
Suponiendo que reporte.rpt tiene la clase Reporte. Yo creo primero un objeto ReportDocument y luego puedo elegir distintos reportes en función de las necesidades, por lo que no puedo saber de antemano la clase del reporte. Es más, algunos reportes están hechos en proyectos distintos por lo que ni siquiera creo dependencias en el sitio web.

¿Alguna idea?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 06/02/2009, 03:22
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Acceder a objetos de un informe Crystal Reports

Me autorespondo y doy la solución. La única manera de acceder a los objetos de un reporte de Crystal Reports es "embebiéndolo" en el propio proyecto. Si no, no se puede instanciar la clase del reporte con lo que sólo puedes acceder a los objetos en modo de sólo lectura. Por eso Response.Write(txt.Text) no da error y txt.Text = "texto a mostrar" sí.

Pues vaya toalla.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 02/09/2009, 12:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Acceder a objetos de un informe Crystal Reports

Así lo hago yo y nunca he tenido problemas


Imports CrystalDecisions.CrystalReports.Engine


Dim rpt As New ReportDocument
rpt.Load(Server.MapPath("~/MiInforme.rpt"))

txt= rpt.ReportDefinition.ReportObjects.Item("Text13")



Espero que todavía sea de utilidad
  #4 (permalink)  
Antiguo 02/09/2009, 12:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Acceder a objetos de un informe Crystal Reports

falto..

txt.Text = Mitextbox.Text


Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:52.