الدالة Nz

يمكنك استخدام الدالة Nz لإرجاع الصفر أو سلسلة فارغة ("") أو القيمة المحددة الأخرى عندما يكون المتغير فارغا. علي سبيل المثال ، يمكنك استخدام هذه الدالة لتحويل قيمه فارغه إلى قيمه أخرى ومنع نشرها عبر تعبير.

بناء الجملة

Nz ( متغير [, valueifnull ] )

يشتمل بناء جملة دالة Nz على هذه الوسيطات:

الوسيطة

الوصف

variant

مطلوب. متغير من نوع البياناتVariant .

valueifnull

اختيارية (إلا في حالة استخدامها في استعلام). تقوم وسيطة Variant تقوم بتوفير قيمة يتم إرجاعها إذا كانت قيمة variant هي Null. تمكنك هذه الوسيطة من إرجاع قيمة غير صفرية أو سلسلة فارغة.

ملاحظة: إذا استخدمت الدالة Nz في تعبير في استعلام دون استخدام الوسيطة valueifnull، فستكون النتائج عبارة عن سلسلة ذات طول صفري في الحقول التي تحتوي على قيم فارغة.


إذا كانت قيمه الوسيطة Variantفارغه، فترجع الدالة Nz الرقم صفر أو سلسله أحرف صفريه (ترجع دوما سلسله أحرف صفريه عند استخدامها في تعبير استعلام) ، استنادا إلى ما إذا كان السياق يشير إلى القيمة يجب ان يكون رقما أو سلسله. إذا كانت الوسيطة valueifnull الاختيارية مضمنه ، سترجع الدالة Nz القيمة المحددة بواسطة تلك الوسيطة إذا كانت الوسيطة variantخاليه. عند استخدامه في تعبير استعلام ، يجب ان تتضمن الدالة NZ دائما الوسيطة valueifnull ،

إذا لم تكن قيمه المتغير فارغه، فترجع الدالة Nz قيمه المتغير.

ملاحظات

تفيد الدالة Nz بالتعبيرات التي قد تتضمن قيما خاليه . لفرض تقييم تعبير إلى قيمه غير فارغه حتى عند احتوائه علي قيمه فارغه ، استخدم الدالة Nz لإرجاع صفر أو سلسله ذات طول صفري أو قيمه إرجاع مخصصه.

علي سبيل المثال ، سترجع التعبير 2 + varX دائما قيمه فارغه عندما يكون المتغيرvarX فارغا. ومع ذلك ، ترجع الدالة 2 + Nz(varX) 2.

يمكنك غالبا استخدام الدالة Nz كبديل للدالة IIf . علي سبيل المثال ، في التعليمات البرمجية التالية ، يجب ان يكون هناك تعبيرين يتضمنان الدالة IIf لإرجاع النتيجة المطلوبة. يتم استخدام التعبير الأول الذي يتضمن الدالة IIf للتحقق من قيمه المتغير وتحويلها إلى صفر إذا كانت فارغه.

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

في المثال التالي ، توفر الدالة Nz نفس وظائف التعبير الأول ، ويتم الحصول علي النتيجة المطلوبة في خطوه واحده بدلا من اثنين.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

إذا قمت بتوفير قيمه للوسيطة valueifnullالاختيارية ، سيتم إرجاع هذه القيمة عندما يكون متغير عبارة عن قيمه فارغه. من خلال تضمين هذه الوسيطة الاختيارية ، قد تتمكن من تجنب استخدام تعبير يحتوي علي الدالة IIf . علي سبيل المثال ، يستخدم التعبير التالي الدالة IIf لإرجاع سلسله إذا كانت قيمه varFreightخاليه.

varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)

في المثال التالي ، توفر الوسيطة الاختيارية التي تم توفيرها للدالة Nz السلسلة المراد إرجاعها إذا كان varFreightفارغا.

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

أمثله استعلام

التعبير

النتائج

حدد ProductID ، NZ (الخصم) ، "لا تتوفر تفاصيل") ك Expr2 من برودوكتساليس ؛

ترجع الدالة "ProductID" في العمود Expr1 ، ويقيم قيم ' Null ' في الحقل "الخصم" وترجع "لا تتوفر تفاصيل" لكل القيم الفارغة (ترجع القيم غير الفارغة كما هي).

حدد ProductID ، NZ (الخصم) ، "لا تتوفر تفاصيل") ك ريبلاسينول من برودوكتساليس ؛

ترجع الدالة "ProductID" في منتج العمود ، ويقيم قيم ' Null ' في الحقل "الخصم" وترجع "لا تتوفر تفاصيل" لكل القيم الفارغة (ترجع القيم غير الفارغة كما هي) ويتم عرضها في العمود ريبلاسينول.

مثال VBA

ملاحظة: الامثله التالية توضح استخدام هذه الدالة في الوحدة النمطية Visual Basic for Applications (VBA). للحصول علي مزيد من المعلومات حول استخدام VBA ، حدد مرجع المطور في القائمة المنسدلة إلى جانب بحث وادخل مصطلحا واحدا أو أكثر في مربع البحث.

يقوم المثال التالي بتقييم عنصر تحكم في نموذج وإرجاع أحدي سلسلتين استنادا إلى قيمه عنصر التحكم. إذا كانت قيمه عنصر التحكم فارغه، فان الاجراء يستخدم الدالة Nz لتحويل قيمه فارغه إلى سلسله ذات طول صفري.

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

ملاحظة:  وقد تمت ترجمة هذه الصفحة آلياً وقد تحتوي على أخطاء نحوية أو أخطاء تتعلق بالدقة. إن هدفنا هو أن يكون هذا المحتوى مفيداً لك. هل يمكنك إعلامنا إذا ما كانت المعلومات مفيدة؟ فيما يلي المقالة باللغة الإنجليزية لتكون مرجعاً لك.

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider