Pesquisa Avançada – Várias palavras

Neste exemplo vou mostrar como fazer uma pesquisa, por várias palavras, em determinado campo de um formulário.
O código utilizado neste exemplo é bastante útil para efectuar pesquisas mais avançadas.

1º Criar a tabela
– Criar a tabela “tbldados” com os seguintes campos: Id (numeração automática) / Dados (texto)
2º Criar o formulário “Form1”
– Criar o formulário através do assistente e escolher a tbldados como origem de dados, escolher “Tabela” para o esquema do formulário.
– Depois, ir à estrutura do formulário e criar um campo de texto independente, no rodapé do formulário, com o nome txtpesquisa.
– Criar um botão e na propriedade colocar o seguinte código:

‘**************************************************************
‘Elaborado por: José Martins
‘Site: www.accessexemplos.com
‘Data: 22-09-2011
‘NOTA: Não remover este cabeçalho. Respeite o autor do código.
‘***************************************************************
On Error GoTo Err_Comando8_Click
Dim palavras() As String
Dim x As Integer
Dim strSQL As String
Dim strWhere As String

palavras = Split(Me.txtpesquisa, ” “)

For x = 0 To UBound(palavras)

strWhere = strWhere & “dados Like ‘*” & palavras(x) & “*’ or ”
Next x
strWhere = Left$(strWhere, Len(strWhere) – 3)

strSQL = “SELECT * FROM tbldados where ” & strWhere & ” ORDER BY [dados] ”
Me.RecordSource = strSQL

Exit_Comando8_Click:
Exit Sub

Err_Comando8_Click:
MsgBox Err.Description
Resume Exit_Comando8_Click

O que o código faz, básicamente, é criar um array composto pelas palavras em txtpesquisa que são detectadas através dos espaços. Depois é criado um ciclo para pesquisar por todas as palavras digitadas em txtpesquisa.

3º Testar
– Introduzir dados e depois escrever a palavra ou palavras que vamos procurar na caixa de texto (txtpesquisa), clicar no botão e verficar os resultados.

Abaixo segue o link para fazer o dowenlod do exemplo: PESQUISAR VÁRIAS PALAVRAS

  • Alexandre Milanezi

    Primeiramente gostaria de parabenizar pela iniciativa de criar esse blog com assuntos do access, o qual sou um admirador, confesso que sou iniciante, gostei da matéria que vc criou montando uma aplicação para vendas, onde divide o valor total pelo numero de parcelar e atribui as data dos pagamentos, gostaria que o amigo se possível demostrasse como fazer a impressão das mesmas, como se fosse um carnê de pagamento.
    Grato pela atenção.

  • Miguel

    Boa noite,
    Percorri o seu site, mas não encontro maneira de me comunicar consigo.

    Precisava da sua ajuda para criar uma base de dados para um condominio.

    Sem mais de Momento

  • OliveiraPH

    Ola meu amigo boa noite, eu estou com dificuldades em criar uma consulta com mais de 2 critérios por exemplo
    TENHO UMA CONSULTA QUE BUSCA POR DATA INICIO E DATA FINAL BLZA ATÉ AQUI O PROBLEMA E QUANDO CRIO MAIS UM CRITEIO NO CAMPO PRODUTO, PATA QUE A PESQUISA BUSQUE PELA DATA E O NOME DO PRODUTO DIGITADO, AI TUDO MAS SE EU NÃO DIGITAR O NOME DO PRODUTO ELE NÃO LISTA NADA E EU QUERIA QUE ELA LISTASSE TODOS OS PRODUTOS DA LISTA.

    COMO EU POSSO FAZER ISSO?

    OBRIGADO.

  • J.M.

    No critério do produto coloque: like “*” & Produto & “*”

    Produto é o campo no formulário onde digita o texto a pesquisar. Por isso no critério tem que colocar o caminho completo.

  • Markely

    Parabéns.

    Simples a explicação e ótimo resultado.

  • Ótimo website. Obrigado por compartilhar!