01/04/2006

Filtrar por mês atraves de um combobox(Abril/2006).

Fala galera, blz?

É o seguinte, estou filtrando uma tabela de contas a pagar por mês através de um combobox, desta maneira:
if Combobox3.Text = ´Abril/2006´then
begin
 DM_Geral.IBDSContas.Close;
 DM_Geral.IBDSContas.SelectSQL.Clear;
 DM_Geral.IBDSContas.SelectSQL.Add(´Select ID_CONTAS,FORNECEDOR,DATA_PAGAMENTO,DATA_VENCIMENTO,VALOR_DOCUMENTO,SITUACAO,OBS From CONTASAPAGAR where extract(month from DATA_PAGAMENTO) = 04´);
 DM_Geral.IBDSContas.Open;
end;

Esta funcionando, só que eu gostaria que ao abrir o sistema o combobox já recebesse a data do computado do cliente, tipo assim hoje é 01/04/2006 então ao abrir a form de contas a pagar o combobox mostrasse Abril/2006. Quando fosse mês que vem 01/05/2006 o combobox recebesse automaticamente ´Maio/2006´ e já filtrando pelo mês.

Uso Delphi 7 + FireBird 1.5.2

Desde já agradeço.


Vitoreduardo

Respostas

02/04/2006

Thiago Vidal

nossa, por coincidência, eu tava justamente fazendo isso agora num sistema meu (Detalhe, madrugada de Sab p/ Dom, 04h53, acabei de chegar da balada)

supondo que o combo com o mes seja cmbMes: TComboBox, e o edit para o ano, seja um edAno: TSpinEdit.

uses DateUtils;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  cmbMes.ItemIndex := MonthOf(Now-1);
  edAno.Value := YearOf(Now);
end;



Responder Citar

02/04/2006

Vitoreduardo

Valeu thiago_vidal.

Funcionou blz.


Responder Citar

02/04/2006

Vitoreduardo

Valeu thiago_vidal. Funcionou blz.


tava esquecendo por um acaso vc sabe como pesquisar por data no evento OnChange do Edit.


Responder Citar

03/04/2006

Vitoreduardo

Um probleminha aqui.

alguém sabe como resolver esse problema.

Fiz o código desse jeito
Combobox3.ItemIndex := MonthOf(Now-30);

Esse código esta no OnCreate do form.

Mais acontece que quando for, por exemplo dia 31/05/2006
no combobox exibi Junho/2006.
Já coloquei 31 mais não deu tb.

Desde já agradeço.


Responder Citar