SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: InkaPeruano en Miércoles 22 de Septiembre de 2004, 19:08
-
Hola a todos. A ver si alguien me aclara lo que me está pasando.
Tengo un reporte diseñado con una conexión SQL (SQL Server 7.0).
* DE_Entrada => DataEnvironment
* CmdEntrada => Command que recibe un parámetro de entrada
* DrpEntrada => DataReport
Con esto, el reporte lo visualiza en forma normal, pero sólo a la primera llamada. Cuando llamo al reporte por segunda vez, me sale el mensaje de error: "La operación no está permitida si el objeto está abierto".
DE_Entrada.CmdEntrada TxtSolicitud.Text 'parámetro de entrada
DrpEntrada.ReportWidth = 1
If Not DrpEntrada.Visible Then DrpEntrada.Show
Entonces le agregué lo siguiente:
If DE_Entrada.CnEntrada.State <> 0 Then 'si no está cerrado
DE_Entrada.CnEntrada.Close
End If
DE_Entrada.CmdEntrada TxtSolicitud.Text 'parámetro de entrada
DrpEntrada.ReportWidth = 1
If Not DrpEntrada.Visible Then DrpEntrada.Show
El mismo problema, pero ahora el mensaje de error (a la segunda vez que llamo al reporte) es el siguiente: "La operación no está permitida si el objeto está cerrado".
Nota: en ambos casos, el error aparece en la línea donde le paso el parámetro al comando. DE_Entrada.CmdEntrada TxtSolicitud.Text
Espero y me puedan dar una mano.
Saludos.
-
Hola InkaPeruano, por lo que veo estás cerrando el DE_Entrada.CnEntrada (DataEnviroment), y lo que deberías cerrar es el Drp_Entrada (Datareport).
Yo lo que pondría es:
--------------------------------------------------------------------------------
DE_Entrada.CmdEntrada TxtSolicitud.Text 'parámetro de entrada
DrpEntrada.ReportWidth = 1
If Not DrpEntrada.Visible Then
DrpEntrada.Show
DrpEntrada.Close
End IF
--------------------------------------------------------------------------------
Y quitar lo agregado.
Aunque yo no tengo mucha idea.
Saludos y suerte.