Buscando através de seleção no combo com o edit

Delphi

Firebird

15/03/2016

Boa tarde amigos,

estou precisando de auxilio em uma parte de pesquisa no meu sistema. na tela de gerenciamento onde possui os cadastros que são realizados eu possuo um combo com o nome de pesquisar por e um edit, o que eu quero que faça é que ao selecionar no combo (ex: nome), ao digitar no edit irá buscar pelo nome do paciente, se for CPF pelo cpf e assim em diante ja tentei varias maneiras de encontrar na internet mas não obtive sucesso.

Me ajudem ai por favor
Thiago Santos

Thiago Santos

Curtidas 0

Melhor post

Carlos Soares

Carlos Soares

15/03/2016

Eu uso da seguinte forma, eu tenho um ComboBox que é alimentado com o Display Name do Field do ClientDataSet, conforme a seleção eu monto um Comando SQL, no qual eu coloco na propriedade Filter do ClientDataSet. Assim efetuando um filtro e trazendo apenas os resultados que eu quero. Não é muito difícil só precisa de bastante controle, pq você terá que efetuar validações de tipos de campos etc. para montar o comando SQL
GOSTEI 1

Mais Respostas

Raimundo Pereira

Raimundo Pereira

15/03/2016

Boa tarde,

Esse Combobox será tipo um filtro, seus valores padrão ser nome e CPF.
o nome deste componente será CBX_TIPO

Tendo também o edit o nome deste componente será Edt_Pesq

Monta seu select
SuaQuery.close;
SuaQuery.sql.text:='select * from suatabela';
SuaQuery.open;



Depois realiza um filtro
SuaQuery.Filtered := False;
SuaQuery.Filter :=CBX_TIPO.text +' like ' + #39 + '%' + Edt_Pesq.Text + '%' + #39;
SuaQuery.Filtered := True;



Não testei o código, mas espero que ajude
GOSTEI 1
Thiago Santos

Thiago Santos

15/03/2016

O QUE SERIA ESSE #39
GOSTEI 0
Marco Antônio

Marco Antônio

15/03/2016

#39 = Aspas simples.

Traduzindo

SuaQuery.Filter := CBX_TIPO.text +' like ' + #39 + '%' + Edt_Pesq.Text + '%' + #39; // CPF like '%XXXyyyXXXyy%'
GOSTEI 0
Thiago Santos

Thiago Santos

15/03/2016

basicamente eu vou colocar

qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;

e esse cpf like '%XXXyyyXXXyy%'
GOSTEI 0
Thiago Santos

Thiago Santos

15/03/2016

basicamente eu vou colocar

qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;

e esse cpf like '%XXXyyyXXXyy%'
GOSTEI 0
POSTAR