Đánh giá chủ đề:
  • 3 Votes - 4.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
20-10-10, 04:30 PM (Được chỉnh sửa: 20-10-10 04:40 PM bởi bienxanhlunglinh.)
Bài viết: #1
Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
Kg Anh Chị Em:
Tôi có 1 ứng dụng access, hiện tại muốn: Phân quyền cho các User đăng nhập theo từng nhóm quyền tương ứng sẽ được sử dụng các tính năng trên Menu theo quy định với chức năng của nhóm quyền đó, nhưng không biết gọi macro_menu và visible / invisible nó ra sao.ACE giúp đỡ nha.

==> yêu cầu: (lưu ý: các menu đều được làm bằng macro)
- Khi chạy ứng dụng, sẽ chỉ có form_login chạy (on top), các menu ẩn đi
- User login đúng thì Menu bật lên (Menu tạo bằng các Macro) và tương ứng với nhóm quyền user đăng nhập sẽ được sử dụng các Menu theo chính sách, ngược lại (đăng nhập sai) báo lỗi ?
- ứng với mỗi user đăng nhập theo nhóm quyền nào thì các tính năng trên thanh menu sẽ sáng / mờ tùy theo nhóm quyền của user đăng nhập?

ví dụ: nhóm username: nguyenvanA; password: 111; nhóm: user sau khi đăng nhập trên menu File các chức năng open, search sẽ sáng tức được sử dụng, tính năng print sẽ mờ đi tức user đó không được sử dụng.

cụ thể trong file đính kèm: khi đăng nhập với user ChiNT pass: 333 thì
Trên Menu: báo cáo nhập:
- thiết bị dầu khí =====> sáng (visible)
- Hóa chất =====> sáng (visible)
- Ô tô =====> sáng (visible)
- Người nước ngoài =====> mờ đi (invisible) không cho phép sử dụng
Cảm ơn các anh em.


File đính kèm
.zip  QL.zip (Kích cỡ: 38.32 KB / Tải về: 411)

Chữ Ký của bienxanhlunglinhnha_que_mu_tin_hoc
Trả lời
20-10-10, 05:54 PM
Bài viết: #2
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
Mình đã xem bài của bạn. Có mấy ý kiến thế này để bạn tham khảo và đưa vào bài của mình nhé:
- Bạn phân quyền theo USERID hay theo NHOMQUYEN. Để phân quyền được theo nhóm quyền, thì nên đặt thuộc tính của NHOMQUYEN là số (và đặt giá trị cho các nhóm)
Tham khảo thiết kế chương trình phân quyền trong diễn đàn này.
Khi đó, user có nhóm quyền cao nhất sẽ vào được tất cả. Còn nhóm quyền thấp hơn vào một số, thấp hơn nữa vào một số ít hơn.
- Mình không tạo Menu bằng macro cho nên không biết cách làm mờ đi của Menu con. Mình thử với file của bạn theo cách mình làm mờ đi trong menu tạo bằng customize thì bị giấu hẳn.

Khi mình không muốn cho user vào mục nào, thì mình làm như sau:

Mã:
if UserLevel <=4 then
application.commandbars("mcr_MAIN").controls(2).controls(3).visible = false
endif

Với câu lệnh trên, Menu con Ô tô trong "Báo cáo nhập" của bạn sẽ bị giấu đi.
Bạn vận dụng vào bài của mình cho phù hợp nhé.

Chữ Ký của haquocquanGuest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Trả lời
 Những người đã cảm ơn Noname , Hạ Vàng
21-10-10, 05:06 PM
Bài viết: #3
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
K/g: Các bạn

- Tham khảo bài trả lời của bạn: haquocquan, Mình làm được phần login (Phân quyền các chức năng sử dụng theo Nhóm Quyền)
- Phần làm sáng / mờ (invisible/Invisible) các menu và submenu thì cũng bị mất luôn, đáp ứng đc App nhưng không hay.

- Tiện cho hỏi bạn haquocquan là: đối với submenu của 1 submenu thì cũng sử dụng dạng control(i).control(i).control(i).visible = false/true phải không?
ví dụ:
báo cáo nhập '---> control (1)
.....................Ô tô '----> control (1).control(1)
..........................Xe cẩu '----> control (1).control(1).control(2).visible = true/false phải ko?

Cảm ơn các bạn.

Chữ Ký của bienxanhlunglinhnha_que_mu_tin_hoc
Trả lời
21-10-10, 05:24 PM
Bài viết: #4
Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
Đúng rồi đó. Thực ra có 2 cách:
- Cách 1: contrls(i).controls(i) .... như phần trên.
- Cách 2: tên menu, submenu,... Nhưng cách này bạn đặt tên Menu là tiếng việt, nên cần gõ thật chính xác.

