Đề tài Xây dựng hệ thống thông tin quản lý học viên tại công ty AI

Máy móc ngày càng thay thế con người trong lao động tay chân và trí óc, đem lại hiệu quả công việc một cách nhanh chóng, chính xác. Việc tin học hoá công tác quản lý học viên tại công ty AI là điều tất yếu trong quá trình phát triển của hệ thống đào tạo của công ty. Vì vậy, với đề tài “Xây dựng hệ thống thông tin quản lý học viên tại công ty AI” tôi đã đi sâu vào tìm hiểu, nghiên cứu công tác quản lý học viên tại công ty. Từ đó, xây dựng một phần mềm để quản lý các học viên tại công ty. Hệ thống này giúp quản lý chặt chẽ, hiệu quả học viên từ bước tuyển sinh cho đến khi kết thúc khóa học. Cụ thể như sau: + Quản lý thông tin học viên, thông tin lớp học, khoá học + Xếp lớp, tạo thời khóa biểu, khai giảng + Giám sát, theo dõi tình học tập của học viên + Giám sát theo dõi tình hình mượn sách thư viện của học viên. + Hỗ trợ tra cứu tìm kiếm các thông tin và tổng hợp, in ra các báo cáo nhanh chóng, chính xác theo nhiều tiêu chí khác nhau, in ra chứng chỉ cho học viên. Tuy đây là phần mềm đơn giản, chức năng còn hạn chế nhưng lại khá hiệu quả đối với hoạt động quản lý học viên tại AI. Tôi hi vọng phần mềm này sẽ được ứng dụng và mang lại hiệu quả cao cho công tác đào tạo của công ty. Với phong cách làm việc chuyên nghiệp, quản lý chặt chẽ, hiệu quả, tôi tin rằng phần mềm này sẽ góp phần nâng cao chất lượng cũng như uy tín của Trung tâm, đưa AI trở thành một trong những trung tâm đào tạo tin học hàng đầu.

doc126 trang | Chia sẻ: aloso | Lượt xem: 1684 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống thông tin quản lý học viên tại công ty AI, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TT Tên khóa học Thời gian học 1 ITFC (Information Technology Fundamental Certificate) 3 tháng 2 JAVA CORE 2 tháng 3 ENTERPRISE JAVA 3 tháng 4 JAVA EXPERT 5 tháng 5 SQL SERVER 1,5 tháng 6 VB.NET 2,5 tháng 7 ASP.NET with C# 2,5 tháng 8 ASP.NET with VB.NET 2,5 tháng 9 VISUAL C#.NET 3 tháng 10 NETWORK PROGRAMMING 2,5 tháng 11 MOBILE PROGRAMMING 2,5 tháng 12 WEB PROGRAMMING 0,5 tháng 13 DATABASE PROGRAMMING 3 tháng 14 CÔNG NGHỆ & QUY TRÌNH SẢN XUẤT PHẦN MỀM 9 tháng Sau khi khảo sát và tìm hiểu tôi thấy hệ thống quản lý học viên còn rất nhiều bất cập. Hiện nay việc quản lý học viên tại trung tâm AI chủ yếu vẫn dùng phương pháp thủ công, chưa có ứng dụng tin học đáng kể nào vào việc quản lý học viên. Việc quản lý chỉ dừng lại ở việc sử dụng giấy tờ, sổ sách và các phần mềm dạng bảng tính ( Microsoft Excel). Mặc dù có một số ưu điểm là với cách quản lý đó yêu cầu, đòi hỏi trình độ không cao, cách quản lý đơn giản. Song tồn tại khá nhiều nhược điểm như: Khối lượng giấy tờ sử dụng và lưu trữ nhiều, các mẫu biểu không thống nhất, việc tính toán và vận dụng vẫn gặp nhiều sai sót, giao diện thân thiện xong chủ yếu bằng tiếng Anh nên không thuận tiện cho người dùng tại Việt Nam, khó khăn trong việc tìm kiếm thông tin và lên báo cáo cung cấp thông tin về tình hình học viên, đòi hỏi tốn nhiều nhân lực mà hiệu quả quản lý không cao. Hơn nữa, trung tâm ngày càng được mở rộng về qui mô cũng như số lượng học viên, do uy tín về chất lượng đào tạo của trung tâm, ngày càng được sinh viên của nhiều trường biết đến. Do đó công việc quản lý trở nên khó khăn. 2. Qui trình quản lý học viên bằng phương pháp thủ công Khi một sinh viên đến tìm hiểu về các khoá học của công ty, tư vấn viên sẽ tư vấn cho sinh viên về các thông tin mà họ quan tâm. Khi một sinh viên đến đăng kí học, giáo vụ sẽ thu những giấy tờ cần thiết, cập nhật thông tin về sinh viên đó trên giấy tờ, sổ sách; thu tiền và đưa lại cho sinh viên biên lai; xếp lớp cho sinh viên; thông báo lịch học… Khi học viên làm thẻ thư viện tại trung tâm, thủ thư cập nhật thông tin, thu tiền đặt cọc, trả lại học viên biên lai, đưa thẻ thư viện cho học viên. Mỗi khi học viên đến mượn sách, được thủ thư đưa phiếu mượn để điền thông tin về sách và đĩa mượn, thủ thư thu lại phiếu và thẻ thư viện. Khi học viên đến trả sách, thủ thư thu lại sách, so sánh với phiếu đã mượn để kiểm tra, nếu đúng thì loại bỏ phiếu và trả lại thẻ thư viện cho học viên. Trong quá trình học, học viên sẽ được giao dự án. Mỗi khóa học sẽ có Project riêng, một khóa học có thể sẽ có nhiều Project cho học viên lựa chọn để làm theo nhóm hoặc làm một mình. Những Project này đều được quy định sử dụng các ngôn ngữ đã được học tại AI để làm. Ngoài ra học viên có thể sử dụng thêm các ngôn ngữ hỗ trợ khác. Các Project này đều liên quan và thể hiện các ngôn ngữ mà học viên được học. Giảng viên tiến hành điểm danh học viên vào mỗi buổi học. Trung tâm tổ chức thi cho học viên trên hệ thống trực tuyến T & C - Testing & Certification, bảo vệ Project và cấp bảng điểm cho học viên cùng với chứng chỉ của Công ty (với điều kiện học viên phải thi qua và bảo vệ Project đạt với yêu cầu của công ty). Học viên cũng có thể nhận chứng chỉ của Trung tâm mà không theo học tại Trung tâm bằng cách đăng ký thi tại công ty AI và tham gia thi trên hệ thống test của AI. Nếu thi qua học viên sẽ được cấp chứng chỉ của AI. 3. Yêu cầu của người sử dụng đối với hệ thống Hệ thống “Quản lý học viên” phục vụ cho người quản lý về đào tạo của trung tâm như người làm công tác giáo vụ, tư vấn; các giảng viên và các học viên theo học tại trung tâm. Chương trình sẽ cung cấp thông tin phục vụ cho công việc của họ một cách nhanh chóng, thuận tiện, chính xác và đạt hiệu quả cao. Ngoài ra, chương trình phải có xu hướng mở để có thể kế thừa phát triển và mở rộng cho phù hợp với thực tế phát sinh trong tương lai. Hệ thống “Quản lý học viên” giúp quản lý chặt chẽ, hiệu quả học viên từ bước tuyển sinh cho đến khi kết thúc khóa học. Cụ thể như sau: + Quản lý thông tin học viên, thông tin lớp học, khoá học + Xếp lớp, tạo thời khóa biểu, khai giảng + Giám sát, theo dõi tình học tập của học viên + Giám sát theo dõi tình hình mượn sách thư viện của học viên. + Tổ chức cấp bằng, chứng chỉ - Hỗ trợ tra cứu tìm kiếm các thông tin và tổng hợp, in ra các báo cáo nhanh chóng, chính xác theo nhiều tiêu chí khác nhau, in ra chứng chỉ cho học viên. - Chương trình khai thác trong mạng LAN của trung tâm. - Cơ sở dữ liệu tập trung trên hệ quản trị CSDL Access. - Đảm bảo tính bảo mật, tính xác thực - Giao diện thân thiện với người sử dụng 4. Những người được hưởng lợi từ dự án Tư vấn - Thông tin về các khoá học của trung tâm - Báo cáo, thống kê tình hình tuyển sinh Giáo vụ - Quản lý thông tin học viên, thông tin lớp học - Xếp lớp, tạo thời khóa biểu, khai giảng - Giám sát, theo dõi tình học tập của học viên - Giám sát, theo dõi tình hình mượn sách của thư viện. - Tổ chức cấp bằng, chứng chỉ. Giáo viên - Thực hiện theo giảng dạy theo thời khóa biểu, điểm danh học viên. Học viên - Tìm kiếm các thông tin liên quan như thời khóa biểu, thông tin khóa học. II. PHÂN TÍCH CHI TIẾT HỆ THỐNG THÔNG TIN 1. Sơ đồ chức năng của hệ thống thông tin (BFD) HỆ THỐNG QUẢN LÝ HỌC VIÊN Viết và đưa biên lai cho SV Xếp lớp Làm và cấp thẻ học viên cho học viên Xếp lịch và thông báo cho học viên Giao Project cho học viên Điểm danh Quản lý thư viện Làm thẻ thư viện cho học viên Nhận và xử lý hồ sơ Nhận hồ sơ Kiểm tra hồ sơ Thu tiền học phí Cập nhật thông tin về học viên Sắp xếp và phân loại hồ sơ Lưu trữ hồ sơ Quản lý tình hình học tập của học viên Thu tiền đặt cọc Viết biên lai và đưa biên lai cho học viên Cấp thẻ thư viện cho học viên Cho mượn sách và ghi sổ, thu phiếu mượn và thẻ Nhận lại sách và trả lại thẻ Tổ chức thi Thông báo lịch thi Lập lịch thi Tổ chức thi và bảo vệ Project Tổ chức bảo vệ Project Tính điểm chung Cấp chứng chỉ Xét việc cấp chứng chỉ In chứng chỉ Cấp chứng chỉ cho học viên Báo cáo Lập báo cáo In báo cáo Báo cáo lên giám đốc 2. Sơ đồ luồng thông tin của hệ thống thông tin (IFD) 3. Sơ đồ luồng dữ liệu của hệ thống thông tin (DFD) Mức ngữ cảnh: Sơ đồ BFD mức 0: Sơ đồ BFD mức 1: 1.0 Nhận hồ sơ và xử lý hồ sơ 2.0 Quản lý quá trình học viên học tập 3.0 Quản lý thư viện 4.0 Thi và bảo vệ project 5.0 Cấp chứng chỉ 6.0 Báo cáo III. THIẾT KẾ LOGIC CHO HỆ THỐNG THÔNG TIN 1. Thiết kế cơ sở dữ liệu cho hệ thống thông tin Để giải quyết yêu cầu của bài toán đặt ra một cánh hợp lý và có hiệu quả thì phải tạo một cấu trúc dữ liệu hợp lý cho bài toán. Cấu trúc này phải đảm bảo chứa đầy đủ thông tin cần thiết và đảm bảo khi truy nhập, kết xuất thông tin phải nhanh chóng. Có bốn phương pháp thiết kế cơ sở dữ liệu là : Thiết kế dựa vào mẫu có sẵn. Thiết kế bằng phương pháp hỏi yêu cầu của người sử dụng. Thiết kế đi từ các thông tin đầu ra Thiết kế bằng phương pháp mô hình hóa. Để đảm bảo tính logic, hợp lý và chặt chẽ, đề tài này sẽ sử dụng phương pháp thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa. Sau khi xem xét và phân tích từng khía cạnh của công tác “quản lý học viên”, nhận thấy mô hình logic dữ liệu của bài toán có các thực thể : 1. Học viên : là đối tượng chịu quản lý, những người theo học tại AI 2. Loại học viên :học viên tại trung tâm có thể là những sinh viên của các trường đại học, cao đẳng hoặc những người đang đi làm muốn nâng cao trình độ…Phân loại học viên để dễ dàng hơn trong việc quản lý. 3. Cán bộ : là người quản lý, làm công tác quản lý học viên, đóng vai trò người dùng hệ thống. 4. Lớp học  5.Ca học : mỗi lớp học được sắp xếp học theo ngày giờ nhất định , gọi là ca học. 6. Khóa học 7. Loại khóa học cấp 1 8. Loại khóa học cấp 2 9. Dự án : Mỗi học viên khi tham gia bất kỳ khóa học nào của AI cũng đều phải tham gia một dự án. Điểm dự án là một trong những điều kiện để cấp chứng chỉ. 10. Nhóm : học viên trong từng lớp được phân thành từng nhóm, mỗi nhóm làm về một dự án. 11. Sách : trong quá trình theo học ở trung tâm, học viên được mượn sách tại thư viện. 12. Phiếu mượn : học viên muốn mượn sách thì phải ghi mã sách cần mượn vào phiếu mượn và đưa cho thủ thư. 13. Buổi điểm danh : là thực thể được dùng để theo dõi xem vào buổi học đó học viên có tham gia không. Mối quan hệ giữa các thực thể được biểu diễn trên sơ đồ quan hệ thực thể (ERD) như sau : Từ sơ đồ quan hệ thực thể, ta áp dụng các qui tắc chuyển đổi để chuyển đổi nó thành các tệp và vẽ sơ đồ cấu trúc dữ liệu DSD: Vì trên sơ đồ ERD trên các thực thể có mối quan hệ 1@N nên mỗi thực thể sẽ tạo ra một tệp và quan hệ giữa hai thực thể sẽ được nhắc lại bởi một thuộc tính ở một thực thể mà nó được nhắc lại trong thực thể khác. Ngoài ra, còn thực thể “Cán bộ”, đóng vai trò như người dùng hệ thống, cũng sẽ tạo ra một tệp để thực hiện chức năng phân quyền, một chức năng quan trọng để đảm bảo độ an toàn, bảo mật cho cơ sở dữ liệu. Cơ sở dữ liệu được xây dựng sẽ bao gồm các tệp sau: 1. Học viên (Mã học viên, Tên học viên, Mã loại học viên, Ngày sinh, Giới tính, Công ty, Địa chỉ, Điện thoại, Email, Mã sinh viên, Tiền đặt cọc, Ngày đăng ký, Mã lớp học, Điểm thi, Điểm dự án, Điểm khác, Mã nhóm, Ngày cấp bằng) 2. Loại học viên (Mã loại học viên, Tên loại học viên, Mô tả) 3. Cán bộ ( Mã cán bộ, Tên cán bộ, Mật khẩu, Ngày sinh, Địa chỉ, Chức vụ, Quyền) 4. Lớp học (Mã lớp học, Tên lớp học, Mã khóa học, Mã ca học, Số học viên, Ngày bắt đầu, Ngày kết thúc) 5. Ca học (Mã ca học, Tên ca học, Ngày học, Giờ học, Thời lượng) 6. Khóa học (Mã khóa học, Tên khóa học, Mã loại khóa học cấp 2, Thời gian, Ngày bắt đầu, Phần điểm dự án, Phần điểm thi, Phần điểm khác, Học phí, Mô tả) 7. Loại khóa học cấp 2 (Mã loại khóa học cấp 2, Tên loại khóa học cấp 2, Mã loại khóa học cấp 1, Mô tả) 8. Loại khóa học cấp 1(Mã loại khóa học cấp 1, Tên loại khóa học cấp 1, Mô tả) 9. Dự án (Mã dự án, Tên dự án, Mô tả) 10. Nhóm (Mã nhóm, Tên nhóm, Mã dự án, Tên người hướng dẫn, Số thành viên) 11. Sách (Mã sách, Tên sách, Tác giả, Nhà xuất bản, Giá, Năm xuất bản) 12. Phiếu mượn (Mã phiếu, Mã học viên, Ngày mượn, Mã sách, Ngày trả, Ngày phải trả) 13. Buổi điểm danh (Số thứ tự buổi học, Mã học viên, Điểm danh) Tích hợp các tệp dữ liệu lại ta được sơ đồ cấu trúc dữ liệu (DSD): Sau khi xác định kiểu dữ liệu và độ dài của trường dữ liệu cho các thuộc tính của các tệp, ta có các bảng sau: 1. Bảng CanBo STT Tên trường Kiểu Độ rộng Mô tả 1 User Text 30 Mã người dùng 2 Pass Text 25 Mật khẩu 3 HoVaTen Text 30 Họ tên người dùng 4 NgaySinh Date/Time Ngày sinh 5 DiaChi Text 50 Địa chỉ 6 ChucVu Text 50 Chức vụ 7 Quyen Text 30 Quyền truy cập 2. Bảng CaHoc STT Tên trường Kiểu Độ rộng Mô tả 1 MaCH Text 5 Mã ca học 2 TenCH Text 20 Tên ca học 3 NgayHoc Text 10 Ngày học 4 GioHoc Text 3 Giờ học 5 ThoiLuong Number Decimal Thời lượng 3. Bảng DuAn STT Tên trường Kiểu Độ rộng Mô tả 1 MaDA Text 5 Mã dự án 2 TenDA Text 50 Tên dự án 3 Mota Text 200 Mô tả 4. Bảng Nhom STT Tên trường Kiểu Độ rộng Mô tả 1 MaNhom Text 5 Mã nhóm 2 TenNhom Text 30 Tên nhóm 3 MaDA Text 5 Mã dự án 4 TenNHD Text 30 Tên người hướng dẫn 5 SoThanhVien Number Integer Số thành viên 5. Bảng HocVien STT Tên trường Kiểu Độ rộng Mô tả 1 MaHV Text 5 Mã học viên 2 TenHV Text 30 Tên học viên 3 MaLoaiHV Text 5 Mã loại học viên 4 NgaySinh Date/Time Ngày sinh 5 GioiTinh Text 3 Giới tính 6 CongTy Text 100 Công ty 7 DiaChi Text 50 Địa chỉ 8 DienThoai Text 11 Điện thoại 9 Email Text 50 Email 10 MaSV Text 10 Mã sinh viên 11 TienDatCoc Number Double Tiền đặt cọc 12 NgayDangKy Date/Time Ngày đăng ký 13 MaLH Text 5 Mã lớp học 14 DiemDA Number Decimal Điểm dự án 15 DiemThi Number Decimal Điểm khác 16 DiemKhac Number Decimal Ngày cấp bằng 17 NgayCapBang Date/Time Ngày cấp bằng 18 MaNhom Text 5 Mã nhóm 6. Bảng KhoaHoc STT Tên trường Kiểu Độ rộng Mô tả 1 MaKH Text 5 Mã khóa học 2 TenKH Text 30 Tên khóa học 3 ThoiGian Number Decimal Thời gian 4 NgayBD Date/Time Ngày bắt đầu 5 MaLoaiKH2 Text 5 Mã loại khóa học 6 PhanDiemDA Number Long Integer Phần điểm dự án 7 PhanDiemThi Number Long Integer Phần điểm thi 8 PhanDiemKhac Number Long Integer Phần điểm khác 9 HocPhi Number Long Integer Học phí 10 Mota Text 200 Mô tả 7. Bảng LoaiHocVien STT Tên trường Kiểu Độ rộng Mô tả 1 MaLoaiHV Text 5 Mã loại học viên 2 TenLoaiHV Text 50 Tên loại học viên 3 Mota Text 200 Mô tả 8. Bảng LoaiKhoaHocCap1 STT Tên trường Kiểu Độ rộng Mô tả 1 MaLoaiKH1 Text 5 Mã loại khóa học 1 2 TenLoaiKH1 Text 30 Tên loại khóa học 2 3 Mota Text 200 Mô tả 9. Bảng LoaiKhoaHocCap2 STT Tên trường Kiểu Độ rộng Mô tả 1 MaLoaiKH2 Text 5 Mã loại khóa học 2 2 TenLoaiKH2 Text 30 Tên loại khóa học 2 3 MaLoaiKH1 Text 5 Mã loại khóa học 1 4 Mota Text 200 Mô tả 10. Bảng LopHoc STT Tên trường Kiểu Độ rộng Mô tả 1 MaLH Text 5 Mã lớp học 2 TenLH Text 30 Tên lớp học 3 MaKH Text 5 Mã khóa học 4 MaCH Text 5 Mã ca học 5 SoHV Number Integer Số học viên 6 NgayBatDau Date/Time Ngày bắt đầu 7 NgayKetThuc Date/Time Ngày kết thúc 11. Bảng BuoiDiemDanh STT Tên trường Kiểu Độ rộng Mô tả 1 STTBH Number Integer Số thứ tự buổi học 2 MaHV Text 5 Mã hồ sơ 3 DiemDanh Yes/No Điểm danh 12. Bảng Sach STT Tên trường Kiểu Độ rộng Mô tả 1 MaSach Text 5 Mã sách 2 TenSach Text 50 Tên sách 3 TacGia Text 50 Tác giả 4 NXB Text 50 Nhà xuất bản 5 Gia Number Double Giá 6 NamXB Number Double Năm xuất bản 13. Bảng PhieuMuon STT Tên trường Kiểu Độ rộng Mô tả 1 MaPhieu Text 10 Mã phiếu 2 MaHV Text 5 Mã học viên 3 NgayMuon Date/Time Ngày mượn 4 MaSach Text 5 Mã sách 5 NgayTra Date/Time Ngày trả 6 NgayPhaiTra Date/Time Ngày phải trả 2. Mối liên hệ giữa các bảng 3. Một số giải thuật của hệ thống Qui trình nhập dữ liệu Qui trình sửa, xóa dữ liệu Thuật toán tìm kiếm Qui trình đăng nhập: Qui trình báo cáo IV. THIẾT KẾ VẬT LÝ NGOÀI 1. Sơ đồ menu của chương trình 2. Một số giao diện của chương trình Form Đăng nhập: Bất cứ người dùng nào muốn truy nhập vào hệ thống đều phải đăng nhập vào hệ thống. Khi người dùng đăng nhập, tùy vào quyền mà người dùng được cấp thì trên menu sẽ hiện tương ứng các chức năng mà người dùng được sử dụng. Sau khi nhấn vào đăng nhập, người dùng chỉ cần gõ tên và mật khẩu rồi nhấn vào nút “Đăng nhập” hoặc gõ “Enter” Kết quả nếu đăng nhập thành công thì giao diện chính của chương trình sẽ hiện ra như sau: Giao diện chính của chương trình: Hệ thống Menu của chương trình: MeNu Hệ Thống: Menu Danh Mục: MeNu Quản Lý: MeNu Tra Cứu: MeNu Báo Cáo: MeNu Trợ Giúp: Form Thay Đổi Mật Khẩu: Nhấn vào nút trtr trên thanh Toolbar của giao diện chính hoặc vào menu “Hệ Thống”→ “Thay đổi mật khẩu”. Form “Thay đổi mật khẩu” sẽ xuất hiện: Nhập mật khẩu cũ, mật khẩu mới và xác nhận mật khẩu mới à Gõ Enter hoặc nhấn vào “Thay đổi”. Form Quản lý người dùng Nhấn vào nút trên thanh Toolbar hoặc vào “Hệ Thống”→ “Quản lý người dùng”. Form này cho phép quản trị viên hệ thống quản lý các tài khoản, như: tạo tài khoản mới, thay đổi hay xóa tài khoản cũ… Các form danh mục: Cho phép quản lý các thực thể như: Ca học, khóa học, lớp học, học viên, sách, dự án… Form Ca Học: Form Cấp Khóa Học: Form Thông tin học viên: Form Lớp học: Các form quản lý: Form Phân dự án: Form Nhập Điểm: Các form tra cứu: Dùng để tra cứu thông tin về các thực thể như khóa học, lớp học, thời khóa biểu, thông tin về học viên với nhiều tiêu chí tìm kiếm khác nhau. Form tìm kiếm khóa học: 3. Một số báo cáo Báo cáo theo khóa học: Lựa chọn kiểu báo cáo và nhập thời gian cần xét vào form: Sau đó nhấn vào nút “Xem Thử” để xem báo cáo trước khi in ra. Nhấn vào nút “In”, hệ thống sẽ kết nối với máy in để in ra báo cáo. Mẫu báo cáo như sau: Báo cáo về thông tin học viên: Lựa chọn điều kiện để xuất báo cáo. Chọn “Tất cả”: Mẫu báo cáo: Chọn “Theo khóa học”, nhấn chuột vào nút trễ ở Combobox bên cạnh để chọn khóa học. Mẫu báo cáo: Chọn “Theo lớp học”. Mẫu báo cáo: In Chứng Chỉ: Mẫu chứng chỉ: VI. YÊU CẦU VỀ MẶT KỸ THUẬT VÀ NHÂN SỰ KHI TRIỂN KHAI HỆ THỐNG 1. Yêu cầu về mặt kỹ thuật 1.1 Kho dữ liệu Hệ thống được triển khai trên nền desktop, hoạt động trong môi trường mạng cục bộ, sử dụng cơ sở dữ liệu tập trung. Kho dữ liệu của hệ thống được cài đặt tập trung trên máy chủ, sử dụng hệ quản trị cơ sở dữ liệu Microsoft Access . Khi hoạt động, tất cả các máy trạm đều phải truy cập vào máy chủ để cập nhật và kết xuất dữ liệu. 1.2 Phần mềm Chương trình được viết bằng ngôn ngữ Visual Basic 6.0, sử dụng hệ quản trị cơ sở dữ liệu Microsoft Access, báo cáo đầu ra sử dụng Crystal Reports. Đây là những công cụ được Windows hỗ trợ mạnh nên máy tính sẽ không gặp khó khăn trong việc chạy chương trình. Chương trình này dễ dàng tương thích với các phần mềm hệ thống và các trình ứng dụng phổ biến khác. 1.3 Phần cứng Chương trình cũng dễ thích nghi với các loại máy, kể cả máy tính có cấu hình thấp, có thể kết nối với các thiết bị ngoại vi như máy in để xuất ra báo cáo. Công ty AI có nhiều máy tính, cấu hình tối thiểu là: Main Intel Pentium 4, 1.5 GB, Ram 256 MB, sử dụng hệ điều hành WindowsXP Professional nên dễ dàng sử dụng phần mềm này. Để triển khai hệ thống cần lắp đặt một máy tính ở phòng giáo vụ, một máy ở thư viện và trang bị cho mỗi phòng học một máy. Ngoài ra, cần phải có một máy in chung để các máy có thể kết nối, in ra báo cáo lúc cần thiết. 2. Yêu cầu về nhân sự Phần mềm có giao diện khá thân thiện và dễ sử dụng. Hơn nữa, để vận hành hệ thống chỉ cần người có kỹ năng máy tính cơ bản, AI là một công ty tin học nên có đội ngũ nhân viên am hiểu về tin học. Vì vậy, những nhân viên trong hệ thống đào tạo của công ty đều có thể nhanh chóng nắm bắt được cách sử dụng của phần mềm mới này mà không phải bỏ ra nhiều chi phí để đào tạo người sử dụng. KẾT LUẬN Máy móc ngày càng thay thế con người trong lao động tay chân và trí óc, đem lại hiệu quả công việc một cách nhanh chóng, chính xác. Việc tin học hoá công tác quản lý học viên tại công ty AI là điều tất yếu trong quá trình phát triển của hệ thống đào tạo của công ty. Vì vậy, với đề tài “Xây dựng hệ thống thông tin quản lý học viên tại công ty AI” tôi đã đi sâu vào tìm hiểu, nghiên cứu công tác quản lý học viên tại công ty. Từ đó, xây dựng một phần mềm để quản lý các học viên tại công ty. Hệ thống này giúp quản lý chặt chẽ, hiệu quả học viên từ bước tuyển sinh cho đến khi kết thúc khóa học. Cụ thể như sau: + Quản lý thông tin học viên, thông tin lớp học, khoá học + Xếp lớp, tạo thời khóa biểu, khai giảng + Giám sát, theo dõi tình học tập của học viên + Giám sát theo dõi tình hình mượn sách thư viện của học viên. + Hỗ trợ tra cứu tìm kiếm các thông tin và tổng hợp, in ra các báo cáo nhanh chóng, chính xác theo nhiều tiêu chí khác nhau, in ra chứng chỉ cho học viên. Tuy đây là phần mềm đơn giản, chức năng còn hạn chế nhưng lại khá hiệu quả đối với hoạt động quản lý học viên tại AI. Tôi hi vọng phần mềm này sẽ được ứng dụng và mang lại hiệu quả cao cho công tác đào tạo của công ty. Với phong cách làm việc chuyên nghiệp, quản lý chặt chẽ, hiệu quả, tôi tin rằng phần mềm này sẽ góp phần nâng cao chất lượng cũng như uy tín của Trung tâm, đưa AI trở thành một trong những trung tâm đào tạo tin học hàng đầu. Trong giai đoạn tới tôi sẽ dựa trên những ý kiến đóng góp của thầy cô và các bạn, nhất là ý kiến phản hồi từ ban quản lý đào tạo của AI để hoàn thành tốt hơn phần mềm này. Một số hướng phát triển của đề tài: Hoàn chỉnh và bổ sung thêm các chức năng tìm kiếm và báo cáo của chương trình. Bổ sung thêm chức năng thu thập ý kiến phản hồi sau mỗi bài học của học viên và bổ sung thêm tài nguyên bài học để nâng cấp chương trình thành hệ thống quản lý đào tạo của công ty AI. Tôi rất mong muốn nhận được những ý kiến và chỉ bảo quí báu từ thầy cô, cũng như ý kiến đóng góp bổ ích từ các bạn. Tôi xin chân thành cảm ơn! DANH MỤC TÀI LIỆU THAM KHẢO 1. PGS.TS. Hàn Viết Thuận Giáo trình cấu trúc dữ liệu và giải thuật – NXB Thống Kê, Hà Nội, 2005 2. TS. Trương Văn Tú – TS. Trần Thị Song Minh Giáo trình hệ thống thông tin quản lý –NXB Thống Kê, Hà Nội, 2000 3. Trần Công Uẩn Giáo trình Cơ sở dữ liệu – NXB Thống Kê, Hà Nội, 2000 4. Nguyễn Thị Ngọc Mai Microsoft Visual Basic & Lập trình cơ sở dữ liệu 6.0 – NXB Lao Động Xã Hội, TP. Hồ Chí Minh, 2004 5. Lê Tiến Vương Nhập môn Cơ sở dữ liệu quan hệ- NXB Thống Kê 6. Trần Đức Quang Quản trị Cơ sở dữ liệu – NXB Xây Dựng 7. Vũ Đức Thi Cấu trúc dữ liệu và giải thuật – NXB Thống Kê 8. Tài liệu Công ty TNHH Trí Tuệ Nhân Tạo - 2007 9. Các tài liệu khác trên các báo, tạp chí và Internet. PHỤ LỤC CHƯƠNG TRÌNH MỘT SỐ ĐOẠN CODE TRONG CHƯƠNG TRÌNH Form Main: Private Sub cmdDangNhap_Click() If cq = "Quản trị hệ thống" Or cq = "Giáo viên" Or cq = "Thủ thư” Or cq = "Học viên" Or cq = "Giáo viên" Then Dim Traloi Traloi = MsgBox(" Bạn thực sự muốn thoát khỏi tài khoản đang dùng?", vbYesNo) If Traloi = vbNo Then Exit Sub End If End If frmlogin.Show End Sub Private Sub Command1_Click() FrmThayDoiMatKhau.Show End Sub Private Sub Command4_Click() FrmNguoiDung.Show End Sub Private Sub Command5_Click() Dim Traloi Traloi = MsgBox("Bạn thực sự muốn thoát khỏi chương trình?", vbYesNo, "Thông báo!") If Traloi = vbNo Then Exit Sub Else MsgBox "Cám ơn bạn đã sử dụng chương trình!", , "AISchool" End End If End Sub Private Sub Label1_Click() End Sub Private Sub MDIForm_Load() cq = "0" Module1.phanquyen Timer1.Interval = 100 StatusBar2.Panels(1).Text = " AISchool" frmlogin.Show End Sub Private Sub mnCaHoc_Click() FrmCaHoc.Show End Sub Private Sub mnDangNhap_Click() If cq = "Quản trị hệ thống" Or cq = "Giáo viên" Or cq = "Thủ thư” Or cq = "Học viên" Or cq = "Giáo viên" Then Dim Traloi Traloi = MsgBox("Bạn thực sự muốn thoát khỏi tài khoản đang dùng?", vbYesNo) If Traloi = vbNo Then Exit Sub End If End If frmlogin.Show End Sub Private Sub mnDangXuat_Click() Dim Traloi Traloi = MsgBox("Bạn thực sự muốn đăng xuất ?", vbYesNo, "Thông Báo!") If Traloi = vbNo Then Exit Sub End If cq = "0" Module1.phanquyen MsgBox " Chào tạm biệt!", , "AISchool" StatusBar2.Panels(3).Text = " Người sử dụng" End Sub Private Sub mnDanhMucSach_Click() FrmDanhMucSach.Show End Sub Private Sub mnDanhSachHocVien_Click() frmBCHV.Show End Sub Private Sub mnDuAn_Click() FrmDuAn.Show End Sub Private Sub mnInChungChi_Click() FrmInCC.Show End Sub Private Sub mnKhoaHoc1_Click() FrmTKKhoaHoc.Show End Sub Private Sub mnLopHoc_Click() FrmQuanLyLopHoc.Show End Sub Private Sub mnNhapDiem_Click() FrmNhapDiem.Show End Sub Private Sub mnNhapKhoaHoc_Click() FrmQuanLyKhoaHoc.Show End Sub Private Sub mnNhapLoaiHocVien_Click() FrmLoaiHocVien.Show End Sub Private Sub mnNhapLoaiKhoaHoc_Click() FrmQuanLyCapKhoaHoc.Show End Sub Private Sub mnNhapThongTinHocVien_Click() FrmThongTinHocVien.Show End Sub Private Sub mnNhom_Click() FrmNhom.Show End Sub Private Sub mnPhanDuAn_Click() FrmPhanDA.Show End Sub Private Sub mnTaoTaiKhoanMoi_Click() FrmNguoiDung.Show End Sub Private Sub mnThayDoiMatKhau_Click() FrmThayDoiMatKhau.Show End Sub Private Sub mnTheoKhoaHoc_Click() frmBC.Show End Sub Private Sub mnThoat_Click() Dim Traloi Traloi = MsgBox("Bạn thực sự muốn thoát khỏi chương trình?", vbYesNo, "Thông báo!") If Traloi = vbNo Then Exit Sub Else MsgBox " Cám ơn bạn đã sử dụng chương trình!", , "AISchool" End End If End Sub Private Sub mnThongTinHocVien_Click() frmBCHV.Show End Sub Private Sub Timer1_Timer() Dim X, Y As String X = Left(StatusBar2.Panels(1).Text, 1) Y = Right(StatusBar2.Panels(1).Text, Len(StatusBar2.Panels(1).Text) - 1) StatusBar2.Panels(1).Text = Y + X End Sub Form Đăng nhập(Frmlogin): Private demdn As Integer Private Sub cmdok_Click() Do While txtTDN.Text = "" MsgBox "Bạn chưa nhập tên đăng nhập!" Exit Sub txtTDN.SetFocus Loop Do While txtpass.Text = "" MsgBox " Bạn chưa nhập mật khẩu!" Exit Sub txtpass.SetFocus Loop Dim Pw, use As String Pw = txtpass.Text use = txtTDN.Text Dim Conn As ADODB.Connection Dim rs As ADODB.Recordset Dim kt As Boolean Dim sql As String Set Conn = New ADODB.Connection Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;" Conn.Open Set rs = New ADODB.Recordset sql = "select * from canbo" rs.Open sql, Conn, dOpenStatic, adLockOptimistic kt = False rs.MoveFirst 'begin to check Do While (Not rs.EOF) And (kt = False) If UCase(rs![User]) = UCase(use) And UCase(rs![pass]) = UCase(Pw) Then kt = True cq = rs![quyen] Else rs.MoveNext End If Loop If demdn < 3 Then If kt = True Then dem = 0 MsgBox "Xin chào bạn " & rs![hovaten] & "! Bạn đã đăng nhập thành công!" Unload Me Else demdn = demdn + 1 MsgBox " Tên đăng nhập hoặc mật khẩu không đúng. Vui long thử lại!" txtTDN.Text = "" txtpass.Text = "" txtTDN.SetFocus Exit Sub cq = "0" txtTDN.SetFocus End If Else MsgBox "Bạn đã đăng nhập quá ba lần. Vui long thử lại lần sau!", vbOKOnly + vbInformation, "AISchool" End End If Module1.phanquyen FrmMain.StatusBar2.Panels(3).Text = " Người sử dụng: " & rs![hovaten] FrmMain.StatusBar2.Panels(4).Text = cq End Sub Private Sub cmdthoi_Click() Unload Me End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{Tab}" KeyAscii = 0 End If End Sub Private Sub Form_Load() demdn = 0 End Sub Private Sub txtpass_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmdok_Click KeyAscii = 0 End If End Sub Form Thông tin học viên (FrmThongTinHocVien): Private Sub KhongChoUpDate() Grd.AllowUpdate = False txtMaHocVien.Locked = True txtTenHocVien.Locked = True cbMaLoaiHocVien.Locked = True txtNgaySinh.Locked = True cbGioiTinh.Locked = True txtDonViCongTac.Locked = True txtMaSinhVien.Locked = True txtNgayDangKy.Locked = True txtTienDatCoc.Locked = True txtDiaChi.Locked = True txtDienThoai.Locked = True txtEmail.Locked = True End Sub Private Sub ChoPhepUpDate() Grd.AllowUpdate = True txtMaHocVien.Locked = False txtTenHocVien.Locked = False cbMaLoaiHocVien.Locked = False txtNgaySinh.Locked = False cbGioiTinh.Locked = False txtDonViCongTac.Locked = False txtMaSinhVien.Locked = False txtNgayDangKy.Locked = False txtTienDatCoc.Locked = False txtDiaChi.Locked = False txtDienThoai.Locked = False txtEmail.Locked = False End Sub Private Sub cbKhoaHoc_LostFocus() Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc3.CommandType = adCmdText Adodc3.RecordSource = "select MaLH from LopHoc where MaKH='" & cbKhoaHoc.Text & "'" Adodc3.Refresh If Adodc3.Recordset.EOF Adodc3.Recordset.EOF Then Adodc3.Recordset.MoveFirst End If Adodc3.Refresh If cbLopHoc.ListCount 0 Then cbLopHoc.Clear End If Do While Not Adodc3.Recordset.EOF cbLopHoc.AddItem (Adodc3.Recordset![MaLH]) Adodc3.Recordset.MoveNext Loop End Sub Private Sub cmdCapNhat_Click() If txtMaHocVien.Text = "" Or txtTenHocVien.Text = "" Then MsgBox "B¹n ch­a nhËp ®ñ th«ng tin!", , "AISchool" Exit Sub End If Adodc.Recordset.Save Grd.AllowUpdate = False lbSokq1.Caption = "Sè b¶n ghi:" & Adodc.Recordset.RecordCount End Sub Private Sub cmdKetthuctimkiem_Click() txtGiaTri.Text = "" cbTimTheo.Text = "" NapAdodc lbSokq.Caption = "" lbSokq1.Caption = "Sè b¶n ghi:" & Adodc.Recordset.RecordCount KhongChoUpDate End Sub Private Sub cmdSua_Click() Dim Traloi As Integer If txtMaHocVien.Text = "" Or txtTenHocVien.Text = "" Then MsgBox "B¹n ch­a chän tµi kho¶n ®Ó söa!", , "AISchool" Exit Sub Else Grd.AllowUpdate = True Adodc.Recordset.Update ChoPhepUpDate End If End Sub Private Sub cmdTaoMoi_Click() Dim Traloi As Integer Traloi = MsgBox("B¹n cã ch¾c ch¾n muèn t¹o míi kh«ng?", vbInformation + vbYesNo, "AISchool") If Traloi = vbNo Then Grd.AllowDelete = False Else Grd.AllowDelete = True Do While Adodc.Recordset.EOF = False Adodc.Recordset.Delete Adodc.Recordset.MoveNext Loop End If lbSokq1.Caption = "Sè b¶n ghi:" & Adodc.Recordset.RecordCount End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdTim_Click() Dim str As String Dim trloi As Integer If cbTimTheo.Text = "" Then trloi = MsgBox("B¹n h·y nhËp tiªu thøc cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then cbTimTheo.SetFocus Exit Sub End If ElseIf txtGiaTri.Text = "" Then trloi = MsgBox("B¹n h·y nhËp vµo gi¸ trÞ cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then txtGiaTri.SetFocus Exit Sub End If ElseIf cbTimTheo.Text = "M· häc viªn" Then str = "MaHV" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV " ElseIf cbTimTheo.Text = "Tªn häc viªn" Then str = "TenHV" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV " Adodc.Refresh ElseIf cbTimTheo.Text = "Ngµy sinh" Then str = "NgaySinh" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "=DateValue('" & txtGiaTri.Text & "') ORDER BY MaHV" ElseIf cbTimTheo.Text = "Ngµy ®¨ng ký" Then str = "NgayDangKy" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "=DateValue('" & txtGiaTri.Text & "') ORDER BY MaHV" ElseIf cbTimTheo.Text = "M· lo¹i häc viªn" Then str = "MaLoaiHV" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV" ElseIf cbTimTheo.Text = "TiÒn ®Æt cäc" Then str = "TienDatCoc" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV " ElseIf cbTimTheo.Text = "Giíi tÝnh" Then str = "GioiTinh" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV" ElseIf cbTimTheo.Text = "§¬n vÞ c«ng t¸c" Then str = "CongTy" Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien where " & str & "='" & txtGiaTri.Text & "' ORDER BY MaHV " End If Adodc.Refresh lbSokq.Caption = "Sè kÕt qu¶:" & Adodc.Recordset.RecordCount lbSokq1.Caption = "" End Sub Private Sub Form_Load() Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select MaLoaiHV, TenLoaiHV from LoaiHocVien" Adodc1.Refresh Adodc1.Recordset.MoveFirst Do While Not Adodc1.Recordset.EOF cbMaLoaiHocVien.AddItem (Adodc1.Recordset![MaLoaiHV]) Adodc1.Recordset.MoveNext Loop Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc2.CommandType = adCmdText Adodc2.RecordSource = "select MaKH from KhoaHoc" Adodc2.Refresh Adodc2.Recordset.MoveFirst Do While Not Adodc2.Recordset.EOF cbKhoaHoc.AddItem (Adodc2.Recordset![MaKH]) Adodc2.Recordset.MoveNext Loop Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" NapAdodc lbSokq1.Caption = "Sè b¶n ghi:" & Adodc.Recordset.RecordCount KhongChoUpDate End Sub Private Sub NapAdodc() Adodc.CommandType = adCmdText Adodc.RecordSource = "select MaHV,TenHV,MaLoaiHV,NgaySinh,GioiTinh,CongTy,MaSV,NgayDangKy,MaLH,TienDatCoc,DiaChi,DienThoai,Email from HocVien order by MaHV" Adodc.Refresh End Sub Private Sub cmdThem_Click() Dim Traloi As Integer Traloi = MsgBox("B¹n Muèn Thªm B¶n Ghi Míi ?", vbInformation + vbYesNo, "AISchool") If Traloi = vbNo Then Adodc.Refresh Exit Sub Else Adodc.Recordset.AddNew ChoPhepUpDate txtMaHocVien.SetFocus End If End Sub Private Sub cmdXoa_Click() Dim Traloi As Integer If txtMaHocVien.Text = "" Or txtTenHocVien.Text = "" Then MsgBox "B¹n ch­a chän tµi kho¶n ®Ó xãa!", , "AISchool" Exit Sub End If Traloi = MsgBox("B¹n Muèn Xo¸ B¶n Ghi Nµy ?", vbInformation + vbYesNo, "AISchool") If Traloi = vbNo Then Grd.AllowDelete = False Else Grd.AllowDelete = True Adodc.Recordset.Delete End If lbSokq1.Caption = "Sè b¶n ghi:" & Adodc.Recordset.RecordCount End Sub Form Nhập Điểm (FrmNhapDiem): Private Sub cbKhoaHoc_LostFocus() If cbLopHoc.ListCount 0 Then cbLopHoc.Clear End If Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc2.CommandType = adCmdText Adodc2.RecordSource = "select MaLH,TenLH from LopHoc where MaKH='" & TachMa(cbKhoaHoc.Text) & "'" Adodc2.Refresh If Adodc2.Recordset.EOF Adodc2.Recordset.BOF Then Adodc2.Recordset.MoveFirst End If Do While Not Adodc2.Recordset.EOF cbLopHoc.AddItem (Adodc2.Recordset![MaLH] & "_" & Adodc2.Recordset![TenLH]) Adodc2.Recordset.MoveNext Loop End Sub Private Sub cbLopHoc_LostFocus() If cbMaHocVien.ListCount 0 Then cbMaHocVien.Clear End If Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc.CommandType = adCmdText Adodc.RecordSource = "select MaHV, TenHV from HocVien where MaLH='" & TachMa(cbLopHoc.Text) & "'" Adodc.Refresh If Adodc.Recordset.EOF Adodc.Recordset.BOF Then Adodc.Recordset.MoveFirst End If Do While Not Adodc.Recordset.EOF cbMaHocVien.AddItem (Adodc.Recordset![MaHV] & "_" & Adodc.Recordset![TenHV]) Adodc.Recordset.MoveNext Loop End Sub Private Sub cbMaHocVien_LostFocus() Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc3.CommandType = adCmdText Adodc3.RecordSource = "select TenHV,DiemDA,DiemThi,DiemKhac from HocVien where MaHV='" & TachMa(cbMaHocVien.Text) & "'" Adodc3.Refresh If cbMaHocVien.Text = "" Then Exit Sub Else End If End Sub Private Sub cmdCapNhat_Click() If cbKhoaHoc.Text = "" Or cbLopHoc.Text = "" Or cbMaHocVien = "" Then MsgBox "B¹n ch­a nhËp ®ñ th«ng tin!", , "AISchool" Exit Sub End If Adodc3.Recordset.Update Adodc3.Refresh End Sub Private Sub cmdNhapTiep_Click() cbKhoaHoc.Text = "" cbLopHoc.Text = "" cbMaHocVien.Text = "" txtDiemDuAn.Text = "" txtDiemThi.Text = "" txtDiemKhac.Text = "" End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub Form_Load() Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select MaKH,TenKH from KhoaHoc" Adodc1.Refresh If Adodc1.Recordset.EOF Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst End If Do While Not Adodc1.Recordset.EOF cbKhoaHoc.AddItem (Adodc1.Recordset![MaKH] & "_" & Adodc1.Recordset![TenKH]) Adodc1.Recordset.MoveNext Loop End Sub Form Tìm kiếm Khóa học (FrmTKKhoaHoc): Public kh As String Private Sub cmdKetthuctimkiem_Click() txtGiaTri.Text = "" cbTimTheo.Text = "" txtGiaTri2.Text = "" cbTieuChi2.Text = "" txtGiaTri2.Text = "" cbDieuKien1.Text = "" cbDieuKien2.Text = "" cbKetHop.Text = "" NapAdodc lbSokq.Caption = "" End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub MotDK() Dim str As String Dim trloi As Integer Dim dk As String If cbDieuKien1.Text = "" Then MsgBox "B¹n ch­a chän ®iÒu kiÖn t×m kiÕm!", , "AISchool" Exit Sub ElseIf cbDieuKien1.Text = "B»ng" Then dk = "=" ElseIf cbDieuKien1.Text = "Nhá h¬n" Then dk = "<" ElseIf cbDieuKien1.Text = "Lín h¬n" Then dk = ">" ElseIf cbDieuKien1.Text = "Lín h¬n hoÆc b»ng" Then dk = ">=" ElseIf cbDieuKien1.Text = "Nhá h¬n hoÆc b»ng" Then dk = "<=" End If If cbTimTheo.Text = "" Then trloi = MsgBox("B¹n h·y nhËp tiªu thøc cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then cbTimTheo.SetFocus Exit Sub End If ElseIf txtGiaTri.Text = "" Then trloi = MsgBox("B¹n h·y nhËp vµo gi¸ trÞ cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then txtGiaTri.SetFocus Exit Sub End If ElseIf cbTimTheo.Text = "M· khãa häc" Then str = "MaKH" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " '" & txtGiaTri.Text & "' ORDER BY MaKH " ElseIf cbTimTheo.Text = "Tªn khãa häc" Then str = "TenKH" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " '" & txtGiaTri.Text & "' ORDER BY MaKH " Adodc.Refresh ElseIf cbTimTheo.Text = "Ngµy b¾t ®Çu" Then str = "NgayBD" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " DateValue('" & txtGiaTri.Text & "') ORDER BY MaKH " ElseIf cbTimTheo.Text = "Thêi gian" Then str = "ThoiGian" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " " & txtGiaTri.Text & " ORDER BY MaKH " ElseIf cbTimTheo.Text = "M· lo¹i KH 2" Then str = "MaLoaiKH2" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " '" & txtGiaTri.Text & "' ORDER BY MaKH " ElseIf cbTimTheo.Text = "PhÇn ®iÓm dù ¸n" Then str = "PhanDiemDA" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " " & txtGiaTri.Text & " ORDER BY MaKH " ElseIf cbTimTheo.Text = "PhÇn ®iÓm thi" Then str = "PhanDiemThi" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " " & txtGiaTri.Text & " ORDER BY MaKH " ElseIf cbTimTheo.Text = "PhÇn ®iÓm kh¸c" Then str = "PhanDiemKhac" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " " & txtGiaTri.Text & " ORDER BY MaKH " ElseIf cbTimTheo.Text = "Häc phÝ" Then str = "HocPhi" Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " " & txtGiaTri.Text & " ORDER BY MaKH " End If Adodc.Refresh lbSokq.Caption = "Sè kÕt qu¶:" & Adodc.Recordset.RecordCount End Sub Private Sub HaiDK() Dim str As String Dim trloi As Integer Dim dk As String If cbDieuKien1.Text = "" Then MsgBox "B¹n ch­a chän ®iÒu kiÖn t×m kiÕm!", , "AISchool" Exit Sub ElseIf cbDieuKien1.Text = "B»ng" Then dk = "=" ElseIf cbDieuKien1.Text = "Nhá h¬n" Then dk = "<" ElseIf cbDieuKien1.Text = "Lín h¬n" Then dk = ">" ElseIf cbDieuKien1.Text = "Lín h¬n hoÆc b»ng" Then dk = ">=" ElseIf cbDieuKien1.Text = "Nhá h¬n hoÆc b»ng" Then dk = "<=" End If If cbTimTheo.Text = "" Then trloi = MsgBox("B¹n h·y nhËp tiªu thøc cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then cbTimTheo.SetFocus Exit Sub End If ElseIf txtGiaTri.Text = "" Then trloi = MsgBox("B¹n h·y nhËp vµo gi¸ trÞ cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then txtGiaTri.SetFocus Exit Sub End If End If Dim trloi2 As Integer Dim dk2 As String If cbDieuKien2.Text = "" Then MsgBox "B¹n ch­a chän ®iÒu kiÖn t×m kiÕm!", , "AISchool" Exit Sub ElseIf cbDieuKien2.Text = "B»ng" Then dk2 = "=" ElseIf cbDieuKien2.Text = "Nhá h¬n" Then dk2 = "<" ElseIf cbDieuKien2.Text = "Lín h¬n" Then dk2 = ">" ElseIf cbDieuKien2.Text = "Lín h¬n hoÆc b»ng" Then dk2 = ">=" ElseIf cbDieuKien2.Text = "Nhá h¬n hoÆc b»ng" Then dk2 = "<=" End If If cbTieuChi2.Text = "" Then trloi = MsgBox("B¹n h·y nhËp tiªu thøc cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then cbTieuChi2.SetFocus Exit Sub End If ElseIf txtGiaTri2.Text = "" Then trloi = MsgBox("B¹n h·y nhËp vµo gi¸ trÞ cÇn t×m kiÕm", vbOKOnly, "AISchool") If trloi = vbOK Then txtGiaTri2.SetFocus Exit Sub End If End If Dim st As String If cbTimTheo.Text = "M· khãa häc" Then str = "MaKH" ElseIf cbTimTheo.Text = "Tªn khãa häc" Then str = "TenKH" ElseIf cbTimTheo.Text = "Ngµy b¾t ®Çu" Then str = "NgayBD" ElseIf cbTimTheo.Text = "Thêi gian" Then str = "ThoiGian" ElseIf cbTimTheo.Text = "M· lo¹i KH 2" Then str = "MaLoaiKH2" ElseIf cbTimTheo.Text = "PhÇn ®iÓm dù ¸n" Then str = "PhanDiemDA" ElseIf cbTimTheo.Text = "PhÇn ®iÓm thi" Then str = "PhanDiemThi" ElseIf cbTimTheo.Text = "PhÇn ®iÓm kh¸c" Then str = "PhanDiemKhac" ElseIf cbTimTheo.Text = "Häc phÝ" Then str = "HocPhi" End If If cbTieuChi2.Text = "M· khãa häc" Then st = "MaKH" ElseIf cbTieuChi2.Text = "Tªn khãa häc" Then st = "TenKH" ElseIf cbTieuChi2.Text = "Ngµy b¾t ®Çu" Then st = "NgayBD" ElseIf cbTieuChi2.Text = "Thêi gian" Then st = "ThoiGian" ElseIf cbTieuChi2.Text = "M· lo¹i KH 2" Then st = "MaLoaiKH2" ElseIf cbTieuChi2.Text = "PhÇn ®iÓm dù ¸n" Then st = "PhanDiemDA" ElseIf cbTieuChi2.Text = "PhÇn ®iÓm thi" Then st = "PhanDiemThi" ElseIf cbTieuChi2.Text = "PhÇn ®iÓm kh¸c" Then st = "PhanDiemKhac" ElseIf cbTieuChi2.Text = "Häc phÝ" Then st = "HocPhi" End If If str = "NgayBD" And (st = "MaKH" Or st = "TenKH" Or st = "MaLoaiKH2") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " DateValue('" & txtGiaTri.Text & "')" & kh & " " & st & dk2 & " '" & txtGiaTri2.Text & "' ORDER BY MaKH " Adodc.Refresh ElseIf str = "NgayBD" And (st = "ThoiGian" Or st = "PhanDiemDA" Or st = "PhanDiemThi" Or st = "PhanDiemKhac" Or st = "HocPhi") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & " DateValue('" & txtGiaTri.Text & "')" & kh & " " & st & dk2 & txtGiaTri2.Text & " ORDER BY MaKH " Adodc.Refresh ElseIf (str = "MaKH" Or str = "TenKH" Or str = "MaLoaiKH2") And st = "NgayBD" Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & st & dk2 & " DateValue('" & txtGiaTri2.Text & "')" & kh & " " & str & dk & "'" & txtGiaTri.Text & "' ORDER BY MaKH " Adodc.Refresh ElseIf (str = "MaKH" Or str = "TenKH" Or str = "MaLoaiKH2") And (st = "MaKH" Or st = "TenKH" Or st = "MaLoaiKH2") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & "'" & txtGiaTri.Text & "' " & kh & " " & st & dk2 & "'" & txtGiaTri2.Text & "' ORDER BY MaKH " Adodc.Refresh ElseIf (str = "MaKH" Or str = "TenKH" Or str = "MaLoaiKH2") And (st = "ThoiGian" Or st = "PhanDiemDA" Or st = "PhanDiemThi" Or st = "PhanDiemKhac" Or st = "HocPhi") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & "'" & txtGiaTri.Text & "' " & kh & " " & st & dk2 & txtGiaTri2.Text & " ORDER BY MaKH " Adodc.Refresh ElseIf (str = "ThoiGian" Or str = "PhanDiemDA" Or str = "PhanDiemThi" Or str = "PhanDiemKhac" Or str = "HocPhi") And st = "NgayBD" Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & st & dk2 & " DateValue('" & txtGiaTri2.Text & "') " & kh & " " & str & dk & txtGiaTri.Text & " ORDER BY MaKH " Adodc.Refresh ElseIf (str = "ThoiGian" Or str = "PhanDiemDA" Or str = "PhanDiemThi" Or str = "PhanDiemKhac" Or str = "HocPhi") And (st = "MaKH" Or st = "TenKH" Or st = "MaLoaiKH2") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & txtGiaTri.Text & " " & kh & " " & st & dk2 & "'" & txtGiaTri2.Text & "' ORDER BY MaKH " Adodc.Refresh ElseIf (str = "ThoiGian" Or str = "PhanDiemDA" Or str = "PhanDiemThi" Or str = "PhanDiemKhac" Or str = "HocPhi") And (st = "ThoiGian" Or st = "PhanDiemDA" Or st = "PhanDiemThi" Or st = "PhanDiemKhac" Or st = "HocPhi") Then Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc where " & str & dk & txtGiaTri.Text & kh & " " & st & dk2 & txtGiaTri2.Text & " ORDER BY MaKH " Adodc.Refresh End If End Sub Private Sub cmdTim_Click() If cbKetHop.Text = "" Then MotDK ElseIf cbKetHop.Text = "Vµ" Then kh = "And" HaiDK ElseIf cbKetHop.Text = "HoÆc" Then kh = "OR" HaiDK End If Adodc.Refresh lbSokq.Caption = "Sè kÕt qu¶:" & Adodc.Recordset.RecordCount End Sub Private Sub Form_Load() Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" NapAdodc End Sub Private Sub NapAdodc() Adodc.CommandType = adCmdText Adodc.RecordSource = "Select MaKH,TenKH,ThoiGian,NgayBD, MaLoaiKH2,PhanDiemDA,PhanDiemThi,PhanDiemKhac,HocPhi,Mota From KhoaHoc order by MaKH" Adodc.Refresh End Sub Form báo cáo thông tin học viên (frmBCHV): Option Explicit Dim txtc As TextBox Dim loai As String Private Sub cld1_Click() txtc.Text = cld1.Value cld1.Visible = False End Sub Private Sub cmdNBD_Click() Set txtc = txtNBD cld1.Visible = True cld1.SetFocus If Not IsNull(txtc.Text) Then cld1.Value = txtc.Text Else cld1.Value = Date End If End Sub Private Sub cmdNKT_Click() Set txtc = txtNKT cld1.Visible = True If Not IsNull(txtc.Text) Then cld1.Value = txtc.Text Else cld1.Value = Date End If End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdXT_Click() Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc.CommandType = adCmdText If loai = "TÊt c¶" Then Adodc.RecordSource = " SELECT TenKH,TenLH,MaHV,TenHV,NgaySinh,GioiTinh,DienThoai,NgayDangKy From HocVien,LopHoc,KhoaHoc where HocVien.MaLH=LopHoc.MaLH and LopHoc.MaKH=KhoaHoc.MaKH and NgayDangKy Between datevalue('" & txtNBD.Text & "') and datevalue('" & txtNKT.Text & "');" rpt1.ReportFileName = App.Path & "\Report\RptHocVien3.rpt" Adodc.Refresh rpt1.SetTablePrivateData 0, 3, Adodc.Recordset rpt1.Formulas(0) = "NBD='" & txtNBD.Text & "'" rpt1.Formulas(1) = "NKT='" & txtNKT.Text & "'" rpt1.PrintReport ElseIf loai = "Theo khãa häc" Then Adodc.RecordSource = "SELECT TenLH,MaHV,TenHV,NgaySinh,GioiTinh,DienThoai,NgayDangKy From HocVien,LopHoc where HocVien.MaLH=LopHoc.MaLH and NgayDangKy Between datevalue('" & txtNBD.Text & "') and datevalue('" & txtNKT.Text & "') and MaKH='" & TachMa(cbKhoaHoc.Text) & "';" rpt1.ReportFileName = App.Path & "\Report\RptHocVien4.rpt" Adodc.Refresh rpt1.SetTablePrivateData 0, 3, Adodc.Recordset rpt1.Formulas(0) = "NBD='" & txtNBD.Text & "'" rpt1.Formulas(1) = "NKT='" & txtNKT.Text & "'" rpt1.Formulas(2) = "KH='" & cbKhoaHoc.Text & "'" rpt1.PrintReport ElseIf loai = "Theo líp häc" Then Adodc.RecordSource = "SELECT MaHV,TenHV,NgaySinh,GioiTinh,DienThoai,NgayDangKy From HocVien where NgayDangKy Between datevalue('" & txtNBD.Text & "') and datevalue('" & txtNKT.Text & "') and MaLH='" & TachMa(cbLopHoc.Text) & "';" rpt1.ReportFileName = App.Path & "\Report\RptHocVien5.rpt" Adodc.Refresh rpt1.SetTablePrivateData 0, 3, Adodc.Recordset rpt1.Formulas(0) = "NBD='" & txtNBD.Text & "'" rpt1.Formulas(1) = "NKT='" & txtNKT.Text & "'" rpt1.Formulas(2) = "KH='" & cbLopHoc.Text & "'" rpt1.PrintReport End If End Sub Private Sub Form_Load() cbKhoaHoc.Enabled = False cbLopHoc.Enabled = False End Sub Private Sub Option1_Click(Index As Integer) If Index = 0 Then loai = "TÊt c¶" ElseIf Index = 1 Then loai = "Theo khãa häc" cbKhoaHoc.Enabled = True Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select MaKH,TenKH from KhoaHoc" Adodc1.Refresh If Adodc1.Recordset.EOF Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst End If Do While Not Adodc1.Recordset.EOF cbKhoaHoc.AddItem (Adodc1.Recordset![MaKH] & "_" & Adodc1.Recordset![TenKH]) Adodc1.Recordset.MoveNext Loop ElseIf Index = 2 Then loai = "Theo líp häc" cbLopHoc.Enabled = True Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database\csdl.mdb;Persist Security Info=False" Adodc2.CommandType = adCmdText Adodc2.RecordSource = "select MaLH,TenLH from LopHoc" Adodc2.Refresh If Adodc2.Recordset.EOF Adodc2.Recordset.BOF Then Adodc2.Recordset.MoveFirst End If Do While Not Adodc2.Recordset.EOF cbLopHoc.AddItem (Adodc2.Recordset![MaLH] & "_" & Adodc2.Recordset![TenLH]) Adodc2.Recordset.MoveNext Loop End If End Sub MỤC LỤC

Các file đính kèm theo tài liệu này:

  • doc28912.doc
Tài liệu liên quan