FoxPro/Visual FoxPro - vaciar de visual a crystal

 
Vista:

vaciar de visual a crystal

Publicado por jorge (6 intervenciones) el 25/05/2007 16:17:43
buenos dias :

tengo un problema con el crystal report al mandar el reporte desde foxpro 9 a la impresora me pasa bien todos los datos actualizados, pero cuando deseo q me lo muestre en el objeto OLE del visual fox 9.0 no lo hace y me muestra el primer registro de la tabla alguien me puede ayudar de como mostrar el reporte actualizado en el form de vfx 9.0 dentro de un objeto OLEcontrol.

de antemano 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
sin imagen de perfil

RE:vaciar de visual a crystal

Publicado por Hector R. De los Santos (270 intervenciones) el 25/05/2007 16:38:01
*!* Defina los objetos Crystal Application y Reporte
*!* como variables globales
public CRApplication
public CRReport
*!* Asigne los objetos Crystal Application y Reporte a sus tipo de clase.
*!* A diferencia de otras herramientas, también debe asignar el tipo de report..
CRApplication = createobject ("CrystalRuntime.Application")
CRReport = createobject ("CrystalRuntime.Report")
*!* Abra el reporte
CRReport = CRApplication.OpenReport("c:\ruta\reporte.rpt")
*!* Adjunte el reporte al viewer
thisform.OleControl1.reportsource = CRReport
*!* Muestre el reporte
thisform.OleControl1.viewreport

Bytes!
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:vaciar de visual a crystal

Publicado por jorge (6 intervenciones) el 25/05/2007 17:02:35
gracias hector por la ayuda.
pero mira este es mi codigo :

PUBLIC CRApplication
PUBLIC CRRreport
Public co

Store space(5)to co

co=Thisform.Pageframe1.Page1.Text1.Value

CRApplication = createobject ("CrystalRuntime.Application")
CRReport = createobject ("CrystalRuntime.Report")

CRReport= CRApplication.OpenReport( "c:\crystal\liq2.RPT")

IF CRReport.HasSavedData

CRReport.DiscardSavedData()

ENDIF

lcTabla= ADDBS( GETENV("TEMP"))+ SYS(3)+ ".DBF"

SELECT * FROM 'c:\crystal\alquiler.dbf'where alquiler.codigo=co INTO CURSOR curPedidos

SELECT curPedidos
COPY TO ( lcTabla ) TYPE FOX2X AS 850

** Cambia la ubicación de la tabla en el reporte.
CRReport.Database.Tables( 1).Location= lcTabla

*exporto los datos actualizados para impresion
CRReport.Export( .T. )
*////////////////////////////////////////////////////////////////////////////////////////////////////
*abro el archivo actualizado, pero no lo muestra actualizado sino q envia el primer registro de la tabla a la q hace referencia
CRReport = CRApplication.OpenReport("C:\Crystal\Liq2.RPT")
thisform.OleControl1.reportsource = CRReport
thisform.OleControl1.viewreport
*////////////////////////////////////////////////////////////////////////////////////////////////////
CRReport= .NULL.
CRApplication= .NULL.
Delete FILE (lcTabla)

pero cuando lo envio al OLE del FORM no actualiza los datos, tu q cres q tengo mal.
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
sin imagen de perfil

RE:vaciar de visual a crystal

Publicado por Hector R. De los Santos (270 intervenciones) el 25/05/2007 20:48:03
Lo que se imprime si esta actualizado pero lo que se ve en el OLE no esta actualizado..?? es lo que tienes??

La tabla de origen es una tabla de fox para MSDOS?
Si no es asi pasa los datos del cursor asi
select lctabla
append from cursor

Verifica aver que tiene lcTabla, a ver si tiene la data que consultaste. Tambien haz una prueba desde el mismo Cristal Reports.

Bytes
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