CRIAÇÃO DE RELATÓRIOS EM DELPHI



Documentos relacionados
ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

TABELAS RELACIONADAS: CAPTURANDO VALOR DE OUTRA TABELA ATRAVÉS DE DBGRID

Inserindo Dados no Banco de Dados Paradox.

Relatórios com Quickreport

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Sistema básico de cadastro em Delphi com banco de dados InterBase.

Relatórios com Rave Reports

Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório

Data Transformation Services (DTS) por Anderson Ferreira Souza

Tutorial Ouvidoria. Acesso, Utilização, Visualização das Manifestações e Resposta ao Manifestante

Acesso à Dados ZEOS x Delphi. Professor Anderson

Impressão de Relatórios com Data Report Professor Sérgio Furgeri. A figura seguinte ilustra a geração de um relatório a partir de uma tabela de...

Introdução a relatórios Crosstab com ireport/jasperreports

Universidade Federal do Mato Grosso - STI-CAE. Índice

Apostila de Programação IV. Módulo V

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

PAG CONTAS CARNÊ Agora ficou mais fácil pagar suas contas. PAG CONTAS CARNÊ. Geração de Boletos MANUAL DO USUÁRIO

WebEDI - Tumelero Manual de Utilização

Faculdade Boa Viagem Sistemas de Informação Gerenciais EXERCÍCIO PASSO-A-PASSO PEDIDOS E CONTROLE DE ESTOQUE. Microsoft Access.

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Tutorial do ADD Analisador de Dados Dinâmico.

Veja abaixo um exemplo de como os dados são mostrados quando usamos o

Como incluir artigos:

MANUAL DE UTILIZAÇÃO

CRIANDO TEMPLATES E LEGENDAS

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

Como funciona? SUMÁRIO

Tutorial USERADM Como inserir conteúdo no Portal Transparência

Banco de Dados BrOffice Base

TUTORIAL WEEBLY. 2-Crie um cadastro (lembrando que palavra passe é a senha). Após preencher o formulário, clique em Sign Up. It s Free!

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

MANUAL DO ANIMAIL Terti Software

Criando uma mala direta com o Word 2007 em 6 Passos

Sistema de Controle de Cheques GOLD

Lição 1 - Criação de campos calculados em consultas

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Construção do Boxplot utilizando o Excel 2007

Migrando Bancos de Dados pelo Delphi

Escola Info Jardins. Microsoft Excel Aula 1

Portal Sindical. Manual Operacional Empresas/Escritórios

Table of Contents. PowerPoint XP

Banco de Dados Microsoft Access: Criar tabelas

Tutorial - DVD Flick

Configurações de Templates no SolidWorks 2011

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro

Conexão ODBC do MySQL com Excel 2010

Microsoft Access XP Módulo Um

Manual Captura S_Line

Clique no botão novo

Tutorial Administrativo (Backoffice)

DIRETRIZES DE USO DA MATRIZ DE SISTEMATIZAÇÃO DE INFORMAÇÕES

Programação Visual. ireport Introdução. Prof. Edwar Saliba Júnior Novembro de Unidade 07 ireport - Introdução

TUTORIAL INSTALAÇÃO DE IMPRESSORAS NO UEGLINUX

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Criação Visual de Consultas. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Novas Funcionalidades do MyABCM v.4.0

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho.

❶ No Sistema Gênesis, na Aba ESTOQUE

PdP. Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006

ALBUM DE FOTOGRAFIAS NO POWER POINT

W o r d p r e s s 1- TELA DE LOGIN

Sistema de Chamados Protega

Tela Inicial: O Banco de Dados e seus objetos:

Produção de tutoriais. Suellem Oliveira

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010.

COMO COLABORAR NO WIKI DO MOODLE 1. Orientações para produção escolar colaborativa no wiki do Moodle:

WORD. Professor: Leandro Crescencio Colégio Politécnico 1

Acessando um Banco de Dados

Este software resolve todos esses problemas.adobe reader é um software free, para ler os arquivos pdf..

PASSO A PASSO GOOGLE DOCS - FORMULÁRIOS GOOGLE DOCS

Este documento visa facilitar e viabilizar a introdução ao módulo de Manufatura no Sistema

Manual do Usuário Solução para Integração B2B Siagri x Conecta BASF Thiago Borges de Oliveira thiago.oliveira@siagri.com.br

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

Configurando o IIS no Server 2003

Sistema de Recursos Humanos

Manual das planilhas de Obras

Excel VBA - Parte IV:Inserindo um formulário e seus comandos

Guia para Escolha de Fotos no PSG Request

Gerenciamento de Projetos

Manual de Utilização

Irá abrir a página de login. Digite ali seu login(nome de usuário) e senha. Idioma, deixe padrão. Aperte enter ou click sobre o botão Login.

SPARK - CONFIGURAÇÃO

