Esse artigo faz parte da revista Clube Delphi edição 27. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Bandas flexíveis

Ordenamento dinâmico em relatórios

Fazer um relatório já não é algo agradável, isto todos sabemos. Pior ainda quando, após um imenso trabalho para atender a uma solicitação, ouvimos: “Está bom, mas... será que você não poderia fazer o mesmo com a seguinte ordem...?” Ordenamento de informações em relatórios é algo muito variável. Neste artigo, apresento como montar um relatório deixando a cargo do usuário a ordem de apresentação das informações.

Preparação inicial

Para iniciar, vamos criar um novo projeto, salvando-o como "Prj_Relatorio". Vamos incluir um Data Module e, nele, os seguintes componentes, alterando as propriedades indicadas.

1. IBtabase:

·         DatabaseName (apontar para o local do banco Vendas.gdb);

·         Name – IbDb_Vendas;

·         User Name – sysdba;

·         Password – masterkey;

·         Login prompt – desmarcar;

2. IBTransaction:

·         Name – IbTrn_Vendas;

·         DefaultDatabase – IbDb_Vendas;

3. IBQuery:

·         Name (IbQry_Selecao);

·         Database (IbDb_Vendas);

·         (O conteúdo da propriedade SQL será visto mais à frente).

4. IBQuery:

·         Name – IbQry_Cidade;

·         Database – IbDb_Vendas;

·         SQL – select CodCidade, NomCidade from Cidade order by NomCidade.

5. DataSource:

·         Name – DatSrc_Selecao;

·         DataSet – IbQry_Cidade

6. Nomeie o Data Module como "Dm_Vendas" e salve sua unit como "Un_DmVendas".

7. No Form, faça as seguintes alterações (veja a Figura 1)

·         Name – Frm_Selecao;

·         Position – poScreenCenter;

·         BorderStyle – bsSingle; ...

Quer ler esse conteúdo completo? Tenha acesso completo