Ir para conteúdo

POWERED BY:

Arquivado

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

Lívio Bruno

Filtro em tabela

Recommended Posts

É o seguinte pessoal tenho um aplicativo com um banco de dados em access, um form com adotable, datasource, um dbgrid, três edits e um botão.

 

obs.: Minha tabela possui 4 campos: Conteudo, Ano, Mes e Dia.

 

Tenho o código abaixo num botão feito para fitrar informações da tabela:

 

var

StrFilter: string;

begin

DM.TBL_Acessos.Open;

StrFilter := Edit1.Text;

StrFilter := '(Ano=' + '''' + StrFilter + '''' + ')';

DM.TBL_Acessos.Filter := StrFilter;

DM.TBL_Acessos.Filtered := True;

 

 

O código fitra direitinho somente as informações digitadas no "edit1" do campo "Ano". Até aí tudo bem mas, o que eu quero é clicar no botão e o mesmo fitrar as informações dos 3 edits de uma vez ou seja, clico no botão e ele me retorna no dbgrid todo conteudo acessado no ano/mes/dia digitados.

 

Se alguém poder me ajudar... Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lívio não consegui entender muito bem sua dúvida, mas o que deu pra perceber é que você quer filtrar por ano com esse código, e quando você quer por Mês qual código você usa? ou o filtro é só por ano?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lívio não consegui entender muito bem sua dúvida, mas o que deu pra perceber é que você quer filtrar por ano com esse código, e quando você quer por Mês qual código você usa? ou o filtro é só por ano?

 

 

Bom... vou fazer de outra forma... esqueça isso que eu postei...

 

Quero filrar os dados de uma tabela da seguinte forma:

 

Obs.: Tenho um aplicativo com um DataModule com um AdoConnection se conectando com um banco de dados Access, uma tabela, um DataSource, um DBGrid, com os campos Conteudo e Data, um Edit e um botão.

 

Agora quero que ao digitar no edit, por exemplo: "2010/" e clicar em um botão. Só apareçam no DBGrid, registros do campo "Data" do ano de 2010. Aí se eu digitar após "2010/" o "11/" e clicar novamente no botão ele me retornaria os registros do ano de 2010 e do mês 11 e se eu digitar após "11/" o "01" e clicar novamente no botão, ele me retornaria os registros do ano de 2010, mês 11 e dia 01.

 

Deu pra entender melhor? Qualquer coisa me retorna!

 

Obs.: Dessa vez quero trabalhar com um único edit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ver assim:

 

DM.TBL_Acessos.Open;

DM.TBL_Acessos.Filter := ' Data like ' + QuotedStr('*' + Edit1.Text + '*');

DM.TBL_Acessos.Filtered := True;

 

PS: Detalhe da pegadinha em SQL seria ('%' + Edit1.Text + '%');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ver assim:

 

DM.TBL_Acessos.Open;

DM.TBL_Acessos.Filter := ' Data like ' + QuotedStr('*' + Edit1.Text + '*');

DM.TBL_Acessos.Filtered := True;

 

PS: Detalhe da pegadinha em SQL seria ('%' + Edit1.Text + '%');

 

 

Muito obrigado amigão!!!

 

Fiz assim e funcionou:

 

Var

Texto : String;

Begin

DM.TBL_Acessos.Close;

DM.TBL_Acessos.Open;

DM.TBL_Acessos.Filtered := False;

Texto := Edit1.Text;

DM.TBL_Acessos.Filter := ' Data like ' + QuotedStr('*' + Edit1.Text + '*');

DM.TBL_Acessos.Filtered := True;

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.