AccessTr.neT
Access'te Sorgu Kriteri Olarak İff'li Deyim - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Access'te Sorgu Kriteri Olarak İff'li Deyim (/konu-access-te-sorgu-kriteri-olarak-iff-li-deyim.html)



Access'te Sorgu Kriteri Olarak İff'li Deyim - selimkara - 16/10/2020

Merhaba,
Açılan kutunun satır kağnağına bir sorgu yapıyorum, bir sutunda ölçüt girdim aşağıdaki gibi
yapmaya çalıştığım, IIF deyiminde ..... yere ne yazmalıyımki getMTD değeri Selim ise filtre etmesin tüm değerleri listelesin. All hepsi vs gibi bir ifade var mı?

IIf(getMTD()<>"Selim";getMTD(); ........)
getMTD() diye bir fonksiyonum var buna girişte bir değer ataması yapılıyor. Ekteki görüntü gibi yaptım, tüm listeyi gösteriyor, filtrelemeden.

[Resim: do.php?img=10527]


RE: Access'te Sorgu Kriteri Olarak İff'li Deyim - ozanakkaya - 16/10/2020

Merhaba, resme bakarak çözüm bulmak zor. Örnek uygulamanızı ekleyin, çözüm üzerinde deneme yapalım.


RE: Access'te Sorgu Kriteri Olarak İff'li Deyim - selimkara - 16/10/2020

(16/10/2020, 11:40)ozanakkaya yazdı: Merhaba, resme bakarak çözüm bulmak zor. Örnek uygulamanızı ekleyin, çözüm üzerinde deneme yapalım.

eklediğim Access dosyasında, ilk açılışta kullanıcı adı Semra ve şifre 123. Bu kullanıcı adını getMTD fonsiyonu olarak atandı. Daha sonra FReference tablosunu açınca sarı işaretli açılır pencerelerin veri kaynağındaki sorgudaki kriter ile ilgili bir sorunum var.
kullanıcı adı Semra olduğunda sadece MT değeri Semra olanları süzmesini , yok eğer Selim (şifre:S123) tüm değerleri göstermesini istiyorum.


RE: Access'te Sorgu Kriteri Olarak İff'li Deyim - ozanakkaya - 16/10/2020

MarkaSec isimli açılan kutunun satır kaynağındaki sorguyu aşağıdaki ile değiştirerek deneyiniz.

SELECT TRef.Marka, TOrder.Kapat, TRef.MT, IIf(getMTD()=[TRef].[MT],"1","2") AS xx FROM TRef LEFT JOIN TOrder ON TRef.RefNo = TOrder.Ref GROUP BY TRef.Marka, TOrder.Kapat, TRef.MT, IIf(getMTD()=[TRef].[MT],"1","2") HAVING (((TRef.Marka)<>"GenelGider") And ((TOrder.Kapat)=False) And ((IIf(getMTD()=TRef.MT,"1","2"))=IIf(getMTD()="Semra","1","1") Or (IIf(getMTD()=TRef.MT,"1","2"))=IIf(getMTD()="Semra","1","2"))); 

Semra ile giriş yaparsanız MT değeri Semra olanlar görünür, Selim veya farklı bir kullanıcı ile giriş yaparsanız tamamı görünür.