Criando consultas SQL com  o Visual Data Manager do VB

 

 

   Este pequeno Tutorial visa dar uma idéia inicial para aqueles que estão começando no VB e ainda não conseguiram entender de maneira mais clara como se cria uma query (consulta) e a conecta com um form qualquer. Então, vamos lá!

 

  1. Abra o VB e, no menu superior, clique em Add-Ins.
  2. Depois clique em Visual Data Manager. 

    3.   Ao aparecer o Data Manager clique em File e depois New – Microsoft Access – Version 7.0 MDB.

 

 

   Vamos criar um banco de dados chamado Mercadoria.

   Após clique com o botão direito em propriedades.

 

  

 

Crie a tabela Estoque com os seguintes campos: codigo, descricao, quantidade, valor e quantidade_mínima. Depois finalize em build the table.

 

 

  Pois bem, suponhamos, agora, que nós quiséssemos saber quais os produtos cuja quantidade no estoque fosse menor que a quantidade mínima. Gostaríamos que nos fosse apresentados a descrição do produto, o valor e a quantidade no estoque. Ainda mais, gostaríamos que todos os dados fossem organizados em ordem alfabética pela descrição.

 

PROCEDIMENTO:

Abra o banco criado, Mercadoria.mdb. Do seu lado direito, no datamanager, aparece a janela  SQL STATEMENT. Digite o seguinte nessa janela: select  estoque.descrição, estoque.valor, estoque.quantidade from estoque where estoque.quantidade < estoque.quantidade_mínima order by estoque.descrição.

 

 

Digite tudo com letras minúsculas mesmo, não se preocupe. O importante é você especificar a tabela e o campo ( tabela.campo). Ah, outra coisa: digite tudo de uma só vez, como se fosse tudo numa só linha. O datamanager se encarregará de fazer as quebras.

Depois de tudo digitado basta pressionar Execute,  responder Não à pergunta que vai aparecer e pronto: eis sua tabela!

É claro que se a tabela Estoque estiver vazia a query também estará porém você verá a sua estrutura. Se você errou alguma coisa na digitação poderá acontecer pelo menos 3 coisas:

uma mensagem de erro, a tabela não aparecer e aparecer uma janela pedindo para você inserir um parâmetro. Volte e revise o que você digitou.

Se você fez tudo certo e quiser salvar sua tabela clique em Save e dê um nome a ela (alfa, por exemplo).

 

No exemplo acima o campo quantidade_mínima foi previamente especificado pelo usuário. Suponhamos que nós quiséssemos que esse campo fosse uma variável a ser definida  no momento em que o programa estivesse em execução.

Neste caso a sql ficaria assim:  select  estoque.descrição, estoque.valor, estoque.quantidade from estoque where estoque.quantidade < [mínimo]  order by estoque.descrição.

Se você executar a query agora, ela vai te pedir o parâmetro mínimo. Depois que você fornecer o parâmetro (o número mínimo de peças, neste caso) a tabela aparece.  Note que a variável deve vir entre colchetes. O nome, dentro dos colchetes, fica ao seu critério. Novamente dê um nome (beta, por exemplo) à query e salve a tabela .

 

CONECTANDO O FORM À QUERY

 

Vamos usar o DAO. Crie um form, vá em project – references e selecione Microsoft DAO 3.5.

Na janela de código do Form digite o seguinte código:

 

Option Explicit

 

Dim data as database

Dim table as querydef

Dim newtable as recordset

 

 

No evento form load:

 

‘Abre o banco de dados

Set data = opendatabase (app.path & “\mercadoria.mdb”)

‘ Abre a query

Set table = data.querydefs(“alfa”)

Set newtable = table.openrecordset()

 

   Pronto, a consulta está à sua disposição para usa-lá onde você quiser.

   Vamos, por exemplo, colocar um listbox no form que será povoado com os dados do campo descrição da query, assim que o form carregar.

   Ainda no evento form load, acrescente:

 

List1.additem newtable(“descrição”)

 

   Agora vamos abrir a tabela Beta, aquela que necessita de um parâmetro para ser executada.

Sem alterar o Option Explicit, no evento form load digite o seguinte:

 

‘ Abre o banco de dados

set data = opendatabase (app.path & “\mercadoria.mdb”)

 

‘ Abre a query

 Set table =  data.querydefs(“Beta”)

 Set newtable = table.openrecorset()

 

Crie um textbox e um commandbutton.

No commandbutton digite assim:

 

‘ limpando o listbox

list1.clear

 

newtable.parameters(“minimo”) = textbox.text

 

list1.additem newtable(“descrição”) & chr(9) & newtable(“valor”)

 

   Daqui prá frente fica por conta da sua imaginação. Não se esqueça de fechar as tabelas e o banco de dados no evento form unload. :-)