Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Giúp đỡ về phân quyền trong quản lý thư viện
#1
Em đang làm một bài báo cáo về quản lý thư viện. Hiện em đang bị vướng chỗ phân quyền. Em đã làm như trong bài hướng dẫn "Thiết kế chương trình phân quyền" của anh NoName. Sau khi đăng nhập vào form Main, em gán module cho nút Quản lý sách để phân quyền, dù em đã đăng nhập quyền Admin nhưng khi click vào thì toàn bị báo "Ban khong co quyen dang nhap vao function nay". Vậy tức là nó vẫn chưa checkuser như trong hướng dẫn. Em mày mò mấy bữa nay mà vẫn chưa làm được. Em post chương trình lên mong mọi người chỉ chỗ sai và góp ý dùm em. Xin cảm ơn mọi người nhiều.
http://www.mediafire.com/?o7l57d58qmd6if4
Chữ ký của sarayumi Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#2
Bạn xem lại function này
Mã:
Function checkuser() As Integer
On Error GoTo Err ' ne^'u user vào tru+.c tie^'p ba(`ng quye^`n guest thì cho level là 0
Dim rs1 As Recordset
Dim sql As String
sql = " select max(WGlevel) from tblWorkGroup where user= '" & username & "'"
Set rs1 = CurrentDb.OpenRecordset(sql)
rs1.MoveFirst
checkuser = rs1(0).Value
Exit Function
Err:
checkuser = 0
Exit Function

End Function
Chú ý trong database của bạn không hề có table nào tên là tblWorkGroup, và cũng không có Field nào tên là WGlevel.

Bạn cần chỉnh lại query trên
Chúc may mắn!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Em đã chỉnh lại WGlevel -> Level và tblWorkGroup -> T_group như trong database của em. Nhưng mà vẫn bị tình trạng cũ.
Chữ ký của sarayumi Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#4
vì level là một từ khóa đặc biệt của Access nên bạn phải cho nó vào [Level] để Access nhận ra nó là 1field

Trong trường hợp này, bạn phát biểu đoạn code lại như sau:
Mã:
sql = " select max([level]) from T_group where user= '" & username & "'"
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn sarayumi
#5
Trời, thì ra là vậy. Hèn chi em làm hoài mấy bữa nay không nhận. Hóa ra đó là lý do anh dùng từ khóa WGlevel. Cảm ơn anh rất nhiều. Chỉ vậy thôi là giải quyết được bao nhiêu là vấn đề rồi.
Đối với bài báo cáo của em, em có một số ý tưởng nhưng không biết làm sao để thực hiện. Mong mọi người vẽ lối.
Chẳng hạn như trong Quản lý sách, lúc thêm sách, em muốn mở form Quản lý thể loại để thêm vào luôn, thì click nút ... bên cạnh. Ý tưởng của em là khi click nút ... thì mở form ở trong trạng thái chờ thêm mới luôn, không phải click thêm nút Thêm. Sau khi mình add Thể loại mới và đóng form, thì Mã thể loại mới đó sẽ được hiển thị trên combo box Thể loại của form Quản lý sách luôn. Em làm bằng macro hoài không ra, mà module thì lại không biết viết như thế nào. Mọi người có thể cho em ý kiến được không ạ?
Chữ ký của sarayumi Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#6
Có ai cho em hướng giải quyết không nhỉ?
Em làm hoài không ra. Hix.
Chữ ký của sarayumi Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#7
Thì bạn tạo thêm 1 Form dùng để thêm Loại luôn, form đó dạng thiết kế gồm các textbox hoặc combobox. Sau đó ta thực hiện Mở 1 Table = Recoreset để thêm thông tin vào bảng. Đây là ví dụ một đoạn code thêm mới:
Mã:
Private Sub CmdThem_Click()
On Error GoTo Loi:
Dim Ma As String, ho As String, Ten As String, DC As String, DT As String, CQ As String, CN As String
Dim Bang As Recordset
Ma = Me.txtMaGV
ho = Me.TxtHL
Ten = Me.txtten
DC = Me.TxtDC
DT = Me.TxtDT
CQ = Me.TxtCQ
CN = Me.TxtCN
Set Bang = CurrentDb.OpenRecordset("select * from giaovien")
If Bang.EOF Then
    GoTo Luu
End If
Bang.FindFirst ("magv = '" & Ma & "'")
If Not Bang.NoMatch Then
    MsgBox "Gia tri " & Ma & " da co", vbInformation, "Thong Bao!"
    Bang.Close
Exit Sub
End If
Luu:
If MsgBox("Ban co muon them thong tin nay khong?", vbQuestion + vbYesNo) = vbYes Then
Bang.AddNew
Bang!MaGV = Ma
Bang!HoLot = ho
Bang!TenGV = Ten
Bang!DiaChi = DC
Bang!DienThoai = DT
Bang!Coquan = CQ
Bang!ChuyenNganh = CN
Bang.Update
Else
Bang.Close
End If
Thoat:
Exit Sub
Loi:
Select Case Err:
    Case 94
        MsgBox "Ban vui long dien day du thong tin", vbInformation, "Thong bao"
        Exit Sub
    Case 3163
        If Len(Ma) <> 4 Then
            MsgBox "MaGV phai la chuoi co 4 ky tu", vbInformation, "Thong bao"
        End If
        Exit Sub
End Select
End Sub

Đây là code thêm thông tin của giáo viên ứng với thông tin trên từng textbox qua từng biến để thêm vào table.
Chữ ký của huynguyenbd Khi ta buồn giải sầu bên men rượu, sống không yêu cho con gái nó them!
ღღღღღTài sản của huynguyenbd (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Chương trình] Quản Lý Công Văn Xuân Thanh 7 7,287 04-12-16, 08:40 PM
Bài mới nhất: phuong.ayunpa
  [Chương trình] Quản lý văn bản điện tử qua LAN v1.5.1 maidinhdan 116 14,034 03-12-16, 12:47 AM
Bài mới nhất: huuduy.duy
  Phần mềm quản lỹ quỹ của giáo viên chủ nhiệm tt1212 8 721 18-11-16, 06:10 PM
Bài mới nhất: phiacuoiconduong
Star [Chương trình] Quản lý bán hàng cho cửa hàng vi tính quy mô nhỏ. quan_pc 15 3,694 28-10-16, 10:49 AM
Bài mới nhất: btnnhut
  Phần mềm quản lý bán hàng-nhà phân phối-đại lý tt1212 1 360 06-09-16, 11:29 AM
Bài mới nhất: dangngocthuyen

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ơ