Monthly Archives: Março 2012

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