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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    208

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

  1. بداية دعونا نتفق طالما فكرنا فى الموضوع ده ووصلنا له اذن نريد اضافة حماية لتطبيقاتنا طالما سوف نتحدث عن الحماية فلسوف يتم ان شاء الله العمل على افكار تطبيق ذلك خطوة بعد خطوة تدريجيا للارتقاء بالتوازى برفع مستوى الحماية مع الانتهاء من التطبيق مشروحا خطوة بعد خطوة تفصيليا 1- كل اسماء الجداول والنماذج والاستعلامات والموديول التى تخص المستخدمين ونظام الحماية سوف تبدأ بالمقطع Usys حتى يتعامل معها االاكسس على انها من كائنات النظام فيخفيها اليا عن المستخدم العادى 2- تشفير / فك تشفير البيانات التى تخص تطبيق نظام الصلاحيات وبما اننا سوف نبدأ بتلك الجزئية يستوجب تقديم الشكـر والامتنان لاستاذى الجليل ومعلمى القدير الدكتور @SEMO.Pa3x لاننى ان شاء الله سوف استخدم نظام التشفير الذى تقدم به استاذى الجليل اولا ـــــــــ الروتين المستخدم فى تشفير الكلمات والذى يتم وضعه فى موديول Function Encoder(ByVal strWordDecrypt As String) As String Dim iIndex As Integer Dim iEncoder As Integer Dim iEncodedVal As Integer Randomize Encoder = "" For iIndex = 1 To Len(strWordDecrypt) Do iEncoder = Int(98 * Rnd + 89) iEncodedVal = Asc(Mid(strWordDecrypt, iIndex, 1)) Xor iEncoder Loop While iEncodedVal = 1000 Or iEncodedVal < 99 Encoder = Encoder & Chr(iEncodedVal) & Chr(iEncoder) Next iIndex End Function ويتم استدعاءه كلاتى Encoder(text) حيث ان text هو النص المراد تشفيره أو انه اسم الحقل ( تيكست بوكس , كمبو بوكس ..) المراد تشفير القيم الموجوده بهم ------------------- العملية العكسية وهى فك تشفير الكلمات واعادتها الى وضعها الطبيعى الروتين المستخدم فى فك تشفير الكلمات والذى يتم وضعه فى موديول Function Decodeder(ByVal strWordEncrypt As String) As String Dim iIndex As Integer Dim iDecodedVal As Integer Decodeder = "" For iIndex = 1 To Len(strWordEncrypt) Step 2 iDecodedVal = Asc(Mid(strWordEncrypt, iIndex, 1)) Xor Asc(Mid(strWordEncrypt, iIndex + 1, 1)) Decodeder = Decodeder & Chr(iDecodedVal) Next iIndex End Function ويتم استدعاءه كلاتى Decodeder(EncoderText) حيث ان EncoderText هو النص المشفر المراد فك تشفيره أو انه اسم الحقل ( تيكست بوكس , كمبو بوكس ..) المراد فك تشفير القيم الموجوده بهم واخيرا المرفق Encrypt&Decrypt.mdb
  2. فيك الخيـــــــر استاذى الجليل واخى الحبيب استاذ @ناقل والله بحثت عنه وما قدرت احصل الموضوع وكنت ناوى اعيد الشغل من تانى بس اليوم كنت مشغول بشئ كنت حابب انتهى منه اللأول الله يرضى عليك .. جزاكم الله خيـــرا
  3. اولا تحت امرك ان شاء الله فى اى وقت ثانيا وضعت لك رابط الموضوع لانه يحتوى على كل الافكار التى تريدها ان شاء الله 1- تشفير البيانات باسلوب ابسط على طريقة استاذى الجليل الدكتور @SEMO.Pa3x جزاه الله خيرا 2- فكرتى المتواضعة تحويل الصلاحيات لتخص مجموعة مستخدمين وليس فرد واحد 3- امكانية تسجيل اى مستخدم لبيانات الدخول التى يريدها وتنتظر التفعيل من الادمن 4- بعد موافقة الادمن على تفعيل المستخدمين وادراجة صمن مجموعة الصلاحيات التى يريد المستخدم يستطيع المستخدم الولوج ببياناته ده اللى انا فاكرة ولانى فى عجالة من امرى الان وضعت لكم الموضوع قد تجدون فيه زيادة عما تريدون او نقصان ولكن بعد اطلاعكم عليه ان شاء وفى وقت لاحق بامر الله اقوم بالتعديل على ما تريدون
  4. طيب انظر الموضوع الاتى هذه فكرتى المتواضعة
  5. بعد اذن استاذى العزيز الاستاذ @ناقل اولا الية التشفير واحدة فى كلا الحالتين ولم تتغير ولو يتم التغير على اى شئ فى الاكواد ثانيا الاستاذ ناقل جزاه الله خيرا وضع الاتى 1- شرط التاكد من عدم وجود مستخدمين مسجلين بالجدول 2- عند تنفيذ وتحقيق الشرط بعدم وجود اى مستخدمين تشغيل استعلام الحاق ببيانات المستخدم الادمن والحاق رقم المستخدم واسماء النماذج التى تخص الصلاحيات 3- عند الانتهاء من الشرط وتحقيقه ان لم يكن هناك اى مستخدم تجد المستخدم الجديد تم انشاءه لذلك تستطيع الولوج ببيانات المستخدم
  6. طريقتى فى الحماية كالاتى 1 - فصل قاعدة بيانات الى قاعدة خلفية للجداول فقط 2- قاهدة امامية للنماذج والاستعلامات والتقارير 3- تشفير القاعدتين بكلمتان مرور احداهما لمحرر الاكواد والاخرى للقاعدة نفسها 4- عمل قاعدة بيانات ثالثة وسيطة ويتم عمل كود بها يقول بفتح القاعدة الامامية الخاصة بالنماذج والذى سوف تكون وظيفة تلك القااعدة تمرير كلمة المرور لها 5- تشفير القاعدة الوسيطه بتحويلها الى accdb او mde حسب تنسيق قاعدة البيانات بذلك المستخدم سوف لن يكون قادرا على تخطى هذه الحماية
  7. قطعا طالما انها لم تعمل اختلاف الاصدار هو السبب
  8. لابد من اضافة المكتبة Microsoft ActiveX Data Objects 2.5 Library ools > References > Check the checkbox in front of "Microsoft ActiveX Data Objects 2.5 Library" Other libraries that work include: Microsoft ActiveX Data Objects 2.6 Library Microsoft ActiveX Data Objects 2.7 Library Microsoft ActiveX Data Objects 2.8 Library Microsoft ActiveX Data Objects 6.1 Library
  9. ارفق القاعدة رجاء
  10. ضع الكود الاتى فى موديول Public Function DoMouseWheel(frm As Form, lngCount As Long) As Integer Dim strMsg As String If (Val(SysCmd(acSysCmdAccessVer)) >= 12#) And (frm.CurrentView = 1) And (lngCount <> 0&) Then RunCommand acCmdSaveRecord RunCommand IIf(lngCount < 0&, acCmdRecordsGoToPrevious, acCmdRecordsGoToNext) DoMouseWheel = Sgn(lngCount) End If DoCmd.CancelEvent Response = False End Function ثم فى النموذج فى حدث On Mouse Wheel ضع السطر التالى Call DoMouseWheel(Me, Count)
  11. فكرة عمل فرز متقدم - Smart Sort 1 - الكود داخل المديول 2 - استدعاء الكود من خلال السطر التالى مع تغيير الـ *** الى اسم عنصر التحكم الذى يدل على الحقل المراد عمل الفرز له SmrtSort "***" .. '-----------------------------------------------------------' ' _ +-----------officena-----------+ _ ' ' /o) | ||||| | (o\ ' ' / / | @(~O^O~)@ | \ \ ' ' ( (_ | _ ----oOo--Moh--oOo----- _ | _) ) ' ' ((\ \) +/o)----------3ssam---------(o\+ (/ /)) ' ' (\\\ \_/ / \ \_/ ///) ' ' \ / \ / ' ' \____/________Mohammed Essam________\____/ ' '--28-10-2021-----------------------------------------------' Option Compare Database Option Explicit Public bt As Byte Function SmrtSort(ByVal ObjectName As String) DoCmd.GoToControl ObjectName If bt = 0 Then DoCmd.RunCommand acCmdSortAscending bt = 1 ElseIf bt = 1 Then DoCmd.RunCommand acCmdSortDescending bt = 2 ElseIf bt = 2 Then DoCmd.RunCommand acCmdRemoveAllSorts bt = 0 End If End Function
  12. انظر فى الفوتر تحت السجلات على الليبل مع كل عملية فرز يبدو انك لم تلاحظه
  13. يا سلام يا دكتور فضلا وكرما وليس امرا ان تتكرم على طلاب العلم امثالى بوضع مرفق صغير ليظهر اين توضع الاكود وكيف تستخدم نكون جميعا ممتنين ومن الشاكرين لوافر كرمكم
  14. الاستاذ @محمد طاهر حياكم الله وبياكم وجزاكم الله خيــــرا شكر على التوضيح دمتم لنا بكل خير
  15. جزاكم الله خيرا اخى الحبيب طيب بصراحة لا ادرى ان كان ما تفضلتم به هو السبب ام لا الله سبحانه وتعالى اعلى واعلم ولكن من باب التجربة ممكن تحاول من متصفح اخر الى ان يفيدنا اساتذتنا الكرام القائمين على امور المنتدى ان شاء الله الاستاذ الفاضل @محمد طاهر ما بيقصر فور رؤيته لهذا المنشور بأمر الله سوف يخبرنا السبب
  16. السلام عليكم ورحمة الله تعالى وبركاته الجواب يعرف من العنوان واترككم مع التجربة ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ SmartSort.accdb
  17. جزاكم الله خيرا احبكم الله الذى احببتمونا فيه ولاجله
  18. وما توفيقى الا بالله هذا فضل الله استاذى الكريم , لله سبحانه وتعالى الحمد والشكر الذى هدانا وما كنا لنهتدى لولا ان هدانا الله وجزاكم الله خيرا على دعواتكم الطيبات واسال الله ان يزرقكم ايها وفضلها اضعافا مضاعفة
  19. يعنى انت تقصد ايه بقاعدة اخرى ممكن توضح لو تكرمت وتشرح باستفاضة شديدة حضرتك قلت قاعدة بيانات مرتبطة يعنى الجداول بقاعدة والنماذج بقاعدة اخرى ارح بالك الله يرضى عليك وارفق القاعدتين لتتضح الرؤيا لمن يريد مساعدتك
  20. جرب الحل بالمرفق استاذى الكريم ووافينى بالنتيجة
  21. الحل كالاتى ادخل الى النموذج فى وضع التصميم ومربع النص هذا اسمه فى النموذج مربع_تحرير_وسرد95 من الخصائض الخاصة به فقط امسح General Number
  22. 😄 المهم مشكلتك اتحلت ؟ حاول تقيسم الحقول على عدة جداول واستخدم الاستعلامات فى الحاق وتعديل البيانات
×
×
  • اضف...

Important Information