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

الردود الموصى بها

قام بنشر (معدل)

في هذه المشاركة سأحاول أن اشارك حضراتكم بعض المحاضرات و الدروس التي يلقيها خبراء عالميين في مجال   الاكسيس

 

 

المحاضرة الاولى :

Access Add-in Helper with Geoffrey L. Griffith

 

أولا تعريف :  ADD In

Microsoft Access Add-in
هو برنامج إضافي (Plug-in أو Extension) يتم تثبيته داخل Microsoft Access لإضافة وظائف أو أدوات جديدة غير موجودة بشكل افتراضي في البرنامج.

🔹 بمعنى آخر:
الـ Add-in عبارة عن موديول أو ملف برمجي (عادةً يكون مكتوب بلغة VBA أو VB6 أو .NET) يندمج مع واجهة Access ويضيف لك قوائم أو أزرار أو أوامر خاصة تساعدك على تنفيذ مهام متكررة أو متقدمة بسهولة.

🔹 أمثلة على ما يقدمه الـ Add-in:

  • أدوات لتسريع كتابة الأكواد (Code Libraries).
  • قوالب جاهزة للتقارير أو النماذج.
  • أزرار إضافية على الـ Ribbon أو الـ Menu bar.
  • وظائف جاهزة لتحليل البيانات أو إصلاح قواعد البيانات.

🔹 مكانها في Access:

  • تظهر عادة في قائمة Add-ins داخل الـ Ribbon.
  • يمكن تشغيلها مثل أي أداة مدمجة في Access.

🔹 أشكال الـ Add-in:

  • ملف .MDA أو .ACCDA (قديماً MDE/ACCDE).
  • ممكن يتوزع مع البرنامج أو تثبته بشكل مستقل.

ثانيا: ملخص الفيديو

أداة جيفري المساعدة للوظائف الإضافية في Access (Access Add-in Helper)

 

قدم جيفري أداة قام بإنشائها لمساعدة المستخدمين على إنشاء وتوزيع وظائفهم الإضافية الخاصة. كان دافعه لإنشاء هذه الأداة هو الصعوبة التي واجهها شخصيًا في تذكر جميع الخطوات اللازمة لإنشاء وظيفة إضافية. لذلك، قرر إنشاء تطبيق مستقل يقوم بأتمتة هذه العملية لتجنب الأخطاء. ستكون الأداة متاحة مجانًا على منصة GitHub قريبًا.

 

الميزات الرئيسية للأداة المساعدة:

 

  • عملية مؤتمتة: تأخذ الأداة المستخدم عبر خطوات إرشادية لإنشاء وتوزيع الوظائف الإضافية.
  • قابلة للتخصيص: يمكن تخصيص الإعدادات، والتي تشمل أسماء المشاريع، ونماذج بدء التشغيل، وإعدادات التطبيق، وخصائص قاعدة البيانات.
  • كتالوج للوظائف الإضافية: تحتوي الأداة على كتالوج للوظائف الإضافية المجانية المتاحة للتنزيل، ويخطط جيفري لتحديثه بمساهمات من المجتمع.
  • سهولة الاستخدام: يمكن للمستخدمين فتح دليل الوظائف الإضافية وعرض سجلات الأخطاء بسهولة.
  • أيقونة مُولَّدة بالذكاء الاصطناعي: تتميز الأداة بأيقونة فريدة تم إنشاؤها بواسطة الذكاء الاصطناعي.

 

محرر خصائص قاعدة البيانات (Database Property Editor)

 

تم استلهام هذه الأداة من اقتراح قدمه "جورج" في اجتماع سابق. وهي تتيح للمستخدمين عرض خصائص قاعدة البيانات وتعديلها وحذفها.

 

الميزات الرئيسية لمحرر الخصائص:

 

  • إدارة الخصائص: يمكن للمستخدمين إضافة الخصائص أو تعديلها أو حذفها. تعرض الأداة فهرس الخاصية ونوعها وقيمتها.
  • أنواع البيانات: تتضمن قائمة بأنواع بيانات DAO (Data Access Objects) القابلة للتعيين.
  • سهلة الاستخدام: تم تصميم الأداة لتكون بسيطة وسهلة الاستخدام.

 

