Bununla ilgili olarak bir Güncelleştirme Sorgusu oluşturdum:
Kod:
UPDATE Veri SET Veri.Temiz = IIf([Verdigi_Tarih]-[Aldigi_Tarih]>0,[Temiz]=-1,[Temiz]=0);
Temiz alanını istediğiniz doğrultuda güncelliyor. Tabi ben hala Nihat hocamın da dediği form ile çözme taraftarıyım. Çünkü bu sorguyu iki defa çalıştırdığınızda bu defa işareti kaldırıyor.
harunun yaptığı formülleri uygulayın. çalışır vaziyette. ama yinede çok güvenilir bir yöntem değil. çok çalışma çok hata getirebilir. formdaki gibi sonuç elde etmeniz zor.
Şimdi Sayın Yakut, evet, sorguda da yapılır. Ancak bi noktayı gözden kaçırıyorsunuz: Sorgu tabloda olan değer üzerinden işlem yapar. Tablodaki değeri değiştirmek ise Güncelleştirme Sorgusu ile mümkündür. Bunun için önce o alanı güncelleştirmek ve istediğiniz hale getirmek gerekir. Zaten ben de bunun için bir güncelleştirme sorgusu hazırladım ve belirttiğiniz alanı (Temiz) belirttiğiniz kriterlere göre güncelleştirdim.
Son cevabıma bakacak olursanız size güncelleştirme sorgusunu da verdim.
Tabi şunu tekrar belirtiyorum: Bu yöntem doğru bir yöntem değil. Yanlışlıkla iki defa çalıştıracak olursanız işaretlediğiniz değeri işaretsiz hale getirirsiniz. Bunu yapmanın en doğru yöntemi formda bir kritere dayandırmak veya kodla yapmaktır. Forma başvuru yapmadan yapmak isterseniz de mecburen güncelleştirme sorgusu kullanmalısınız...
Başka yöntemler var mı diye (ki bunu tamamen emin olmak için yaptım) internetin altını üstüne getirdim ama benim yöntemimden daha evla bir yöntem bulamadım.