اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابوخليل

أوفيسنا
  • Posts

    13648
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    292

كل منشورات العضو ابوخليل

  1. .................................... الله أكبر الله أكبر لاإله إلا الله والله اكبر الله اكبر ولله الحمد ................................. تقبل الله صيامكم وقيامكم وكل عام وانتم بخير
  2. حذفت الماكرو .. فتم ابطال السحر
  3. سألت الذكاء فأعطاني عدة حلول الغريب ان ذكر الصندوق ولكن لم يقل انه اسود سؤالي : هل يمكن حماية محرر فيجوال في اكسس وهو على صيغة accdb بدون استخدام كلمة المرور المعتادة داخل المحرر ودون استخدام قفل مفتاح اشيفت .. هل من طريقة مبتكرة فريدة او جديدة قال Gemini نعم، هناك طرق "خارج الصندوق" تتجاوز الحماية التقليدية بكلمة مرور (VBA Project Password) التي يسهل كسرها حالياً، أو تعطيل مفتاح Shift الذي يمكن تجاوزه بسهولة. إليك مجموعة من الأساليب المبتكرة والاحترافية لحماية كود VBA في ملفات accdb: 1. تحويل الملف إلى صيغة ACCDE (الخيار الأقوى والأكثر شيوعاً) هذه ليست مجرد كلمة مرور، بل هي عملية "تجميع" (Compilation) للكود. كيف تعمل: يقوم اكسس بحذف الكود المصدري (Source Code) تماماً والإبقاء فقط على نسخة تنفيذية يفهمها الجهاز. النتيجة: لن يتمكن أي شخص من فتح محر VBA أو رؤية سطر واحد من الكود، حتى لو حاول ذلك. ملاحظة: احتفظ دائماً بنسخة accdb الأصلية للتعديل، لأنك لن تستطيع استرجاع الكود من ملف accde. 2. التمويه وتشتيت المنطق (Code Obfuscation) إذا كان لا بد من بقاء الملف بصيغة accdb، يمكنك استخدام استراتيجية "الغموض" بدلاً من "القفل": تغيير الأسماء: استبدل أسماء المتغيرات والدوال الواضحة بأسماء عشوائية لا معنى لها (مثلاً: بدلاً من CalculateSalary استخدم x7_v2). استدعاءات غير مباشرة: استخدم Application.Run لاستدعاء الدوال بدلاً من استدعائها مباشرة، مما يجعل تتبع مسار الكود كابوساً للمتطفل. 3. نقل الكود إلى مكتبة خارجية (DLL) باستخدام VB6 أو .NET هذه الطريقة تعتبر "مستوى المحترفين" وتجعل الوصول للكود مستحيلاً تقريباً من داخل اكسس: الفكرة: بدلاً من كتابة الكود الحساس داخل اكسس، قم بكتابته في لغة برمجة أخرى (مثل C# أو VB.NET) وقم بتصديره كملف DLL. التطبيق: داخل اكسس، تقوم فقط بعمل "استدعاء" للدالة الموجودة في الملف الخارجي. الميزة: الكود لا يوجد أصلاً داخل قاعدة البيانات ليتم فتحه أو كسره. 4. طريقة "فخ التحقق" (Conditional Execution) يمكنك وضع كود في بداية تشغيل البرنامج يتحقق من "بصمة" معينة للجهاز (مثل الرقم التسلسلي للهاردسك)، وإذا لم يتطابق، يقوم الكود بمسح نفسه أو إغلاق التطبيق فوراً. مثال: > "إذا فتح المستخدم محرر VBA وحاول التعديل، يتم تفعيل ماكرو مخفي يقوم بحذف سجلات أساسية أو تعطيل الواجهات." (هذه الطريقة دفاعية وليست وقائية). 5. استخدام Add-ins الخارجية للتشفير هناك أدوات متقدمة (مثل VBA Code Guard) تقوم بتغيير بنية الكود داخل الملف بطريقة تجعل قراءته مستحيلة بشرياً حتى لو تم فتح المحرر، حيث تظهر الرموز كطلاسم غير مفهومة. أي الطرق تفضل؟ إذا كنت تبحث عن الأمان المطلق وسهولة التنفيذ، فإن تحويل الملف إلى ACCDE هو الحل الأمثل. أما إذا كنت ترغب في حماية برمجية معقدة تسمح لك بإدارة التراخيص، فنقل الكود إلى DLL هو الطريق الصحيح. هل تود أن أشرح لك كيفية تحويل ملفك إلى ACCDE أو كيفية ربط مكتبة DLL بملف اكسس؟
  4. هذا الذي ظهر لي ويبدو انني وهمت العمر له حقه .. فسامحونا .. كنت اتعامل مع مربع سرد حقيقي 😞
  5. انا من العاديين وجدت الحل هنا Modify Loolups ويدويا وبأبسط صورة .. اضافة وحذف كالتالي : افتح الجدول على العرض وليس التصميم انقر بزر الفأرة الأيمن على الحقل .. ستظهر قائمة اختر آخر بند في أسفل القائمة .. سيظهر لك مربع حوار .. واستمتع .. اكتب ما تريد واحذف ما تريد
  6. في هذا الموضوع استفتاء على ما تطلبه .. الانتظار هو الخيار ومع هذا .. الاستاذ خليفة وعدك :
  7. استوقفني في مثالك من ضمن الصلاحيات : ممنوع الدخول السؤال هو ليه يسمح له بالدخول من الأساس؟ .. ام ان المنع يطبق على هذه النماذج الثلاث فقط .. والبقية مفتوحة؟
  8. لم توضح ما هو هذا الحساب ؟ هل هو مجموع عدد مثلا 60 يوم هي عدد ايام الجمعة والسبت ام تريد اظهار هذه الايام بتواريخها كقائمة في استعلام ام تريده في نموذج لتسجيل الحضور 31 عمود بعدد ايام الشهر ويكون يومي الجمعة والسبت مظللة محمية وكل هذه ستظهر حسب تحديد الفترة من تاريخ كذا الى تاريخ كذا .. وثابتة لسنوات قادمة حسب الاختيار وحسب التصفية أرأيت كم هي مرنة كلمة حساب
  9. رائع وجميل جزاك الله خيرا وأحسن اليك
  10. الف مليون شكرا لا تفي بحقك ابداع وحوكمة وجمال منقطع النظير نسأل الله الكريم ان يجعل عملك هذا خالصا لوجهه ، وأن يجزاك عنا وعن اخوانك خير الجزاء
  11. سبحان الله اصلا عدد الموظفين = 5 الاقتطاع مرة واحدة فقط للموظف خلال الشهر المحدد والسنة المحددة ... هذا منطقي ما المشكلة؟ اذا حذفت سجلات الاقتطاع الجديد من الجدول يمكن اعادة العملية .. انا جربتها قبل الرفع اكثر من مرة
  12. تم تغيير بعض المعايير في الاستعلام جرب الآن وأخبرني جدولك كما هو لم اغير فيه شيء عدم الاقتطاع14.rar
  13. مؤكد الخلل في الجدول لأن الاستعلام لا يجلب بيانات دعني اجري بعض العمليات : 1- سأستبعد السجلات التي مبالغها اكبر من 3000 2- سأستبعد الوظائف التي رقمها اكبر من 5 3- سأستبعد الموظفين التي معرفاتهم ليست بين 1 و 5 ثم انظر ماذا يبقى لنا .. وسأخبرك بالنتيجة
  14. فقط عليك نقل الفورم + الدالتين حتى تبحث عن المشكلة : الاستعلامات مصدرها 3 جداول يجب ان تتأكد من جداولك انها متطابقة مع الجداول في المثال Employee tbl_Loans TblDetaché
  15. انظر تم تعديل طفيف الجدول لا يوجد به بيانات .. جرب الآن عدم الاقتطاع11.rar
  16. اخي الكريم نزل مثالي مرة اخرى افتح النموذج واختر شهر 3 ثم انقر على زر اقتطاع الانخراط ثم افتح الجدول ستجد انه اضاف 4 سجلات وهي الموجودة فعلا حسب الضوابط
  17. تفضل يمكنك العمل الآن من غير حاجة لتغيير تاريخ الكمبيوتر التعديلات الجديدة : ازالة الشرط الخاص باظهار وإخفاء ايقونة اقتطاع الانخراط عمل دالتين تجدهما اسفل في الوحدة النمطية fGet_Dates تعديل على مصدر مربعي التحرير الشهر والسنة تعديل الكود الخاص باقتطاع الانخراط عدم الاقتطاع10.rar
  18. لديك مشكلة اساسية وهي ربط تاريخ الكمبيوتر بالتنفيذ يعني لا يمكن التنفيذ حتى تغير تاريخ الجهاز الى شهر 3 وهذا خطأ يجب معالجته حسب الطرق الصحيحة المتبعة وهذا ما سأقوم بتعديله لك مع الأخذ بالاحترازات اللازمة وبناء على هذا التعديل يجب التعامل مع القيم حسب تاريخ التنفيذ وتعديل جميع التواريخ في الكود بمعنى اليوم الموافق 15/2/2026 سوف اجري اقتطاع لشهر 3 فيجب ان يرصد وقت التنفيذ تاريخ اليوم في الجدول ويتم رصد تاريخ 1/3/2026 بمعنى انه يعتمد اليوم الأول من شهري 3 و 7 كتاريخ للدفع
  19. الطرح مبهم يجب عليك الشرح بتفصيل على النحو التالي : 1- نوع العمل او المشروع الذي تعمل عليه 2- نوع البيانات المدخلة بكل شيت 3- ما هي البيانات الثابتة تقريبا 4- ما هي البيانات المتجددة التي يتم ادخالها بانتظام 5- ارفاق الشيتات بلمف مضغوط بشرط ان تشتمل على بيانات حتى لو كانت هذه البيانات وهمية 6- ما المطلوب في المخرجات .. اي : ما التقارير التي تريد اخراجها وطباعتها هنا يمكن للاخوة هنا مساعدتك في بناء برنامجك
  20. شكرا الف استاذنا المبدع الكريم على هذا الاثراء اداة جميلة احترافية تختصر الكثير من الوقت والجهد .. خاصة الأحداث الخاصة بالمربعات المعاناة .. هي في كثرة الحاجة اليها وتكرارها في كثير من النماذج
  21. لا ابدا ليس هناك ضرر .. الاختصار والاحكام نلجأ اليه غالبا في حالات منها ان تكون داخل اجراء أو حدث واحد .. وتكون الاكواد فيه طويلة وكثيرة جدا ويمكن اختصارها الى الأفضل .. بشرط ان تكون افضل في السرعة والأداء او ربما عدة احداث طويلة ومكررة يمكن جمعها في دالة واحدة ومناداتها بسطر واحد والفائدة من هذه هي سهولة التعديل مستقبلا او التطوير حيث سيكون التعديل في مكان واحد بدلا اماكن عديدة متفرقة .
×
×
  • اضف...

Important Information