Página 1 de 4

formulário de pesquisa vba

Enviado: Qui Set 17, 2009 6:36 pm
por Jay
Olá, espero estar no lugar correto para a pergunta.
Gostaria de saber como fazer um formulário de pesquisa, como o do modelo de cadastro que encontrei neste fórum.
Estou fazendo uma planilha para armazenar dados relativos à registro civil, e os usuários precisam efetuar pesquisas pelos nomes, ou pelo tipo de livro cadastrado (nascimento, casamento ou óbito).
O sistema de busca que preciso é parecido com o deste exemplo, porém mais simples. Os filtros que necessito são apenas nome e tipo de livro.

muito obrigada.

Re: formulário de pesquisa vba

Enviado: Sex Set 18, 2009 10:27 am
por webmaster
Jay,

Se entendi bem, mas simples significa menos campos certo? Se for isso mesmo, qual a dificuldade em alterar o form de pesquisa disponível no modelo cadastro?

De fato, entendo que para a maioria dos programadores puramente VBA, é um pouco mais chato de entender porque usei ADO em sua construção. Isso proporcionou um aproveitamento total do que o SQL fornece em termos de mecanismo de pesquisa. Há somente um "complicômetro" nessa história toda. A transposição de matrizes. Como retorno os dados para o código com o método GetRows do RecordSet e utilizo o controle ListBox, utilizado para demonstrar o resultado da pesquisa, a atribuição direta do GetRows para o List traria os dados invertidos (linhas no lugar das colunas).

Experimente comentar a seguinte linha:

Código: Selecionar todos

...
'troca linhas por colunas no Array
myArray = Array2DTranspose(myArray)
...
Execute o form de pesquisa e veja o resultado.

A alternativa seria tratar a pesquisa e comparação de dados linha a linha, o que seria extremamente oneroso. De qualquer forma, deixo aqui a promessa de criar um modelo de form de pesquisa baseado somente nas rotinas do Excel, sem ADO e SQL e colocar para download no blog OK? Só não prometo para quando. É só ficar de olho no blog.

Abraços

Re: formulário de pesquisa vba

Enviado: Seg Set 21, 2009 7:20 pm
por Jay
Valeu Tomas.

Eu mudei o form de pesquisa do modelo, mas mesmo assim não funcionou. No depurador o erro começa por lstLista.ListIndex em diante. Adaptei as variáveis, os nomes, os campos, mas não rodou.
Eu sei que faltou conhecimento mesmo, mas estou estudando tudo que encontro.
Agradeço muito a ajuda mesmo.

Re: formulário de pesquisa vba

Enviado: Seg Set 21, 2009 10:56 pm
por Silmar Carvalho
Tomas, boa noite!

Parabéns pelo trabalho aqui apresentado. Sou leigo no assunto mas tenho aprendido muito lendo seus artigos.
Baxei a panilha e funcionou muito bem, fiz algumas adaptções para o que preciso, porem gostaria de fazer a pesquisa somente por uma variavel, como por exemplo CPF, (campo nome de contato, substitui por CPF). Podes ajudar? Abraços
Silmar

Re: formulário de pesquisa vba

Enviado: Seg Set 21, 2009 11:17 pm
por Silmar Carvalho
Tomas,

Acabo de descubrir que funciona o filtro por CPF(ou melhor nome de contato) entretanto não consigo rodar a planilha no excel da empresa dá um erro de SQL usamos o windows 98 sera a versão do excel, com posso solucionar o problema.

Re: formulário de pesquisa vba

Enviado: Ter Set 22, 2009 11:18 am
por webmaster
Jay,

Para poder ajudar, preciso saber do erro com mais detalhes. Pode dizer como ficou o código e a linha onde deu o erro?

Abraços

Re: formulário de pesquisa vba

Enviado: Ter Set 22, 2009 11:19 am
por webmaster
Silmar,

O problema é na sintaxe do SQL ou no acesso às bibliotecas do ADO?

Confira no menu Ferramentas->Referências do VBA se há alguma referência marcada como AUSENTE.

Abraços

Re: formulário de pesquisa vba

Enviado: Ter Set 22, 2009 2:32 pm
por webmaster
Colegas,

Postei no blog um exemplo que pode ajudá-los:

http://www.tomasvasquez.com.br/blog/mic ... no-listbox

Espero que ajude.
Abraços

Re: formulário de pesquisa vba

Enviado: Sáb Set 26, 2009 12:11 am
por Silmar Carvalho
Tomas,

Vou copiar o erro amanhã lá na empresa e e breve público. Grato pela atenção.
Há fiz adaptações na planilha do Ricardo Horta e rodou muito bem lá na empresa, só não achei interessante a forma de pesquisa porque quando se digita a primeira letra de um nome puxa os dados do primeiro nome com esta letra e dos demais tem que puxar na caixa de rolagem , não achei pratico, creio que deveria pedir para digitar o primeiro e segundo nome ou dado como CPF.

Abraços

Re: formulário de pesquisa vba

Enviado: Seg Set 28, 2009 11:33 am
por webmaster
Silmar,

São opções. Cada um desenvolve como acha mais prático, ou conforme o usuário pede. No caso da planilha que desenvolvi, escolhi fazer algo mais completo, porém, alguns usuários acham complicado demais. Vai do gosto.

Abraços