اذهب الي المحتوي
أوفيسنا

نجوم المشاركات

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      53

    • Posts

      5089


  2. منتصر الانسي

    منتصر الانسي

    المشرفين السابقين


    • نقاط

      35

    • Posts

      1452


  3. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      28

    • Posts

      11653


  4. عبدالله بشير عبدالله

Popular Content

Showing content with the highest reputation since 08/24/26 in مشاركات

  1. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كمطورين لبرامج وقواعد بيانات آكسيس ، نعلم جميعاً أن أكبر تحدٍ يواجهنا بعد الانتهاء من برمجة أي مشروع هو مرحلة نشر البرنامج وتثبيته لدى العميل . وكثيراً ما نتفاجأ باتصالات وشكاوى متكررة من العملاء . أذكر منها :- ❌ الماكرو لا يعمل والأزرار لا تستجيب ، ( بسبب شريط الأمان الأصفر ) ❌ البرنامج تم حظره من الويندوز لأنه محمل من الإنترنت ، ( مشكلة الـ Unblock ) ❌ البرنامج بطيء أو يرفض تشغيل الأكواد من السيرفر المشترك ، ( Network Locations ) ❌ رسالة خطأ مفاجئة تقول: MaxLocksPerFile Exceeded عند ترحيل البيانات من هنا ، وُلدت فكرة هذه الأداة المتكاملة لتكون الحل الجذري والنهائي لكافة مشاكل الأمان ، والتوثيق ، وتهيئة بيئة التشغيل لأي مشروع آكسيس بضغطة زر واحدة . 🌟 فمن هي هذه اللأداة :- اسم الأداة :- مركز التوثيق وإدارة إعدادات الأمان في آكسيس - Access Security & Trust Center Manager التوافقية :- متوافقة مع كافة أنظمة ويندوز ( Windows 7 / 10 / 11 ) بنواتي ( 32-bit و 64-bit ) إصدارات أوفيس المدعومة :- تعمل بتوافقية تامة مع ( 2007, 2010, 2013, 2016, 2019, 2021, و Office 365 ) 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ إدارة مركز التوثيق والأمان (Trust Center & Macros) توثيق مسار المشروع فوراً ، وإضافة مجلد البرنامج ومجلداته الفرعية إلى المواقع الموثوقة (Trusted Locations) تلقائياً تمكين الماكرو و ActiveX . بخيار للتحكم في تفعيل الماكرو وعناصر التحكم دون ظهور أي رسائل تحذير مزعجة للعميل إلغاء شرائط التحذير وإخفاء شريط الرسائل الأصفر عند فتح البرنامج 2️⃣ فك حظر الملفات المحملة تلقائياً (Unblock Files) فك حظر ملفات البرنامج المحملة عبر الإنترنت أو الواتساب أو الشبكة من خلال مسح القيود من الريجستري تلقائياً تعديل سياسة ويندوز لمرفقات الملفات (SaveZoneInformation) لمنع حظر الملفات مستقبلاً 3️⃣ دعم كامل لشبكات وسيرفرات الشركات (Network Readiness) تمكين مسارات الشبكة ( AllowNetworkLocations ) والسماح لآكسيس بتشغيل الأكواد والماكرو من السيرفرات ومحركات الأقراص المشتركة (\\Server\Share) إلغاء تحذيرات الروابط والمرفقات الخارجية ( DisableHyperlinkWarnings ) ، وفتح التقارير الخارجية كملفات الـ PDF أو الروابط بسلاسة وبدون رسائل التحذير الأمنية 4️⃣ تحسين محرك البيانات وإصلاح العرض الرسومي (Engine & Graphics) زيادة سعة أقفال السجلات ( MaxLocksPerFile = 500,000 ) وذلك لمنع انهيار الاستعلامات الضخمة وتضارب المستخدمين في الشبكة المحلية إصلاح وميض النماذج ( DisableHardwareAcceleration ) بتعطيل التسريع الرسومي لبطاقات الشاشة لمنع وميض النماذج أو اختفاء الأزرار 5️⃣ تخصيص بيئة و واجهة البرنامج (UI & Startup Options) قفل كواليس المشروع ( AllowSpecialKeys ) من خلال تعطيل المفاتيح الخاصة مثل (F11) لحماية جزء التنقل من عبث المستخدمين إلغاء رسائل التأكيد بتعطيل رسائل التأكيد عند الحذف ، التعديل ، واستعلامات الإجراءات التحكم بمظهر آكسيس وذلك من خلال إظهار أو إخفاء شريط الحالة السفلي الرمادي ، والكائنات المخفية ، وجداول النظام ، وسلوك مفتاح Enter ، وتعطيل شاشة ترحيب أوفيس للتشغيل المباشر 🚀 الميزة الجديدة والمطورة :- مشغل العميل التلقائي ( Client Launcher Generator ) تحتوي الأداة على زر تصدير مشغل الإعدادات ، والذي يقوم بإنشاء ملف باتش تنفيذي ( .bat ) يتميز بما يلي :- طلب صلاحية تشغيل المسؤول ذاتياً ( Self-Elevating UAC ) بمجرد فتحه ودون الحاجة لتشغيله كمسؤول Run As Administrator ذكاء التصدير بحد ذاته سيمكنك من تصدير ملف التشغيل والضبط لنفس قاعدة البيانات الحالية ، أو استعراض وتحديد أي قاعدة بيانات خارجية ( accdb أو accde ) لإنشاء المشغل الخاص بها في مجلدها مباشرة تجهيز الجهاز فوراً في لحظة واحدة بحيث يقوم المشغل بضبط كافة إعدادات الأمان في ريجستري العميل وفتح البرنامج مباشرة في ثوانٍ معدودة 🧹 الصيانة الذكية وضبط المصنع :- إزالة التوثيق لمجلد المشروع من خلال زر مخصص لإلغاء توثيق المجلد ومسح سجلات الملف من مسارات الريجستري لأوفيس بالكامل استعادة ضبط المصنع والإعدادات الإفتراضية ستجعل إمكانية استرجاع إعدادات الأمان الافتراضية الأصلية لبرنامج آكسيس أمر في غاية السهولة وفي لحظة واحدة 📥 كيفية الاستخدام :- استيراد النموذج Frm_SecuritySettings والوحدة النمطية Mod_Trust إلى مشروعك فتح النموذج لضبط الخيارات التي تناسبك ( الخيارات تقرأ حالتها اللحظية مباشرة وتتلون ديناميكياً حسب الحالة بالأبيض أو الأصفر ) الضغط على حفظ وتطبيق لتطبيقها فوراً على جهازك ، أو الضغط على تصدير المشغل لتوليد ملف التشغيل الجاهز للعملاء 📸 صورة لواجهة الأداة :- ملف الأداة مفتوح المصدر ، للتحميل :- Trust Center.zip
    6 points
  2. اعرض الملف ⭐ هدية ~ الحل المتكامل لتحزيم وتوزيع تطبيقات أكسس كملف تنفيذي احترافي 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كثيراً ما يقضي مطور ومبرمج قواعد بيانات أكسس أياماً وليالي في تصميم وبرمجة نظامه بأعلى درجات الإتقان والإحترافية ، ولكن عند وصول لحظة تسليم البرنامج للعميل تبدأ التحديات الحقيقية 😵 ، والتي ألخصها بما يلي :- كيف أمنع العميل من العبث بالتصميم وكود الـ VBA ؟ كيف أتخلص من رسائل الأمان المزعجة ؟ كيف أقوم بتثبيت الخطوط الخاصة وتجهيز المرفقات وملفات الـ Back-End بسلاسة ؟ كيف أُقدّم البرنامج للعميل في صورة ملف تثبيت احترافي ( Setup.exe ) وبأيقونة مخصصة ؟ من هذا المنطلق ، وخدمة لإخواني المطورين وصانعي تطبيقات الآكسيس ، يسعدني أن أضع بين أيديكم اليوم أداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder وهي أداة متطورة تم بناؤها من داخل أكسس نفسه باستخدام نسخة محمولة من Inno ، لتتولى أتمتة عملية التحزيم والتوزيع بالكامل بنقرة زر واحدة ودون أي تعقيد . 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ التحويل التلقائي الذكي إلى ( ACCDE / MDE ) ، وهنا يلعب الدور إصدار آكسيس الذي تم تشغيل الأداة من خلاله . تحويل فوري ومحمي لقاعدة البيانات بنقرة واحدة لحماية أكواد الـ VBA . فحص وتشخيص ذكي للأخطاء . الأداة لا تكتفي بإظهار رسائل خطأ غامضة ؛ بل تفحص تلقائياً ( صيغة الملف ، القفل والتزامن ، المراجع البرمجية المفقودة بالاسم ، وأخطاء التجميع ... إلخ ) لتخبرك بالسبب الدقيق وحله فوراً . 2️⃣ الأمان وحماية البرنامج :- تعطيل المفتاح الخاصة وخصوصاً مفتاح الـ Shift . حيث تقوم بقفل تشغيل البرنامج بزر Shift وأي مفاتيح خاصة ، لمنع الدخول للنوافذ الخلفية أو نافذة التنقل أو محرر الأكواد . إضافة المواقع الموثوقة ( Trusted Locations ) ؛ فتقوم بتسجيل مسار البرنامج تلقائياً في سجل الويندوز (داخل الـ Registry ) لتعمل الماكرو وأكواد VBA بدون أي تحذيرات أمان. حماية التثبيت بكلمة مرور . وهذه تتيح إمكانية تشفير ملف التثبيت وحمايته بكلمة سر تمنع غير المصرح لهم من تنصيبه . 3️⃣ المعمارية المزدوجة وفصل البيانات ( Front-End و Back-End ) :- دعم كامل للأنظمة المقسمة ؛ بحيث يمكنك تحديد مسار تثبيت مختلف ومستقل لملف البيانات (Back-End) عن ملف الواجهة . دعم تضمين مجلدات وملفات إضافية غير محدودة (مستندات ، صور ، أدلة تشغيل ... إلخ ) . 4️⃣ دعم الأجهزة غير المزودة بأوفيس ( Access Runtime ) :- إمكانية تضمين حزمة التثبيت الخاصة بـ Microsoft Access Runtime ليعمل برنامجك على أي جهاز عميل لا يملك نسخة أوفيس مثبته داخل الويندوز . 5️⃣ التثبيت التلقائي للخطوط واتفاقية الاستخدام :- خيار لتثبيت خطوط البرنامج الخاصة في نظام ويندوز العميل تلقائياً . إظهار شاشة اتفاقية الترخيص ( License Agreement ) قبل بدء التثبيت . 6️⃣ واجهة تثبيت تفاعلية ومخصصة :- تمكنك الأداة من إنشاء إختصارات سطح المكتب وقائمة ابدأ بأيقونة التطبيق المخصصة . دعم واجهات التثبيت باللغة ( العربية / الإنجليزية / أو كلاهما ) ليختار العميل لغته المفضلة لواجهة التثبيت . 7️⃣ نافذة تيرمنال عصرية وملونة ( Live Log Terminal ) :- شاشة سجل تفاعلية حديثة ، تعرض خطوات البناء لحظة بلحظة بنظام ألوان متناسق وواضح ومخصص لسهولة المتابعة . 📥 كيفية الاستخدام :- اختر مشروعك أو أنشئ مشروعاً جديداً . حدد ملف قاعدة البيانات الرئيسي ( وملف قاعدة البيانات الخلفية - الجداول - إن وجد ) والأيقونة . قم بتفعيل الخيارات التي تناسبك من لوحة التحكم ، مثل ( Shift , Trusted Location , Fonts , Runtime ... إلخ ) . اضغط على زر إنشاء حزمة التثبيت ، وسيتكفل البرنامج بالباقي لتجد ملف الـ EXE جاهزاً للتسليم 😁 . 📸 صورة لواجهة الأداة وتبويباتها :- فيديو توضيحي لطريقة الاستخدام بشكل سريع .. أتمنى أن تكون هذه الأداة عوناً وإضافة نافعة لجميع المطورين والمبرمجين في مشاريعهم القادمة ونسألكم خالص الدعاء بظهر الغيب .. صاحب الملف Foksh تمت الاضافه 09/05/26 الاقسام قسم الأكسيس  
    5 points
  3. اعرض الملف أداة البحث السريع {سلسلة الأدوات المساعدة المخصصة} أي شخص يتعامل مع برامج وتطبيقات قواعد البيانات لايمكن أن يستغني عن إستخدام أي وسيلة من وسائل البحث عن البيانات فمثلاً عندما تريد تصفية نموذج بيانات الموظفين لإستعراض بيانات موظف واحد فقط , أو كمثال آخر إذا كنت تعمل على شاشة المبيعات وتريد إدخال رقم الصنف فتقوم بفتح قائمة الأصناف والبحث عن الصنف المطلوب لإرجاع كود الصنف والإحتفاظ به في جدول المبيعات , والكثير من الأمثلة الأخرى المشكلة هنا هو أنك ستكون مضطر لإنشاء نموذج بحث لكل مكان ستحتاج فيه إلى البحث عن البيانات أو على الأقل نموذج واحد لكل نوع من أنواع البيانات ولحل هذه المشكلة أقدم لكم اليوم أداة جميلة وبسيطة تمنحكم إمكانية الحصول على أي عدد قد تحتاجونه من قوائم البحث وبإستخدام نموذج واحد فقط (بالأصخ نموذج رئيسي وآخر فرعي) وقد أسميت الأداة بإسم أداة البحث السريع لأنها بالفعل تقدم أسرع تجربة بحث قد تجدها سواء كنت تستخدم الماوس أو لوحة المفاتيح وكما هو موضح بالصورة المتحركة فلو رأينا سرعة الوصول لنتيجة البحث بإستخدام الماوس وقارناها مع مربع التحرير والسرد أو مربع القائمة سيكون الفارق كبير وكما تعودنا سأرفق لكم ملفي القالب والنسخة التوضيحية والتي ستجدون بداخلها أمثلة عملية لإستخدام الأداة مع ملاحظات وتعليمات أرجو قرائتها بعناية أرجو أن تجدوا في هذه الأداة الفائدة والعون في تسهيل أعمالكم تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/08/26 الاقسام قسم الأكسيس  
    4 points
  4. وعليكم السلام ورحمة الله وبركاته تم العاء AC3 وربط المعادلة بالخلية AC1 للقائمتين مع اضافة كود تلقائي لمسح احد القائمتين عند اختيار الاخرى __المقياس المتدرج 3456 الصفوف العليا2026 - نسخة.xlsb
    4 points
  5. معادلة جلب العنوان: =IFERROR(INDEX($K$4:$K$1000,MATCH($B4&$C4&$D4,$H$4:$H$1000&$I$4:$I$1000&$J$4:$J$1000,0)),"") معادلة جلب المهنة: =IFERROR(INDEX($L$4:$L$1000,MATCH($B4&$C4&$D4,$H$4:$H$1000&$I$4:$I$1000&$J$4:$J$1000,0)),"") في إصدارات Excel القديمة يجب إدخال المعادلة كمصفوفة بالضغط على: Ctrl + Shift + Enter أما في Excel 365 وExcel 2021 فيكفي الضغط على Enter فقط، ولا حاجة لاستخدام Ctrl + Shift + Enter.
    3 points
  6. وعليكم السلام ورحمة الله وبركاته .. إليك معادلات شاملة للعيارات من 18 - 24 للحركات مبيعات ومشتريات :- عدد حركات المبيعات للعيار 18 :- ="عدد حركات المبيعات عيار 18 = "&COUNTIFS(C:C,"مبيعات",F:F,18) عدد حركات المشتريات للعيار 18 :- ="عدد حركات المشتريات عيار 18 = "&COUNTIFS(C:C,"مشتريات",F:F,18) عدد حركات المبيعات للعيار 21 :- ="عدد حركات المبيعات عيار 21 = "&COUNTIFS(C:C,"مبيعات",F:F,21) عدد حركات المشتريات للعيار 21 :- ="عدد حركات المشتريات عيار 21 = "&COUNTIFS(C:C,"مشتريات",F:F,21) عدد حركات المبيعات للعيار 24 :- ="عدد حركات المبيعات عيار 24 = "&COUNTIFS(C:C,"مبيعات",F:F,24) عدد حركات المشتريات للعيار 24 :- ="عدد حركات المشتريات عيار 24 = "&COUNTIFS(C:C,"مشتريات",F:F,24) ولو أردت التوسع بتحديد الجديد والمستعمل كمثال :- ="عدد حركات المبيعات الجديدة عيار 21 = "&COUNTIFS(C:C,"مبيعات",E:E,"جديد",F:F,21) ="عدد حركات المبيعات الجديدة عيار 24 = "&COUNTIFS(C:C,"مبيعات",E:E,"جديد",F:F,24) ="عدد حركات المشتريات الجديدة عيار 21 = "&COUNTIFS(C:C,"مشتريات",E:E,"جديد",F:F,21) ="عدد حركات المشتريات الجديدة عيار 24 = "&COUNTIFS(C:C,"مشتريات",E:E,"جديد",F:F,24) ويمكن استعمال معادلة عامة تقرأ تلقائياً الخلايا بقيمها النصية ، كمثال لصف وصنف واحد :- ="عدد حركات "&E1&" "&E2&" عيار "&F3&" = "&COUNTIFS(C:C,E1,E:E,E2,F:F,E3) فتكون النتيجة للمثال السابق = عدد حركات الحالة جديد عيار 21 = 0 وهذا حالياً ما استطعت تنفيذه من طلبك .. الملف للتوضيح :- Book1.xlsx
    3 points
  7. بالرغم من تجربتى للكود الاسماء تتغير ولا مشكلة تاكد من ان خيارات الحساب تلقائي وليس يدوي طباعة.xlsb
    3 points
  8. اعرض الملف أداة إنشاء الخيارات المخصصة بإستخدام القوائم المختصرة {سلسلة الأدوات المساعدة المخصصة} اليوم أقدم لكم طريقة أخرى من طرق إنشاء قوائم الخيارات المخصصة ولكن هذه المرة بإستخدام القوائم المختصرة السياقية كل ما يتطلب معرفته للعمل بهذه الأداة ستجدونه موضحا ضمن المرفقات وكما تعودنا فمرفق لكم ملف أكسس بإسم النسخة التوضيحية تحتوي على أمثلة عملية توضح طريقة عمل الأداة وطرق الإستفادة منها بالإضافة إلى نسخة بإسم القالب يحتوي الكائنات المطلوب إستيرادها تم في هذه الأداة الأخذ بالإقتراحات التي قدمها الأخ @Foksh والأخ @Moosak في موضوع الأداة السابقة هنا فأصبح نموذج ببناء صيغة أمر الإستدعاء يقوم بإضافة عبارة Select Case ضمن الصيغة وتم إستخدام دالة بدل الإجراء ليتم إرجاع قيمة الخيار مباشرة لأني رأيت بصراحة أن هذين الإقتراحين هما الأنسب لهذه الأداة أرجو أن تجدوا في هذه الأداة الفائدة العلمية والعملية وفي إنتظار أي ملاحظات تقدمونها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/19/26 الاقسام قسم الأكسيس  
    2 points
  9. رغم أني أرى أن طريقة عمل الأداة أبسط من تحتاج إلى فيديو لشرحها ولكن إذا كان ولابد فلايوجد أفضل من الأستاذ @Moosak للقيام بالمهمة فهو الوحيد المتمرس في مثل هذا النوع من الفيديوهات
    2 points
  10. من جمال الفكرة قمت بتنفيذها مباشرة الآن أصبح بالإمكان تصدير الكائنات المطلوبة فقط لعمل الأداة مع التحقق لعدم تصديرها أكثر من مرة
    2 points
  11. كلامك صحيح وفي محله ولكني أريد توضيح نقطة هنا من باب العلم بالشئ لا أكثر هذا ليس شرط في كل الحالات ولكنه سيكون كإجراء وقائي حتى نتأكد من أن لا يتم تنفيذ إجراء بغير قصد فمثلاً في المثال الأول في النسخة التوضيحية نلاحظ عدم حصول أي شيئ عند عدم تحديد أي عنصر في القائمة ولو عدنا للكود خلف زر الأمر سنجد عدم وجود عبارة Case Else Dim intResult As Integer intResult = GetOptions("نموذج إدخال البيانات" & _ ";نموذج تعديل البيانات" & _ ";نموذج إستعراض البيانات" & _ ";نموذج تحديد معايير تصفية التقارير") Select Case intResult Case Is = 1 DoCmd.OpenForm "frm01" Case Is = 2 DoCmd.OpenForm "frm02" Case Is = 3 DoCmd.OpenForm "frm03" Case Is = 4 DoCmd.OpenForm "frm04" End Select ولكن في المثال الثاني سنجد أنه سيتم تنفيذ إجراء لم يكن في الحسبان في هذه الحالة سيتطلب منا إضافة عبارة Case Else وعلى رأي المثل الوقاية خير من العلاج إن شاء الله سأقوم يإضافة هذا الأمر ضمن بناء صيغة الأمر بالإضافة إلى معالجة الملاحظة المقدمة من الأخ @Moosak وذلك في النسخة الجديدة التي أقوم فيها بإضافة الهدية القيمة المقدمة منك
    2 points
  12. كتبت لك الحل في المشاركة السابقة واكرر لم توضح الرقم الاصل او الاساسي هل هو في الخلية O10 او K9 لان الحل يختلف والنتيجة تختلف بفرضية ان الرقم الاصل الاولي هو في K9 اليك الملف AS.xlsx
    2 points
  13. وعليكم السلام ورحمة الله وبركاته اولا لم توضح الرقم الاساسي هل هو في الخلية O10 او K9 اذا كان القيمة في الخلية O10 هي الاساس غيّر معادلة الخلية H10 لتكون: =K10 اما إذا كان الأساس هو نسبة الـ 9% من المجموع الكلي (95975.95) غيّر قيمة الخلية O10 لتكون معادلة بدلاً من رقم ثابت =O9*9% والسبب ان نسبة 9% للرقم 95975.95 ليست 8637.8400 وانما 8637.8355 والفرق بينهما 0.0045 ضرب 12=0.05 (5 سنتيم)
    2 points
  14. أخواني وأساتذتي ومعلمينا ( دون استثناء ) كثير من المطورين ومصممي قواعد البيانات والمشاريع الخاصة بهم ، عندما يقوم بحفظ مشروعه بصيغة Accde ؛ بتفاجئ بأن جهاز العميل لم يقم بتشغيل قاعدة البيانات رغم خلوها من جميع الأخطاء البرمجية ، أو عدم التوافقية في الأكواد بين الناتين 32 و 64 . ولذا يلجأ لحفظ قاعدة البيانات بإصدار مطابق لإصدار أوفيس العميل المثبت في جهازه . أو إجبار العميل على تثبيت إصدارات حديثة أو بنواة معينة ... إلخ . اليوم كانت لي تجربة لتقوم بمهمة تشغيل قاعدة بياناتك على أي إصدار وعلى أي نواة وعلى أي ويندوز دون الحاجة لأي تدخل من مطور البرنامج . تجربتي اليوم ستقوم على مشروع مفتوح المصدر تم طرحه بعنوان الأداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder كتجربة ليس إلا في هذا الموضوع هنا . على العموم وللتوضيح سأقوم بإرفاق ملف قاعدة البيانات ، والتجربة ممن يرغب بمشاركتنا رأيه ما يلي :- ذكر إصدار ونواة آكسيس الذي قام بالتجربة عليه . ذكر اصدار الويندوز ونواتها أيضاً . ممن يملك إصدارين من آكسيس على جهازه ( مثل أخوكم 😅 ، لدي الإصدارين 2019 - 64 ، والإصدار 2010 - 32 ) ، تجربة الفكرة على الاصدارين ومشاركتنا رأيه بنجاح أو فشل التجربة وهي عنوان الموضوع . وهذه صورة من جهازي الشخصي الذي أملك إصدارين مثبتين عليه . المشاركة مفتوحة لمن يرغب وغير مقتصرة على أحد 😇 . وبناء على النتائج والتفاعل ، سأقوم بفتح موضوع مخصص وطرح الأداة والشرح عنها بكامل تفاصيلها وآلية العمل عليها . وتشجيعاً لمن رغب بالتجربة .. جرب في مربع نص المسار اكتب إشارة # يليها مباشرة officena.net ، وهنا السر العجيب . لاحظ الصورة للتوضيح :- ♻ حيث سيتم استخراج قاعدة البيانات مفتوحة المصدر Accdb وليس Accde ♻ يعني يا صديقي يا مطور البرنامج ، لو في يوم من الأيام ولو بعد 10 سنين ؛ جاء العميل راكضاً ويريد منك إضافات وتعديلات جديدة . وتفاجأت بأن النسخة الأصلية ضاعت منك أو لم تعد موجودة في جهازك ولأي سبب من الأسباب .. فقط اكتب كلمة المرور التي حددتها في الأداة التي سيتم طرحها منفردة في موضعها الخاص , وستحصل على قاعدة بياناتك الأصلية مفتوحة المصدر 😁 . حجم الملف المرفق أكبر من الحد المسموح به ، لذا سأرفعه برابط مباشر على جوجل درايف من هنا . طبعاً حجم قاعدة البيانات هو 10 ميجا ..
    2 points
  15. أعتذر بشدة فعلاً هذا الخطأ كان في القالب والحقيقة لاأعرف كيف حصل ففي الغالب أقوم بتجهيز القالب بناءً على أخر نسخة من النسخة التوضيحية قبل رفعها للمنتدى الغريب أنه لم يذكر أحد هذه المشكلة قبل الأخ @أحمد العيسى تم تصحيح الخطأ وإعادة رفع الأداة
    2 points
  16. بسيطة أخي الكريم .. إذا أردت الإعتماد على المعادلة السابقة في الخلية لكل اسم ، فيمكن استخدام المعادلة التالية في الخلية N9 كمثال ، ونفس الأمر تقوم بسحبها لأسفل :- =TRIM(MID(TRIM(Q9), LEN(O9) + 1, LEN(Q9))) أما إذا كنت تريد معادلة مستقلة ولا تعتمد على المعادلة الأولى لاستخلاص اللقب ( كعدم وجودها أساساً ) ، استخدم المعادلة التالية كمثال :- =TRIM(MID(TRIM(Q9), FIND("^", SUBSTITUTE(TRIM(Q9)&" ", " ", "^", IF(OR(LEFT(TRIM(Q9), 3)="بن ", LEFT(TRIM(Q9), 4)="أبو ", LEFT(TRIM(Q9), 4)="ابو "), 2, 1))) + 1, LEN(Q9))) ملفك بالمحاولتين :- فصل.xlsx
    2 points
  17. يمكنك استخدام الدالة Application.OnTime لتشغيل إجراء آخر بعد دقيقة من استدعاء الكود: Sub StartTimer() 'تشغيل الإجراء SaveAndClose بعد دقيقة Application.OnTime Now + TimeValue("00:01:00"), "SaveAndClose" End Sub Sub SaveAndClose() ThisWorkbook.Save 'حفظ الملف Application.Quit 'إغلاق Excel End Sub طريقة العمل عند تشغيل StartTimer يبدأ المؤقت. ينتظر Excel دقيقة واحدة. يتم استدعاء الإجراء SaveAndClose. يتم حفظ المصنف ثم إغلاق برنامج Excel. إذا كنت تريد إغلاق المصنف فقط دون إغلاق برنامج Excel بالكامل: Sub StartTimer() Application.OnTime Now + TimeValue("00:01:00"), "SaveAndCloseWorkbook" End Sub Sub SaveAndCloseWorkbook() ThisWorkbook.Save ThisWorkbook.Close SaveChanges:=True End Sub وإذا أردت تغيير المدة إلى 5 دقائق مثلاً: Application.OnTime Now + TimeValue("00:05:00"), "SaveAndClose" بهذه الطريقة يتم التنفيذ في الخلفية بعد المدة المحددة دون استخدام حلقات انتظار (Loop) أو Application.Wait.
    2 points
  18. اعرض الملف أداة إنشاء مجموعات الخيارات المخصصة {سلسلة الأدوات المساعدة المخصصة} من منا لم يواجه عند تصميم تطبيق ما لحالات تتوقف على إستجابة المستخدم لتوجيه سير العمل بإتجاه مختلف عن الآخر وأغلب هذه الحالات نستخدم فيها مربع الحوار MsgBox فنطلب منه مثلاً الرد بنعم أو لا أو موافق أو إلغاء الأمر .... إلخ حسناً ماذا لو واجهت حالات تتطلب أكثر من ثلاثة خيارات مثلاً وأريد أن تكون هذه الخيارات مكتوبة بشكل صريح فسيكون من الصعب إستخدام MsgBox فنحن سنكون محكومين بمسميات الأزرار الإفتراضية والتي قد لا تعبر عن المطلوب بطريقة صحيحة صحيح أنه يمكننا إستخدام أداة مربع حوار المهام TaskDialog لنحصل على النتيجة المطلوبة وأحسن ولكن قد يرى البعض أنه ليس بحاجة لإستخدامها لأي سبب من الأسباب وسيفضل أن يقوم بإنشاء نموذج مخصص لهذه الحالة فقط ... حسناً وماذا إذا إحتاج إلى قائمة خيارات أخرى؟ عندها سيضطر إلى إنشاء نموذج ثاني وثالث ... وهكذا لكل ما سبق أقدم لكم اليوم أداة أعتبرها من الأدوات المثيرة للإعجاب وذلك لأنها رغم بساطتها إلا أنها تقدم خدمة لاغنى عنها بل وتوفر علينا الكثير من الوقت والجهد ولبساطتها لم أحتاج إلى كتابة أي تعليمات لشرح طريقة عملها فكل ماهو مطلوب هو تعبئة بعض مربعات النص فقط ويمكن مشاهدة النتيجة مباشرة وعند الإنتهاء يتم النقر على زر النسخ ولصق الكود في أي حدث تريد ... هذا كل شيء ماعليك إلى أن تكمل التعليمات البرمجية المترتبة على نتيجة التحديد وكما تعودنا ستجدون في المرفقات ملفي أكسس الأول بإسم القالب ويحتوي على نموذجين ووحدة نمطية والحقيقة أنك لست بحاجة إلا إلى نموذج واحد إلى جانب الوحدة النمطية في النسخ النهائية (وهما ماستجدونهما في النسخة التوضيحية) أما نموذج منشئ صيغة أمر الإستدعاء فلن تحتاجه إلا خلال التطوير وهنا يجب علي أن أتقدم بألشكر للأخ العزيز @Foksh والذي دائماً ما يتحفنا بهدايا تقدم في ظاهرها وظائف رئيسية وفي باطنها تقدم وظائف أخرى فرعية أو مخفية لاتقل في أهميتها عن الوظيفة الأساسية التي تقدمها الأداة ومن ضمن هذه الهدايا المخفية كانت وظيفة تحويل أي تطبيق إلى وظيفة إضافية Add-in لذا فقد قمت بإستخدام الكود الخاص به لمنح إمكانية حفظ الأداة كوظيفة إضافية ليمكن للجميع الإستفادة من الإداة في جميع تطبيقات أكسس دون الحاجة إلى إستيراد نموذج منشئ صيغة أمر الإستدعاء ملف أكسس الآخر فهو بإسم (النسخة التوضيحية) وستجدون فيه بعض الأمثلة لطريقة الإستفادة من الأداة (أحد الأمثلة أعتبره هدية بحد ذاته) ملاحظة مهمة : أرجو قراءة التعليقات المرفقة بالكود الخاص بكل زر أمر لكل مثال فستجدون فيها توضيح لكل إجراء في الأخير أرجو أن تنال الأداة إعجابكم وأن تجدو فيها الفائدة في أعمالكم وإذا كان لدى أي أحد أي إستفسار أو ملاحظة فلا يبخل علينا بها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/01/26 الاقسام قسم الأكسيس  
    2 points
  19. السلام عليكم اساتذي الاعزاء .. ارجو ابداء ملاحظاتكم على تصميم واجهات برنامج ادارة معارض السيارات ..ليتسنى لي الاستفادة من ارائكم وتوجيهاتكم مع التقدير
    2 points
  20. 2 points
  21. وعليكم السلام ورحمة الله وبركاته .. رغم عدم قناعتي بهيكلة وتصميم الملف ، اعتقد أن ذهابك إلى جدول منفصل لعمليات البيع وجدول آخر منفصل لعميات الشراء ، أو جدول الحركات الموحد العام وهو جدول يعرض تفاصيل لجميع حركات المخزن ( بيع ، شراء ، مرتجع ، تحويل من إلى ... إلخ ) ، ولكن بحقول موحدة ( TransID , DocType , DocID , Item , Qty , Price , Discount ) ؛ حيث DocType كمثال ، سيحدد هل الحركة هي حركة بيع أم شراء ، وبذلك لا تحتاج لتكرار حقول sale_qty و buy_qty .... ولكن !! في فكرة التنفيذ على الزر ، استعمل الحدث التالي :- Private Sub Command160_Click() On Error GoTo ErrHandler If Me.NewRecord Or IsNull(Me.sale_id) Then MsgBox "يرجى تحديد فاتورة بيع أولاً", vbExclamation + vbMsgBoxRight, "" Exit Sub End If If Me.Dirty Then Me.Dirty = False Dim db As DAO.Database Dim rsBuy As DAO.Recordset Dim rsSaleDet As DAO.Recordset Dim rsBuyDet As DAO.Recordset Dim newBuyID As Long Set db = CurrentDb Set rsBuy = db.OpenRecordset("buy", dbOpenDynaset) rsBuy.AddNew rsBuy!reg_date = Me.reg_date rsBuy!code = Me.code rsBuy!explain = Me.explain rsBuy!discount = Me.discount rsBuy!note = Me.note rsBuy!saving = Me.saving newBuyID = rsBuy!buy_id rsBuy.Update rsBuy.Close Set rsBuy = Nothing Set rsSaleDet = db.OpenRecordset("SELECT * FROM details WHERE sale_id = " & Me.sale_id, dbOpenSnapshot) Set rsBuyDet = db.OpenRecordset("details", dbOpenDynaset) Do While Not rsSaleDet.EOF rsBuyDet.AddNew rsBuyDet!buy_id = newBuyID rsBuyDet!item = rsSaleDet!item rsBuyDet!buy_qty = rsSaleDet!sale_qty rsBuyDet!buy_price = rsSaleDet!sale_price rsBuyDet!buy_discount_percent = rsSaleDet!sale_discount_percent rsBuyDet!note = rsSaleDet!note rsBuyDet!m = rsSaleDet!m rsBuyDet!check = rsSaleDet!check rsBuyDet!serial = rsSaleDet!serial rsBuyDet.Update rsSaleDet.MoveNext Loop rsSaleDet.Close: Set rsSaleDet = Nothing rsBuyDet.Close: Set rsBuyDet = Nothing DoCmd.OpenForm "buy", acNormal, , "buy_id = " & newBuyID Exit Sub ErrHandler: MsgBox "حدث خطأ أثناء نسخ الفاتورة الحالية", vbCritical + vbMsgBoxRight, "" End Sub تفضل الملف المرفق :- yasser_10.zip
    2 points
  22. تم تعديل المرفق بحيث يتم تجميع عدد الأيام من حقل Mod2 في الإستعلام وتم إضافة دالة لتحويل عدد الأيام هذه إلى سنة - شهر - يوم تحياتي وحدة الاجازات السنوية.accdb
    2 points
  23. تغشيش مرة وحدة .. لو كنت أريد التغشيش لما تحدثنا أنا وأخي منتصر بخصوص نقطة داخل الملف الأصلي قام أخي منتصر بكشفها من أول رد 😜 خلينا نبحر في بحرنا البسيط .. ولا انت بترمي العاب نارية ( فـتّـيشة ) لمافجأة من مفاجآتك 😉 الملف مشتق من أحد المشاريع ، وهناك نقطة ذكرها أخي منتصر أيضاً في السر لتصميم الجداول بوضعها الحالي .. وأخبرته أنها فعلاً جزء من مشروع ولم أرفق أكثر من حاجتي دون إجراء تغيير بنسة الجداول كاملةً . أشد على يدك في هذه 100% وها نحن ننتظر مساهمات بأفكار أخرى جميلة كأصحابها
    2 points
  24. شكرا على التغشيش 😂 .. بس هذا ما كان من ضمن التحدي 😅🖐️ وكما قال العزيز @منتصر الانسي كان التركيز على حل المشكلة الأساسية .. بصراحة خطر في بالي إضافة عدة إجراءات ولكن رأيت أنه أساسا مش جميع عناصر أو مكونات الفاتورة موجودة لذلك تركت الفروع واهتميت بموضوعنا الرئيسي وشي آخر من ضمن النواقص أيضا .. أنه عند إضافة سجل جديد لا يتم الحفظ لأن الحقل [InvoiceID] يطالبك بوضع قيمة بحكم أنه مفتاح أساسي للفاتورة !! 😎 وكذلك عند تغيير القائمة الرئيسية أو الفرعية الأصل أن يتم تفريغ القائمة التالية لأن العناصر تغيرت (أنا عملتها في مشاركاتي ) .. وأفكار وإضافات كثيييييرة غيرها ولكنها مش موضوعنا اليوم .. 😅🖐️ أخي منتصر شكرا للتنبيه لهذه النقطة .. أنت مبدع ما شاء الله عليك .. أما بالنسبة لي أعتقد أنه تم حلها في الفكرة الثانية ✌ ملاحظة : تم تحديث الملفات في مشاركتي السابقة (بعد التسريبات من قاعة التصحيح 😂 )
    2 points
  25. جرب هذا الملف فعل محتوى الماكرو ثم 1 ادخل على الاعدادات وسجل : نسبة كل من السائق والمندوب أرقام السيارات والعملاء والمندوبين وسائقين 2 ثم ادخل على شاشة الإدخال وسجل بيانات الرحلة ثم اضغط ترحيل بيانات ستظهر النتيجة في صفحة قاعدة البيانات وسيظهر ملخص حركة النقل بالكامل في صفحة لوحة القيادة شركة نقل.xlsm
    2 points
  26. اختر تجاهل الملف بعد تصحيح احتساب الساعات و الدقائق. لا تنسى اختيار الرد كحل نظام_تأخير_الموظفين_2.xlsx
    2 points
  27. تفضل كلمة المرور 123 عبارة ترحيبية (1).xlsm
    2 points
  28. ملاحظتك صحيحة أخي وأستاذنا عبدالله ، جزاك الله خيراً على ذكرها . ولكني حين قمت بالتطبيق ارتأيت وبما أنه العمود M هو معادلة مقرونة برقم الصف فلم ألتفت لها ، ولم ألق لها بالاً -رغم تجربتي لها- ولكن لا يضر أن نقوم بالتصويب ..
    1 point
  29. أخي الفاضل ربما تكون أغفلت هذا الجزء من الرد: يعني تلصق المعادلة ثم تضغط كنترول وشيفت وانتر وليس انتر فقط إن شاء الله ستعمل معك بعد تطبيق هذه الملاحظة
    1 point
  30. اخي العزيز يقولون عندنا في مصر اعمل الخير وارميه في البحر لا تعلم من سوف ينتفع به مستقبلاً فجزاك الله خيرا علي ما تقدمه وجاري تجربة المثال المطروح تحياتي
    1 point
  31. مشاركةً مع اخي منتصر .. استبدل الاستعلام الموجود في الدالة GetLettersArray التي فيها الخطأ ، بالتالي :- strSQL = "SELECT DISTINCT Left(Trim(SearchName), 1) AS SearchLetter " & "FROM (" & strRS & ") AS SubQuery " & "WHERE SearchName IS NOT NULL;" حيث أن الدالة Left تحتاج إلى معاملين . وانت استعملت معامل واحد وهو SearchName ، ولم تحدد رقم الحرف الأول ، لتصبح :- Left(Trim(SearchName), 1)
    1 point
  32. أخي منتصر ، فعلاً قد يؤدي إلى تعطيل قاعدة البيانات وتلفها ، إن كان التعديل غير مدروس بعناية وتركيز .. فعلى سبيل المثال لو تم تغيير قيمة داخل جداول النظام فقد يحدث خلل في القاعدة وعدم عملها ، فما بالك بقلب آكسيس نفسه 😇 . وهذا ما سأعتمده بنشره قريباً إن شاء الله ، ولكن كما ترى فردود التفاعل بالتجارب والإفادة غير مشجعة على الإطلاق 😅 . آكسيس قوي بما يكفي فعلاً قولاً واحداً في تأمين نفسه - تجاهل عبثي به - فتجاربي كانت من باب الفضول وليس له أي هدف شخصي ، إلا من باب التعلم . ولهذا لم ولن أطلق أي أداة تساعد على كسر هذه الثقة التي لدى 95% من مصممي قواعد البيانات ومطوري البرامج . عن نفسي وأنا ما زلت أتعلم كانت محاولاتي هي نقل آكسيس إلى بُعد أبعد بكثير من كونه حاوية بيانات رهيبة . أحترم جميع الآراء ، وأعتذر من الجميع عن أسلوبي وطريقتي في العمل سابقاً 🥰 .
    1 point
  33. وعليكم السلام ورحمة الله وبركاته أنصح باستخدام البرنامج العالمي لعمل الجداول المدرسية aSc Timetable وللاسف لا استطيع تحميل البرنامج هنا لأن حجمه أكبر من المسموح به ولكن يمكن إرساله عبر البريد الالكتروني , أو واتساب مع تحياتي
    1 point
  34. السلام عليكم ورحمة الله وبركاته قمت بعمل ملف من إكسل لتوزيع المراقبين على قاعات الإمتحان كلمة السر 127899 إبدأ بورقة ورقة عند الوصول للورقة 3 ( التوزيع ) ينتهي الادخال اليدوي في ورقة التوزيع ابدأ بزر زر الورقة الثالثة تعبأ بالزر الأول ثم الثاني ( ممكن أن تنقر على أي خلية لمعرفة عدد أيام المراقبة ) في ورقة الجلسات بعد أن تنتهي من كتابة كل بياناتك قم بتظليل الخلايا الفارغة ( في الأعمدة x:ba ) وانقر على زر delete احتياطا الورقة الرابعة والخامسة تعبأ بالزر الثالث الملف يتسع ل 60 معلم ( مراقب ) و 30 ( جلسة اخنبار " في أيام محتلفة " ) و 30 ( قاعة اختبار ) الملف تم عمله بسرعة بناء على طلب أحد الإخوة قد أقوم ببعض التعديلات توزيع المراقبين.xlsm
    1 point
  35. سؤالك ملغوم 😇 . ولكن برأيي كنت قد أجبت عن هذا السؤال للقواعد الغير مشتركة على الشبكة 👆🏻، بأن تجعل مسار الربط التلقائي باعتماد مجلد محدد Data مثلاً، واسم قاعدة بيانات الجداول الخلفية .
    1 point
  36. وعليكم السلام ورحمة الله وبركاته 🙂 إبداع حقيقي بجد ما شاء الله .. >>> يدخل حيز الاعتماد مباشرة بوركت يمناك أبا وسام .. طريقتك في التنفيذ بحد ذاتها مميزة ما شاء الله .. ⭐ بعد التجربة هي كم ملاحظة بسيطة إن شاء الله .. 🖐️ الأولى : هنا اخترت عدم إنشاء أيقونة في قائمة إبدأ .. إلا أنه تأتي منضمن الخيارات عند التنصيب ! >>> الثانية : عندما أختار التحويل إلى Accde تظهر رسالة الخطأ التالية مع تأكدي من عدم وجود أي من الأسباب المذكورة .. >>> الثالثة : في صفحة مشغل أكسس والإخصارات ، هل علي أن أحمل الأكسس رنتايم لكي يضمنه في الحزمة ؟ وهل خيارات وسائط التشغيل مقرونة بوجود الأكسس رن تايم فقط ؟ لأنني أردت تقفيل البرنامج عن طريق الأداة بمنع الشفت وإخفاء الأكس ولكن كل ذالك لم يحصل 😅 .. الرابعة ( وهي مجرد مقترح أو إضافة ) : كانت هناك ميزة في الوينرار عند استخدامه للتحزيم وهي : تشغيل (ملف معين/ملفات معينة) من ضمن الحزمة (قبل / أو بعد ) عملية التنصيب .. وهذه قد تفيد في تشغيل أوامر مخصصة قبل فتح البرنامج أو عرض تعليمات معينة للمستخدم أو .. أو .. وتطبيق هذه راجع إليك طبعا وسلامة راسك 😊
    1 point
  37. هنا سأسكت قليلاً وما أقدر أعبر إلا بكلمة واحدة هناك ملاحظة واحدة بس فيبدو أنك تعتمد على برنامج into لبتنفيذ التحزيم لأنه ظهرت لي هذه الرسالة حتى بعد ان قمت بتنصيب برنامج inno setup مازالت الرسالة تظهر ويتوقف العمل
    1 point
  38. مشاركة مع أستاذنا @منتصر الانسي .. على الأقل أخي @jo_2010 لو ارفقت الجداول والاستعلامين 😅 .. على العموم لدي سؤال ، هل الحقل Mon_Year في كلا الاستعلامين تاريخ ؟؟ إذا كان حقل تاريخ ، فجرب اضافة الجملة التالية في الاستعلام المطلوب الإضافة له :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"Month([Mon_Year])=" & [No_Month] & " AND Year([Mon_Year])=" & Year([Mon_Year])) أو كـ حل أبسط باستعمال رقم الشهر :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"[No_Month]=" & [No_Month]) جرب ، وتابع بالنتيجة معنا ..
    1 point
  39. بالفعل يبدو أن المشكلة فردية سأحاول البحث عن سببها شكراً لك أخي على التوضيح
    1 point
  40. وعليكم السلام ورحمه الله وبركاته
    1 point
  41. تم التعديل الكود حاليا يقوم بحذف اي صور من النطاق a2:v2 قبل ادراج الصورة الجديدة حتى لا تتراكم الصور فوق بعضها كذلك تم تعديل اسم الصورة ومكانها على الجهاز بحيث يمكنك احتيار اي صورة وباي اسم وباي امتداد من الجهاز ويمكنك اضافة اي امتداد اخر غير مدرج بالكود .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" تم استتناء ورقة3-ورقة6 من ادراج الصور ويمكنك استتناء المزيد وذلك باظافة اسم الورقة بالكود من الجزء For Each ws In Worksheets If ws.Name <> "ورقة3" And ws.Name <> "ورقة6" Then ادراج صورة (2).xlsm
    1 point
  42. و عليكم السلام و رحمة الله و بركاته دالة الترحيل كانت موجودة لكن فيها خطأ برمجي (كانت تجلب دائمًا نفس الصنف الأول لكل الصفوف)، بالإضافة لخطأين آخرين: اسم الزبون والتاريخ كانا يسحبان من أعمدة خاطئة. كما أن دالة tafket() المستخدمة للتفقيط غير موجودة أصلاً في الملف (دالة خارجية غير معرفة، لذلك كانت تظهر كخطأ). جرب الملف المرفق الفاتورة(2).xlsx
    1 point
  43. و عليكم السلام ورحمة الله و بركاته هذا الملف من روائع العلامة خبور و هو ملف تعليمي فارغ و لذلك مذكور كلمة السر صراحة و هي 1 و به امكانية حذف الحماية أيضا
    1 point
  44. بارك الله فيك وزدك الله من فضله .. وجعل الله هذا العمل فى ميزان حسناتك ان شاء الله وبالتوفيق والنجاح دائماَ
    1 point
  45. عليكم السلام أختر مالذ وطاب جميع النسخ microsoft office بجميع اللغات وأي برنامج يخطر على بالك https://www.mutaz.pro/ar.php بالتوفيق ،،،،،
    1 point
  46. كو حقا رائع أستاذ سليم-ونفذ المطلوب بدقة متناهية جعله الله فى ميزان حسناتك وبارك الله فيك وجزاك خيرا كثيرا
    1 point
  47. السلام عليكم و رحمة الله وبركاته اخي الفاضل ابو شهد مقدر مساعدتك تعبك في التجربة و استخراج الأخطاء جزاك الله خيرا تم اجراء بعض التعديلات لاحظ يجب مطابقة وصف النتج الكامل مع كود المنتج ويجب ادخال قيمة او سعر اكبرمن او تساوي متوسط القيمة الذي يظهر بجوار كود المنتج 20-8-2014.rar
    1 point
×
×
  • اضف...

Important Information