
Sormak istediğim şey şu...
bir form'umdaki kayıtları iki tarih arasında listelemek istiyorum... basit bir kodu biliyorsanız paylaşır mısınız ?
Table BDE nesnelerinde kullandım :/
Kod: Tümünü seç
function fn_DateTimeToSqlServer(dates: TDateTime): string;
var
tempstr: string;
begin
tempstr := FormatDateTime('dd.mm.yyyy', dates);
result := ' ''' + copy(tempstr, 7, 4) + '-' + copy(tempstr, 4, 2) + '-' +
copy(tempstr, 1, 2) + ''' ';
end;
Kod: Tümünü seç
function fn_AddTarihFilter(aField: string; aTar1: TDateTime;
aTar2: TDateTime = 0): string;
var
d1: string;
d2: string;
begin
d1 := fn_DateTimeToSqlServer(aTar1);
d2 := fn_DateTimeToSqlServer(aTar2);
result := ' ';
if (aTar1 <= 0) and (aTar2 <= 0) then
exit;
if (aTar1 > aTar2) and (aTar2 > 0) then
exit;
if (aTar1 <= 0) and (aTar2 > 0) then
begin
result := ' AND ( ' + aField + '<=' + d2 + ' and NOT ' + aField +
' IS null ) ';
end
else if (aTar1 > 0) and (aTar2 <= 0) then
begin
result := ' AND ( ' + aField + '>=' + d1 + ' and NOT ' + aField +
' IS null ) ';
end
else
begin
result := ' AND ( ' + aField + ' BETWEEN ' + d1 + ' AND ' + d2 + ' ) ';
end;
end;