بوعبد الله محفوظ قام بنشر أكتوبر 20, 2017 مشاركة قام بنشر أكتوبر 20, 2017 السلام عليكم ورحمة الله تعالى وبركاته لقد بحثت كثيرا عن طرق إضافة صلاحيات المستخدمين حتى وجدت هذا الفديو هل من أحد يستطيع تطبيق هذه الفكرة وهل يوجد ما هو أفضل منها بارك الله فيكم وفي علمكم ورفع قدرك في الدارين School certificate .rar رابط هذا التعليق شارك More sharing options...
صالح حمادي قام بنشر أكتوبر 21, 2017 مشاركة قام بنشر أكتوبر 21, 2017 استعمل خاصية البحث سوف تجد العديد من المواضيع في المنتدى تتحدث عن هذا الأمر 2 رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر أكتوبر 21, 2017 الكاتب مشاركة قام بنشر أكتوبر 21, 2017 1 hour ago, صالح حمادي said: استعمل خاصية البحث سوف تجد العديد من المواضيع في المنتدى تتحدث عن هذا الأمر لقد فعلت أخونا الكريم لكن للأسف ليست نفس الفكرة التي في الفديو مما أعجبني في الفديو هو االسهولة والفعالية وواجهة معبرة جدا رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر أكتوبر 26, 2017 الكاتب مشاركة قام بنشر أكتوبر 26, 2017 (معدل) السلام عليكم ورحمة الله تعالى وبركاته قمت بإضافة function ووضعت الكود التالي داخله Public Function UserAccess(FormName As String) As Boolean If (Nz(DLookup("COpen", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FormName & "'"), False)) Then AllowAdditions = False AllowEdits = False AllowDeletions = False ElseIf (Nz(DLookup("CEdit", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FormName & "'"), False)) Then AllowAdditions = False ElseIf (Nz(DLookup("Cdelete", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FormName & "'"), False)) Then AllowDeletions = False ElseIf (Nz(DLookup("CAdd", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FormName & "'"), False)) Then AllowAdditions = False End If End Function في النموذج login قمت بإضافة المتغير TempVars("EmployeeType") = rs!ID.Value لحفظ رقم المستخدم الذي سجل الدخول وبدأت التجريب مع النموذجUser في الحدث عند الفتح وضعت الكود التالي Private Sub Form_Load() On Error Resume Next If Globals.UserAccess(Me.Name) = False Then MsgBox "لا تملك الصلاحيات اللازمة، يرجى الإتصال بالمسؤول", _ vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "دخول غير مصرح !" DoCmd.Close acForm, Me.Name Else DoCmd.GoToRecord , , acNewRec End If End Sub المشكلة عندي أن رسالة لا تملك الصلاحيات اللازمة يرجى الاتصال بالمسؤول دائما ما تظهر سواء كان يملك الصلاحية أو لم يملكها لا أدري أين أخطأت في الكود رابط على موقع الخليج https://gulfsup.com/a94cb4x School certificate.rar تم تعديل أكتوبر 26, 2017 بواسطه بوعبد الله محفوظ رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر أكتوبر 26, 2017 مشاركة قام بنشر أكتوبر 26, 2017 بو عبدالله يبدوا ان برنامج الضغط الذي تستخدمه غير مكتمل لايمكن فك المرفقات وهذا الذي يفسر عدم حصولك على تجاوب من الاخوة رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر أكتوبر 26, 2017 الكاتب مشاركة قام بنشر أكتوبر 26, 2017 29 minutes ago, ابوخليل said: بو عبدالله يبدوا ان برنامج الضغط الذي تستخدمه غير مكتمل لايمكن فك المرفقات وهذا الذي يفسر عدم حصولك على تجاوب من الاخوة أعدت رفع الملف مع رابط على موقع الخليج رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر أكتوبر 27, 2017 الكاتب مشاركة قام بنشر أكتوبر 27, 2017 قمت بتعديل الكود في الدالة إلى Public Function UserAccess(FrmName As Form) As Boolean If (Nz(DLookup("COpen", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowAdditions = False FrmName.AllowEdits = False FrmName.AllowDeletions = False ElseIf (Nz(DLookup("CEdit", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowEdits = False ElseIf (Nz(DLookup("Cdelete", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowDeletions = False ElseIf (Nz(DLookup("CAdd", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowAdditions = False End If وفي الحدث "Load" للنموذج المعني وضعت الكود التالي Private Sub Form_Load() On Error Resume Next Call Globals.UserAccess(Me) End Sub الكود يشتغل تمام اريد كود يمنع المستخدم من الدخول إلى نموذج معين إذا لم تكن لديه الصلاحية اللازمة مع رسالة تبين له ذلك رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر أكتوبر 27, 2017 الكاتب مشاركة قام بنشر أكتوبر 27, 2017 السلام عليكم ورحمة الله تعالى وبركاته قمت بإضافة حقل جديد في الجدول tblHasAccess وأسميته CView أما الكود في الدالة أصبح كالتالي Public Function UserAccess(FrmName As Form) As Boolean If (Nz(DLookup("COpen", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then MsgBox "لا تملك الصلاحيات اللازمة، يرجى الإتصال بالمسؤول", _ vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "دخول غير مصرح !" DoCmd.Close acForm, FrmName.Name ElseIf (Nz(DLookup("CView", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowAdditions = False FrmName.AllowEdits = False FrmName.AllowDeletions = False ElseIf (Nz(DLookup("CEdit", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowEdits = False ElseIf (Nz(DLookup("Cdelete", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowDeletions = False ElseIf (Nz(DLookup("CAdd", "tblHasAccess", "UserID=" & TempVars("EmployeeType") & " AND FormName='" & FrmName.Name & "'"), False)) = False Then FrmName.AllowAdditions = False End If End Function أنا الآن بصدد إضافة نموذج ذو واجهة بسيطة يمكن من خلاله توزيع مختلف الصلاحيات على المستخدمين أي أفكار رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان