1. Thiết kế tbUser
tbUser
UserName Pass Group
tbUser_PhanQuyen
ID Group TenFrm TenDoiTuong ChoPhep HienThi
2. Tạo frmLogin
PhanQuyen.UserName = Text0.Value
PhanQuyen.Pass = Text2.Value
If PhanQuyen.CheckUser = 1 Then
MsgBox PhanQuyen.Group
End If
3. Tạo module PhanQuyen
Option Compare Database
Public UserName As String
Public Pass As String
Public Group As String
Public Function CheckUser() As Integer
' Check ten dang nhap co bi rong
If UserName = "" Then
MsgBox "Chua nhap user ?"
CheckUser = 0
Return
End If
' Ket noi lay du lieu tu table tbUser
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
On Error GoTo ErrorHandler
Set db = CurrentDb
strSQL = "Select * From tbUser Where UserName='" & UserName & "'"
Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
If rst.RecordCount = 0 Then
CheckUser = 0
Exit Function
End If
rst.MoveFirst
If rst!Pass = Pass Then
CheckUser = 1
End If
Group = rst!Group
rst.Close
db.Close
Exit Function
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function
Public Function PhanQuyenDoiTuong(frm As Form)
Dim rst As Recordset
Set rst = md_DATA.getRecs("Select * From tbUser_PhanQuyen Where (Group='" + Group + "' AND TenFrm='" + frm.Name + "')")
If Group = "" Then
MsgBox "Group= rong"
End If
Dim Ctrl As Control
tongct = frm.Controls.Count
For Each Ctrl In frm.Controls
tenControl = Ctrl.Properties("Name")
With rst
'Debug.Print tenControl
.FindFirst "TenDoiTuong='" + tenControl + "'"
Ctrl.Enabled = .Fields("ChoPhep").Value
Ctrl.Visible = .Fields("HienThi").Value
'Ctrl.Enabled = .
End With
Next Ctrl
End Function
Phần quyền với Access