• Làm sau khóa cơ sở dữ liệu
  • Làm sau khóa cơ sở dữ liệu

    anhduyks1 > 28-02-15, 12:50 PM

    [Hình: forum_12.jpg]
    [Hình: forum_13.jpg]
    Có bạn nào biết làm như trong hình không khóa CSDL chỉ có quyền admin truy cập thôi.
  • RE: Làm sau khóa cơ sở dữ liệu

    maidinhdan > 28-02-15, 03:01 PM

    (28-02-15, 12:50 PM)anhduyks1 Đã viết: Có bạn nào biết làm như trong hình không khóa CSDL chỉ có quyền admin truy cập thôi.

    Theo ý bạn chúng ta sẽ làm 02 việc:

    1. Thiết kế phân quyền chương trình:

    Bạn tham khảo link này: http://tonghop.thuthuataccess.com/2009/1...quyen.html

    2. Bạn tạo một hàm khóa Back End lại: ( không cho xem, sửa table, Query, Form...)
    Tạo modules co ten la khoashift:
    Chèn mã này vào
    Mã PHP:
    Option Compare Database

    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Function 
    ChangeProperty(strPropNamevarPropTypevarPropValue)
      
    Dim dbs As Databaseprp As Property
      
    Const conPropNotFoundError 3270
      Set dbs 
    CurrentDb
      On Error 
    GoTo Change_XuLyLoi
      dbs
    .Properties(strPropName) = varPropValue
      ChangeProperty 
    True
    Change_KetThuc
    :
      Exit Function
    Change_XuLyLoi:
      
    'Thu?c tính không t́m th?y
      If Err = conPropNotFoundError Then
      Set prp = dbs.CreateProperty(strPropName, _
      varPropType, varPropValue)
      dbs.Properties.Append prp
      Resume Next
      Else
      '
    Không bi?t l?i ǵ
      ChangeProperty 
    False
      Resume Change_KetThuc
      End 
    If
    End Function

    Sub LockDB()
      
    'Bi?u m?u này ???c n?p tr??c
     
      ChangeProperty "StartupShowDBWindow", dbBoolean, False
      ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
      ChangeProperty "AllowFullMenus", dbBoolean, False
      ChangeProperty "AllowBreakIntoCode", dbBoolean, False
      ChangeProperty "AllowSpecialKeys", dbBoolean, False
     
      '
    Không cho xài phím Shift ?? bqua bi?u m?u frmKhoiDong
      ChangeProperty 
    "AllowBypassKey"dbBooleanFalse
      
    End Sub
    'X? lư t́nh hu?ng ch?n nút [M? database]
    Sub UnlockDB()
      '
    Không c?n bi?u m?u kh???ng n?a
     
      ChangeProperty 
    "StartupShowDBWindow"dbBooleanTrue  '
      ChangeProperty "AllowBuiltinToolbars", dbBoolean, True
      ChangeProperty "AllowFullMenus", dbBoolean, True
      ChangeProperty "AllowBreakIntoCode", dbBoolean, True
      ChangeProperty "AllowSpecialKeys", dbBoolean, True
      ChangeProperty "AllowBypassKey", dbBoolean, True
      
    End Sub 

    Sau đó: Bạn gọi nó ở sự kiện Click khi đăng nhập bằng quyền Admin như Hướng dẫn 1

    Tạo 2 nút: Mở khóa và Khóa lại

    Code gọi hàm:

    Mã:
    Private Sub Khoashift_Click()
    LockDB
    MsgBox "Da khoa thanh cong", vbInformation, "Thong bao"
    End Sub


    Private Sub MokhoaShift_Click()
    UnlockDB
    MsgBox "Da mo khoa thanh cong", vbInformation, "Thong bao"
    End Sub

    Ghi chú: Mở và khóa phải khởi động lại mới có hiệu lực.

    Chúc bạn thành công.
  • RE: Làm sau khóa cơ sở dữ liệu

    anhduyks1 > 28-02-15, 08:49 PM

    1. thiết kế phân quyền chương trình:

    Bạn tham khảo link này: http://tonghop.thuthuataccess.com/2009/1...uyen.html/

    Sao không xem được vậy bạn.
  • RE: Làm sau khóa cơ sở dữ liệu

    maidinhdan > 28-02-15, 09:46 PM

    (28-02-15, 08:49 PM)anhduyks1 Đã viết: 1. thiết kế phân quyền chương trình:

    Bạn tham khảo link này: http://tonghop.thuthuataccess.com/2009/1...quyen.html

    Sao không xem được vậy bạn.

    Fix lại link : http://tonghop.thuthuataccess.com/2009/1...quyen.html
    Trong link này có cả demo nửa
  • RE: Làm sau khóa cơ sở dữ liệu

    anhduyks1 > 03-03-15, 04:43 PM

    (28-02-15, 09:46 PM)maidinhdan Đã viết:
    (28-02-15, 08:49 PM)anhduyks1 Đã viết: 1. thiết kế phân quyền chương trình:

    Bạn tham khảo link này: http://tonghop.thuthuataccess.com/2009/1...quyen.html

    Sao không xem được vậy bạn.

    Fix lại link : http://tonghop.thuthuataccess.com/2009/1...quyen.html
    Trong link này có cả demo nửa

    Cái này mình không biết pass vào Code được bạn cho mình được không?
  • RE: Làm sau khóa cơ sở dữ liệu

    maidinhdan > 03-03-15, 05:32 PM

    (03-03-15, 04:43 PM)anhduyks1 Đã viết:
    (28-02-15, 09:46 PM)maidinhdan Đã viết:
    (28-02-15, 08:49 PM)anhduyks1 Đã viết: 1. thiết kế phân quyền chương trình:

    Bạn tham khảo link này: http://tonghop.thuthuataccess.com/2009/1...quyen.html

    Sao không xem được vậy bạn.

    Fix lại link : http://tonghop.thuthuataccess.com/2009/1...quyen.html
    Trong link này có cả demo nửa

    Cái này mình không biết pass vào Code được bạn cho mình được không?
    Bạn nhìn thấy đoạn này trong link không:
    Mã PHP:
    Dữ liệu nhập thử:
    tblDSUser
    ID 
    --- Pass

    Admin 
    ---- Admin
    Duytuan 
    ---- tuan
    Guest 
    ---- 

    Id là Admin' Pass là Admin

    Link trên do Noname viết chi tiết đến từng cm, có cả demo nửa, mà bạn đọc không biết làm thì mình cũng pó tay + pó chân. 024
  • RE: Làm sau khóa cơ sở dữ liệu

    anhduyks1 > 03-03-15, 08:17 PM

    [Hình: forum_15.jpg]
    Mình chỉ nói pass trên hình thôi.
  • RE: Làm sau khóa cơ sở dữ liệu

    maidinhdan > 03-03-15, 08:50 PM

    (03-03-15, 08:17 PM)anhduyks1 Đã viết: [Hình: forum_15.jpg]
    Mình chỉ nói pass trên hình thôi.

    thì nó chứa những đoạn code mà Noname để trên link thôi
    Đoạn code xử lý như sau:
    Mã PHP:
    Private Sub cmdLogin_Click()
    If 
    Me.txtPassWord.Value Me.txtPassTemp.Value Then
    Username 
    Me.cbbUserName
    MsgBox 
    "Welcom To " Username
    DoCmd
    .OpenForm "frmMain"
    DoCmd.Close acForm"frmLogin"
    Else
    MsgBox "Login Fail, check your Username and your password"
    End If
    End Sub 

    Mã PHP:
    Private Sub CmdGuest_Click()
    Username "Guest"
    MsgBox "Welcom To " Username
    DoCmd
    .OpenForm "frmMain"
    DoCmd.Close acForm"frmLogin"
    End Sub 


    Mã PHP:
    Function checkuser() As Integer
    On Error 
    GoTo Err ' nếu user vào trực tiếp bằng quyền guest thì cho level là 0
    Dim rs1 As Recordset
    Dim sql As String
    sql = " select max(WGlevel) from tblWorkGroup where user= '" & Username & "'"
    Set rs1 = CurrentDb.OpenRecordset(sql)
    rs1.MoveFirst
    checkuser = rs1(0).Value
    Exit Function

    Err:
    checkuser = 0
    Exit Function

    End Function 


    Mã PHP:
    Private Sub cmdAdmin_Click()
    Dim userRequest As String ‘ biến yêu cầu user tối thiểu
    userRequest 
    9
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao ban đa dang nhap vao quyen admin"
    Else
    MsgBox "ban khonn duoc dang nhap function nay"
    End If
    End Sub 


    Mã PHP:
    Private Sub cmdUser_Click()
    Dim userRequest As String
    userRequest 
    8
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao ban da dang nhap vao quyen user"
    Else
    MsgBox "ban khong duoc dang nhap function nay"
    End If
    End Sub 


    Mã PHP:
    [php]Private Sub CmdGuest_Click()
    Dim userRequest As String
    userRequest 
    0
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao dang nhap vao quyen khach"
    Else
    MsgBox "ban khogn duoc dang nhap function nay"
    End If
    End Sub[/php

    Còn muốn biết cách làm chi tiết có video kèm code thì xem tại đây: http://thuthuataccess.com/forum/post-250...l#pid25077

    Cuối cùng là những đoạn code trong ý số 2 mình trả lời phía trên.
  • RE: Làm sau khóa cơ sở dữ liệu

    anhduyks1 > 03-03-15, 10:30 PM

    (03-03-15, 08:50 PM)maidinhdan Đã viết:
    (03-03-15, 08:17 PM)anhduyks1 Đã viết: [Hình: forum_15.jpg]
    Mình chỉ nói pass trên hình thôi.

    thì nó chứa những đoạn code mà Noname để trên link thôi
    Đoạn code xử lý như sau:
    Mã PHP:
    Private Sub cmdLogin_Click()
    If 
    Me.txtPassWord.Value Me.txtPassTemp.Value Then
    Username 
    Me.cbbUserName
    MsgBox 
    "Welcom To " Username
    DoCmd
    .OpenForm "frmMain"
    DoCmd.Close acForm"frmLogin"
    Else
    MsgBox "Login Fail, check your Username and your password"
    End If
    End Sub 

    Mã PHP:
    Private Sub CmdGuest_Click()
    Username "Guest"
    MsgBox "Welcom To " Username
    DoCmd
    .OpenForm "frmMain"
    DoCmd.Close acForm"frmLogin"
    End Sub 


    Mã PHP:
    Function checkuser() As Integer
    On Error 
    GoTo Err ' nếu user vào trực tiếp bằng quyền guest thì cho level là 0
    Dim rs1 As Recordset
    Dim sql As String
    sql = " select max(WGlevel) from tblWorkGroup where user= '" & Username & "'"
    Set rs1 = CurrentDb.OpenRecordset(sql)
    rs1.MoveFirst
    checkuser = rs1(0).Value
    Exit Function

    Err:
    checkuser = 0
    Exit Function

    End Function 


    Mã PHP:
    Private Sub cmdAdmin_Click()
    Dim userRequest As String ‘ biến yêu cầu user tối thiểu
    userRequest 
    9
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao ban đa dang nhap vao quyen admin"
    Else
    MsgBox "ban khonn duoc dang nhap function nay"
    End If
    End Sub 


    Mã PHP:
    Private Sub cmdUser_Click()
    Dim userRequest As String
    userRequest 
    8
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao ban da dang nhap vao quyen user"
    Else
    MsgBox "ban khong duoc dang nhap function nay"
    End If
    End Sub 


    Mã PHP:
    [php]Private Sub CmdGuest_Click()
    Dim userRequest As String
    userRequest 
    0
    If userRequest <= checkuser Then
    MsgBox 
    "Xin chao dang nhap vao quyen khach"
    Else
    MsgBox "ban khogn duoc dang nhap function nay"
    End If
    End Sub[/php

    Còn muốn biết cách làm chi tiết có video kèm code thì xem tại đây: http://thuthuataccess.com/forum/post-250...l#pid25077

    Cuối cùng là những đoạn code trong ý số 2 mình trả lời phía trên.

    Cảm ơn bạn vì cho mình video mình làm được rồi chứ đọc nhằm cái hơi khó hiểu tý
  • RE: Làm sau khóa cơ sở dữ liệu

    maidinhdan > 04-03-15, 02:29 PM

    (03-03-15, 10:30 PM)anhduyks1 Đã viết:
    (03-03-15, 08:50 PM)maidinhdan Đã viết: Còn muốn biết cách làm chi tiết có video kèm code thì xem tại đây: http://thuthuataccess.com/forum/post-250...l#pid25077

    Cuối cùng là những đoạn code trong ý số 2 mình trả lời phía trên.

    Cảm ơn bạn vì cho mình video mình làm được rồi chứ đọc nhằm cái hơi khó hiểu tý

    Nếu xem video mà chưa biết làm nửa! chỉ có nước thỉnh thầy xuống núi thôi.014