Bir Variant Null olduğunda sıfır, sıfır uzunlukta bir dize (" ") veya belirtilen başka bir değer döndürmek için Nz işlevini kullanabilirsiniz. Örneğin, Null değerini başka bir değere dönüştürmek ve bunun ifadeye yayılmasını önlemek için bu işlevi kullanabilirsiniz.
Söz dizimi
Nz(değişken [, nullisedeğer ] )
Nz işlevi söz diziminin aşağıdaki bağımsız değişkenleri vardır:
| Bağımsız Değişken | Açıklama |
|---|---|
| değişken | Gerekli. Değişken veri türünde bir değişken. |
| nullisedeğer | İsteğe bağlı (sorguda kullanılmıyorsa).
Değişken bağımsız değişkeni Null olduğunda döndürülecek bir değer sağlayan bir Varyant. Bu bağımsız değişken, sıfırdan veya sıfır uzunluklu dizeden başka bir değer döndürmenize olanak sağlar. Bilginize:Sorgudaki bir ifadede nullisedeğer bağımsız değişkeni olmadan Nz işlevini kullanırsanız, sonuçlar null değerler içeren alanlarda sıfır uzunluklu bir dize olur. |
Değişken bağımsız değişkeninin değeri Null ise, Nz işlevi, bağlamın değerin sayı mı yoksa dize mi olması gerektiğini belirttiğine bağlı olarak sıfır sayısını veya sıfır uzunlukta bir dizeyi döndürür (sorgu ifadesinde kullanıldığında her zaman sıfır uzunlukta bir dize döndürür). İsteğe bağlı nullisedeğer bağımsız değişkeni eklenirse, değişken bağımsız değişkeni Null olduğunda Nz işlevi bu bağımsız değişken tarafından belirtilen değeri döndürür. Sorgu ifadesinde kullanıldığında, NZ işlevi her zaman nullisedeğer bağımsız değişkenini içermelidir.
Değişken değeri Null değilse, Nz işlevi değişken değerini döndürür.
Notlar
Nz işlevi Null değerler içerebilecek ifadeler için yararlıdır. İfadenin Null değer içerdiğinde bile Null olmayan bir değere hesaplanmasını zorlamak için, Nz işlevini kullanarak sıfır, sıfır uzunluklu bir dize veya özel bir dönüş değeri döndürülmesini sağlayın.
Örneğin, VariantvarXNull olduğunda ifade 2 + varX her zaman Null değer döndürür. Ancak 2 2 + Nz(varX) döndürür.
Nz işlevini her zaman IIf işlevinin alternatifi olarak kullanabilirsiniz. Örneğin, aşağıdaki kodda istenen sonucunun döndürülmesi için IIf işlevini içeren iki ifade gerekir. IIf işlevini içeren ilk ifade bir değişkenin değerini denetlemek ve bu değer Null ise bunu sıfıra dönüştürmek için kullanılır.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
Sonraki örnekte, Nz işlevi ilk ifadeyle aynı şekilde çalışır ve istenen sonuç iki adım yerine tek adımda elde edilir.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
İsteğe bağlı nullisedeğer bağımsız değişkeni için bir değer sağlarsanız, değişkenNull olduğunda o değer döndürülür. Bu isteğe bağlı bağımsız değişkeni ekleyerek, IIf işlevini içeren bir ifade kullanmaktan kaçınabilirsiniz. Örneğin, aşağıdaki ifade, değeri varFreightNull olduğunda bir dize döndürmek için IIf işlevini kullanır.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
Sonraki örnekte, Nz işlevine sağlanan isteğe bağlı bağımsız değişken, Null olması durumunda varFreight döndürülecek dizeyi sağlar.
varResult = Nz(varFreight, "No Freight Charge")
Sorgu örnekleri
| İfade | Sonuçlar |
|---|---|
| SELECT ProductID, NZ(İndirim,"Ayrıntı Yok") AS Expr2 FROM ProductSales; | İfade1 sütununda "ÜrünKimliği" döndürür, "İndirim" alanındaki "Null" değerleri değerlendirir ve tüm Null değerler için "Ayrıntı Yok Var" değerini döndürür (null olmayan değerleri olduğu gibi döndürür). |
| SELECT ProductID, NZ(İndirim,"Ayrıntı Yok") AS ReplaceNull FROM ProductSales; | Ürün sütununda "ÜrünKimliği" döndürür, "İndirim" alanındaki "Null" değerleri değerlendirir ve tüm Null değerler için "Ayrıntı Yok" değerini döndürür (null olmayan değerleri olduğu gibi döndürür) ve ReplaceNull sütununda görüntüler. |
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.
Aşağıdaki örnek, form üzerindeki bir denetimi değerlendirir ve denetimin değerine bağlı olarak iki dizeden birini döndürür. Denetimin değeri Null ise, yordamda Null değeri sıfır uzunluklu bir dizeye dönüştürmek için Nz işlevi kullanılır.
Public Sub CheckValue()
Dim frm As Form
Dim ctl As Control
Dim varResult As Variant
' Return Form object variable
' pointing to Orders form.
Set frm = Forms!Orders
' Return Control object variable
' pointing to ShipRegion.
Set ctl = frm!ShipRegion
' Choose result based on value of control.
varResult = IIf(Nz(ctl.Value) = vbNullString, _
"No value.", "Value is " & ctl.Value & ".")
' Display result.
MsgBox varResult, vbExclamation
End Sub