Mình không tạo Menu bằng Macro(mình tạo bằng cách customize).
Qua bài của bạn, mình thấy tạo bằng Macro hay hơn. Vì: trong trường hợp file bị lỗi hoặc muốn tạo một file khác và import toàn bộ objects từ file cũ sang thì import được luôn macro (nhưng cách tạo menu của mình thì không làm được).
Cám ơn bạn nhé.

Chữ Ký của haquocquanGuest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Trả lời
 Những người đã cảm ơn Noname
23-10-10, 10:16 AM
Bài viết: #5
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
k/g: - haquocquan & ACE:
- Tui da lam duoc phan quyen gioi han chuc nang su dung theo nhóm quyền, tuy nhiên thắc mắc:
khi type: Application.CommandBars("mcr_MainMenu").Controls(stt menu chính) gõ tiếp : .Controls(stt submenu).Controls(stt submenu).visible=false/true Thì: các thuộc tính .Controls tiếp theo Controls(stt menu chính) ta dùng gọi ý code bằng phím Ctl + Back Space không sổ ra gọi ý mà phải gõ bằng tay ===> vậy các Controls thừ 2 trở đi khi sử dụng dòng lệnh này không đúng? (trong thư viện code sử dụng gọi nhớ : chấm sổ xòe)

- Trong ASP.Net thì quản lý user đăng nhập có tồn tại không thì dùng biến session global, khi user1 đăng nhập sẽ cất vào biến session global ==> như vậy nếu 1 người khác cũng dùng user1 để đăng nhập sẽ bị hắt ra vì session đang = 1 (chiếm giư username user1 đang logon). xin hỏi trong access VBA có thực hiện đc ko? ntn?

* mời bạn haquocquan vào Y!M thảo luận đc ko?

Chào ACE.
---------------

Chữ Ký của bienxanhlunglinhnha_que_mu_tin_hoc
Trả lời
23-10-10, 12:08 PM
Bài viết: #6
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
(23-10-10 10:16 AM)bienxanhlunglinh Đã viết:  k/g: - haquocquan & ACE:
- Tui da lam duoc phan quyen gioi han chuc nang su dung theo nhóm quyền, tuy nhiên thắc mắc:
khi type: Application.CommandBars("mcr_MainMenu").Controls(stt menu chính) gõ tiếp : .Controls(stt submenu).Controls(stt submenu).visible=false/true Thì: các thuộc tính .Controls tiếp theo Controls(stt menu chính) ta dùng gọi ý code bằng phím Ctl + Back Space không sổ ra gọi ý mà phải gõ bằng tay ===> vậy các Controls thừ 2 trở đi khi sử dụng dòng lệnh này không đúng? (trong thư viện code sử dụng gọi nhớ : chấm sổ xòe)

- Trong ASP.Net thì quản lý user đăng nhập có tồn tại không thì dùng biến session global, khi user1 đăng nhập sẽ cất vào biến session global ==> như vậy nếu 1 người khác cũng dùng user1 để đăng nhập sẽ bị hắt ra vì session đang = 1 (chiếm giư username user1 đang logon). xin hỏi trong access VBA có thực hiện đc ko? ntn?

* mời bạn haquocquan vào Y!M thảo luận đc ko?

Chào ACE.
---------------
Bản thân Access thì không phân biệt việc đó nhưng bạn hoàn toàn có thể làm được bằng cách trong table user, bạn cho ghi lại trạng thái đăng nhập của người dùng. Khi user đăng nhập thì bạn kiểm tra giá trị này để biết có ai đăng nhập hay chưa, khi out ra thì cho giá trị này là false. Khuyết điểm của nó là khi user thoát đột ngột hay cúpđiện thì user bị kẹt account trong table (vì không run được query update giá trị). Khi đó phải thiết kế cho người dùng 1 module có thể "đá" người đang vào ra khỏi hệ thống!
ý tưởng này mình thấy trong chương trình Scala Solution. Họ cũng làm vậy!

Chữ Ký của Noname020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Trả lời
 Những người đã cảm ơn haquocquan , Hạ Vàng
16-12-10, 06:36 PM
Bài viết: #7
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
Với cách ẩn menu trên, sẽ giấu hẳn menu con.
Còn nếu làm mờ Menu con, thì sử dụng lệnh sau:

Mã:
application.commandbars("mcr_MAIN").controls(2).controls(3).Enabled = false

Chữ Ký của haquocquanGuest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Trả lời
 Những người đã cảm ơn Noname , Hạ Vàng , hueqlhc
