Sorguda bu günkü kayıtların gösterilmesi.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen Ertuğrul2025 »

Hayırlı günler. Delphi XE7 kullanıyorum. Yaptığım uygulamada butona basınca bu gün yaptığım kayıtları görmek istiyorum.
A21 Sütunu tabloda DateTime tanımlı. Aşağıdaki kod ile yapmaya çalışıyorum. Program çalışınca
hata vermiyor ama butona basınca bu günkü kayıtlarıda göstermiyor. Açaba nerede yalnış yapıyorum.
Bu konuda bana yardımcı olurmusunuz.

procedure TForm3.Button1Click(Sender: TObject);
begin
ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE A21 = GETDATE()');
ADOQuery2.Filtered:=true;
end;
ertank
Kıdemli Üye
Mesajlar: 1711
Kayıt: 12 Eyl 2015 12:45

Re: Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen ertank »

Merhaba,

Filter ile değil SQL ile yapmanız daha sağlıklı olacaktır.
Filtreleme için aşağıdaki şekilde deneyebilirsiniz. Sistemin tarih formatına göre FormatDateTime için düzenleme gerekebilir.

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
begin
  ADOQuery2.Filtered := False;
  ADOQuery2.Filter := 'A21 = ' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now()));
  ADOQuery2.Filtered := True;
end;
NOT: Kod test edilmedi.
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Re: Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen Ertuğrul2025 »

ertank yazdı: 25 Nis 2025 10:51 Merhaba,

Filter ile değil SQL ile yapmanız daha sağlıklı olacaktır.
Filtreleme için aşağıdaki şekilde deneyebilirsiniz. Sistemin tarih formatına göre FormatDateTime için düzenleme gerekebilir.

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
begin
  ADOQuery2.Filtered := False;
  ADOQuery2.Filter := 'A21 = ' + QuotedStr(FormatDateTime('yyyy-mm-dd', Now()));
  ADOQuery2.Filtered := True;
end;
NOT: Kod test edilmedi.
Teşekkür ederim hocam Allah razı olsun.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen freeman35 »

https://learn.microsoft.com/en-us/sql/t ... rver-ver16
Ertuğrul2025 yazdı: 25 Nis 2025 10:17 procedure TForm3.Button1Click(Sender: TObject);
begin
ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE A21 = GETDATE()');
ADOQuery2.Filtered:=true;
end;
işin içine saat te girdiği için boş dönüyor olabilir

Kod: Tümünü seç

ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE CONVERT (date, A21) = CONVERT (date, GETDATE())
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Ertuğrul2025
Üye
Mesajlar: 30
Kayıt: 08 Oca 2025 10:35

Re: Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen Ertuğrul2025 »

freeman35 yazdı: 25 Nis 2025 11:10 https://learn.microsoft.com/en-us/sql/t ... rver-ver16
Ertuğrul2025 yazdı: 25 Nis 2025 10:17 procedure TForm3.Button1Click(Sender: TObject);
begin
ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE A21 = GETDATE()');
ADOQuery2.Filtered:=true;
end;
işin içine saat te girdiği için boş dönüyor olabilir

Kod: Tümünü seç

ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE CONVERT (date, A21) = CONVERT (date, GETDATE())
Teşekkür ederim hocam Allah razı olsun.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Sorguda bu günkü kayıtların gösterilmesi.

Mesaj gönderen freeman35 »

Ertuğrul2025 yazdı: 27 Nis 2025 04:20
freeman35 yazdı: 25 Nis 2025 11:10 https://learn.microsoft.com/en-us/sql/t ... rver-ver16
Ertuğrul2025 yazdı: 25 Nis 2025 10:17 procedure TForm3.Button1Click(Sender: TObject);
begin
ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE A21 = GETDATE()');
ADOQuery2.Filtered:=true;
end;
işin içine saat te girdiği için boş dönüyor olabilir

Kod: Tümünü seç

ADOQuery2.Filter:=('SELECT * FROM HTF_KAYITLAR WHERE CONVERT (date, A21) = CONVERT (date, GETDATE())
Teşekkür ederim hocam Allah razı olsun.
Kusura bakmayın, aceleyle cevapladım, kontrol etmemişim. Yazdığım kod filtre için değil sql string olmalı

Kod: Tümünü seç

ADOQuery2.SQL.Text:='SELECT * FROM HTF_KAYITLAR WHERE CONVERT (date, A21) = CONVERT ( date, GETDATE() )';
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla