أحمد العيسى قام بنشر الثلاثاء at 10:01 قام بنشر الثلاثاء at 10:01 في 8/6/2026 at 00:20, jjafferr said: بدلا عن هذا الشريط ، اليكم طريقة اسهل في التعامل بالاشارة الى المشاركة: فعلاً .. من أسهل ما يمكن وبطريقة ما أضفت هذا الشريط إلى تقارير ملف عندي بصيغة mdb لأننى أقوم بتشغيله على كافة إصدارات الأكسس من 2003 إلى 2024 فى الإصدار 2007 ممتاز ، تم ظهور وتمكين جميع محتوياته فى الإصدار 2003 ، للأسف بعض محتوياته الهامة أصبحت غير متاحة Shortcut Menu.mdb
jjafferr قام بنشر بالامس في 08:22 قام بنشر بالامس في 08:22 وعليكم السلام اخي احمد ولكوني لا املك اكسس 2003 ، فقد اعطيتك اقتراح من احد المواقع ، ولكن صادفت بعض الامور الاخرى البارحة (لا علاقة لها بهذا الكود) ، فأعدت التفكير مرة اخرى ، واليك النتيجة: جميع هذه الاوامر هي جزء من الاكسس ، فإذا مو موجودة في الاكسس ، فلن تعمل وستجدها باللون الرمادي (مثل التصدير الى PDF والتي لا توجد في اكسس 2003) ، ولاحظت اني لما فتحت التقرير بوضع Report View ، فاصبح امر close في القائمة رمادي ، فهاذ معناه ان الاكسس يعتبر هذا الوضع وضع نموذج وليس وضع تقرير !! عليه طلبت من الذكاء الاصطناعي ، فاعطاني هذه الدالة حتى تعمل على الصيغتين mdb و accdb ، وهي تعتمد في عملها على التأكد من صيغة البرنامج mdb او accdb ، فهذا معناه ان الدالة لا تكون ثابته (لا تحتاج الى الكود بعد تصنيعها) ، وانما هي مؤقته وتعمل كل مرة تشغل فيها الدالة : Public Function SCM_Zoom_Pages_Print_Export_TEMPORARY() Dim cmbName As String Dim cmb As Object Dim cmbCtrl As Object ' Variable IDs to handle MDB vs ACCDB compatibility Dim idQuickPrint As Long Dim idPrintDialog As Long Dim idExportWord As Long Dim idExportExcel As Long Dim idClose As Long On Error Resume Next 'If menu with same name exists delete cmbName = "rpt_Zoom_Pages_Print_Export_TEMPORARY" CommandBars(cmbName).Delete If Err.Number <> 0 Then Err.Clear On Error GoTo 0 ' Determine Control IDs based on file format (MDB < 12, ACCDB >= 12) If CurrentProject.FileFormat < 12 Then ' Classic Control IDs for MDB format idQuickPrint = 4 idPrintDialog = 19 idExportWord = 5535 idExportExcel = 5534 idClose = 1813 Else ' Modern Control IDs for ACCDB format idQuickPrint = 2521 idPrintDialog = 15948 idExportWord = 11725 idExportExcel = 11723 idClose = 923 End If ' Create the shortcut menu as TEMPORARY (The final parameter is set to True) Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, True) With cmb ' Add Zoom Set cmbCtrl = .Controls.Add(msoControlPopup, 21, , , True) 'Zoom Set cmbCtrl = .Controls.Add(msoControlPopup, , , , True) cmbCtrl.Caption = "Zoom Report" cmbCtrl.Controls.Add msoControlButton, 15681, , , True 'Zoom Fit to window cmbCtrl.Controls.Add msoControlButton, 1834, , , True 'Zoom 10% cmbCtrl.Controls.Add msoControlButton, 1833, , , True 'Zoom 25% cmbCtrl.Controls.Add msoControlButton, 1832, , , True 'Zoom 50% cmbCtrl.Controls.Add msoControlButton, 1831, , , True 'Zoom 75% cmbCtrl.Controls.Add msoControlButton, 7, , , True 'Zoom 100% cmbCtrl.Controls.Add msoControlButton, 1830, , , True 'Zoom 150% cmbCtrl.Controls.Add msoControlButton, 1829, , , True 'Zoom 200% cmbCtrl.Controls.Add msoControlButton, 6463, , , True 'Zoom 500% cmbCtrl.Controls.Add msoControlButton, 6464, , , True 'Zoom 1000% ' Add Pages Set cmbCtrl = .Controls.Add(msoControlPopup, 176, , , True) 'Pages Set cmbCtrl = .Controls.Add(msoControlPopup, , , , True) cmbCtrl.Caption = "Pages View" cmbCtrl.Controls.Add msoControlButton, 5, , , True '1 page cmbCtrl.Controls.Add msoControlButton, 639, , , True '2 Pages cmbCtrl.Controls.Add msoControlButton, 1801, , , True '4 Pages cmbCtrl.Controls.Add msoControlButton, 1800, , , True '8 Pages cmbCtrl.Controls.Add msoControlButton, 1799, , , True '12 Pages ' Add the Print command. Set cmbCtrl = .Controls.Add(msoControlButton, idQuickPrint, , , True) cmbCtrl.BeginGroup = True cmbCtrl.Caption = "Quick Print" ' Add the Print command. Set cmbCtrl = .Controls.Add(msoControlButton, idPrintDialog, , , True) cmbCtrl.Caption = "Select Pages and Printer" ' Add the Page Setup... command. Set cmbCtrl = .Controls.Add(msoControlButton, 247, , , True) cmbCtrl.Caption = "Page Setup" ' Add the Mail Recipient (as Attachment)... command. Set cmbCtrl = .Controls.Add(msoControlButton, 2188, , , True) cmbCtrl.BeginGroup = True cmbCtrl.Caption = "Email Report as an Attachment" ' Add the PDF or XPS command (Only available if running Access 2007 or newer) If Val(Application.Version) >= 12 Then Set cmbCtrl = .Controls.Add(msoControlButton, 12499, , , True) cmbCtrl.Caption = "Save as PDF/XPS" End If Set cmbCtrl = .Controls.Add(msoControlButton, idExportWord, , , True) cmbCtrl.Caption = "Export to Word..." cmbCtrl.FaceId = 42 Set cmbCtrl = .Controls.Add(msoControlButton, idExportExcel, , , True) cmbCtrl.Caption = "Export to Excel…" cmbCtrl.FaceId = 263 ' Add the Close command. Set cmbCtrl = .Controls.Add(msoControlButton, idClose, , , True) cmbCtrl.BeginGroup = True cmbCtrl.Caption = "Close Report" End With Set cmb = Nothing Set cmbCtrl = Nothing End Function . وعلشان تشتغل القائمة ، فيمكنك مناداتها في حدث فتح التقرير ، وتتلغيه عند المغادة ، هكذا : Private Sub Report_Open(Cancel As Integer) Call SCM_Zoom_Pages_Print_Export_TEMPORARY Me.ShortcutMenuBar = "rpt_Zoom_Pages_Print_Export_TEMPORARY" End Sub Private Sub Report_Close() Call SCM_Zoom_Pages_Print_Export_TEMPORARY End Sub
أحمد العيسى قام بنشر بالامس في 12:30 الكاتب قام بنشر بالامس في 12:30 (معدل) جميل جداً إخلاصك وتفانيك فيما بحثت عنه وكنت _أنت_ بارعاُ فيه شريط القائمة المختصرة فكرة رائعة وتختصر الكثير من الوقت والجهد ولا أطلب منها سوى وظيفة الطابعة فقط ، وهى باهتة فى 2003 غير محتاج لوظيفة أكسل أو وورد أو pdf ما تفضلت به بالكود أعلاه وكيفية استدعاءه أشكرك عليه لكن لا أظن أن ما سبق سوف يعادل فكرتك فى القائمة المختصرة وسهولة استخدامها وبالمناسبة الكود السابق لا ينتج المطلوب منه (فقط وميض ولا شئ آخر) .. جربته حتى على 2007 وحيث أن أغلب المدارس تستعمل أوفيس 2007 فما فوق فلا أجد مشكلة هنا المشكلة قد تكون عندي لأننى أجد سهولة كبيرة جداً فى التعامل مع 2003 تحياتي و تقديري لشخصك الكريم تم تعديل بالامس في 13:18 بواسطه أحمد العيسى 1
منتصر الانسي قام بنشر بالامس في 14:58 قام بنشر بالامس في 14:58 2 ساعات مضت, أحمد العيسى said: ولا أطلب منها سوى وظيفة الطابعة فقط ، وهى باهتة فى 2003 طالما وهذا طلبك جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003 تحياتي Shortcut Menu.mdb 2
أحمد العيسى قام بنشر بالامس في 15:19 الكاتب قام بنشر بالامس في 15:19 16 دقائق مضت, منتصر الانسي said: طالما وهذا طلبك جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003 إليك التجربة : على أكسس 2003 كل محتوى القائمة المختصرة متاح على أكسس 2007 الكل متاح ما عدا سطر "الصفحات المعروضة"
أحمد العيسى قام بنشر بالامس في 15:34 الكاتب قام بنشر بالامس في 15:34 طالما أن السمكة متاحة ، فهل يمكن أن نتعلم من حضراتكم إمكانية اصطيادها أريد تعلم كيف يمكن تصميم هذه القوائم المختصرة ؟
منتصر الانسي قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات 1 ساعه مضت, أحمد العيسى said: أريد تعلم كيف يمكن تصميم هذه القوائم المختصرة ؟ في أكسس 2003 العملية أسهل حيث يمكن إنشاء وتعديل القوائم مباشرة بالخطوات التالية أنقر بالزر الايمن على شريط الادوات وحدد تخصيص ستفتح لك نافذة قم بالخطوات كما هو محدد بالصورة عند النقر على موافق سيظهر لنا شريط فارغ كما بالصورة الآن نقوم بإضافة الأزرار المطلوبة كما بالصورة المتحركة التالية في هذا الوضع يكون الشريط هو من نوع قائمة أدوات أو Tool Bar أي أنه يمكن أن إستخدامه كقائمة في شريط الأدوات وليس كقائمة مختصرة وحتى نحولها لقائمة مختصرة نقوم بتنفيذ الخطوات كما في الصورة التالية ستظهر لنا نافذة منبثقة ومن قائمة النوع نحدد (منبثقة) كما بالصورة بعد أن نختار هذا الخيار سنلاحظ أنه تم إلغاء تفعيل جميع الخيارات بالاسفل ماعدا خيار إمكانية التخصيص (والذي إذا قمت بإلغائه فلن تتمكن من إضافة أو تعديل أي عناصر في القائمة) بعد أن حولنا القائمة إلى قائمة منبثقة سنلاحظ إختفاؤها من قائمة أشرطة الأدوات ولكي نظهرها فيجب علينا تحديد قائمة الأدوات (القوائم المختصرة أو Shortcut Menus) كما بالصورة ليظهر لنا شريط بالقوائم المختصرة وما يهمنا هنا هو آخر قائمة وهي قائمة Custom أو مخصصة والتي عند النقر عليها ستظهر لنا جميع أشرطة القوائم المختصرة ولكن نظراً لأنه لايوجد إلا شريط واحد فسيكون هو الوحيد الظاهر كم في الصورة من هنا وبالنقر بالزر الأيمن على أي عنصر يمكننا تعديل التسميات أو إضافة العناصر بنفس الطريقة الموضحة في الصورة المتحركة أعلاه (سحب وإفلات) أو حذف العناصر بالنقر بالزر الأيمن وإختيار حذف كما بالصورة عند الإنتهاء من كل التعديلات سنحصل على النتيجة التالية عندها نقوم بإغلاق نافذة التخصيص كما بالصورة الآن لو فتحنا أي تقرير في وضع التصميم سنجد أن القائمة ستظهر في الخصائص وإذا فتحناه في وضع المعاينة ونقرنا بالزر الأيمن سنحصل على هذه النتيجة الان يمكننا إستيراد هذه القائمة من أي تطبيق آخر بدون عناء إنشاء وتعديل قائمة جديدة وهكذا نكون قد إنتهينا من خطوات إنشاء وتعديل القوائم في أكسس 2003 أما في الإصدارات الأحدث فإن القوائم يتم إنشاؤها بإستخدام الكود ولو إطلعت على الأداة التي كنت قد رفعتها في هذا الموضوع ستجد الطريقة أرجو أن يكون الشرح واضح تحياتي 4
أحمد العيسى قام بنشر منذ 21 ساعات الكاتب قام بنشر منذ 21 ساعات الشر ح واضح طبعاً .. بارك الله فيك لكن لى سؤال ماذا لو أردت تعديل قائمة مختصرة جاهزة ( ولتكن عملياً قائمة أستاذنا jjafferr ) وقد رفعت أعلاه صورة منها بالصيغة mdb هنا أريد الاحتفاظ فقط ببعض محتوى: rpt_Zoom_Paged_Print_Export ومن الأخيرة أريد فقط أول أربعة قوائم إلى Select pages and Printer وحذف الباقى وفى النهاية تأخذ القوائم المختصرة الجديدة إسم جديد ( وليكن Printing ) حاولت كما ترى من الصور ، لكن الحذف السطور الأساسية غير متاح .. الفرعى فقط
jjafferr قام بنشر منذ 9 ساعات قام بنشر منذ 9 ساعات اخوي احمد ارفقت لك الكود الاصل لعمل هذه القائمة ، وقمت بتوقيف القوائم التي لا تحتاج لها ، وبتعديل ارقام القوائم التي تريدها ولم تظهر لك. 1. استورد القائمة الى برنامجك ، وجربها ، 2. اذا ما اشتغلت القائمة بالطريقة الصحيحة ، قم باستيراد الدالة ، وخلينا بعدين ننظر في تعديل القوائم اللي ما تشتغل. خلي عندك هذه الروابط حتى نرجع لها وقت الحاجة: . https://mskb.pkisolutions.com/kb/213552 Shortcut Menu_MDB_Report.mdb 1
أحمد العيسى قام بنشر منذ 7 ساعات الكاتب قام بنشر منذ 7 ساعات تمام أخى jjafferr أقرب التعديلات للقائمة المختصرة التى أميل لها فى تطبيقاتى هى قائمة الزميل منتصر الانسي والتى قال عنها "جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003" صورتها على 2003 نفس القائمة على 2007 ( وفيها عدم إتاحة سطر الصفحات المعروضة !! ) لو تم إيجاد طريقة لإتاحة السطر الباهت فى 2007 تكون المهمة اكتملت 100%
jjafferr قام بنشر منذ 7 ساعات قام بنشر منذ 7 ساعات 13 ساعات مضت, أحمد العيسى said: ماذا لو أردت تعديل قائمة مختصرة جاهزة ( ولتكن عملياً قائمة أستاذنا jjafferr ) وقد رفعت أعلاه صورة منها بالصيغة mdb مشاركتي الاخيرة كانت حسب طلبك اعلاه
أحمد العيسى قام بنشر منذ 4 ساعات الكاتب قام بنشر منذ 4 ساعات 2 ساعات مضت, jjafferr said: مشاركتي الاخيرة كانت حسب طلبك اعلاه تمام أستاذنا الكريم أنا لا أطلب شيئاً جاهزاً بل أريد التعلم أيضاً كمثال : كيف تم حذف بعض محتويات القائمة المختصرة ؟ بل كيف يتم حذف القائمة المختصرة كلها الغير مستخدمة بالكامل من التطبيق نفسه ؟
jjafferr قام بنشر منذ 4 ساعات قام بنشر منذ 4 ساعات رجاء ارجع الى مشاركتي السابقة التي ارسلت فيها مرفق ، وافتح المرفق وشوف الدالة . والاهم من هذا ، شوف الرابط اللي عرضته هناك ، فهو الموضوع الاصل للقائمة المختصرة
أحمد العيسى قام بنشر منذ 2 ساعات الكاتب قام بنشر منذ 2 ساعات ملخص ما سبق أستاذنا jjafferr وضع حلاً لشريط الطباعة الذى يظهر مع التقرير باستبداله بإضافة قائمة مختصرة بزر الماوس الأيمن وهى القائمة المختصرة " rpt_Zoom_Pages_Print_Export " مع الكثير من القوائم الغير مستخدمة زميلنا الفاضل منتصر الانسي أضاف قائمة أخرى تتناسب فى الأساس مع الصيغة mdb لأكسس 2003 وهى تعمل أيضاً مع صيغة accdb وهى القائمة المختصرة " قائمة مختصرة للتقارير" وقد طلبت منه شرح كيفية عمل تلك القوائم المختصرة ، فتفضل مشكوراً بهذا الشرح ، وقد استفدت من هذا الشرح كثيراً . الآن بالقاعدة كثيراً من القوائم المختصرة ( التى تم تفصيلها ) ، وأريد حذف البعض منها ؟ توجهت بسؤالى السابق للذكاء الصناعي ، فكان منه الإجابة المفيدة ، وبالفعل استطعت حذف ما لا أريده والإبقاء فقط على المستخدم بالقاعدة أعتقد أن الموضوع تم بالفعل تحياتى للجميع
منتصر الانسي قام بنشر منذ 2 ساعات قام بنشر منذ 2 ساعات صحيح أن الأخ أحمد قد أفاد بإنتهاء المشكلة ولكني فضلت أن أجيب عن بعض الإسئلة حتى يصبح هذا الموضوع كمرجع متكامل يغطي أكبر قدر من التساؤلات حول شريط القائمة المختصرة السؤال الأول كان 18 ساعات مضت, أحمد العيسى said: هنا أريد الاحتفاظ فقط ببعض محتوى: rpt_Zoom_Paged_Print_Export ومن الأخيرة أريد فقط أول أربعة قوائم إلى Select pages and Printer وحذف الباقى وفى النهاية تأخذ القوائم المختصرة الجديدة إسم جديد ( وليكن Printing ) سنعيد صيغة السؤال ليصبح كيف يمكن الإستفادة من بعض الأوامر من قوائم مختصرة موجودة في قائمة مختصرة جديدة؟ - للقيام بذلك سيتم أولاً إنشاء قائمة مختصرة جديدة بإسم Printing بنفس الطريقة التي تم شرحها في المشاركة السابقة - نقوم بسحب وإفلات الأوامر من المطلوبة من كل قائمة مختصرة إلى القائمة الجديدة كما بالصورة الطلب الثاني كان 19 ساعات مضت, أحمد العيسى said: حاولت كما ترى من الصور ، لكن الحذف السطور الأساسية غير متاح .. الفرعى فقط يمكن حذف القوائم الفرعية بطريقتين الطريقة الأولى وتنفذ في أكسس 2003 فقط وهي عن طريق تحويل القائمة المختصرة إلى ToolBar أو Menu Bar ثم حذفها بشكل طبيعي كما بالصورة الطريقة الثانية ويمكن تنفيذها من أي إصدار من إصدارات أكسس وهي بإستخدام أمر VBA التالي CommandBars("اسم_القائمة_المراد_حذفها").Delete وهنا لن تحتاج إلى تغيير توع القائمة تحياتي 1
Foksh قام بنشر منذ 25 دقائق قام بنشر منذ 25 دقائق مشاركتي في هذا الموضوع الجديد ، وأرجو أن ينال الإعجاب .. 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان