-
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
ongke0711 > 09-09-15, 01:57 PM
Không biết bác tranthanhan1962, maidinhdan có ngâm cứu làm cái phân quyền dạng này chưa nhỉ? Nếu có thì chia sẽ anh em tham khảo luôn nhé.
Hiện form để chọn các thuộc tính được cấp quyền.
(hình minh họa bằng word) -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
tranthanhan1962 > 09-09-15, 02:43 PM
Trả lời cho bạn honglv157
Do bạn sử dụng trong code tên những thanh tool bar không dấu. Trong khi đó bạn chỉ tạo một thanh tool bar có dấu nên mình không sửa ngay trong cơ sở dữ liệu được. Vài vấn đế góp ý
1/ Thanh tool bar của bạn sử dụng tên có dấu (Cập nhật số liệu) khi viết code VBA rất dễ bị lỗi. Cách tốt nhất là đặt tên viết liền không dấu.
Cách khắc phục: Right Click Menu bar / Cutomize / Toolbars / chọn [Cập nhật số liệu] / Rename / đổi tên (ví dụ: [CapNhatSoLieu]
2/ Thanh này chỉ là tool bar chứ chưa phải Menu bar
Cách khắc phục: Tiếp tục thực hiện sau khi đổi tên: / Properties / Chuyển Type từ Tool bar thành Menu bar.
3/ Chưa set Startup Menu bar cho CapNhatSoLieu
Cách khắc phục: Tool / Startup / Menu bar: Chuyển (default) thành CapNhatSoLieu.
4/Trong code có nhiều thanh tool bar nhưng không thấy thanh nào được tạo.
Cách khắc phục: Nếu chưa có kinh nghiệm chỉ cần tạo một thanh Menu bar là đủ. Nhiều quá sẽ gây lẫn lộn khó viết code. Khi thay đổi quyền thì sẽ thay đổi các command menu cấp 1 (Xử lý ẩn hiện các menu cấp 1 tùy theo quyền). các command menu cấp 1 sẽ chứa các command cấp cao hơn và các command này sẽ chứa các command menu gọi from, report tùy theo quyền của user.
5/Để kiểm tra menu khi chưa thực hiện xong phần mềm. Không bỏ các check trên form startup. Nhưng sử dụng shift vẫn là phương án tốt nhất
6/ Phân biệt rõ tên toolbar hoặc menu bar (thanh tool bar hoặc thenh menu bar - viết liền không dấu) và các command menu (nút lệnh menu có thể viết có dấu và khoảng trắng). Vì vậy gọi tool bar theo tên, gọi command menu theo thứ tự.
Ví dụ:
CommandBars("CapNhatSoLieu ").Controls(2).Visible = True
• CommandBars("CapNhatSoLieu ") : tên thanh tool bar là CapNhatSoLieu
• Controls(2) : Nút lệnh (Command) thứ 2 (Sử dụng số thứ tự để khỏi phải gọi tên tiếng việt có dấu của command) -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
tranthanhan1962 > 09-09-15, 03:10 PM
(09-09-15, 01:57 PM)ongke0711 Đã viết: Không biết bác tranthanhan1962, maidinhdan có ngâm cứu làm cái phân quyền dạng này chưa nhỉ? Nếu có thì chia sẽ anh em tham khảo luôn nhé.
Để làm cái này mình có một phương pháp. Sau khi đặng nhập không close form login, mà chỉ ẩn. Thay vì DoCmd.Close chuyển thành Me.Visible = False.
Hiện form để chọn các thuộc tính được cấp quyền.
(hình minh họa bằng word)
Khi mở form (Phiếu nhập kho hay phiếu xuất kho) đưa lệnh vào event Form_Load hoặc Form_Open
Trên form login có control chỉ định quyền (1, 2, 3) thì tham chiếu theo quyền của control đó để visible hoặc enabled (True/False) tùy biến bằng select case. Còn nếu muốn xử lý theo nhóm thì tạo thêm table quyền liên kết với table danh sách user thêm nấy cái field yes/no (ví dụ: xoa, them, sua...) khi mở form thì sử dụng Dlookup tìm xem cái nào yes thì visible hoặc enabled = True cái nào No thì False -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
maidinhdan > 09-09-15, 05:03 PM
(09-09-15, 01:57 PM)ongke0711 Đã viết: Không biết bác tranthanhan1962, maidinhdan có ngâm cứu làm cái phân quyền dạng này chưa nhỉ? Nếu có thì chia sẽ anh em tham khảo luôn nhé.
Hiện form để chọn các thuộc tính được cấp quyền.
(hình minh họa bằng word)
Để mình làm tặng các bạn 1 cái, thật ra mình muốn làm lâu rồi, nhưng thấy chả có ai hỏi nên không làm, nhưng không phải như hình bạn vẽ đâu, phải là như thế này nè
Ngày 18/9/2015 sẽ đăng Demo này lên.
* Khi làm như vậy tuy thuận tiện cho việc quản lý, nhưng khi bạn viết code khó khăn vô cùng. ( cho nên nếu không cần thiết thì nên áp dụng 1 trong 2 demo trên của mình và anh Ân mà xài)
Thân mến! -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
ongke0711 > 09-09-15, 05:28 PM
Cảm ơn anh Ân đã gợi ý concept để làm cái này và bạn Dân bỏ công sức làm demo.
Thực ra mình cũng cảm thấy cái viễn cảnh sẽ phức tạp khi phân quyền xuống đến mức chi tiết như vậy nhưng nghĩ cũng phải có cái cách gì đó để làm trong module, class gì đó để gọi cho nhanh ở từng form nhưng ngoài khả năng rồi. Mình thấy tính năng này trong chương trình quản bán hàng đang sử dụng. Chương trình viết bằng C#. Ví dụ trong cái chức năng quản lý kho, nó phân quyền có nhân viên sẽ không xem được giá nhập (không hiển thị trong continuos form) và phân quyền xem/xóa/sửa...
Bạn Dân làm việc có nguyên tắc và thời gian rõ ràng nhỉ! có deadline 18/9 luôn..hehe. -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
maidinhdan > 10-03-16, 10:00 PM
(09-09-15, 05:28 PM)ongke0711 Đã viết: Cảm ơn anh Ân đã gợi ý concept để làm cái này và bạn Dân bỏ công sức làm demo.
Thực ra mình cũng cảm thấy cái viễn cảnh sẽ phức tạp khi phân quyền xuống đến mức chi tiết như vậy nhưng nghĩ cũng phải có cái cách gì đó để làm trong module, class gì đó để gọi cho nhanh ở từng form nhưng ngoài khả năng rồi. Mình thấy tính năng này trong chương trình quản bán hàng đang sử dụng. Chương trình viết bằng C#. Ví dụ trong cái chức năng quản lý kho, nó phân quyền có nhân viên sẽ không xem được giá nhập (không hiển thị trong continuos form) và phân quyền xem/xóa/sửa...
Bạn Dân làm việc có nguyên tắc và thời gian rõ ràng nhỉ! có deadline 18/9 luôn..hehe.
Tạm đóng chủ đề của bài viết này.
Có gì các bạn trao đổi tiếp tục tại link sau: [Shared code]_Login + Phân quyền chi tiết tới từng cm(Gửi Ongke0711)
Thân mến! -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
subasatran > 27-03-21, 10:58 PM
chuyển đề mục -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
HoaAt > 14-06-21, 04:49 PM
Xin chào cả nhà!
Mình là thành viên mới nên cũng chưa nắm được hết quy định. Vào trang phân quyền hay quá các Bác có thể giúp mình đoạn code này với. Cám ơn -
RE: Thiết kế form đăng nhập phân quyền một cơ sở dữ liệu một cách rất đơn giản.
ongke0711 > 15-06-21, 08:04 AM