Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Phân quyền theo nhóm
#11
lúc đầu e cũng định chia form cho các user.nhưng có rất nhiều user trong nhóm cán bộ quản lý. vì thế e sợ bị phình dữ liệu.
e dự định có 3 nhóm (admin;cán bộ quản lý;khách). trong cán bộ quản lý sẽ có 20 user khác nhau.nếu lập như cách 1 e thấy rất phức tạp cho admin vì mỗi khi có chương trình đào tạo mới;phân lớp lại phải mở 20 command menu để làm.e muốn có cách nào mà vẫn dựa trên bố cục ban đầu trong demo của e mà vẫn phân nhóm được khi nhập thông tin vào bảng dmlophoc
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
#12
(29-08-15, 04:36 PM)honglv157 Đã viết: lúc đầu e cũng định chia form cho các user.nhưng có rất nhiều user trong nhóm cán bộ quản lý. vì thế e sợ bị phình dữ liệu.
e dự định có 3 nhóm (admin;cán bộ quản lý;khách). trong cán bộ quản lý sẽ có 20 user khác nhau.nếu lập như cách 1 e thấy rất phức tạp cho admin vì mỗi khi có chương trình đào tạo mới;phân lớp lại phải mở 20 command menu để làm.e muốn có cách nào mà vẫn dựa trên bố cục ban đầu trong demo của e mà vẫn phân nhóm được khi nhập thông tin vào bảng dmlophoc

Bạn tải Demo này rồi ngâm cứu thêm nhé. Bao nhiêu đây là đủ xài đối với bạn rồi đó.  big green
Demo
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
#13
Nhờ mọi người kiểm tra giúp em formlogon với ạ!em làm theo hướng dẫn c trên diễn đàn, nhưng không hiểu làm sai ở đâu mà khi phân quyền truy cập menu không được.
Mà không hiểu sai ở đâu mà khi open acess ra. ko cần nhập pass và nick vẫn có thể truy cập vào các menu.
Đây là demo của e 
https://www.mediafire.com/?lddqy0hpkg9uag7
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
#14
(10-09-15, 09:20 AM)honglv157 Đã viết: Nhờ mọi người kiểm tra giúp em formlogon với ạ!em làm theo hướng dẫn c trên diễn đàn, nhưng không hiểu làm sai ở đâu mà khi phân quyền truy cập menu không được.
Mà không hiểu sai ở đâu mà khi open acess ra. ko cần nhập pass và nick vẫn có thể truy cập vào các menu.
Đây là demo của e 
https://www.mediafire.com/?lddqy0hpkg9uag7

Trả lời:

Những điểm sai
1. Trên menu Chị đặt tên tiếng việt có dấu, nhưng khi gọi code lại dùng tên khác

+ Tên Toolbar là: Cập nhật số liệu
+ Khi xem code là
CommandBars("cap nhat du lieu dao tao").Controls(1)
CommandBars("cap nhat du lieu dao tao" & "chuong trinh dao tao")

.....

Cách sửa: đổi tên "Cập nhật số liệu" thành "Thucdon"

=> Trong code chỗ nào có chữ: "cap nhat du lieu dao tao"

Sửa thành: "Thucdon"

Một điều có lẽ chị đọc chưa kỷ bài anh Ân phân tích, khi dùng code chị đừng để ý cái tiêu đề của Menu là gì.

Chỉ cần nhớ 1 điều: Thanh Menu của chị có tên duy nhất là : Thucdon
Còn tất cả còn lại khi tạo nó sẽ có tên mặc định theo máy, dù chị có đánh chữ gì trên cái menu đó đi chăng nửa
[Hình: control.png]

Chị tưởng tượng như thế này.

+ Hàng thứ 1, có tên lần lượt là: 1-2-3-4
__Ta sẽ có thư mục con của số 1 lần lượt có tên là : 1-2-3...
=> Thư mục con của số 1: đầu tiên sẽ là: 1.1
=> Thư mục con của số 1: thứ hai sẽ là: 1.2
=> Thư mục con của số 1: thứ ba sẽ là: 1.3
......
=> Thư mục con của số 2: đầu tiên sẽ là: 2.1
=> Thư mục con của số 2: thứ hai sẽ là: 2.2
=> Thư mục con của số 2: thứ ba sẽ là: 2.3
........

Vậy việc còn lại chị chỉ cần thêm chữ: Controls() như hình trên

Nếu chưa hiểu có thêm dùng khái niệm:
* Hàng thứ nhất là: Cha1
Cái nào nằm trong Cha1 là Con
Giải sử ta có 4 đưa con
=> Ta có lệnh như sau
Cha1.Con1
Cha1.Con2
Cha1.Con3
Cha1.Con4

--Tiếp nếu thằng Con1 lại có con nửa ( 2 đứa đi), tạm đặt là Chau
=> Ta có lệnh sau
Cha1.Con1.Chau1
Cha1.Con1.Chau2

* Hàng thứ nhất đối với Cha2 cũng thế




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
#15
(29-08-15, 04:07 PM)tranthanhan1962 Đã viết: 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.

Anh Ân,

Không biết em hiểu đúng không nếu sai thì bỏ qua nhé. Anh ẩn cái form Login để lưu lại username và quyền của người đăng nhập để sử dụng cho các form sau này, vậy sao mình không đưa Username vô biến toàn cục luôn? Em sử dụng cách này trong cái file QLVPP mới up. Khai báo trong module Public Username as string,... rồi trong form Login sẽ gán cho nó. Không biết cái biến này có bị mất vì một lý do nào đó khi chương trình hoạt động hay không?
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 honglv157
#16
(10-09-15, 09:20 AM)honglv157 Đã viết: Nhờ mọi người kiểm tra giúp em formlogon với ạ!em làm theo hướng dẫn c trên diễn đàn, nhưng không hiểu làm sai ở đâu mà khi phân quyền truy cập menu không được.
Mà không hiểu sai ở đâu mà khi open acess ra. ko cần nhập pass và nick vẫn có thể truy cập vào các menu.
Đây là demo của e 
https://www.mediafire.com/?lddqy0hpkg9uag7

Mai Đình Dân đã hướng dẫn lại cách thực hiện tạo menu. Mình xin nói thêm một chút.
Phân tích các lỗi trên Form formlogan của Cơ sở dữ liệu (CSDL) 2.01 của bạn honglv157:
A/ Mặc dù trên code module của form có event txtuser_AfterUpdate nhưng code này không được gọi. Tại propeties của Combo box: txtuser trống trơn không có [Event Procedure]
Cách xử lý: chọn Combo box: [Event Procedure]
B/ Sau khi chọn Combo box: [Event Procedure] sẽ bị lỗi ngay.
1/
    QUYEN.Value = DLookup("[Quyen]", "tblnhanvien", "[user] = txtuser.Value")
Đoạn code này là của mình không sử dụng được trên CSDL của bạn. Bạn không có Textbox QUYEN trên form formlogan, không có table tblnhanvien trên CSDL (table của bạn tên là tadmin chứ không phải là tblnhanvien). Vì vậy bạn phải tạo Textbox QUYEN trên form formlogan. và thay đoàn mã trên thành
   QUYEN.Value = DLookup("[Quyen]", "tadmin", "[user] = txtuser.Value")
2/
Không có Case 1 để phục hồi những giá trị bị khóa do các case khác xử
2/
Trên CSDL của bạn chỉ tạo một tool bar Cập nhật số liệu (Tên toolbar này bằng tiếng Việt sẽ gây khó khăn cho việc viết code). Nhưng trên code bạn gọi một lô các tool bar
CommandBars("cap nhat du lieu dao tao")
CommandBars("tim kiem thong tin")
CommandBars("xem va in du lieu")
CommandBars("cap nhat du lieu dao tao" & "chuong trinh dao tao")
CommandBars("cap nhat du lieu dao tao" & " giang vien" & "thong tin GV")

Những tool bar này bạn tạo khi nào, không tạo làm sao gọi được.
3/ Bạn sử dụng khoảng trắng và tiếng việt có dấu đặt tên cho các objet (form, report, query…) sẽ gây khó khăn rất nhiều khi viết code.
Đề nghị: 
1/ Đổi tên các objet thành các ký tự viết liền, không dấu.
2/ Về lâu dài cố gắng tìm tài liệu học cơ bản nhất là cách viết code. Học tắt ngang thì được nhưng phải nắm chắc cơ bản thì mới hiểu được code của người khác, để dùng nó phát triển phần mềm của mình.
Để hiểu các thuật ngữ trong code. Bạn quét đen thuật ngữ cần giải thích bấm F1. Copy hỗ trợ help của access dùng google dịch để hiểu. Viết code không phải là phần khó nhất nhưng là phần đau đầu nhất cũng là phần khác biệt lớn nhất trong từng phần mềm ứng dụng của từng người. Mỗi người chỉ có thể hỗ trợ nhau bằng cách tìm lỗi và hỗ trợ phương án xử lý chứ không thể đưa ra một dự án vì nó có thể hoàn toàn không theo ý muốn của bạn. Một điều nữa, Nếu một người khác viết code cho bạn mà bạn không hiểu gì về các dòng code này, khi sau này bạn cần phát triển ứng dụng của mình bạn sẽ không thể nào xử lý được. Vì đụng đến đâu lỗi dài dài đến đó.
3/Bạn không thể nào nhớ hết các vấn đề về code (nhiều lắm). Vì vậy khi viết code bị lỗi hãy lật lại tài liệu cơ bản. Bản thân tôi cũng như nhiều người khác cũng phải làm như vậy. Tôi giới thiệu với bạn bộ Giáo trình Microsoft Access của trung tâm tin học - trường Đại học khoa học tự nhiên, tác giả Nguyễn Thiện Tâm  (3 quyển, quyển 3 nói về ngôn ngữ VB). Bộ này tương đối đầy đủ và dễ hiểu nhất cho người mới học access. Nếu bạn đọc và hiểu hết quyển 3 (khoảng hơn 100 trang kể cả hình). Bạn có đủ vốn liếng xây dựng một CSDL tương đối hoàn hảo. Sau đó bạn có thể "ngâm cứu" thậm chí "mượn" (nếu không muốn nói "chôm chỉa"  007 ) code của người khác để xào nấu lại thành code của mình
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
#17
(10-09-15, 07:13 PM)ongke0711 Đã viết: Anh Ân,

