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

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

قام بنشر

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

 

في إحدى المواضيع التي تم طرحها في "الفعاليات والتحديات الشهرية" ، وتحديداً في التحدي الأول ، كان من أحد الحلول والأفكار المطروحة ؛ تطبيق ماكرو على مستوى الجدول لمنع التحديث والتعديل لأي قيمة داخل الجدول . لكن طبعاً كانت الفكرة قائمة على التنفيذ اليدوي من خلال إضافة ماكرو قبل التحديث للجدول من خصائص الجدول نفسه . الحاصل هنا أنني أريد تطبيق هذه الفكرة برمجياً ، وخصوصاً أن لدي ما يقارب الـ 25 جدول . والهدف هو منع الحقن الخارجي أو التلاعب بالجداول . وقد أرهقتني كثرة المحاولات ولم أصل إلى نتيجة حتمية برمجية صحيحة . حتى بمساعدة الذكاء الإصطناعي 😣 . وقد طرحت السؤال داخل مجموعتنا "مجتمع آكسيس جروب" في الواتس أب ، ولم ألقَ أي إجابة .

أرجو المساعدة بتطبيق الفكرة برمجياً VBA بحيث أحدد اسم (الجدول / الجداول) التي أريد تطبيق حمايتها من التعديل لأي قيمة ، و الحذف لأي سجل . (كلاهما)

بمعنى أوضح . أريد عند الدخول إلى جدول ومحاولة تعديل قيمة على أحد الحقول (وليس حقل محدد) لأي سجل أو محاولة حذف أي سجل ، أن يتم منعي بإظهار رسالة بأن "الجدول محمي من التعديل" ( للتعديل ) . أو "لا يمكنك حذف سجلات من هذا الجدول" ( للحذف ) . فهل هذا ممكن برمجياً ❓

 

أفيدوني أفادكم الله .

وهذا ملف مرفق كمثال يحتوي جدول بحقول بسيطة وبه 3 سجلات عشوائية .

 

TblMacroVBA.accdb

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

قبل ما يتم اعطاء الافكار - هل حضرتك طالب الحماية علي مستوى النماذج  ( التي تحتوى على هذه الجداول ال 25 ) و لا على مستوى الجداول نفسها ؟

سأفترض انها على مستوى النماذج التي تحتوى الجداول .

مجرد فكره بسيطة 

1-نعمل جدول و يتم وضع به اسماء الجداول ال 25 المراد حمايتها 

2-نعمل دالة نختبر هل الجدول الحالي ( الذي هو مصدر السجلات للنموذج الحالي مثلا)  من ضمن الجداول ال 25 ام لا 

اذا كان منهم نمنع التعديل و اذا كان ليس منهم نسمح بالتعديل

 

تم تعديل بواسطه mohammed farhat
قام بنشر (معدل)
22 دقائق مضت, mohammed farhat said:

قبل ما يتم اعطاء الافكار - هل حضرتك طالب الحماية علي مستوى النماذج  ( التي تحتوى على هذه الجداول ال 25 ) و لا على مستوى الجداول نفسها ؟

سأفترض انها على مستوى النماذج التي تحتوى الجداول .

مجرد فكره بسيطة 

1-نعمل جدول و يتم وضع به اسماء الجداول ال 25 المراد حمايتها 

2-نعمل دالة نختبر هل الجدول الحالي ( الذي هو مصدر السجلات للنموذج الحالي مثلا)  من ضمن الجداول ال 25 ام لا 

اذا كان منهم نمنع التعديل و اذا كان ليس منهم نسمح بالتعديل

 

شكراً لاستجابتك مهندس محمد ..

انا أريد منع التعديل على الجداول نفسها من داخل الجداول نفسها .

يعني لو فتحت أي جدول وحاولت اعمل عليه تعديل أو حذف سجل ، يمنع التعديل أو الحذف منه .

 

كمثال ، جرب تعدل على أي قيمة داخل الجدول أو حذف السجل في الملف التالي الذي تمت إضافة الحماية عليه يدوياً

Test.accdb

تم تعديل بواسطه Foksh
قام بنشر

تفضل عمي فادي .. جرب 🙂 :

TblMacroVBA.accdb

 

لتطبيق الحماية أو إزالتها على جدول أو مجموعة جداول  :

' Usage (from VBA Immediate Window or code):
'   ApplyTableProtection "Tbl_Cust"               ' single table
'   ApplyTableProtection "Tbl_Cust", "Tbl_Orders"  ' multiple tables
'
'   RemoveTableProtection "Tbl_Cust"
'   RemoveTableProtection "Tbl_Cust", "Tbl_Orders"

 

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

سجل دخولك الان
×
×
  • اضف...

Important Information