Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
phân quyền chọn lớp và nhập thông tin theo tên đăng nhập
#1
[Hình: ?353ewg6nr3ipu2p]
[Hình: ?353ewg6nr3ipu2p]
[Hình: ?353ewg6nr3ipu2p]
[Hình: ?353ewg6nr3ipu2p]
User đăng nhập bằng tài khoản của mình vào chương trình, tại form nhập thông tin học viên chỉ có thể nhìn và chọn các lớp do mình quản lý (theo phân công trong bảng DMLOPHOC) thì có cách nào không ah?Đây là file và code phân quyền 
Option Compare Database

Option Explicit

Private Sub cmdLogin_Click()
If IsNull(Me.txtuser) Or Me.txtuser = "" Then
    MsgBox "Khong co nhan vat dang nhap cu the, de nghi nhap user!", vbCritical
    Me.txtuser.SetFocus
Else
    
    Select Case Me.txtpass
        Case Me.txtuser.Column(1)
            MsgBox "DANG NHAP THANH CONG"
            Me.Visible = True
              DoCmd.Close
        Case Is <> Me.txtuser.Column(1)
            MsgBox "Mat khau hoac ten dang nhap khong dung"
        Case Else
            MsgBox "ban khong co quyen truy cap"
  End Select
  End If
End Sub

Private Sub txtuser_AfterUpdate()
    Quyen.Value = DLookup("[Quyen]", "tadmin", "[user] = txtuser.Value")
      CommandBars("thucdon").Controls(1).Visible = True
      CommandBars("thucdon").Controls(2).Visible = True
      CommandBars("thucdon").Controls(3).Visible = True
      CommandBars("thucdon").Controls(4).Visible = True
    Select Case Quyen.Value
    Case 0
     CommandBars("thucdon").Controls(1).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = True
     CommandBars("thucdon").Controls(2).Controls(1).Controls(2).Visible = True
      CommandBars("thucdon").Controls(2).Controls(2).Controls(1).Visible = True
     CommandBars("thucdon").Controls(2).Controls(2).Controls(2).Visible = True
        CommandBars("thucdon").Controls(2).Controls(2).Controls(3).Visible = True
         CommandBars("thucdon").Controls(2).Controls(3).Controls(1).Visible = True
     CommandBars("thucdon").Controls(2).Controls(3).Controls(2).Visible = True
        CommandBars("thucdon").Controls(2).Controls(3).Controls(3).Visible = True
        
        CommandBars("thucdon").Controls(3).Controls(1).Controls(1).Visible = True
      CommandBars("thucdon").Controls(3).Controls(1).Controls(2).Visible = True
       CommandBars("thucdon").Controls(3).Controls(1).Controls(3).Visible = True
         CommandBars("thucdon").Controls(3).Controls(1).Controls(4).Visible = True
         CommandBars("thucdon").Controls(3).Controls(1).Controls(5).Visible = True
         CommandBars("thucdon").Controls(3).Controls(1).Controls(6).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
    CommandBars("thucdon").Controls(4).Visible = True
     Case 1
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = True
    CommandBars("thucdon").Controls(2).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
     CommandBars("thucdon").Controls(4).Visible = True
      CommandBars("thucdon").Controls(4).Visible = False
      Case 2
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Visible = True
      CommandBars("thucdon").Controls(2).Controls(3).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
     CommandBars("thucdon").Controls(4).Visible = True
      CommandBars("thucdon").Controls(4).Visible = False
     Case 3
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = True
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(1).Controls(2).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(2).Controls(2).Visible = False
        CommandBars("thucdon").Controls(2).Controls(2).Controls(3).Visible = False
         CommandBars("thucdon").Controls(2).Controls(3).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(3).Controls(2).Visible = False
        CommandBars("thucdon").Controls(2).Controls(3).Controls(3).Visible = False
        
        CommandBars("thucdon").Controls(3).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(3).Controls(1).Controls(2).Visible = False
       CommandBars("thucdon").Controls(3).Controls(1).Controls(3).Visible = False
         CommandBars("thucdon").Controls(3).Controls(1).Controls(4).Visible = False
         CommandBars("thucdon").Controls(3).Controls(1).Controls(5).Visible = True
         CommandBars("thucdon").Controls(3).Controls(1).Controls(6).Visible = False
    CommandBars("thucdon").Controls(3).Visible = True
    CommandBars("thucdon").Controls(4).Visible = False
      Case 4
   CommandBars("thucdon").Controls(1).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = False
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(1).Controls(2).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(2).Controls(2).Visible = False
        CommandBars("thucdon").Controls(2).Controls(2).Controls(3).Visible = False
         CommandBars("thucdon").Controls(2).Controls(3).Controls(1).Visible = False
     CommandBars("thucdon").Controls(2).Controls(3).Controls(2).Visible = False
        CommandBars("thucdon").Controls(2).Controls(3).Controls(3).Visible = False
        
        CommandBars("thucdon").Controls(3).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(3).Controls(1).Controls(2).Visible = False
       CommandBars("thucdon").Controls(3).Controls(1).Controls(3).Visible = False
         CommandBars("thucdon").Controls(3).Controls(1).Controls(4).Visible = False
         CommandBars("thucdon").Controls(3).Controls(1).Controls(5).Visible = False
         CommandBars("thucdon").Controls(3).Controls(1).Controls(6).Visible = False
    CommandBars("thucdon").Controls(3).Visible = False
    CommandBars("thucdon").Controls(4).Visible = False
     Case 5
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Visible = True
      CommandBars("thucdon").Controls(2).Controls(3).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
     CommandBars("thucdon").Controls(4).Visible = True
      CommandBars("thucdon").Controls(4).Visible = False
       Case 6
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Visible = True
      CommandBars("thucdon").Controls(2).Controls(3).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
     CommandBars("thucdon").Controls(4).Visible = True
      CommandBars("thucdon").Controls(4).Visible = False
       Case 7
    CommandBars("thucdon").Controls(1).Controls(1).Visible = False
    CommandBars("thucdon").Controls(1).Controls(2).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(2).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(1).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(2).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(3).Visible = True
    CommandBars("thucdon").Controls(1).Controls(3).Controls(4).Visible = False
    CommandBars("thucdon").Controls(2).Controls(1).Controls(1).Visible = False
      CommandBars("thucdon").Controls(2).Controls(2).Visible = True
      CommandBars("thucdon").Controls(2).Controls(3).Visible = True
    CommandBars("thucdon").Controls(3).Visible = True
     CommandBars("thucdon").Controls(4).Visible = True
      CommandBars("thucdon").Controls(4).Visible = False
    End Select
