Ir para conteúdo

POWERED BY:

Arquivado

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

Orion Leon

Problema ao filtrar em DBGrid

Recommended Posts

Boa tarde pessoal,

 

Eu estou programando no Delphi 2005 e estou enfrentando um problema na hora de filtrar os dados em um DBGrid.

 

Eu tenho um DBGrid Movimentação de Caixa, e quero, através de um ComboBox com todos os meses do ano, filtrar as movimentações de caixa do mês que eu especificar. Quando eu clico no CheckBox Aplicar Filtro é o momento que acontece a filtragem direto no DBGrid.

 

Segue o código que eu estou aplicando no evento OnClick do CheckBox:

 

procedure TFormPrincipal.CbxFiltroClick(Sender: TObject);
begin
  If (CbxFiltro.Checked = True) then
    begin
    If (CbFiltroMes.Text <> 'TODOS') then
      begin
      Dm.TbMovCaixa.Filtered := False;
      Dm.tbMovCaixa.Filter := 'Month(Data) = '''
      + IntToStr(CbFiltroMes.ItemIndex) + '''';
      Dm.tbMovCaixa.Filtered := True;
      end;
    end;
end;

Acontece que quando eu escolho um mês no ComboBox e clico em Aplicar Filtro no CheckBox, dá a mensagem de erro conforme abaixo.

 

Imagem Postada

 

Gostaria muito de uma ajuda dos amigos.

Ficarei muito grato. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um teste assim :

 

Dm.TbMovCaixa.Filtered := False;

Dm.tbMovCaixa.Filter := 'Month(Data) = ' + QuotedStr(CbFiltroMes.text);

Dm.TbMovCaixa.Filtered := True;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um teste assim :

 

Dm.TbMovCaixa.Filtered := False;

Dm.tbMovCaixa.Filter := 'Month(Data) = ' + QuotedStr(CbFiltroMes.text);

Dm.TbMovCaixa.Filtered := True;

 

Olá amigo,

 

Acontece que no meu ComboBox os meses estão de Janeiro a Dezembro. E no meu banco de dados os meses estão no formato dd/mm/yyyy. Então não é possível fazer esse tipo de filtro.

Obrigado e fico no aguardo de uma ajuda os amigos.

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.