GARANTIR DESCONTO

Fórum BDGrid listar somente registros da data atual #420630

27/07/2012

0

Me perdoem galera por ainda ter tópicos meus abertos....mas me apareceu uma dúvida agorinha.

Como faço para um DBGrid listar somentes registros cadastrados na data atual?
Carlos Magno

Carlos Magno

Responder

Posts

27/07/2012

Joel Rodrigues

Você deverá fazer a consulta no banco de dados, resgatando apenas os registros desejados. Que banco você está usando?
Responder

Gostei + 0

27/07/2012

Carlos Magno

Estou usando paradox
Responder

Gostei + 0

27/07/2012

Joel Rodrigues

Cara, tenta alterar a propriedade FILTER da tabela, por exemplo, CAMPO = ´data´
Responder

Gostei + 0

27/07/2012

Benilton

Estou usando paradox


Meu amigo não perda tempo, tenta migrar para o firebird...
Responder

Gostei + 0

27/07/2012

Carlos Magno

Eu poderia migrar para o firebird, mas programa inicial não foi feito por mime esta todo em paradox. Só estou fazendo uma implementação.
Responder

Gostei + 0

27/07/2012

William

Como Joel mencionou tente filtrar assim:

clientdataset.filter := data =  + QuotedStr(DateToStr(date));


Date traz a data atual do sistema.
Responder

Gostei + 0

28/07/2012

Carlos Magno

Rsrsrsrsr....onde que eu coloco esse código, William?
Responder

Gostei + 0

28/07/2012

William

Bom depende de qual evento vc vai disparar o filtro, se for a partir de um button ou quando o usuário abrir o form:

FormCreate quando o sistema carrega o forma da consulta

ButtonClick quando o usuário clica no botão.

clientdataeset.filtered := false;
clientdataset.filter := data = + QuotedStr(DateToStr(date));
clientdateset.filtered := true;


Nesse caso o dataset é um ClientDataSet....
Responder

Gostei + 0

30/07/2012

Carlos Magno

Deu um erro aqui: Operator not applicable to this operand type;

Alterei da seguinte forma...so não sei se esta correto:

procedure Tfrm_servlist.FormCreate(Sender: TObject);
begin
  dm01.tbl_servico.Filtered := false;
  dm01.tbl_servico.Filter := OS_DATAIN = + QuotedStr(DateToStr(date));
  dm01.tbl_servico.Filtered := true;
end;
Responder

Gostei + 0

30/07/2012

Romulo Contro

tenta colocar datetimetostr...

ou ainda assim, vc pode tentar dar um formatdatetime
aí ficaria mais ou menos assim:

dm01.tbl_servico.Filter := QuotedStr(FormatDateTime(yyyy-mm-dd,now()))
ou entao
dm01.tbl_servico.Filter := QuotedStr(FormatDateTime(yyyy-mm-dd,date))
Responder

Gostei + 0

30/07/2012

Carlos Magno

Ta dando um erro na compilação...Project raised exception class EDatabaseError with message Incorrectly formed filter expression. Process stopped.
Responder

Gostei + 0

30/07/2012

Romulo Contro

vc tem que colocar o yyyy-mm-dd entre aspas... deve ser isso
Responder

Gostei + 0

30/07/2012

Romulo Contro

e faltou também o campo... OS_DATAIN = +
Responder

Gostei + 0

30/07/2012

Carlos Magno

Agora o erro é Operator not applicable to this operand type.
Responder

Gostei + 0

30/07/2012

William

Carlos seu campo é do tipo Date no banco de dados?

Esse código eu testei filtrando um campo do tipo date no Firebird.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar