Buscando através de seleção no combo com o edit
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
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
Curtidas 0
Melhor post
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
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
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
15/03/2016
O QUE SERIA ESSE #39
GOSTEI 0
Marco Antônio
15/03/2016
#39 = Aspas simples.
Traduzindo
SuaQuery.Filter := CBX_TIPO.text +' like ' + #39 + '%' + Edt_Pesq.Text + '%' + #39; // CPF like '%XXXyyyXXXyy%'
Traduzindo
SuaQuery.Filter := CBX_TIPO.text +' like ' + #39 + '%' + Edt_Pesq.Text + '%' + #39; // CPF like '%XXXyyyXXXyy%'
GOSTEI 0
Thiago Santos
15/03/2016
basicamente eu vou colocar
qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;
e esse cpf like '%XXXyyyXXXyy%'
qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;
e esse cpf like '%XXXyyyXXXyy%'
GOSTEI 0
Thiago Santos
15/03/2016
basicamente eu vou colocar
qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;
e esse cpf like '%XXXyyyXXXyy%'
qryPacientes.Filter := cbpesquisapaciente.text + 'like' + #39 + '%' + edtpesquisapaciente.text + '%' + #39;
e esse cpf like '%XXXyyyXXXyy%'
GOSTEI 0