End Sub

File: http://www.mediafire.com/download/yy3k1c...on+1.0.mdb

Nhờ các anh giúp đỡ vấn đề trên!Em cảm ơn
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
Hic!CÁc anh chị giúp em với 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
#3
Hjx, nhìn code mờ hết cả mắt, down file về xem đã ....
Chữ ký của cpucloi Tôi chỉ biết mỗi một điều là những điều tôi biết được còn quá ít 021
Gmail: cgiahuy13@gmail.com


ღღღღღTài sản của cpucloi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Hi mình cũng thấy ngộp thiệt. Nhưng càng chi tiết thì càng hay. Các user không lấn sân của nhau.
Cách đơn giản nhất là các table gắn thêm field quyền user: ví dụ field [quyen]. Field quyền lớp nào sẽ có giá trị quyền của người quản lý lớp đó. 
Tạo SQL lọc quyền làm record source cho form. Khi open form các lớp sẽ được lọc theo quyen
Ví dụ form nhappdggv thay vì có record source là "DGGV" chuyển thành "SELECT DGGV.* FROM DGGV WHERE (((DGGV.quyen)=[Forms]![frmLogan]![QUYEN]));"
 Chúc bạn thành công
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 , maidinhdan
#5
Em để field Quyen ở bảng DMLOPHOC, table DMLOPHOC và table DGGV có field chung là MALOP.Vậy em viết câu lệnh cho record source của form nhappdggv như thế nào được anh ơi!Nhờ anh hướng dẫn giúp em !Em cảm ơn
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
Thứ nhất để xử lý được việc này bạn không thể close form frmLogan. Vì nếu close form frmLogan bạn không thể so sánh tham chiếu được được điều kiện [Forms]![frmLogan]![QUYEN]) trong SQL của record source.
Đổi lệnh trong 
Mã:
Private Sub cmdLogin_Click()
   ...
          DoCmd.Close
   ...
