Tabloda belirli bir kayda konumlanma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Tabloda belirli bir kayda konumlanma

Mesaj gönderen hdayi »

Merhaba,

Bir tabloda girilen kayıtları düzeltmek için bir arama formu yapıyorum. Arama kriteri olabilecek field'lar için birer tane edit kutusu koydum ve bunların KeyUp event'ıda locate ile ilgili kaydı aratıyorum.

Tarih kısmında locate çalışmadı (ya da ben çalıştıramadım), bunun üzerine, edit ktusunun onexit event'ına bir sql sorgusu yaptırdım dönen sonuctaki kaydın id'sinin alıp bu id ile locate yaptırayım dedim ama sql sorgusu boş dönüyor. Aceba neden?

Birde yürttüğüm bu mantık doğru mudur? Başka fikri olan? :idea:
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

taih alanın TDateTime tipinde degilde TDate olsun
bu sekilde locate in calısması lazım
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7589
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

kod gönderrisen, yardımcı olmaya çalışırız. Bir de hangi DB'yi kullandığını yazman yardımcı olur.

NOT : Tarih değerleri genelde saatle birlikte kaydedilirler. Buna da dikkat ettin mi? yani sen '01.03.2004' diye arattırıyorsundur ama veritabanında '01.03.2004 12:35:00' gibidir.

Kolay gelsin.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

field'ı datamodule'de tdate olarak tanımladım, ancak uyarı veriyor tdatetime olması gerekiyor diyor. access kullanıyorum şu anda, program bittikten sonra mssql'e atacağım database'i. access'de alanı tanımlarken kısa tarih olarak tanımladım.

Kod: Tümünü seç

  dm.tblnikah.Locate('evlenmetarihi',labelededit6.Text,[loCaseInsensitive,loPartialKey]);
loCaseInsensitive,loPartialKey kısmını kaldırarak ta denedim yine olmadı.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Mustafa Hocam haklı Tarih alanları ACCESS veri tabanında Saat ile birlikte alınır.
Alanı Kısa Tarih olarakta tanımlama yapsanda farkeden birşey olmaz Saat yazılacaktır.

Veritabanında Tarih Veri alanlarını kontrol etmeni tafsiye ederim F2 tuşu ile.

Kolay Gelsin..

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bir şey daha eklemek istiyorum alanlarına Tarih kaydı yaparken DateOf() fonksiyonu kullan.

Bir Örnek

Kod: Tümünü seç

    adodataset1.FieldByName('TARIH').AsDateTime := DateOf( DateTimePicker1.Date);
Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

tarihi aratırken tarih olarak vermen lazım.

Kod: Tümünü seç

 dm.tblnikah.Locate('evlenmetarihi', StrToDate(labelededit6.Text),[loCaseInsensitive,loPartialKey]); 
şeklinde dene..
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

şu kodu yazdım ama hala boş dönüyor.

Kod: Tümünü seç


  with dm.qgenel do
  begin
  close;
  sql.Clear;
  sql.Add('select Kimlik from nikah where evlenmetarihi like :tarih');
  Parameters.ParamByName('tarih').Value:=strtodatetime(LabeledEdit6.text);
  open;
  ShowMessage(inttostr(FieldByName('Kimlik').AsInteger));
  dm.tblnikah.Locate('Kimlik',FieldByName('Kimlik').AsInteger,[loCaseInsensitive,loPartialKey]);

  end; {with}
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

cevap husonet'in verdiği ipucunda gizli imiş. datetimepicker'dan tarih ataması yaparken dateof kullandım, oldu.

Teşekkürler
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Cevapla