Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

إرجاع أحد الجزأين، اعتمادا على تقييم تعبير.

يمكنك استخدام IIf في أي مكان يمكنك فيه استخدام التعبيرات. يمكنك استخدام IIf لتحديد ما إذا كان تعبير آخر صحيحا أو خاطئا. إذا كان التعبير صحيحا، فإن IIf ترجع قيمة واحدة؛ إذا كان خطأ، فإن IIf ترجع آخر. يمكنك تحديد القيم التي يرجعها IIf .

الاطلاع على بعض الأمثلة

بناء الجملة

IIf ( expr , truepart , falsepart )

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

الوسيطة

الوصف

expr

مطلوبة. التعبير الذي تريد تقييمه.

جزء صحيح

مطلوبة. القيمة أو التعبير الذي يتم إرجاعه إذا كان exprهو True.

جزء خطأ

مطلوبة. القيمة أو التعبير الذي يتم إرجاعه إذا كان exprهو False.

ملاحظات

يقوم IIf دائما بتقييم كل من truepartوalsalpart، على الرغم من أنه يرجع واحدا منهم فقط. لهذا السبب، يجب أن تشاهد الآثار الجانبية غير المرغوب فيها. على سبيل المثال، إذا كان تقييم falsepart يؤدي إلى قسمة على صفر خطأ، يحدث خطأ حتى إذا كان exprهو True.

أمثلة

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

=IIf([CountryRegion]="Italy", "Italian", "Some other language")

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

استخدام IIf في التعبيرات المعقدة    يمكنك استخدام أي تعبير كجزء من عبارة IIf . يمكنك أيضا "تداخل" تعبيرات IIf ، مما يسمح لك بتقييم سلسلة من التعبيرات التابعة. للمتابعة مع المثال السابق، قد تحتاج إلى اختبار عدة قيم CountryRegion مختلفة، ثم عرض اللغة المناسبة بناء على القيمة الموجودة:

=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))

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

على سبيل المثال آخر، افترض أنك تعمل في مكتبة. تحتوي قاعدة بيانات المكتبة على جدول يسمى Check Outs يحتوي على حقل، يسمى Due Date، يحتوي على تاريخ استحقاق كتاب معين. يمكنك إنشاء نموذج يشير إلى حالة عنصر تم سحبه في عنصر تحكم باستخدام الدالة IIf في الخاصية Control Source الخاصة بعنصر التحكم هذا، على النحو التالي:

=IIf([تاريخ الاستحقاق]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Due"))

عند فتح النموذج في طريقة عرض النموذج، يعرض عنصر التحكم "OVERDUE" إذا كانت قيمة تاريخ الاستحقاق أقل من التاريخ الحالي، و"تاريخ الاستحقاق اليوم" إذا كانت مساوية للتاريخ الحالي، و"لم يتم الاستحقاق بعد" بخلاف ذلك.

ملاحظة: لاستخدام عوامل التشغيل المنطقية مثل "And" أو "Or" في وسيطة expr للدالة IIf ، يجب إحاطة التعبير المنطقي في دالة Eval . راجع جدول المثال التالي.

استخدام IIf في استعلام    

تستخدم الدالة IIf بشكل متكرر لإنشاء حقول محسوبة في الاستعلامات. بناء الجملة هو نفسه، باستثناء أنه في استعلام، يجب عليك تمهيد التعبير باسم مستعار للحقل وعلامة نقطتين (:) بدلا من علامة التساوي (=). لاستخدام المثال السابق، يمكنك كتابة ما يلي في صف الحقل لشبكة تصميم الاستعلام:

اللغة: IIf([CountryRegion]="Italy", "Italian", "Some other language")

في هذه الحالة، "اللغة:" هو الاسم المستعار للحقل.

لمزيد من المعلومات حول إنشاء الاستعلامات والحقول المحسوبة، راجع المقالة إنشاء استعلام تحديد بسيط.

استخدام IIf في التعليمات البرمجية ل VBA    

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

يستخدم هذا المثال الدالة IIf لتقييم المعلمة TestMe لإجراء CheckIt وإرجاع الكلمة "كبير" إذا كان المبلغ أكبر من 1000؛ وإلا، فإنه يرجع الكلمة "صغير".

Function CheckIt (TestMe As Integer)    CheckIt = IIf(TestMe > 1000, "Large", "Small")End Function

المزيد من الأمثلة

تعبير

النتائج

=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))

إذا كان [AirportCode] هو "ORD"، فسترجع "شيكاغو". وإلا، إذا كان [AirportCode] هو "ATL"، فسترجع "Atlanta". وإلا، إذا كان [AirportCode] هو "SEA"، فسترجع "Seattle". وإلا، قم بإعادة "Other".

=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))

إذا كان [ShipDate] قبل تاريخ اليوم، فسترجع "تم الشحن". وإلا، إذا كان [ShipDate] يساوي تاريخ اليوم، فسترجع "الشحن اليوم". وإلا، قم بإعادة "Unshipped".

=IIf([PurchaseDate]<#1/1/2008#,"Old","New")

إذا كان [PurchaseDate] قبل 1/1/2008، فسترجع "Old". وإلا، قم بإعادة "جديد".

=IIf(Eval([Volts] بين 12 و15 و[Amps] بين 0.25 و0.3)،"OK"،"خارج المعايرة")

إذا كان [Volts] بين 12 و15 و[Amps] بين 0.25 و0.3، فسترجع "موافق". وإلا، قم بإعادة "خارج المعايرة".

=IIf(Eval([CountryRegion] in ("Canada","USA","Mexico")),"North America","Other")

إذا كان [CountryRegion] هو "كندا" أو "USA" أو "المكسيك"، فقم بإعادة "أمريكا الشمالية". وإلا، قم بإعادة "Other".

=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))

إذا كان [المتوسط] 90 أو أكثر، فسترجع "A". وإلا، إذا كان [المتوسط] 80 أو أكثر، فسترجع "B". وإلا، إذا كان [المتوسط] 70 أو أكثر، فسترجع "C". وإلا، إذا كان [المتوسط] 60 أو أكثر، فسترجع "D". وإلا، قم بإعادة "F".

ملاحظة: إذا كنت تستخدم الدالة IIf لإنشاء حقل محسوب في استعلام، فاستبدل علامة المساواة (=) باسم مستعار للحقل وعلامة نقطتين (:). على سبيل المثال، الحالة: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.