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á!
-
Abra o VB e, no menu superior, clique em Add-Ins.
-
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. :-)