Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Como criar um Botão Pesquisar

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
Raphael.pereira
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jan 29, 2015 8:56 am

Como criar um Botão Pesquisar

Mensagem por Raphael.pereira »

Boa dia, Pessoal!
Sou iniciante em VBA e procurei fazer o meu projeto de CADASTRO aprendendo algumas coisas em vídeos no YouTube.
Trabalho em uma Empresa na parte de Contratações e estou terminando um projeto em VBA que é um Banco de Dados/Cadastro com todas as informações das contratações da Empresa. São 26 campos para inserção de dados, dentre eles "Nº DO CONTRATO" e "PROCESSO". Os Dados dos 26 campos são carregados quando eu seleciono o "Nº DO CONTRATO", dentro de uma ComboBox onde os Contratos são previamente salvos. Sendo que muitas vezes preciso saber o andamento de um Processo que possui mais de um Contrato. Por exemplo, existem Processos que têm 4 ou 5 Contratos atrelados a eles.
Então minha necessidade seria, após inserido o Nº DO PROCESSO, selecionar um botão que abrisse um formulário com uma listbox e essa listbox me retornasse somente os Contratos que estão atrelados ao referido Processo e ao selecionar um desses Contratos, todos os campos do meu formulário principal seriam preenchidos para que eu pudesse consultá-los ou atualizá-los.
Aguardo por essa ajuda e segue o arquivo em anexo!
Anexos
CONTROLE - PROJETO.zip
(95.08 KiB) Baixado 292 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Como criar um Botão Pesquisar

Mensagem por Reinaldo »

Talvez algo +/- assim (veja no seu modelo)

Código: Selecionar todos

Private Sub lstbContrato_Click()
CADASTRO.box_numero.ListIndex = lstbContrato.List(lstbContrato.ListIndex, 4) - 2
End Sub

Private Sub UserForm_Initialize()
UltimaLinha = Sheets("BancodeDados").Cells(Cells.Rows.Count, 1).End(xlUp).Row
         
For i = 2 To UltimaLinha
    If Sheets("BancodeDados").Range("B" & i).Value = CADASTRO.caixa_processo.Text Then
        lstbContrato.AddItem Sheets("BancodeDados").Range("A" & i).Value
    lstbContrato.List(lstbContrato.ListCount - 1, 1) = Sheets("BancodeDados").Range("B" & i).Value
    lstbContrato.List(lstbContrato.ListCount - 1, 2) = Sheets("BancodeDados").Range("I" & i).Value
    lstbContrato.List(lstbContrato.ListCount - 1, 3) = Format(Sheets("BancodeDados").Range("H" & i).Value, "R$ " & "#,##0.00")
    lstbContrato.List(lstbContrato.ListCount - 1, 4) = i
    'ListBox1.List(ListBox1.ListCount - 1, 5) = Sheets("BancodeDados").Range("F" & i).Value
    End If
Next

End Sub
Anexos
Cópia_CONTROLE - PROJETO.zip
(73.45 KiB) Baixado 266 vezes


Raphael.pereira
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jan 29, 2015 8:56 am

Re: Como criar um Botão Pesquisar

Mensagem por Raphael.pereira »

Caro Rmarco,
Agradeço extremamente pela rapidez e cordialidade. Ficou excelente, muito bom mesmo. Vou tentar progredir agora para que quando eu digite um Nº DE PROCESSO ainda não cadastrado, ele me devolva uma mensagem de erro! Se não conseguir posto aqui novamente!
Mais uma vez, muito obrigado!! Forte Abraço!


Raphael.pereira
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jan 29, 2015 8:56 am

Re: Como criar um Botão Pesquisar

Mensagem por Raphael.pereira »

Bom dia, Reinaldo!
Realmente fiquei bastante agradecido com a sua ajuda com o "Botão Pesquisar". Só que mexendo no programa descobri um 'erro" com "Botão Salvar" que não consegui sanar e não sei se você poderia me ajudar:

1- O "botão salvar" está salvando, mesmo com o formulário vazio, sendo que os 3 últimos campos estão sendo preenchidos com dados de outra linha;
2- E eu acho que o problema acima está interferindo no "botão atualizar", pois tenho notado alterações nos três últimos campos quando atualizo algum "contrato", mas ainda não consegui identificar o erro.

Desde já agradeço pelo tempo destinado em minha ajuda!

Bem, é só. Abraço!
Anexos
CONTROLE DE CONTRATAÇÕES 2015.zip
(106.12 KiB) Baixado 266 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Como criar um Botão Pesquisar

Mensagem por Reinaldo »

Vamos por parte:
1- O "botão salvar" está salvando, mesmo com o formulário vazio....
Para que isso não ocorra, é necessário definir qual(is) o(s) campo(s) obrigatório, então na rotina referente ao botão salvar iniciar com um questionamento.
Algo +/- assim

Código: Selecionar todos

If box_numero.text="" then
     msgbox "Insira o numero..."
     exit sub
..., sendo que os 3 últimos campos estão sendo preenchidos com dados de outra linha;
O erro deve-se á:
Ao criar/salvar um novo registro é executada a rotina --> ORDENAR
porem a mesma utiliza a range --> "A2:W" & totaldelinhas), mas seus dados vão até a range "z"; portanto as tres ultimas colunas ficam estáticas "sem ordenar", gerando uma desorganização total em seus dados.

Altere a range para "A2:Z" & totaldelinhas)

Obs.: Evite direcionar uma necessidade/pergunta a uma pessoa especifica, pois isso pode/inibe que outros integrantes do fórum participem com suas contribuições, e se a pessoa direcionada não estiver disponível, a pergunta poderá ficar sem resposta


Raphael.pereira
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jan 29, 2015 8:56 am

Re: Como criar um Botão Pesquisar

Mensagem por Raphael.pereira »

Mais uma vez, muito obrigado Reinaldo. Não estava conseguindo enxergar os erro nas rotinas!
Forte Abraço!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder