begin
Urunler.Close;
Urunler.SQL.Clear;
Urunler.SQL.Add('SELECT * FROM URUN');
Urunler.SQL.Add('Where URUNADIADI');
Urunler.SQL.Add('And TARIH BETWEEN :Tarih1 And :Tarih2 Order By ID');
Urunler.ParamByName('Tarih1').AsDate := StrToDate('01.05.2015');
Urunler.ParamByName('Tarih2').AsDate := StrToDate('02.05.2015');
Urunler.Prepared := True;
Urunler.Open;
if Not IsEmpty then
begin
end
else
begin
end;
[url][/url]
IncDay fonksiyonu verilen tarihin bir gün ilerisini döndürür(Yada 2. parametresi kullanılarak istenilen gün kadar sonrasını).
30 gün için yapılacaksa, 1'den 30'a kadar bir döngü ile IncDay kullanılarak çözülebilir.
SimaWB yazdı:IncDay fonksiyonu verilen tarihin bir gün ilerisini döndürür(Yada 2. parametresi kullanılarak istenilen gün kadar sonrasını).
30 gün için yapılacaksa, 1'den 30'a kadar bir döngü ile IncDay kullanılarak çözülebilir.
Hocam bilgi için teşekkür ederim;
IncDay araştırdım, tarzınız değil biliyorum ama ben şansımı deneyeceğim takıldığım nokta döngü, 30 gün kurgu konusunda yardımcı olabilirseniz sevinirim...
var
SAY :integer;
procedure TForm2.Button1Click(Sender: TObject);
procedure Sorgula(tarih:TDate);
var sorgu :String;
Begin
with IBQuery1 do
Try
if Active then Close;
SQL.Clear;
SQL.Add('Select * From AAAA Where TARIH='+QuotedStr(FormatDateTime('yyyy-mm-dd',Tarih1.date)));
Open; Last;
if RecordCount=0 then
tarih1.Date:=Tarih1.Date+1;;
if RecordCount>0 then
Begin
ShowMessage('Sonucun Bulundugu Döngü Sayısı : '+IntToStr(SAY));
SAY:=31;
end;
Finally
End;
End;
begin
with IBQuery1 do
Try
if Active then Close;
SQL.Clear;
SQL.Add('Select * From AAAA Where TARIH='+QuotedStr(FormatDateTime('yyyy-mm-dd',Tarih1.date)));
Open; Last;
if RecordCount=0 then
repeat
Sorgula(incday(tarih1.Date,1));
say:=say+1;
until SAY>=30;
Finally
End;
end;
Düzeltme Nedeni; @esistem'in uyarısı üzerine Open; dedikten Sonra Last; ifadesi eklendi.
En son xozcanx tarafından 28 May 2015 05:14 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Evet hocam haklısınız ben kullanıyorum fakat sonuna Last; diyerek son kayda ulaşmasını sağlıyorum ki tam sonucu alayım. dediğiniz gibi bu ifadeyi kullanmazsam fazla sonuç geldiği zamanlarda sonucu eksik gösteriyor. Uyarı için Teşekkürler.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..