Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
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.
#11
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é.  007  
Hiện form để chọn các thuộc tính được cấp quyền.

[Hình: PhanQuyen.png] 
(hình minh họa bằng word)
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#12
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)
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#13
(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é.  007  
Hiện form để chọn các thuộc tính được cấp quyền.

[Hình: PhanQuyen.png] 
(hình minh họa bằng word)
Để 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.
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
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ledangvan , ongke0711
#14
(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é.  007  
Hiện form để chọn các thuộc tính được cấp quyền.

[Hình: PhanQuyen.png] 
(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è
[Hình: phanquyen-Tungchucnang.png]

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!
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ongke0711 , tranthanhan1962
#15
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  007  .  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.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#16
(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  007  .  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)

[Hình: DemoPQCT_MDD3.jpg]

Thân mến!
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cách đề tạo Combo Box và List Box Tương ứng Godspear 9 295 4 Giờ trước
Bài mới nhất: toancvp
  [Hỏi] Refresh Form và tiếp tục hoạt động Godspear 2 64 7 Giờ trước
Bài mới nhất: Godspear
  [Hỏi] Cách thêm dữ liệu vào form Main_Sub NganNguyen 1 38 06-12-16, 02:23 AM
Bài mới nhất: maidinhdan
  Tự động hiện Form khi loading hết thời gian ChiMai 1 49 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 209 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