Không biết em hiểu đúng không nếu sai thì bỏ qua nhé. Anh ẩn cái form Login để lưu lại username và quyền của người đăng nhập để sử dụng cho các form sau này, vậy sao mình không đưa Username vô biến toàn cục luôn? Em sử dụng cách này trong cái file QLVPP mới up. Khai báo trong module Public Username as string,... rồi trong form Login sẽ gán cho nó. Không biết cái biến này có bị mất vì một lý do nào đó khi chương trình hoạt động hay không?

Mình không đưa quyền đăng nhập vào biến toàn cục mà vào form login để xử lý các trường hợp máy nhiều người dùng. Nếu bạn đăng nhập với quyền của bạn. Khi bạn rời máy, bạn chỉ cần mở lại form login. Nếu ai nhập pass sai sẽ không sử dụng được. Nếu ai nhập pass đúng với quyền của họ. Họ chỉ xử lý được phần công việc của họ. Xử lý cái này nhanh gọn hơn đưa vào biến toàn cục. (chơi ăn gian  007 ). Ngoài ra cho nhiều vụ khác nữa Ví dụ tạo một số label cấm thay đổi tên công ty tên giám đốc V.V...Đưa tiếng việt vào code VBA cực lắm. (chủ yếu để bảo vệ bản quyền mà)
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 ongke0711 , maidinhdan
#18
À thì ra cái thủ thuật của form login là nằm ở chỗ đó, em chưa kinh nghiệm qua vụ này... 007 học hỏi..học hỏi!
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 maidinhdan , tranthanhan1962
#19
Hì hì! Cái form Login xử lý nhiều việc lắm đó bạn khóa shift, kiểm tra id cpu, main, ổ cứng… Ý là mình chơi kiểu đó mà vẫn thấy phần mềm của mình bị chôm chỉa đó. Không đổi tên công ty, tên giám đốc được thì in tên công ty, giám đốc dán lên cái tên cũ trên report rồi photocopy. Cuối cùng phải khóa id của cpu, main luôn. Nhưng nghĩ cho cùng mình cũng đang chôm chĩa của microsoft, adobe v.v và v.v… Nên cũng không thèm tức giận làm gì  big green
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
#20
(10-09-15, 07:53 PM)tranthanhan1962 Đã viết: Mình không đưa quyền đăng nhập vào biến toàn cục mà vào form login để xử lý các trường hợp máy nhiều người dùng. Nếu bạn đăng nhập với quyền của bạn. Khi bạn rời máy, bạn chỉ cần mở lại form login. Nếu ai nhập pass sai sẽ không sử dụng được. Nếu ai nhập pass đúng với quyền của họ. Họ chỉ xử lý được phần công việc của họ.

Em không hiểu ý ở phần gạch dưới. Khi xử lý bằng biến toàn cục cũng như y như cách ẩn của anh thôi mà.

Em nhớ em có làm 1 Demo như thế và anh cũng đã từng làm 1 Demo sử dụng biến toàn cục để phân quyền Menu mà. Anh xem lại coi


Link:

Bài của anh: ( Hôm trước mới đọc, hôm nay tìm mà không thấy, bài viết của anh nhiều quá.....)
Bài của Noname ( giống ý em): http://thuthuataccess.com/forum/thread-1...tml#pid192
Bài của em: http://thuthuataccess.com/forum/thread-8...l#pid27851
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
  Thay đổi hình ảnh theo mã feeling 3 150 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 140 21-10-16, 09:55 PM
Bài mới nhất: maidinhdan
  Lọc theo điều kiện trong listbox Ranju 3 183 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 132 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,701 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ơ