9
« en: Junio 03, 2013, 04:53:06 pm »
Buenas, tengo una consulta, aca usamos el crystal reports y una de las cosas que se hacen por codigo es iterar a travez de las tablas del reporte y modificar el parametro "Location", esto se hace porque algunos reportes tienen la consulta armada dentro (no usan SP) y es necesario modificar la base a la hacen referencia, el problema que estoy teniendo es que al estblecer la propiedad "Location" el crystal hace una verificacion, esto cuando se hace con un SP provoca que l mismo se ejecute sin parametros y posteriormente el reporte se cargue vacio.
No se si alguno vio este comportamiento antes, actualmente utilizamos crystal 9 y sql server 2008 (modo 100), en otras configuraciones no da problemas por ejemplo al correrlo con una DB 2000 (modo 80). Alguien tiene idea de como hacer que el "Location" no llame al SP? o una manera alternativa de modificar el parametro?
Gracias
Edito:
Aca encontre un codigo similar al que usamos.
Dim table As Table
For Each table In myRpt.Database.Tables
logonInfo = table.LogOnInfo
logonInfo.ConnectionInfo.ServerName = Server
logonInfo.ConnectionInfo.DatabaseName = Database
logonInfo.ConnectionInfo.UserID = username
logonInfo.ConnectionInfo.Password = password
table.ApplyLogOnInfo(logonInfo)
'Previously in VS2003, table.Location would report "DATABASE.dbo.NAME" -
'and it was possible to use this to change the Location, but in vs2005 table.
'Location only reports back the NAME. See below for a fix.
'http://vstoolsforum.com/blogs/crystal_reports/archive/2007/06.aspx
table.Location = Database & ".dbo." & table.Name <---------- al hacer esto, si el reporte tiene un SP el mismo es ejecutado sin parametros.
Next table