iki sayı aralığının içine denk gelmeyecek iki sayı ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Marangoz
Üye
Mesajlar: 39
Kayıt: 15 May 2004 03:38

iki sayı aralığının içine denk gelmeyecek iki sayı ekleme

Mesaj gönderen Marangoz »

Merhabalar,
Problemim şu yaklaşık 5 gündür uğraşıyorum ama bir türlü olmadı

Aşağıdaki bir paradox table

A | SAYI1 | SAYI2
-----------------------------------
1. kayıt Elma | 5 | 10
2. kayıt Armut | 4 | 8
3. kayıt Elma | 14 | 21

Dışarıdan girdiğim değer bu aralıklara denk geliyorsa kayıt yapmayacak örnek;

Elma 3 8 "yanlış" veri tabanına kayıt etmeyecek
Elma 1 3 "doğru" veri tabanına kayıt edecek
Elma 17 20 "yanlış" veri tabanına kayıt etmeyecek
Elma 12 18 "yanlış" veri tabanına kayıt etmeyecek
Elma 23 30 "doğru" veri tabanına kayıt edecek

çok basit gibi görünüyor ama bir yerlerde takıldım şimdi işin içinden çıkamıyorum,

şimdiden teşekkürler,
sorun, artık sorun değil...
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

buton1.click
var
Deger1,Deger2:integer;
minDeger,maxDeger:integer;
begin
//minDeger :=Select min(Deger1) from Tablo Where Kayit = 'Elma'
//maxDeger :=Select max(Deger2) from Tablo Where Kayit = 'Elma'
//elmaya ait minumum ve maximum değerleri sorguyla birer değişkene ata

deger1 := 11;
deger2 := 35;
//bunlar yeni girilen değerleri tuttan değişkenler olsun

if deger1 >= deger2 Then
  Raise Exception.Create('Deger1 Deger2den büyük veya eşit olamaz');

if ((deger1 > maxDeger) or (deger2 < minDeger))  Then
  KayitYap
Else
  KayitYapma;
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

eğer sayıları formatlıyabilirsen yani
5 | 10 yerine
05 | 10 olabiliyorsa bu digit sayısını sabitlersen string olarak birlştir öyle kaydet, ozaman 5 ve 10 değeri için 0510 olur buda işini görür sanırım. Birde paradoxta unique key kaç field a birden veriliyor bilmuyorum, ama 2 alan için verilebiliyor olması lazım, bu iki alanın tek bir uniquekey ile birleştir. Table ın yada query nin OnPostError event inde hata gelirse veriler kayıtlı demek olur.

kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
Marangoz
Üye
Mesajlar: 39
Kayıt: 15 May 2004 03:38

Mesaj gönderen Marangoz »

ilginize çok teşekkür ederim zannederimki problemi tam olarak aksettiremedim,

Foruma soruyu gönderdikten sonra problem çözüldü

yapılan işlem basitçe db deki kayıtları for döngüsü ile okutup dizilere aktadık buradan da aralıkları kontrol ettirerek ilemi gerçekleştirdik

burada tek bir açık kalıyor (hepsini kapsaması durumu) onuda if ile çözdük

ilginize teşekkürler

herkese iyi çalışmalar
sorun, artık sorun değil...
onaydin

Mesaj gönderen onaydin »

Paradox la hiç çalışmadığımdan bilmiyorum fakat sql ile bu olabilirdi.
DB'den bütün kayıtları çakmenize gerek kalmıyor
0 dönerse kayıt ekleyebilir.

Kod: Tümünü seç

SELECT count(*) FROM TABLO where TIP = 'ELMA' and (sayi_1 < 23 and sayi_2 > 23 or sayi_1 < 30 and sayi_2 > 30)
Cevapla