الدالة Switch

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

تقييم قائمة من التعبيرات وإرجاع قيمة متغير أو تعبير مقترن بالتعبير الأول في القائمة وهي True.

بناء الجملة

Switch(expr-1, value-1 [, expr-2, value-2 ] ... [، expr-n، value-n ] )

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

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

ملاحظات

تتكون قائمة وسيطات الدالة Switch من أزواج من التعبيرات والقيم. يتم تقييم التعبيرات من اليسار إلى اليمين، ويتم إرجاع القيمة المقترنة بالتعبير الأول لتقييمه إلى True . إذا لم يتم إقران الأجزاء بشكل صحيح، يحدث خطأ في وقت التشغيل. على سبيل المثال، إذا كانت قيمة expr-1تساوي True، فترجع مفتاح Switchالقيمة 1. إذا كان expr-1تساوي False، ولكن expr-2 تساوي True، فترجع Switchالقيمة -2، وهكذا.

ترجع مفتاح التبديل قيمة فارغة إذا:

  • لا يوجد أي من التعبيرات True.
  • يحتوي تعبير True الأول على قيمة مطابقة فارغة.

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

مثال استعلام

التعبير النتائج
SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; ترجع هذه الدالة "ProductID"، وتقيم التعبيرات في الصيغة "Switch"، وتقوم بتبديل القيم الموجودة باستخدام قيم معرفة لكل التعبيرات "True". على سبيل المثال: يتم استبدال "PRO_XYZ1" ب "الأول" واستبدال "PRO_XYZ2" ب "اثنين" وهكذا.

مثال VBA

ملاحظة

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

يستخدم هذا المثال الدالة Switch لإرجاع اسم لغة تتطابق مع اسم مدينة ما.

Function MatchUp (CityName As String)
    Matchup = Switch(CityName = "London", "English", _
              CityName = "Rome", "Italian", _
              CityName = "Paris", "French")
End Function