tarih alanında sadece yılı almak

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

tarih alanında sadece yılı almak

Mesaj gönderen true_false »

merhabalar
ürün tablosu

Kod: Tümünü seç

[b]sezon[/b]------------[b]dikim_tarihi[/b]
    BAHAR                        10.10.2004 
    GÜZ                            11.11.2003 
    KIŞ                             12.12.2002 
böyle bir tablom var
yapmak istediğim
sezon ile tarih alanınının yıl bölümünü birleştirip tek kayıt gibi göstermek ve cxgridin groupbybox özelliği ile filtreleme yapmak
örnek

Kod: Tümünü seç

SEZON
BAHAR 2004
teşekkürler.

sezon=string
dikimtarihi =datetime
type
Tform1 = class(Tform)
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

merhaba

Mesaj gönderen pro_imaj »

hocam şöyle yapabilrsiniz.

Zaten tarih alanı belli
10 karakter
sen copy komutu ile bunu yapabilrsin yani.
örn

Kod: Tümünü seç

edit4.Text:='%'+copy (floattostr((topisk*100)/ttut),1,2);
buradaki 1,2
1 karakterden 2. karaktere kadar copyala diyor.
sende bunu 6,10 yaparsan çözmüş olursun.

Saygılarımla
başarılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

sana kodu yazayım hocam

Mesaj gönderen pro_imaj »

geç olmuştu hemen acele yaptım
şöyle yazacaksın üstad.

Kod: Tümünü seç


edit4.Text:=copy (dikim_tarihi.text),6,2); 
:D
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

hocam kusura bakmaya bu konuda baya bi uğraşmıştım tıkandığım yerde size sorayım dedim
bi alanım lookoup olduğu için tıkanmıştım ama kısa bi süre içerisinde çözdüm ilgi ve alakn için saol belki ilerde işine yarar diye kodu gönderiyorum
ilk önce tablomda calculuted alan oluşturdum buna DIKIM_SEZON adını verdim sonra datasetin oncalculatedinda bu kodu yazdım

Kod: Tümünü seç

var
  avariant : Variant;

begin

   avariant := DM.CDS_SEASON.Lookup('SEASON_ID',DataSet.FieldByname('SEASON_ID').AsString,'SEASON_DESC');

   if not VarIsNull(avariant) then
      DataSet.FieldByName('DIKIM_SEZON').AsString := IntToStr(YearOf(DataSet.FieldByName('SEEDLING_DATE').AsDateTime))+'/'+avariant;


end;
type
Tform1 = class(Tform)
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

oke

Mesaj gönderen pro_imaj »

cevabı bulduğun için sevindim.

Not: bana kalırsa hocam bu konu yanluş yerde Delphi Formuna yazman gerekirdi diye düşünüyorum :D
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

:D bence sınırda delphi de olabilirdi ama orası biraz yoğun :D
type
Tform1 = class(Tform)
cemarik
Üye
Mesajlar: 45
Kayıt: 30 Ağu 2003 11:05
Konum: İzmir

Mesaj gönderen cemarik »

Süpersinnn True_False :D
sambaci
Üye
Mesajlar: 7
Kayıt: 24 May 2005 09:51

Mesaj gönderen sambaci »

bu tarz şeyleri halletmek için http://www.delphibasics.co.uk/ var convertler bilmemneler bi sürü şey var...
yerin kulağı vardır benim de kulağım var ben yer miyim yemem :)
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

@cemarık bence sen daha süpersin hatta harikasın :D:D:D
type
Tform1 = class(Tform)
Cevapla