السلام عليكم اخي العزيز
تفضل هذا نظام تحكم كامل للمستخدمين يمكنك منع اي مستخدم من فتح نموذج معين او مسح او تعديل او طباعه او اضافه شيئ
فقط كم باضافه الي برنامجك
كما تلاحظ يوجد جدول اسمه Forms Names وهذا الجدول تقوم باضافه اسماء النماذج كما هي بالتفصيل
والجدول الثاني هو UserControl وهنا تضيف فيه الصلاحيات
والجدول الثالث وهو جدول المستخدمين
وهنا اضافه صلاحيات لكل مستخدم على حده
زر Add Control تقوم بالضغط عليه عند اضافه نموذج جديد على برنامجك
قم بوضع هذا الكود في الواجهه الرئيسيه للبرنامج او في كل نموذوج حسب تصميمك للبرنامج
Option Compare Database
Option Explicit
Dim frmname As String
Sub addaction()
Me.Open = DLookup("open", "usercontrol", "[userid]=" & Me.txtUserID & "and [FormName] = '" & frmname & "' ")
Me.Add = DLookup("add", "usercontrol", "[userid]=" & Me.txtUserID & "and [FormName] = '" & frmname & "' ")
Me.Edit = DLookup("edit", "usercontrol", "[userid]=" & Me.txtUserID & "and [FormName] = '" & frmname & "' ")
Me.Delete = DLookup("delete", "usercontrol", "[userid]=" & Me.txtUserID & "and [FormName] = '" & frmname & "' ")
End Sub
Sub frmopencheck()
If Me.Open = -1 Then
DoCmd.OpenForm frmname
Else
MsgBox "ليس لديك الصلاحيه", vbCritical, "تحذير"
Exit Sub
End If
End Sub
ثم قم بوضع هذا الكود في زر فتح النموذوج
Private Sub addbundleout_Click()
frmname = "اسم النموذج"
Call addaction
Call frmopencheck
End Sub
قم بوضع هذا الكود في كل النماذج في حدث Form_Current
Private Sub Form_Current()
Me.Form.AllowAdditions = Forms!MainForm!Add.Value
Me.Form.AllowEdits = Forms!MainForm!Edit.Value
Me.Form.AllowDeletions = Forms!MainForm!Delete.Value
End Sub
UserControl.rar