السلام عليكم
الموضوع شد انتباهي فعذرا على المداخلة
دالة switch لها من اسمها نصيب فهي اشبه ماتكون بمفتاح تبديل يقوم بتقيم كل المتغيرات ثم يعرض احدها
مثال
Switch([ID]=1,"IBM",[ID]=2,"HP",[ID]=3,"NVidia")
اي عندما تكون قيمة id =1 تكون القيمة اي بي ام 2 تكون اتش بي وهكذا ولا نحتاج الى تكرار الشرط
لا اعتقد انها مثلها استاذ احمد الدالة المشابهة لـ if هي Select Case
المثالين يوضحون الامر
iif
iif([ID]=1,"IBM",iif([ID]=2,"HP",iif([ID]=3,"NVidia","other")))
if
if [id]=1 then
[kh]="IBM"
ElseIf me.id =2 then
[kh] ="hp"
ElseIf me.id =3 then
[kh] ="NVidia"
else
[kh] ="other"
End If
وفي هذا المثال ☝️ لو استخدمنا Select Case لكان افضل
Select Case me.id
case 1
[kh] ="hp"
case 2
[kh] ="hp"
case 3
[kh] ="NVidia"
Case Else
[kh] ="other"
End Select
ومادمنا نتحدث عن ارجاع قيمة يمكنا الاشارة ايضا الى دالة Choose
وهي تقوم بإرجاع قيمة من قائمة الاختيارات بناءً على قيمة الفهرس
مثال
Choose([id],"ibm","hp","NVidia")
Choose و switch قد تعطي نتائج غير متوقعة لذا يراعي استخدام وسيطة مناسبه معهما
والموضوع اكبر من ذلك فقد يظهرلنا ان هناك بعض التشابهة بين عمل العديد من الدوال ولكن لكل دالة استخدامها ومتى يكون ذلك
اعتذر عن اي خطا في الاكواد لكوني اعتمد على الذاكرة والتي قد تخون احيانا .
وهنا اتوقف وندع الامر لاهل الاختصاص
قالت العرب من تحدث في غير فنه اتى بالعجائب
والله اعلم