İfadenin değerlendirmesine bağlı olarak, iki parçadan birini döndürür.
İfadeleri kullanabildiğiniz her yerde kullanabilirsiniz IIf . Başka bir ifadenin doğru mu yanlış mı olduğunu belirlemek için kullanın IIf . İfade doğruysa, IIf bir değer döndürür. Yanlışsa, IIf başka bir değer döndürür. Döndürülen IIf değerleri siz belirtirsiniz.
Söz dizimi
IIf(expr, truepart, falsepart)
İşlevin IIf söz diziminde aşağıdaki bağımsız değişkenler bulunur:
| Bağımsız değişken | Açıklama |
|---|---|
expr |
Gerekli. Değerlendirmek istediğiniz ifade. |
truepart |
Gerekli. Değer veya ifade ise exprTrue, . |
falsepart |
Gerekli. Değer veya ifade ise exprFalse, . |
Notlar
IIf Her zaman her ikisini de truepart değerlendirir ve falsepart, bunlardan yalnızca birini döndürse bile. Bu davranış nedeniyle, istenmeyen yan etkilere dikkat edin. Örneğin, değerlendirme falsepart işlemi sıfıra bölme hatasıyla sonuçlanırsa, expr .True
Örnekler
Form veya raporda kullanma IIf
adlı CountryRegionbir alan içeren bir Customers tablonuz olduğunu varsayalım. Bir formda, kişinin ana dilinin İtalyanca olup olmadığını göstermek istiyorsunuz. Denetim ekleyebilir ve özelliğinde Control Source kullanabilirsinizIIf:
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Formu Form Görünümü'nde açtığınızda, denetim CountryRegion için değer olduğu Italyher zaman görüntülenirItalian. Başka bir değer olduğunda CountryRegion görüntülenirSome other language.
Karmaşık ifadelerde kullanma IIf
Herhangi bir ifadeyi, ifadenin herhangi bir IIf bölümünde kullanabilirsiniz. Ayrıca ifadeleri iç içe IIf de yerleştirebilirsiniz, böylece bir dizi bağımlı ifadeyi değerlendirmenize olanak tanınır. Önceki örnekten devam etmek için, birkaç farklı CountryRegion değeri sınamak ve sonra bu değer temelinde uygun dili görüntülemek isteyebilirsiniz:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Metin Some other language , falsepart en IIf içteki işlevin bağımsız değişkenidir. Her iç içe işlev IIf , falsepart kendisini içeren işlevin IIf bağımsız değişkeni olduğundan, metin Some other language yalnızca işlevlerin tüm expr bağımsız değişkenleri IIf olarak değerlendirilirse Falsedöndürülür.
Başka bir örnek için, bir kütüphanede çalıştığınızı varsayalım. Kütüphane veritabanında, belirli bir kitabın son tarihinin tarihini içeren , adlı Due Datebir alan içeren adlı Check Outs bir tablo bulunur. Denetimin özelliğindeki işlevi kullanarak IIf denetimdeki kullanıma alınan öğenin durumunu gösteren Control Source bir form oluşturabilirsiniz:
=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, denetim OVERDUE şu değerin Due Date değerinin geçerli tarihten küçük olduğunu, Due today geçerli tarihe eşitse ve eşitse görüntülenmesini sağlar Not Yet Due .
Not
İşlevin bağımsız değişkeninde exprIIf veya Or gibi And mantıksal işleçler kullanmak için, mantıksal ifadeyi Eval işlevinin içine almanız gerekir. Aşağıdaki örnek tabloya bakın.
Sorguda kullanma IIf
Bu IIf işlev genellikle sorgularda hesaplanan alanlar oluşturmak için kullanılır. Söz dizimi aynıdır, ancak sorguda ifadenin başına eşittir işareti (=) yerine bir alan diğer adı ve iki nokta üst üste (:) koymanız gerekir. Önceki örneği kullanmak için, sorgu tasarım kılavuzunun Alan satırına şunu yazın:
Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")
Bu örnekte, Language: alan diğer adıdır.
Sorgular ve hesaplanan alanlar oluşturma hakkında daha fazla bilgi için bkz. Basit seçme sorgusu oluşturma.
VBA kodunda kullan IIf
Not
Aşağıdaki örneklerde bu işlevin bir Visual Basic for ApplicationsVisual Basic for Applications (VBA) modülünde nasıl kullanılacağı gösterilmektedir. VBA ile çalışma hakkında daha fazla bilgi için, Ara'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, yordamın CheckIt parametresini değerlendirmek TestMe için işlevi kullanır IIf ve miktar 1000'den büyükse sözcüğü Large döndürür. Aksi takdirde, .Small
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Daha fazla örnek
İfade:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))Sonuç: Ise
[AirportCode]"ORD", return"Chicago". Aksi takdirde, ise[AirportCode]"ATL", return"Atlanta". Aksi takdirde, ise[AirportCode]"SEA", return"Seattle". Aksi takdirde, iade"Other"edin.İfade:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Sonuç: Bugünün
[ShipDate]tarihinden önceyse, döndür"Shipped". Aksi takdirde, bugünün tarihine eşitse[ShipDate], döndür"Shipping today". Aksi takdirde, iade"Unshipped"edin.İfade:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")Sonuç: Eğer
[PurchaseDate]daha önceyse1/1/2008, return"Old". Aksi takdirde, iade"New"edin.İfade:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")Sonuç: 12 ile 15 arasındaysa ve
[Amps]0,25 ile 0,3 arasındaysa[Volts], döndürülür"OK". Aksi takdirde, iade"Out of calibration"edin.İfade:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")Sonuç: ise
[CountryRegion]"Canada","USA", veya"Mexico", return"North America". Aksi takdirde, iade"Other"edin.İfade:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))Sonuç: 90 veya daha büyükse
[Average], döndür"A". Aksi takdirde, 80 veya daha büyükse[Average], döndür"B". Aksi takdirde, 70 veya daha büyükse[Average], döndür"C". Aksi takdirde, 60 veya daha büyükse[Average], döndür"D". Aksi takdirde, iade"F"edin.
Not
İşlevi IIf bir sorguda hesaplanmış alan oluşturmak için kullanıyorsanız, eşittir işaretini (=) bir alan diğer adı ve iki nokta üst üste (:) ile değiştirin. Örneğin, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).