Nz İşlevi

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Bir Değişken Null olduğunda sıfır, sıfır uzunluklu dize (" ") veya başka bir belirtilen 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(variant [, valueifnull ] )

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ü değişkeni.
nullisedeğer İsteğe bağlı (sorguda kullanılmıyorsa). Değişken bağımsız değişkeni Null ise döndürülecek bir değer sağlayan Değişken. 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.
Not:Nz işlevini bir sorgudaki bir ifadede valueifnull bağımsız değişkenini kullanmadan 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, bağlamın değerin bir sayı mı yoksa dize mi olması gerektiğini gösterdiğine bağlı olarak Nz işlevi sıfır veya sıfır uzunluklu bir dize döndürür (sorgu ifadesinde kullanıldığında her zaman sıfır uzunluklu bir dize döndürür). İsteğe bağlı valueifnull bağımsız değişkeni dahil edilirse, değişken bağımsız değişkeni Null ise Nz işlevi bu bağımsız değişken tarafından belirtilen değeri döndürür. Bir sorgu ifadesinde kullanıldığında , NZ işlevi her zaman valueifnull 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, DeğişkenvarXNull olduğunda ifade 2 + varX her zaman null değer döndürür. Ancak, 2 + Nz(varX) 2 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 Null ise varFreight 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 ise varFreight döndürülecek dizeyi sağlar.

varResult = Nz(varFreight, "No Freight Charge")

Sorgu örnekleri

Ifa -de Sonuçlar
SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales; İfade1 sütunundaki "ProductID" değerini döndürür, "İndirim" alanındaki 'Null' değerlerini değerlendirir ve tüm Null değerler için "Kullanılabilir Ayrıntı Yok" değerini döndürür (null olmayan değerleri olduğu gibi döndürür).
SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales; Product sütunundaki "ProductID" değerini döndürür, "discount" alanındaki 'Null' değerlerini değerlendirir ve tüm Null değerler için "Kullanılabilir 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ülenir.

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