-
Posts
7124 -
تاريخ الانضمام
-
Days Won
208
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابو جودي
-
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
وده اللى بيتم تنفيذه فعليا فى المرفق الاخير امكانية اختيار الالوان وتعديلها ومتطبيق معاينتها على النموذج الحالة وبالضغط على الحفظ ببيتم حفظ التعديل ع الثم بل هناك مرونة أعلى امكانية التحكم ليش فى جميع العناصر على كامل النموذج بل فى مقطع الهيدر والعناصر التى فى مقطع الهيدر على حده ومكذلك تماما فى الديتيل والعناصر فقط بداخله دون باقى عناصر النموذج والفوتر والعناصر فقط داخل هذا الفوتر التحكم الشامل والكامل والمرن فى كل جزئية وما يحتويه من عناصر >>--------> سوف اطلع على مرفق حضرتك ارجو من حضرتك تجرب المرفق الاخيـر فى هذه المشاركة التى اتقتبسها هنا لانها تغطى وتلبى كل رغباتك ومتطلباتك باستثناء شئ واحد العناصر والتى يمكن اضافتها بكل بساطه -
شخابيط وافكار: حماية مجلد وما بداخله من الحذف
ابو جودي replied to ابو جودي's topic in قسم الأكسيس Access
جزانا الله وإياكم خير الجزاء ان شاء الله انتم الأجمل احمد الله انها نالت رضاكم واسأل الله تعالى أن ينفعكم وينفعنا بما علمنا الحمد لله تعالى الذى تتم بنعمته الصالحات -
عمل استعلام يقوم بمسح محتويات جدول
ابو جودي replied to Abdelaziz Osman's topic in قسم الأكسيس Access
كنت عامل موضوع بهذا الخصوص ولكن لتصفير و حذف بيانات أكثر من جدول ان اردت التوسع هذا رابط الموضوع https://www.officena.net/ib/topic/106503-حذف-بيانات-جداول-منضمة-ومرتبطه-دفعة-واحدة-على-حسب-اختيارك/#comment-642632 -
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
يا هلا والله ... والله اشتقنا اتوحشتك كتير يا مولانا بارك الله لنا فى المكتبة العامرة وصاحب المكتبة جزاكم الله خيرا والله موضوع الازرار فكرت فيه واجلته لو تم طلبه قلت ابقى اعمله سبب ما انى ما عملتش كود الازرار انه هيلغى تدرج الوان الازرار لو تم عمل تدرج لأى ازرار فى التصميم ولكن ممكن اعمله وهتكون موجودة نسختين وكل واحد يستخدم اللى يفضله لكن انا منتظر الرد من استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل بحيث تتم التعديلات بناء على رغبة معلمى فى حال كانت له رغبات وتطلعات اخرى -
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
مش عارف الافكار عجبتكم واللا ايه محدش رد خالص على كل دى التجربة الثانية للتطوير اولا افتح الجدول باسم : tblThemeSettings تأكد انه فارغ ثم بعد ذلك قم بفتح النموذج : frmTheme والذى بدوره يضيف البيانات الى الجدول السابق فى حال كان الجدول فارغا واتمنى لكم الاستمتاع بتجربة النموذج السحرى : frmTheme فى تعديل ومعاينة واستعراض الثيمات وتحديد الثيم الاساسى الذى تفضله ليتم تطبيقه على كل نماذج القاعدة ويمكن تجربة الثيم الذى يتم اختياره من النموذج : as a test Only ليه انا سميت النموذج : frmTheme بالنموذج السحرى اولا هو غير مرتبط بالجدول وغير منضم اساسا سامع اللى بيقول ما ده شئ عادى وبيحصل طيب لكل ثيم عدد 3 سجلات ليه 3 1- الاول للتحكم فيما يخص المقطع Header 2- الثانى للتحكم فىما يخص المقطع Detail 3- الثالث للتحكم فيما يخص المقطع Footer طيب لاحظو معى ان زر الامر التالى و زر امر السابق لا يتم استعراض السجلات من خلالهم بل يتم استعراض الثيمات طيب وبما ان لكل ثيم 3 سجلات سوف يتم الاستعراض للسجلات الثلاث كل سجل من التبويب الخاص به هههههههه شغل مجانين صحيح محدش يزعق اتحملونى شرح سريع زر الامر : Prev Theme الانتقال الى الثيم السابق زر الامر : Next Theme الانتقال الى الثيم التالى ملحوظة يتم تطبيق كل ثيم بمجرد الضغط على ازرار الانتقال التالى والسابق كمعاينة فقط فى النموذج الحالى للاعدادت الثيم زر الامر : Set as Default Theme لجعل الثيم الحالى هو الثيم الافتراضى الذى يتم تطبيقه على كافة النماذج الازرار Header Section Detail Section Footer Section بداخلهم عناصر التحكم بالعناصر بشكل عام لكل مقطع على حده ممكن تغيير اللون لاى جزئيه تفضلها من خلال اختيار اللون من منتقى الالوان بالضغط على زر الامر : Pick Color الموجود بجانب كل عنصر والخاص به زر الامر : Only Preview من خلاله يتم تطبيق الالوان التى تم تعديلها واختيارها من منتقى الالوان لتتم المعاينة فقط فى النموذج الحالى فى حالة لم تعجبك الالوان بعد التعديلات فقط اغلق النموذج فى حالة اعجبك كل شئ بعد عمل المعاينة للتعديلات هنا يأتى دور زر الامر الاخيــــــــر زر الأمر : Save Color To Theme هو المسئول هن الاحتفاظ بالقيم الجديدة بعد تحديثها داخل جدول اعدادات الثيم لتبقى مخزنة وفق تعديلاتك التى اعجبت بها وتريد الاحتفاظ بها لها الثيم الثيمات(2).accdb -
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
طيب ده التصور المبدئى اللى خطر على بالى اممم ممكن يتم التطوير لاحقا بناء على رغباتكم لو لاقت الافكار هنا اعجابكم الثيمات.accdb -
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
تحت أمرك اعمل لك فكرة الثيمات اللى مع الساعه الانلوج ؟ ليتم تطبيقها على كامل المشروع -
مطلوب تغيير لون خلفية مقطع تفاصيل النماذج والعناصر دفعة واحدة
ابو جودي replied to ابوخليل's topic in قسم الأكسيس Access
والدى الحبيب انظر الى فكرة تغيير الالوان هنا الذكر الحكيم.zip AnalogClock Without Timer Event.zip -
وعليكم السلام ورحمة الله تعالى وبركاته جزاكم الله خيـــــــرا اسال الله تعالى ان يعفو ويغفر لوالدك و والدى ويرحمهم رحمة واسعة وكل المسلمين الاحياء منهم والاموات وان يسكنهم الفردوس الاعلى ان شاء الله تسلم ايدك يا فنان
-
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
هذا الموضوع خصيصا قد يكون جديد بهذا الشكل على مجتمع مستخدمين قواعد بيانات أكسس -
اللهم اغفر له وارحمه وعافه واعف عنه وأكرم نزله ووسع مدخله واغسله بالماء والثلج والبرد ونقه من الذنوب والخطايا كما ينقى الثوب الأبيض من الدنس اللهم ادخله فسيح جناتك يارب العالمين مع النبيين والصديقين والشهداء والصالحين وحسن أولئك رفيقا
-
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
يتم عمل الحماية للمجلد كما اشرت يتم فتح قاعدة البيانات الامامية من خلال قاعدة مشفرة accde ولا ننسى توفيرها مره للنواة 32 بت ومرة أخرى للنواة 64 بت ويمكن للمبرمج الاحتفاظ بالقاعدة قبل التشفير واستخدامها مع كل تطبيقاته لو استخدم نفس تشفير القواعد الامامية بنفس كلمة المرور وظيفتها تمرير كلمة المرور للقاعدة الامامية المشفرة لفتحها وطبعا القاعدة الخلفية للجداول سوف تكون مشفرة بكلمة مرور كذلك ربط الجداول من القاعدة الامامية سوف يمرر كلمة المرور للارتباط او اعاادة الاتصال بالقاعدة الخلفية القاعدتان الامامية والخلفية وكذلك القاعدة الوسيطة والتى وظيفتها فتح القاعدة الاماميه نستخدم معهم اخفاء الاطار نهائيا ايقاف مفاتيح الهوت كى لمنع فتح المحرر ايقاف عمل مفتاح الشيفت ولو اردتم اضافة معالجة لتحديد صلاحيات المستخدمين او مجموعات العمل للقاعدة الامامية تلكم الافكار مجتمعة معا تكون حماية لن أقول يستحيل كسرها او تخطيها بل سوف أكتفى بالقول بأنها سوف تكون قوية قوية فوية فوية قوية جدا جدا جدا جدا لا بأس بها ويصعب تجاوزها وكسرها وممكن احفاء كلمة مرور الاتصال لجهاز السيرفر عن المستخدمين اساسا وتتم عملية الاتصال مبدئيا بجهاز السيرفر من خلال حفظ معلومات الاتصال (حفظ بيانات الاعتماد ) من خلال اول نموذج وكل ما سبق موجود فى المنتدى -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
طيب و بمناسبة الرفع والشوط والله مش هزعلك اتفضل 1- Show And Hdie لاخفاء واظهار الامر الخاص باخفاء واظهار الملفات والمجلدات بعد الاخفاء سوف تكون بهذا الشكل طبعا اى مجلدات او ملفات مخفيه لن يستطيع المستخدم الذى يريد العبث اعادة اظهارها والاطلاع عليها لان أمر اظهار الملفات او المجلدات المخفيه اساسا اختفى 2- usb Open And Lock تفعيل / عدم تفعيل قراءة اى شئ من منفذ USB عند استخدام : USB LOOK لو عندك الف منفذ Usb ادخل بهم اى فلاشة او هردات محمولة لن يتم قرائتها مطلقا usb Open And Lock.zip Show And Hdie.zip -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل برنامج الحماية من مايكروسوفت"mecrosoft Defender" لا ولن يتعارض مع طريقة حماية المجلد او ما بداحل المجلد لان الحماية هذه لا تعتمد على برامج خارجيه بل تعتمد على اعدادت الحماية الحاصة بالويندوز نفسه فى هذا الموضوع تحديدا لما احاول الاعتماد على اى برامج طرف ثالث جزاكم الله خيرا استاذى الجليل و معلمى القدير الاستاذ @شايب شرف لى ان تنال مشاركاتى البسيطة والضئيلة بجوار مشاركات اساتذى العظماء استحسان اساتذتى العظماء الذين اتعلم على اياديهم بارك الله فيكم جميعا وبارك الله لكم فى اعماركم واعمالكم وجعل ما تقدمونه فى موازين اعمالكم ان شاء الله واسأله تعالى من فضله العظيم أن يكتبه لكم علم ينتفع به وصدقة جارية -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
اتفضل الطريقة نعم بدون حبة الملح : Salt ولحالة آمن ولكن حبة الملح هذه تزيد من قوة التأمين فى فى التشفير جدا جدا جدا -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
ما هو لو حد رخم زى حلاتى ممكن يكون عامل حماية للمجلد من حذف ما فيه -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
اما بالنسبة لكلمة المرور راى المتواضع عدم استخدامها بشكل صريح وكذلك لا احبذ تشفير ثنائى الاتجاه بل الافضل ان يكون احادى الاتجاه ثنائى الاتجاه يمكن التعرف عليه من خلال الهندسة العكسية طيب كنت قد كتبت داله تعتمد على تشفير : MD5 ولكن انا كتبتها بدون الاعتماد على اى مكتبات تخص ال .net وكذلك اعتمد على التشفير : SHA256 لانه اكثر امانا من سابقه الا انه يعتمد على .net ولكن بما اننى بقدر الامكان لا احب الاعتماد على اى مراجع ومكتبات خارجية بقدر الامكان فكرتى كانت الدمج بين التشفيرين بحيث اذا توفرت المكتة اللازمة يتم التشفير بناء على : SHA256 وان لم تتوفر فى نظام التشغيل يتم الاعتماد على التشفير : MD5 والاكواد كالاتى Private Function ToLong(ByVal dblValue As Double) As Long dblValue = dblValue - 4294967296# * Int(dblValue / 4294967296#) If dblValue < 0 Then dblValue = dblValue + 4294967296# If dblValue > 2147483647# Then ToLong = CLng(dblValue - 4294967296#) Else ToLong = CLng(dblValue) End If End Function Private Function RotateLeft32(ByVal lngValue As Long, ByVal intBits As Integer) As Long Dim dblValue As Double dblValue = CDbl(lngValue And &HFFFFFFFF) RotateLeft32 = ToLong(dblValue * (2 ^ intBits) + dblValue / (2 ^ (32 - intBits))) End Function Private Function GenerateSalt() As String Dim strChars As String, strResult As String Dim i As Long strChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" Randomize For i = 1 To 16 strResult = strResult & Mid(strChars, Int(Rnd() * Len(strChars)) + 1, 1) Next GenerateSalt = strResult End Function Public Function MD5Hash(ByVal strText As String) As String Dim arrK(0 To 63) As Long, arrS(0 To 63) As Integer Dim a As Long, b As Long, c As Long, d As Long, f As Long, g As Long, temp As Long Dim h0 As Long, h1 As Long, h2 As Long, h3 As Long Dim msg() As Byte, msgLen As Long, paddedLength As Long Dim lenInBits As Currency Dim chunk(0 To 15) As Long Dim i As Long, offset As Long For i = 0 To 63 arrK(i) = ToLong(Abs(Sin(i + 1)) * 4294967296#) Next i For i = 0 To 15: arrS(i) = Array(7, 12, 17, 22)(i Mod 4): Next i For i = 16 To 31: arrS(i) = Array(5, 9, 14, 20)(i Mod 4): Next i For i = 32 To 47: arrS(i) = Array(4, 11, 16, 23)(i Mod 4): Next i For i = 48 To 63: arrS(i) = Array(6, 10, 15, 21)(i Mod 4): Next i msg = StrConv(strText, vbFromUnicode) msgLen = UBound(msg) + 1 paddedLength = ((msgLen + 8) \ 64 + 1) * 64 ReDim Preserve msg(0 To paddedLength - 1) msg(msgLen) = &H80 lenInBits = msgLen * 8 For i = 0 To 7 msg(paddedLength - 8 + i) = (lenInBits / (2 ^ (8 * i))) And &HFF Next i h0 = &H67452301 h1 = &HEFCDAB89 h2 = &H98BADCFE h3 = &H10325476 For offset = 0 To paddedLength - 1 Step 64 For i = 0 To 15 chunk(i) = ToLong(CDbl(msg(offset + i * 4)) + _ CDbl(msg(offset + i * 4 + 1)) * &H100 + _ CDbl(msg(offset + i * 4 + 2)) * &H10000 + _ CDbl(msg(offset + i * 4 + 3)) * &H1000000) Next i a = h0: b = h1: c = h2: d = h3 For i = 0 To 63 If i < 16 Then f = (b And c) Or ((Not b) And d) g = i ElseIf i < 32 Then f = (d And b) Or ((Not d) And c) g = (5 * i + 1) Mod 16 ElseIf i < 48 Then f = b Xor c Xor d g = (3 * i + 5) Mod 16 Else f = c Xor (b Or (Not d)) g = (7 * i) Mod 16 End If temp = d d = c c = b b = ToLong(CDbl(b) + RotateLeft32(ToLong(CDbl(a) + f + arrK(i) + chunk(g)), arrS(i))) a = temp Next i h0 = ToLong(CDbl(h0) + a) h1 = ToLong(CDbl(h1) + b) h2 = ToLong(CDbl(h2) + c) h3 = ToLong(CDbl(h3) + d) Next offset MD5Hash = LCase( _ Right("00000000" & Hex(h0), 8) & _ Right("00000000" & Hex(h1), 8) & _ Right("00000000" & Hex(h2), 8) & _ Right("00000000" & Hex(h3), 8)) End Function Public Function HashPasswordSHA256(ByVal Password As String) As String Dim xmlObj As Object Dim bytes() As Byte Dim hash() As Byte Dim i As Integer Dim result As String ' استخدام كائن MSXML2 Set xmlObj = CreateObject("System.Security.Cryptography.SHA256Managed") ' تحويل النص إلى مصفوفة بايتات bytes = StrConv(Password, vbFromUnicode) ' حساب التجزئة hash = xmlObj.ComputeHash_2(bytes) ' تحويل النتيجة إلى سلسلة نصوص For i = LBound(hash) To UBound(hash) result = result & LCase(Right("0" & Hex(hash(i)), 2)) Next i ' إعادة النتيجة النهائية HashPasswordSHA256 = result ' تنظيف الموارد Set xmlObj = Nothing End Function Public Function HashPassword(strPassword As String, Optional ByRef strSalt As String) As String If strSalt = "" Then strSalt = GenerateSalt() On Error GoTo UseMD5 ' المحاولة الأولى باستخدام SHA-256 HashPassword = HashPasswordSHA256(strPassword & strSalt) Exit Function UseMD5: HashPassword = MD5Hash(strPassword & strSalt) End Function Public Sub UpdateExistingPasswords() On Error GoTo ErrHandler Dim rs As DAO.Recordset Dim strSalt As String ' تحديث جدول المستخدمين النشطين Set rs = CurrentDb.OpenRecordset("SELECT UserID, UserPassword, Salt FROM tblUsers", dbOpenDynaset) Do While Not rs.EOF If IsNull(rs!salt) Then strSalt = GenerateSalt() rs.Edit rs!salt = strSalt rs!UserPassword = HashPassword(rs!UserPassword, strSalt) rs.Update LogEvent "تم تحديث مستخدم: " & rs!UserID, Information, "UpdateExistingPasswords" End If rs.MoveNext Loop rs.Close Set rs = Nothing ' تحديث جدول المستخدمين المعلقين Set rs = CurrentDb.OpenRecordset("SELECT UserID, UserPassword, Salt FROM tbl01PendingUsers", dbOpenDynaset) Do While Not rs.EOF If IsNull(rs!salt) Then strSalt = GenerateSalt() rs.Edit rs!salt = strSalt rs!UserPassword = HashPassword(rs!UserPassword, strSalt) rs.Update LogEvent "تم تحديث مستخدم معلق: " & rs!UserID, Information, "UpdateExistingPasswords" End If rs.MoveNext Loop rs.Close Set rs = Nothing MsgBox "تم تحديث كلمات المرور القديمة بنجاح.", vbInformation Exit Sub ErrHandler: HandleError "UpdateExistingPasswords", "حدث خطأ أثناء تحديث كلمات المرور" If Not rs Is Nothing Then rs.Close End Sub Public Sub UpdateExistingPasswordsByUserID(lngUserID As Long) On Error GoTo ErrHandler Dim rs As DAO.Recordset Dim strSalt As String ' تحديث جدول المستخدمين النشطين Set rs = CurrentDb.OpenRecordset("SELECT UserID, UserPassword, Salt FROM tblUsers WHERE UserID = " & lngUserID, dbOpenDynaset) If Not rs.EOF Then If IsNull(rs!salt) Then strSalt = GenerateSalt() rs.Edit rs!salt = strSalt rs!UserPassword = HashPassword(rs!UserPassword, strSalt) rs.Update LogEvent "تم تحديث مستخدم: " & rs!UserID, Information, "UpdateExistingPasswordsByUserID" End If End If rs.Close Set rs = Nothing ' تحديث جدول المستخدمين المعلقين Set rs = CurrentDb.OpenRecordset("SELECT UserID, UserPassword, Salt FROM tbl01PendingUsers WHERE UserID = " & lngUserID, dbOpenDynaset) If Not rs.EOF Then If IsNull(rs!salt) Then strSalt = GenerateSalt() rs.Edit rs!salt = strSalt rs!UserPassword = HashPassword(rs!UserPassword, strSalt) rs.Update LogEvent "تم تحديث مستخدم معلق: " & rs!UserID, Information, "UpdateExistingPasswordsByUserID" End If End If rs.Close Set rs = Nothing MsgBox "تم تحديث كلمة المرور بنجاح للمستخدم: " & lngUserID, vbInformation Exit Sub ErrHandler: HandleError "UpdateExistingPasswordsByUserID", "حدث خطأ أثناء تحديث كلمة المرور للمستخدم: " & lngUserID If Not rs Is Nothing Then rs.Close End Sub طبعا الدوال الاخيرة : Public Sub UpdateExistingPasswords() Public Sub UpdateExistingPasswordsByUserID(lngUserID As Long) هى خاصة بقاعدتى من تعجبه فكرة التشفير لضمان زيادة الامان يستطيع التعديل عليهم باسماء الجداول والحقول الخاصة به هو وجميعنا يعلم ان الامان هو : مسألة نسبية ولكن الجميع يحاول جاهد تأمين البيانات وتأمين الاكواد اما من العبث الغير مقصود او العبث المقصود او حفظا للحقوق موضوع التأمين يختلف حسب توجهات كل شخص فى النهاية وقوة وضعف التأمين تعتمد على افكار المبرمج فى النهاية بجانب لغة البرمجة -
المعايير النصية في الحماية في الاستعلامات وغيرها
ابو جودي replied to شايب's topic in قسم الأكسيس Access
لمنع موضوع الحق انا استخدم الداله Public Function SafeSql(strValue As String) As String If IsNull(strValue) Or strValue = "" Then SafeSql = "NULL" Else SafeSql = "'" & Replace(strValue, "'", "''") & "'" End If End Function وامرر لها اسم المستخدم وكلمة المرور strUserName = SafeSql(strUserName)