Microsoft Visual Basic là một ngôn ngữ lập trình được hãng Microsoft phát triển .Visual Basic gắn liền với khái niệm lập trình trực quan, nghĩa là khi thiết kế chương trình bạn nhìn ngay thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là thuận lợi lớn so với ngôn ngữ lập trình khác, Visual Basic cho phép bạn chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng. Về mặt công nghệ lập trình cũng như tổ chức môi trường làm việc, phiên bản 5.0 và 6.0 có nhiều ưu điểm hơn. Mặt khác, phiên bản 5.0 32 bit và 6.0 được phép xây dựng các ứng dụng 32 bit với môi trường làm việc là Microsoft Windows 98, Window 2000. Cụ thể:
110 trang |
Chia sẻ: Dung Lona | Lượt xem: 1136 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng chương trình quản lý nhân sự và Tiền lương của Trung tâm công nghệ thông tin thuộc Công ty Điện lực Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g hay một quá trình. Chức năng quan trọng trong mô hình luồng dữ liệu là biến đổi thông tin từ đầu vào theo một cách nào đó.
ã Tác nhân ngoài: Là một người, một nhóm người ở bên ngoài lĩnh vực nghiên cứu của
hệ thống, nhưng có trao đổi thông tin về hệ thống.
ã Tác nhân trong: Là một chức năng hoặc một quá trình ở bên trong hệ thống được mô
Tên tác nhân
ã Luồng dữ liệu: Là luồng thông tin vào ra của một quá trình hoặc một chức năng xử lý, mũi tên chỉ ra hướng của luồng thông tin.
ã Kho dữ liệu: Là luồng thông tin lưu trữ trong một khoảng thời gian để một hoặc nhiều chức năng truy nhập vào, chúng có thể là các tệp dữ liệu được lưu trong máy tính
Các phích logic
Phích xử lý logic
Phích luồngdữ liệu
Phích phần tử thông tin
Phích kho dữ liệu
Phích tệp dữ liệu
+ Phích xử lý logic :
Tên xử lý:
Mô tả:
Tên DFD liên quan:
Các luồng dữ liệu vào :
Các luồng dữ liệu ra:
Kho dữ liệu mà xử lý sử dụng:
Mô tả logic của xử lý:
+ Phích luồng dữ liệu:
Tên luồng:
Mô tả:
Tên DFD liên quan :
Nguồn :
Đích :
Các phẩn tử thông tin :
+ Phích phần tử thông tin:
Tên phần tử thông tin :
Loại:
Độ dài:
Tên DFD có liên quan:
Các giá trị cho phép:
+ Phích kho dữ liệu:
Tên kho:
Mô tả:
Tên DFD có liên quan :
Các xử lý có liên quan :
Tên sơ đồ cấu trúc dữ liệu có liên quan :
+ Phích tệp dữ liệu:
Tên tệp:
Mô tả:
Tên DFD có liên quan :
Các phẩn tử thông tin :
Khối lượng ( Bản ghi , ký tự):
DM.Huyện
Hệ thống quản lý
Hệ thống
Cập nhật danh mục
Thay đổi mật khẩu
Giới thiệu
DM.Chức Vụ
DMChuyên Môn
DM.Dân tộc
DM.Tôn giáo
BáoCáo Hồ Sơ CB
BáoCáoLí Lịch CB
BáoCáoThâm Niên
Thoát
DM.Tỉnh
Thao tác dữ liệu
Hồ sơ cán bộ
Tra cứu dữ liệu
Chuyển phòng công tác
Báo Cáo Lương
Báo Cáo HĐLĐ
BáoCáo Lương
Quản Lý Lương
Lương Cán Bộ
Tìm Kiếm HSLương
Báo Cáo Lương
Báo Cáo thống kê
DM.Phòng Ban
3.1 Biểu đồ Phân Cấp chức năng hệ thống quản lý nhân sự
3.2 Biểu đồ luồng DL mức ngữ cảnh
Cán bộ
(0)
Hệ thống
quản lý cán bộ
Nhân viên quản lí
T.tin tra cứu
T.tin thay đổi NS
Báo cáo
TTvề
CB
Hình 3.2 Biểu đồ luồng dữ liệu mức ngữ cảnh
3.3 Biểu đồ luồng dữ liệu mức 0( DFD Mức 0)
T.tin Hệ thống
(1)
Hệ thống
T.tin Danh mục
(2)
Cập nhật danh mục
Dữ Liệu
Dữ Liệu
T.tin HĐLĐ
(3)
Thao tác dữ liệu
Kho Hồ Sơ
Hệ Thống Quản Lý
Dữ Liệu
T.tin Lương
(4)
Quản lý
Lương
Dữ Liệu
Dữ Liệu
(5)
Báo cáo
Thống Kê
Báo Cáo
Hình 3.3 Biểu đồ luồng dữ liệu mức đỉnh
3.4 Biểu đồ dữ liệu mức 1 của Thao tác dữ liệu
Thông Tin Cập Nhật
Hồ sơ Cán bộ
Cán Bộ Quản Lý
T.tin
Tìm
Kiếm
T.tin
đáp ứng
Kết quả
YC Thông tin Lương CB
Dư Liệu
Tra cứu
Hệ thống hồ sơ
Cập nhật
Dư
Liệu
Quyết định chuyển phòng
Chuyển phòng
3.5 Biểu Đồ Dư Liệu Mức 1 của Danh mục cập nhật
Cán bộ quản lý
Cập Nhật
Tỉnh
Cập Nhật
Tôn giáo
T.Tin Tỉnh
T.Tin Tôn giáo
T.Tin Chức Vụ
Cập Nhật Phòng Ban
T.Tin Phòng Ban
Cập nhật huyện
LưuTTPhòng
Lấy TT Phòng
Dữ liệu ra
Lấy TT Chức vụ
Dữ Liêu ra
Dữ Liêu ra
Dữ Liêu ra
Dữ Liêu ra
Dữ Liêu ra
Lấy TT Huyện
Lấy TT Tôn giáo
Lấy TT Tỉnh
Lấy TT Dân tộc
LưuTT TG
LưuTTTỉnh
LưuTTHuyện
Cập Nhật
Chức Vụ
Cập Nhật
Dân tộc
T.Tin Dân tộc
Danh Mục
T.Tin Huyện
Hình 3.5 Biểu Đồ Dư Liệu Mức Dưới Đỉnh Chức Năng Cập Nhập Danh Mục
3.6 Biểu Đồ Dư Liệu Mức Dưới 1 Chức Năng Quản Lý Lương
Cán Bộ Quản Lý
Cập Nhật
Lương CB
Lương
Tìm kiếm HSL
Lương
Báo Cáo
Lương
Thông Tin Cập Nhật
T.tin
Tìm
Kiếm
T.tin
đáp ứng
Báo Cáo
Dư
Liệu
Dư Liệu
3.7 Biểu Đồ Dư Liệu Mức 1 Báo cáo thống kê
Quản Lý Cán Bộ
Báo Cáo
Thống Kê
TT Tôn giáo
Giới tính
TT Lương
Hồ Sơ CB
Phòng Ban
Thông tin đáp ứng
T.tin yêu cầu
Chức Vụ
Hồ sơ cán Bộ
TT.phòng ban
TT.chức vụ
TT.Tôn giáo
TT.Giới tính
TT.Lương
Hình 3.8 Biểu Đồ Dư Liệu Mức1Chức Năng Báo Cáo Thống Kê
4. Cơ sở dữ liệu
Sự thay đổi thông tin vào đều ảnh hưởng tới thông tin ra khỏi hệ thống. Mọi sự thay đổi tạo nên luồng dữ liệu mang tính tự nhiên chịu sự ảnh hưởng của hệ thống DL và như vậy để xây dựng được chương trình có thể chia thông tin thành những tệp chính gồm: các tập tin dùng để lưu giữ thông tin và tập tin thống kê định kỳ, tìm kiếm theo yêu cầu nào đó của người quản lý.
Trong hệ thống quản lý thông tin vấn đề quan tâm là thông tin của hệ thống được lấy ở đâu, việc khai thác DL như thế nào? người sử dụng khai thác chương trình như: nhập, sửa, thêm bớt DL do vậy khi thiết kế File CSDL, cần quan tâm đến DL nào cần lưu trữ, kiểu DL được lưu trữ, số bộ nhớ giành cho nó để đỡ lãng phí bộ nhớ. Việc tách thông tin làm cho CSDL gọn nhẹ hơn, đồng thời việc tổ chức lưu trữ thông tin khoa học hơn dẫn đến công việc tìm kiếm thông tin sẽ nhanh hơn, làm giảm bộ nhớ và tần số truy cập. Hơn nữa lưu trữ khoa học sẽ đỡ thông tin chồng chéo nhau, thông tin không được chuẩn hoá dẫn đến dư thừa thông tin và tìm kiếm sẽ khó khăn và thiếu chính xác...
4.1 Bảng cơ sở dữ liệu
a.Mô hình dữ liệu thực thể
Khi thiết kế các File dữ liệu,có thể chúng được dùng cho nhiều tiến trình khác nhau ,như thế có thể có một số dữ liệu được sao chép nhiều lần.
Vai trò của mô hình thực thể là xác định các đơn vị thông tin cơ sở cần thiết cho hệ thống ,xác định các mối quan hệ của chúng.Đièu này có nghĩa là tất cả các dữ liệu chỉ lưu một lần trong cả hệ thống ,bất cứ các tiến trình nào cũng có thể truy nhập vào cơ sở dữ liệu chung này.Việc xác định thực thể phải xác định các bảng dữ liệu trong hệ thống và mối quan hệ giữa chúng.
* Thực thể là một khái niệm để chỉ một lớp đồi tượng cụ thể hay các khái niệm có cùng những đặc trưng chung mà ta quan tâm mỗi thực thể được gán một cái tên.Tên thực thể là một cụm danh từ và viết bằng chữ in.Một thực thể được biểu diến bằng một hình chữ nhật có tên bên trong
Các thực thể vốn tồn tại trong thế giới thực ví dụ Người (Nhân viên, Sinh viên).Nừu như thực thể để chỉ một lớp đối tượng, thì một đối tượng cụ thể của lớp đó gọi là bản thể Ví dụ Sinh viên được đặc trưng băng tên sinh viên, địa chỉ.Mối thực thể được mô tả một lần trong cơ sở dữ liệu.
*Thuộc tính: Là đặc trưng của thực thể .Mỗi thực thể có một tập các thuộc tính gắn kết với nó .Ví dụ thực thể Cán bộ Là Mã cán bộ, Tên cán bộ, giới tính..
Các thuộc tính của thực thể có thể phân làm nhiều loại khác nhau.Dưới đây một số loại thực thể : +Thuộc tinh tên gọi
+Thuộc tính định danh
+Thuộc tính lặp
+Thuộc tính tên gọi của một thực thể mà mỗi giá trị của nó cho tên gọi của bản thể gọi là thuộc tính, và nhờ thuộc tính này mà có thể nhận biết được bản thể
+Thuộc tính định danh:Là một hay một số thuộc tính của một thực thể mà giá trị của nó cho phép ta phân biệt được các bản thể khác nhau của một thực thể.
Trong một thực thể có thể có nhiều nhóm thuộc tính có thể chọn là định danh Ví dụ Định danh của Cán bộ là Mã CB.Trong mỗi thực thể thuộc tính định danh được gạch chân để phân biết với các thuộc tinhs khác.
+Thuộc tính đa trị của một thực thể:là một thuộc tính có thể nhận nhiều hơn một giá trị đối với bản thể.Được mô tả bằng hình elipkép
*Mối quan hệ các bảng trong hệ thống chia làm ba loại:
+ Quan hệ Một –Một:Là mối quan hệ mà thực thể của bảng này tương đương một thực thể của bản kia và ngược lại
Sơ đồ
Quan hệ
12111
A 1 1 B
+Quan hệ Một- Nhiều:là một mối quán hệ mà một thực thể của bảng này có quan hệ với nhiều thực thể của bảng kia, nhưng một thực thể của bảng bên kia chỉ có duy nhất một thực thể quan hệ với nó
Sơ đồ;
Quan hệ
B
A
1 N
+Quan hệ Nhiều- Nhiều:Là quan hệ mà một thực thể của bảng này có quan hệ với nhiều thực thể của bảng kia và ngược lại
Quan hệ
Sơ đồ
B
A
N N
1.Bảng Hồ sơ nhân viên:
File name
DataType
File Size
Description
MaCB
Text
7
Mã Cán Bộ
Maphongban
Text
5
Mã phòng ban
Hoten
Text
30
Họ và tên
Ngaysinh
Date
10
Ngày tháng năm sinh
Gioitinh
Text
10
Giới Tính
Nguyenquan
Text
40
Nguyêm quán
SoCMT
Text
15
Số Chứng minh thư
Điachithuongtru
Text
40
Địa chỉ thường trú
Tongiao
Text
10
Tôn giáo
Dân tộc
Text
17
Dân tộc
Trinhdohocvan
Text
20
Trình độ học vấn
Trinhdovanhoa
Text
20
Trình độ văn hoá
Dt
Text
15
Địên thoại
Chucvu
Text
15
Chức vụ
Hinh
Text
40
Hình
2.Bảng Chức vụ:
File name
DataType
File Size
Description
Machucvu
Text
5
Mã chức vụ
Tên chức vụ
Text
15
Text
3.Bảng Dân tộc(tblDantoc):
File name
DataType
File Size
Description
Madantoc
Text
5
Mã dân tộc
Tendantoc
Text
17
Tên dân tộc
4.Bảng Giới tính(tblGioitinh):
File name
DataType
File Size
Description
Magioitinh
Text
5
Mã Giới tính
Tengioitinh
Text
10
Tên Giới tính
5.Bảng Hợp đồng(tblHopdong):
File name
DataType
File Size
Description
Stt
Text
5
Số thứ tự
MaCB
Text
7
Mã Cán bộ
Hoten
Text
30
Họ và tên
Ngaysinh
Date
10
Ngày sinh
Gioitinh
Text
10
Giới tính
Diachi
Text
40
Địa chỉ
LoaiHĐ
Text
8
Loại hợp đồng
SoHD
Text
10
Số hợp đồng
NgaykiHD
Date
10
Ngày kí hợp đồng
Ngaybatdau
Date
10
Ngày bắt đầu
Ngayketthuc
Date
10
Ngày kết thúc
Congviec
Text
50
Công việc
6.Bảng Phòng ban(tblPhongban):
File name
DataType
File Size
Description
Maphongban
Text
5
Mã phòng ban
Tenphongban
Text
15
Tên phòng ban
7.Bảng Khen thưởng(tblKhenthuong):
File name
DataType
File Size
Description
Stt
Text
5
Số thứ tự
MaCB
Text
7
Mã cán bộ
HotenCB
Text
30
Họ tên cán bộ
Soquyetdinhkhenthuong
Text
9
Số quyết định khen thưởng
CapQD
Text
15
Cấp quyết định
NgayQD
Date
10
Ngày quyết định
NodungKT
Text
50
Nội dung khen thưởng
Lido
Text
50
Lí do
8.Bảng Kỉ luật(tblKiluat):
File name
DataType
File Size
Description
Stt
Text
5
Số thứ tự
MaCb
Text
7
Mã cán bộ
HotenCB
Text
30
Họ tên cán bộ
SoQDkiluat
Text
9
Số quyết định kỉ luật
CapQDkiluat
Text
15
Cấp quyết định kỉ luật
Hinhthuckiluat
Text
20
Hìmh thức kỉ luật
Lidokiluat
Text
50
Lí do kỉ luật
NgayQD
Date
10
Ngày quyết định
9.Bảng Tôn giáo(tblTongiao):
File name
DataType
File Size
Description
Matongiao
Text
5
Mã Tôn giáo
Tentongiao
Text
18
Tên tôn giáo
10.Quá trình đào tạo(tblQuatrinhdaotao):
File name
DataType
File Size
Description
Stt
Text
5
Số thứ tự
MaCb
Text
7
Mã cán bộ
Hedaotao
Text
15
Hệ đạo tạo
Tungay
Date
10
Từ ngày
Denngay
Date
10
Đến ngày
Chuyennganh
Text
20
Chuyên ngành
11.Quá trình công tác(tblQuatrinhcongtac):
File name
DataType
File Size
Description
Stt
Text
5
Số thứ tự
MaCb
Text
7
Mã cán bộ
Hoten
Text
30
Họ và tên
Tungay
Date
10
Từ ngày
Denngay
Date
10
Đến ngày
Congviec
Text
30
Công việc
Tenphongban
Text
15
Tên phòng ban
Chucvu
Text
15
Chức vụ
Ghichu
Text
50
Ghi chú
12.Bảng Văn bằng chứng chỉ(tblvanbangchungchi):
File name
DataType
File Size
Description
MaCb
Text
5
Mã cán bộ
Ngoaingu
Text
15
Ngoại ngữ
Trinhdongoaingu
Text
15
Trình độ ngoại ngữ
Quanlinhanuoc
Text
20
Quản lí nhà nước
Trinhdochinhtri
Text
20
Trình độ chính trị
13.Bảng Nghỉ hươ(tbl(nghihuu):
File name
DataType
File Size
Description
MaCb
Text
5
Mã cán bộ
Ngaynghi
Date
10
Ngày nghỉ
Hovaten
Text
30
Họ và tên
Tuoi
Text
10
Tuổi
ThoigiandongBH
Text
15
Thời gian đóng bảo hiểm
Maphongban
Text
10
Mã phòng ban
Gioitinh
Text
10
Giới tính
4.Bảng Bảo hiểm XH
Số TT
Tên trường
Kiểu DL
độ rộng
GiảI thích
1
Macb
Text
5
Mã cán bộ
2
SoBHXH
Text
10
Số Bảo Hiểm Xã Hội
3
Ngaycap
Date
10
Ngày Cấp
4
Noicap
Text
20
Nơi Cấp
5
MucBHXH
Text
10
Mức đóng BHXH
6
Diengiai
Text
20
Diễn Giải
15.Bảng Bảo hiểm Y tế
Số TT
Tên trường
Kiểu DL
độ rộng
GiảI thích
1
Macb
Text
5
Mã cán bộ
2
SoBHYT
Text
10
Số BHYT
3
Ngaycap
Date
10
Ngày Cấp
4
Noicap
Text
20
Nơi cấp
5
Ngayhethan
Date
10
Ngày hết hạn
16.Luong
STT
Tên trương
Kiểu DL
Độ rộng
GiảI thích
1
SoTT
Text
10
Số thứ tự
2
Macb
Text
5
Mã cán bộ
3
Hesoluong
number
10
Hệ số lương
4
Bacluong
number
10
Bậc lương
5
Luongcoban
number
10
Lương cơ bản
6
Phucapchucvu
number
10
Phụ cấp choc vụ
7
Phucaptrachnghiem
number
10
Phụ cấp trách nghiệm
8
Namlenluonglansau
Date
10
Năm lên lương lần sau
4.2Mô Hình Thực Thể Liên Kết
4.3. Thiết kế các giải thuật
Trong công tác quản lý nhân sự trên máy tính, mỗi cơ quan đều có hướng quản lý tương đối giống nhau .Tuy nhiên trong các khâu xử lý lưu trữ, tìm kiếm dữ liệu lại tuỳ thuộc vào từng cơ quan mà các cơ quan lại có sự sẵp xếp về tổ chức hoàn toàn khác nhau.Vì vậy để khắc phục được tình trạng này ta nên viết một chương trình riêng về quản lý nhân sự.
Để viết được một chưng trình mang tính khả thi thì đòi hỏi trược tiên là phải có thuật toán đúng, đủ và phải là phưng pháp giải quyết bài toán nhanh nhất, tối ưu nhất
3.1 Sơ đồ thuật toán nhập dữ liệu
Cập nhập
Begin
Nhập
Nhập đầy đủ các thông tin
Có cập nhập k0
Kết thúc
End
Không
Không
Có
Hình 3.1 Sơ đồ thuật toán nhập dữ liệu
Nhập tiếp hay sửa lại không
Không
Có
Hình 3.2 Sơ đồ thuật toán tìm kiếm
Begin
Tìm kiếm
Nhập đ/k tìm kiếm
Có tồn tại không
Hiện đầy đủ dữ
liệu thoả mãn
Hiện thông báo không có dữ liệu thoản mãn
Kết thúc
End
3.2 Sơ đồ thuật toán tìm kiếm
Không
Có
Không
Begin
Xóa
Nhập thông tin cần xoá
Có xoá hay ko
Xoá
Kết thúc
End
Không
Không
Có
Hình 4.3 Thuật toán xoá dữ liệu
3.3 Sơ đồ thuật toán xoá dữ liệu
Nhập tiếp hay sửa lại không
Không
Có
3.4 Sơ đồ thuật toán báo cáo
Begin
Báo cáo
Có báo cáo hay ko
Có xem trước khi in ko
Mở báo cáo
In
Kết thúc
End
Không
Có
Có
Không
Không
Nhập lại điều kiện không
Không
Nhập điều kiện báo cáo
Có
Hình 6.4 Thuật toán báo cáo
5.Các Form chính của chương trình
5.1 Form Mật khẩu
5.2 Form chính
Hình 4.1 Form chính của chương trình
5.3 Form đổi mật khẩu:
5.4Cập nhật dân tộc
5.5 Thông tin cán bộ
Hình 4.2 Danh sách cán bộ
5.6 form Lí lịch cán bộ
Hình 4.3 Lí lịch cán bộ
5.7 form quá trình đào tạo
Hình 4.4 Quá trình đào tạo
5.8 Form Thân nhân
Hình 4.5 Thân nhân
5.9 Form Khen thưởng
Hình 4.6 Thông tin khen thưởng
5.10 Form Hệ số lương
5.11Form Bảo hiểm Y tế
5.12 Form Phụ cấp
53 Form Tìm kiếm
6.báo cáo:
6.1 Báo cáo theo các thông tin tìm kiếm:
6.2Báo Cáo Bộ đội
6.3Thống kê Đoàn Viên
6.3Thống kê Đảng Viên
6.4Báo cáo thâm niêm
Kết Luận
Qua quá trình nghiên cứu, khảo sát, phân tích thiết kế, xây dựng đề tài :Quản lý nhân sự Trung tâm CNTT” .Với sự cố gắng của bản thân, sự tần tình của hướng dẫn và sự trao đổi quý giá của.Đề tài đã được hoàn thành .Qua quá trình phân tích thực tiễn công việc và phân tích thiết kế xây dựng chương trình . Tuy chương trình này còn đang có rất nhiều thiếu sót chưa mang được tính ứng dụng cao mà chỉ mới mang tính chất thử nghiệm. Mặc dù vậy chương trình này cũng mang lại cho nhà quản lý một số hiệu quả sau:
- Giúp cho công tác quản lý được nhanh chóng, chính xác, tiện dụng về nhiều mặt.
- Có thể tự động hóa một số công việc trong công tác quản lý.
- Đáp ứng kịp thời các thông tin tổng hợp và chi tiết theo từng yêu cầu.
- Tiết kiệm được thời gian, công sức và chi phí trong công tác quản lý.
- Tận dụng tối đa những công cụ của phần mềm Visual Basic
+Đề tài góp phần vào việc đưa tin học ứng dụng vào công việc : “Quản lý nhân sự Trung tâm CNTT” .
+Đưa ra các kết quản thoả đáng,mẫu mã đẹp ,dữ liệu an toàn tuyệt đố bí mật,Giải phóng thời gian nhanh chóng, kịp thời đáp ứng đối với bất kỳ điều kiện nào .
Để phục vụ tốt hơn công tác quản lý nhân sự .Chương trình cần có thêm chi tiết cụ thể hơn và khắc phục những hạn chế nảy sinh theo thời gian .Đề tài này còn có những thiếu sót, rất mong được sự quan tâm giúp đỡ và chỉ bảo của các thầy cô cùng với sự đóng góp xây dựng của các bạn có kinh nghiệm về công tác quản lý nhân sự, để khi ra trường phục vụ công tác cơ quan được tốt hơn .
Cuối cùng em xin chân thành cảm ơn những góp ý, chỉ bảo của thầy Bùi Thế Ngũ các thầy cô trong khoa, bạn bè đồng nghiệp và các thầy cô nơi em thực tập đã giúp đỡ em hoàn thành bản đề án này.
Hà Nội, ngày tháng năm 200
Sinh viên thực hiện
Trần quang thanh
Danh mục tài liệu tham khảo
Microsoft VisualBasic 6.0 &Lập trình cơ sở dữ liệu, NXB Lao Động-Xã Hội, Hà Nội, 2002. Tác giả:Nguyễn Thị Ngọc Mai
Giáo trình Cơ Sở Dữ Liệu , NXB Thống Kê, Hà Nội, 2000
Tác giả:Trần Công Uốn
Giáo trình Hệ Thôngd Thông Tin Quản Lý, Hà Nội, 2000
Tác giả:TS.Trương Văn Tú-TS.Trần Thị Song Minh
4.Giáo trình Phân tích thiết kế hệ thống thông tin, Hà Nội,2004
Tác giả :Nguyễn Văn Vỵ
Phụ lục
1.Code Form Mật khẩu
Option Explicit
Private flag As String
Dim rs As New ADODB.Recordset
Dim str
Dim rs1 As New ADODB.Recordset
Dim str1
Private Sub cmdclose_Click()
Unload Me
End Sub
Private Sub cmdconnect_Click()
If txtuser = "" Then
MsgBox "Bạn nhập thông tin đầy đử "
txtuser.SetFocus
Exit Sub
End If
If txtpass = "" Then
MsgBox "Bạn nhập thông tin đầy đử "
txtpass.SetFocus
Exit Sub
End If
str = "select * from tblMatkhau where user='" & Trim(txtuser) & " '"
rs.Open str, Cn, adOpenKeyset, adLockOptimistic
If rs.EOF = False Then
If mahoa(txtpass, txtuser) = rs!pass Then
rs.Close
fMain.Enabled = True
fMain.Show
Unload Me
Exit Sub
Else
MsgBox "Bạn nhập chưa đúng thông tin"
txtpass = ""
txtuser = ""
End If
End If
rs.Close
End Sub
Private Sub Form_Load()
open_mdb
End Sub
Private Sub txtpass_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdconnect.SetFocus
End Select
End Sub
Private Sub txtuser_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
txtpass.SetFocus
End Select
End Sub
2.Code Hồ sơ cán bộ
Private Sub cboTinh_Change()
lblNguyenquan = txtXa + cboHuyen + cboTinh
End Sub
Private Sub cboMahuyen_Change()
Set rs = New ADODB.Recordset
rs.Open "select * from tblHuyen order by Mah", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
cboTenhuyen.AddItem rs(2)
rs.MoveNext
Loop
End If
End Sub
Private Sub cboHuyen_Click()
If txtXa1 = " " Then
lblDiachi = cboHuyen + "-" + lblTentinh1
Else
lblDiachi = txtXa1 + "-" + lblTentinh1 + "-" + cboHuyen
End If
End Sub
Private Sub cbomatinh_Click()
lblTentinh = TimTen(" tblTinh ", cboMatinh)
cboTenhuyen.Clear
Set rs = New ADODB.Recordset
rs.Open "select * from tblHuyen where MaT='" & cboMatinh & "' ", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
cboTenhuyen.AddItem rs(2)
rs.MoveNext
Loop
End If
End Sub
Private Sub cboTenhuyen_Click()
If txtXa = " " Then
lblNguyenquan = cboTenhuyen + "-" + lblTentinh
Else
lblNguyenquan = txtXa + "-" + cboTenhuyen + "-" + lblTentinh
End If
End Sub
Private Sub cboTinh1_Click()
lblTentinh1 = TimTen(" tblTinh ", cboTinh1)
cboHuyen.Clear
Set rs = New ADODB.Recordset
rs.Open "select * from tblHuyen where MaT='" & cboTinh1 & "' ", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
cboHuyen.AddItem rs(2)
rs.MoveNext
Loop
End If
End Sub
Private Sub cboVochong_Click()
If cboVochong Like "Không" Then
txtCon = "_"
End If
End Sub
Private Sub cmdBHXH_Click()
bhxh.Show 1
End Sub
Private Sub cmdBHYT_Click()
BaohiemYT.Show 1
End Sub
Private Sub cmdDaotao_Click()
KhenThuong.Show 1
End Sub
Private Sub cmdHopdong_Click(Index As Integer)
Hopdong.Show 1
End Sub
Private Sub cmdLuong_Click()
luong.Show 1
End Sub
Private Sub cmdNew_Click()
Set_Null
Un_lock_text
End Sub
Private Sub cboChucvu_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from tblChucvu order by Machucvu", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = cboChucvu Then
cboChucvu = rs(1)
End If
rs.MoveNext
Loop
End If
End Sub
Private Sub cboDantoc_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from tblDantoc order by MaDantoc", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = cboDantoc Then
cboDantoc = rs(1)
End If
rs.MoveNext
Loop
End If
End Sub
Private Sub cboMaphongban_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from tblPhongban order by Maphongban", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = cboMaphongban Then
lblTenPB = rs(1)
End If
rs.MoveNext
Loop
End If
End Sub
Private Sub cboTongiao_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from tblTongiao order by Matongiao", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = cboTongiao Then
txtTongiao = rs(1)
End If
rs.MoveNext
Loop
End If
End Sub
Private Sub cmdDel_Click()
If txtMacanbo.Text = "" Then
MsgBox "Bạn chưa nhập dữ liệu? ", , "Thông Báo"
cmdUpdate.SetFocus
Else
Xoa_Du_lieu
End If
End Sub
Private Sub cmdExit_Click()
Dim r
r = MsgBox("Bạn có muốn thoát không?", vbYesNo, "Thông báo")
If r = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdNgoaingu_Click()
Vanbangchungchi.Show 1
End Sub
Private Sub cmdNhananh_Click()
CommonDialog1.Action = 1
picture1.Picture = LoadPicture(CommonDialog1.FileName)
txtDuongdananh = CommonDialog1.FileName
End Sub
Private Sub cmdQuatrinhdaotao_Click()
quatrinhcongtac.Show 1
End Sub
Private Sub cmdSave_Click()
If flag "update" Then
flag = "save"
End If
Luu_du_lieu
Set_Null
End Sub
Private Sub cmdSkip_Click()
Set_Null
Lock_Text
End Sub
Private Sub cmdUpdate_Click()
If txtMacanbo.Text = "" Then
MsgBox "Bạn chưa có dữ liệu để xoá ", , "Thông báo"
cmdUpdate.SetFocus
Else
flag = "update"
sua_du_lieu
End If
cboMatinh = " "
cboTinh1 = ""
lblTentinh = ""
lblTentinh1 = ""
cboHuyen = " "
cboTenhuyen = ""
End Sub
Private Sub Command1_Click()
CongTru.Show 1
End Sub
Private Sub Command3_Click()
Kiluat.Show 1
End Sub
Private Sub Command4_Click()
Quatrinhdaotao.Show 1
End Sub
Private Sub Command5_Click()
Thannhan.Show 1
End Sub
Private Sub Command6_Click()
Doandang.Show 1
End Sub
Private Sub Command7_Click()
BoDoi.Show 1
End Sub
Private Sub Form_Load()
Lock_Text
Display_Listview
Lock_Text
Set rs = New ADODB.Recordset
rs.Open "select Matongiao,Tentongiao from tblTongiao order by Matongiao", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
cboTongiao.AddItem rs(1)
rs.MoveNext
Loop
End If
BoXung1 "tblDantoc", cboDantoc
BoXung "tblGioitinh", cboGioitinh
BoXung "tblPhongban", cboMaphongban
BoXung1 "tblChucvu", cboChucvu
Set rs = New ADODB.Recordset
rs.Open "select MaT,tinh from tblTinh order by MaT", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
cboMatinh.AddItem rs(0)
cboTinh1.AddItem rs(0)
rs.MoveNext
Loop
End If
BoXung "tblVochong", cboVochong
BoXung1 "tblHocvan", cboTrinhdohocvan
BoXung1 "tblTrinhdovanhoa", cboTrinhdovanhoa
BoXung1 "tblThanhphanGD", cboThanhphanGD
BoXung1 "tblTinh", cboNoicap
End Sub
Private Sub Xoa_Du_lieu()
Dim str
Dim response
If Trim(txtMacanbo) = "" Then
Exit Sub
End If
response = MsgBox("Bạn có chắc chắn xoá không?", vbYesNo + vbQuestion, "Thong bao")
If response = vbNo Then
Exit Sub
Else
str = "delete from tblHosocongchuc where MaCb='" & Trim(txtMacanbo) & "'"
Cn.Execute (str)
End If
Set_Null
Lock_Text
Display_Listview
End Sub
Private Sub Luu_du_lieu()
Dim rs As New ADODB.Recordset
Dim str
If Trim(txtMacanbo) = "" Then
MsgBox "Chú ý phải nhập dữ liệu trước khi lưu", vbOKOnly + vbExclamation, "Thông báo"
'Me.MousePointer = 0
Exit Sub
End If
str = "select * from tblHosocongchuc where MaCB='" & Trim(txtMacanbo) & "'"
rs.Open str, Cn
If rs.EOF = True Then
str = "insert into tblHosocongchuc values('" & Trim(txtMacanbo) & "','" & Trim(cboMaphongban) & "','" & Trim(txtHoten) & "','" & Trim(dptNgaysinh) & "', '" & Trim(cboGioitinh) & "','" & Trim(lblNguyenquan) & "','" & Trim(cboChucvu) & "','" & Trim(lblDiachi) & "','" & Trim(txtDienthoai) & "','" & Trim(cboTongiao) & "','" & Trim(cboDantoc) & "','" & Trim(txtSoCMT) & "','" & Trim(cboNoicap) & "','" & Trim(dptNgaycap) & "','" & Trim(cboTrinhdovanhoa) & "','" & Trim(cboTrinhdohocvan) & "','" & Trim(cboThanhphanGD) & "','" & Trim(cboVochong) & "','" & Trim(txtCon) & "','" & Trim(txtDuongdananh) & "' )"
Cn.Execute (str)
Else
If flag = "save" Then
MsgBox "Mã tôn giáo [" & txtMacanbo & "] Đã tồn tại.Xin vui lòng kiểm tr lại", vbOKOnly + vbExclamation, "Thông báo"
' Me.MousePointer = 0
Exit Sub
End If
str = " update tblHosocongchuc set Maphongban= '" & Trim(cboMaphongban) & "',Hoten= '" & Trim(txtHoten) & "',ngaysinh= '" & Trim(dptNgaysinh) & "',Gioitinh= '" & Trim(cboGioitinh) & "',Nguyenquan='" & Trim(lblNguyenquan) & "',Chucvu= '" & Trim(cboChucvu) & "',Diachithuongtru= '" & Trim(lblDiachi) & "',Dienthoai= '" & Trim(txtDienthoai) & "',Tongiao= '" & Trim(cboTongiao) & "',Dantoc= '" & Trim(cboDantoc) & "',Socmt= '" & Trim(txtSoCMT) & "',Noicap= '" & Trim(cboNoicap) & "',Ngaycap= '" & Trim(dptNgaycap) & "',Trinhdovanhoa= '" & Trim(cboTrinhdovanhoa) & "',Trinhdohocvan= '" & Trim(cboTrinhdohocvan) & "',Thanhphangiadinh= '" & Trim(cboThanhphanGD) & "',Vochong= '" & Trim(cboVochong) & "',Con= '" & Trim(txtCon) & "',Hinh= '" & Trim(txtDuongdananh) & "' where MaCB='" & Trim(txtMacanbo) & "' "
Cn.Execute (str)
End If
Lock_Text
Display_Listview
cmdNew.SetFocus
Me.MousePointer = 0
End Sub
Private Sub Set_Null()
txtMacanbo = ""
txtHoten = ""
cboGioitinh.Text = " "
cboTongiao = " "
'dptNgaysinh = " "
lblNguyenquan = ""
lblDiachi = ""
txtDienthoai = ""
cboDantoc = " "
cboChucvu = " "
cboMaphongban = " "
cboTrinhdohocvan = " "
cboTrinhdovanhoa = " "
cboVochong = " "
txtCon = ""
cboThanhphanGD = " "
cboNoicap = " "
txtSoCMT = " "
lblTenPB = ""
txtXa = ""
txtXa1 = ""
cboHuyen = " "
cboTenhuyen = ""
lblDiachi.Caption = ""
End Sub
Private Sub Lock_Text()
txtMacanbo.Enabled = False
txtMacanbo.Enabled = False
txtHoten.Enabled = False
cboGioitinh.Enabled = False
cboTongiao.Enabled = False
dptNgaysinh.Enabled = False
lblNguyenquan.Enabled = False
lblDiachi.Enabled = False
txtDienthoai.Enabled = False
cboDantoc.Enabled = False
cboChucvu.Enabled = False
cboMaphongban.Enabled = False
cboTrinhdohocvan.Enabled = False
cboTrinhdovanhoa.Enabled = False
cboThanhphanGD.Enabled = False
cmdSave.Enabled = False
cmdSkip.Enabled = False
cmdNew.Enabled = True
cmdUpdate.Enabled = True
cmdDel.Enabled = True
flag = ""
End Sub
Private Sub Un_lock_text()
txtMacanbo.Enabled = True
txtHoten.Enabled = True
cboGioitinh.Enabled = True
cboTongiao.Enabled = True
dptNgaysinh.Enabled = True
lblNguyenquan.Enabled = True
lblDiachi.Enabled = True
txtDienthoai.Enabled = True
cboDantoc.Enabled = True
cboChucvu.Enabled = True
cboMaphongban.Enabled = True
cboTrinhdohocvan.Enabled = True
cboTrinhdovanhoa.Enabled = True
cboThanhphanGD.Enabled = True
cboMaphongban.SetFocus
cmdSave.Enabled = True
cmdSkip.Enabled = True
cmdNew.Enabled = False
cmdUpdate.Enabled = False
cmdDel.Enabled = False
End Sub
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim str As String
Dim mitem As ListItem
lvltem.ListItems.Clear
str = "select *from tblHosocongchuc order by Macb asc "
rs.Open str, Cn, adOpenKeyset, adLockOptimistic, adCmdText
lvltem.ListItems.Clear
If rs.EOF = False Then
While Not rs.EOF
Set mitem = lvltem.ListItems.Add(, , rs!Macb)
mitem.SubItems(1) = rs!Maphongban
mitem.SubItems(2) = rs!Hoten
mitem.SubItems(3) = rs!Ngaysinh
mitem.SubItems(4) = rs!Gioitinh
mitem.SubItems(5) = rs!Nguyenquan
mitem.SubItems(6) = rs!Chucvu
mitem.SubItems(7) = rs!Diachithuongtru
mitem.SubItems(8) = rs!Dienthoai
mitem.SubItems(9) = rs!Tongiao
mitem.SubItems(10) = rs!Dantoc
mitem.SubItems(11) = rs!SoCMT
mitem.SubItems(12) = rs!Noicap
mitem.SubItems(13) = rs!Ngaycap
mitem.SubItems(14) = rs!Trinhdovanhoa
mitem.SubItems(15) = rs!Trinhdohocvan
mitem.SubItems(16) = rs!Thanhphangiadinh
mitem.SubItems(17) = rs!Vochong
mitem.SubItems(18) = rs!Con
mitem.SubItems(19) = rs!Hinh
str = "select * from tblHosocongchuc where MaCB='" & rs!Macb & "'"
rs.MoveNext
Wend
End If
End Sub
Private Sub sua_du_lieu()
Un_lock_text
txtMacanbo.Enabled = False
End Sub
Private Sub lvltem_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim rs As ADODB.Recordset
Dim str
txtMacanbo = Item.Text
cboMaphongban = Item.SubItems(1)
txtHoten = Item.SubItems(2)
dptNgaysinh = Item.SubItems(3)
cboGioitinh = Item.SubItems(4)
lblNguyenquan = Item.SubItems(5)
cboChucvu = Item.SubItems(6)
lblDiachi = Item.SubItems(7)
txtDienthoai = Item.SubItems(8)
cboTongiao = Item.SubItems(9)
cboDantoc = Item.SubItems(10)
txtSoCMT = Item.SubItems(11)
cboNoicap = Item.SubItems(12)
dptNgaycap = Item.SubItems(13)
cboTrinhdovanhoa = Item.SubItems(14)
cboTrinhdohocvan = Item.SubItems(15)
cboThanhphanGD = Item.SubItems(16)
cboVochong = Item.SubItems(17)
txtCon = Item.SubItems(18)
txtDuongdananh = Item.SubItems(19)
picture1 = LoadPicture(txtDuongdananh)
End Sub
Private Sub cboMaphongban_GotFocus()
cboMaphongban.BackColor = &H80000018
End Sub
Private Sub cboMaphongban_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboMaphongban.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboMaphongban.SetFocus
Else
txtMacanbo.SetFocus
End If
End Select
End Sub
Private Sub cboMaphongban_LostFocus()
cboMaphongban.BackColor = &HFFFFFF
cboMaphongban = Trim(cboMaphongban)
End Sub
Private Sub txtMacanbo_GotFocus()
txtMacanbo.BackColor = &H80000018
txtMacanbo = UCase(Trim(cboMaphongban))
txtMacanbo.SelStart = Len(txtMacanbo)
End Sub
Private Sub txtMacanbo_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
txtHoten.SetFocus
End Select
End Sub
Private Sub txtHoten_LostFocus()
txtHoten.BackColor = &HFFFFFF
End Sub
Private Sub txtHoten_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtHoten = "" Then
MsgBox "ban chua nhap du lieu"
txtHoten.SetFocus
Else
dptNgaysinh.SetFocus
End If
End Select
End Sub
Private Sub txtHoten_GotFocus()
txtHoten.BackColor = &H80000018
txtHoten = UCase(Trim(txtHoten))
End Sub
Private Sub dptNgaysinh_LostFocus()
dptNgaysinh.CalendarBackColor = &H80000018
End Sub
Private Sub dptNgaysinh_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
Me.cboGioitinh.SetFocus
End Select
End Sub
Private Sub cboGioitinh_GotFocus()
cboGioitinh.BackColor = &H80000018
End Sub
Private Sub cboGioitinh_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboGioitinh.Text "Nam" And cboGioitinh.Text "Nu" Then
MsgBox "ban chua nhap du lieu sai rồi !"
cboGioitinh.SetFocus
Else
cboChucvu.SetFocus
End If
'cboTongiao.SetFocus
End Select
End Sub
Private Sub cbogioitinh_LostFocus()
cboGioitinh.BackColor = &HFFFFFF
cboGioitinh = Trim(cboGioitinh.Text)
End Sub
Private Sub cboChucvu_GotFocus()
cboChucvu.BackColor = &H80000018
End Sub
Private Sub cboChucvu_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboChucvu = "" Then
MsgBox "ban chua nhap du lieu"
cboChucvu.SetFocus
Else
cmdNhananh.SetFocus
End If
End Select
End Sub
Private Sub cboChucvu_LostFocus()
cboChucvu.BackColor = &HFFFFFF
cboChucvu = Trim(cboChucvu)
End Sub
Private Sub txtXa_GotFocus()
txtXa.BackColor = &H80000018
txtXa = UCase(Trim(txtXa))
End Sub
Private Sub txtXa_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtXa = "" Then
MsgBox "ban chua nhap du lieu"
txtXa.SetFocus
Else
cboMatinh.SetFocus
End If
End Select
End Sub
Private Sub txtXa_LostFocus()
txtXa.BackColor = &HFFFFFF
txtXa = UCase(Trim(txtXa))
End Sub
Private Sub cboMatinh_GotFocus()
cboMatinh.BackColor = &H80000018
End Sub
Private Sub cboMatinh_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboMatinh.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboMatinh.SetFocus
Else
cboTenhuyen.SetFocus
End If
End Select
End Sub
Private Sub cboMatinh_LostFocus()
cboMatinh.BackColor = &HFFFFFF
cboMatinh = Trim(cboMatinh)
End Sub
Private Sub cboTenhuyen_GotFocus()
cboTenhuyen.BackColor = &H80000018
End Sub
Private Sub cboTenhuyen_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboTenhuyen.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboTenhuyen.SetFocus
Else
txtXa1.SetFocus
End If
End Select
End Sub
Private Sub cboTenhuyen_LostFocus()
cboTenhuyen.BackColor = &HFFFFFF
End Sub
Private Sub txtXa1_GotFocus()
txtXa1.BackColor = &H80000018
End Sub
Private Sub txtXa1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtXa1 = " " Then
MsgBox "ban chua nhap du lieu"
txtXa1.SetFocus
Else
cboTinh1.SetFocus
End If
End Select
End Sub
Private Sub txtXa1_LostFocus()
txtXa1.BackColor = &HFFFFFF
End Sub
Private Sub cboTinh1_GotFocus()
cboTinh1.BackColor = &H80000018
End Sub
Private Sub cboTinh1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboTinh1.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboTinh1.SetFocus
Else
cboHuyen.SetFocus
End If
End Select
End Sub
Private Sub cboTinh1_LostFocus()
cboTinh1.BackColor = &HFFFFFF
cboTinh1 = Trim(cboMatinh)
End Sub
Private Sub cboHuyen_GotFocus()
cboHuyen.BackColor = &H80000018
End Sub
Private Sub cboHuyen_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboHuyen.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboHuyen.SetFocus
Else
txtSoCMT.SetFocus
End If
End Select
End Sub
Private Sub cboHuyen_LostFocus()
cboHuyen.BackColor = &HFFFFFF
End Sub
Private Sub txtSoCMT_GotFocus()
txtSoCMT.BackColor = &H80000018
End Sub
Private Sub txtSoCMT_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtSoCMT = "" Or Not IsNumeric(txtSoCMT) = True Then
MsgBox "ban chua nhap du lieu"
txtSoCMT.SetFocus
Else
dptNgaycap.SetFocus
End If
End Select
End Sub
Private Sub txtSoCMT_LostFocus()
txtSoCMT.BackColor = &HFFFFFF
txtSoCMT = Trim(txtSoCMT)
End Sub
Private Sub dptNgaycap_GotFocus()
dptNgaycap.CalendarBackColor = &H80000018
End Sub
Private Sub dptNgaycap_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cboNoicap.SetFocus
End Select
End Sub
Private Sub cboNoicap_GotFocus()
cboNoicap.BackColor = &H80000018
End Sub
Private Sub txtTrinhdotruongDT_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
txtDienthoai.SetFocus
End Select
End Sub
Private Sub cboNoicap_LostFocus()
cboNoicap.BackColor = &HFFFFFF
cboNoicap = Trim(cboNoicap)
End Sub
Private Sub txtDienthoai_GotFocus()
txtDienthoai.BackColor = &H80000018
End Sub
Private Sub txtDienthoai_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtDienthoai = "" Or IsNumeric(txtDienthoai) = False Then
MsgBox "ban chua nhap du lieu or bạn đã nhập sai!"
txtDienthoai.SetFocus
Else
cboTrinhdohocvan.SetFocus
End If
End Select
End Sub
Private Sub txtDienthoai_LostFocus()
txtDienthoai.BackColor = &HFFFFFF
txtDienthoai = Trim(txtDienthoai)
End Sub
Private Sub cboTrinhdohocvan_GotFocus()
cboTrinhdohocvan.BackColor = &H80000018
End Sub
Private Sub cboTrinhdohocvan_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboTrinhdohocvan.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboTrinhdohocvan.SetFocus
Else
cboTrinhdovanhoa.SetFocus
End If
End Select
End Sub
Private Sub cboTrinhdohocvan_LostFocus()
cboTrinhdohocvan.BackColor = &HFFFFFF
cboTrinhdohocvan = Trim(cboTrinhdohocvan)
End Sub
Private Sub cboTrinhdovanhoa_GotFocus()
cboTrinhdovanhoa.BackColor = &H80000018
End Sub
Private Sub cboTrinhdovanhoa_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboTrinhdovanhoa.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboTrinhdovanhoa.SetFocus
Else
cboDantoc.SetFocus
End If
End Select
End Sub
Private Sub cboTrinhdovanhoa_LostFocus()
cboTrinhdovanhoa.BackColor = &HFFFFFF
cboTrinhdovanhoa = Trim(cboTrinhdovanhoa)
End Sub
Private Sub cboDantoc_GotFocus()
cboDantoc.BackColor = &H80000018
End Sub
Private Sub cboDantoc_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboDantoc = "" Then
MsgBox "ban chua nhap du lieu"
cboDantoc.SetFocus
Else
cboTongiao.SetFocus
End If
End Select
End Sub
Private Sub cboDantoc_LostFocus()
cboDantoc.BackColor = &HFFFFFF
cboDantoc = Trim(cboDantoc)
End Sub
Private Sub cboTongiao_GotFocus()
cboTongiao.BackColor = &H80000018
End Sub
Private Sub cboTongiao_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboTongiao = "" Then
MsgBox "ban chua nhap du lieu"
cboTongiao.SetFocus
Else
cboVochong.SetFocus
End If
End Select
End Sub
Private Sub cboTongiao_LostFocus()
cboTongiao.BackColor = &HFFFFFF
cboTongiao = Trim(cboTongiao)
End Sub
Private Sub cboVochong_GotFocus()
cboVochong.BackColor = &H80000018
End Sub
Private Sub cboVochong_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboVochong.Text = "" Then
MsgBox "ban chua nhap du lieu"
cboVochong.SetFocus
Else
txtCon.SetFocus
End If
End Select
End Sub
Private Sub cboVochong_LostFocus()
cboVochong.BackColor = &HFFFFFF
cboVochong = Trim(cboVochong)
End Sub
Private Sub txtCon_GotFocus()
txtCon.BackColor = &H80000018
End Sub
Private Sub txtCon_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cboThanhphanGD.SetFocus
End Select
End Sub
Private Sub txtCon_LostFocus()
txtCon.BackColor = &HFFFFFF
txtCon = Trim(txtCon)
End Sub
Private Sub cboThanhphanGD_GotFocus()
cboThanhphanGD.BackColor = &H80000018
End Sub
Private Sub cboThanhphanGD_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If cboThanhphanGD = "" Then
MsgBox "ban chua nhap du lieu"
cboThanhphanGD.SetFocus
Else
cmdSave.SetFocus
End If
End Select
End Sub
Private Sub cboThanhphanGD_LostFocus()
cboThanhphanGD.BackColor = &HFFFFFF
cboThanhphanGD = Trim(cboThanhphanGD)
End Sub
3.Code Forma Cập nhật Dân tộc:
Private Sub cmdDel_Click()
If txtMadantoc.Text = "" Then
MsgBox "Bạn chưa nhập dữ liệu? ", , "Thông Báo"
cmdUpdate.SetFocus
Else
Xoa_Du_lieu
End If
End Sub
Private Sub cmdExit_Click()
Dim r
r = MsgBox("Bạn có muốn thoát không?", vbYesNo, "Thông báo")
If r = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdNew_Click()
Un_lock_text
Set_Null
End Sub
Private Sub cmdSave_Click()
If flag "update" Then
flag = "save"
End If
Luu_du_lieu
Set_Null
End Sub
Private Sub cmdSkip_Click()
Set_Null
Lock_Text
End Sub
Private Sub cmdUpdate_Click()
If txtMadantoc.Text = "" Then
MsgBox "Bạn chưa có dữ liệu để xoá ", , "Thông báo"
cmdUpdate.SetFocus
Else
flag = "update"
sua_du_lieu
End If
End Sub
Private Sub Form_Load()
Lock_Text
Display_Listview
End Sub
Private Sub Xoa_Du_lieu()
Dim str
Dim response
If Trim(txtMadantoc) = "" Then
Exit Sub
End If
response = MsgBox("Bạn có chắc chắn xoá không?", vbYesNo + vbQuestion, "Thong bao")
If response = vbNo Then
Exit Sub
Else
str = "delete from tblDantoc where Madantoc='" & Trim(txtMadantoc) & "'"
Cn.Execute (str)
End If
Set_Null
Lock_Text
Display_Listview
End Sub
Private Sub Luu_du_lieu()
Dim rs As New ADODB.Recordset
Dim str
If Trim(txtMadantoc) = "" Then
MsgBox "Chú ý phải nhập dữ liệu trước khi lưu", vbOKOnly + vbExclamation, "Thông báo"
'Me.MousePointer = 0
Exit Sub
End If
str = "select * from tblDantoc where Madantoc='" & Trim(txtMadantoc) & "'"
rs.Open str, Cn
If rs.EOF = True Then
str = "insert into tblDantoc values('" & Trim(txtMadantoc) & "','" & Trim(txtTendantoc) & "')"
Cn.Execute (str)
Else
If flag = "save" Then
MsgBox "Mã tôn giáo [" & txtMadantoc & "] Đã tồn tại.Xin vui lòng kiểm tr lại", vbOKOnly + vbExclamation, "Thông báo"
' Me.MousePointer = 0
Exit Sub
End If
str = " update tblDantoc set Tendantoc='" & Trim(txtTendantoc) & "' where Madantoc='" & Trim(txtMadantoc) & "'"
Cn.Execute (str)
End If
Lock_Text
Display_Listview
cmdNew.SetFocus
Me.MousePointer = 0
End Sub
Private Sub Set_Null()
txtMadantoc = ""
txtTendantoc = ""
End Sub
Private Sub Lock_Text()
txtMadantoc.Enabled = False
txtTendantoc.Enabled = False
cmdSave.Enabled = False
cmdSkip.Enabled = False
cmdNew.Enabled = True
cmdUpdate.Enabled = True
cmdDel.Enabled = True
flag = ""
End Sub
Private Sub Un_lock_text()
txtMadantoc.Enabled = True
txtTendantoc.Enabled = True
txtMadantoc.SetFocus
cmdSave.Enabled = True
cmdSkip.Enabled = True
cmdNew.Enabled = False
cmdUpdate.Enabled = False
cmdDel.Enabled = False
End Sub
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim str As String
Dim mitem As ListItem
lvltem.ListItems.Clear
str = "select *from tblDantoc order by Madantoc asc"
rs.Open str, Cn, adOpenKeyset, adLockOptimistic, adCmdText
lvltem.ListItems.Clear
If rs.EOF = False Then
While Not rs.EOF
Set mitem = lvltem.ListItems.Add(, , rs!Madantoc)
mitem.SubItems(1) = rs!Tendantoc
str = "select * from tblDantoc where Madantoc='" & rs!Madantoc & "'"
rs.MoveNext
Wend
End If
End Sub
Private Sub sua_du_lieu()
Un_lock_text
txtMadantoc.Enabled = False
txtTendantoc.SetFocus
End Sub
Private Sub lvltem_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim rs As ADODB.Recordset
Dim str
txtMadantoc = Item.Text
txtTendantoc = Item.SubItems(1)
End Sub
Private Sub txtMadantoc_GotFocus()
txtMadantoc.BackColor = &H80000018
End Sub
Private Sub txtMadantoc_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtMadantoc = "" Then
MsgBox "ban chua nhap du lieu"
txtMadantoc.SetFocus
Else
cmdSave.SetFocus
End If
txtTendantoc.SetFocus
End Select
End Sub
Private Sub txtMadantoc_LostFocus()
txtMadantoc.BackColor = &HFFFFFF
txtMadantoc = UCase(Trim(txtMadantoc))
End Sub
Private Sub txtTendantoc_GotFocus()
txtTendantoc.BackColor = &H80000018
End Sub
Private Sub txtTendantoc_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
If txtTendantoc = "" Then
MsgBox "ban chua nhap du lieu"
txtTendantoc.SetFocus
Else
cmdSave.SetFocus
End If
End Select
End Sub
Private Sub txtTendantoc_LostFocus()
txtTendantoc.BackColor = &HFFFFFF
txtTendantoc = Trim(txtTendantoc)
End Sub
4.Code Form Hợp Đồng
Private Sub cboMaCB_Click()
Set rs = New ADODB.Recordset
rs.Open "select * from tblhosocongchuc order by MaCB", Cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
If rs(0) = cboMaCB Then
lblTenCB = rs(2)
End If
rs.MoveNext
Loop
End If
End Sub
Private Sub cmdDel_Click()
If cboMaCB.Text = "" Then
MsgBox "Bạn chưa nhập dữ liệu? ", , "Thông Báo"
cmdUpdate.SetFocus
Else
Xoa_Du_lieu
End If
End Sub
Private Sub cmdExit_Click()
Dim r
r = MsgBox("Bạn có muốn thoát không?", vbYesNo, "Thông báo")
If r = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdNew_Click()
txtStt = "HD"
Set_Null
Un_lock_text
cboMaCB.SetFocus
End Sub
Private Sub cmdSave_Click()
If flag "update" Then
flag = "save"
End If
Luu_du_lieu
Set_Null
End Sub
Private Sub cmdSkip_Click()
Set_Null
Lock_Text
End Sub
Private Sub cmdUpdate_Click()
If cboMaCB.Text = "" Then
MsgBox "Bạn chưa có dữ liệu để xoá ", , "Thông báo"
cmdUpdate.SetFocus
Else
flag = "update"
sua_du_lieu
End If
End Sub
Private Sub Form_Load()
'open_mdb
Display_Listview
BoXung "tblHosocongchuc", cboMaCB
BoXung "tblLoaiHD", cboLoaihopdong
End Sub
Private Sub Set_Null()
cboMaCB = ""
txtCongviec = ""
cboLoaihopdong = ""
lblTenCB.Caption = ""
End Sub
Private Sub Lock_Text()
cboMaCB.Enabled = False
txtStt.Enabled = False
cboLoaihopdong.Enabled = False
dptNgayBD.Enabled = False
dptNgayKi.Enabled = False
dptNgayKT.Enabled = False
txtCongviec.Enabled = False
cmdSave.Enabled = False
cmdSkip.Enabled = False
cmdNew.Enabled = True
cmdUpdate.Enabled = True
cmdDel.Enabled = True
flag = ""
End Sub
Private Sub Un_lock_text()
cboMaCB.Enabled = True
txtStt.Enabled = True
cboLoaihopdong.Enabled = True
txtCongviec.Enabled = True
dptNgayBD.Enabled = True
dptNgayKi.Enabled = True
dptNgayKT.Enabled = True
txtCongviec.Enabled = True
cboMaCB.SetFocus
cmdSave.Enabled = True
cmdSkip.Enabled = True
cmdNew.Enabled = False
cmdUpdate.Enabled = False
cmdDel.Enabled = False
End Sub
Private Sub lvltem_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim rs As ADODB.Recordset
Dim str
cboMaCB = Item.Text
cboLoaihopdong = Item.SubItems(1)
txtStt = Item.SubItems(2)
dptNgayKi = Item.SubItems(3)
dptNgayBD = Item.SubItems(4)
dptNgayKT = Item.SubItems(5)
txtCongviec = Item.SubItems(6)
cmdSkip.Enabled = True
End Sub
Private Sub Luu_du_lieu()
Dim rs As New ADODB.Recordset
Dim str
If Trim(txtStt) = "" Then
MsgBox "Chú ý phải nhập dữ liệu trước khi lưu", vbOKOnly + vbExclamation, "Thông báo"
Me.MousePointer = 0
Exit Sub
End If
str = "select * from tblhopdong where MaCB='" & Trim(cboMaCB) & "'"
rs.Open str, Cn
If rs.EOF = True Then
str = "insert into tblhopdong values('" & Trim(cboMaCB) & "','" & Trim(cboLoaihopdong) & "','" & Trim(txtStt) & "','" & Trim(dptNgayKi) & "', '" & Trim(dptNgayBD) & "','" & dptNgayKT & "' ,'" & txtCongviec & "' ) "
Cn.Execute (str)
Else
If flag = "save" Then
MsgBox "Mã tôn giáo [" & txtStt & "] Đã tồn tại.Xin vui lòng kiểm tr lại", vbOKOnly + vbExclamation, "Thông báo"
Me.MousePointer = 0
Exit Sub
End If
str = " update tblHopdong set LoaiHD= '" & Trim(cboLoaihopdong) & "',SoHD= '" & Trim(txtStt) & "',NGayKIHD= '" & Trim(dptNgayKi) & "',Ngaybatdau= '" & Trim(dptNgayBD) & "',Ngayketthuc='" & Trim(dptNgayKT) & "',Congviec= '" & Trim(txtCongviec) & "' where Macb='" & Trim(cboMaCB) & "' "
Cn.Execute (str)
End If
Lock_Text
Display_Listview
cmdNew.SetFocus
Me.MousePointer = 0
End Sub
Private Sub sua_du_lieu()
Un_lock_text
txtStt.Enabled = False
cboMaCB.SetFocus
End Sub
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim str As String
Dim mitem As ListItem
lvltem.ListItems.Clear
str = "select *from tblhopdong order by Macb asc"
rs.Open str, Cn, adOpenKeyset, adLockOptimistic, adCmdText
lvltem.ListItems.Clear
If rs.EOF = False Then
While Not rs.EOF
Set mitem = lvltem.ListItems.Add(, , rs!Macb)
mitem.SubItems(1) = rs!LoaiHD
mitem.SubItems(2) = rs!SoHD
mitem.SubItems(3) = rs!NgaykiHD
mitem.SubItems(4) = rs!Ngaybatdau
mitem.SubItems(5) = rs!Ngayketthuc
mitem.SubItems(6) = rs!Congviec
' mitem.SubItems(7) = rs!Ghichu
str = "select * from tblhopdong where Macb='" & rs!Macb & "'"
rs.MoveNext
Wend
End If
End Sub
Private Sub Xoa_Du_lieu()
Dim str
Dim response
If Trim(txtStt) = "" Then
Exit Sub
End If
response = MsgBox("Bạn có chắc chắn xoá không?", vbYesNo + vbQuestion, "Thông báo")
If response = vbNo Then
Exit Sub
Else
str = "delete from tblHopdong where MaCB='" & Trim(cboMaCB) & "'"
Cn.Execute (str)
End If
Set_Null
Lock_Text
Display_Listview
End Sub
5.Form Tính lương:
Dim st As String
Dim flag As String
Dim sql As String
Private Sub cmdExit_Click()
Dim r
r = MsgBox("Bạn có muốn thoát không?", vbYesNo, "Thông báo")
If r = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdIn_Click()
Dim rbaocao As New bcluong
st = ""
st = st + "Select *"
st = st + " From qrluong"
st = st + " Where Macb Like " + """" + "%" + txtMaPB.Text + "%" + """"
st = st + " and Hoten Like " + """" + "%" + txtTenphongban.Text + "%" + """"
st = st + " and tbltientru_ngay >= #" & dtpTungay & "# "
st = st + " and tblTientru_ngay <= #" & dtpDenngay & "#"
st = st + " and tbltienphucap_ngay >= #" & dtpTungay & "# "
st = st + " and tblTienphucap_ngay <= #" & dtpDenngay & "#"
Set Rec = New ADODB.Recordset
Rec.Open st, Cn, adOpenStatic, adLockOptimistic
If Rec.RecordCount > 0 Then
Rec.MoveFirst
Do While Not Rec.EOF
rbaocao.Data1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\csdlQLNS.mdb;Persist Security Info=False"
rbaocao.Data1.Source = st
rbaocao.Field9 = Rec(2) * 290000 - ((Rec(2) * 290000) * Rec(3) / 100) - ((Rec(2) * 290000) * Rec(4) / 100) - Rec(5) + Rec(7)
Rec.MoveNext
Loop
Else
MsgBox "Không có dữ liệu"
End If
rbaocao.Show 1
End Sub
Private Sub cmdNew_Click()
lvltem.ListItems.Clear
txtMaPB = ""
txtTenphongban = ""
End Sub
Private Sub cmdXem_Click()
Dim str As String
Dim mltem As ListItem
Set Rec = New ADODB.Recordset
lvltem.ListItems.Clear
st = ""
st = st + "Select *"
st = st + " From qrluong"
st = st + " Where MaPhongban Like " + """" + "%" + txtMaPB.Text + "%" + """"
st = st + " and Tenphongban Like " + """" + "%" + txtTenphongban.Text + "%" + """"
st = st + " and tbltientru_ngay >= #" & dtpTungay & "# "
st = st + " and tblTientru_ngay <= #" & dtpDenngay & "#"
st = st + " and tbltienphucap_ngay >= #" & dtpTungay & "# "
st = st + " and tblTienphucap_ngay <= #" & dtpDenngay & "#"
Rec.Open st, Cn, adOpenStatic, adLockOptimistic
If Rec.RecordCount > 0 Then
Rec.MoveFirst
Do While Not Rec.EOF
Set mltem = lvltem.ListItems.Add(, , Rec(0))
mltem.SubItems(1) = Rec(1)
mltem.SubItems(2) = Rec(2)
mltem.SubItems(3) = Rec(3)
mltem.SubItems(4) = Rec(4)
mltem.SubItems(5) = Rec(5)
mltem.SubItems(6) = Rec(6)
mltem.SubItems(7) = Rec(7)
mltem.SubItems(8) = Rec(8)
mltem.SubItems(9) = Rec(2) * 290000 - ((Rec(2) * 290000) * Rec(3) / 100) - ((Rec(2) * 290000) * Rec(4) / 100) - Rec(5) + Rec(7)
Rec.MoveNext
Loop
Else
MsgBox "Không có dữ liệu"
End If
Rec.Close
End Sub
Private Sub Form_Load()
'open_mdb
End Sub
Private Sub Option1_Click()
flag = "ngay"
End Sub
Private Sub Option2_Click()
flag = "Khong ngay"
End Sub
Các file đính kèm theo tài liệu này:
- 3501.doc