MỤC LỤC
Lời nói đầu
ChươngI. Mở đầu
I.Lí do chọn đề tài.
II.Khảo sát hệ thống
1. Giới thiệu chung về hoạt động hệ thống
2. Nhiệm vụ của hệ thống
3. Nhược điểm của hệ thống cũ
4. Ưu điểm của hệ thống mới
5. Cơ cấu tổ chức và cách tiến hành
6. Mô hình tiến ttrình nghiệp vụ
III.Mô hình tiến trình tin học hoá
IV.Hướng giải quyết và phạm vi giải quyết
Chương II.Phân tích và thiết kế hệ thống
I. Sơ đồ phân cấp chức năng
II. Các chức năng chính của hệ thống và nhiệm vụ cơ bản của hệ thống
1. Các chức năng chính của hệ thống
2. Nhiệm vụ cơ bản của các chức năng
2.1. Chức năng hệ thống
2.2. Chức năng quản lí hồ sơ
2.3. Chức năng quản lí lương
2.4. Chức năng thống kê báo cáo
III. Phân tích dữ liệu
1. Mô hình luồng dữ liệu mức khung cảnh
2. Mô hình luồng dữ liệu mức đỉnh
3. Mô hình luồng dữ liệu mức dưới đỉnh
3.1. mô hình luồng dữ liệu mức dưới đỉnhchức năng quản lí hồ sơ
3.2. Mô hình luồng dữ liệu mức dưới đỉnh chức năng quản lí lương
3.3. Mô hình luồng dữ liệu mức dưới đỉnh chức năng báo cáo thống kê
ChươngIII. Thiết kế hệ thống
Chương IV. Cài đặt và ứng dụng
51 trang |
Chia sẻ: lynhelie | Lượt xem: 1470 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Quản lý nhân sự - Trần Thanh Thủy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
rung bỡnh (20 đến 30 nhõn viờn).
CHƯƠNG II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Để xõy dựng thiết kế một hệ thống thụng tin quản lớ thỡ vấn đề đầu tiờn là phải phõn tớch hệ thống nhằm tỡm ra và lựa chọn một giải phỏp thớch hợp và biện phỏp cụ thể.
Phõn tớch là cụng việc đầu tiờn của quả trỡnh xõy dựng hệ thống mỏy tớnh. Nú là giai đoạn quan trọng nhất, vỡ kết quả cả giai đoạn này cho ta mụ tảlogic của hệ thống mới dựa trờn kết quả đú là căn cứ cho ta thiết kế sau này. Khụng thể dựng tin học trong cụng tỏc quản lớ mà khụng qua giai đoạn phõn tớch, hiệu quả cụng việc tin học hoàn toàn phụ thuộc vào quỏ trỡnh phõn tớch ban đầu. trong quỏ trỡnh phõn tớch này, để chuyển từ bài toỏn thực tế sang bài toỏn quản lớ trờn mỏy tớnh thỡ cỏc sơ đồ luồng dữ liệu và thực thể liờn kết giỳp ta dễ dàng xỏc định chức năng của hệ thống và cú cỏi nhỡn tổng quỏt về cỏch quản lớ thực tế về hệ thống ta đang thiết kế.
Biểu đồ phõn cấp chức năng của hệ thống quản lớ nhõn sự
quản lí nhân sự
hồ sơ nhân sự
quản lí lương
tìm kiếm
báo cáo thống kê
quản trị người dùng
từ điển dữ liệu
nhập dữ liệu
sửa dữ liệu
thông tin ngày công
cập nhật lương
tìm kiếm theo ma nv
tìm kiếm theo mã lưong
thống kê theo trình độ
báo cáo lương nhân sự
hệ thống
trợ giúp
bản quyền
hướng dẫn
thống kê danh sách đến tuổi nghỉ chế độ
tìm kiếm theo trình độ
in bảng lương
nghỉ việc
thoát
thống kê danh sách lên lương hàng năm
II. Cỏc chức năng chớnh của hệ thống và nhiờm vụ cơ bản của cỏc chức năng.
Cỏc chức năng chớnh của hệ thống
-Hệ thống
-Quản lớ hồ sơ
-Quản lớ lương
-Bỏo cỏo thống kờ
-Trợ giỳp
2. Nhiệm vụ cơ bản của cỏc chức năng
2.1. Chức năng hệ thống.
Chức năng này cú nhiệm vụ giỳp người xem truy cập vào hệ thống dễ dàng.
-Chức năng quản trị người dựng:
-Chức năng này cú nhiệm vụ quản lớ người đăng nhập vào hệ thống.
-Chức năng từ điển dữ liệu:
Chức năng này cú nhiệm vụ tra cứu dữ liệu của từng nhõn viờn theo mó của nhõn viờn
-Chức năng thoỏt:
Chức năng này cú nhiệm vụ thoỏt ra khỏi chương trỡnh khi người dựng đó tra cứu xong hoặc khụng muốn tra cứu nữa.
2.2. Chức năng quản lớ hồ sơ.
Chức năng này cú nhiệm vụ quản lớ tất cả cỏc thụng tin của nhõn viờn trong cơ quan. Cú thể tra cứu về nhõn viờn theo: lớ lịch, quan hệ gia đỡnh, quỏ trỡnh cụng tỏc
-Chức năng nhập hồ sơ
Chức năng này làm nhiệm vụ nhập tất cả thụng tin ban đầu cú liờn quan đến nhõn viờn mới đến làm việc tại cơ quan (ten, tuổi, cụng việc) theo cỏc loại hồ sơ biờn chế, hợp đồng ngắn hạn và hợp đồng dài hạn. thụng tin cỏ nhõn cú sự khỏc nhau cơ bản về lương và cụng việc.
-Chức năng sửa hồ sơ
Chức năng này làm nhiệm vụ sửa lại cỏc thụnh tin cú liờn quan đến cụng việc, lớ lịch, quan hệ gia đỡnh của nhõn viờn trong cơ quan (thụng tin mới về cụng việc, thay đổi về lớ lịch, quan hệ gia đỡnh như lấy vợ, lấy chồng).
-Chức năng nghỉ việc
Chức năng này cú nhiệm vụ thụng bỏo lớ do nghỉ việc của nhõn viờn trong cụng ty.
2.3. Chức năng quản lớ lương
Chức năng này cú nhiệm vụ dựa vào số ngày cụng trong thỏng của từng nhõn viờn để tớnh lương cho nhõn viờn và phỏt lương cho nhõn viờn trong quỏ trỡnh cụng tỏc.
-Chức năng thụng tin ngày cụng
cú nhiệm vụ hàng ngày phải chấm cụng cho nhõn viờn trong cụng ty và nhập số ngày cụng của mỗi nhõn viờn trong một thỏng hay trong cả quỏ trỡnh cụng tỏc.
-Chức năng cập nhật lương
Chức năng này cú nhiệm vụ lấy cỏc thụng tin của từng nhõn viờn như số ngày cụng, hệ số lươngđể tớnh lương cho nhõn viờn trong cụng ty.Lương được tớnh như sau:
+Lương cơ bản cố định là: 290000đ
+Mức lươnh chớnh= lương cơ bản * hệ số lương
+Mức phụ cấp chức vụ= lương cơ bản * hệ số phụ cấp
+Tổng mức lương= lương cơ bản +phụ cấp chức vụ (nếu cú)
+Bảo hiểm xó hội = tổng mức lương * 5%
+Tổng mức lương thực lĩnh = tổng mức lương – mức bảo hiểm xó hội.
-Chức năng nhập bảng lương
Chức năng này cú nhiệm vụ lấy thụng tin về lương của mỗi nhõn viờn để lập ra một bảng lương của toàn nhõn viờn trong cụng ty.
-Chức năng thống kờ danh sỏch lờn lương hàng năm
Chức năng này cú nhiệm vụ cập nhật thụng tin của nhõn viờn như trỡnh độ, quỏ trỡnh cụng tỏc, ưu tiờnđể tổng kết xem những nhan viờn nào được tăng lương trong năm.
2.4. Chức năng thống kờ bỏo cỏo
Chức năng này cú nhiệm vụ đưa ra danh sỏch nhõn viờn, đưa ra bỏo cỏo thống kờ về nhõn viờn, thống kờ về trỡnh độ của nhõn viờn theo yờu cầu của ban lónh đạo phục vụ cho cụng tỏc quản lớ và hoạt độn của cụng ty.
-Chức năng thống kờ theo trỡnh độ
Chức năng này cú nhiệm vụ khi cú yờu cầu, chức năng này sẽ in ra những bỏo cỏo thống kờ theo trỡnh độ của nhõn viờn theo yờu cầu của ban lónh đạo.chẳng hạn nú sẽ đưa ra trong cơ quan cú bao nhiờu người là tiến sĩ, thạc sĩ, cú bao nhiờu người trỡnh độ đại học.
-Chức năng thống kờ danh sỏch nhõn viờn đến tuổi nghỉ chế độ
Chức năng này cú nhiệm vụ mối năm sẽ in ra một danh sach cỏc nhõn viờn đến tuổi nghỉ chế độ.chức năng này sẽ lấy thụng tin về quỏ trỡnh cụng tỏc của nhõn viờn từ kho dữ liệu hồ sơ trong chức năng quản lớ hồ sơ để thống kờ lờn danh sỏch đú và nộp cho ban lónh đạo.
-Chức năng bỏo cỏo lương nhõn sự
Chức năng này cú nhiệm vụ sẽ chỉ in ra bỏo cỏo về lương của nhõn viờn theo yờu cầu của ban giỏm đốc. dữ liệu đầu vào của chức năng này được lấy ra từ kho dữ liệu bảng lương do chức năng quản lớ lương cung cấp.
III. Phõn tớch dữ liệu
1. Mụ hỡnh luồng dữ liệu mức khung cảnh
Nhân viên
Hồ sơ nhân viên
Quản lý nhân sự
Nhà quản lý
Thông tin nhân viên
Thông tin trả lời
Các quyết định
2. Mụ hỡnh luồng dữ liệu mức đỉnh
QLHS
Thông tin NV
Các quyết định
Nhân viên
T/tin trả
lời
T/t NV
Quản lý lương
Thông tin
yêu cầu
Thông tin
trả
lời
Thông tin về lương
Ngày công
Thông tin
yêu cầu
Thông tin ngày công
Hồ sơ
T/tin trả lời
Thông tin
yêu cầu
Báo cáo thống kê
Báo cáo yêu cầu
Các yêu cầu
Nhà quản lý
3. Mụ hỡnh luồng dữ liệu mức dưới đỉnh
3.1 Mụ hỡnh luồng dữ liệu mức dưới đỉnh chức năng quản lớ hồ sơ
Nhà quản lý
Nhán viên
Nhập HS
Sửa HS
Thông tin
NV
Thông tin
NV
Thông tin
cá nhân cần nhập
Thông tin
cá nhân cần sửa
Hồ sơ
Thông tin hồ sơ được nhập
Thông
Tin hồ
sơ được
sửa
Tìm kiếm
Thông tin
hồ
sơ
đã được tìm
Thông tin
hồ
sơ
cần
tìm kiếm
Yêu cầu tìm kiếm
Thông tin cá nhân
3.2 Mụ hỡnh luồng dữ liệu mức dưới đỉnh chức năng quản lớ lương
Tổng số ngày công
Thông
tin về
hệ số lương của NV
Cập nhật lương
Thông tin ngày công
Nhân viên
Ngày công
Hồ sơ
Lập bảng lương nhân sự
Bảng lương
TK danh sách lên lương
Tìm kiếm
Ban lãnh đạo
Danh sách những người được lên đường
Thông tin
theo
yêu
cầu
Thông
tin
theo
yêu
cầu
Thông tin
theo
yêu
cầu
3.3 Mụ hỡnh luồng dữ liệu mức dưới đỉnh chức năng bỏo cỏo thống kờ
Quản lý lương
Bảng lương
T.tin
y/c
T/tin
trả
lời
Báo cáo lương
nhân sự
Nhà quản lý
Thông
tin
y/c
Thống kê theo
trình độ
Thông
tin
yêu
cầu
Bảng
lương
của NV
In
Thông tin về trình đọ của NV
Hồ sơ
TK theo trình độ NN
Thống kê đến tuổi nghỉ chế độ
Thông tin
yêu
cầu
trình
độ
Thông tin
yêu cầu
Danh
sách nhân
viên
đến
tuổi
nghỉ
chế
độ
Chương III: Thiết kế hệ thống
I.Thiết kế cơ sở dữ liệu
Sơ đồ liên kết thực thể
Để xây dựng một hệ cơ sở dữ liệu giúp cho máy tính làm việc có hiệu quả cao trong quá trình xử lý các công việc, ta phải thiết kế một hệ cơ sở dữ liệu đảm bảo được những yêu cầu sau.
Tránh được sự dư thừa thông tin, dữ liệu
Đảm bảo được sự an toàn dữ liệu, tránh sự mất mát thông tin khi thực hiện công việc.
Đảm bảo giảm được độ phức tạp tính toán, dễ sử dụng khi khai thác dữ liệu. Giai đoạn này dựa trên các mẫu biểu thu thập thông tin đầu vào của hệ thống. Ngoài thông tin nhận được khi tiến hành phân tích các mẫu biểu thì quá trình tiếp xúc cũng là nguồn thông tin quan trọng giúp xác định các thực thể, kiểu thực thể, mỗi quan hệ các thực thể.
Với mỗi thực thể cần xác định các thông tin như: Tên thực thể, thuộc tính, quan hệ giữa các thực thể, khóa. Sau khi chuẩn hóa mô hình thực thể liên kết dựa theo dạng chuẩn 3 của mô hình dữ liệu quan hệ ta thu được mô hình thực thể liên kết.
Mô hình thực thể liên kết
Dùng để xác định các thông tin cơ sở có ích cho hệ thống giúp ta nhận rõ mối quan hệ bên trong hoặc các tham trỏ chéo giữa chúng. Mô hình luồng dữ liệu chứa đầy đủ các thuộc tính hay các cơ sở dữ liệu cần thiết cho công tác quản lý. Tránh được mức dư thừa hay tổn thất nhất định, thuận lợi cho việc xây dựng và thiết kế chương trình.
Từ sự phân tích về hệ thống chức năng xử lý của hệ thống biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu ta có thể xây dựng mô hình thực thể liên kết để lưu trữ các thông tin về các thực thể như sau:
Luong
Maluong
Hsluong
Tongiao
Matongiao
Tentongiao
Phongban
Mapb
Tenpb
Trinhdong..
Matdnn
Tentdnn
Dantoc
Madantoc
Tendantoc
Trinhdoch..
Matdcm
Tentdcm
Ngaycong
Manv
Ngaycong
Thang
Nam
1
1
1
1
1
1
∞
∞
∞
∞
∞
∞
Hoso
Manv
Maluong
Mapb
Hoten
Ngaysinh
Gioitinh
Socmnd
Matdcm
Matdnn
Hktt
Diachi
Madantoc
Matongiao
Ngayvaodoan
Ngayvaodang
Khenthuong Kyluat
Qtct
∞
1
Thiết kế tệp
Mục đích: Xây dựng dữ liệu từ biểu đồ cấu trúc dữ liệu có thông tin đầy đủ và cho phép truy nhập nhanh. Phương thức tiến hành dựa trên hệ quản trị cơ sở dữ liệu có sẵn sử dụng các ngôn ngữ định nghĩa dữ liệu để xây dựng các tệp dữ liệu.
1. Bảng HOSO
HOSO
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MANV
C
5
mã nhân viên
MAPB
C
5
mã phòng ban
MALUONG
C
5
mã lương
HOTEN
C
22
họ tên
NGAYSINH
D
8
ngày sinh
GIOITINH
C
8
giới tính
DIACHI
C
28
địa chỉ
CHUCDANH
C
10
chức danh
MATDCM
C
6
mã trình độ chuyên môn
MATDNN
C
6
mã trình độ ngoại ngữ
HKTT
C
20
hộ khẩu thường trú
DANTOC
C
10
dân tộc
TONGIAO
C
10
tôn giáo
NVDOAN
D
8
ngày vào đoàn
NVDANG
D
8
ngày vào đảng
KHENTHUONG
M
khen thưởng
KYLUAT
M
kỷ luật
QTCT
M
quá trình công tác
2. Bảng LUONG
LUONG
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MALUONG
C
5
mã lương
HSLUONG
N
5
hệ số lương
LUONGCB
N
10
lương cơ bản
3. Bảng PHONGBAN
PHONGBAN
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MAPB
C
5
mã phòng ban
TENPB
C
5
tên phòng ban
4. Bảng TONGIAO
TONGIAO
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MATONGIAO
C
5
mã tôn giáo
TENTONGIAO
C
5
tên tôn giáo
5. Bảng NGAYCONG
NGAYCONG
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MANV
C
5
mã nhân viên
NGAYCONG
C
5
ngày công
THANG
C
5
tháng
NAM
C
5
năm
6. Bảng TRINHDOCM
TRINHDOCM
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MATDCM
C
5
mã trình độ chuyên môn
TENTDCM
C
5
tên trình độ chuyên môn
7. Bảng TRINHDONN
TRINHDONN
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MATDNN
C
5
mã trình độ ngoại ngữ
TENTDNN
C
5
tên trình độ ngoại ngữ
8. Bảng DANTOC
DANTOC
Thuộc tính
Loại
Độ rộng
Giải thích
Thực thể
MADANTOC
C
5
mã dân tộc
TENDANTOC
C
5
tên dân tộc
Chương IV. CàI ĐặT Và ứNG DụNG
I. Một số giao diện chính và hoạt động
1. Form hồ sơ cho phép nhập, sửa, xoá thông tin nhân viên
Dim fag As Integer
Private Sub cmdAE_Click()
Dim sql As String
Dim sex As Integer
Call Opendb
Select Case cmdAE.Caption
Case "Tạo mới"
fag = 0
cmdAE.Caption = "Lưu lại"
Call AddEnableT
'txtSex = txtSex.List(0)
'txtTG = txtTG.List(0)
'txtDT = txtDT.List(0)
'txtPB = txtPB.List(0)
'txtTDCM = txtTDCM.List(0)
'txtTDNN = txtTDNN.List(0)
'txtLuong = txtLuong.List(0)
txtHoTen.SetFocus
lstNV.Enabled = False
Case "Sửa đổi"
fag = 1
cmdAE.Caption = "Lưu lại"
Call AddEnableT
txtHoTen.SetFocus
lstNV.Enabled = False
Case "Lưu lại"
If Trim(txtHoTen) = "" Or Trim(txtDiachi) = "" _
Or Trim(txtCMND) = "" Or Trim(txtHKTT) = "" _
Or txtSex.ListIndex < 0 Or txtLuong.ListIndex < 0 _
Or txtPB.ListIndex < 0 Or txtDT.ListIndex < 0 _
Or txtTG.ListIndex < 0 Or txtTDCM.ListIndex < 0 _
Or txtTDNN.ListIndex < 0 Then
MsgBox " Bạn phải điền đầy đủ thông tin vào các ô trống.", vbInformation, "Thông báo"
Exit Sub
End If
If txtSex = "Nam" Then
sex = 1
Else
sex = 0
End If
If fag = 0 Then
sql = "insert into hoso(maluong,mapb,hoten,ngaysinh,gioitinh,socmnd,matdcm,matdnn,hktt,diachi,madantoc,matongiao,ngayvaodoan,ngayvaodang)"
sql = sql & "Values(" & txtLuong.ItemData(txtLuong.ListIndex) & "," & txtPB.ItemData(txtPB.ListIndex) & ",'" & txtHoTen & "','" & txtNgaysinh & "','"
sql = sql & sex & "'," & txtCMND & "," & txtTDCM.ItemData(txtTDCM.ListIndex) & "," & txtTDNN.ItemData(txtTDNN.ListIndex) & ",'" & txtHKTT & "','"
sql = sql & txtDiachi & "'," & txtDT.ItemData(txtDT.ListIndex) & "," & txtTG.ItemData(txtTG.ListIndex) & ",'" & txtDoan & "','" & txtDang
sql = sql & "')"
db.Execute sql
cmdAE.Caption = "Tạo mới"
ElseIf fag = 1 Then
sql = "Update hoso set maluong=" & txtLuong.ItemData(txtLuong.ListIndex) & ",mapb=" & txtPB.ItemData(txtPB.ListIndex) & ",hoten='" & txtHoTen & "',ngaysinh='" & txtNgaysinh
sql = sql & "',gioitinh='" & sex
sql = sql & "',socmnd=" & txtCMND
sql = sql & ",matdcm=" & txtTDCM.ItemData(txtTDCM.ListIndex)
sql = sql & ",matdnn=" & txtTDNN.ItemData(txtTDNN.ListIndex)
sql = sql & ",hktt='" & txtHKTT
sql = sql & "',diachi='" & txtDiachi & "',madantoc=" & txtDT.ItemData(txtDT.ListIndex) & ",matongiao=" & txtTG.ItemData(txtTG.ListIndex) & ",ngayvaodoan='" & txtDoan & "',ngayvaodang ='" & txtDang & "'"
sql = sql & " where manv=" & txtManv
db.Execute sql
cmdAE.Caption = "Sửa đổi"
End If
Call Form_Load
Call AddEnableF
lstNV.Enabled = True
Call ClearTT
End Select
Call Closedb
End Sub
Private Sub cmdCancel_Click()
If fag = 0 Then
cmdAE.Caption = "Tạo mới"
Call ClearTT
Else
cmdAE.Caption = "Sửa đổi"
End If
Call AddEnableF
End Sub
Private Sub cmdDel_Click()
Dim a, sql As String
Dim rs As Recordset
Dim i As Integer
If lstNV.ListIndex < 0 Then
MsgBox "Chọn tên trên danh sách để đưa vào danh sách những người" & Chr(13) & "không làm việc nữa.", vbInformation, "Thông báo"
Exit Sub
End If
a = MsgBox("Bạn có chắc chắn không?", vbQuestion + vbYesNo, "Chú ý")
If a = vbYes Then
Call Opendb
sql = "Select * from hoso where manv=" & lstNV.ItemData(lstNV.ListIndex)
Set rs = db.OpenRecordset(sql)
sql = "insert into nghiviec(manv,maluong,mapb,hoten,ngaysinh,gioitinh,socmnd,matdcm,matdnn,hktt,diachi,madantoc,matongiao,ngayvaodoan,ngayvaodang)"
sql = sql & "Values(" & rs("manv") & "," & rs("maluong") & "," & rs("mapb") & ",'" & rs("hoten") & "','" & rs("ngaysinh") & "','"
sql = sql & rs("gioitinh") & "'," & rs("socmnd") & "," & rs("matdcm") & "," & rs("matdnn") & ",'" & rs("hktt") & "','"
sql = sql & rs("Diachi") & "'," & rs("madantoc") & "," & rs("matongiao") & ",'" & rs("ngayvaodoan") & "','" & rs("ngayvaodang")
sql = sql & "')"
db.Execute sql
db.Execute "Delete * from hoso where manv=" & lstNV.ItemData(lstNV.ListIndex)
Call Closers(rs)
MsgBox "Hoàn thành công việc."
Call Closedb
Call Form_Load
End If
End Sub
Private Sub Form_Load()
Dim sql, term, tu, toi As String
Dim rs1 As Recordset
Dim i, dem As Integer
Call Opendb
sql = "Select * from tdcm"
Set rs1 = db.OpenRecordset(sql)
txtTDCM.Clear
i = 0
While Not rs1.EOF
txtTDCM.AddItem rs1(1)
txtTDCM.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
'luong
sql = "Select * from luong"
Set rs1 = db.OpenRecordset(sql)
txtLuong.Clear
i = 0
While Not rs1.EOF
txtLuong.AddItem rs1(1) & " * " & rs1(2)
txtLuong.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
sql = "Select * from tdnn"
Set rs1 = db.OpenRecordset(sql)
txtTDNN.Clear
i = 0
While Not rs1.EOF
txtTDNN.AddItem rs1(1)
txtTDNN.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
sql = "Select * from dantoc"
Set rs1 = db.OpenRecordset(sql)
txtDT.Clear
i = 0
While Not rs1.EOF
txtDT.AddItem rs1(1)
txtDT.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
sql = "Select * from phongban"
Set rs1 = db.OpenRecordset(sql)
txtPB.Clear
i = 0
While Not rs1.EOF
txtPB.AddItem rs1(1)
txtPB.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
sql = "Select * from tongiao"
Set rs1 = db.OpenRecordset(sql)
txtTG.Clear
i = 0
While Not rs1.EOF
txtTG.AddItem rs1(1)
txtTG.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
txtSex.Clear
txtSex.AddItem "Nam"
txtSex.AddItem "Nu"
If Len(sTim) > 0 Then
term = right(sTim, 1)
sTim = Left(sTim, Len(sTim) - 1)
Select Case term
Case "M"
sql = "Select manv,hoten from hoso where manv=" & sTim
Case "T"
sql = "Select manv,hoten from hoso where matdcm=" & sTim
Case "L"
dem = InStr(1, sTim, "A", vbTextCompare)
tu = Mid(sTim, 1, dem - 1)
toi = Mid(sTim, dem + 1)
With frmTimL
If .optB = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong =" & tu
If .optL = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong >=" & tu
If .optN = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong <=" & tu
If .optK = True Then sql = "Select s.manv,s.hoten from hoso s,luong l where l.maluong=s.maluong and l.luong >= " & tu & " and l.luong <= " & toi
End With
End Select
Else
sql = "Select manv,hoten from hoso"
End If
Set rs1 = db.OpenRecordset(sql)
lstNV.Clear
i = 0
While Not rs1.EOF
lstNV.AddItem rs1(1)
lstNV.ItemData(i) = rs1(0)
rs1.MoveNext
i = i + 1
Wend
Call Closers(rs1)
Call Closedb
Call AddEnableF
cmdCancel.Enabled = False
End Sub
Sub AddEnableT()
'txtManv.Enabled = True
txtHoTen.Enabled = True
txtNgaysinh.Enabled = True
txtDiachi.Enabled = True
txtSex.Enabled = True
txtPB.Enabled = True
txtTDCM.Enabled = True
txtTDNN.Enabled = True
txtCMND.Enabled = True
txtHKTT.Enabled = True
txtDang.Enabled = True
txtDoan.Enabled = True
txtDT.Enabled = True
txtTG.Enabled = True
txtLuong.Enabled = True
cmdCancel.Enabled = True
End Sub
Sub AddEnableF()
txtManv.Enabled = False
txtHoTen.Enabled = False
txtNgaysinh.Enabled = False
txtDiachi.Enabled = False
txtSex.Enabled = False
txtPB.Enabled = False
txtTDCM.Enabled = False
txtTDNN.Enabled = False
txtCMND.Enabled = False
txtHKTT.Enabled = False
txtDang.Enabled = False
txtDoan.Enabled = False
txtDT.Enabled = False
txtTG.Enabled = False
txtLuong.Enabled = False
cmdCancel.Enabled = False
End Sub
Sub ClearTT()
txtHoTen = ""
txtDiachi = ""
txtHKTT = ""
txtDoan = ""
txtDang = ""
txtCMND = ""
txtManv = ""
End Sub
Private Sub lstNV_Click()
Dim rs As Recordset
Dim sql, a As String
Dim i As Integer
Call Opendb
With lstNV
If .ListIndex >= 0 Then
sql = "select * from hoso where manv=" & .ItemData(.ListIndex)
Set rs = db.OpenRecordset(sql)
If Not rs.EOF Then
txtManv = rs("manv")
txtHoTen = rs("hoten")
txtNgaysinh = rs("ngaysinh")
If rs("gioitinh") = False Then
txtSex = "Nu"
Else
txtSex = "Nam"
End If
txtDiachi = rs("diachi")
txtCMND = rs("socmnd")
txtHKTT = rs("hktt")
txtDoan = rs("ngayvaodoan")
txtDang = rs("ngayvaodang")
'tdcm
For i = 0 To txtTDCM.ListCount - 1
If rs("matdcm") = txtTDCM.ItemData(i) Then txtTDCM = txtTDCM.List(i)
Next
'tdnn
For i = 0 To txtTDNN.ListCount - 1
If rs("matdnn") = txtTDNN.ItemData(i) Then txtTDNN = txtTDNN.List(i)
Next
'dt
For i = 0 To txtDT.ListCount - 1
If rs("madantoc") = txtDT.ItemData(i) Then txtDT = txtDT.List(i)
Next
'tg
For i = 0 To txtTG.ListCount - 1
If rs("matongiao") = txtTG.ItemData(i) Then txtTG = txtTG.List(i)
Next
'pb
For i = 0 To txtPB.ListCount - 1
If rs("mapb") = txtPB.ItemData(i) Then txtPB = txtPB.List(i)
Next
'luong
For i = 0 To txtLuong.ListCount - 1
If rs("maluong") = txtLuong.ItemData(i) Then txtLuong = txtLuong.List(i)
Next
End If
End If
End With
Call Closers(rs)
Call Closedb
cmdAE.Enabled = True
End Sub
2. Form bảng lương theo tháng
Sub loadBL()
With txtBL
.Clear
.Cols = 5
.Rows = 2
.ColWidth(0) = 3000
.ColAlignment(0) = 3
.ColWidth(1) = 3000
.ColWidth(2) = 1500
.ColWidth(3) = 1500
.ColWidth(4) = 1500
.ColAlignment(1) = 3
.ColAlignment(2) = 3
.ColAlignment(3) = 3
.ColAlignment(4) = 3
.TextMatrix(0, 0) = "Tên nhân viên"
.TextMatrix(0, 1) = "Ngày công"
.TextMatrix(0, 2) = "Lương cb"
.TextMatrix(0, 3) = "Hs Lương"
.TextMatrix(0, 4) = "Lương"
End With
End Sub
Private Sub Form_Load()
Dim i As Integer
Call loadBL
txtNam.Clear
For i = 2000 To 2200
txtNam.AddItem i
Next
txtThang.Clear
For i = 1 To 12
txtThang.AddItem i
Next
txtThang = txtThang.List(7)
txtNam = txtNam.List(4)
End Sub
Private Sub txtNam_Click()
Dim sql As String
Dim rs As Recordset
Dim i, j As Integer
Call Opendb
sql = "Select s.hoten,c.songaycong,l.luongcb,l.hsluong from hoso s,luong l,ngaycong c where s.maluong=l.maluong and s.manv=c.manv and c.thang='" & txtThang & "' and c.nam='" & txtNam & "'"
Set rs = db.OpenRecordset(sql)
Call loadBL
i = 1
With txtBL
While Not rs.EOF
.TextMatrix(i, 0) = rs("hoten")
.TextMatrix(i, 1) = rs("songaycong")
.TextMatrix(i, 2) = rs("luongcb")
.TextMatrix(i, 3) = rs("hsluong")
.TextMatrix(i, 4) = Val(rs("luongcb")) * Val(rs("hsluong"))
rs.MoveNext
i = i + 1
Wend
End With
Call Closedb
End Sub
Private Sub txtThang_Click()
Call txtNam_Click
End Sub
3. Form bảng chấm công và bảng cập nhật lương cơ bản
Private Sub back_Click()
Frame1.Enabled = True
Frame2.Enabled = False
txtC = ""
End Sub
Private Sub cmdCham_Click()
Dim sql As String
Dim rs As Recordset
Call Opendb
If Trim(txtC) = "" Then Exit Sub
Set rs = db.OpenRecordset("select manv from ngaycong where manv=" & lstDs.ItemData(lstDs.ListIndex) & " and thang='" & txtThang.ItemData(txtThang.ListIndex) & "' and nam='" & txtNam & "'")
If Not rs.EOF Then
MsgBox "Nhân viên này đã được chấm công."
Exit Sub
End If
sql = "Insert into ngaycong(manv,songaycong,thang,nam)values(" & lstDs.ItemData(lstDs.ListIndex) & "," & txtC & ",'" & txtThang.ItemData(txtThang.ListIndex) & "','" & txtNam & "')"
db.Execute sql
Frame1.Enabled = True
Frame2.Enabled = False
txtC = ""
Call Closedb
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim rs As Recordset
Dim sql As String
Call Opendb
txtNam.Clear
For i = 2000 To 2200
txtNam.AddItem i
Next
txtThang.Clear
For i = 1 To 12
txtThang.AddItem "Tháng " & i
txtThang.ItemData(i - 1) = i
Next
txtNam = txtNam.List(4)
txtThang = txtThang.List(7)
lstDs.Clear
sql = "select manv,hoten from hoso"
Set rs = db.OpenRecordset(sql)
i = 0
While Not rs.EOF
lstDs.AddItem rs(1)
lstDs.ItemData(i) = rs(0)
rs.MoveNext
i = i + 1
Wend
lstDs = lstDs.List(0)
Frame2.Enabled = False
Call Closedb
End Sub
Private Sub lstDs_DblClick()
Frame2.Enabled = True
Frame1.Enabled = False
End Sub
Private Sub Command2_Click()
Dim sql As String
Call Opendb
If txtLcb = "" Or txtHsl = "" Then
MsgBox "Bạn phải điền đầy đủ thông tin."
Exit Sub
End If
sql = "Insert into luong (luongcb,hsluong,luong)values(" & txtLcb & "," & txtHsl & "," & Val(txtLcb) * Val(txtHsl) & ")"
db.Execute sql
Call Closedb
Call Form_Load
End Sub
Private Sub Form_Load()
Dim rs As Recordset
Call Opendb
Set rs = db.OpenRecordset("select * from luong")
lstLcb.Clear
lstHsl.Clear
While Not rs.EOF
lstLcb.AddItem rs(1)
lstHsl.AddItem rs(2)
rs.MoveNext
Wend
txtLcb = ""
txtHsl = ""
Call Closedb
End Sub
Private Sub lstLcb_Click()
lstHsl = lstHsl.List(lstLcb.ListIndex)
End SuB
4. Tìm kiếm theo lương và trình độ chuyên môn
Private Sub cmdOK_Click()
If Val(txtTu) < 0 Or Val(txtToi) < 0 Then Exit Sub
If Val(txtTu) > Val(txtToi) And optK = True Then
MsgBox "Giá trị bắt đầu phải lớn hơn hoặc bằng giá trị cuối.", vbInformation, "Thông báo"
Exit Sub
End If
sTim = Trim(txtTu & "A" & txtToi & "L")
frmHoso.Show
End Sub
Private Sub cmdTDOK_Click()
sTim = txtTDCM.ItemData(txtTDCM.ListIndex) & "T"
frmHoso.Show
End Sub
Private Sub Form_Load()
Dim rs As Recordset
Dim i As Integer
Call Opendb
Set rs = db.OpenRecordset("select * from TDCM")
txtTDCM.Clear
i = 0
While Not rs.EOF
txtTDCM.AddItem rs(1)
txtTDCM.ItemData(i) = rs(0)
rs.MoveNext
i = i + 1
Wend
txtTu = 0
txtToi = 0
optB_Click
Closedb
End Sub
Private Sub optB_Click()
txtToi.Enabled = False
End Sub
Private Sub optK_Click()
txtToi.Enabled = True
End Sub
Private Sub optL_Click()
txtToi.Enabled = False
End Sub
Private Sub optN_Click()
txtToi.Enabled = False
End Sub
5. Form tìm kiếm theo trình độ
Private Sub cboTD_Click()
Dim rs As Recordset
Dim sql As String
Dim i, j As Integer
Call Opendb
sql = "Select s.hoten,p.tenpb,s.ngaysinh,s.gioitinh,s.socmnd,cm.diengiai,nn.diengiai,s.hktt,s.diachi,dt.diengiai,t.diengiai,s.ngayvaodoan,s.ngayvaodang from phongban p,hoso s,luong l,tdcm cm,tdnn nn,tongiao t,dantoc dt where s.maluong=l.maluong and s.matongiao=t.matongiao and s.madantoc=dt.madantoc And s.mapb = p.mapb and cm.matdcm=s.matdcm and s.matdnn=
Các file đính kèm theo tài liệu này:
- 4063.doc