27-02-14, 07:48 PM
Bài viết: #8
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
khi t dang mở form dang nhap, làm sao có thể làm mờ phần menu con dang nhap tren thanh menu, giúp t với

Chữ Ký của ductria3Xin chào, mình là ductria3, Tham gia http://thuthuataccess.com/forum từ ngày 03-10 -13.
Trả lời
03-03-14, 09:29 PM
Bài viết: #9
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
(20-10-10 05:54 PM)haquocquan Đã viết:  Mình đã xem bài của bạn. Có mấy ý kiến thế này để bạn tham khảo và đưa vào bài của mình nhé:
- Bạn phân quyền theo USERID hay theo NHOMQUYEN. Để phân quyền được theo nhóm quyền, thì nên đặt thuộc tính của NHOMQUYEN là số (và đặt giá trị cho các nhóm)
Tham khảo thiết kế chương trình phân quyền trong diễn đàn này.
Khi đó, user có nhóm quyền cao nhất sẽ vào được tất cả. Còn nhóm quyền thấp hơn vào một số, thấp hơn nữa vào một số ít hơn.
- Mình không tạo Menu bằng macro cho nên không biết cách làm mờ đi của Menu con. Mình thử với file của bạn theo cách mình làm mờ đi trong menu tạo bằng customize thì bị giấu hẳn.

Khi mình không muốn cho user vào mục nào, thì mình làm như sau:

Mã:
if UserLevel <=4 then
application.commandbars("mcr_MAIN").controls(2).controls(3).visible = false
endif

Với câu lệnh trên, Menu con Ô tô trong "Báo cáo nhập" của bạn sẽ bị giấu đi.
Bạn vận dụng vào bài của mình cho phù hợp nhé.

Bác Haquocquan ơi cho em hỏi, trong lệnh làm mờ menu như bác nói thì "mcr_MAIN" là tên Macro hay tên menu bar .Vì em thấy bác nói làm menu bằng customize nên em hỏi để ứng dụng vào bài của em.

Chữ Ký của connguoi123Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Trả lời
04-03-14, 09:39 PM
Bài viết: #10
RE: Access: Help Phân quyền người dùng sử dụng các tính năng trên Menu
(03-03-14 09:29 PM)connguoi123 Đã viết:  
(20-10-10 05:54 PM)haquocquan Đã viết:  
Mã:
if UserLevel <=4 then
application.commandbars("mcr_MAIN").controls(2).controls(3).visible = false
endif

Bác Haquocquan ơi cho em hỏi, trong lệnh làm mờ menu như bác nói thì "mcr_MAIN" là tên Macro hay tên menu bar .Vì em thấy bác nói làm menu bằng customize nên em hỏi để ứng dụng vào bài của em.

Trong ví dụ trên thì "mcr_MAIN" là tên của commandbar (Có thể là menu bar, toolbar, hoặc pop-up menu)

Do khi lấy macro "mcr_MAIN" để tạo Menu, Access tự động lấy tên của macro để đặt tên cho menu bar
Bạn có thể sửa tên bằng cách bấm phải chuột vào thanh menu > chọn customize > chọn thẻ Toolbars > kéo thanh trượt xuống tìm và chọn dòng có tên "mcr_MAIN " > bấm nút Properties > tại hộp Tollbar name bạn sửa mcr_MAIN thành tên mà bạn muốn

Chữ Ký của MatTroiNguQuenThời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Trả lời
 Những người đã cảm ơn Noname , haquocquan

Tags: Access, Help, Phân, quyền, người, dùng, sử, dụng, các, tính, năng, trên, Menu,

Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng dẫn tạo Menu cho file Access bằng Macro Noname 36 25,103 20-06-14 07:30 PM
Bài mới nhất: duykhanga3
  Lỗi VBA trong access danhxetnghiem 11 254 16-06-14 02:37 PM
Bài mới nhất: danhxetnghiem
Sad [Help] Tạo menu bằng Macro để mở các file trong HDD mà sử dụng thường xuyên nghesysay 0 56 10-06-14 10:14 AM
Bài mới nhất: nghesysay
  Tạo menu popup vulhu06 2 189 24-04-14 01:22 PM
Bài mới nhất: vulhu06
  [Hỏi] Tính số lượng record theo điều kiện vuquanghai 1 490 28-05-13 10:44 PM
Bài mới nhất: cuong0202

Chuyển nhanh:


Thành viên đang đọc chủ đề: 1 Khách

Liên hệ | Thủ Thuật Access | Lên trên | Nội dung | Bản rút gọn | Tin RSS