merhaba arkadaşlar çok kolay bir şey belki ama
çok denedim olmadı bir sorayım dedim:
formumda bir datetimepicker var verileri kaydediyorum
eğer formdaki datetimepicker da bulunan tarihle veritabanında kayıtlı bulunan tarih aynı ise düzeltme işlemi yaptırmak isityorum
yazdığım kod şu şekilde
if form5.DateTimePicker1.date=data.cariharaket.FieldByName('TARIH').AsDateTime THEN BEGIN
data.cariharaket.FieldByName('kalan').AsFloat:=data.cariharaket.fieldbyname('esastutar').AsFloat-data.cariharaket.fieldbyname('odenentutar').AsFloat;
END ELSE BEGIN
sHOWMESSAGE('Yapılan İşlem Tarihi İle Aynı Tarih te Değil, Yapılan işlem tarihini hareket yapılan tarihe getiriniz ve Kaydet ya da Düzelt butonlarına tıklamadan Ödenen Tutar alanındaki tutarı siliniz...!!!');
end;
hayırlı çalışmalar
datetimepicker ile database deki tarih alanı eşitse
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
s.a.
date ve datetime tipleri arasında karşılaştırma yaptığınızdan dolayı olabilir.
şöyle bir deneyin
sanırım çözülecektir.
kolay gelsin.
date ve datetime tipleri arasında karşılaştırma yaptığınızdan dolayı olabilir.
şöyle bir deneyin
Kod: Tümünü seç
if formatdatetime('dd.mm.yyyy', form5.DateTimePicker1.date) =
formatdatetime('dd.mm.yyyy', data.cariharaket.FieldByName('TARIH').AsDateTime) THEN
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
bence en büyük şey unutulmuş
yani veri tabanını siz baştan sona sorgulamıyorsunuz ki ?
sadece hali hazırdaki kayıt ile datetimepicker eşit ise bu kod düzgün çalışabilir.
chance olayına bir sql sorgusu yazarak işi halledebilsiniz.
Saygılarımla
yani veri tabanını siz baştan sona sorgulamıyorsunuz ki ?
sadece hali hazırdaki kayıt ile datetimepicker eşit ise bu kod düzgün çalışabilir.
chance olayına bir sql sorgusu yazarak işi halledebilsiniz.
Saygılarımla
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]
_________________
_________________
Burada ne karşılaştırdığınıza dikkat ediniz. aslangeri arkadaşımızın da dediği gibi
derken sadece tarihi değil saati de karşılaştırıyorsunuz.
DateTime aslında reel bir sayıdır. Noktanın solundaki kısım tarihi, sağındaki kısım ise saati tutar. Dolayısıyla tarih karşılaştırırken yalnızca noktanın solunu karşılaştırınız:
Kolay gelsin
Kod: Tümünü seç
if form5.DateTimePicker1.date=data.cariharaket.FieldByName('TARIH').AsDateTime THEN
DateTime aslında reel bir sayıdır. Noktanın solundaki kısım tarihi, sağındaki kısım ise saati tutar. Dolayısıyla tarih karşılaştırırken yalnızca noktanın solunu karşılaştırınız:
Kod: Tümünü seç
if Trunc(form5.DateTimePicker1.date) = Trunc(data.cariharaket.FieldByName('TARIH').AsDateTime) THEN
Kolay gelsin
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Merhaba,
Bir süre önce bendede yapmıştı, kontrolü aşağıdaki gibi deneyebilirmisiniz....
if Datetostr(form5.DateTimePicker1.date)=data.cariharaketTarih.Text then
begin
...
end
else
begin
.
.
end;
şeklinde ....
Ama Kaydedilmiş bulunan Veri Kaydedildiği zamanki windows Tarih Sistemi Farklı Olabilir bunuda göz önünde bulundurunuz ....
saygılarımla,
Bir süre önce bendede yapmıştı, kontrolü aşağıdaki gibi deneyebilirmisiniz....
if Datetostr(form5.DateTimePicker1.date)=data.cariharaketTarih.Text then
begin
...
end
else
begin
.
.
end;
şeklinde ....

Ama Kaydedilmiş bulunan Veri Kaydedildiği zamanki windows Tarih Sistemi Farklı Olabilir bunuda göz önünde bulundurunuz ....
saygılarımla,