Impressão de Relatórios com Data Report – Professor Sérgio Furgeri OBJETIVOS DA AULA: • • Demonstrar a utilização da ferramenta Data Report do Visual Basic para a geração de relatórios. Apresentar os procedimentos para a criação de um relatório simples a partir dos dados armazenados em uma tabela. APLICAÇÕES PRÁTICAS: A função principal do DataReport é simplificar a criação de relatórios para futura impressão em papel. O DataReport recebe dados de uma ou várias tabelas e cria relatórios de acordo com critérios pré-definidos. Alem disso, ele permite a exportação do resultado do relatório para arquivos do tipo texto ou HTML. A figura seguinte ilustra a geração de um relatório a partir de uma tabela de ... DEFINIÇÕES: O que mais caracteriza o Data Report é que sua utilização automatiza a criação de relatórios, facilitando o trabalho dos programadores através de uma interface gráfica. O Data Report constrói relatórios baseados no Data Environment. O Data Environment é um objeto de conexão a base de dados. Dessa forma, para utilizar o Data Report, primeiramente é necessário estabelecer uma base de dados no Data Environment. O Data Environment permite a criação de objetos de conexão, consulta e atualização de dados utilizando também uma interface gráfica. Para poder utilizar o Data Environment é necessário fazer uma referência no Visual Basic, conforme o procedimento seguinte: 1. Acesse o menu Project / References..., Marque a opção Microsoft Data Environment 1.0 e clique em Ok. 2. Crie um novo projeto no Visual Basic. 3. Acesse o menu Project / Add Data Environment para adicioná-lo ao projeto. A tela seguinte será mostrada: Página 1 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri CRIANDO UMA FONTE DE DADOS PARA O DATA REPORT: 4. Com o Data Environment aberto, renomeie a conexão “Connection1” para Locadora. Clique com o botão direito do mouse sobre a conexão Locadora e selecione a opção Properties... para abrir a seguinte tela de propriedades da conexão: Selecione agora a opção Microsoft Jet 4.0 OLE DB Provider para estabelecer que a conexão com o Banco de Dados seja o padrão do Visual Basic (Bando de dados do Access) e depois clique em Avançar. A seguinte tela será mostrada: Página 2 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Escolha o nome do Banco de Dados a ser utilizado (no exemplo estamos utilizando o banco Locadora.mdb) e depois clique em Testar Conexão para verificar se tudo está correto. Se tudo estiver de acordo, clique em Ok para finalizar e a conexão será criada. Agora clique novamente com o botão direito do mouse sobre a conexão Locadora e selecione a opção Add Command. Um subitem de nome Command1 será criado. Clique com o botão direito do mouse sobre o Command1 e selecione a opção Properties..., a seguinte tela será mostrada: Command Name => Nome do objeto que será criado. Digite CLIENTES Connection => Nome da conexão que no caso já foi criada: Locadora Database Object => Tipo do objeto a ser criado. Selecione Table (Tabela) Object Name => Nome do objeto a ser utilizado referente à escolha feita no Database Object. Como foi escolhido Table no Database Object, este refere-se a uma tabela. Selecione a tabela de nome CLIENTES e depois clique em Ok. Página 3 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Agora a base de dados a ser utilizada no Data Report já está criada. Verifique a figura abaixo como o Data Environment deve ficar: CRIANDO UM RELATÓRIO COM DATA REPORT: Para inserir um Data Report no projeto, acesse o menu Project / Add Data Report. Agora aparecerá a seguinte tela onde o relatório será construído: Página 4 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Régua Horizontal Cabeçalho do Relatório Cabeçalho da Página Detalhe Rodapé da Página Rodapé do Relatório Na Propriedade Data Source do DataReport1 selecione DataEnvironment1 e na propriedade DataMember selecione CLIENTES. Antes de iniciar a construção do relatório algumas mudanças devem ser feitas para que facilite sua construção. Observe a grade auxiliar (quadriculado) de orientação dos objetos no fundo do Data Report e note que estes estão com um tamanho exagerado dificultando e muito a sensibilidade de movimento dos objetos no Data Report. Para mudar isso, acesse as propriedades GridX e GridY do DataReport1 e coloque o valor 15 nas duas. Note que a grade auxiliar terá agora subdivisões em cada quadrado dela. O valor 15 é expresso em twips, para se ter uma noção das dimensões: 1 centímetro equivale a 567 twips. Para proporcionar uma melhor visualização do Data Report, recomenda-se ocultar a grade auxiliar. Para isso, clique com o botão direito do mouse em qualquer lugar do Data Report e desmarque a opção Show Grid. Outra modificação é quanto ao tamanho horizontal do Data Report, ou seja, sua área de construção. Nem sempre seu comprimento está de acordo com o tamanho do papel configurado na impressora e isso dificulta na construção do relatório, pois não se sabe seu limite horizontal. Para melhorar isso, você deve colocar o valor 10200 na propriedade ReportWidth do DataReport1 afim de estender o comprimento da área de construção para um papel de formato A4. Página 5 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Modifique o tamanho das margens do relatório para 1,5 cm. Para isso coloque o valor 850 (850 twips = 1,5 cm) nas propriedades TopMargin (margem superior), BottomMargin (margem inferior), LeftMargin (margem esquerda) e RightMargin (margem direita) do DataReport1. Agora nos iremos adicionar os componentes do Data Report para montar o corpo do relatório. Veja quais são os componentes disponíveis para o Data Report: Rótulo Campo Figura Forma Geométrica Linha Função No cabeçalho do Relatório (Sessão Report Header) vamos inserir os componentes conforme a figura abaixo: Figura Linha Rótulo Controle (Mostra a data atual) Figura => Para escolher uma imagem, vá na sua propriedade Picture. Rótulo => Use a propriedade Caption para definir o nome do rótulo. Controle => Este é um controle que mostra a data atual no relatório. Para inserí-lo clique com o botão direito do mouse sobre a sessão do Cabeçalho do Relatório e selecione a opção Insert Control / Current Date (Short Format). Há outros controles também que podem ser inseridos como por exemplo número da página atual, total de páginas e outros... No cabeçalho da Página na Sessão Page Header vamos inserir 5 rótulos como mostra a figura seguinte: Página 6 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Na área de detalhes do Relatório (Sessão Detail) iremos adicionar os campos que serão mostrados no relatório. Para isso devemos abrir o Data Environment dando um duplo clique em DataEnvironment1 que está na parte de Designers do Project Explorer. Caso o Project Explorer não esteja aparecendo, vá no menu View / Project Explorer ou pressione a tecla Ctrl + R. Project Explorer Com o Data Environment aberto, selecione os campos que estão na figura abaixo e arraste-os para a sessão de detalhes (Detail) do Data Report: Campos Na hora que você arrasta os campos do Data Environment para o Data Report, eles são mostrados no Data Report juntamente com um rótulo. Estes podem ser apagados, pois o que nos interessa são apenas os campos. Na área que corresponde ao rodapé da página (Sessão Page Footer) utilizaremos um Controle como já foi citado anteriormente para inserirmos o número atual da página. Juntamente haverá um rótulo com o nome Página: . Veja a figura abaixo: Página 7 Rótulo Controle Impressão de Relatórios com Data Report – Professor Sérgio Furgeri Para finalizar a construção do corpo do relatório, vamos inserir no seu rodapé, na sessão Report Footer, uma linha e logo abaixo um rótulo informando o fim do relatório conforme abaixo: Para visualizar o relatório, deve-se inserir um botão (Command1) no formulário (Form1) com a propriedade Caption definida como Visualizar Impressão para mostra um preview do que será impresso. Coloque os seguintes comandos no evento Click do botão Command1: DataReport1.WindowState = 2 'para mostrar a tela do preview maximizada DataReport1.Show 'gera um preview do que será impresso Obs: Para exportar um relatório pela janela de pré-visualização, você deve acionar o segundo botão da barra de ferramentas (Export). Um diálogo de gravação será aberto oferecendo quatro tipos de formato para o arquivo: HTML, texto, Unicode e HTML com conjunto universal de caracteres (UFT-8). A lista Zoom permite que você visualize o relatório em oito tamanhos possíveis, de ajuste geral até 200%. No rodapé da janela, você encontra os botões de navegação pelas páginas do formulário. Rótulo Controle Página 8 Impressão de Relatórios com Data Report – Professor Sérgio Furgeri RESUMO DA AULA: Nesta aula pudemos aprender a utilizar a ferramenta Data Report do Visual Basic para gerar relatórios trabalhando sempre com componentes gráficos. Com o Data Environment criamos uma conexão com uma fonte de dados para ser usado pelo Data Report. Este por sua vez usa os dados para criar relatórios, apresentá-los em tela para uma pré-visualização e também imprimi-los. O Data Report por ser uma ferramenta gráfica e por ser composta de vários componentes muito úteis, facilita bastante o vida de programadores otimizando um trabalho que levaria muito mais tempo e que agora pode ser gasto com outros atividades dentro de um projeto. EXERCÍCIO: Utilizando os campos da tabela de Filmes do mesmo banco de dados Locadora usado no exemplo, faça um relatório de filmes onde sejam apresentados os nomes dos filmes, o gênero, a produtora e o ano em o filme foi produzido. PARA PENSAR E DISCUTIR: • • • Quais os pros e contras da utilização do Data Report para impressão de relatórios se for comparado com objeto Printer? No que o Data Report pode ajudar nos programas dentro das empresas? Que vantagens o usuário dos programas pode obter com o Data Report? Página 9