Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Phân quyền theo nhóm
#1
Xin hỏi về phân quyền theo nhóm.Có cách nào tạo được form login có thể phân quyền theo nhóm. Ví dụ như trong DMLOPHOC có các thông tin như sau:
    Lớp              Cán bộ quản lý
 CBM13-01          Lê Thanh Hải
CBM13-02            Nguyễn Lan
CBM13-03             Hoàng HÀ
QTNH14-01          Lê Thanh HẢi
QTNH14-02           Nguyễn Lan
Có cách nào để khi đăng nhập bằng mật khẩu của mình vào hệ thống thì những cán bộ đó chỉ có thể chỉnh sửa và xem các thông tin liên quan tới lớp học của mình.
Demo giúp em với nhé!
Thanks 007
http://www.mediafire.com/download/kerf08...282%29.rar
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#2
Đọc bài này: Cách làm mất thanh Menu Bar ( đọc chơi từ bài #1 đến bài #16 Chị sẽ tìm thấy 1 ứng dụng rất nhiều thứ trong đó để tìm hiểu

Chứ năng như:
1. Đăng nhập bằng tài khoản
2. Phân quyền sử dụng menu
3. Phần quyền sử dụng chương trình.
...... nhiều thứ đáng để học lắm. và cũng như có những vấn đề chị hỏi nằm trong ấy hết.

Hình ứng dụng.
[Hình: forum_12.jpg]

Tài khoản để đăng nhập:
Tài khoản: Admin
Pass: maidinhdan


Mật khẩu VBA: vpdoant480350 hoặc maidinhdan

Em không post link ứng dụng để chị download để mong chị đọc, và không có gì tiến bộ hơn khi ta vừa làm vừa đọc cả.

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 honglv157 , Noname
#3
Cách dễ dàng nhất là bạn tạo menu bằng customize. Bạn tham khảo ở đây : Tạo Menu bar không cần dùng Macro
Trên menu của bạn mỗi quyền nhóm bạn đưa vào một Command Menu cấp 1 tạo riêng cho từng nhóm..
Xử lý phân quyền bằng cách khi user của nhóm nào đăng nhập thì Command Menu cấp 1 của nhóm đó có visible = true, các nhóm khác thì bằng false.
Giả sử bạn có thanh menu có tên là ketoan
Các nút lệnh cấp 1 có nút thứ nhất dành cho nhóm 1, nút thứ hai dành cho nhóm 2, nút thứ nhất dành cho nhóm 3
Code VBA cho việc ẩn hiện Command Menu. Code này có thể đưa vào cmdLogin_Click hoặc txtuser_AfterUpdate tùy ý
 
Nhóm 1

Mã PHP:
CommandBars("ketoan").Controls(1).Visible True
CommandBars
("ketoan").Controls(2).Visible False
CommandBars
("ketoan").Controls(3).Visible False 

 
Nhóm 2

Mã PHP:
CommandBars("ketoan").Controls(1).Visible False
CommandBars
("ketoan").Controls(2).Visible True
CommandBars
("ketoan").Controls(3).Visible False 

 
Nhóm 3

Mã PHP:
CommandBars("ketoan").Controls(1).Visible False
CommandBars
("ketoan").Controls(2).Visible False
CommandBars
("ketoan").Controls(3).Visible True 

 
Nếu làm chưa được thì đọc hết các bài của bạn Mai Đình Dân giới thiệu chắc chắn sẽ làm được.  big green

*Chú ý: khi chưa quen có thể sử dụng trạng thái Enabled thay thế trạng thái Visible để dễ kiểm tra. Khi xử lý xong thì chuyển qua trang thái Visible để ẩn - hiện.
* Đối với các menu cấp 2, cấp 3 cũng xử lý theo số thứ tự.(Lý do sử dụng số thứ tự là để thay thế tên gọi bằng tiếng việt có dấu mệt lắm) 007

Cấp 2: CommandBars("ketoan").Controls(2).Controls(5).Enabled = False
Cấp 3: CommandBars("ketoan").Controls(2).Controls(5).Controls(4). Visible = true
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 , honglv157 , Noname
#4
Cảm ơn 2 cao thủ happy 007
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#5
Private Sub Form_Open(Cancel As Integer)
Me.Move 4000, 3000, 6000, 2500
Me.cbtendangnhap = ""
Me.txtPassword = ""
Me.cbtendangnhap.SetFocus
End Sub
Cho em/chị hỏi: Đoạn code này có nghĩa là gì ah?
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#6
Me.Move 4000, 3000, 6000, 2500 được xác định Me.Move (Left=4000, Top=3000, Width=6000, Height=2500)
Me.Move 4000 , 3000, 6000, 2500 (Dịch nghĩa Tôi di chuyển bên trái = 4000, trên đầu = 3000, ngang = 6000, cao = 2500) 007
Nghĩa IT là:
Vị trí Form có tọa độ của góc trên cùng bên trái cách cạnh trái của cửa sổ access  là 4000 và cách cạnh đáy của tool bar cuối cùng là 3000.
Kích thước Form: ngang là 6000, cao là 2500
Giá trị này chỉ xảy ra khi open form được Restore còn Maximize hoặc Maximize thì không tính.
Đơn vị được tính bằng twips (1 twips = 20 points, 1point = 1/72 inch khoảng 1/28 cm)
Vì vậy để chắc chắn phải ghi rõ
Me.Move 4000, 3000, 6000, 2500
DoCmd.Restore

Me.cbtendangnhap = "" cũng có thể ghi là cbtendangnhap.Value =  ""
Giá trị cbtendangnhap = ""
 
Không cần giải thích Me.txtPassword = "" nhé  big green


Me.cbtendangnhap.SetFocus cũng có thể ghi là cbtendangnhap.SetFocus
Gán control cbtendangnhap làm tiêu điểm, nghĩa là con trỏ chớp chớp tại cbtendangnhap
 
Code đầy đủ:
 

Mã PHP:
Private Sub Form_Open(Cancel As Integer)
     Me.Move 4000300060002500
     DoCmd
.Restore
     Me
.cbtendangnhap ""
     Me.txtPassword ""
     Me.cbtendangnhap.SetFocus
End Sub 
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 honglv157
#7
cảm ơn a Ân và e Dân nhiều ah. nhưng e vẫn chưa làm đc câu trả lời của mình. vì trong demo của dân thì phân quyền theo nhóm;mỗi nhóm được truy cập menu và form nào.còn của em/chị thì muốn là các cán bộ quản lý khi đăng nhập user chính là tên của mình; acess sẽ kiểm tra trong bảng dmlophoc xem cán bộ này quản lý những lớp nào và trong các form như nhập thông tin hv;form pdggv thì ng đó chỉ được phép khai thác;nhập các thông tin lớp do mình quản lý. đấy mới là câu hỏi của e ạ.hy vọng anh/em chỉ rõ (demo)giúp e/chị.
bảng user của e có chút nhầm lẫn. user gồm có các tên sau:admin;lê thanh hải;nguyễn
 lan;...user đăng nhập chính là tên cán bộ quản lý. pass:tên của cbql.
vd:user đăng nhập:lê thanh hải thì khi chọn form nhập pdggv; mã lớp(form pdggv)chỉ hiện lên các lớp do lê thanh hải quản lý.
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#8
(27-08-15, 05:26 PM)honglv157 Đã viết: Xin hỏi về phân quyền theo nhóm.Có cách nào tạo được form login có thể phân quyền theo nhóm. Ví dụ như trong DMLOPHOC có các thông tin như sau:
    Lớp              Cán bộ quản lý
 CBM13-01          Lê Thanh Hải
CBM13-02            Nguyễn Lan
CBM13-03             Hoàng HÀ
QTNH14-01          Lê Thanh HẢi
QTNH14-02           Nguyễn Lan
Có cách nào để khi đăng nhập bằng mật khẩu của mình vào hệ thống thì những cán bộ đó chỉ có thể chỉnh sửa và xem các thông tin liên quan tới lớp học của mình.
Demo giúp em với nhé!
Thanks 007
http://www.mediafire.com/download/kerf08...282%29.rar

(29-08-15, 01:43 PM)honglv157 Đã viết: cảm ơn a Ân và e Dân nhiều ah. nhưng e vẫn chưa làm đc câu trả lời của mình. vì trong demo của dân thì phân quyền theo nhóm;mỗi nhóm được truy cập menu và form nào.còn của em/chị thì muốn là các cán bộ quản lý khi đăng nhập user chính là tên của mình; acess sẽ kiểm tra trong bảng dmlophoc xem cán bộ này quản lý những lớp nào và trong các form như nhập thông tin hv;form pdggv thì ng đó chỉ được phép khai thác;nhập các thông tin lớp do mình quản lý. đấy mới là câu hỏi của e ạ.hy vọng anh/em chỉ rõ (demo)giúp e/chị.
bảng user của e có chút nhầm lẫn. user gồm có các tên sau:admin;lê thanh hải;nguyễn
 lan;...user đăng nhập chính là tên cán bộ quản lý. pass:tên của cbql.
vd:user đăng nhập:lê thanh hải thì khi chọn form nhập pdggv; mã lớp(form pdggv)chỉ hiện lên các lớp do lê thanh hải quản lý.

Cách tạo đăng nhập của chị không thể sử dụng chức năng như Chị nói đâu, để em viết 1 bài riêng để chị làm form Đăng nhập, phải cho hệ thống nhận ra là chị đang sử dụng quyền User nào đang đăng nhập, như vậy mới viết code vào Re..soure được.
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 honglv157
#9
ok.thanks e trước?
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#10
Hì hì. Cái này không nằm trong sách. Em chịu khó suy nghĩ một chút sẽ lòi ra chiêu thức thôi.  007
Có hai cách giải quyết:
1/Theo cách tạo Command Menu nhóm ở trên. Bạn có thể tạo nhiều form nhập pdggv được xử lý lọc theo từng nhóm (Record Source của form là SQL có Criteria). Command Menu cấp 2 mở form của nhóm nào thì nằm trong Command Menu cấp 1 của nhóm đó.
Ví dụ: user lê thanh hải -> F_ pdggvLTH, user honglv -> F_ pdggvHLV
2/Nếu chỉ đơn giản quản lý bấy nhiêu có thể dùng phương pháp ẩn Form Login. Đưa dòng lệnh này vào.
       
Mã PHP:
Private Sub cmdLogin_Click()
            Me.Visible False
       End Sub 

Khi đó Form Login không bị close mà trở thành mật vụ dấu mặt quản lý quyền quản trị.
Trên Form nhập pdggv xử lý thay đổi Record Source theo từng user.


Mã PHP:
Private Sub Form_Open(Cancel As Integer)
  Select Case Form_formlogin.txtuser.Value
     Case 
"lê thanh hải"
        Me.RecordSource SQL Record Source F_ pdggvLTH
     Case 
" honglv"
        Me.RecordSource SQL Record Source F_ pdggvHLV
     Case 
Else
       CommandBars("ketoan").Controls(1).Visible False
  End Select
End Sub 

có thể để trong event Form_Load cũng được.

3/ Có thể kết hợp 1 và 2 để giải quyết nhiều vấn đề chứ không chỉ riêng mở Form theo yêu cầu.
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 honglv157


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Thay đổi hình ảnh theo mã feeling 3 149 04-11-16, 05:18 PM
Bài mới nhất: maidinhdan
  [Hỏi] Tổng hợp dữ liệu theo thời gian hoanghai902 1 139 21-10-16, 09:55 PM
Bài mới nhất: maidinhdan
  Lọc theo điều kiện trong listbox Ranju 3 178 06-10-16, 05:26 PM
Bài mới nhất: Ranju
  Click đúp chuột hiện form và cập nhật dữ liệu theo số phiếu Ranju 1 130 05-10-16, 11:02 AM
Bài mới nhất: lmthu
  Thay đổi màu nền các dòng theo điều kiện trên form Continuous tranthanhan1962 9 1,699 27-09-16, 11:01 PM
Bài mới nhất: ongke0711

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ơ