أولاً شكراً لكم على التفاعل وعلى المقترحات التي قدمتموها وبالفعل هذه المقترحات في محلها وقد فكرت فيها شخصياً ولكن إسمحوا لي توضيح فكرتي في سبب عدم العمل بها
سبب عدم إضافة هذه الأسطر كان بسبب إختلاف الصيغة بإختلاف الإجراء الذي سيتم بناءً على الخيار المحدد فمن خلال الأمثلة سنجد أنه مرة ظهر بالشكل الذي ذكرته في ردك وفي مكان آخر ظهر بهذا الشكل
Call OpenCustomOptions("إختر الإدارة المطلوبة" _
, "الإدارة العامة" _
, "البحث والتطوير" _
, "الخدمات العامة" _
, "العمليات" _
, "المالية" _
, "المبيعات والتسويق" _
, "المشتريات" _
, "الموارد البشرية" _
, "تكنولوجيا المعلومات")
DoCmd.OpenForm "frmEmployees", , , "EmpDepartment='" & strResult & "'"
لاحظ أننا إكتفينا بأخذ القيمة النصية ووضعناها كمعيار تصفية مباشرة بدون إستخدام عبارة Select Case بالإضافة إلى ذلك في الحالات التي سيكون فيها خيارين فقط فقد يكون من الأفضل إستخدام عبارة IF بدلاً عن Select Case
هذا من ناحية ومن ناحية أخرى فإن الأداة ترجع لنا قيمتين واحدة رقمية والأخرى نصية فإذا تم إضافة هذه الأسطر فهل يتم كتابتها بناء على القيم الرقمية أم النصية ؟
وكما تفضلت وذكرت في كلامك فإن تفضيلي عدم إضافة أسطر خاصة بعبارة Select Case حتى لا يظن المستخدم العادي بأنها إلزامية ويجب أن تكون بتلك الصيغة
الحقيقة لا أخفيكم بأنه في البداية كان يتم إنشاء صيغة الكود لتكون بهذا الشكل
Call OpenCustomOptions("حدد أحد الخيارات التالية" _
,"الخيار الأول" _
,"الخيار الثاني" _
,"الخيار الثالث")
'intResult يمكن الحصول على رقم الخيار المحدد من خلال المتغير العام
'strResult ويمكن الحصول على نص الخيار المحدد من خلال المتغير العام
'يمكنك إستخدام أحدهما أو كلاهما
بحيث تظهر هذه الثلاثة أسطر بعد صيغة الأمر وتراجعت عنها حتى لا يبقيها المستخدم العادي وكأنها جزء من الكود (يمكنكم الإطلاع على كود الحدث SetCode خلف النموذج frmCustomOptionsBuilder وستجدون أني قمت بتعليق الأسطر الثلاثة)
بعد هذا التوضيح هل تعتقدون أن وجهة نظري كانت في محلها أم أني بالغت في الحذر ؟ فلو رأيتم أنه من الأفضل إضافة الأسطر الخاصة بعبارة Select Case فلا توجد مشكلة سأقوم بإضافتها فرأيكم سيكون هو الأفضل بالتأكيد
وأنا كذلك كنت بصدد الرد ولكن بعد قرائتي لآخر سطر في ردك تراجعت عن الفكرة