Ir para conteúdo

Arquivado

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

RodriAndreotti

Pesquisa em SQL dá erro

Recommended Posts

Bom dia galera,

 

Estou desenvolvendo um banco de dados aqui, porém estou com problemas no campo de pesquisa do form (que usa uma consulta SQL, abaixo vem a imagem de como está o formulário:

 

Formulário

 

Então...

"Buscar por:" o nome do campo é: cb_tipo

"Procurar: " o nome do campo é: txt_busca

"Resultados:" o nome do campo é: lst_result

 

No evento OnChange do campo txt_busca tenho a seguinte rotina:

 

 

Private Sub txt_busca_Change()
	Dim tipo As String
	tipo = Me.cb_tipo.Value
	If tipo = Null Then
		MsgBox "Erro, selecione o filtro de busca 'buscar por' antes de digitar um nome.", vbCritical, "Erro na pesquisa"
	Else
		If Me.txt_busca.Value = "" Then
			Me.lst_result.RowSource = ""
		Else
			   Me.lst_result.RowSource = "SELECT dados_pessoais.*, dados_cobrança.* FROM dados_pessoais INNER JOIN dados_cobrança ON dados_pessoais.CPF = dados_cobrança.CPF WHERE dados_pessoais." & tipo & " like '" & Me.txt_busca.Value & "*'"
		End If
	End If
End Sub

O problema que estou tendo é o seguinte, independente do valor que digito no campo txt_busca, ele sempre faz um select a partir do registro selecionado até o último, nunca com a cláusula que especifiquei, porém quando digito a mesma cláusula numa consulta separada (só substituindo o nome do campo, por um nome qualquer) ele consegue realizar a consulta.

 

Alguém poderia me dar uma luz????

 

Desde já, muito obrigado desde já.

 

 

 

[]s.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera, consegui resolver o problema de uma forma um pouco diferente, usando uma consulta separada e buscando o nome no compo do fomrulário, agora tenho um outro problema,

 

não consigo passar o tipo de pesquisa para a cláusula agora, ou seja, não consigo fazer com que a query que criei faça a pesquisa por nome por telefone, enfim...

 

o código que usei para a query foi o seguinte:

 

SELECT dados_pessoais.*, dados_cobrança.*, 'dados_pessoais.Nome', *
FROM dados_pessoais INNER JOIN dados_cobrança ON dados_pessoais.CPF=dados_cobrança.CPF
WHERE dados_pessoais.Nome Like forms!dados_cobrança.txt_busca.value & '*';

O form está quase fazendo o que quero, só falta mesmo fazer com que ele possa realizar a pesquisa por outros campos.

 

já tentei o seguinte:

 

...WHERE dados_pessoais.forms!dados_cobrança.cb_tipo.value Like forms!dados_cobrança.txt_busca.value & '*';

porém sem sucesso...

 

Se alguém puder me dar um Help agradeço

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.