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

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

  1. عبدالله بشير عبدالله
  2. mohamedyousef

    mohamedyousef

    03 عضو مميز


    • نقاط

      3

    • Posts

      125


  3. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      2

    • Posts

      7250


  4. Foksh

    Foksh

    أوفيسنا


    • نقاط

      1

    • Posts

      4025


Popular Content

Showing content with the highest reputation on 09/10/25 in all areas

  1. اليك التعديل كلمة المرور 1234 اظافة زر تعديل وخذف للفورم.xlsm
    2 points
  2. و عليكم السلام حسب فهمي من تنسيق خلايا كما هو موضح بالصورة
    1 point
  3. حضرتك انا نفذت اللي حضرتك شرحتو لي لعلني اكون توصلت لمضمون التنبيه شكرا على المعلومة
    1 point
  4. ممكن حضرتك توضح لي كيفية منح الاخيار
    1 point
  5. الف شكر استاذ عبدالله تمام بارك الله في حضرتك
    1 point
  6. الملخص: ملخص تفصيلي: تحويل MS Access إلى عميل ويب حديث عبر APIs تستكشف هذه المحاضرة التحول النموذجي في كيفية استخدام Microsoft Access، حيث ننتقل به من كونه مجرد واجهة لقواعد البيانات المرتبطة (Linked Tables) إلى كونه عميل تطبيق ديناميكي (Dynamic Application Client) يتفاعل مباشرة مع خدمات الويب الحديثة عبر واجهات برمجة التطبيقات (APIs). هذا النهج يفتح آفاقاً جديدة لـ Access ليتكامل مع أي نظام تقريباً على الإنترنت. 1. المفهوم الجوهري: فصل الواجهة عن البيانات (Decoupling) الفكرة الأساسية هي فك الارتباط بين واجهة المستخدم الأمامية (Front-end) التي يصممها المطور في Access، وقاعدة البيانات الخلفية (Back-end). النموذج التقليدي: يقوم Access بالاتصال مباشرة بقاعدة بيانات (مثل SQL Server) عبر ODBC. هذا يعني أن Access يجب أن يعرف مكان الخادم، وتفاصيل الاتصال، ولديه صلاحيات مباشرة على الجداول. هذا الارتباط قوي ومباشر. نموذج الـ API الحديث: يعمل الـ API كوسيط أو "مترجم". تطبيق Access لا يتحدث مباشرة مع قاعدة البيانات، بل يرسل طلبات HTTP معيارية (مثل GET, POST) إلى عنوان URL خاص بالـ API. الـ API بدوره هو المسؤول عن التحدث مع قاعدة البيانات، وتنفيذ الطلب، ثم إعادة النتيجة إلى Access. الميزة الكبرى لهذا الفصل: يمكن تغيير قاعدة البيانات الخلفية بالكامل (مثلاً من SQL Server إلى Oracle أو حتى قاعدة بيانات NoSQL مثل MongoDB) دون الحاجة إلى تغيير سطر واحد في كود Access، طالما أن "عقد" الـ API (عناوين URL وشكل البيانات) لم يتغير. هذا يمنح النظام مرونة وصيانة أسهل وقابلية للتطوير. 2. الأدوات التقنية المستخدمة بالتفصيل 🛠️ لتحقيق هذا التكامل، تم الاعتماد على حزمة من التقنيات التي تعمل معاً بسلاسة داخل بيئة VBA. مكتبة VBA-Web هذه هي المحرك الرئيسي للعملية. هي مجموعة من كائنات VBA (Classes) تغلف التعقيدات المتعلقة ببروتوكول HTTP. أهم كائناتها: WebClient: الكائن الأساسي الذي يحتفظ بعنوان URL الرئيسي للـ API (مثال: https://api.weather.com). WebRequest: يمثل الطلب الفردي. من خلاله نحدد: المورد (Resource): المسار الفرعي داخل الـ API (مثال: forecast). الطريقة (Method): نوع العملية (Get لجلب البيانات، Post لإنشاء بيانات جديدة، Put لتحديث بيانات موجودة، Delete لحذفها). المعلمات (Parameters): البيانات الإضافية التي نرسلها مع الطلب، مثل AddQueryParameter لإضافة متغيرات إلى عنوان URL (مثال: ?city=Cairo&units=metric). الجسم (Body): يستخدم مع طلبات Post و Put لإرسال البيانات الفعلية (عادةً بتنسيق JSON) التي نريد حفظها في قاعدة البيانات. WebResponse: يحتوي على الرد من الخادم. أهم خصائصه: .Data: يحتوي على البيانات المُرجعة (عادةً نص JSON). .StatusCode: رمز الحالة الرقمي الذي يخبرنا بنتيجة الطلب (200 للنجاح، 404 لـ "غير موجود"، 401 لـ "غير مصرح له"، 500 لخطأ في الخادم). تنسيق JSON هو المعيار الفعلي لتبادل البيانات على الويب اليوم. هيكله بسيط ويعتمد على: أزواج المفتاح-القيمة (Key-Value Pairs): مثل {"name": "Ahmed", "age": 30}. الكائنات المتداخلة (Nested Objects): يمكن أن تكون القيمة نفسها كائناً آخر، مثل {"user": {"firstName": "Ali", "lastName": "Hassan"}}. المصفوفات (Arrays): قائمة من القيم، مثل {"skills": ["Access", "SQL", "VBA"]}. كائن الـ Dictionary هذا الكائن، الذي يأتي من مكتبة Microsoft Scripting Runtime، هو المكافئ المثالي لهيكل JSON داخل VBA. إنه يخزن البيانات كأزواج مفتاح-قيمة. مكتبة VBA-Web تقوم تلقائياً بعملية تسمى "التحويل" (Deserialization)، حيث تحول نص JSON القادم من الرد إلى كائن Dictionary متداخل. هذا يجعل الوصول إلى البيانات سهلاً جداً: VBA ' بدلاً من التعامل مع نص معقد ' يمكننا الوصول للبيانات هكذا: Dim temp As Double temp = MyDictionary("current_weather")("temperature") 3. تحليل معمق للأمثلة العملية 📝 مثال الطقس (قراءة البيانات فقط - GET) التهيئة: يتم إنشاء كائن WebClient وتحديد عنوان URL الأساسي لخدمة الطقس. بناء الطلب: يتم إنشاء كائن WebRequest وتحديد المورد (forecast) والطريقة (Get). إضافة المعلمات: يتم استخدام .AddQueryParameter لإضافة خطوط الطول والعرض (التي تم جلبها من جدول Access محلي) إلى الطلب، بالإضافة إلى معلمات أخرى مثل وحدة القياس (فهرنهايت). التنفيذ: يتم استدعاء Client.Execute(Request)، والذي يرسل الطلب وينتظر الرد. معالجة الرد: يتم فحص Response.StatusCode. إذا كان 200، يتم تحويل Response.Data (الذي هو JSON) إلى Dictionary. تعبئة النموذج: يتم الوصول إلى القيم المطلوبة من الـ Dictionary (مثل WeatherData("main")("temp")) وتعيينها مباشرة إلى مربعات النص في نموذج Access. لا يوجد ربط بيانات مباشر؛ العملية تتم برمجياً بشكل كامل. مثال المنتجات (قراءة وكتابة - CRUD Operations) هنا تظهر قوة الـ API الكاملة. تحديث منتج (PUT): عندما يغير المستخدم السعر في النموذج ويضغط "حفظ"، يقرأ كود VBA القيم الجديدة (اسم المنتج، السعر) من حقول النموذج. يتم إنشاء كائن Dictionary جديد في VBA لتمثيل المنتج المحدث. يتم تحويل هذا الـ Dictionary إلى نص JSON باستخدام وظيفة خاصة في مكتبة VBA-Web. يتم إنشاء طلب WebRequest بطريقة Put ويتم إرساله إلى عنوان URL محدد للمنتج (مثال: /api/products/15). يتم تعيين نص JSON الذي تم إنشاؤه إلى خاصية .Body للطلب. عند التنفيذ، يستقبل الـ API الطلب، ويقرأ الجسم، ويقوم بتحديث السجل المقابل في قاعدة بيانات SQL. إضافة منتج جديد (POST): العملية مشابهة جداً للتحديث، ولكن الطلب يُرسل بطريقة Post إلى عنوان URL العام للمنتجات (مثال: /api/products)، ويقوم الـ API بإنشاء سجل جديد بدلاً من تحديث سجل موجود. حذف منتج (DELETE): أبسط عملية. يتم إرسال طلب WebRequest بطريقة Delete إلى عنوان URL الخاص بالمنتج المراد حذفه (مثال: /api/products/15). هذا الطلب لا يحتاج عادةً إلى جسم (Body). 4. استنتاجات ومفاهيم متقدمة 🚀 معالجة الأخطاء: من الضروري دائماً فحص StatusCode. إذا لم يكن 200، يجب على الكود التعامل مع الخطأ بشكل مناسب، كعرض رسالة للمستخدم تشرح المشكلة (مثل "لا يمكن العثور على المنتج" للرمز 404). أداة Postman: تم التأكيد على أهمية استخدام أدوات مثل Postman. تسمح هذه الأداة للمطور باختبار كل طلبات الـ API (GET, POST, etc.) بشكل مستقل عن Access. يمكن للمطور التأكد من أن الطلب يعمل وأن البيانات المرجعة صحيحة قبل كتابة أي كود VBA، مما يوفر ساعات من تصحيح الأخطاء. الأمان والمصادقة: معظم واجهات الـ API الحقيقية ليست مفتوحة للجميع. تتطلب "مفتاح API" أو "رمز مصادقة" (Token) يتم إرساله مع كل طلب. مكتبة VBA-Web تدعم إضافة هذه المعلومات بسهولة إلى رؤوس الطلب (Request Headers) لتأمين الاتصال. في الختام، هذه المحاضرة لم تكن مجرد شرح لتقنية جديدة، بل كانت دعوة لتغيير طريقة التفكير في دور MS Access. فبدلاً من كونه أداة محصورة في بيئة سطح المكتب، يمكن تحويله باستخدام هذه التقنيات إلى مكون مرن وقوي في أي بنية تحتية حديثة تعتمد على الخدمات السحابية والويب. و أخيرا ملف الترجمة الي العربية ملف الترججمة الي العربية.rar
    1 point
  7. في طلبك الاول TextBox8 فقط والان تغير الطلب الى الكمبوبكس يمكن اظافة التالي الى UserForm_Initialize Dim ctrl As Control For Each ctrl In Me.Controls If TypeName(ctrl) = "ComboBox" Then ctrl.Style = fmStyleDropDownList ctrl.Locked = False End If Next ctrl برنامج المراكز الطبية 30 اغسطس.xlsm
    1 point
  8. السلام عليكم اليك الملف المرشحين1.xlsb
    1 point
  9. هحاول اختصر لك الموضوع اولا القاعدة الخلفية هتغلق بكلمة سر قوية ثانيا القاعدة الامامية هتغلقها بكلمة سر (ممكن تحولها ايضا لقاعدة accde لاضافة طبقة حماية ^_^ ) هتعمل قاعدة اخري لفتح القاعدة الامامية وتكون accde وهي التى ستمرر كلمة السر للقاعدة الامامية وتفتحها هتلاقي مواضيع كثير وطرق كثير فقط ابحث واختر المناسب لك
    1 point
  10. 🌷 لقاءات أكسس العرب الافتراضية | 03 | 🌷 موضوع اللقاء : مهارات وفنيات تصميم النماذج واختيار الألوان وتنسيق العناصر رابط اليوتيوب: ★ روابط اللقاء الثالث ★ ○ موقع إلهام : https://www.pinterest.com https://www.freepik.com ○ مواقع اختيار الألوان : https://coolors.co https://colorhunt.co https://www.materialpalette.com https://coolors.co/gradients ○ مواقع الأيقونات : https://icons8.com/icons https://www.flaticon.com https://icon-icons.com/ https://www.iconarchive.com/ https://flaticons.net/free-icons ○ مواقع صور PNG : https://www.cleanpng.com https://www.pngwing.com https://www.seekpng.com ○ مواقع صور خلفيات : https://www.pexels.com https://www.freepik.com/free-photos-vectors/background https://pixabay.com https://www.vecteezy.com/free-photos/background https://stocksnap.io/search/background ○ مواقع الخطوط : https://fonts.google.com https://arbfonts.com خطوط رسومية : https://www.vertex42.com/ExcelTips/unicode-symbols.html https://www.ssec.wisc.edu/~tomw/java/unicode.html ○ مراجع مهمة : https://elshemy.me/content/2025_8/Access_UI_UX_ِGuide.html ★ روابط تهمك ★ ❀ ملفات اللقاءات الافتراضية : ○ https://shorturl.at/mR2T3 ○ اللقاء الأول : https://drive.google.com/drive/folders/1wiMVugVZNzU9eaJ9abX-YfqhhSG6_Ec5 ○ اللقاء الثاني : https://drive.google.com/drive/folders/1EcaTZBp0rhmxhm7c_NKOg6BC-O89DS4W ○ اللقاء الثالث : https://drive.google.com/drive/folders/1VX4an_hg3ZdX-Q9_MlNNPoCzkCN6b98d ○ برمـجيـات - أدوات - إضـافـات : https://drive.google.com/drive/folders/1RtmH-cuk1rpj0zKkUNPbQz681oqKVNo3 ○ مجلد ورش العمل المشتركة : https://drive.google.com/drive/folders/1LL5_hsElZR4zQv62Wt1TxU2_M8Gv1Jja ❀ رابط الانظمام لمجموعة الأكسس جروب (واتسأب) : https://chat.whatsapp.com/HQvOPGrkASM2guvAotHXCw ❀ قناة أكسس العرب (اليوتيوب) : http://www.youtube.com/@ArabAccessGroup ❀ مواضيع اللقاء : المقدمة الإلهام البصري pinterest الإلهام البصري Google اختيار الألوان المناسبة تطبيق الألوان على قاعدة البيانات الأيقونات النصية الأيقونات الأيقونات - برنامج Pichon إضافة الصور المفرغة PNG تصميم الواجهات عن طريق PowerPoint حفظ التصميم من الباوربوينت واستيراده إلى الأكسس تصميم نموذج تسجيل الدخول إضافة التفاعل البصري للعناصر تفاعل بصري بالتنسيق الشرطي التأثيرات البصرية التي تطبق على الأزرار الخطوط في النماذج وتنسيقاتها الأنماط اللونية أنماط الخطوط مشاهدة ممتعة 😊🌷
    1 point
  11. اقتراح بأن يتم تثبيت الموضوع وأغلاقه . بحيث يتم فيه فقط عرض هذه اللقاء دون فتح الباب للحوار
    1 point
  12. يسأل الكثير والكثير عن مدى قدرة تطبيق قاعدة البيانات Microsoft Access Database لتحمل البيانات وكم من الأحاديث والشائعات التي تدور حول الإجابة الواضحة لهذا السؤال. دعونا نتحدث بشيء من التفصيل عن Microsoft Access ونأخذ جولة عن Microsoft ACCESS Database Application MS ACCESS بالتحديد هو عبارة عن صورة مصغرة لتطبيقات ونظم إدارة قواعد البيانات العلائقية أو RDBMS ولكن ما يميز MS ACCESS يزود مستخدميه بنوع من السهولة واليسر أثناء الإستخدام فضلاً عن نظائره المشار إليها سابقاً مثل Microsoft SQL Server أو My SQL Server أو ORACLE أو Sybase ...الخ. ودعوني بلجهتي المصرية أقول عن الأكسيس مقارنة بما سبق ذكره أنه عبارة عن( سندوتش قاعدة بيانات ) ... يعني شيء كدة في السريع !! ولكن هذا لا يمنع وجود قوة كامنة في MS ACCESS والتي سنبرزها بعد قليل ... ولكن هنا دعونا نتجه إلى شيء غاية في الأهمية: س: ما الدافع الذي يدفعك إلى استخدام MS ACCESS ؟؟؟؟ ج: بكل بساطة لأنه كنتيجة للتحليل البيئي للعميل وتحليل النظم الخاص بعمله أو منشأته قد يتبين لنا عدم وجوب استخدام قاعدة بيانات ضخمة مثل SQL Server أو ORACLE .... الخ ، ولذلك - طبقاً للفحص والتحليل - إن قاعدة بيانات MS ACCESS ملائمةجداً. س: بصفتك مبرمج ماذا تعرف عن MS ACCESS من حيث المميزات والعيوب؟؟؟ ج: قواعد البيانات ACCESS من عيوبها بطئ في نقل البيانات على الشبكة سعتها صغيرة ولا تتحمل الكثير من البيانات ولكن لا أعرف بالتحديد كم تسع وليس لدي أيضاً علم بالحد الأقصى من الكائنات التي تتحملها طبعا باضحك عليكم انا عارف والاجابة تفصيلا مواصفات قاعدة البيانات -----لمحة عامة عن قاعدة البيانات: قاعدة بيانات Microsoft ACCESS ذات اللاحقة أو الاسم الممتد ( mdb أو accdb ) هي عبارة عن تجميعة أو مجموعة من البيانات والكائنات الخاصة بإحتواء وإدخال وإخراج البيانات وإجراء العمليات المختلفة عليها. سعتها التخزينية لا تتعدى الـ ( 2 جيجا بايت ، 2 GB) ، والمساحة السالف ذكرها تتضمن البيانات بالاضافة إلى المساحة التخزينية التي تشغلها كائنات قاعدة البيانات مثل الجداول والإستعلامات والوحدات النمطية والإجراءات المخزنة. لا تتحمل قاعدة البيانات أن تحوي بداخلها الكائنات السابق ذكرها في النقطة السابقة بأكثر من 32,768 كائن. تقول Microsoft بأن تطبيق MS ACCESS يستطيع أن يتحمل تلاقي وتزامن 255 مستخدم في نفس الوقت ، ولكنها تقول أن هذا العدد سيقل بكثيرأثناء الـ Design-Time -----لمحة عامة حول الجداول: عدد الجداول التي تستطيع قاعدة البيانات تحملها هو نفس عددالكائنات بصفة عامة التي تستطيع قاعدة البيانات تحملها وهذا على أساس أن القاعدة لا تحوي داخلها إلا الجداول فقط وهو العدد السابق ( 32,768 ). وكما فعلنا مع الحد الأقصى للكائنات ، سنقوم بذلك مرة أخرى مع المساحة ، وهنا أقصد أن الجدول الواحد يستطيع احتواء 2 جيجا بايت تتضمن البيانات والحجم اللازم لمحتويات قاعدة البيانات وهذا باعتبار أن قاعدةالبيانات لا تحتوي إلا على هذا الجدول. لا يمكنك تسمية الجدول بسلسلة نصية طولها أكثر من 64 حرف. وكذلك بالنسبة للحقول تنطبق عليها ما انطبق على اسم الجدول. عدد الجداول المفتوحة حسب ما تلقينا من Microsoft هو 2048 ، ويُقصد بها عدد الجداول المفتوحة في نفس ذات اللحظة ، ولكن في الواقع يقل هذا الرقم كثيراً وهذا لأن تطبيق MS ACCESS يقوم بقتح الجداول داخلياً دون أن تظهر بشكل فيزيائي مادي أمامك. نرجع ثانية للمساحة أو السعة التخزينية القصوى وهي الـ ( 2 جيجا بايت ) ، وللتنويه لو أنت من مستخدمي MS ACCESS 2000 or 97 فلن تحظى إلا بـ ( 1 جيجا بايت فقط ) ، ولو حالفك الحظ وكنت تستخدم الإصدارات الأرقى منذلك فستكون من حلفاء الـ ( 2 جيجا بايت ). إليك هذه المعلومة: نعرف جميعا حقول المذكرات من النوع( مذكرة / Memo ) هل خطر ببالك كم تسع تلك الحقول ؟؟ ........ تسع تلك الحقول مقدار من الحروف بعدد ( 65,535 ) هذا إن كنت قد أدخلت البيانات من خلال واجهة التطبيق MS ACCESS User Interface ولكن إن قمت بالإدخال برمجياً فلك أن تتخيل أن هذا الحقل قد تحول إلى بئر عميق يسع من البيانات ما يساوي الـ ( 1 جيجا بايت ) ولكن لا تسألني عن السبب لأنها عملية فيزيائية تتعلق بمحرك MS ACCESS شخصياً ودعونا لا نتدخل في شئون الآخرين هههههه . بالنسبة للحقول من النوع ( OLE ) تسع ما يساوي الـ ( 1 جيجا بايت ) من البيانات. الجدول الواحد لا يستطيع أن يحوي بداخله أكثر من 32 فهرس / Index. عدد الحروف التي تستطيع أن تحويها الحقول باستثناء الـ ( Memo ،OLE ) حين تكون خاصية الـ ( Unicode Compression ) قيمتها تساوي Yes هي كالتالي: بالنسة للإصدار 2000-203 = 4000 حرف أما بالنسبة للإصدار XP فانها = 2000 حرف. -----لمحة عامة حول الإستعلامات: الحد الأقصى للعلاقات داخل الإستعلام الواحد هو ( 32 ) علاقة بما فيها من فهارس وهذا يعني أن لو الفهارس المدرجة بالجداول الواردة بالاستعلام = 5 فهارس ، فلن يحتوي هذا الإستعلام أكثر من 27 علاقة Enforced Relationship. عدد الجداول المدرجة بالإستعلام لا يزيد عن 32 جدول لكل استعلام. السجل الواحد لا يستطيع أن يحتوي على أكثر من 255 حقل. كل سجل داخل الاستعلام لايزيد عن ( 1 جيجا بايت ). عدد مستويات الإستعلامات المتدرجة Nested Queries لا تتعدى الـ 50 مستوى. جملة الاستعلام الخاصة بالإستعلام تستطيع حمل حوالي ( 64.000 حرف ) بداخلها. -----لمحات خاطفة عن التقارير والنماذج: مربع العنوان ( Label ) يستطيع حمل 2048 حرف. مربع النص ( TextBox ) يستطيع حمل 65,535 حرف. أقصى عرض للتقرير أو للنموذج = 22 إنش ، أو ، 55.87 سم. طول القسم الواحد = 22 إنش ، أو ، 55.87 سم. مجموع أطوال الأقسام Sections في وقت التصميم إضافة لرأس الكائن ( النموذج أو التقرير ) = 200 إنش ، أو ، 508 سم. عدد مستويات التقارير والنماذج المتدرجة كما يلي: في الإصدار 2003 و XP يصل إلى 7 مستويات ، أما الإصدار 2000 فما هم إلا 3 مستويات. يمكنك استخدام ( 10 ) حقول لعمل فرز وتجميع كحد أقصى ... Sorting and Grouping. يمكنك فقط استخدام عدد ( 1 ) Report/Page Header/Footer ، ولكن يمكنك استخدام ( 10 ) Group Header/Footer. التقرير الواحد لا يمكن أن يتضمن أكثر من ( 65,536 ) صفحة للطباعة. لا يمكنك إضافة أو رسم أدوات أكثر من 754 أداة على النموذج أو التقرير ، والأدوات معروفة للجميع مثل مربع العنوان وزر الأمر وما إلى ذلك ، ويتضمن الرقم السابق ذكره عدد الأقسام الموجودة بالنموذج أو التقرير. -----لمحات خاطفة عن الماكرو: عدد الإجراءات في الماكرو 999 عدد الأحرف في الشرط 255 عدد الأحرف في التعليق 255 عدد الأحرف في وسيطة الإجراء 255 تم بحمد الله
    1 point
×
×
  • اضف...

Important Information