Skip to main content

AccessTr.neT


Sorguda Işlem Için Formülü Nasıl Belirlemem Gerekir

Sorguda Işlem Için Formülü Nasıl Belirlemem Gerekir

#1
Randevu tarihi verilen süre içinde ise doğru verilen süreden uzun ise yanlış ve eğer işlem tarihi yazıldığında da eğer verilen süre içinde olur sa da yine doğru olması  (Bunu Doğru ise "Yeşil" Yanlış ise "Kırmızı" da olabilir.) olması için bir formül yazdım. Fakat bunu ben "Or ile yapmaya çalıştığımde -1 ve boş sütünlar oluşturdu. Boş sütun oluşturmaması lazım.Veya randevu tarihine göre doğru ama işlem tarihine göre yanlış olursa buna göre değer vermesi.(Doğru ise 1 Yanlık ise 0 gibi) Örneği ekte gönderiyorum. Yardımlarınız için teşekkürler.


Formül bunu yapmıştım. Mantık doğru mu bilemedim.([Rand_Ta]-[Tarih])<=[isl_Sr] Or ([isl_Tar]-[Tarih])<=[isl_Sr]
.rar deneme.rar (Dosya Boyutu: 411,37 KB | İndirme Sayısı: 1)
Son Düzenleme: 9 saat önce, Düzenleyen: hegu.
Cevapla
#2
IIf([Rand_Ta]-[Tarih]<=[isl_Sr];1;0) Or IIf([isl_Tar]-[Tarih]<=[isl_Sr];1;0)
Şöyle bir formül yaptım fakat işlem tarihini süreye göre uzun yapınca çalışmadı.
Mesela
Tarih : 13.02.2026
Süre : 3
Randevu Tarihi : 18.02.2026 yaparsam "0" yapıyor ve "Kırmızı" yazıyor.
İşlem Tarihi: 15.02.2026 yaparsam "-1" çeviriyor ve "Yeşil" e çeviriyor.
Fakat
Tarih : 13.02.2026
Süre : 3
Randevu Tarihi : 15.02.2026 yaparsam "-1" yapıyor ve "Yeşil" yazıyor.
İşlem Tarihi: 18.02.2026 yaparsam "-1" kalıyor ve "Yeşil" kalıyor.Halbuki "0" ve "Kırmızı" olması lazım.
Son Düzenleme: 8 saat önce, Düzenleyen: hegu.
Cevapla
#3
Sorgunuzu aşağıdaki gibi düzenleyerek dener misiniz?
Açıkçası sorunuzu o kadar karışık ifade ediyorsunuz ki önce ne demek istedi diye çözmeye uğraşıyorum ve anladım mı ondan bile emin değilim. Sorgunuzdaki OR ifadesinin mantığı şudur: eğer iki koşuldan biri doğruysa True (Access’te -1), ikisi de yanlışsa False (0) döner. Eğer alanlardan biri boş/null ise, Access Null döndürür ki bu yüzden sorgunuzda boş sütunlar çıkıyor. NZ ile null değerleri kontrol etmelisiniz.
SELECT
Tablo3.SN, Tablo3.Kd, Tablo3.Tarih, Tablo3.DisN, Tablo3.Yap_is, Tablo3.isl_Sr, Tablo3.Rand_Ta, Tablo3.isl_Tar, Tablo3.Acıklm, Tablo3.Sa, IIf((Nz([Rand_Ta]-[Tarih],9999) <= [isl_Sr]) Or (Nz([isl_Tar]-[Tarih],9999) <= [isl_Sr]), "Yeşil", "Kırmızı") AS Durum
FROM Tablo3;
bu tip sorunlarda önce her iki koşulu ayrı ayrı değerlendirip doğru sonuç alıp almadığınızı görün sonra birleştirin.
Cevapla
#4
Sayın atoykan denedim. Ama aynı sonucu verdi. Dediğini denedim iki koşulu ayrı ayrı koşul yaptım birleştirdim. Dediğin gibi ben soruyu tam izah edemedim. Karışık bir işlem. Teşekkür ederim.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task