Manual de Cobrança. Código Nome De Até 1 Jose da Silva a Jz 2 Ana Maria k Pz 3 Marcelo q zz

Manual do usuário. Softcall Java. versão 1.0.5

Bem vindo! Esta é a tela inicial do Webmail da Universidade federal de Juiz de Fora. O link de acesso é:

INSTALANDO E CONFIGURANDO O MY SQL

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

ÍNDICE... 2 INTRODUÇÃO... 4

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Transcrição:

PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO CRIAÇÃO DE RELATÓRIOS EM DELPHI Relatórios são tão importantes quanto as consultas, com a vantagem de poder imprimir os valores armazenados nos Bancos de Dados e sua criação é bem simples. Primeiramente precisamos ter uma aplicação Delphi conectada a uma base de dados. Esta base de dados também será conectada ao relatório e isso pode ser feito tanto com um objeto Table quanto com um objeto Query (ambos na Paleta BDE). A diferença é que, com um objeto Table este relatório fica estático, ou seja, não permite filtro de informações, enquanto que um relatório conectado a uma Query fica dinâmico, permitindo que se imprima todas as informações ou se crie parâmetros para relatórios personalizados. Pode-se criar um DataModule exclusivo para estas operações ou utilizar um já configurado. zero. Para este exemplo, começaremos uma aplicação simples, do Criaremos um banco de dados chamados BDINFO, com uma tabela TBDADOS, esta com os atributos a seguir:

CODIGO (Int, chave primária) NOME (VarChar, 50) CIDADE (VarChar, 50) EMAIL (VarChar, 50) Para adiantar o trabalho, preencha a tabela após a criação com alguns dados. SUGESTÃO: Pelo menos 5 dados com cidades diferentes, podendo repetir uma ou duas. O campo CIDADE servirá para filtrarmos o relatório pela cidade onde o cadastrado mora. Faremos a conexão via ODBC, em Painel de Controle, Ferramentas Administrativas, Fonte de Dados (ODBC) como já mostrado anteriormente. No Delphi, configuramos a conexão com um DataModule (DMRELATORIO). Neste DataModule colocaremos uma Table (TBRELAT), uma Query (QRYRELAT) - na paleta BDE - e um DataSource (DSRELAT) - paleta Data Access. Configure os objetos: TBRELAT propriedades DataBasename, TableName e Active. DSRELAT propriedade DataSet. QRYRELAT propriedades DataSource, DatabaseName, SQL (SELECT * FROM TBDADOS) e Active. Altere os nomes do objetos:

Form1= FRMDADOS DataModule= DMRELATORIO E salve: Unit 1 (O formulário) U_DADOS Unit2 (O DataModule) U_DM Project1 (O projeto) P_RELATORIO Apenas para efeito de teste, configure o Fileds Editor da TBRELAT e arraste os campos para o formulário. Coloque um DBNavigator no formulário e faça sua conexão (DataSource). Sua função aqui será apenas a de navegar pelos registros, para que possamos fazer a filtragem, pegando a cidade do registro atual. Adicione um GroupBox e dentro deste dois botões, que serão responsáveis por gerar os relatórios. Configure-os como: GroupBox: Name - GRBBOTOES Caption Gerar Relatórios Button1: Name BTNGERAL Caption Relatório Geral Button2: Name BTNFILTRO Caption Relatório Filtrado Seu formulário deve estar semelhante ao mostrado a seguir:

Adicione um novo formulário, neste será configurado o relatório. Altere suas propriedades Name:FRMRELAT e Caption: RELATÓRIOS. E salve a Unit como U_RELAT. Component, Install Packages, Add. Selecionar em C:\Arquivos de Programas\Borland\Delphi7\Bin os arquivos: dclqrt70.bpl e dcltqr70.bpl e clicar em Ok. Verifique se surgiu na paleta de componentes a opção QReport (será a última). Procure o componente QuickRep e adicione ao formulário. Aparecerá uma caixa branca dentro do formulário, semelhante a uma folha em branco. Precisamos formatar o relatório e definir suas bandas. Clique com o botão direito e selecione a opção Report Settings. Na janela seguinte, em Bands, marque todas as opções menos Summary. E se desejar o relatório impresso em Paisagem, altere em Paper size a opção Portrait (Retrato) para Landscape (Paisagem). Clique em Ok. Seu formulário de relatório estará como na figura a seguir:

As divisões (bandas) são: Page Header Cabeçalho da página (Aqui vai o timbre e os dados da empresa) Title Título (Aqui é o título do relatório. Quais informações estão impressas) Column Header Cabeçalho da Coluna (Aqui vão os nomes dos campos impressos) Detail Detalhe (Aqui vão as informações cadastradas) Page Footer Rodapé (Aqui colocamos outras informações, como número da página) IMPORTANTE!

