يبدو أنك قمت إما بالتعديل على الوظيفة الإضافية مباشرة وبالتالي لن يتم حفظ التعديلات أو قمت بالتعديل على الملف الأساسي ولم تقم بإعادة إنشاء الوظيفة الإضافية مرة أخرى لأني طبقت الخطوات ونجحت معي
سأرفق لك الملف بعد التعديل قم بفتحه وأنقر زر Addin ثم اغلقه وافتح تطبيقك وافتح الوظيفة الإضافية لتجد أنه سيتم إظهار النموذج والتقرير كما بالصورة التالية
إسمح لي أخي @Foksh بملاحظة
المشكلة لم تكن في أن جداول النظام مخفية أو في نوع مصدر البيانات بل كانت في أن الوظيفة الإضافية كانت تقرأ من جدول MSysObjects الخاص بها وليس الجدول الخاص بالملف المضيف لذلك فبعد إذنك قمت بتعديل الكود الخاص بك مع إضافة التعليقات لتوضيح الأمر بالشكل التالي
Private Sub Form_Load()
Dim strHostPath As String
Dim strSQL As String
'تحديد مسار الملف المضيف
strHostPath = CurrentProject.FullName
'بناء جملة الإستعلام عن النماذج والتقارير الخاصة بالملف المضيف
strSQL = "SELECT Name, IIf(Type=-32768,'نموذج','تقرير') AS ObjType " & _
"FROM MSysObjects IN '" & strHostPath & "'" & _
"WHERE Type In (-32768,-32764) And Left(Name,1)<>'~' " & _
"ORDER BY Type, Name;"
'تعيين خاصية مصدر الصف للقائمة بالإستعلام هذا
Me.List_Objects.RowSource = strSQL
End Sub
وإذا فتحت خصائص مربع القائمة ستجد أني لم أقم بتغيير مصدر الصف أو نوع مصدر الصف
كذلك ستلاحظ أني قمت بالإستغناء عن السطر الخاص بإستبعاد النموذجين FrmMain و FrmAssignMenu (أقصد السطر التالي)
"AND Name Not In ('FrmMain', 'FrmAssignMenu') " & _
وذلك لسببين
الأول لأن النموذجين سيكونان موجودان في الوظيفة الإضافية فقط ولن يظهرا في مربع القائمة
أما السبب الثاني فحتى لايتم إستبعاد إي نماذج في الملف المضيف وتحمل نفس الإسم (خصوصاً FrmMain فالكثير يسمي النموذج الرئيسي بهذا الإسم)
شاكراً لك كل مابذلته من جهد في هذه الأداة القيمة ولا غنى عنها بحق
تحياتي
Menu Builder.accdb