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.
126 trang |
Chia sẻ: aloso | Lượt xem: 1674 | Lượt tải: 0
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 cha 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 cha 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 cha 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 cha 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 cha 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 cha 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 cha 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:
- 28912.doc