![]() |
Crystal. Parametros en Subreportes cambiando la BD Hola a todos tengo el siguiente problema con crystal. Tengo un reporte que tiene un subreporte que anda de lo mas bien hasta cuando lo levanto apuntando a otra base de datos(Distinta a la que use cuando cree el reporte) porque entonces me pide por pantalla los parametros del subreporte.[ahh, por si acaso si estoy vinculado los parametros del reporte con el subreporte] Alguien sabe porque no funciona el paso de los parametros? estoy pasando de esta forma los parametros y la conexion: Reporte.SetParameterValue("@id_proceso_carga", Id_Proceso_Carga) Reporte.SetParameterValue("@Id_Perfil", Id_Perfil) Reporte.SetParameterValue("@id_cuenta", Id_Cuenta) ' CAMBIA LA CONEXION DE LA BASE DE DATOS Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables Dim crTable As CrystalDecisions.CrystalReports.Engine.Table Dim crConnInfo As New CrystalDecisions.Shared.ConnectionInfo Dim crLogOnInfo As CrystalDecisions.Shared.TableLogOnInfo crTables = Reporte.Database.Tables For Each crTable In crTables crConnInfo.DatabaseName = rptnombd crConnInfo.ServerName = rptservidor crConnInfo.UserID = rptlogin crConnInfo.Password = rptpassword crLogOnInfo = crTable.LogOnInfo crLogOnInfo.ConnectionInfo = crConnInfo crTable.ApplyLogOnInfo(crLogOnInfo) crTable.Location = rptnombd & ".dbo." & crTable.Location.Substring(crTable.Location.LastIn dexOf(".") + 1) crTable.TestConnectivity() Next CAll subreportes() CRV_Reporte.ReuseParameterValuesOnRefresh = True CRV_Reporte.ReportSource = Reporte_Calculo_Dispersion CRV_Reporte.RefreshReport() donde subreportes es: Sub SubReportes() Dim ci As ConnectionInfo ci = New ConnectionInfo() Dim Obj_SubReporte As SubreportObject Dim SubReporte As New ReportDocument ci.ServerName = rptservidor ci.DatabaseName = rptnombd ci.UserID = rptlogin ci.Password = rptpassword Dim Obj_Reporte As ReportObject For Each Obj_Reporte In Reporte.ReportDefinition.ReportObjects If Obj_Reporte.Kind = ReportObjectKind.SubreportObject Then Obj_SubReporte = CType(Obj_Reporte, SubreportObject) SubReporte = Obj_SubReporte.OpenSubreport(Obj_SubReporte.Subrep ortName) Conexion_SubReporte(SubReporte) End If Next End Sub y Conexion_SubReporte(SubReporte) es: Sub Conexion_SubReporte(ByVal SubReporte As ReportDocument) ' CAMBIA LA CONEXION DE LA BASE DE DATOS Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables Dim crTable As CrystalDecisions.CrystalReports.Engine.Table Dim crConnInfo As New CrystalDecisions.Shared.ConnectionInfo Dim crLogOnInfo As CrystalDecisions.Shared.TableLogOnInfo crTables = SubReporte.Database.Tables For Each crTable In crTables crConnInfo.DatabaseName = rptnombd crConnInfo.ServerName = rptservidor crConnInfo.UserID = rptlogin crConnInfo.Password = rptpassword crLogOnInfo = crTable.LogOnInfo crLogOnInfo.ConnectionInfo = crConnInfo crTable.ApplyLogOnInfo(crLogOnInfo) crTable.Location = rptnombd & ".dbo." & crTable.Location.Substring(crTable.Location.LastIn dexOf(".") + 1) crTable.TestConnectivity() Next End Sub alguna idea ? me falta definir los parametros para el subreporte ? pero entonces porq funciona cuando la BD coincide con la BD usada para crear el reporte ? por favor...cualquier idea es bienvenida de antemano muchas gracias |
Respuesta: Crystal. Parametros en Subreportes cambiando la BD Hola, vi que hace algun tiempo publicaste esta consulta, actualmente yo tengo este problema, y queria saber si lograste solucionarlo y si me puedes ayudar, por favor, pues ya le busque por todos lados y no encuentro solución, estoy a punto de volverme loco.... Gracias |
Respuesta: Crystal. Parametros en Subreportes cambiando la BD Hola mrodriguez, yo tengo un problema parecido (eso creo) y es q no he podido hacer q el reporte tome una base de distinta a la de creación del reporte, tiene la misma tabla y estructura pero la info es distinta, en los parametros paso los datos de conexión incluyendo el nombre del servidor y la base de datos y nada. No se q hacer. Depronto si pudo solucionar algo de lo suyo me puede colaborar, gracias |
Respuesta: Crystal. Parametros en Subreportes cambiando la BD Hola, este inconveniente lo pude solucionar adicionando un objeto ReportDocument a mi proyecto, aca pongo parte del código q use, si requieren más ayuda me cuentas y miro como puedo colaborarles. ArrayList arrayList = new ArrayList(); arrayList.Add(param); report = new ReportDocument(); report.Load(rptPath); SetCurrentValuesForParameterField(report, user, arrayList); ConnectionInfo connectionInfo = new ConnectionInfo(); connectionInfo.ServerName = dbServ; // serv; connectionInfo.DatabaseName = dbComp; //Base de Datos connectionInfo.UserID = dbUser;//userbd; connectionInfo.Password = dbPsw;//pwbd; connectionInfo.Type = ConnectionInfoType.SQL; SetDBLogonForReport(connectionInfo, report); crystalReportViewer.ReportSource = report; |
| La zona horaria es GMT -6. Ahora son las 10:03. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.