D
Deleted member 1392
Guest
Giới thiệu
Chào các bạn, phân quyền là đăng nhập là một chủ đề vừa mới vừa cũ. Cũ là hầu như ai cũng biết VBA có thể làm được màn hình đăng nhập, mới là chưa có một hệ thống tài liệu nào giúp chúng ta có thể làm được một form đăng nhập hoàn chỉnh từ cơ bản đến nâng cao.
Nâng cao ở đây có thể hiểu là:
- Phân quyền từng User cho từng Sheet, từng cột cụ thể.
- Chỉ tài khoản Admin mới có thể phân quyền, chỉnh sửa thông tin đăng nhập cho các User.
- Tạo thời gian sử dụng cho file, khi hết hạn thì chỉ có đăng nhập tài khoản Admin mới gia hạn được.
- Tài khoản Admin có thể tạo mới, chỉnh sửa thông tin đăng nhập cho các User bằng hình thức Online, không cần mở file.
- Bảo mật hơn với các công cụ ẩn Module, khoá UnView.
- Khắc phục các lỗi khi đang mở nhiều file, tắt mở làm ảnh hưởng các file không liên quan.
...
Phân quyền có thể được dùng cho nhiều trường hợp, đặc biệt là trong trường hợp nhiều người cùng sử dụng 1 file Excel, hạn chế phân mảng dữ liệu 1 người 1 file, việc phân quyền là cần thiết.
Tuy nhiên, nếu xét về phương diện bảo mật thì mình cũng khẳng định là không đảm bảo. Chúng ta dùng phương thức phân quyền đăng nhập để công việc của chúng ta được thuận tiện, giảm phân mảnh dữ liệu và thuận tiện xử lý khi tổng hợp.
Mình sẽ hướng dẫn các bạn một cách dễ hiểu nhất có thể, để làm sao ai trong số chúng ta đều có thể làm theo được. Nào, giờ ta cùng vào phần nội dung.
Cách tạo một màn hình đăng nhập cơ bản
Bước 1: Tạo một Userform mới và thiết kế một màn hình đăng nhập, bước này nếu các bạn không rõ có thể xem lại loạt bài hướng dẫn tạo Userform
Ở đây, mình sẽ đặt tên các Controls như sau:
Label
- ĐĂNG NHẬP: lbLogin
- Tài Khoản: lbID
- Password: lbPW
Textbox
- Tài khoản: tbID
- Password: tbPW
Button
- Đăng nhập: btLogin
- Huỷ bỏ: btClose
Các bạn cũng nên tập thói quen đặt tên các Control khi thêm vào Userform, việc này sẽ giúp các bạn dễ định dang khi viết code đồng thời cũng dễ quản lý. Chứ viết code mà Textbox1, Textbox2... Mới thì hiểu, đợi khi 3 tháng sau quay lại nhìn code thì chỉ có "ngáo" thôi
Bước 2: Nhập mật khẩu thì phải hiện chữ * chứ nhỉ
Chọn Textbox Pasword > PasswordChar > *
Bước 3: Giờ ta code thôi
Code khi mở form
Code nút Đăng nhập
ID: admin - Password: admin
Code nút Huỷ bỏ
Bước 4: Tự mở form khi mở file
Cho đoạn code sau vào Thisworkbook là xong
Và đây là kết quả, quá đơn giản đúng không nào.
Trên đây là cách chúng ta có thể tạo 1 form đăng nhập cơ bản. Trong các bài tiếp theo, chúng ta sẽ tìm hiểu cách tinh chỉnh nhiều tính năng hơn cho form đăng nhập này.
Chào các bạn, phân quyền là đăng nhập là một chủ đề vừa mới vừa cũ. Cũ là hầu như ai cũng biết VBA có thể làm được màn hình đăng nhập, mới là chưa có một hệ thống tài liệu nào giúp chúng ta có thể làm được một form đăng nhập hoàn chỉnh từ cơ bản đến nâng cao.
Nâng cao ở đây có thể hiểu là:
- Phân quyền từng User cho từng Sheet, từng cột cụ thể.
- Chỉ tài khoản Admin mới có thể phân quyền, chỉnh sửa thông tin đăng nhập cho các User.
- Tạo thời gian sử dụng cho file, khi hết hạn thì chỉ có đăng nhập tài khoản Admin mới gia hạn được.
- Tài khoản Admin có thể tạo mới, chỉnh sửa thông tin đăng nhập cho các User bằng hình thức Online, không cần mở file.
- Bảo mật hơn với các công cụ ẩn Module, khoá UnView.
- Khắc phục các lỗi khi đang mở nhiều file, tắt mở làm ảnh hưởng các file không liên quan.
...
Phân quyền có thể được dùng cho nhiều trường hợp, đặc biệt là trong trường hợp nhiều người cùng sử dụng 1 file Excel, hạn chế phân mảng dữ liệu 1 người 1 file, việc phân quyền là cần thiết.
Tuy nhiên, nếu xét về phương diện bảo mật thì mình cũng khẳng định là không đảm bảo. Chúng ta dùng phương thức phân quyền đăng nhập để công việc của chúng ta được thuận tiện, giảm phân mảnh dữ liệu và thuận tiện xử lý khi tổng hợp.
Mình sẽ hướng dẫn các bạn một cách dễ hiểu nhất có thể, để làm sao ai trong số chúng ta đều có thể làm theo được. Nào, giờ ta cùng vào phần nội dung.
Cách tạo một màn hình đăng nhập cơ bản
Bước 1: Tạo một Userform mới và thiết kế một màn hình đăng nhập, bước này nếu các bạn không rõ có thể xem lại loạt bài hướng dẫn tạo Userform
Bạn cần đăng nhập để thấy link
Bạn cần đăng nhập để thấy hình ảnh
Ở đây, mình sẽ đặt tên các Controls như sau:
Label
- ĐĂNG NHẬP: lbLogin
- Tài Khoản: lbID
- Password: lbPW
Textbox
- Tài khoản: tbID
- Password: tbPW
Button
- Đăng nhập: btLogin
- Huỷ bỏ: btClose
Các bạn cũng nên tập thói quen đặt tên các Control khi thêm vào Userform, việc này sẽ giúp các bạn dễ định dang khi viết code đồng thời cũng dễ quản lý. Chứ viết code mà Textbox1, Textbox2... Mới thì hiểu, đợi khi 3 tháng sau quay lại nhìn code thì chỉ có "ngáo" thôi
Bước 2: Nhập mật khẩu thì phải hiện chữ * chứ nhỉ
Chọn Textbox Pasword > PasswordChar > *
Bạn cần đăng nhập để thấy hình ảnh
Bước 3: Giờ ta code thôi
Code khi mở form
Mã:
Private Sub UserForm_Initialize()
'//AN FILE EXCEL
Windows(ThisWorkbook.Name).Visible = False
End Sub
ID: admin - Password: admin
Mã:
Private Sub btLogic_Click()
Dim ckID As Boolean
'//CHECK THONG TIN ID VA PASSWORD
If tbID.Value = "admin" And tbPW.Value = "admin" Then
ckID = True
Else
MsgBox "Ban da nhap sai tai khoan hoac Password"
Exit Sub
End If
'//XU LY
If ckID = True Then
'//AN MAN HINH DANG NHAP
Me.Hide
'//HIEN LAI FILE EXCEL
Windows(ThisWorkbook.Name).Visible = True
End If
End Sub
Mã:
Private Sub btClose_Click()
'//DONG FOMR
Unload Me
'//DONG FILE
ThisWorkbook.Close False
End Sub
Cho đoạn code sau vào Thisworkbook là xong
Mã:
Public Sub Auto_Open()
UfLogin.Show
End Sub
Bạn cần đăng nhập để thấy hình ảnh
Trên đây là cách chúng ta có thể tạo 1 form đăng nhập cơ bản. Trong các bài tiếp theo, chúng ta sẽ tìm hiểu cách tinh chỉnh nhiều tính năng hơn cho form đăng nhập này.
Sửa lần cuối bởi điều hành viên: