iki tarih arasi siralama...!!!
ScRiPTeR23.07.2005 - 12:27:08
merhaba,
biraz uzun bi soru olacak ama kusura bakmayin artik.
ado ile accese baglanti yapiyorum. adotable ve adoquery kullaniyorum.
siralama yapacagim alan ismileri bas_tar ve bit_tar.
ben bunlara accessta degil delphide tarih formati ozelligi verdim.(edit mask ozelliginden. formati=!99/99/0000;1;_)
bana bu konuda yardimci olursaniz sevinirim.
 
assoft23.07.2005 - 14:54:25
Arama yapınız... Evil or Very Mad
 
Hancet23.07.2005 - 16:48:29
assoft kardeş sinirlenmenin lüzumu yok bence. Burası paylaşım ortamı :)

ScRiPTeR kardeş sende bi daha lütfen başlık açmadan önce arama yap
Bir çok konu forumda var :)

http://www.delphiturkiye.com/forum/viewtopic.php?t=6792&highlight=tarih+s%FDralama

http://www.delphiturkiye.com/forum/viewtopic.php?t=368&highlight=tarih+s%FDralama

bunlar işini görür sanırım 8)
 
ScRiPTeR24.07.2005 - 12:22:38
arkadaslar ben zaten hicbir foruma arama yapmadan once kesinlikle baslik atmam. sadece bunda degil diger forumlarda da aynidir. belki arama kriterlerim yanlis olabilir. onlari verirseniz memnun olurum.
hancet verdigin linklere daha once baktim. oradakiler iki tarih arasi siralama yapmiyor.secilen veya girilen tarihe gore siralama yapiyor.
benim istedigim iki tarih girilecek ve bu iki tarih arasindaki kayitlari listeleyecek.

ornek olarak:
01/06/2005
02/08/2005
09/06/2006
21/07/2004 bu sekilde siralama yapiyor. sadece gune gore siraliyor.
ama benim istedigim

dbedit1 'e = 01/07/2005
dbedit2 'e = 31/07/2005 giriliyor butona tiklatilinca bu iki tarih arasi kayitlari listeleyecek.
01/07/2005
03/07/2005
09/07/2005 gibi.
 
Çağrıbey25.07.2005 - 09:05:26
aşağıda iki tarih arasında arama yapar, umarım işini görür
////
procedure TForm1.EvrakinTarihi1Click(Sender: TObject);
begin
AdoQuery1.Close;
AdoQuery1.Sql.Clear;
AdoQuery1.Sql.Add('Select * From TABLO where (Evrak_Tarihi>=:Tarih_ilki) and (Evrak_Tarihi<=:Tarih_Sonu) ');
AdoQuery1.Parameters[0].Value :=(inputbox('Evrakın Tarihi ilk','','01/01/2004'));
AdoQuery1.Parameters[1].Value :=(inputbox('Evrakın Tarihi Sonu','','01/12/2004'));
AdoQuery1.Open;
AdoQuery1.Sort:='Evrak_Tarihi ASC';
Statusbar1.Panels.items[0].text:=('Kayıt Sayısı : '+inttostr(AdoQuery1.RecordCount));
end;
 
aslangeri25.07.2005 - 10:32:54
s.a.
anladığım kadarıyla @ScRiPTeR arkadaşımız vt de kayıtları tarih değilde string olarak tutuyor. eğer vt de string olarak (veya sayı) tutmak zorunda isen sana tarihleri ters çevirip kaydetmeni tavsiye ederim.
şöyleki

  • Tarih='01.05.2005' (gg.aa.yyyy)
    senin kaydettiğin
    Tarih='01052005' (ggaayyyy)
    benim önerim
    Tarih='20050501' (yyyyggaa)
    eğer bu şeklilde yaparsan sıralama işlemlerini rahatlıkla yapabilirsin.

  • bildiğim kadarıyla önceden tarihleri bu şekilde çevirip sayı olarak kaydediyorlardı.
    tabi programın şu an ne aşamada böyle bir değişikliği kaldırabilirmi bilemiyorum. eğer değişiklik yapmak gibi bir şansın varsa öncelikle alanın tipin itarihe çevirmeni tavsiye ederim. Yoksa yukardaki sistemi tavsiye edeceğim.
    oda olmazsa tablonya bir alan daha eklemeni tavsiye edeceğim.

    kolay gelsin.
     
    ScRiPTeR27.07.2005 - 00:13:03
    s.a
    yardimlariniz icin tesekkur ediyorum. veri tabanindaki alani degistirmek zorunda kaldim. tabi programi bastan yaziyormus gibi oldu ama saglik olsun. :) siralama kismina daha gelmedim herhalde bu sefer bi sorun cikmaz.

    iyi calismalar...
     
    NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
    1998-2006 www.delphiturkiye.com