İfadeler listesini değerlendirir ve bir Değişken değerini veya listede bulunan Doğru olan ilk ifade ile ilgili bir ifadeyi döndürür.
Sözdizimi
Switch( expr-1, value-1 [, expr-2, value-2 ] ... [, expr-n, value-n ] )
Switch 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 değişken ifadesi. |
değer |
Gerekli. karşılık gelen ifade True ise döndürülecek değer veya ifade. |
Açıklamalar
Switch işlevi bağımsız değişken listesi, ifade ve değer çiftlerinden oluşur. İfadeler soldan sağa değerlendirilir ve Doğru olarak değerlendirilecek ilk ifadeyle ilişkili değer döndürülür. Parçalar düzgün eşleştirilmeyen bir çalıştırma hatası oluşur. Örneğin, ifade-1True ise , Anahtar1 değerini döndürür. İfade-1Yanlış, ancak ifade-2Doğru ise, Anahtar2 değerini döndürür ve bu şekilde devam edilir.
Anahtar , şu durumlarda Null değer döndürür:
-
İfadelerin hiçbiri True değil.
-
İlk True ifadesi Null olan karşılık gelen bir değere sahiptir.
Switch , yalnızca birini döndürse bile tüm ifadeleri değerlendirir. Bu nedenle istenmeyen yan etkiler için watch gerekir. Örneğin, herhangi bir ifadenin değerlendirmesi sıfıra bölme hatasıyla sonuçlanırsa bir hata oluşur.
Sorgu örneği
Expression |
Sonuçlar |
SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; |
"ProductID" değerini döndürür, "Anahtar" formülündeki ifadeleri değerlendirir ve tüm "True" ifadeleri için tanımlı değerlerle var olan değerleri değiştirir. Örneğin: "PRO_XYZ1" yerine "First", "PRO_XYZ2" yerine "two" vb. kullanılır. |
VBA örneği
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 örnekte, bir şehrin adıyla eşleşen bir dilin adını döndürmek için Switch işlevi kullanılmaktadır.
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _ CityName = "Rome", "Italian", _ CityName = "Paris", "French") End Function