Criar um Cadastro no Excel com VBA - Parte IV | Excelmax Soluções e Controles

domingo, março 20, 2011

Criar um Cadastro no Excel com VBA - Parte IV


    Após uma breve recapitulação das três primeiras postagens da série "Criar um Cadastro no Excel com VBA", vou dar continuidade explicando como fazer para consultar os itens cadastrados através do nome do produto.


    Esta etapa é relativamente fácil de entender e serve como base para aplicar a funcionalidade aos botões: Incluir, Alterar e Excluir.
   


    Note na figura abaixo que a 'ListView' está preenchida com as informações contidas da base de dados. Há também um total em valores resultante da quantidade e preço de cada item.


    O código que faz este preenchimento está na figura abaixo. Esta parte do código é contução do código que cria o cabeçalho da ListView. Na parte final do código, é feita uma soma a cada ciclo (loop) para gerar o total utilizando a quantidade e o preço de cada item.


 
    Para fazermos uma pesquisa na base de dados que retornar as informações respectivas do item selecionado no campo (objeto ComboBox) cdDesc (descrição do produto) utilizamos o código apresentado na figura a seguir.
  • Note que a 1ª tarefa do código é limpar todos os campos ("" = vazio) com excessão do campo 'cdDesc'.
  • Em seguida, utilizando a instrução 'Do Until...Loop' (Repete um bloco de instruções até que ela se torne True (verdadeira)), para que retorne as informações.

    
















   
    Para finalizar, utilizei um pequeno código para que, ao clicarmos com o mouse em algum tem da ListView, o mesmo seja retornado no campo 'cdDesc'. Quando o valore respectivo inserido neste campo, o código 'Private Sub cdDesc_Change' faz o preenchimento dos demais campos.

    Assim, finalizo esta parte da explicação. Na próxima postagem estarei explicando como aplicar as funcionalidades aos botões 'Incluir', 'ALterar' e 'Exluir'.

   Se ficou alguma dúvida referente as explicações dadas nesta postagens (ou nas anteriores), favor postar comentário que terei pazer em responder. Se tivem alguma sugestão, ta'mbém será bem vindo.

    Link para download: Cadastro de Produtos

    Se está gostando desta série des postagens, divulque a seus amigos/contatos para mais pessoas possam aprender. Também, se esejar, ajude no crescimento do blog para que o mesmo possa chegar ao maior número de pessoas possível.

    E eu, Professor Ivair, agradeço a participação e ajuda de todos vocês. Um grande abraço e até a próxima postagem.

Sobre o autor: Ivair Ferrari é Certificado: Microsoft Office Excel Specialist; Consultoria e Desenvolvimento de Soluções e Softwares em Excel/VBA, Bancos de dados Access, Firebird, Oracle, Interação com SAP/R3 e Treinamentos In-Company. YouTube | Facebook | LinkedIn | Twitter | Google Plus

5 comentários :

  1. Ola Prof Ivair! Implementei o codigo que da sequencia a esta serie e me surgiram as seguintes duvidas: 1 - Porque temos que limpar o listView (lsLista.ListItems.Clear) antes de adicionar os itens? 2 - Não entendi( mas funcionou!) esta parte do codigo: Set li = lsLista.ListItems.Add(Text:=Sheets("Cadastro").Cells(lin, ID).Value)-- Neste caso "li" funciona como uma variavel? Tenha uma bom dia e obrigado pelas explicações!

    ResponderExcluir
  2. Olá, tenho a mesma dúvida do Ricardo o porque "Li".Tentei fazer uma listView como exercício não tive sucesso. Gostaria de saber a importância desça variável.

    ResponderExcluir
  3. Olá Amigos. Primeiro, peço desculpas ao Ricardo por não ter respondido antes. Segue algumas explicações:
    - Com relação a limpar a ListView antes de adicionar os itens, não está correto (não é necessário). Esta linha de comando é necessária, da forma como apresentado no exemplo, quando criamos um botão para incluir, alterar ou excluir algum item.
    - Com relação a para "Li": ela é uma variável que representa toda a linha que adiciona a primeira coluna. Para não repetir o mesmo conteúdo. Outra coisa: se colocarmos esta linha (lsLista.ListItems.Add(Text:=Sheets("Cadastro").Cells(lin, ID).Value)) ocorrera um erro não adicionando as informações da maneira correta.

    Se tiverem dúvidas ou não funcionar, queiram enviar um modelo do que estão tentando fazer que respondo (ivairferrari@gmail.com))

    Abraço!
    Ivair

    ResponderExcluir
  4. Ola Ivair, eu não estou conseguindo abrir nenhuma planilha dessas de exemplos. Sempre vem a mensagem de que o objeto nao existe no meu computador e nao pode ser aberto. Como eu faço pra resolver isso. Fiz o procedimento da Ferramenta Regsvr32, mas nao funcionou...

    ResponderExcluir
    Respostas
    1. Olá caro amigo Felipe!

      Segue orientações:

      - Verifique em seu computador, na pasta System32 (para Excel de 32 Bits) ou SysWOW64 (para Excel de 64 Bits), pelo arquivo (biblioteca) MSCOMCTL.OCX.
      - Clique com o botão direito do mouse sobre esta biblioteca e escolha a opção 'Propriedades'.
      - Verifique em uma das abas (em meu computador é a aba Detalhes) qual é a versão da sua biblioteca (MSCOMCTL.OCX). A versão que eu utilizei é: 6.1.98.34. Possivelmente a versão que está em seu computador é diferente desta que mencionei.
      - Na postagem: 'Utilizando a Ferramenta Regsvr32' publicada aqui no ExcelMax Soluções, há um link para que possa baixar esta biblioteca. Faça o download da mesma e substitua a sua.

      Favor informar sobre o resultado.

      Grande abraço!
      Ivair Claudio Ferrari

      Excluir

Seja um participante desta comunidade !
Deixe aqui seu comentário e/ou sugestão.
Obrigado !

Ivair Claudio Ferrari

atualizar, excel, excelmax, ivair ferrari
topo, excelmax, excel, ivair ferrari