Report Scheduling
Hi All,
I would like to create a scheduler for printing reports/saving reports to
file. Basically, I'm just looking for a piece of code that will let me print
a report from the database at runtime. I will have the ITEM_ID of the report
from the rb_item table.
I thought there was a tech tip on here, but I cannot seem to find it.
Any help would be greatly appreciated.
I would like to create a scheduler for printing reports/saving reports to
file. Basically, I'm just looking for a piece of code that will let me print
a report from the database at runtime. I will have the ITEM_ID of the report
from the rb_item table.
I thought there was a tech tip on here, but I cannot seem to find it.
Any help would be greatly appreciated.
This discussion has been closed.
Comments
Try this...
---------------------------------------------------------------
Tech Tip: How to Programmatically Load Reports that were Saved
using the Report Explorer
---------------------------------------------------------------
1. The ReportExplorer has a run-time interface you can use to load
reports using the ReportExplorer.LoadReport method. You can use this
method without actually 'showing' the report explorer form. (See the
online help topic for TppReportExplorer.)
2. If you want use Report.Template.LoadFromDatabase, RB will locate the
report stored in the database table based upon the NameField value only.
However, for the rb_item table you really need Folder_Id, Name to locate
a record uniquely.
To override this default behavior, you can assign an event-handler to
the Report.Template.OnLocateRecord event.
example:
TmyForm = class(TForm)
private
function ReportLocateRecordEvent(Sender: TObject; const
aReportName: String): Boolean;
end;
procedure TmyForm.FormCreate(Sender, TObject);
begin
{assign the event handler}
FReport.Template.OnLocateRecord := ReportLocateRecordEvent;
end;
function TmyForm.ReportLocateRecordEvent(Sender: TObject; const
aReportName: String): Boolean;
begin
{add logic here to locate the record and return True if it is found}
Result := myLocateReportFunction(FFolderid, aReportname);
end;
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com