PESQUISA COMPLICADA PARTE03
Ai galera, graças a Deus e vcs consegui resolver o problema da consulta, agora tem um novo problema:
Se na Tabela tiver um campo sem registro, Ex.: Pesquisei na tabela um registro por nome (Marcelino) porém no cadastro do Marcelino falta o cep, então Marcelino ñ apareçe na pesquisa.
Veja o código:
Data1.RecordSource = "Select * from TblCadastroAluno Where Nome Like '" & txtNome.Text & "*' And Bairro Like '" & txtBairro.Text & "*' And NomeConjuge Like '" & txtConjuge.Text & "*'And Escolaridade Like '" & txtEscolaridade.Text & "*'And Sexo Like '" & txtSexo.Text & "*'And Cidade Like '" & CboCidade.Text & "*' And Estado Like '" & CboEstado.Text & "*' And EstadoCivil Like '" & txtEstadoCivil.Text & "*'" & " order by Nome"
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
Como posso burlar este problema???
Marcelino Neto
Access2000
VB6.0
Dao
Se na Tabela tiver um campo sem registro, Ex.: Pesquisei na tabela um registro por nome (Marcelino) porém no cadastro do Marcelino falta o cep, então Marcelino ñ apareçe na pesquisa.
Veja o código:
Data1.RecordSource = "Select * from TblCadastroAluno Where Nome Like '" & txtNome.Text & "*' And Bairro Like '" & txtBairro.Text & "*' And NomeConjuge Like '" & txtConjuge.Text & "*'And Escolaridade Like '" & txtEscolaridade.Text & "*'And Sexo Like '" & txtSexo.Text & "*'And Cidade Like '" & CboCidade.Text & "*' And Estado Like '" & CboEstado.Text & "*' And EstadoCivil Like '" & txtEstadoCivil.Text & "*'" & " order by Nome"
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
Como posso burlar este problema???
Marcelino Neto
Access2000
VB6.0
Dao
'cara vc pode por assim
if txtcep="" then
txtcep="00000-000"
endif
a'i se o cara nao preencher a combo ele pesquiza por 00000-000
'ou vc pode por filtros alternativos
'tipo poe um options com o nome abaixo
'nome caption value
'opt1 Nome true
'opt2 bairro false
'opt3 conjuge false
'e assim vai ate dar todos ai no botao vc poe assim
if opt1.value=true then
Data1.RecordSource = "Select * from TblCadastroAluno Where Nome Like '" & txtNome.Text & "*'"
data1.refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
else if opt2.value=true then
data1.RecordSource = "Select * from TblCadastroAluno Where Bairro Like '" & txtBairro.Text & "*'"
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
'e assim por diante vc nao precisa de todos os dados pra preencher mais ve ai se te serve assim eu utilizo filtros assim e nao tenhu problemas.
endif
fui
if txtcep="" then
txtcep="00000-000"
endif
a'i se o cara nao preencher a combo ele pesquiza por 00000-000
'ou vc pode por filtros alternativos
'tipo poe um options com o nome abaixo
'nome caption value
'opt1 Nome true
'opt2 bairro false
'opt3 conjuge false
'e assim vai ate dar todos ai no botao vc poe assim
if opt1.value=true then
Data1.RecordSource = "Select * from TblCadastroAluno Where Nome Like '" & txtNome.Text & "*'"
data1.refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
else if opt2.value=true then
data1.RecordSource = "Select * from TblCadastroAluno Where Bairro Like '" & txtBairro.Text & "*'"
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Registro não foi localizado!", vbInformation, "CET2007"
cmdPesquisar.SetFocus
Data1.RecordSource = "Select * From TblCadastroAluno order by Nome"
Data1.Refresh
End If
'e assim por diante vc nao precisa de todos os dados pra preencher mais ve ai se te serve assim eu utilizo filtros assim e nao tenhu problemas.
endif
fui
Cara Amigo, o meu problema ñ é exatamente o cep, mas sim qualquer campo do registro que tiver nulo, a sql, é extamente o q preciso, somente ñ vem na pesquisa os registros q tiver qualquer campo nulo!!!
Dentro desta sql eu queria adaptar a condição de mostrar todos os registros...
Marcelino Neto
Dentro desta sql eu queria adaptar a condição de mostrar todos os registros...
Marcelino Neto
Para o Sql Server trate com a função ISNULL. Nesse exemplo se o cep for nulo vai substituir por zero.
Select ISNULL(cep,0) from TblCadastroAluno Where ....
Select ISNULL(cep,0) from TblCadastroAluno Where ....
Tópico encerrado , respostas não são mais permitidas