Tarih Bulma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bu şekilde devam ediyorum koşullar çalışıyor tekrar bakarsanız sevinirim.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE RO5BAKTAR BETWEEN :T1 AND :T2';
Query1.ParamByName('T1').AsDateTime := StartOfAMonth(YearOf(Date),MonthOf(Date));
Query1.ParamByName('T2').AsDateTime := EndOfAMonth(YearOf(Date),MonthOf(Date));
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (5 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end
Else
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE ROILKBAKTAR BETWEEN :T3 AND :T4';
Query1.ParamByName('T3').AsDateTime := StartOfAMonth(YearOf(Date),MonthOf(Date));
Query1.ParamByName('T4').AsDateTime := EndOfAMonth(YearOf(Date),MonthOf(Date));
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (İlk Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end;
End;
end.
Merhaba,
viewtopic.php?t=14007
linkinde substring ile tarih parçalama ile ilgili bir öneride bulunmuştum. Onu inceleyin belki işinize yarayabilir.
Kolay gelsin.
viewtopic.php?t=14007
linkinde substring ile tarih parçalama ile ilgili bir öneride bulunmuştum. Onu inceleyin belki işinize yarayabilir.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Sahi aklıma şuan geldi de Encodedate ve decodedate fonksiyonları ta delphi 2 den beri var. onları da kullanabilirsiniz.
Monthof yerine yukarıdaki fonksiyonları da kullanabilirsiniz.
Bu fonksiyonlar dateutils değil sysutils in içinde.
Kolay gelsin.
Monthof yerine yukarıdaki fonksiyonları da kullanabilirsiniz.
Bu fonksiyonlar dateutils değil sysutils in içinde.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Merhaba,
yukarıda anlaşıldığı şekilde decodedate tarih olarak girilen bir veriyi yıl,ay,gün olarak parçalayıp size word olarak döndürüyor.
yukarıdaki örnekte ay değişkenin sonucu size 3 olarak gelecektir.
Kolay gelsin.
Kod: Tümünü seç
procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
tarih:tdatetime;
gun,ay,yil:word;
begin
tarih:=strtodate('23.03.2006');
decodedate(tarih ,yil,ay,gun);
showmessage(inttostr(ay ));
end;
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Bu şekilde yaptım ama olmadı sorgu çalışmıyor.Sorgu ilk tarihten alıp ayın son tarihine kadar her ay için dönecek.
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE RO5BAKTAR BETWEEN :T1 AND :T2';
Query1.ParamByName('T1').AsDateTime :=Date;
Query1.ParamByName('T2').AsDateTime :=Date + (28/30/31);
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (5 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end
Else
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE ROILKBAKTAR BETWEEN :T3 AND :T4';
Query1.ParamByName('T3').AsDateTime :=Date;
Query1.ParamByName('T4').AsDateTime :=Date + (28/30/31);
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (İlk Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end;
End;
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE RO5BAKTAR BETWEEN :T1 AND :T2';
Query1.ParamByName('T1').AsDateTime :=Date;
Query1.ParamByName('T2').AsDateTime :=Date + (28/30/31);
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (5 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end
Else
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE ROILKBAKTAR BETWEEN :T3 AND :T4';
Query1.ParamByName('T3').AsDateTime :=Date;
Query1.ParamByName('T4').AsDateTime :=Date + (28/30/31);
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (İlk Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end;
End;
Burda insanlardan direk kod beklersen programcılık olarak pek birşey katedemezsin. 2 sayfa boyunca sana temel olarak lazım olan şeyler söylendi, geri kalanı senin programcılığın ile harmanlanıp bir döngü kurmaya kaldı. Eğer kendinizi geliştirmek istiyorsanız, bu tür şeyler için sizin uğraşıp hazır kod beklememeniz gerekiyor 

Aslında Hazır kod beklemiyorum ama bazı yerlerde takılıyorum ve sonucu bulamıyorum bu sebepden dolayıda sizlerin yardımına ihtiyacım oluyor.Şimdi uğraştığım ve yapamadığım bu kod için yardımınızı bekliyorum yardım ederseniz çok sevinirim etmezsenizde yinede sağolun.
yazmış olduğunuz kod Delphi6 da işimi görüyordu ama Delphi5 de tıkandım ve bu komutların yerine başka komut bulamadım.
[/code]
Kod: Tümünü seç
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE RO5BAKTAR BETWEEN :T1 AND :T2';
Query1.ParamByName('T1').AsDateTime :=Date;
Query1.ParamByName('T2').AsDateTime :=Date + (28/30/31);
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage(Query1ROMUSADI.Text);
ShowMessage('Bu Ay (5 Mikron Sediment) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end
Else
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM ROKAYIT WHERE ROILKBAKTAR BETWEEN :T3 AND :T4';
Query1.ParamByName('T3').AsDateTime :=Date; // Buraya ayın ilk tarihini
Query1.ParamByName('T4').AsDateTime :=Date + (28/30/31); // Burayada ayın son tarihini buldurmam gerekiyor
Query1.Open;
if Query1.Eof=false then
Begin
ShowMessage('Bu Ay (İlk Karbon) Bakım yapılması gereken müşteriler mevcuttur !!! ');
end;
End;
Kod: Tümünü seç
Query1.ParamByName('T3').AsDateTime := StartOfAMonth(YearOf(Date),MonthOf(Date));
Query1.ParamByName('T4').AsDateTime := EndOfAMonth(YearOf(Date),MonthOf(Date));
Merhaba,
Naile Hanım'ın dediği gibi bu pilav çok su çekti.
Şimdi bir an için her şeyi unutun.
1 paradadoks tablosunu bde ile ve query ile kullanıyorsunuz.
aşağıdaki tarihlerden
günün tarihi ne olursa olsun. 2006 nın 3.ayında bu sorguyu kullandığımda bana 2,3,4,5 kayıt nolu tarihleri göstersin diyorsanız. Sizin istediğiniz olacaktır.
Bir paradadoks dosyasına yukarıdileri girip. Aşağıdaki sorguyu kullanırsanız. istediğinizi verecektir.
Kolay gelsin.
Naile Hanım'ın dediği gibi bu pilav çok su çekti.
Şimdi bir an için her şeyi unutun.
1 paradadoks tablosunu bde ile ve query ile kullanıyorsunuz.
aşağıdaki tarihlerden
Kod: Tümünü seç
kno tarih
---- ------
1 25.01.2006
2 01.03.2006
3 15.03.2006
4 27.03.2006
5 28.03.2006
6 01.04.2006
7 31.10.2006
8 01.03.2007
Bir paradadoks dosyasına yukarıdileri girip. Aşağıdaki sorguyu kullanırsanız. istediğinizi verecektir.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
QUERY1.CLOSE;
QUERY1.SQL.Clear;
QUERY1.SQL.Add('SELECT * FROM OZCANK ');
QUERY1.SQL.Add(' WHERE EXTRACT(MONTH FROM TARIH)=EXTRACT(MONTH FROM CAST(:BUGUN AS DATE ))');
QUERY1.SQL.Add(' AND EXTRACT(YEAR FROM TARIH)=EXTRACT(YEAR FROM CAST(:BUGUN AS DATE ))');
QUERY1.ParamByName('BUGUN').AsDate:=DATE;
QUERY1.Open;
end;
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Merhaba,
Kolay gelsin.
Düzeltme : @bLue aLonE hocamızın uyarısı üzerine Yalnız kelimesini düzelttim. Kendisine uyarısı için teşekkür ediyorum.
Sorununuzu halletmenize sevindim. Yalnız sorgunuz çalışıyor da nasıl çalışıyor bir de onu belirtip son noktayı koysaydınız. Böyle sorunu olan bir arkadaşımız bari çözümün ne olduğunu bilirdi.ozcank yazdı:Emeği geçen tüm arkadaşlarıma çok teşekkür ediyorum.Sorgum çalışıyor.
Kolay gelsin.
Düzeltme : @bLue aLonE hocamızın uyarısı üzerine Yalnız kelimesini düzelttim. Kendisine uyarısı için teşekkür ediyorum.
En son ofenX tarafından 03 Mar 2006 06:28 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08