Jump to content
Fórum Script Brasil
  • 0

Criando Um Relatório no QuickReport Passo a Passo


Progr'amador
 Share

Question

Criando Um Relatório no QuickReport Passo a Passo

Olá Galera estou escrevendo este pequeno tutorial, pra quem quer começar a aprender e entender o QuickReport, Facil e Rápido!!!

Vamos usar basicamente duas tabelas pincipais do DBDEMOS (ORDERS e ITEMS) e outras relacionadas (CUSTORMER, EMPLOYEE, PARTS ).

Abra o Delphi, adicione dois(2) Forms (Form1 e Form2).

1º Passo: No Form2 adicione:

  • TQuickRep (QuickRep1);
  • TQRBand - opção BandType = rbTitle (QRBand1);
  • TQRGroup (QRGroup1)
  • e outro TQRBand - opção BandType = rbDetail (QRBand2).

2º Passo: Adicione Duas TQuery's (vamos chamar de QryOrders e QryItems) e na opção DataBaseName escolha DBDEMOS e adicione um DataSource (DsOrders) na opção. DataSet coloque a QryOrders

No QuickRep1 na opção DataSet coloque a QryOrders.

- Na QryOrders:

Select O.ORDERNO, O.SALEDATE, O.CUSTNO, C.COMPANY, O.EMPNO,

E.LASTNAME||' '||E.FIRSTNAME NAME, O.ITEMSTOTAL

from ORDERS O, CUSTOMER C, EMPLOYEE E

Where E.EMPNO = O.EMPNO and

C.CUSTNO = O.CUSTNO and

O.ORDERNO = :OrderNo

No Params: no parametro OrderNo na opção Data Type escolha a opção Integer;

- Na QryItems:

Select I.PARTNO, P.DESCRIPTION, I.QTY, P.LISTPRICE, I.QTY * P.LISTPRICE as TOTAL

From ITEMS I, PARTS P

Where P.PARTNO = I.PARTNO and I.ORDERNO = :ORDERNO

No Params: faça igual a qryOrders;

Na Opção DataSource coloque o DsOrders.

3º Passo:

- Adcicione Sete (7) QRDBText dentro do QRBand - rbTitle, na opção DataSet coloque QryOrders, e na opção DataFields coloque em cada QRDBText um campo da tabela.

- No QRGroup adicione cinco (5) QRLabel's um para cada campo da QryITEMS, coloque um do lado do outro, e nos Catipions coloque: Part, Description, Qty, ListPrice e Total, respectivamente.

- Agora no QRBand rbDetail adicione cinco QRDBText, um para cada campo da QryITEMS, na opção DataSet coloque QryItems e no DataField os respectivos campos e organize de acordo com os QRLabels (observe os espaços necessários entre cada Campo, OK!).

4º Agora no Form1:

Adicione a Unit2 no uses (Unit2 refere-se ao Form2 onde foi criado o relatorio):

var

  Form1: TForm1;

implementation

uses Unit2;

{$R *.DFM}

Adicone tambem: um TEdit (Edit1) e um TButton (Button1) no onClick do Button coloque:

procedure TForm1.Button1Click(Sender: TObject);

begin

  Form2 := TForm2.Create(Self);

  Form2.QryOrders.Close;

  Form2.QryOrders.ParamByName('ORDERNO').AsInteger := StrToInt(Edit1.text);

  Form2.QryOrders.Open;

  Form2.QryItems.Close;

  Form2.QryItems.Open;

  Form2.QuickRep1.Preview;

end;

Pra testar você pode usar alguns valores como 1003...1104... ect...

Bom é só isso! o restante vai de sua criatividade, explore os recursos do quickreport, coloque linhas, grades essas coisas.

by Progr'amador. wink.gif

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...