• Phân quyền sửa Chương trình trong Access
  • Phân quyền sửa Chương trình trong Access

    Noname > 09-08-10, 01:16 AM

    Hỏi
    Bạn nào có biết cách phân quyền sử dụng trong Access không chỉ cho mình với. Có nghĩa là với chương trình mình tạo ra thì chỉ có mình mới có thể sửa source code được, có thể sửa design... được thôi, người sử dụng chỉ được quyền sử dụng và không có quyền truy cập vào source code cũng như table... để sửa chương trình. Ở bên mình mọi người cũng có kiến thức về Access nên biết là cứ bấm F11 là vào được data của chương trình.
    Đáp
    Trích dẫn:Nguyên văn bởi hungtano
    Bạn phải làm 2 việc :

    1) Vào Tools --> Startup : bỏ chọn tất cả các check box trên biểu mẫu này. (không cho users sử dụng các phím tắt)

    Còn muốn triệt để hơn, không cho xem code thì .mdb --> .mde


    2) Disable phím SHIFT

    Nguyên lý : trong database có 1 thuộc tính (property) gọi là : AllowBypassKey. Thuộc tính này cho phép bạn enable/disable phím SHIFT.

    + Nếu AllowBypassKey = False --> disable phím SHIFT

    + Nếu AllowBypassKey = True --> enable phím SHIFT

    Cách làm : bạn tạo 1 Form (tạm gọi : F_ShiftKey) có 2 nút lịnh : 1 để enable và 1 disable phím SHIFT. Đưa 2 private sub dưới đây vào..........

    Private Sub DisableSHIFTButton_Click()
    On Error GoTo ErrHandler

    Dim db As Database
    Dim ThuocTinh As Property

    Set db = CurrentDb
    db.Properties("AllowBypassKey") = False
    Set db = Nothing

    Egress:
    On Error Resume Next
    Set db = Nothing
    Set ThuocTinh = Nothing
    Exit Sub

    ErrHandler:
    MsgBox Err.Number
    If Err.Number = 3270 Then ' Property not found.
    Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, False)
    db.Properties.Append ThuocTinh
    Resume Next
    Else
    MsgBox Err.Description
    Resume Egress
    End If
    End Sub

    =================================================

    Private Sub EnableSHIFTButton_Click()

    On Error GoTo ErrHandler

    Dim db As Database
    Dim ThuocTinh As Property

    Set db = CurrentDb
    db.Properties("AllowBypassKey") = True
    Set db = Nothing

    Egress:
    On Error Resume Next
    Set db = Nothing
    Set ThuocTinh = Nothing
    Exit Sub

    ErrHandler:
    MsgBox Err.Number
    If Err.Number = 3270 Then ' Property not found.
    Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, True)
    db.Properties.Append ThuocTinh
    Resume Next
    Else
    MsgBox Err.Description
    Resume Egress
    End If
    End Sub

    ++++++++++++++++++++++++++++++++++++++++++++++++++

    OK chưa bạn ? .............................................. Chưa đâu !


    Bây giờ đặt F_ShiftKey ở đâu trong chương trình để không ai được quyền mở ngoại trừ Admin ? Có nhiều cách : cách đơn giản nhất là đặt ….ở đâu cũng được với 1 điều kiện : để mở F_ShiftKey cần phải biết password.

    Ở sự kiện Form_Open, bạn yêu cầu nhập đúng password : Lambada mới cho mở form này.


    Private Sub Form_Open(Cancel As Integer)

    Dim Message, Title, MyValue

    Message = "Ban vui long cho biet mat khau :" ' Set prompt.

    Title = "Kiem tra" ' Set title.

    MyValue = InputBox(Message, Title)

    If MyValue <> "Lambada" Then

    DoCmd.Close

    End If

    End Sub
  • RE: Phân quyền sửa Chương trình trong Access

    khaccuong > 18-07-11, 07:32 PM

    Bạn noname ơi các sự kiện: EnableSHIFTButton_Click(); DisableSHIFTButton_Click() thì chạy ok rồi. Nhưng con sự kiện Form_Open thì gõ sai pass hoặc không gõ pass thì F_ShiftKey đều chạy. bạn kiểm tra lại giúp mình với nhé.

  • RE: Phân quyền sửa Chương trình trong Access

    HDS06790 > 10-12-11, 11:04 AM

    (09-08-10, 01:16 AM)Noname Đã viết: Hỏi
    Bạn nào có biết cách phân quyền sử dụng trong Access không chỉ cho mình với. Có nghĩa là với chương trình mình tạo ra thì chỉ có mình mới có thể sửa source code được, có thể sửa design... được thôi, người sử dụng chỉ được quyền sử dụng và không có quyền truy cập vào source code cũng như table... để sửa chương trình. Ở bên mình mọi người cũng có kiến thức về Access nên biết là cứ bấm F11 là vào được data của chương trình.
    Đáp
    Trích dẫn:Nguyên văn bởi hungtano
    Bạn phải làm 2 việc :

    1) Vào Tools --> Startup : bỏ chọn tất cả các check box trên biểu mẫu này. (không cho users sử dụng các phím tắt)

    Còn muốn triệt để hơn, không cho xem code thì .mdb --> .mde


    2) Disable phím SHIFT

    Nguyên lý : trong database có 1 thuộc tính (property) gọi là : AllowBypassKey. Thuộc tính này cho phép bạn enable/disable phím SHIFT.

    + Nếu AllowBypassKey = False --> disable phím SHIFT

    + Nếu AllowBypassKey = True --> enable phím SHIFT

    Cách làm : bạn tạo 1 Form (tạm gọi : F_ShiftKey) có 2 nút lịnh : 1 để enable và 1 disable phím SHIFT. Đưa 2 private sub dưới đây vào..........

    Private Sub DisableSHIFTButton_Click()
    On Error GoTo ErrHandler

    Dim db As Database
    Dim ThuocTinh As Property

    Set db = CurrentDb
    db.Properties("AllowBypassKey") = False
    Set db = Nothing

    Egress:
    On Error Resume Next
    Set db = Nothing
    Set ThuocTinh = Nothing
    Exit Sub

    ErrHandler:
    MsgBox Err.Number
    If Err.Number = 3270 Then ' Property not found.
    Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, False)
    db.Properties.Append ThuocTinh
    Resume Next
    Else
    MsgBox Err.Description
    Resume Egress
    End If
    End Sub

    =================================================

    Private Sub EnableSHIFTButton_Click()

    On Error GoTo ErrHandler

    Dim db As Database
    Dim ThuocTinh As Property

    Set db = CurrentDb
    db.Properties("AllowBypassKey") = True
    Set db = Nothing

    Egress:
    On Error Resume Next
    Set db = Nothing
    Set ThuocTinh = Nothing
    Exit Sub

    ErrHandler:
    MsgBox Err.Number
    If Err.Number = 3270 Then ' Property not found.
    Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, True)
    db.Properties.Append ThuocTinh
    Resume Next
    Else
    MsgBox Err.Description
    Resume Egress
    End If
    End Sub

    ++++++++++++++++++++++++++++++++++++++++++++++++++

    OK chưa bạn ? .............................................. Chưa đâu !


    Bây giờ đặt F_ShiftKey ở đâu trong chương trình để không ai được quyền mở ngoại trừ Admin ? Có nhiều cách : cách đơn giản nhất là đặt ….ở đâu cũng được với 1 điều kiện : để mở F_ShiftKey cần phải biết password.

    Ở sự kiện Form_Open, bạn yêu cầu nhập đúng password : Lambada mới cho mở form này.


    Private Sub Form_Open(Cancel As Integer)

    Dim Message, Title, MyValue

    Message = "Ban vui long cho biet mat khau :" ' Set prompt.

    Title = "Kiem tra" ' Set title.

    MyValue = InputBox(Message, Title)

    If MyValue <> "Lambada" Then

    DoCmd.Close

    End If

    End Sub

    Mình làm theo hướng dẫn của bạn vào Tool-->Starup... thì menu View và Tool mất tiêu vậy làm sao để nó hiện lên lại.
  • RE: Phân quyền sửa Chương trình trong Access

    findev > 25-03-12, 12:21 AM

    (09-08-10, 01:16 AM)Noname Đã viết: Bạn phải làm 2 việc :

    1) Vào Tools --> Startup : bỏ chọn tất cả các check box trên biểu mẫu này. (không cho users sử dụng các phím tắt)

    Còn muốn triệt để hơn, không cho xem code thì .mdb --> .mde


    2) Disable phím SHIFT

    Nguyên lý : trong database có 1 thuộc tính (property) gọi là : AllowBypassKey. Thuộc tính này cho phép bạn enable/disable phím SHIFT.
    ......

    End Sub
    [/quote]

    Cái này trong Access 2k7 hoặc 2k10 em làm nhưng không có tác dụng, có cách nào khác không vậy anh?
    Em cảm ơn nhiều!
  • RE: Phân quyền sửa Chương trình trong Access

    thanh260292 > 16-04-13, 08:38 AM

    làm mất thanh công cụ rùi giờ sao cho nó hiện lại đc ạ sad
    k vào code sửa đc
  • RE: Phân quyền sửa Chương trình trong Access

    huyvu333 > 18-04-14, 11:20 AM

    sao e viết hok chay a noname ơi
    http://www.mediafire.com/download/gri1pp...nghiem.rar
    e làm xong zây lun hết sửa lun
  • RE: Phân quyền sửa Chương trình trong Access

    nvthanghcm > 28-11-14, 11:43 AM

    minh moi vao nghe, xin tham gia y kien.
    Luc dau minh cung dung startup nhung roi mat tieu, sau do minh su dung menu va dua startup nay vao quyen admin do do khi dang nhap admin thi co the loi ra duoc startup.