bir ifade değerlendirmesine bağlı olarak iki bölümden birini döndürür.
İfadeleri kullanabileceğiniz her yerde IIf kullanabilirsiniz. Başka bir ifadenin doğru mu yoksa yanlış mı olduğunu belirlemek için IIf kullanırsınız. İfade true ise, IIf bir değer döndürür; false ise, IIf başka bir döndürür. IIf'in döndürdüğü değerleri belirtirsiniz.
Söz dizimi
IIf ( expr , truepart , falsepart )
IIf işlevinin söz diziminde şu bağımsız değişkenler bulunur:
Bağımsız değişken |
Açıklama |
ifade |
Gerekli. Değerlendirmek istediğiniz ifade. |
doğru bölüm |
Gerekli. İfadeTrue ise değer veya ifade döndürülür. |
yanlış bölüm |
Gerekli. İfadeFalse ise değer veya ifade döndürülür. |
Notlar
IIf , yalnızca birini döndürse bile her zaman hem truepart hem de falsepart değerini değerlendirir. Bu nedenle istenmeyen yan etkiler için watch gerekir. Örneğin, yanlış bölümün değerlendirilmesi sıfıra bölme hatasıyla sonuçlanırsa ifade Doğruolsa bile hata oluşur.
Örnekler
Form veya raporda IIf kullanma CountryRegion adlı bir alan içeren bir Müşteriler tablonuz olduğunu varsayalım. Formda, kişinin ilk dilinin İtalyanca olup olmadığını belirtmek istiyorsunuz. Denetim ekleyebilir ve Denetim Kaynağı özelliğinde IIf kullanabilirsiniz, örneğin:
=IIf([CountryRegion]="Italy", "İtalyanca", "Başka bir dil")
Formu Form görünümünde açtığınızda, ÜlkeBölge değeri İtalya olduğunda denetim "İtalyanca" ve CountryRegion başka bir değer olduğunda "Başka bir dil" görüntüler.
Karmaşık ifadelerde IIf kullanma Herhangi bir ifadeyi bir IIf deyiminin herhangi bir parçası olarak kullanabilirsiniz. Ayrıca IIf ifadelerini "iç içe yerleştirerek" bir dizi bağımlı ifadeyi değerlendirmenizi sağlayabilirsiniz. Yukarıdaki örnekten devam etmek için, birkaç farklı CountryRegion değeri için test etmek ve sonra hangi değerin varolduğuna bağlı olarak uygun dili görüntülemek isteyebilirsiniz:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
"Başka bir dil" metni, en içteki IIf işlevinin falsepart bağımsız değişkenidir. İç içe yerleştirilmiş her IIf işlevi, onu içeren IIf işlevinin falsepart bağımsız değişkeni olduğundan, "Başka bir dil" metni yalnızca tüm IIf işlevlerinin ifade bağımsız değişkenleri False olarak değerlendirilirse döndürülür.
Başka bir örnek için bir kitaplıkta çalıştığınızı varsayalım. Kitaplık veritabanında, belirli bir kitabın geri dönüş tarihini içeren Son Tarih adlı bir alan içeren Kullanıma Almalar adlı bir tablo vardır. Denetimin Denetim Kaynağı özelliğindeki IIf işlevini kullanarak denetimdeki kullanıma alınmış bir öğenin durumunu gösteren bir form oluşturabilirsiniz, örneğin:
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
Formu Form görünümünde açtığınızda, Son Tarih değeri geçerli tarihten küçükse denetim "SÜRESI GEÇMIŞ", geçerli tarihe eşitse "Son tarihi bugün" ve değilse "Henüz Son Tarihi Yok" değerini görüntüler.
Not: IIf işlevinin ifade bağımsız değişkeninde "And" veya "Or" gibi mantıksal işleçleri kullanmak için, mantıksal ifadeyi Değerlendirme işlevine dahil etmeniz gerekir. Aşağıdaki örnek tabloya bakın.
Sorguda IIf kullanma
IIf işlevi genellikle sorgularda hesaplanan alanlar oluşturmak için kullanılır. Söz dizimi aynıdır; bir sorguda ifadenin başına eşittir işareti (=) yerine bir alan diğer adı ve iki nokta (:) kullanmanız gerekir. Yukarıdaki örneği kullanmak için, sorgu tasarım kılavuzunun Alan satırına aşağıdakileri yazarsınız:
Dil: IIf([CountryRegion]="italy", "İtalyanca", "Başka bir dil")
Bu durumda, "Language:" alan diğer adıdır.
Sorgular ve hesaplanan alanlar oluşturma hakkında daha fazla bilgi için Basit seçme sorgusu oluşturma makalesine bakın.
VBA kodunda IIf kullanma
Not: Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.
Bu örnek, CheckIt yordamının TestMe parametresini değerlendirmek için IIf işlevini kullanır ve tutar 1000'den büyükse "Büyük" sözcüğünü döndürür; aksi takdirde, "Küçük" sözcüğünü döndürür.
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small") End Function
Diğer örnekler
Expression |
Sonuçlar |
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Diğer"))) |
[AirportCode] "ORD" ise , "Chicago" döndür. Aksi takdirde, [AirportCode] "ATL" ise "Atlanta" değerini döndürebilirsiniz. Aksi takdirde, [AirportCode] "SEA" ise "Seattle" değerini döndürebilirsiniz. Aksi takdirde "Diğer" değerini döndürebilirsiniz. |
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")) |
[ShipDate] bugünün tarihinden önceyse, "Sevk Edildi" değerini iade edin. Aksi takdirde, [ShipDate] bugünün tarihine eşitse, "Sevkiyat bugün" değerini iade edin. Aksi takdirde, "Gönderilmedi" ifadesini döndürebilirsiniz. |
=IIf([PurchaseDate]<#1/1/2008#,"Old","New") |
[PurchaseDate] 1/1/2008 tarihinden önceyse, "Eski" değerini döndürür. Aksi takdirde "Yeni" değerini döndürebilirsiniz. |
=IIf(Eval([Volts] Between 12 and 15 and [Amps] Between 0.25 and 0.3),"Ok","Out of calibration") |
[Volts] 12 ile 15 arasındaysa ve [Amps] 0,25 ile 0,3 arasındaysa, "Tamam" değerini döndürür. Aksi takdirde "Kalibrasyon dışı" değerini döndürebilirsiniz. |
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"Kuzey Amerika","Diğer") |
[CountryRegion] "Canada", "USA" veya "Mexico" ise, "Kuzey Amerika" döndür. Aksi takdirde "Diğer" değerini döndürebilirsiniz. |
=IIf([Ortalama]>=90,"A",IIf([Ortalama]>=80,"B",IIf([Ortalama]>=70,"C",IIf([Ortalama]>=60,"D","F")))) |
[Ortalama] 90 veya daha büyükse, "A" döndür. Aksi takdirde, [Ortalama] 80 veya daha büyükse "B" döndürür. Aksi takdirde, [Ortalama] 70 veya daha büyükse ,"C" döndürür. Aksi takdirde, [Ortalama] 60 veya daha büyükse "D" döndürür. Aksi takdirde "F" döndürebilirsiniz. |
Not: Sorguda hesaplanan alan oluşturmak için IIf işlevini kullanıyorsanız, eşittir işaretini (=) alan diğer adı ve iki nokta üst üste (:) ile değiştirin. Örneğin, Durum: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))