End Sub

thành
Mã PHP:
Private Sub cmdLogin_Click()
   ...
          Me.Visible False
   
...
End Sub 

Chỉ ẩn form chứ không close
Thứ hai field [quyen] điều có mặt trên cả table DMLOPHOC và các form đánh giá, đồng thời được xác định trước ở table DMLOPHOC. Khi nhập dữ liệu cho các form đánh giá thì xử lý 2 việc:
1/ Control source của MALOP: "SELECT DMLOPHOC.MALOP FROM DMLOPHOC WHERE (((DMLOPHOC.Quyen)=[Forms]![frmLogan]![QUYEN]));
Để ẩn MALOP nằm ngoài quyền của user đăng nhập
có thể dùng hàm Dlookup hoặc phương thức xác định giá trị column của combobox để cập nhật field [quyen] cho các form đánh giá
2/ Xử lý thêm điều kiện cho record source như đã nói ở phần trên
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
#7
1/ Control source của MALOP: "SELECT DMLOPHOC.MALOP FROM DMLOPHOC WHERE (((DMLOPHOC.Quyen)=[Forms]![frmLogan]![QUYEN]));Để ẩn MALOP nằm ngoài quyền của user 



Em cảm ơn anh đã gợi ý! Nhưng vì một cán bộ quản lý có thể quản lý nhiều lớp, do đó em muốn họ chọn mã lớp trong danh sách các lớp họ được quản lý để nhập thông tin đánh giá. Vì thế em vẫn để hiện ô mã lớp để chọn.Anh xem lại control source em với a! em không chọn được mã lớp 

Ví dụ: Lê việt hồng quản lý 02 lớp thì khi click vào ô mã lớp sẽ chỉ nhìn thấy và chọn 1 trong 2 lớp đó, không thể nhìn thấy các lớp khác.
Mong anh xem lại giúp em !Thanks a nhìu nhìu :happy
Đây là file em đã làm theo hướng dẫn của a: 
http://www.mediafire.com/download/yy3k1c...on+1.0.mdb
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 hungle2006
#8
Khi bạn xử lý SQL của Control source của MALOP: "SELECT DMLOPHOC.MALOP FROM DMLOPHOC WHERE (((DMLOPHOC.Quyen)=[Forms]![frmLogan]![QUYEN]));" thì MALOP nào có Quyen giống như QUYEN trên form frmLogan sẽ hiện ra hết trên combobox. Nên nhớ là khi phần mềm là việc thì form frmLogan luôn luôn xuất hiện trước các form khác. Còn khi thiết kế nếu thay đổi form frmLogan thì phải tắt hết các form đánh giá rồi mở lại thì nó mới khởi tạo lại danh sách. Có thể dùng lệnh requery combobox để là việc cho nhanh như khi đưa ra sử dụng thì nhớ xóa bỏ.
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
#9
a có thể làm demo phân quyền from fpdggv cho e được ko a?e vẫn ko thể nào phân quyền malop theo quyền của frmlogan như a Ân hướng dẫn được a
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
Của bạn đây
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
  [Phiên bản Bản quyền]Microsoft Office 2003 maidinhdan 4 77 Hôm nay, 01:56 AM
Bài mới nhất: maidinhdan
  [Help] Thiết kế form nhập và lưu trữ dữ liệu theo yêu cầu brianhuynh 16 622 20-10-16, 10:54 PM
Bài mới nhất: brianhuynh
  [Help] Nhờ tạo form lưu hóa đơn nhập, hóa đơn xuất, hàng nhập hàng xuất không cần tính tồn laxx_xxal 1 127 22-09-16, 02:35 PM
Bài mới nhất: Nguyen Hoang Diep
  [Hỏi] Cách lưu trữ phần CSDL tách biệt khỏi file access toancvp 5 514 16-07-16, 09:38 PM
Bài mới nhất: toancvp
  [Hỏi] Về cách lưu file .doc đang mở toancvp 4 319 21-06-16, 11:39 AM
Bài mới nhất: toancvp

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ơ