O formulário FRMDADOS precisará reconhecer o formulário de relatório FRMRELAT (U_RELAT), pois este será criado através do cliques de botões do formulário de dados. Para isso, precisamos configurar o Use Unit e adicionar a U_RELAT. O formulário de relatórios, por sua vez, deve reconhecer o DataModule, para que seja criado o relatório através da query QRYRELAT, que está neste DataModule. Aqui também fazemos o comando File, Use Unit e adicionamos o U_DM. Devemos agora conectar o Quick Report ao componente Query do DataModule. Altere a propriedade DataSet (aparecerão as opções de Query e Tabela. Como queremos um relatório dinâmico, selecionaremos a Query) e mudamos a propriedade Name para QRPRELAT. Para finalizar a configuração do relatório, vamos configurar as Bandas do mesmo. Começando pelo Cabeçalho da Página. Page Header Clique na parte Page Header. Adicione um QRLabel (paleta QReport) e em Caption digite o conteúdo referente ao timbre da Empresa, como seu nome e endereço. Seria uma QRLabel para o nome e outra para o endereço. A formatação da fonte é livre e o espaço pode ser aumentado, usando as bordas do Page Header. Title Depois selecionamos o Title e criamos o título do relatório, com outra QRLabel. Adicionaremos no Title também a data e a hora, com um QRSysData e mudamos a propriedade Data (Dados) para qrsdatetime.

Column Header Selecionamos agora o espaço para os cabeçalhos de colunas e adicionamos várias QRLabel, uma para cada campo da tabela que eu queira mostrar. Não é abrigatório adicionar para todos os campos. Neste exemplo, colocaremos uma QRLabel para cada, sendo: Código, Nome, Cidade, E-mail. Detail Aqui colocamos as informações do banco correspondentes ao Column Header. Não usaremos aqui QRLabel e sim QRDBText, pois estas puxam as informações do Banco de Dados. A QRDBText deve ser conectada com as propriedades DataSet (aparecerão as opções de Query e Tabela. Como queremos um relatório dinâmico, selecionaremos a Query) e DataField (o campo desejado). Page Footer Selecione agora o rodapé e adicione uma QRSysData. Mude a propriedade Data para Page Number. Agora seu relatório deve ter aparência semelhante a mostrada a seguir:

Agora, basta codificar os botões que geram o relatório. BOTÃO PARA RALATÓRIO GERAL: procedure TFRMDADOS.BTNGERALClick(Sender: TObject); begin FRMRELAT. QRPRELAT.Preview; end; O comando FRMRELAT. QRPRELAT.Preview; aciona o relatório geral, que está conectado à Query. Detalhe: Só funcionará se anteriormente, como passado neste tutorial, foi feito o comando Use Unit, para que o formulário Inicial reconheça o de relatório.

Repare que o resultado é um relatório com todos os registros cadastrados na tabela. BOTÃO PARA RELATÓRIO FILTRADO: procedure TFRMDADOS.BTNFILTROClick(Sender: TObject); var CIDADE:string; begin CIDADE:=DBEdit3.Text; DMRELATORIO.QRYRELAT.Close; DMRELATORIO.QRYRELAT.SQL.Clear; DMRELATORIO.QRYRELAT.SQL.Add('select * from usuarios'); DMRELATORIO.QRYRELAT.SQL.Add('where usuario=' + QuotedStr(CIDADE) + ''); DMRELATORIO.QRYRELAT.Open; FRMRELAT. QRPRELAT.Preview; end; Neste caso, criamos uma variável CIDADE, que captura o valor da DBEdit3 (a Edit da cidade). Esta cidade capturada servirá para filtrar o relatório por este campo. Todos os comandos deste botão foram abordados e explicados anteriormente em nosso material sobre consultas. Repare que o resultado é um relatório que mostra todas as pessoas da mesma cidade. Um problema identificado é que, ao se criar um relatório filtrado, o relatório geral deixa de funcionar como deveria e se comporta como se estivéssemos filtrando.

Para resolver este problema, precisaremos fazer alterações no comando do botão para o relatório geral. ALTERAÇÃO NO BOTÃO PARA RALATÓRIO GERAL: procedure TFRMDADOS.BTNGERALClick(Sender: TObject); begin DMRELATORIO.QRYRELAT.Close; DMRELATORIO.QRYRELAT.SQL.Clear; DMRELATORIO.QRYRELAT.SQL.Add('select * from usuarios'); DMRELATORIO.QRYRELAT.Open; FRMRELAT. QRPRELAT.Preview; end; O código fica muito semelhante ao utlizado no relatório filtrado, com exceção do comando SQL que pede a separação pela cidade. OBSERVAÇÕES FINAIS: Poderíamos ainda utilizar outros recursos, como combobox, radio buttons, entre outros e criar um formulários cheio de opções para a criação dos relatórios. Fica como sugestão de melhorias para este projeto.