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

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

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      4

    • Posts

      5132


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

    منتصر الانسي

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


    • نقاط

      1

    • Posts

      1468


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      1

    • Posts

      10148


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      1

    • Posts

      2418


Popular Content

Showing content with the highest reputation on 10/01/26 in all areas

  1. بفضل الله سبحانه وتعالى ، ثم لك على هذه السهرة الجميلة والغنية وسماع صوتك .. قد أكملت سهرتي التي تكللت بالنجاح .. وقد كانت الثمرة في نهاية موسم الحصاد تتلخص بـ :- 1) ميزة الإستكشاف التلقائي لقواعد البيانات الخلفية ( Auto-Detect Back-End ) :- يكتشف مسار الـ Back-End واسم الجدول الأصلي آلياً من خاصية tdf.Connect 2) ميزة التعامل مع القواعد المحمية بكلمة مرور ( Password-Protected Back-Ends ) :- يستخرج كلمة المرور تلقائياً إن كانت محفوظة في نص الاتصال ( PWD=... ) أو يدعم تمرير كلمة المرور يدوياً عبر المعامل: DbPassword:="MyPass" 3) دعم العلاقات والتتالي ( Cascade Aware ) :- دالة بسيطة تكتشف الجداول التابعة المربوطة بتتالي الحذف ، بحيث تفك / تعيد حمايتها مع الجدول الرئيسي بلحظة واحدة . 4) عدم الحاجة لاستدعاء أيقاف الحماية ومن ثم تنفيذ أمر يستدعي استعلامات التحديث أو الحذف ، ومن ثم إعادة تفعيل الحماية . 5) دعم مرن لإضافة السجلات في الجداول من النماذج دون الحاجة الى الإستدعاءات السابقة في النقطة السابقة ( إيقاف / تشغيل الحماية ) . 6) ما زال قيد التطوير والتجارب ، هو إمكانية استثناء حقل أو حقول في جدول واحد من التحديث وأبقاء الحماية على بقية الحقول . 7) أيضاً ما زال قيد التطوير فكرة لتتعامل مع القواعد الخارجية ، بحيث يقوم المستخدم بتنفيذ الحماية أو حذفها لجدول محدد في قاعدة بيانات خارجية .
    2 points
  2. تحياتي وسلامي لك أخي منتصر 🙂 الحقيقة أن هذه الفكرة سبق أن عرضها معلمنا الكبير @jjafferr في هذه المواضيع 👈 سِحر جداول الاكسس في تسجيل الوقائع و سِحر جداول الاكسس في تسجيل الوقائع عن طريق Tables Data Macro لذلك أحس أني عندي فكرة بسيطة عن هذه الميزة .. طبعا الموديول كاملا تم تصميمه عن طريق أداة موجهة بالذكاء الاصطناعي ولعلي أطرحها قريبا إن شاء الله .. والإجابة المباشرة على سؤالك هي : لا لن يؤثر التغيير الذي عملته على عمل الدوال الأخرى في الموديول .. ومن الخير ما فعلت .. حيث كانت دواعي إنشاء تلك الوظيفة (الدالة) هي ضبط الأكواد الرئيسية (تطبيق وفك الحماية عن الجداول) والتأكد من سلامتها .. ولكن أنت فعلت فائدتها للتأكد من وجود الحماية قبل تطبيقها وهذه فطنة منك 👍🙂 جواب هذا السؤال ستحصل عليه بعدما تتعمق في حوار الماكرو هذا .. وضني بك من خلال سهرة البارحة أنك قد عرفت الجواب فعلا 😅🖐️ ننتظر مفاجآتك
    1 point
  3. وأنا قمت بحذفه احترازاً ، لا عليك 🤗 وهنا الموضوع توسع بشكل يفوق عقلي الصغير , ليتعامل مع القواعد المقسمة مثلاً .. أو التعامل مع الاستعلامات ( تحديث أو حذف ) .... إلخ
    1 point
  4. هههههههههه ، تقريباً 😁 الشكر لله من قبل ومن بعد ، وفعلاً قطعة الصلصال هذه فتحت لي باب الأفكااااااار الغريبة التي تراودني . وقد أسعدت بلقاء صوتي جمعني مع أخي موسى وقد شاركني تجربة فريدة وجميلة جداً ، ولكن اتضح أنني أنا اللي كنت غائب في هذه الأيام . وخطر ببالي سؤال عند ملاحظتي لـ blnIsBlocked ، هل تم تعريف هذا المتغير ؟؟ والإجابة هنا لصاحب الفكرة طبعاً .. ويبقى سؤالي هو ، هل من الممكن تطبيق الحماية بحيث نسمح بالإضافة ولا نسمح بالتعديل أو الحذف من داخل الجداول مباشرة بدون الإضطرار لإيقاف وتشغيل الحماية في كل عملية حفظ من خلال النماذج ؟؟
    1 point
  5. تتبع الخطوات التالية وهذا هو محتوى المرفق سنغلق النموذج الشاشة الرئيسية ونفتح نموذج إنشاء الإختصار المسمى frmShortcut يفترض أن تكون النتيجة عندك مطابقة لما جاء في الصور
    1 point
  6. السلام عليكم 🙂 مايكروسوفت عملت اضافة لجداول الاكسس 2010 (وتم ابقاء هذه الميزة للنسخ التالية) ، عملت الاحداث التالية لكل حقل (حقول النص والتاريخ والرقم (ويشمل الرقم التلقائي و العملة) فقط) وهذه الاحداث (هناك تسمى Trigger) كانت ميزة في جداول SQL Server : للسجلات : حدث بعد ادخال السجل ، حدث بعد حذف السجل ، حدث قبل حذف السجل ، للحقول : حدث بعد تحديث الحقل ، حدث قبل تحديث الحقل ويمكن عمل هذه الاحداث والجدول في وضع التصميم: . او الجدول في وضع . لغة كتابة الاحداث ليست VBA وانما الماكرو المضمن ، والذي يمكنه ان ينادي دالة في وحدة نمطية هكذا (هنا ننادي الدالة fMsgbox) : . هناك طريقتين لكتابة الماكرو المضمن ، ونتيجة الكتابة النهائية هي كما نراها في الصورة التالية : - الطريقة اليدوية (وعيبها انها بطيئة ، وخصوصا اذا عندك حقول كثيرة في الجدول ، وعندك جداول كثيرة ، وعندك برامج كثيرة) 1. اذا لم يستطع الماكرو المضمن تنفيذ احد الاوامر ، فإنه يعمل جدول للاخطاء التي صادفها ، اسمه USysApplicationLog ، وتراه هنا: . او ولأنه جدول نظام ، فيكون مخفي ، الى ان تطلب من الاكسس ان يُظهر جميع جداول النظام ، فترى الجدول . لذا ومن واقع تجربة ، انصح بكتابة هذا السطر الاول (لتلافي اي اخطاء ، مما يؤدي لتوقف عمل الماكرو) ، 2. نكتب السطر كما هو ، بعد تغيير اسم الحقل الفريد/المميز في بياناته والمفرس بلا تكرار (انصح بأن يكون عندك حقل فريد ومميز في بياناته ، وانا دائما استعمل في برامجي حقل الترقيم التلقائي ، والذي نستفيد منه هنا استفادة قصوى ، فهو الدليل على محتويات السجل) ، 3. نظيف سجل جديد في الجدول الأخر ، 4. نبدأ بتعبئة الحقول بالامر SetField ، ثم اسم الحقل ، ثم قيمة الحقل ، ونستمر لعدد الحقول التي نريد اضافة بياناتها للجدول الآخر ، . - طريقة برمجية عن طريق عمل ملف XML نضع فيه الاوامر اعلاه ، ثم نستورده لقاعدة البيانات ، والملف عبارة عن ملف نصي ولكن بصيغة XML ، يجمع فيه جميع الاحداث (مرفق نسخة من الملف لقاعدة البيانات التي تم ارفاقها في مشاركتي الاولى) واليكم الجزء للحدث الذي في الصورة الاعلى . وثم نستخدم الكود التالي لإستيراد هذا الملف: من نفس برنامج الاكسس application.LoadFromText acTableDataMacro, "Table_Name", "D:\xml_File.xml" من برنامج اكسس خارجي 'Insert/Load this DataMacro in the Table Events Dim accApp As Object Set accApp = CreateObject("Access.Application") accApp.OpenCurrentDatabase Me.str_DB_Name 'D:\temp\myDB.accdb accApp.LoadFromText acTableDataMacro, Me.lst_Tables, xml_File accApp.CloseCurrentDatabase accApp.Quit Set accApp = Nothing . والطريقة التي عرفت بها الكود اعلاه ، هي: اعمل كود في احد هذه الاحداث او في جميعها ، وليكن بضعة اسطر حتى لا نضيع في الاكواد ، واحفظ الجدول ، ثم استخدم هذا الكود لتصدير DataMacro الذي عملناه لهذا الجدول ، هكذا : application.SaveAsText acTableDataMacro, "Table_Name", "D:\xml_File.xml" . نصائح: اختار الحقول المهمة ، ولا تستعمل جميع الحقول ، الجدول tbl_x_AuditTrail سيزداد حجمه بسرعة ، ولكن كثرة الجداول وكثرة عدد المستخدمين لا يُبطئ العمل ، في الجدول tbl_x_AuditTrail هناك حقل ChangeBy وهو اسم المستخدم عند دخوله الكمبيوتر ، وحقل ChangedOn وهو اسم الكمبيوتر الذي تم التعديل منه ، هاتان الدالتان تكونان في برنامج الواجهة ، طبعا يمكن استبدالها باسم المستخد حسب الصلاحيات ، وIP الكمبيوتر اذا كان لإسم الكمبيوتر اهمية ، الجدول tbl_x_AuditTrail لا تسمح لأحد ان يراه ، لأنه يمكن حذف وتغيير بياناه ، فيصبح عديم الفائدة ، وبما ان برنامجنا كان ذو بيانات حساسة ، فكنا نراقب من يتصفح البيانات كذلك ، بمناداة دالة عند حدث "الحالي" للنموذج ، ونستعمل "Browse" في حقل عن Change_Delete_Insert . ------------------------------------------ 2024-10-30 قاعدة بيانات وبها نموذج لعمل الجميع اعلاه برمجيا جعفر tbl_info_DataMacro.xml.zip
    1 point
×
×
  • اضف...

Important Information