Crystal Report - Crystall Reports en Modal

 
Vista:

Crystall Reports en Modal

Publicado por toni (1 intervención) el 27/04/2001 02:45:00
Como puedo hacer para que el informe de crystall reports me salga en un formulario modal.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crystall Reports en Modal

Publicado por Joaquim Roca Vergés (57 intervenciones) el 11/05/2001 09:27:11
Hola,

Supongo que te refieres a que el formulario que lanza el objeto Crystal se abra de manera modal.

Para ello tienes que coger el handle de la ventana y evitar que los usuarios actuen a menos que se cierre.

Coger el handle de la ventana lo tienes que hacer:
Public Declare Function GetActiveWindow Lib "user32.dll" () As Long

Despues
Dim hwndVistaPrevia As Long
hwndVistaPrevia = GetActiveWindow()
a partir de ahí no te puedo ayudar, mirate en la web

www.codeguru.com, que hay mucha documentacion sobre Apis y programacion Shell

Hasta la vista

Joaquim Roca Vergés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crystall Reports en Modal

Publicado por Roberto (3 intervenciones) el 16/06/2008 13:49:36
He tardado un poco en responder... pero como esta respuesta perdurará mas allá de la raza humana, aquí lo dejo....

Lo mejor es que te crees otro FORMULARIO con el objecto crystalreport y pases a este los parametros necesarior y lances este segundo formulario modal. El único problema que tendras es cerrar el formulario modal, pues no podrás controlar cuando cierran el informe de crystal, pero este problema considero es menor que el que planteas y tiene mejor pinta de ser solucionado... aunque ahora no se como.

El codigo del 2º formulario a lanzar modal y que incluye el objecto CrystalRepor seria algo así:

'con esta funcion pudo acceder directamente al objeto crystal .
Public Function GetRPT() As CrystalReport
Set GetRPT = Me.CrystalReport1
End Function

Public Function Liquidacion(ElFiltro As String, RPT As String) As Boolean
Informe = "ESLIQUIDACION"
Listado = RPT
Filtro = ElFiltro
Me.Show 1
End Function

y la llamada al formulario algo así:
Dim F As New frmCrystalView
Filtro = "{Suscripcion.num_suscripcion}=" & Dato.Num_Suscripcion & " and {Suscripcion.num_renovacion}=" & Dato.Num_renovacion
'esto lo remplezo por el acceso al formulario 2º

'CrystalReport1.Formulas(1) = "PrimeraLiquidacion= '" & IIf(PrimeraLiquidacion, "S", "N") & "'"

PrimeraLiquidacion = False
F.GetRPT.Formulas(1) = "PrimeraLiquidacion= '" & IIf(PrimeraLiquidacion, "S", "N") & "'"
F.Liquidacion Filtro, wListadoSel

------
En el 2º formulario puedes poner un texto de 'INFORME LANZADO' y un botón de cerrar y que el usuario pulse cerrar el infome y luego a tu botón de cerrar.

Puedes usar INFORME EMBEBIDOS (RDC, creo recordar) y así puedes controlar los eventos (WITHEVENTS) sobre el control Crystal y cambiar toda la filosofia, pero pierdes el control que te da el tener los RPT externos. (editables sin tocar el .EXE).

Atentamente,
R.Alonso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar