Data Report - Gerando um relatório com base em um parâmetro do usuário


No artigo - Usando o Data Report - demos o pontapé inicial no assunto Data Report , agora vamos nos aprofundar um pouco mais. Vamos mostrar como passar  parâmetros com o objetivo de selecionar um critério para impressão para um relatório gerado com o DataReport. Vamos lá...step by step


Projeto Passo a Passo

  1. Inicie o Visual Basic e selecione as opções File->New Project do Menu Principal .
  2. Na Janela New Project selecione o ícone Data Project
  3. Será criado um novo projeto chamado DataProject com os seguintes elementos(fig 1.0):
    Fig 1.0
  1. Clique duas vezes no objeto DataEnvironment1 e a seguir clique com o botão direito do mouse sobre o objeto Connection1 selecionando a opção Properties... do Menu suspenso (Fig 3.0) ;Na caixa de diálogo Propriedades do Data Link na aba Provedor selecione Microsoft Jet 3.51 OLE DB provider e na aba Conexão em especifique a localização da base de dados Biblio.mdb(Fig 4.0)
Fig 3.0 Fig 4.0
  1. Clique novamente com o botão direito do mouse sobre Connection1 e selecione a opção Add Command , será incluido o um objeto Command1 no ambiente. A seguir clique com o botão direito do mouse sobre Command1 e selecione a opção Properties... (Fig 5.0) .
Fig 5.0
  1. Na caixa de diálogo Propriedades de Command1, em Source of Data , selecione a opção SQL Statement e insira o comando SQL :
    SELECT Author, ´Year Born´ FROM Authors WHERE (´Year Born´ = ?)

    como mostrado abaixo (Fig 6.0)

Fig 6.0
  1. Clique na Aba Parameters e defina os valores para o parâmetro conforme mostrado na figura abaixo (Fig 7.0), A seguir clique no botão OK

A variável será atribuída ao parâmetro e o relatório será gerado com base no critério escolhido. Onde temos:

Agora só falta criar um formulário onde criaremos uma interface que solicitará o ano de nascimento do autor para em seguida gerar o relatório com base nesse critério. Abaixo temos um layout de uma das possibilidades:

O código associado ao botão de comando - command1 - para exibir o relatório é o seguinte:

Private Sub Command1_Click()

If IsNumeric(Text1.Text) = True Then
 
  DataEnvironment1.Command1 CInt(Text1.Text) 
   DataReport1.Show

Else
   MsgBox " Informe um ano válido !!!", vbCritical, "Data Report - Usando Parâmetros"
End If
End Sub

E, estamos conversados... ,