Tabloda belirli bir kayda konumlanma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tabloda belirli bir kayda konumlanma
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?
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?
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
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.
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.
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.
loCaseInsensitive,loPartialKey kısmını kaldırarak ta denedim yine olmadı.
Kod: Tümünü seç
dm.tblnikah.Locate('evlenmetarihi',labelededit6.Text,[loCaseInsensitive,loPartialKey]);
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
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..
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.
Bir şey daha eklemek istiyorum alanlarına Tarih kaydı yaparken DateOf() fonksiyonu kullan.
Bir Örnek
Kolay Gelsin...
Bir Örnek
Kod: Tümünü seç
adodataset1.FieldByName('TARIH').AsDateTime := DateOf( DateTimePicker1.Date);
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
tarihi aratırken tarih olarak vermen lazım.
şeklinde dene..
Kod: Tümünü seç
dm.tblnikah.Locate('evlenmetarihi', StrToDate(labelededit6.Text),[loCaseInsensitive,loPartialKey]);
ş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
Ez cüdâyîhâ şikâyet mîküned