Create or design simple master report with Fortes Report
Friends, now a days designing reports are necessary for a software developer as it is a most important part of any software product and is usually the most profitable part of the business. In this blog I will explain how to create / design a report with Fortes Report.
In my last blog I have provided detail information about Fortes Report and its components used to design reports. So for more detail about Fortes Report please visit Fortes Report and Components.
Here I have created a project which contains simple report to show Customer details and you can download the sample DB from link download dbdemos.db. I have saved the DB in C:\Test1 folder.
So now lets design Customer report with Fortes Report components.
1. First create a project and add a form to the project lets say Unit1 (Form1).
2. Add a TADOConnection component to the form named connmain and set connection string.
ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\demos.mdb;Persist Security Info=False'
LoginPrompt = False
Provider = 'Microsoft.Jet.OLEDB.4.0'
3. Add a TADOQuery component to form named qrymaster and set
Connection = connmain
4. Add a TADODatasource component to form named srcmaster and set
Dataset = qrymaster
5. Add a TRLExpressionbar component to form to use Dataformula property for report components
6. Add TRLReport component to form named RLReport1 which is main report component and set following porperties
DataSource = srcmaster
Title = 'CUSTOMER REPORT'
ExpressionParser = RLExpressionParser1
7. Put TRLBand component on RLReport1 named RLBand1 for header and set following properties
BandType = btHeader
Borders.DrawBottom = True
8. Put following components on header band RLBand1 and set following properties
RLLabel1: TRLLabel
Left = 217
Top = 0
Width = 284
Height = 32
Align = faCenterTop
Alignment = taCenter
Caption = 'CUSTOMER REPORT'
Font.Style = [fsUnderline]
RLSystemInfo1: TRLSystemInfo
Left = 631
Top = 0
Width = 87
Height = 16
Align = faRightTop
Alignment = taRightJustify
Info = itPageNumber
RLSystemInfo2: TRLSystemInfo
Left = 0
Top = 0
Width = 60
Height = 16
Align = faLeftTop
Info = itFullDate
RLLabel2: TRLLabel
Left = 3
Top = 53
Width = 66
Height = 16
Caption = 'CUST NO.'
Font.Style = [fsBold]
RLLabel3: TRLLabel
Left = 104
Top = 53
Width = 41
Height = 16
Caption = 'NAME'
Font.Style = [fsBold]
RLLabel4: TRLLabel
Left = 376
Top = 53
Width = 66
Height = 16
Caption = 'ADDRESS'
Font.Style = [fsBold]
9. Add another TRLBand component named RLband2 and set as detail band
BandType = btDetail
10. Add following components to detail band RLBand2 and set following properties
RLDBText1: TRLDBText
Left = 3
Top = 1
Width = 57
Height = 16
AutoSize = False
DataField = 'CUSTNO'
DataSource = srcmaster
RLDBText2: TRLDBText
Left = 104
Top = 1
Width = 217
Height = 16
AutoSize = False
DataField = 'COMPANY'
DataSource = srcmaster
RLDBMemo1: TRLDBMemo
Left = 376
Top = 1
Width = 273
Height = 16
Behavior = [beSiteExpander]
DataFormula = 'Addr1 +'#39' '#39'+City + '#39' '#39'+Phone'
DataSource = srcmaster
11. Add another TRLBand component named RLband3 and set as footer band
BandType = btFooter
Borders.DrawTop = True
12. Add following components to footer band RLBand3 and set following properties
RLLabel5: TRLLabel
Left = 298
Top = 24
Width = 121
Height = 16
Align = faCenterBottom
Caption = 'DIGITAL SIGNED....'
13. Put report filter components on form to save report in different format during preview
RLRichFilter1: TRLRichFilter;
RLPDFFilter1: TRLPDFFilter;
RLXLSFilter1: TRLXLSFilter;
RLHTMLFilter1: TRLHTMLFilter;
12. Now Customer Report design is ready and add codes to show report. Here I have added a procedure ShowReport to Form1 to preview report.
procedure TForm1.ShowReport;
begin
qrymaster.Connection := Form1.ADOConnection1;
qrymaster.SQL.Clear;
qrymaster.SQL.Text := 'SELECT * FROM CUSTOMER';
qrymaster.Open;
srcmaster.DataSet := qrymaster;
RLReport1.PreviewModal;
Close;
end;
13. Now I will add another form to the same project and will set that as main form. Then on a button click I will show the report.
So add a new form Form2 and put a TButton component name Customer1 on that form. And on button click write following code.
uses
Form1;
......
......
procedure TForm2.Customer1Click(Sender: TObject);
begin
Form1 := TForm1.Create(Self);
Form1.ShowReport;
end;
Form design time...
Report preview...
Hi, I do according to given steps.
ReplyDeleteResult: Preview did not work.
I received run-time error: Bitmap image is not valid. ???
When I changed line: RLReport1.PreviewModal to:
RLReport1.Print it worked OK but without preview.
Can you help?
Thanks, Ante, Croatia