النقاش والأسئلة والأجوبة

 

  • مجموعات الخصائص (Property Collections😞 سأل "جون" عن مجموعات الخصائص المختلفة في Access. أوضح جيفري أن أداته تركز حاليًا على الخصائص على مستوى قاعدة البيانات، ولكنه قد يوسع وظائفها في المستقبل.
  • مفتوحة المصدر: ستكون الأداة مفتوحة المصدر، مما يسمح للمجتمع بالمساهمة في تطويرها.
  • الخصائص المخفية: ناقش الحاضرون الخصائص المخفية المتنوعة في Access. وأشار "جورج" إلى أن بعض هذه الخصائص، مثل خيار استخدام محرر Monaco، يمكن تفعيلها.
  • تخزين البيانات في الخصائص: ناقش الحاضرون إيجابيات وسلبيات تخزين البيانات في مجموعات الخصائص مقابل استخدام جدول مخصص للإعدادات، حيث يفضل جيفري استخدام جدول الإعدادات.
  • تصحيح الأخطاء المباشر: عمل الحاضرون معًا للعثور على خطأ برمجي في أداة "محرر الخصائص" وإصلاحه خلال الاجتماع.
  • تثبيت الوظائف الإضافية: سأل "براين" عن تحديات تعديل وتحديث الوظائف الإضافية، خاصة مع تحديثات Office 365 المتكررة التي قد تزيلها. ناقش الحاضرون حلولاً لذلك، مثل استخدام كائن مساحة العمل (workspace object) لفتح وتعديل الوظيفة الإضافية.

 

ثالثا : ملف حوار الاجتماع

 مرفق باللغة الإنجليزية تجدونه في المرفقات ان شاء الله . و يمكن بسهولة يتم ترجمته من خلال  ChatGpt

 

AP; Microsoft Access Add-in Helper with Geoffrey L. Griffith (English_ASR).rar

تم تعديل بواسطه Foksh
تغيير العنوان وإضافة الشرح بناءً على طلب صاحب الموضوع ، لتلافي تشتيت القارئ بين المشاركات
  • Like 1
  • Thanks 3
قام بنشر (معدل)

المحاضرة الثانية:

Get and Post with JSON using Microsoft Access and VBA

 

 

 

أولا التعريف:

Get and Post with JSON using Microsoft Access and VBA

هو أسلوب برمجي بيسمح لبرنامج Microsoft Access (عن طريق لغة VBA) إنه يتواصل مع خدمات ويب (Web APIs) باستخدام بروتوكول HTTP ويرسل أو يستقبل بيانات بصيغة JSON.

  • GET Request:
    يعني جلب بيانات من API. مثلاً تسحب بيانات العملاء أو المنتجات من سيرفر خارجي وترجعلك على شكل JSON.
  • POST Request:
    يعني إرسال بيانات إلى API. مثلاً تبعت فاتورة أو عملية جديدة للسيرفر بصيغة JSON.
  • JSON (JavaScript Object Notation):
    صيغة خفيفة وبسيطة لتمثيل البيانات (key-value) تُستخدم على نطاق واسع لتبادل المعلومات بين التطبيقات.

كيف يتم داخل Access؟

  1. إرسال الطلب باستخدام مكتبات زي:
    • MSXML2.XMLHTTP
    • أو WinHttp.WinHttpRequest
  2. تحديد Headers المطلوبة زي Content-Type: application/json أو Authorization لو في مفتاح API.
  3. إرسال أو استقبال JSON:
    • في GETالسيرفر بيرجع JSON.
    • في POSTبتبعت JSON (زي بيانات مستخدم أو طلب) والسيرفر يرد باستجابة JSON.
  4. تحليل (Parse) JSON:
    • باستخدام مكتبة خارجية زي VBA JSON عشان تقدر تحوله من نص إلى كائنات (Dictionaries / Collections) يسهل التعامل معاها في VBA.

الفائدة العملية في Access

  • ربط قاعدة بيانات Access بـ أنظمة خارجية (مثلاً ERP, CRM, مواقع تجارة إلكترونية).
  • مزامنة البيانات بين Access و خدمات الإنترنت.
  • إنشاء تكامل مع REST APIs (مثلاً Google Maps, WhatsApp APIs, خدمات شحن).

ثانيا: ملخص الاجتماع

 

الحوار كان عبارة عن عرض تقديمي تقني قدمه شخص يدعى "نيل سيرجنت" حول استخدام JSON (صيغة لتبادل البيانات) مع برنامج Microsoft Access.

النقاط الأساسية في الحوار:

  • المشكلة: لدى "نيل" عميل (شركة اختبارات كهربائية) يستخدم نظامًا قديمًا مبنيًا على Access لإدارة كل شيء تقريبًا (فواتير، عملاء، رواتب)، ما عدا جدولة مواعيد المهندسين في المواقع.
  • الحل: تستخدم الشركة تطبيقًا خارجيًا (طرف ثالث) اسمه Field Motion لجدولة المواعيد عبر الويب وتطبيقات الجوال.
  • التحدي التقني: كان التحدي هو ربط النظامين معًا؛ أي جعل نظام Access يرسل ويستقبل البيانات من تطبيق Field Motion.

كيف تم الربط؟

1.     إرسال البيانات (Posting):

o        يقوم نظام Access بتجميع بيانات الوظائف الجديدة (مثل تفاصيل العميل والموقع والاختبارات المطلوبة) من جداوله.

o        يتم تحويل هذه البيانات إلى صيغة JSON.

o        يتم إرسال ملف الـ JSON هذا إلى الواجهة البرمجية (API) الخاصة بتطبيق Field Motion، الذي يقوم بدوره بإنشاء المواعيد في نظامه.

2.     استقبال البيانات (Getting):

o        بعد أن يقوم المهندسون بتنفيذ عملهم وتسجيل البيانات في تطبيق Field Motion (مثل الوقت المستغرق، نتائج الاختبارات)، يقوم نظام Access بطلب هذه البيانات.

o        يرسل Field Motion البيانات مرة أخرى بصيغة JSON.

o        يقوم نظام Access بقراءة ملف الـ JSON وتخزين البيانات في جداوله لتحديث سجلات العملاء، حساب الرواتب، وإصدار الفواتير.


باختصار، الحوار كان شرحًا عمليًا لكيفية جعل برنامج Access يتواصل مع خدمة ويب حديثة عن طريق تحويل البيانات من وإلى تنسيق JSON، مع التركيز على عملية "إرسال" البيانات، وهي الأقل شيوعًا وشرحًا على الإنترنت مقارنة بعملية "استقبال" البيانات.

و لمزيد من التوضيح . دعنا نتعمق في التفاصيل ونشرح الأمر بطريقة أبسط، وكأننا نبني جسرًا بين نظامين مختلفين.

تخيل أن لديك مكتبين:

1.     المكتب الرئيسي (يمثله Microsoft Access): هذا هو نظامك القديم والمخضرم. فيه كل سجلات الشركة الأساسية، بيانات العملاء، الحسابات، وكل القرارات الإدارية الهامة. إنه قوي وموثوق به، لكنه غير مرن ولا يعمل بشكل جيد على الإنترنت أو الهواتف المحمولة.

2.     المكتب الميداني (يمثله تطبيق Field Motion): هذا هو النظام الحديث والمرن. يعمل على الويب والهواتف، وهو مثالي للمهندسين الذين يتنقلون. يسمح لهم بمعرفة مواعيدهم، تسجيل بيانات عملهم بسهولة من أي مكان.

المشكلة هي أن هذين "المكتبين" لا يتحدثان نفس اللغة ولا يتواصلان مع بعضهما البعض. وهنا يأتي دور التقنيات التي شرحها "نيل".


شرح المفاهيم الأساسية بتبسيط

1. لغة التواصل المشتركة (JSON)

لكي يفهم النظامان بعضهما، يحتاجان إلى لغة مشتركة. هذه اللغة هي JSON. فكر في JSON كأنه نموذج بسيط وموحد لكتابة المعلومات. بدلاً من إرسال جدول معقد من Access، يقوم النظام بترجمة البيانات إلى نص بسيط ومفهوم لأي كمبيوتر.

مثال: بدلاً من إرسال سجل معقد من قاعدة البيانات، يتم إرسال نص كهذا:

JSON

{

  "customerName": "شركة الأمل",

  "address": "123 شارع النصر, القاهرة",

  "task": "فحص إنذار الحريق",

  "engineerID": "E105"

}

هذا التنسيق البسيط والمقروء هو لغة JSON.

2. ساعي البريد (API - الواجهة البرمجية)

الآن بعد أن أصبح لدينا لغة مشتركة، نحتاج إلى "ساعي بريد" لنقل الرسائل (البيانات) بين النظامين. هذا الساعي هو API. الـ API هو الوسيط الذي يسمح للبرامج المختلفة بالتحدث مع بعضها البعض. نظام Access يعطي الرسالة (بيانات JSON) إلى الـ API، والـ API يتكفل بتوصيلها بشكل آمن وصحيح إلى نظام Field Motion، والعكس صحيح.


شرح سير العمل خطوة بخطوة

دعنا نتبع رحلة معلومة واحدة من البداية إلى النهاية:

المرحلة الأولى: إرسال أمر عمل جديد (POSTING)

1.     إنشاء الوظيفة: يقوم موظف في المكتب الرئيسي بإنشاء وظيفة جديدة في نظام Access (مثلاً: العميل "شركة الأمل" يحتاج إلى فحص أجهزة).

2.     الترجمة إلى JSON: يقوم نظام Access بأخذ تفاصيل هذه الوظيفة ويحولها إلى "رسالة" مكتوبة بلغة JSON.

3.     إرسال الرسالة: يسلّم Access هذه الرسالة إلى "ساعي البريد" (API). هذه العملية تسمى POST، لأننا "نَنشر" أو "نُرسل" معلومات جديدة ليتم تخزينها في النظام الآخر.

4.     استلام وفهم الرسالة: يستلم نظام Field Motion الرسالة عبر الـ API، يقرأها، ويفهم أنه يجب إنشاء موعد جديد.

5.     النتيجة: يظهر الموعد الجديد تلقائيًا في جدول المهندس على تطبيق Field Motion في هاتفه.

المرحلة الثانية: استلام تقرير العمل المنجز (GETTING)

1.     إنجاز العمل: يذهب المهندس إلى موقع العميل، يقوم بالفحص، ثم يفتح تطبيق Field Motion ويسجل ملاحظاته (مثلاً: "تم العمل في ساعتين، كل شيء سليم").

2.     طلب التحديثات: بشكل دوري (مثلاً كل ساعة)، يسأل نظام Access "ساعي البريد" (API) سؤالاً: "هل هناك أي تقارير جديدة من المهندسين؟". هذه العملية تسمى GET، لأننا "نحصل" أو "نجلب" معلومات موجودة بالفعل.

3.     إحضار الرد: يذهب الـ API إلى نظام Field Motion، يجد تقرير المهندس الجديد، يترجمه إلى لغة JSON، ويعود به إلى Access.

4.     تحديث السجلات: يستلم Access التقرير، ويفهم أن المهمة قد اكتملت. يقوم تلقائيًا بتحديث حالة الوظيفة، ويجهز الفاتورة لإرسالها للعميل، ويضيف ساعات العمل إلى راتب المهندس.

لماذا كل هذا مهم؟

هذا الربط التقني يحل مشاكل حقيقية:

  • الأتمتة: بدلاً من أن يقوم موظف بإعادة إدخال البيانات يدويًا من نظام إلى آخر، كل شيء يحدث تلقائيًا.
  • تقليل الأخطاء: الأتمتة تمنع الأخطاء البشرية الناتجة عن النسخ واللصق أو إعادة الكتابة.
  • الكفاءة والسرعة: يتم تحديث المعلومات بشكل فوري بين المكتب الرئيسي والميدان، مما يجعل العمل أسرع وأكثر سلاسة.
  • تحديث الأنظمة القديمة: يسمح لنظام قديم وقوي مثل Access بالاستفادة من مزايا التقنيات الحديثة (الويب والجوال) دون الحاجة إلى التخلي عنه وإعادة بناء كل شيء من الصفر.

 

 ثالثا: نص الحوار باللغة الإنجليزية

مرفق مع هذه المشاركة ان شاء الله

 

AL; Get and Post with JSON using Microsoft Access and VBA by Neil Sargent (+ theDBguy) (English_ASR).rar

تم تعديل بواسطه Foksh
إضافة الشرح بناءً على طلب صاحب الموضوع ، لتلافي تشتيت القارئ بين المشاركات
  • Like 1
  • Thanks 1
قام بنشر

أشرطة مخصّصة باستخدام شريط الاوامر 

Custom Ribbons Using CommandBars (Adrian Bell)

 

 Using Web APIs in Access by George Young

 

Access Version Control – Highlights along the Journey with Adam Waller

 

Using Class Modules in the Real World 

 

  • Like 1
  • Thanks 1
  • Foksh changed the title to أفكار ومحاضرات ومقالات
قام بنشر

السلام عليكم ورحمة الله وبركاته ..

شكراً لك لمشاركتنا بعض الفكار التي نالت إعجابك ، وقد يكون لها من يبحث عنها .. فقد اختصرت عليه الطريق في البحث عنها :wub:

لي اقتراح بسيط ، وهو ان تقوم بإضافة تعليقك بالعربية عن الفكرة من كل فيديو تقدمه ( بما أن جميع الأفكار التي طرحتها إنجليزية ) ، وتشرح ولو بشكل مفيد مختصر عن الوظيفة أو الفكرة التي يعرضها الفيديو ..

وتخيل لو انك قمت بإرفاق الملف تحت كل فيديو 👌

يا سلااااام ، رح تكون ساعدت كثير أشخاص ومنهم اخوك العبد الفقر الى الله :fff:

 

جزاك الله كل الخير لما طرحته .:clapping:

  • Like 2
  • Foksh pinned this topic
قام بنشر
2 ساعات مضت, Foksh said:

لي اقتراح بسيط ، وهو ان تقوم بإضافة تعليقك بالعربية عن الفكرة من كل فيديو تقدمه ( بما أن جميع الأفكار التي طرحتها إنجليزية ) ، وتشرح ولو بشكل مفيد مختصر عن الوظيفة أو الفكرة التي يعرضها الفيديو ..

وتخيل لو انك قمت بإرفاق الملف تحت كل فيديو

اضم صوتي لصوت مشرفنا الغالي

  • Like 2
قام بنشر (معدل)

اقتراح جميل - لكن أعتقد ان الافضل ان يتم ارفاق الترجمة مع كل ملف فيديو يكون أفضل و أحسن - بحيث عندما يشغل الاعضاء الملف يكون عندهم مترجم 

لذلك سأرفق هنا ان شاء الله برنامج يمكن من خلاله تحميل ملف الفيديو من موقع يوتيوب - مفتوح المصدر و مجاني - 

و هذا البرنامج يمكنه ايضا تحميل الترجمة الانجليزية للحوار 

لكني سأضع هنا ان شاء الله ترجمات الفيدوهات السابقة و التالية باذن الله 

و جزاكم الله خيرا 

 

برنامج التحميل مفتوح المصدر :

https://jdownloader.org/

 

تم تعديل بواسطه mohammed farhat
  • Foksh changed the title to أفكار ومحاضرات ومقالات متقدمة ( تم تحديث المحتوى )

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information