Ir para conteúdo
Fórum Script Brasil
  • 0

Criando Um Relatório no QuickReport Passo a Passo


Progr'amador

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...