Crystal Reports y archivo texto cambiante...

133 views
Skip to first unread message

Marcelo ARG

unread,
Aug 15, 2014, 4:49:51 PM8/15/14
to publice...@googlegroups.com
Hola a todos.
Necesito cambiar el vinculo a un archivo de texto en un reporte de Crytal al momento de ejecucion.
Estoy utilizando VFP9 SP2 y Crystal Reports 9.2
He llegado hasta el objeto ole que inserte en modo diseño, pero no se como cambiar el vinculo...
Mi rutina es la siguiente:

ocr=CREATEOBJECT("CrystalRuntime.Application")
ocr1=ocr.OpenReport("Report1.rpt")
a=ocr1.Sections(2).ReportObjects.Item(1)                              && aca llego al objeto Ole que tengo en el reporte....

b=ocr1.Sections(2).ReportObjects.Item(1).name                   && esto me dice el nombre de mi objeto

c=ocr1.Sections(2).ReportObjects.Item(1).GetLinkSource    && esto me devuelve la ruta completa a mi archivo de texto

Supongo que es en el punto "c" donde debo cambiar, pero no se como hacerlo.


Alguien me da una mano? o tienen la forma de poner el archivo de texto en una tabla dbf y luego mostrar el campo en el reporte? Como hago esto ultimo?

Muchas Gracias.

Saludos.

Miguel Canchas

unread,
Aug 15, 2014, 5:09:54 PM8/15/14
to publice...@googlegroups.com

This.Ole_Reporte.Object.Reset()   

This.Ole_Reporte.Object.WindowTitle= “TITULO”

This.Ole_Reporte.Object.WindowState= 2

This.Ole_Reporte.Object.WindowShowGroupTree= .t.

This.Ole_Reporte.Object.WindowShowCancelBtn= .t.

This.Ole_Reporte.Object.WindowShowCloseBtn = .t.

This.Ole_Reporte.Object.WindowShowNavigationCtls = .t.

This.Ole_Reporte.Object.WindowShowSearchBtn = .t.

This.Ole_Reporte.Object.WindowShowZoomCtl =   .t.

THis.Ole_Reporte.Object.Destination=0

This.Ole_reporte.Object.PageZoom(This.PageZoom)

 

***--- Para seleccionar la impresora

This.Ole_Reporte.Object.WindowShowPrintSetupBtn = .t.

     

ls_connect= "DSN = "+ ODBC+";UID = " +USUARIO+ ";PWD = " + PASSWORD+ ";DSQ= "+BASEDEDATOS

 

     

This.Ole_Reporte.Object.Connect                = ls_connect

     

ls_file=UPPER(ALLTRIM(This.Ruta+trim(This.programa)+".RPT"))

 

If !File(ls_file)

      MessageBox("El Archivo: "+ls_file+". NO HAY ARCHIVO",64,"Informes")

      Return .f.

EndIf

 

This.Ole_Reporte.Object.ReportFileName = ls_file

This.Ole_Reporte.Object.windowShowGroupTree=.t.

 

This.Ole_Reporte.Object.Action=1

 

 

MK

Reply all
Reply to author
Forward
0 new messages