Fórum Pesquisa por data Delphi #616871
09/10/2021
0
Tenho uma tabela com a data de validade de uma taxa
Validade Taxa
01/10/2021 1,50
02/10/2021 1,45
03/10/2021 1,52
06/10/2021 1,39
07/10/2021 1,88
08/10/2021 1,89
Preciso encontrar a taxa para a data 05/10/2021 se não encontrar preciso da data menor ou igual, mas não consigo seguir adiante com o código.
Código
Procedure Tfrmteste.Button1Click(Sender: TObject);
var
datanf:Tdatetime;
begin
datanf:=strtodate(edit1.text);
dm.QryTaxasb3.Active;
dm.QryTaxasb3.sql.clear;
dm.QryTaxasb3.sql.add('Select * From Taxasb3 where Datainicio<='+QuotedStr(FormatDateTime('DD.MM.YYYY',datanf)));
dm.QryTaxasb3.open;
end;
Validade Taxa
01/10/2021 1,50
02/10/2021 1,45
03/10/2021 1,52
06/10/2021 1,39
07/10/2021 1,88
08/10/2021 1,89
Preciso encontrar a taxa para a data 05/10/2021 se não encontrar preciso da data menor ou igual, mas não consigo seguir adiante com o código.
Código
Procedure Tfrmteste.Button1Click(Sender: TObject);
var
datanf:Tdatetime;
begin
datanf:=strtodate(edit1.text);
dm.QryTaxasb3.Active;
dm.QryTaxasb3.sql.clear;
dm.QryTaxasb3.sql.add('Select * From Taxasb3 where Datainicio<='+QuotedStr(FormatDateTime('DD.MM.YYYY',datanf)));
dm.QryTaxasb3.open;
end;
Alessandro Carvalho
Curtir tópico
+ 0
Responder
Post mais votado
09/10/2021
Procedure Tfrmteste.Button1Click(Sender: TObject); var nTaxa: float; begin nTaxa := GetTax( strtodate(edit1.text) ); end;
função para retornar a taxa:
function GetTax( datanf: TDateTime ): float;
begin
Result := 0;
dm.QryTaxasb3.Close; // você precisa fechar o dataset
dm.QryTaxasb3.Sql.Clear;
dm.QryTaxasb3.Sql.Add('select top 1 campo_taxa from taxasb3');
dm.QryTaxasb3.Sql.Add('where datainicio <= ' + QuotedStr(FormatDateTime('DD.MM.YYYY',datanf)));
dm.QryTaxasb3.Sql.Add('order by datainicio desc');
dm.QryTaxasb3.Open;
if not dm.QryTaxasb3.Eof then
Result := dm.QryTaxasb3.FieldByName('campo_taxa').AsFloat;
dm.QryTaxasb3.Close;
end;
se for realmente usar uma função para retornar a taxa, sugiro criar o componente de acesso a dados em tempo de execução, dentro da função.
Emerson Nascimento
Responder
Gostei + 1
Mais Posts
10/10/2021
Alessandro Carvalho
Emerson Nascimento
Deu certo, obrigado pela ajuda.
Deu certo, obrigado pela ajuda.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)