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

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

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      107

    • Posts

      4895


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

    منتصر الانسي

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


    • نقاط

      45

    • Posts

      1373


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      34

    • Posts

      10133


  4. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      29

    • Posts

      11650


Popular Content

Showing content with the highest reputation since 05/26/26 in all areas

  1. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. الكثير من المواضيع التي ناقشت موضوع التحكم بالقوائم المختصرة داخل التقارير أو النماذج .. وكان للكثيرين من الأساتذة والخبراء والموهوبين أفكار جميلة جداً حول كيف تصنع قائمة مختصرة عند النقر على الزر الأيمن داخل نموذج أو تقرير . ومن هنا اليوم أضع بين أيديكم أداة تقوم بهذه المهمة بشكل سحري . 1️⃣ القدرة على إنشاء قوائم مختصرة دون أن تكتب أي أمر برمجي أو حتى البحث عن الخيارات داخل آكسيس لإضافة قائمة مختصرة .... إلخ . 2️⃣ القدرة على استيراد قوائم مختصرة من قاعدة بيانات أخرى إلى قاعدة بياتك الحالية من خلال الأداة . 3️⃣ القدرة على تصدير قوائم مختصرة إلى قواعد بيانات أخرى . 4️⃣ التحكم بالترتيب للأوامر داخل القوائم بحرية وسهولة ، وإتاحة إمكانية تسمية الأوامر كما تحب . 5️⃣ إتاحة إمكانية إعادة تسمية قائمة مختصرة موجودة مسبقاً . 6️⃣ التحكم بحذف قوائم معينة لا تريدها من خلال زر واحد . 7️⃣ إتاحة الفرصة لإضافة أوامر خاصة من خارج آكسيس ، أو ماكرو . أي أنك تستطيع استدعاء دوال عامة من مشروعة داخل زر في القوائم التي تصنعها . والكثير من الميزات التي يجب عليك اكتشافها بنفسك . 📸 واجهة الأداة المتواضعة :- فيديو توضيحي لطريقة الاستخدام بشكل سريع .. ملف الأداة مفتوح المصدر ، للتحميل :- Menu Builder.zip لمعرفة وظيفة كل زر ، فقط قف على الزر وستظهر لك الوظيفة المخصصة له .
    7 points
  2. اعرض الملف 🖼️ أداة جميلة لإزالة خلفيات الصور | سلسلة هدايا الأكسس | ⭐ 🎁 السلام عليكم ورحمة الله وبركاته لكسر الروتين وعموم الفائدة 😎👌 أقدم لكم أداة جديدة بفكرة جديدة 🙂 :: أداة إزالة خلفيات الصور :: الهدف من الأداة واضح >> وهو ببساطة إزالة خلفيات الصور >> والناتج صورة بخلفية شفافة بصيغة png . ولها استخدامات كثيرة في الاحتياجات العامة أو لتشذيب الصور قبل إدراجها في برنامج الأكسس مثلا .. أو .. أو .. أو .. عدد ما شئت أنا شخصيا أحتجتها في برنامجي (صانع الشهادات) لإزالة خلفيات التواقيع 🖋️📜 ثم إضافتها للبرنامج كمرفق. الأداة فكرتها بسيطة >> الإتصال بموقع remove.bg المشهور عن طريق ال API والعودة بالناتج بدون الحاجة لفتح الموقع. مفتاح الـAPI الحالي هو خاص بي ويمكنكم استخدامه مباشرة ولكنه محدود ب 50 تحويل لليوم .. في حال رغبتك بوضع مفتاحك الخاص ( وهي خدمة مجانية بالمناسبة ) يمكن تغييره في أول صفحة الكود وقد وضحت الطريقة هناك . 🙂 الملف مفتوح المصدر :: ودعواتكم الطيبة 🙂 صاحب الملف Moosak تمت الاضافه 06/22/26 الاقسام قسم الأكسيس  
    6 points
  3. السلام عليكم يمكن عمل ذلك بقك الحماية في بداية اي كود ثم اعادة الحماية في نهاية الكود كلمة الحماية 123 يمكنك تعديلها بالكود جدول الحراسة.xlsm
    6 points
  4. وعليكم السلام ورحمة الله وبركاته اليك الحل بالمعادلات في شيت1 بالاكواد شيت2 مثال1.xlsb
    5 points
  5. السلام عليكم الجزء الاول هو المرجع لتوضيح عمل القائمة المختصرة : . في الموضوع السابق ، تحدثنا عن القائمة الثابتة ، وفي هذا الموضوع سنتكلم القائمة المؤقتة ، وعن طرق اخرى لإستعمال القائمة. وللعلم ، هناك قائمة مختصرة للنموذج واخرى للحقل ، سواء قائمة ثابته او مؤقته . القائمة الثابتة هي التي تجدها جاهزة للاستعمال ، وبدون عمل اي كود لها ، سواء في النموذج او التقرير ، مثلا : . اما القائمة المؤقته فيحتاج تناديها بالكود لكل استعمال ، ولما تغلق النموذج/التقرير ، يحتاج تحذفها ، والسبب مثل ما بتشوفون في المرفق ، نستعمل نفس القائمة ببعض الاختلافات بين النموذج/التقرير وحقوله. . التحدي الاكبر في القائمة المؤقته ليس البرمجة ، وانما معرفة الحدث الصحيح للحصول على النتيجة ، ثم تمرير النتيجة ، مثلا ، للحصول على عدد صفحات التقرير ، يجب استعمال الحدث On Page ، ومنها اخذ عدد الفحات وتمريرها الى دالة القائمة المؤقته. حاولت عمل اكبر قدر من التشكيلات ، وبأبسط طرق البرمجة ، حتى يكون تغييرها سهل للمبرمج. وفي المرفق وحدة نمطية لتصدير/استيراد كائنات قاعدة البيانات ، وحسب طلب اخي العزيز @ابوخليل ققد اضفت لها دالة لإرجاع كود القائمة المختصرة (اذا صارت الحاجة اليه). myRight_Click_Shortcut_Menu.zip
    5 points
  6. كلام AI هناك حلّان عمليان يسمحان لك باستخدام رصيد رسائلك النصية (SMS) في برنامج الأكسس دون الحاجة لاشتراكات خارجية، ويعتمدان على تحويل هاتف أندرويد إلى "بوابة إرسال" خاصة بك، تمامًا كما تريد. 💡 الفكرة الأساسية جميع الحلول المقترحة تعتمد على نفس المبدأ: استخدام هاتف أندرويد قديم أو جهاز مودم مزود بشريحة اتصال، وتثبيت تطبيق يحوله إلى خادم (Gateway) يمكن لبرنامج الأكسس على جهاز الكمبيوتر التواصل معه لإرسال الرسائل عبر شريحتك. الحلان المقترحان 1. استخدام بوابة SMS (الأفضل للمطورين والتحكم الكامل) هذا الخيار يتيح لك التحكم في عملية الإرسال من خلال الأكواد البرمجية (VBA) داخل الأكسس، ويعتبر حلاً مثالياً للمشاريع المتكاملة. التطبيق الموصى به: "Simple SMS Gateway" المتوفر على متجر جوجل بلاي. طريقة العمل: ثبّت التطبيق على هاتف أندرويد يحتوي على شريحة الاتصال التي تريد استخدام رصيدها. شغّل الخادم المحلي (Local Server) داخل التطبيق. سيعرض لك التطبيق عنوان IP محليًا لهاتفك ومنفذًا (عادةً 8080). من داخل الأكسس، يمكنك كتابة كود VBA لإرسال طلب (HTTP POST) إلى هذا العنوان (مثل http://[IP_HATIF]:8080/send-sms) مع بيانات الرسالة والرقم المستلم بصيغة JSON. ستُرسل الرسالة مباشرةً عبر شريحة هاتفك، وسيُخصم من رصيدك الشهري. مميزات هذه الطريقة: مجانية بالكامل: لا توجد رسوم شهرية أو مقابل كل رسالة، فقط تستخدم باقة رسائلك النصية. تحكم كامل: يمكنك برمجة الأكسس لإرسال رسائل مفردة أو جماعية، مع إمكانية تخصيص المحتوى لكل عميل باستخدام VBA. خصوصية عالية: لا تمر بياناتك عبر خوادم خارجية، فكل شيء يتم داخل شبكتك المحلية. 2. استخدام حل متكامل مع الأكسس (للمشاريع الكبيرة) هذا الحل مثالي إذا كنت تحتاج إلى إرسال كميات كبيرة جداً من الرسائل، حيث يوفر واجهة احترافية لإدارة قوائم الانتظار. الأدوات الموصى بها: Ozeki NG SMS Gateway. طريقة العمل: يقوم هذا البرنامج بالاتصال بقاعدة بيانات الأكسس الخاصة بك مباشرة عبر (ODBC). عندما تُدرج سجلاً جديداً في جدول مخصص، يلتقطه البرنامج ويرسله تلقائياً عبر هاتف أندرويد أو مودم متصل بالجهاز. ميزة إضافية: يمكن لهذا الحل استقبال الرسائل وحفظها تلقائياً في قاعدة بيانات الأكسس، مما يتيح لك تواصلاً ثنائيًا (Two-Way SMS). ⚠️ ملاحظات مهمة قبل البدء الحدود اليومية: تأكد من الحد الأقصى لعدد الرسائل الذي تسمح به شركة الاتصالات يوميًا لتجنب حظر رقمك. يُنصح بوضع فاصل زمني (مثلاً 35 ثانية) بين كل رسالة والأخرى لتجنب التصنيف كمرسل غير مرغوب فيه (Spam). توافق الأجهزة: تأكد من أن هاتف الأندرويد يعمل بنظام Android 8 أو أحدث، وأنه متصل بنفس شبكة الواي فاي التي يعمل عليها حاسوبك. إخلاء مسؤولية: هذه الحلول بوابات محلية، وليست خدمات تجارية معتمدة لضمان وصول الرسائل، واستخدامها يخضع لسياسات الاستخدام العادل لشركة الاتصالات الخاصة بك.
    4 points
  7. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. سأتطرق اليوم لفكرة غريبة جداً تتلخص بأنني في فترة دراستي في عام 1997 ، كان في منهاجنا لمادة الحاسوب ، برمجية أسمها لغة أفكار ( MS-DOS ) ، وهي تقوم على مبدأ إدخال أوامر داخل البرنامج لتنفيذ رسومات . مبدأ هذه البرمجية القديمة يشابه Berkeley LOGO . حيث الفكرة تقوم على إعطاء أوامر مثل :- أمام ، خلف ، يمين ، يسار ، كرر .... إلخ وكتوضيح للفكرة في الصورة التالية :- ولأن الموضوع بفكرته غريب نوعاً ما .. سأقوم بالشرح البسيط لآلية العمل :- عند تشغيل الأداة ، وللتجربة دون قيود حفظ المشاريع داخل الجداول . انقر على الزر "اكتب أمراً هنا" ستجد أن سلحوف ( اسم الشخصية التي أخترتها لقلم الرسم ) قد ظهر مع خطوط لتحدد إحداثيات الرسم (س،ص / x,y ) في خانة كتابة الأوامر ، سأعرفك على الأوامر بشكل سريع لو كتبت الأمر "مساعدة / مساعده" (بالهاء أو التاء المربوطة ) . أو انقر على زر علامة التعجب في أقصى اليسار . بعد أن تعرفت على الأوامر والتي تتمثل بإعطاء اتجاهات وزوايا وشروط وتكرارات . جرب على سبيل المثال الأمر التالي :- سرعة 3 كرر 10 ( مربع 50 يمين 36 ) ستجد أن النتيجة للرسم تساوي الصورة التالية :- طبعاً فإنني قد قمت بدمج مجموعة من الأشكال الثابتة مثل ( مربع ، دائرة ، مثلث ، نجمة ، قوس ، مستطيل ) داخل مصفوفة في عقل الأداة . فمثلاً لرسم مربع طول ضلعه 50 فرضاً . سنحتاج لكتابة :- 1. أمام 50 2. يمين 90 3. امام 50 4. يمين 90 5. امام 50 6. يمين 90 7. امام 50 8. يمين 90 لاحظوا أنها 8 حركات لعودة القلم سلحوف لمكانه الطبيعي . بينما يمكننا تنفيذ الفكرة بشكلين آخرين مثل :- كرر 4 ( امام 50 يمين 90 ) ولذا قد دمجت هذا الأمر داخل البرنامج ليصبح باختصار مربع 50 . وكذلك الأمر لرسم دائرة بقطر 50 مثلاً ، ما عليك سوى كتابة الأمر :- دائرة 50 أو يمكنك استخدام الأمر المركب :- كرر 360 ( امام 1 يمين 1 ) وفي الحالتين سيرسم لك دائرة . والأوامر كثيرة جداً والتي يمكن أن تجعل من الأداة عبارة عن ملهم خيال وأفكار لرسم مجسمات الأشكال . ماذا يمكنك أيضاً أن تجد في واجهة الأداة ؟ 6 أزرار في أقصى اليمين تمثل ، زر فتح مشروع محفوظ ، زر مشروع جديد ، زر حفظ المشروع الحالي كصورة ، زر لاختيار لون من أولان الويندوز ، زر لتصدير أوامر المشروع الحالي ، وزر استيراد أوامر مشروع خارجي ، وكلاهما بصيغة ملفات نصية . زر لإيقاف العملية الحالية في حال أردت الإيقاف ، وسيتم التراجع عن الأمر الذي تم إيقافه . ملف الأداة مفتوح المصدر ، للتحميل :- Foksh Turtle 2026.zip وهذه صور لبعض من التجارب التي قمت بها
    4 points
  8. 1️⃣ تم التعامل مع جميع الملاحظات التي طُرحت من الإخوة والأساتذة ( مشكورين جميعاً ) الذين قاموا بتجربة الأداة ومشاركتي نتائج اختباراتهم وملاحظاتهم . 2️⃣ تم إصلاح مشكلة الأزرار وأيقوناتها في الإصدار 2003 بإضافة إصدار منفصل كلياً وبنفس المزايا . ملف الأداة مفتوح المصدر ، للتحميل :- Menu Builder 2026.zip Menu Builder 2003.zip
    4 points
  9. 1️⃣ إضافة زر لمعاينة القائمة التي تم انشائها ، بدلاً من الدخول إلى تقرير أو نموذج وتعيينها وتجربتها . 2️⃣ إضافة فكرة القوائم الفرعية . بحيث يكون زر داخل القائمة الرئيسية يتفرع منه قائمة فرعية أخرى ... وهكذا . 3️⃣ إضافة مميزة بحفظ القائمة كـ VBA داخل ملف نصي يتم حفظه على سطح المكتب . بحيث يمكنك من نسخه وتشغيله مرة واحدة فقط في مشروعك لإنشاء القائمة المختصرة التي انشأتها من خلال الأداة ، أو استوردتها من قاعدة أخرى 😉 . 4️⃣ إضافة زر لتعيين/إزالة قائمة مختصرة لعدد من النماذج أو التقارير مرة واحدة ، دون الحاجة لتعيينها واختيارها يدوياً لكل نموذج أو تقرير . 5️⃣ إضافة ميزة مسح جميع القوائم المختصرة من جميع كائنات ( نماذج وتقارير ) قاعدة البيانات الحالية . وليس بتحديد كائنات محددة كما في النقطة4️⃣ . 6️⃣ إضافة الميزة الذهبية الجديدة وهي دمج الأداة إلى إضافات آكسيس وكأنها جزء منه وتجدها داخل الإضافات - Addin . كما في الصورة الموضحة :- 7️⃣ إضافة زر لإزالة الأداة من الـ Addin بشكل كامل ونهائي . 📸 واجهة الأداة بعد التحديث :- كل هذه الميزات وأكثر في المرفق التالي للنسخة المحدّثة :- Menu Builder.zip ( تم تحديث المرفق بعد ملاحظة خطأ بسيط في نموذج عرض التقارير والنماذج الموجودة في قاعدة البيانات ) . والشكر موصول لأخي @أحمد العيسى على هذه الملاحظة . فيديو توضيحي لطريقة استخدام القوائم الفرعية :-
    4 points
  10. اعرض الملف 🏆🌟 نتائج تحدي المبدعين 12 🌟🏆 :: مستعرض الملفات التفاعلي :: 📟🌟 السلام عليكم ورحمة الله وبركاته يطيب لي أن أطرح بين أيديكم نتائج : 🙂 🌟 تحدي المبدعين 12 🌟 :: مستعرض الملفات التفاعلي :: 🌟 هذا التحدي هو عبارة عن تحدي يطرح بين فترة وأخرى على جروب الواتسأب مجتمع اكسس جروب وكان هذا التحدي هو التحدي رقم 12 وكان موضوع التحدي هو إنشاء وتصميم مستعرض ملفات تفاعلي عن طريق الأكسس . 🤗 المشاركين : لدينا 6 مشاركات رائعة من 4 مشاركين متميزين : - المهندس / فادي Foksh (مشاركتان). - المهندس/ يوسف العزير (مشاركة). - المهندس/ أبو مازن الرازحي (مشاركة). - وأخوكم/ موسى الكلباني (مشاركتان). :: صور المشاركات :: المهندس/ أبو مازن الرازحي المهندس / فادي Foksh 1 المهندس / فادي Foksh 2 موسى الكلباني 1 موسى الكلباني 2 المهندس/ يوسف العزير ⭐ رابط الانضمام لمجموعة الواتسأب : https://drive.google.com/drive/folders/1Ku3j_1TBQ03M199RBAO86DqDcFKcgAk3?usp=drive_link ⭐ رابط جميع ملفات التحديات السابقة 🌟 : https://drive.google.com/drive/folders/1xOqWpWiLqKacPTG2MQDrohJp5DKDRTY2?usp=drive_link 🌸😊 كل التوفيق للجميع 😊🌸 صاحب الملف Moosak تمت الاضافه 06/10/26 الاقسام قسم الأكسيس  
    4 points
  11. في أكسس 2003 العملية أسهل حيث يمكن إنشاء وتعديل القوائم مباشرة بالخطوات التالية أنقر بالزر الايمن على شريط الادوات وحدد تخصيص ستفتح لك نافذة قم بالخطوات كما هو محدد بالصورة عند النقر على موافق سيظهر لنا شريط فارغ كما بالصورة الآن نقوم بإضافة الأزرار المطلوبة كما بالصورة المتحركة التالية في هذا الوضع يكون الشريط هو من نوع قائمة أدوات أو Tool Bar أي أنه يمكن أن إستخدامه كقائمة في شريط الأدوات وليس كقائمة مختصرة وحتى نحولها لقائمة مختصرة نقوم بتنفيذ الخطوات كما في الصورة التالية ستظهر لنا نافذة منبثقة ومن قائمة النوع نحدد (منبثقة) كما بالصورة بعد أن نختار هذا الخيار سنلاحظ أنه تم إلغاء تفعيل جميع الخيارات بالاسفل ماعدا خيار إمكانية التخصيص (والذي إذا قمت بإلغائه فلن تتمكن من إضافة أو تعديل أي عناصر في القائمة) بعد أن حولنا القائمة إلى قائمة منبثقة سنلاحظ إختفاؤها من قائمة أشرطة الأدوات ولكي نظهرها فيجب علينا تحديد قائمة الأدوات (القوائم المختصرة أو Shortcut Menus) كما بالصورة ليظهر لنا شريط بالقوائم المختصرة وما يهمنا هنا هو آخر قائمة وهي قائمة Custom أو مخصصة والتي عند النقر عليها ستظهر لنا جميع أشرطة القوائم المختصرة ولكن نظراً لأنه لايوجد إلا شريط واحد فسيكون هو الوحيد الظاهر كم في الصورة من هنا وبالنقر بالزر الأيمن على أي عنصر يمكننا تعديل التسميات أو إضافة العناصر بنفس الطريقة الموضحة في الصورة المتحركة أعلاه (سحب وإفلات) أو حذف العناصر بالنقر بالزر الأيمن وإختيار حذف كما بالصورة عند الإنتهاء من كل التعديلات سنحصل على النتيجة التالية عندها نقوم بإغلاق نافذة التخصيص كما بالصورة الآن لو فتحنا أي تقرير في وضع التصميم سنجد أن القائمة ستظهر في الخصائص وإذا فتحناه في وضع المعاينة ونقرنا بالزر الأيمن سنحصل على هذه النتيجة الان يمكننا إستيراد هذه القائمة من أي تطبيق آخر بدون عناء إنشاء وتعديل قائمة جديدة وهكذا نكون قد إنتهينا من خطوات إنشاء وتعديل القوائم في أكسس 2003 أما في الإصدارات الأحدث فإن القوائم يتم إنشاؤها بإستخدام الكود ولو إطلعت على الأداة التي كنت قد رفعتها في هذا الموضوع ستجد الطريقة أرجو أن يكون الشرح واضح تحياتي
    4 points
  12. السلام عليكم بمناسبة هذه الايام المباركة ، حبيت اشارك بهذه الجزئية المستقطعة من احد برامجي 🙂 في بعض الاحيان ما يقدر المبرمج من سد جميع ثغرات البرنامج لمنع المستخدم من عمل خطأ في ادخال البيانات ، فتكون نفس المعلومة مكتوبة بعدة طرق ، مثلا: . ومثال من جدول آخر . عادة يُطلب من المبرمج تنظيف هذه البيانات ، جدول جدول / حقل حقل / معلومة معلومة ، والمشكلة في هذا العمل هو معرفة الحقول المطلوب تنظيفها ، ثم معرفة البيانات الخطأ والبيانات الصحيحة (لإستبدالها) ، وهذا العمل يتطلب وجود المبرمج والمستخدم لمعرفته بالبيانات الخطأ والصحيحة. وبعد هذا التنظيف ، وبعد مرور مدة ، يجب تكرار العملية طبيعتي ، لما اشوف فيه تكرار لعمل معين ، اقوم ببرمجته ، وهذا اللي حصل في هذا المشروع 🙂 الان المستخدم (طبعا المسؤول) هو الذي يقوم بهذا العمل من خلال نموذج. انت محتاج الى نقل هذه الكائنات الى قاعدة بياناتك للقيام بالعمل ، ثم تشغيل النموذج frm_Clean_Data . 1. عند دخول النموذج ، تجد اسماء جميع الجداول في حقل اسم الجدول ، وبعد ان تختار اسم الجدول ، تجد اسماء جميع حقول الجدول في حقل اسم الحقل ، ثم تختار الحقل المطلوب تنظيف بياناته ، فتأتيك البيانات بدون تكرار . . 2. يجب عمل تصفية في اختيار "القيمة الحالية" للبيانات المطلوب تنظيفها ، وتختار "القيمة الجديدة" لها ، . 3. ثم تنقر على زر "جميع الاسماء المختار" ، فتاتيك رسالة تأكيد لعملية التنظيف التي سيقوم بها البرنامج ، وعند التأكد من هذا العمل والنقر على "نعم" ، فسيقوم البرنامج بعمل التغييرات المطلوبة ، ولا يوجد تراجع . 3. فنحصل على هذه النتيجة . 4. ونستمر بإختيار القيمة التالية من هذا الحقل ، او اختيار جدول/حقل آخر ، التغيير لقيمة الحقل كاملة وليست لجزء من الحقل يجب اعطاء هذا البرنامج للمسؤول ، ويجب ان يعرف عواقب العمل ، وقبل كل شيئ يجب اخذ نسخة من قاعدة البيانات Clean_Data.zip
    4 points
  13. وعليكم السلام ورحمة الله وبركاته .. اعجبتني الفكرة ، و وددت المشاركة بالتالي .. ما عليك فعله بيدك حتى تنجح الفكرة .. في المديول :- الخطوة الأولى اذهب للدالة :- Private Function ExitTimer() As Boolean وقم بحذف السطر :- Call DeleteObject(hRgn1) الخطوة الثانية أيضاً اذهب للدالة :- Public Function GenerateExit() 'MyForm As Form) وأضف بعد هذا السطر :- Do Until ExitTimer() السطر DoEvents ، لتصبح جملة الحلقة :- Do Until ExitTimer() DoEvents Sleep clngTimerInterval Loop وبعد هذه الحلقة مباشرة ، أضف السطر التالي :- Call DeleteObject(hRgn) وعليه ، فأن الملف كاملاً بعد هذه التعديلات يصبح :- db.mdb
    4 points
  14. تمام ، قمت بالتطبيق مسبقاً بإجراءات بسيطة واستخدام فكرة الرسم والتدوير من الملف المرفق الأصلي A2KPictureBoxVer35 .. New QR.accdb
    4 points
  15. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. سابقاً وفي الموضوع الذي قمت بطرحه بإستفسارات حول آلية تطبيق وإمكانية التنفيذ من خلال آكسيس ليقوم بإرسال رسائل قصيرة SMS من الجوال . كانت الملاحظات والمشاركات ذات قيمة بالنسبة لي . وأشكر كل من ساهم بالرد بمعلومة حتى لو كانت بسيطة وجزئية بنظره .🥰. وبعد البحث عن فكرة مجانية بالكامل . خلصت في نهاية المطاف إلى أنني بحاجة فقط إلى جسر وصل وربط بين الجوال والكمبيوتر ( آكسيس تحديداً ) . ولهذا قمت أولاً بإنشاء تطبيق خاص وحصري ، ويعمل فقط على هواتف أندرويد بشكل عام فقط ( طبعاً بحكم طبيعة عملي في مجال الجوالات وصيانتها ) - جماعة IOS اعتذر منكم في الوقت الحالي 😁 - فكان التنفيذ لتطبيق لا يحتاج منك إلا تشغيل/أيقاف الخدمة فقط . وطبعاً وللمعلومة هذه الخدمة لا تعتمد على أي اتصال بالإترنت نهاااائياً . حيث أن الربط سيكون من خلال الشبكة المحلية التي يتصل بها الكمبيوتر والجوال معاً ، حتى لو كانت مجرد شبكة محلية بدون انترنت ، وعليه :- سيلزمنا أولاً تحميل التطبيق بصيغة APK من الرابط التالي هنا ، وتثبيته على الجوال بالشكل الطبيعي . ولكن وبما أن حمايات جوجل تتطور وتتحدث يومياً فإنك ستلاحظ أن النظام في جوالك سيمنع التثبيت بحكم أنك لم تقم بتحميل التطبيق من متجر تطبيقات جوجل 😅 ، وبالتالي فما عليك فعله بعد تحميل التطبيق من الرابط إلى جوالك ، ما يلي :- 1. افتح متجر جوجل بلاي في جوالك ، واتبع الخطوات التالية :- 2. الآن قم بإيقاف الحماية مؤقتاً للسماح بتثبيت تطبيقات خارجية ، ثم أعد تشغيلها للإطمئنان ، كما في الصورة :- 3. قم بتثبيت التطبيق الذي قمت بتحميله من الرابط السابق الآن . وبما أننا سنتعامل مع تطبيق يتعامل مع الرسائل وجهات الاتصال فقط . فسيطلب منك التطبيق الإذن بالصلاحيات للوصول الى الرسائل وجهات الإتصال ، وهذا الأمر طبيعي جداً . يعني حاله كحال أي تطبيق تقوم بتثبيته ويطلب منك صلاحيات . ولكن صلاحياتنا هنا محدودة وظاهرة . 4. قم الآن بتحميل النظام من الرابط التالي هنا للإصدار 64 ، أو من هنا للإصدار 32 . وستكون الواجهة بالشكل التالي :- 5. الآن ما الذي يتوجب عليك فعله بعد تحميل التطبيق وتثبيته على الجوال وفتحه ، وتشغيل البرنامج ؟ فقط اتبع ما يلي مصوراً :- اضغط الزر الأحمر والذي يدلك على حالة الإتصال بالخدمة ( تعمل / متوقف ) . حيث سيتغير لونه إلى اللون الأخضر عند تشغيل البرنامج . ليصبح بالشكل التالي على نجاح التشغيل :- التطبيق سيعمل معك بالعربية أو الإنجليزية ، ويدعم نمط الوضع الداكن أو الفاتح . وهي أمور جمالية فقط لا غير . لكن الإفتراضية ستكون اللغة العربية بالوضع الداكن . 6. الآن وبما أننا حصلنا على رقم IP محلي داخل الشبكة الحالية التي تحدثنا أنه يجب أن يكون الجوال والكمبيوتر متصلان على نفس الشبكة . سنذهب إلى واجهة التطبيق ونضغط زر الإعدادات الموجود بقائمة الأزرار الموجودة في الجزء العلوي الأيمن . وستجد أنك دخلت إلى النموذج التالي :- والمطلوب منك هو إدخال رقم الـ IP الذي ظهر معك في التطبيق الذي تم تثبيته على جوالك ، كما في الصورة ( مع اختلاف القيم طبعاً حسب الموزع الذي يتصل به جهازاك ) . وطبعاً باقي تفاصيل الإعدادات واضحة . حيث يمكنك تحديد عدد حروف الرسالة النصية الواحدة المرسلة . ومدة التحديث التلقائي التي تريد أن يتم كل عدد ثواني الكشف عن الاتصال . ثم انقر الزر الأخضر لحفظ الإعدادات والخروج . 7. وبعد أن تمت عملية تهيئة النظام للإتصال من خلال الشبكة المحلية بنجاح . سنقوم بالضغط على الزر الذي له شكل شبكة الـواي فاي WiFi . وستلاحظ انه تم الاتصال بالجوال وسيظهر لك اسم جوالك في أعلى الجهة اليمنى من واجهة النظام . وكذلك نسبة البطارية في جهازك في الجهة اليسرى المقابلة . وهذا دلالة على الإتصال ناجح بين آكسيس والجوال . 8. الآن ما دلالات ووظائف الأزرار الباقية ؟؟ ♻ الزر وظيفته جلب جهات الإتصال من الجوال ومزامنتها داخل التطبيق . والهدف هو تحميل جهات اتصالك بدلاً من حفظها واحداً واحداً . طبعاً ميزة الإضافة لجهة جوال جديدة غير متاحة حالياً في هذه النسخة . ♻ الزر الغير مفعل كوظيفة ، هو ووظيفته لاحقاً هي إستيراد الرسائل من الصندوق الوارد في جوالك الى اكسيس . وطبعاً المزامنة لن تكون بتكرار الرسائل عند كل عملية استيراد أو مزامنة ، وكذلك الأمر لجهات الاتصال . فلن يكون هناك تكرار عند كل عملية مزامنة . ♻ الزر ووظيفته عرض واختيار جهات الإتصال التي تمت مزامنتها من جوالك لاختيار - فردي أو متعدد - جهات إتصال وأرقام ترغب بالإرسال لهم . وعند النقر المزدوج على أي جهة إتصال سيفتح لك نموذج تعديل الاسم أو جهة الاتصال هذه وحفظ التعديلات . و طبعاً تستطيع الإرسال لرقم غير محفوظ في جهات اتصالك . ♻ الزرين ( فحص حالة الإتصال تلقائياً و حفظ الرسالة بعد الإرسال ) تسميتهما دالة على الوظيفة بشكل صريح . ♻ الزر 😄 ، وظيفته إضافة تعبير رسومية Emoji للرسالة . 9. الليست بوكس الموجود على الجهة اليسرى من الواجهة سيعرض لك جميع الرسائل التي تم ارسالها ( طبعاً إن قمت بتفعيل الحفظ التلقائي في الزرين الذين تم شرحهم قبل هذه النقطة ) ووجب الذكر هنا أن الخيارات والإعدادات ستبقى محفوظة حتى لو قمت بالخروج من النظام والعودة له لاحقاً . وطبعاً عند النقر المزدوج على أي رسالة مرسلة محفوظة سيتم نقل نص الرسالة الى مربع نص الرسالة بدلاً من كتابتها مرة أخرى عند حاجتها . وهنا ستجد المتعة في هذه القائمة من خلال طريقة العرض التي تريدها . يعني أنه يمكنك عرض الليست بوكس عن طريق القائمة وهي طريقة العرض الإفتراضية أو الشجرة . وذلك من خلال الزرين الموجودين فوق هذه القائمة . حيث في طريقة عرض القائمة سيتم عرض جميع الرسائل كسجل منفرد لكل رسالة . بينما في طريقة عرض الشجرة سيتم عرض الرقم المرسل له . وعند فتح قائمته تظهر لك الرسائل التي ارسلتها له 😁 . الآن وفي نهاية المطاف ، آمل أن يكون هذا العمل الذي استغرقني قرابة الشهر ، قد نال إعجابكم من الناحية التنفيذية و الوظيفية له . وحيث أن الوظائف التي لم تدرج بعد ، سيكون لها قريباً دمج وإضافة بعد التحقق من نجاحها بكافة الأشكال وتجربتها على أكثر من جوال ، في تحديث جديد . طبعاً التطبيقات التي تشابه فكرة تطبيق الجوال الخاص بي كثيرة على متجر جوجل بلاي .. فلك الحق والحرية بتجربة أي تطبيق آخر من المتجر نفسه . على سبيل المثال لا الحصر Traccar SMS Gateway . لكن ما يميز تطبيقي أنك لست بحاجة الى رمز وصول Token . أيضاً لن تستفيد من ميزة إستيراد جهات الإتصال من جوالك الى آكسيس . وبعض المزايا الأخرى بالتأكيد 😉 . •| وفي الحديث عن أن العمل مقفل وبصيغة ACCDE . فهو مجهود شخصي وغير منفذ مسبقاً . لذا عذراً عن عدم رفعه مفتوح المصدر فيما بعد |• 🤗 ولك الحق في عدم تجربة أي مشاريع مقفلة 🤗
    3 points
  16. ( الصورة من إنشاء الذكاء الإصطناعي Nano Banana 2 )
    3 points
  17. تم البدء بتنفيذ الفكرة .. رأيكم بالتصميم ..
    3 points
  18. وعليكم السلام ورحمة الله وبركاته .. هذه فكرة بسيطة للورقة الثانية في الخلية D4 ( المطلب الأول ) ، جربه :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Then Dim cell As Range, n As Long Range("B6:B35, D6:D35").ClearContents If IsDate(Target.Value) And Target.Value <> "" Then For Each cell In Sheets("بيانات العاملين").Range("B2:B" & Sheets("بيانات العاملين").Cells(Rows.Count, "B").End(xlUp).Row) If cell.Value = Target.Value Then n = n + 1 Cells(6 + ((n - 1) Mod 30), 2 + ((n - 1) \ 30) * 2).Value = cell.Offset(0, 1).Value If n = 60 Then Exit For End If Next cell End If End If End Sub المطلب الثاني في الورقة الثالثة ، جرب استعمال الفكرة التالية بحيث لتحديد العدد جعلت الخلية G4 لتحديد العدد بدلاً من 5 والتقيد به . وبالتالي اذا لم تحدد قيمة في G4 سيكون الافتراضي = 5 أسماء ، والكود كالتالي في الورقة الثالثة :- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("F4:G4")) Is Nothing Then Dim cell As Range, n As Long, limit As Long Dim status As String Range("C7:C" & Rows.Count).ClearContents status = Range("F4").Value If status = "ناجح" Or status = "راسب" Then limit = IIf(Val(Range("G4").Value) <= 0, 5, Val(Range("G4").Value)) For Each cell In Sheets("بيانات العاملين").Range("E2:E" & Sheets("بيانات العاملين").Cells(Rows.Count, "E").End(xlUp).Row) If cell.Value = status Then n = n + 1 Cells(6 + n, "C").Value = Sheets("بيانات العاملين").Cells(cell.Row, "C").Value If n = limit Then Exit For End If Next cell End If End If End Sub لاحظ أنني قمت بإضافة احتمال آخر = راسب من باب التوسعة في خيارات البحث بالنتيجة اللجنة.xlsm
    3 points
  19. إضافة للاستاذ كمال تفضل ملف عملي طرح تاريخين.xlsx
    3 points
  20. وعليكم السلام-تفضل طالما انك لم تقم برفع ملف موضح به المطلوب بكل دقة ,وفى طلبك وبالمعادلات العادية لا يوجد أفضل من معادلة DATEDIF
    3 points
  21. السلام عليكم اذا الاكسس يعمل شيء معين ، فعادة انا لا عمل شيء بديل عنه ، مثل الانتقال من صفحة الى اخرى ، فالاكسس به هذه الخاصية ، وكما ان لون النص وحجمه ، هما من عمل المبرمج ، فلن تراني اضعه في يد المستخدم. بدلا عن هذا الشريط ، اليكم طريقة اسهل في التعامل ، ولست بحاجة الى سطر من البرمجة. من برنامجك استورد البرنامج المرفق (البرنامج لا يحتوي على اي كائن ، غير القائمة المختصرة) . . وفي تقريرك في وضع التصميم : . الآن افتح التقرير في وضع معاينة ، وبالنقر على زر الفأرة اليمين ستأتيك هذه القائمة (والتي تشمل على ايقونات شريط الطباعة في هذا الموضوع) . Shortcut Menu.accdb
    3 points
  22. الاستاذ / @kkhalifa1960 @jjafferr @jo_2010 اشكركم بداية من الطرح و المساعدة بمرفق و تعديلات الاخ الكريم / خليفة و سعة صدرة على التعديل مع الحافظ على جميع ادوات النموذج لا .........وكمان عاوزينة بماكرو ....... طيب ممكن من غير ماكرو اختصارا مرفقى عبارة عن جزء من الادوات التى اعتبرتها عملية من وجهة نظرى ( مع كامل احترام للملف الاصيلى ) و تلبى احتياجاتى البسيطة لم اقدم اى جديد و لكن هو مزيج من كل الاعمال بداية من الاخت/ زهرة مرورا بالاستاذ @صالح حمادي و ختاما الاخ @kkhalifa1960 ا Print_ToolBar _2 _ test .rar
    3 points
  23. وعليكم السلام ورحمة الله وبركاته .. هذه مساهمة بسيطة كبداية . استكمل باقي العمل حتى تشعر بمتعة العمل 😊 . St.Sys.accdb
    3 points
  24. السلام عليكم ورحمة الله وبركاته.. تقبل الله طاعاتكم ، ومبارك على الجميع عيد الأضحى المبارك.. من باب السؤال والنقاش . هل من الممكن فعلاً أن نجعل التقرير يعرض الباركود ولكن بدل ما نرسم الباركود على أرضية التقرير ، أن يتم الرسم على أرضية عنصر صورة غير منضم 🤔 !! بمعنى آخر ، نستغل فكرة من المرفق الثاني ودمجها في النتيجة المطلوبة وبالتالي لن نحتاج صورة محفوظة أساساً !!! الفكرة تتلخص بالمرفق التالي بعد تشريح الأكواد وإزالة ما ليس له عمل لتطبيق الفكرة ، وإضافة الكلاس clsPictureBox واستغلال فكرة التنفيذ من الزر Start Draw with Mouse في المرفق A2KPictureBoxVer35 الأصلي من المشاركة الأولى ، بحيث جعلت الفكرة تقوم على رسم رمز الـ QR والـ Code128 😅 . وأشعر بأنها فكرة قد لا تكون ذكية .. ولكن كتجربة مختلفة عما تفضل به الأساتذة وجعلها تعمل على النواتين 32 و 64 :- QR_barcode.accdb
    3 points
  25. التشاؤم قد يكون سبباً في جعلنا نهز الشوك في وروده لشم عبيره في لحظة من اللحظات 😅 أتمنى أن نجد التفاعل الذي نتمناه جميعاً
    3 points
  26. السلام عليكم تم عمل المعادلات في الخلايا الخضراء لم أفهم المطلوب الرابع : مجموع المديونية المحلية الظاهرة غير المخفية بدون مقابل العملة الأجنبية جرب المرفق جمع الأرقام الموجبة معدل.xlsx
    2 points
  27. وعليكم السلام ورحمة الله وبركاته .. مشاركة مع أخي جعفر .. كنت قد أضفت الخاصية هذه الى الأداة التي أشرت إليها . وهي في الزر Custom والذي وظيفته كانت استدعاء دالة محددة عامة من المديول مباشرة .. على سبيل المثال ولفكرتك التي طرحتها أعلاه . استعمل الدالة التالية بإضافتها داخل أي مديول :- Public Function ExportCurrentReportToSNP() On Error GoTo Err_ExportSNP Dim defaultFolder As String Dim filePath As String Dim rptName As String On Error Resume Next rptName = Screen.ActiveReport.Name If Err.Number <> 0 Then MsgBox "لا يوجد تقرير مفتوح ونشط حالياً لتصديره!", vbExclamation + vbMsgBoxRight, "تنبيه" Err.Clear Exit Function End If On Error GoTo Err_ExportSNP defaultFolder = "D:\_BackUp_Teacher\" If Dir(defaultFolder, vbDirectory) = "" Then MkDir defaultFolder End If filePath = defaultFolder & rptName & "_" & Format(Now(), "yyyy-mm-dd_hhmmss") & ".snp" DoCmd.OutputTo acReport, rptName, "SnapshotFormat(*.snp)", filePath, False, "", 0 MsgBox "تم استخراج ملف سناب شوت بنجاح وحفظه في:" & vbCrLf & vbCrLf & filePath, vbInformation + vbMsgBoxRight, "تم التصدير" Exit_ExportSNP: Exit Function Err_ExportSNP: If Err.Number = 2501 Then MsgBox "لا يوجد سجلات لتصديرها أو تم إلغاء العملية.", vbOKOnly + vbMsgBoxRight, "تنبيه" Else MsgBox "حدث خطأ غير متوقع: " & Err.Description, vbCritical + vbMsgBoxRight, "خطأ رقم " & Err.Number End If Resume Exit_ExportSNP End Function ثم اذهب الى نموذج الأداة ، وقم بإنشاء قائمة مختصرة جديدة أو افتح قائمة موجودة . وانقر الزر Custom . واتبع ما يلي :-
    2 points
  28. مشاركة مع اخي ابو البشر تفضل تم التعديل وتحقيق مطلبك Database2.rar
    2 points
  29. جزاك الله خيرا .. جبرت بخاطر اخيك
    2 points
  30. المهم هو مصدر هذه الرسائل .. وهل هذا المصدر يدعم api? انت اذا ارسلت من هاتفك يظهر لدى الطرف الآخر هاتفك كاسم مرسل .. صحيح .. ولكن الرصيد مرتبط بقاعدة بيانات المصدر
    2 points
  31. عليكم السلام ورحمة الله وبركاته الطريقة في اكسس وعندنا في السعودية : 1- الاشتراك في اي بوابة تقدم خدمة الرسائل 2- معظم هذه البوابات بل كلها تدعم api 3- تمنحك هذه الخدمة رقما خاصا فريدا Token تدرجه مع اليوزر والباسوورد في اكسس مع اسم مرسل خاص 4- عندنا يلزم موافقة هيئة الاتصالات على منح اسم مرسل (يخصك) .. واجراءاته يسيرة يمكن لأي شخص الحصول عليه هذا كل شيء نأتي لاستفسارك اذا كان مصدر هذه الرسائل بوابة من هذه البوابات يمكنك الاشتراك معهم وبمعلومية هاتفك يمكنك التواصل مع الدعم الفني لا ضافتها الى حسابك
    2 points
  32. مشاركة مع استاذنا منتصر ملحوظة صغيرة : NO و Yes كلمتان محجوزتان وايضا رأيي ليش الدوشة وتشغيل ادوات لها اول وليس لها آخر افتح حقل الرمز للتحرير واجعل قيمته الافتراضية تتغير بعد كل تحديث عندما تختار سجل جديد ستظهر القيمة الافتراضية الجديدة .. او حتى تم اغلاق وفتح النموذج سيظهر آخر قيمة افتراضية مع ملاحظة حذف وازالة القيمة الافتراضية من الجدول هذا كل ما تحتاجه فقط Private Sub NO1_AfterUpdate() Me.NO1.DefaultValue = Me.NO1.Value End Sub
    2 points
  33. جربت ملف Menu Builder 2003.mdb وأنتج ما تم عمله مع الملف الأصلى وإن كانت الأزرار غير ظاهرة ( دون أن أذهب لويندوز 10 الذى عليه أكسس 2024 ) لكن الأخ فادى وضع مسمى تحت كل زر يوضح عمله وكان كافياً
    2 points
  34. لايوجد فرق بين الإصدارات المهم ماهو الإصدار الذي تعمل به فطالما أنك تعمل في اكسس 2024 فستظهر لك نفس البيئة سواء كان الملف الذي تفتحه mdb او accdb حاولت تعديل الملف ليعمل في 2003 وكانت هذه هي النتيجة سنجد هنا أن الأزرار لم تظهر كما يجب أن تكون عليه ولكن لو فتحت نفس الملف في اكسس 2024 ستظهر بشكل طبيعي ارفق لكم الملف لمن يحب أن يجربه Menu Builder 2003.rar
    2 points
  35. يبدو أنك قمت إما بالتعديل على الوظيفة الإضافية مباشرة وبالتالي لن يتم حفظ التعديلات أو قمت بالتعديل على الملف الأساسي ولم تقم بإعادة إنشاء الوظيفة الإضافية مرة أخرى لأني طبقت الخطوات ونجحت معي سأرفق لك الملف بعد التعديل قم بفتحه وأنقر زر 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
    2 points
  36. طالما أن النموذج هو نموذج فرعي فهذا معناه أنه مرتبط بالنموذج الرئيسي بحقل وبالتالي يمكنك أن تجعل الأمر الذي يقوم به الزر هو إدراج سجل جديد يحتوي قيمة الحقل المرتبط ثم تحديث النموذج الفرعي ولكن ولأن المثال الذي ارفقته لايحتوي على جدول رئيسي وجدول فرعي فقد قمت بوضع حل يناسب هذا الوضع هذا الحل سيكون مناسبأ سواء كان النموذج هو نموذج مستقل أو نموذج رئيسي أو فرعي تم توضيح وظيفة كل سطر بالتعليقات تحياتي 12 (6).accdb
    2 points
  37. صحيح أن الأخ أحمد قد أفاد بإنتهاء المشكلة ولكني فضلت أن أجيب عن بعض الإسئلة حتى يصبح هذا الموضوع كمرجع متكامل يغطي أكبر قدر من التساؤلات حول شريط القائمة المختصرة السؤال الأول كان سنعيد صيغة السؤال ليصبح كيف يمكن الإستفادة من بعض الأوامر من قوائم مختصرة موجودة في قائمة مختصرة جديدة؟ - للقيام بذلك سيتم أولاً إنشاء قائمة مختصرة جديدة بإسم Printing بنفس الطريقة التي تم شرحها في المشاركة السابقة - نقوم بسحب وإفلات الأوامر من المطلوبة من كل قائمة مختصرة إلى القائمة الجديدة كما بالصورة الطلب الثاني كان يمكن حذف القوائم الفرعية بطريقتين الطريقة الأولى وتنفذ في أكسس 2003 فقط وهي عن طريق تحويل القائمة المختصرة إلى ToolBar أو Menu Bar ثم حذفها بشكل طبيعي كما بالصورة الطريقة الثانية ويمكن تنفيذها من أي إصدار من إصدارات أكسس وهي بإستخدام أمر VBA التالي CommandBars("اسم_القائمة_المراد_حذفها").Delete وهنا لن تحتاج إلى تغيير توع القائمة تحياتي
    2 points
  38. كان لدي هذه الفكرة القديمة ولم اتابعها للأسف ، ولكن سؤالك هذا عدت لها وقمت ببعض التعديلات وتحديثها حتى أصبحت بالشكل التالي .. وسأقوم بإذن الله بإضافتها كموضوع مستقل خلال اليوم إن شاء الله
    2 points
  39. طالما وهذا طلبك جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003 تحياتي Shortcut Menu.mdb
    2 points
  40. طلبك الأول ، شرحه موجود في الموضوع التالي :- طلبك الثاني شرحه فيما يلي ..
    2 points
  41. المعذرة اخوي منتصر ، احنا نتكلم عن النسخة في هذه المشاركة ، والتي يكون في اطرافها المساحة البيضاء الاضافية : . 2. الكود كان يأخذ اطول بكثير في العمل ، وكنت اسمع صوت CPU الجهاز يصرخ لأن جهازي قديم 🙂 1. في الواقع التقصير مني ما تطرقت للكود بعد ان حصلت على رسالة الخطأ ، فالمعذرة 😞
    2 points
  42. تفضل أخي @jjafferr .. الآن تم الدمج بحيث لديك جميع الخيارات :- القديمة عن طريق Tag . الجديدة من خلال قيمة مربع النص لكل QR أو Code128 .. حفظ الصور في المجلد QRImg بجانب قاعدة البيانات . ( وهنا سيكون لنا وقفة مرهونة بتجربتك 😉 ) QR_barcode.accdb
    2 points
  43. بالحل المقدم من الأخ @Foksh ينطبق المثل "قطعت جهيزة قول كل خطيب"
    2 points
  44. بعد اذن اساتذتي الاساذ / @صالح حمادي والاستاذ / @jjafferr ........ للاستاذين @jo_2010 و @AMINYOUSIF . لانه يوجد تعديلات مهمه مثلاً عند تكبير الخط ستزداد عدد الصفحات .. تم معالجتها . واشياء اخرى ....... ممكن استخدام الماكروهات حسب طلب الاستاذ @jo_2010 . أو الاكواد بدلاً منها حسب طلب الاستاذ @AMINYOUSIF . ...................... لذا وجب عليا التعدبل وارفاق المرفق بعد التعديل . ووافوني بالرد . Print ribbon-last.rar
    2 points
  45. بعد إذن الاخ @mohahje قمت (وبإلاستعانة بالذكاء الصناعي أكيد 😅) بتعديل الكود للحصول على الـ QRCode بلون أسود وخلفية بيضاء كذلك وتنفيذاً لطلب الاخ @jjafferr تم إضافة الكود الخاص بتنفيذ نفس العملية ولكن للحصول على Code128 ارفق لكم ثلاثة ملفات أكسس كالتالي 1 - الملف QR_barcode SubReport يتم فيه تطبيق الحل الخاص بالاخ @jjafferr بإستخدام التقارير الفرعية 2 - الملف QR_barcode Transparent يتم فيه تطبيق الحل الخاص بالاخ @jjafferr بإستخدام الصورة الشفافة 3 - الملف QR_barcode Bmp Images يتم فيه تطبيق الكود الخاص بالأخ @mohahje تم تطبيق الحلول الثلاثة على نفس صورة الخلفية حتى يتم تجربة كل الحلول في نفس الظروف ومقارنتها من حيث سرعة الأداء وتضخم حجم قاعدة البيانات عند زيادة حجم البيانات ارجو من الجميع تجربة الثلاثة ملفات وإبداء أي ملاحظات للتوصل إلى أفضل حل تحياتي BarcodesReports.rar
    2 points
  46. تفضل يا سيدي 1650.شريط طباعة قوى جدا_32-64بت.accdb
    2 points
  47. وعليكم السلام -تفضل معادلتين لطلبك .اختر منهما ما تشاء =MIN(IF(($C$7:$C$32=$M7)*($G$7:$G$32=""),$E$7:$E$32)) =MINIFS($E$7:$E$32,$C$7:$C$32,$M7,$G$7:$G$32,"") استخراج تاريخ اقدم الفاتورة-1.xlsx
    2 points
  48. السلام عليكم ورحمة الله وبركاته كان من الافضل ارفاق ملف للتطبيق عليه جرب الملف المرفق ببيانات افتراضية في النطاق A2:A100 ومعادلة الجمع في الخلية D2 ,DL ويمكنك نسحها الى اي خلية اخرى =IFERROR(SUMPRODUCT((A2:A100>0)*(SUBTOTAL(103;OFFSET(A2;ROW(A2:A100)-MIN(ROW(A2:A100));0)))*(A2:A100));0) جمع الأرقام الموجبة فقط الظاهرة دون المخفية.xlsx
    2 points
×
×
  • اضف...

Important Information