Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

halfcab

Access - Campo de busca não funciona

Recommended Posts

Bem galera, primeira vez que estou postando aqui. Esgotaram todas as minhas tentativas kkkkkkk

Estou criando um banco de dados para a empresa do meu pai. Consegui praticamente tudo e tals, há somente um empecilho.

Quando tem a lista do cliente ou fornecedores, criei um código aonde o usuário irá digitar o nome da empresa ou tag ou cnpj (em campos separados) e essa lista irá filtrar e caso encontre o desejado, basta dar 2 cliques e abre outro formulário com todas as informações necessárias para o usuário poder entrar em contato com o mesmo.

Atualmente, em meu código, essa parte de cliques, abre um e fecha outro está indo muito bem, o problema mesmo é os campos de busca que ao digitar, nada acontece. O estranho que peguei esse código de outro banco de dados praticamente idêntico que eu fiz, e nele funciona perfeitamente. Mas nesse, nenhuma das duas listas estão funcionando, segue abaixo o código:

 

 

 

Option Compare Database
Option Explicit

Dim VarTecla

' FORMULÁRIO
' ESTÁ OK

Private Sub fechar_Click()
DoCmd.Close acForm, "ListaCliente", acSaveYes
End Sub

' BOX DE PESQUISA E LISTAGEM
' ESTÁ OK

Private Sub limpar_Click()
txt_empcliente.SetFocus
txt_empcliente = Null
box_listacliente.Requery
End Sub

' BOX DE LISTAGEM QUE SAI DA LISTA E VAI PARA O FORMULÁRIO
' ESTÁ OK

Private Sub box_listacliente_DblClick(Cancel As Integer)
DoCmd.OpenForm "FormClient", acNormal, "", "[iD do Cliente]=[Forms]![ListaCliente]![box_listacliente]", , acNormal
DoCmd.Close acForm, "ListaCliente"
End Sub

' AO PRESSIONAR A TECLA

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then
VarTecla = 1
End If
End Sub

' BOX DE LISTAGEM

Private Sub Form_Open(Cancel As Integer)
Me.KeyPreview = True
Me.box_listacliente = ""
End Sub

' BOX DE PESQUISA EMPRESA

Private Sub txt_empcliente_AfterUpdate()
box_listacliente.Requery
End Sub

' BOX DE PESQUISA EMPRESA

Private Sub txt_empcliente_Change()
If VarTecla = 1 Then
VarTecla = 0
Else
Me.Recalc
Me.txt_empcliente.SelStart = 255
End If
End Sub

' BOX DE PESQUISA CNPJ

Private Sub txt_cnpjcliente_AfterUpdate()
box_listacliente.Requery
End Sub

' BOX DE PESQUISA CNPJ

Private Sub txt_cnpjcliente_Change()
If VarTecla = 1 Then
VarTecla = 0
Else
Me.Recalc
Me.txt_cnpjcliente.SelStart = 255
End If
End Sub

 

 

Esse é o layout da lista:

 

8484sO2.jpg

 

O bloco em vermelho fica os cnpj, os ocultei por obviamente, segurança interna.

Estou achando muito estranho, pois no meu outro formulário eu consigo tranquilamente fazer isso...

Espero que consigam me ajudar :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você consegue postar o SQL que é a fonte de Dados do grid

 

não manjo muito cara. O que seria a fonte de dados do grid? a fonte de controle?

 

Se sim, não criei nenhum SQL para eles...

 

A Origem da linha está assim: SELECT [Registro].[iD do Cliente], [Registro].[EMPRESA], [Registro].[CNPJ] FROM [Registro] ORDER BY [iD do Cliente], [EMPRESA], [CNPJ];

 

Não sei se influencia em algo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

não manjo muito cara. O que seria a fonte de dados do grid? a fonte de controle?

 

Se sim, não criei nenhum SQL para eles...

 

A Origem da linha está assim: SELECT [Registro].[iD do Cliente], [Registro].[EMPRESA], [Registro].[CNPJ] FROM [Registro] ORDER BY [iD do Cliente], [EMPRESA], [CNPJ];

 

Não sei se influencia em algo...

 

O problema é que na consulta que alimenta o formulário não está a ser feito qualquer filtro. Experimenta algo assim:

SELECT [Registro].[ID do Cliente], [Registro].[EMPRESA], [Registro].[CNPJ] FROM [Registro] WHERE [Registro].[EMPRESA] LIKE '*' & [Forms]![NomeDoFormulario].[txtEmpresa] & '*' OR [Registro].[CNPJ] LIKE '*' & [Forms]![NomeDoFormulario].[txtCNPJ] & '*' ORDER BY [ID do Cliente], [EMPRESA], [CNPJ];

Alterando o 'NomeDoFormulario' e das caixas de texto para os nomes que deste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.