MỤC LỤC
LỜI MỞ ĐẦU………………………………………………………………………...3
CHƯƠNG I : GIỚI THIỆU VÀ KHẢO SÁT HỆ THỐNG ………............................5
I.Giới thiệu về công ty………………………………………………………………..5
1. Quá trình hình thành và phát triển……………………………................................5
2. Chức năng, nhiệm vụ của các phòng ban………………………………………….6
II. Khảo sát hệ thống ………………………………………………………………..14
1.Tổng quan về hệ thống quản lý …………………………………………………...14
2.Chức năng và nhiệm vụ của hệ thống quản lý nhân sự …………………………...14
3.Yêu cầu của hệ thống và những khó khăn………………………………………...15
4.Những yêu cầu đặt ra đối với hệ thống mới……………………………………….15
CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG. ………………………..16
1. Các chức năng cơ bản của hệ thống: ……………………………………………..16
1.1> Quản lý hồ sơ :…………………………………………………………………16
1.2> Quản lý lương …………………………………………………………………16
1.3> Tra cứu,Tìm kiếm :…………………………………………………………….16
1.4> Báo cáo,Thống kê ……………………………………………………………..16
2. Biểu đồ phân cấp chức năng của hệ thống quản lý nhân sự/ lương:……………...17
2.1 Biểu đồ phân cấp chức năng…………………………………………………….17
2.2 Biểu đồ luồng dữ liệu mức khung cảnh…………………………………………17
2.3 Biểu đồ luồng dữ liệu mức đỉnh…………………………………………………18
2.3.1 Chức năng quản lý hồ sơ………………………………………………………19
2.3.2 Chức năng quản lý lương:……………………………………………………..19
2.3.3 Chức năng tra cứu tìm kiếm:…………………………………………………..19
2.3.4 Chức năng báo cáo, thống kê:…………………………………………………20
2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh tổng hợp…………………………………21
CHƯƠNG III: XÂY DỰNG CƠ SỞ DỮ LIỆU CỦA CHƯƠNG
TRÌNH…………22
1.Cơ sở dữ liệu………………………………………………………………………22
2. Sử dụng Microsoft Access để tạo cơ sở dữ liệu cho chương trình……………….23
2.1 Lược đồ cấu trúc dữ liệu (LCD): ……………………………………………….24
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
2
2.2 Thiết kế các file dữ liệu…………………………………………………………25
2.2.1 Bảng HoSoCanBo lưu trữ thông tin về nhân sự trong một cơ quan…………..25
2.2.2 Bảng lương lưu trữ thông tin về quá trình lao động của nhân sự…………….26
2.2.3 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty………………27
2.2.4 Bảng Thưởng lưu trữ thông tin về hệ số lương của công ty…………………..27
2.2.5 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty………………27
3. Dùng Microsoft Access để tạo bộ cơ sở dữ liệu………………………………….28
3.1 Mối quan hệ cho các bảng dữ liệu trong chương trình………………………….28
3.2 Relationships phân hệ Quản lý nhân sụ-tiền lương……………………………..28
4.Thiết kễ Module:…………………………………………………………………..29
4.1 Xây dựng lược đồ cấu trúc chương trình LCT:…………………………………29
4.1.1 Chỉnh sửa hồ sơ:………………………………………………………………29
4.1.2 Chấm công…………………………………………………………………….29
4.1.3 Tính lương:……………………………………………………………………30
4.1.4 Tra cứu:………………………………………………………………………..30
4.1.5 Thống kê báo cáo:……………………………………………………………..31
4.2 Đặc tả Module:…………………………………………………………………31
4.2.1 Cập nhật hồ sơ:………………………………………………………………..31
4.2.2 Tra cứu,Tìm kiếm:…………………………………………………………….32
CHƯƠNG IV: SỬ DỤNG NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
ĐỂ THIẾT KẾ CHƯƠNG TRÌNH. ………………………………………………...33
1.Ngôn ngữ lập trình Visual Basic…………………………………………………..33
2.Các đối tượng truy cập dữ liệu…………………………………………………….34
3. Sử dụng các đối tượng truy cập dữ liệu trong chương trình……………………...35
4. Các điều khiển giao diện người sử dụng………………………………………….39
5. Sử dụng các câu truy vấn (SQL)……………………………………………………….40
6. Cài đặt và chạy chương trình……………………………………………………..44
CHƯƠNG V: ĐÁNH GIÁ VÀ PHÁT TRIỂN ĐỀ TÀI ……………………………54
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN……………………………………55
XÁC NHẬN CỦA CƠ QUAN THỰC TẬP………………………………………..56
TÀI LIỆU THAM KHẢO…………………………………………………………..57
PHỤ LỤC……………………………………………………………………………58
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
3
CODE CỦA CHƯƠNG TRÌNH…………………..…………………………...........58
LỜI MỞ ĐẦU.
Ngày nay song song với quá trình phát triển công nghệ khoa học và kỹ
thuật thì nghành khoa học tính toán đã đóng vai trò quan trọng, nó đã đạt được
những thành tựu khoa học kỹ thuật rực rỡ với những bước tiến nhảy vọt.Việc
áp dụng các công nghệ khoa học kỹ thuật vào lĩnh vực đời sống của con người
ngày càng tăng và không ngừng can thiệp vào hầu hết các công việc trong đời
sống. Công nghệ thông tin là một trong những ngành khoa học đó. Đi đôi với
sự phát triển của công nghệ chế tạo các thiết bị máy tính thì việc các sản phẩm
phần mềm ứng dụng ra đời có tính chất quyết định đối với việc áp dụng ngành
khoa học này.
Trên thế giới cũng như ở Việt Nam , công nghệ thông tin đã trở thành một
ngành công nghiệp mũi nhọn, nó là một ngành khoa học kỹ thuật không thể
thiếu trong việc áp dụng vào các hoạt động xã hội như: Quản lý, kinh tế, thông
tin...
Ở nước ta hiện nay , việc áp dụng vi tính hoá trong việc quản lý tại các cơ
quan, xí nghiệp đang rất phổ biến và trở nên cấp thiết. Nhưng một vấn đề đặt
ra trong việc quản lý là làm thế nào để chuẩn hoá cách xử lý dữ liệu ở các cơ
quan, xí nghiệp, bởi trăm xí nghiệp, trăm cơ quan là trăm cách xử lý khác
nhau, ở đây chúng tôi muốn đề cập tới tầm quan trọng của việc phân tích vấn
đề trong quản lý ứng dụng vào vi tính. Đó cũng là một vấn đề còn nhiều hạn
chế của đội ngũ nhân viên trong việc quản lý tại các cơ quan, xí nghiệp của ta.
Một thực trạng dang diễn ra là các công ty thường mời các chuyên viên
phần mềm vi tính về viết chương trình, nhưng họ không hiểu chương trình
được viết như thế nào, hoặc ứng dụng được phân tích ra sao. Họ không biết
làm gì ngoài việc ấn nút theo sự hướng dẫn của công ty phần mềm khi sử dụng
chương trình họ viết. Khi muốn thay đổi nho nhỏ trong chương trình lại phải
mời chuyên viên,vì người điều hành chỉ biết ấn nút mà thôi, mà những thay
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
4
đổi này có thể khi phân tích vấn đề không ai để ý hoặc khách hàng quên khuấy
không yêu cầu chuyên viên khắc phục trong chương trình. Sự hạn chế trong
việc phân tích vấn đề, quản lý đã không phát huy hết tác dụng của máy tính.
Với mong muốn giúp các bạn hiểu được tầm quan trọng của việc phân tích
thiết kế một hệ thống thông tin tự động hoá trong lĩnh vực quản lý. Em đã cố
gắng và mạnh dạn đưa ra một phương pháp phân tích thiết kế hệ thống trong
bài toán quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT
ACCESS, đây cũng chỉ là một phương pháp trong nhiều phương pháp, nó có
thể chưa được hoàn thiện nhưng cũng phần nào đấy giúp các bạn hiểu được
vai trò của việc phân tích thiết kế trong bài toán quản lý nói chung.
Mặc dù rất cố gắng để hoàn thành công việc, xong thời gian có hạn và kinh
nghiệm kiến thức chưa nhiều nên việc phân tích thiết kế còn có nhiều thiếu xót
cần được bổ xung . Vì vậy, e mong nhận được ý kiến đóng góp của thầy cô và
bạn bè để đề tài ngày càng hoàn thiện hơn.
Cuối cùng, em xin chân thành cảm ơn Ths. Nguyễn Thanh Hương giảng
viên bộ môn công nghệ thông tin Trường Đại Học Kinh Tế Quốc Dân đã tận
tình chỉ bảo hướng dẫn em hoàn thành đề tài này.
Ngoài ra, e xin chân thành cám ơn quý công ty TNHH Minh Trí đã tạo
điều kiện cho e thực tập tại công ty để e có thể hoàn thành được đề tài này.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
5
CHƯƠNG I
GIỚI THIỆU VÀ KHẢO SÁT HỆ THỐNG
I. Giới thiệu về công ty
1.Quá trình hình thành và phát triển
Ngày 22/06/1995 UBND thành phố Hà Nội cấp giấy phép số
1906GP/UB quyết định thành lập công ty TNHH Minh Trí. Là một công ty
may thêu chuyên sản xuất và xuất khẩu các mặt hàng may mặc bằng vải
dệt kim. Sản phẩm của công ty đã có mặt ở khắp các thị trường trên thế
giới như thị trường EU, Canada, Đức, Tiệp, Đài Loan, Nhật Bản, Hồng
Kông, Trung Quốc,... đặc biệt là thị trường Mỹ.
Trong 13 năm qua, công ty đã không ngừng hoàn thiện về cơ cấu tổ chức
và bộ máy quản lý nhằm đáp ứng nhu cầu sản xuất của cán bộ công nhân
viên trong công ty để luôn đạt mức tăng trưởng và kim ngạch xuất khẩu
cao. Đồng thời tạo công ăn việc làm cho hàng nghìn lao động, nâng cao
chất lượng đời sống cán bộ công nhân viên.
Giới thiệu cụ thể:
- Tên công ty: Công ty trách nhiệm hữu hạn Minh Trí
- Tên giao dịch: Minh Tri Limited Company
- Tên viết tắt: Minh Tri co.lmt
- Trụ sở chính: Khu công nghiệp Vĩnh Tuy - Quận Hoàng Mai – Tp. Hà
Nội
- Hình thức hoạt động: sản xuất kinh doanh
- Sản phẩm của công ty: chủ yếu là các sản phẩm từ vải dệt kim bao gồm
quần, áo các loại. Có 2 dòng sản phẩm là: hàng cao cấp và hàng đại trà.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
6
- Kim ngạch xuất khẩu đạt: 24.344.000 USD (2006)
- Sản lượng sản xuất đạt: 5.993.000 sản phẩm (2006)
- Doanh thu đạt: 67 tỷ đồng
- Số máy may:570
- Số dàn máy thêu: 4
- Thành tích đạt được:
+ Thành tích xuất khẩu do Bộ Thương mại tặng năm 2004
+ Bằng khen của Liên đoàn quận Hoàng Mai về công tác tốt
+ Bằng khen của Sở Y tế Hà Nội về VSATTP và chăm sóc sức khoẻ ban
đầu cho người lao động.
+ ...cùng nhiều bằng khen về công tác an ninh trật tự, công tác phòng cháy
chữa cháy, bảo hiểm xã hội,...
Tuy còn non trẻ nhưng công ty TNHH Minh Trí đã và đang khẳng định
mình trên con đường hội nhập kinh tế quốc tế nói chung và ngành dệt may
Việt Nam nòi riêng.
2.Chức năng, nhiệm vụ của các phòng ban trong công ty
+ Giám đốc: Là người đứng đầu công ty:
- Chịu trách nhiệm trước Nhà nước và pháp luật về tất cả các hoạt động sản
xuất kinh doanh của công ty.
- Điều hành chung mọi hoạt động của các phòng ban trong công ty.
- Chịu trách nhiệm chỉ đạo, bồi dưỡng và nâng cao chuyên môn, kỹ thuật
và cải thiện đời sống cho cán bộ công nhân viên.
- Kết hợp chặt chẽ với các phòng chức năng, các phòng nghiệp vụ của
công ty tạo điều kiện cho các tổ chức, đoàn thể hoạt động theo đúng
quy chế.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
7
- Trực tiếp phụ trách công tác cán bộ.
+ Phó giám đốc: Là trợ lý của giám đốc - điều hành công ty trong từng lĩnh
vực:
- Chịu trách nhiệm toàn bộ về mặt kỹ thuật, quân sự tự vệ, phụ trách về
đào tạo kế hoạch tác nghiệp, theo dõi, đôn đốc sản xuất hàng trong các
phân xưởng, theo dõi hiện trạng máy móc, thiết bị sản xuất.
- Ký kết hợp đồng nội địa.
- Liên doanh ký kết.
- Mua bán vật tư, hàng hoá, nguyên vật liệu chính, phụ tùng thiết bị.
- Kết hợp cùng phòng tài vụ kinh doanh thành phẩm, phế liệu, sửa chữa
nhà xưởng.
- Liên hệ điều tiết máy móc.
+ Phòng tổ chức lao động hành chính
- Tham mưu giúp việc cho giám đốc trong lĩnh vực tổ chức cán bộ, đào tạo
lao động tiền lương, các chế độ chính sách quản lý hành chính, phục vụ và
bảo vệ.
- Nghiên cứu, đề xuất biện pháp giúp giám đốc công ty chỉ đạo, hướng dẫn,
kiểm tra, đôn đốc các đơn vị trong công ty thực hiện các chủ trương của
giám đốc.
- Tổng hợp, phân tích, báo cáo, thống kê các hoạt động thuộc lĩnh vực
phòng quản lý để phục vụ công tác chung trong toàn công ty.
- Nhiệm vụ:
+ Nghiên cứu, đề xuất các phương án tổ chức bộ máy quản lý, các đơn vị
cho phù hợp với yêu cầu sản xuất kinh doanh, với cơ chế quản lý trong
từng thời kỳ.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
8
+ Phối hợp với các đơn vị liên quan tổng hợp các văn bản quy định chức
năng, nhiệm vụ của các đơn vị.
+ Xây dựng nội quy, quy chế quản lý thuộc lĩnh vực quản lý và lao động
để trình duyệt với giám đốc và ban hành trong công ty.
+ Hướng dẫn, đôn đốc các đơn vị thực hiện đúng nội quy, quy chế.
+ Quản lý hồ sơ, số lượng cán bộ công nhân viên trong toàn công ty, quản
lý mọi vấn đề liên quan đến công tác tuyển dụng, bố trí, sử dụng, bổ
nhiệm, đề bạt, miễn nhiệm, nâng bậc, khen thưởng, kỷ luật.
+ Giúp lãnh đạo công ty trong công cuộc xây dựng chương trình kế hoạch
đào tạo, bồi dưỡng, nâng cao trình độ về mọi mặt cho đội ngũ cán bộ quản
lý, cán bộ kỹ thuật chuyên môn nghiệp vụ và công nhân.
+ Giúp giám đốc công ty tổ chức việc nhận xét, đánh giá cán bộ định kỳ,
bỏ phiếu tín nhiệm, thăm dò ý kiến cán bộ, công nhân viên, thực hiện đầy
đủ, đúng quy định các vấn đề tổ chức cán bộ.
+ Giải quyết các thủ tục tuyển sinh, học nghề, tuyển dụng, ký kết hợp đồng
lao động mới; các thủ tục cho cán bộ công nhân viên chuyển công tác hoặc
thôi việc sau khi đã xin ý kiến của giám đốc.
+ Theo dõi, tổng hợp hợp đồng ký kết, gia hạn hợp đồng lao động cho cán
bộ công nhân viên trong toàn công ty.
+ Công tác tiền lương: xây dựng và ban hành các nội quy, quy chế tiền
lương thu nhập, chế độ bảo hiểm xã hội, thực hiện chính sách cho người
lao động đúng quy định.
+ Thực hiện tốt công tác vệ sinh lao động, vệ sinh môi trường.
+ Thực hiện các công tác bảo vệ an ninh, trật tự an toàn, xây dựng lực
lượng tự vệ vững mạnh.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
9
+ Khám và phát hiện bệnh nghề nghiệp cho cán bộ công nhân viên mắc
phải tại công ty, có kế hoạch phòng bệnh và điều trị.
- Các công tác khác:
+ Công tác thống kê kế hoạch báo cáo.
+ Công tác hình thức, chuẩn bị đầy đủ hồ sơ hoàn thuế khi cần.
+ Xây dựng và tổ chức thực hiện kế hoạch quản lý hệ thống kho tàng, bảo
quản hàng hoá.
+ Tổ chức việc nhập và xuất vật tư, nguyên phụ liệu từ kho đến các đơn vị
liên quan đảm bảo đầy đủ, đúng quy định của công ty.
+ Thực hiện chế độ cấp phát sổ sách, luân chuyển giao nhận: chứng từ, chế
độ kiểm kê, báo cáo.
+ Phòng quản lý đơn hàng:
- Xây dựng và tiếp nhận đơn hàng.
- Dịch đơn hàng, sau đó gửi lên các phòng ban sản xuất.
+ Phòng kế toán tài chính:
- Chức năng: tham mưu, giúp việc cho giám đốc trong công tác kế toán tài
chính nhằm sử dụng vốn hợp lý, đúng mục đích, đúng chế độ, đảm bảo cho
quá trình sản xuất kinh doanh của công ty được duy trì liên tục và đạt hiệu
quả kinh tế cao.
- Nhiệm vụ:
+ Ghi chép, tính toán, phản ánh số liệu hiện có về tình hình luân chuyển và
sử dụng tài sản, vật tư, vốn của công ty. Tình hình sử dụng các nguồn vốn
phải phản ánh các chi tiết trong quá trình sản xuất và hoạt động sản xuất
kinh doanh của công ty. Kiểm tra tình hình thực hiện kế hoạch sản xuất
kinh doanh, kế hoạch thu chi tài chính.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
10
+ Công tác tài chính:
 Lập và chịu trách nhiệm trước giám đốc về số liệu báo cáo kế toán với
cơ quan Nhà nước và cấp trên theo hệ thống mẫu biểu do Nhà nước quy
định.
 Lập kế hoạch tài chính, tính toán hiệu quả kinh tế do các dự án đầu tư
(nếu có).
 Tham mưu cho giám đốc về giá cả trong việc ký kết hợp đồng mua bán
vật tư, hàng hoá với khách hàng.
 Quản lý, tổ chức sử dụng vốn đúng mục đích và hiệu quả.
 Thực hiện tốt chế độ tài chính của Nhà nước.
+ Công tác hoạch toán kế toán:
 Thực hiện chế độ hoạch toán, kế toán thống nhất, theo dõi sổ sách.
 Ghi chép tình hình cung ứng, quản lý vật tư, hàng hoá của công ty.
 Hoạch toán chi phí nhập - xuất vật tư trong công ty đến các phân xưởng
sản xuất.
 Theo dõi việc mua sắm, sử dụng tài sản trong công ty.
+ Phòng kỹ thuật chất lượng: tham mưu, giúp việc cho giám đốc trong các
lĩnh vực sau:
- Kỹ thuật may cơ khí.
- Lập kế hoạch thu mua nguyên phu liệu phục vụ cho sản xuất như thùng
catton, túi nilon,... kế hoạch mua sắm các thiết bị cần dùng cho các đơn
hàng sản xuất.
- Tính định mức kỹ thuật, định mức sử dụng nguyên phụ liệu cho đơn
hàng, định mức lao động và hao phí lao động.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
11
- Xây dựng các chỉ tiêu kỹ thuật, chất lượng sản phẩm, kiểm tra chất lượng
sản phẩm đảm bảo theo đúng yêu cầu của khách hàng.
- Triển khai, theo dõi việc thiết kế và sản xuất các loại sản phẩm mẫu.
- Hướng dẫn theo dõi, đôn đốc và giúp đỡ các phân xưởng lập và thực hiện
kế hoạch tu sửa thiết bị đầy đủ theo nội dụng bảo trì đã được giám đốc phê
duyệt.
- Tuyên truyền, giáo dục sức khoẻ trong lao động và sinh hoạt, chủ động
phòng chống bệnh dịch theo mùa, phối hợp với các trung tâm y tế xử lý các
ổ dịch được phát hiện và kịp thời báo cáo với cấp trên.
- Khám và chữa bệnh, cấp phát thuốc điều trị tại chỗ cho cán bộ công nhân
viên trong toàn công ty theo quy định của Bộ y tế ban hành, giải quyết cấp
cứu tại chỗ cho cán bộ công nhân viên trong công ty.
- Nghiên cứu đề ra các biện pháp, sáng kiến nhằm tiếp cận với phương
pháp quản lý chất lượng tiên tiến, tác động kịp thời tới sản xuất, điều hành
các đơn vị trong công ty về lĩnh vực kỹ thuật để thực hiện các nhiệm vụ
giám đốc yêu cầu.
+ Phòng kế hoạch kinh doanh - xuất nhập khẩu:
- Xây dựng và điều hành việc thực hiện kế hoạch sản xuất của công ty
trong các kho do phòng quản lý theo dõi và quản lý vật tư, sản phẩm gia
công ở các đơn vị khác.
- Công tác tiêu thụ sản phẩm trong và ngoài nước, tiêu thụ phế liệu
- Công tác nhập khẩu nguyên phụ liệu, máy móc, trang thiết bị, phụ tùng,...
phục vụ sản xuất, đồng thời xuất khẩu các sản phẩm ra nước ngoài.
- Căn cứ vào kế hoạch sản xuất hàng năm và các hợp đồng cụ thể đã ký
kết, giao dịch nhận đơn hàng của khách hàng về số lượng, giá cả và thời
gian giao nhận hàng.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
12
- Xây dựng kế hoạch sản xuất hàng tháng kể cả sản phẩm gia công trình
giám đốc duyệt.
- Xây dựng và tổ chức kế hoạch mua sắm nguyên phụ liệu cho sản xuất,
đảm bảo đầy đủ, kịp thời nguyên phụ liệu phục vụ cho sản xuất, cho các
đơn đặt hàng. Các mặt hàng mua về phải đảm bảo số lượng, chất lượng, giá
cả.
- Công tác nhập khẩu: trên cơ sở yêu cầu nhập khẩu nguyên phụ liệu của
các đơn hàng được giám đốc phê duyệt, phòng kế hoạch kinh doanh - xuất
nhập khẩu tiến hành giao dịch báo cáo và chuẩn bị hợp đồng nhập khẩu
trình giám đốc.
- Công tác nhập khẩu: thông báo kế hoạch sản xuất đến các đơn vị có liên
quan, thường xuyên liên hệ với các phòng chức năng, các đơn vị khác theo
dõi tiến độ sản xuất và giao hàng.
- Xây dựng tiêu chuẩn cấp bậc công nhân các ngành nghế, tham gia tạo
điều kiện, kiểm tra thi tay nghề cho các loại bậc thợ của công nhân theo
quy định. Xây dựng các chỉ tiêu thi thợ giỏi của các ngành nghề trong toàn
công ty.
- Tổ chức khảo sát, xây dựng, ban hành các quy định về sử dụng vật tư
nguyên liệu, các vật tư sử dụng có tính thường xuyên. Theo dõi việc thực
hiện định mức của các đơn vị để có giải pháp và cùng với các đơn vị khắc
phục các yếu kém trong quản lý định mức.
- Công tác quản đốc:
+ Kiểm tra chất lượng nguyên phụ liệu chuẩn bị đưa vào sản xuất. Kiểm tra
đánh dấu các mẫu chào hàng của khách hàng làm cơ sở ký kết hợp đồng
mua bán nguyên phụ liệu với các phòng ban chức năng tạo cơ sở cho việc
thiết kế công nghệ.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
13
+ Thông báo đầy đủ, kịp thời các chỉ tiêu chất lượng đã đề ra, ghi dấu kiểm
tra chất lượng đạt tiêu chuẩn chưa hoặc không đạt tiêu chuẩn cho các sản
phẩm.
+ Quyết định bán thành phẩm lỗi, loại bỏ sản phẩm lỗi, hỏng, xấu khi ra
khỏi chuyền sản xuất.
+ Tổ chức bồi dưỡng nghiệp vụ, nâng cao tay nghề cho công nhân thu hoá,
nhân viên KCS.
Qua khảo sát và đánh giá được các chức năng, nhiệm vụ của từng bộ
phận phòng ban, e đã cố gắng xây dựng chương trình Quản lý cán bộ tiền
lương để hỗ trợ cán bộ nghiệp vụ tiền lương trong công tác quản lý được
thuận lợi.
II. Khảo sát hệ thống.
1.Tổng quan về hệ thống quản lý
Quản lý là cách biểu hiện một ý chí muốn biến đổi và thuần phục một
tổng thể các hiện tượng. Đó là việc tạo ra các sự kiện, thay vì để cho các sự
kiện xảy ra bộc phát. Đây không phải là sự lắp ráp các nhiệm vụ rời rạc mà là
hoạt động phân biệt rõ ràng với các chức năng khác của tổ chức.
Trong những năm trước đây khi máy tính chưa được sử dụng rộng rãi
trong các hệ thống quản lý, các hệ thống quản lý này đều phải thực hiện theo
phương pháp thủ công và hệ thống quản lý nhân sự cũng nằm trong số đó.
2.Chức năng và nhiệm vụ của hệ thống quản lý nhân sự
Hệ thống quản lý nhân sự có chức năng thường xuyên thông báo cho
ban lãnh đạo về các mặt công tác: tổ chức lao động, tiền lương, thi đua, chấm
công, khen thưởng, kỷ luật... hệ thống này được đặt dưới sự chỉ đạo trực tiếp
của giám đốc.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
14
Với chức năng như vậy, hệ thống quản lý nhân sự có nhiệm vụ luôn cập
nhật hồ sơ cán bộ công nhân viên theo quy định, thường xuyên bổ xung những
thông tin thay đổi trong quá trình công tác của cán bộ công nhân viên, việc
theo dõi và quản lý lao động để chấm công và thanh toán lương cũng là nhiệm
vụ quan trọng của hệ thống. Ngoài ra, công tác thống kê báo cáo tình hình theo
yêu cầu của ban giám đốc cũng là nhiệm vụ không thể thiếu trong hệ thống
quản lý cán bộ .
3.Yêu cầu của hệ thống và những khó khăn
Trước một khối lượng lớn nhân viên cũng như các yêu cầu đặt ra thì việc
quản lý theo phương pháp thủ công sẽ không thể đáp ứng được, do đó gặp rất
nhiều khó khăn. Nó đòi hỏi phải có nhiều nhân lực, nhiều thời gian và công
sức, mỗi nhân sự của cơ quan thì có một hồ sơ cho nên việc lưu trữ, tìm kiếm,
bổ sung, sửa đổi để đáp ứng yêu cầu không phải là dễ dàng.
Từ những nhược điểm trên ta thấy cần thiết phải có một hệ thống tin học
hoá cho việc quản lý nhân sự cũng như các hệ thống quản lý khác.
4.Những yêu cầu đặt ra đối với hệ thống mới
Cùng với sự phát triển của xã hội, công tác tổ chức quản lý cũng cần
được đầu tư và phát triển để có thể đáp ứng tốt đuợc yêu cầu cũng như giúp
cấp lãnh đạo thực hiện tốt các chủ trương chính sách đối với cán bộ công nhân
viên chức.
Trước hết để quản lý được một khối lượng nhân viên của một cơ quan,
phải tổ chức tốt hệ thống lưu trữ hồ sơ để có thể đáp ứng được những yêu cầu :
tiết kiệm chỗ, dễ tìm kiếm, dễ bổ xung sửa đổi. Hệ thống quản lý mới phải
khắc phục được những nhược diểm của hệ thống cũ, ngoài ra hệ thống mới
phải có khả năng phát hiện lỗi và xử lý kiểm tra tính đúng đắn của dữ liệu
ngay từ khi cập nhật.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
15
CHƯƠNG II
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1. Các chức năng cơ bản của hệ thống:
1.1>Quản lý hồ sơ :
+ Cập nhật hồ sơ.
+ Lưu trữ hồ sơ.
1.2>Quản lý lương :
+ Chấm công cho nhân sự .
+ Tính lương cho nhân sự dựa trên bảng chấm công .
1.3> Tra cứu,Tìm kiếm :
+ Tra cứu theo hồ sơ lý lịch.
+ Tra cứu theo lương.
+ Tra cứu theo các số liệu tổng hợp.
1.4> Báo cáo,Thống kê
+ Thống kê Báo cáo về trình độ người lao động trong đơn vị.
+ Thống kê Báo cáo về mức thu nhập chung của nhân sự trong đơn
vị.
2. Biểu đồ phân cấp chức năng của hệ thống quản lý nhân sự / lương:
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
16
2.1 Biểu đồ phân cấpchức năng
2.2 Biểu đồ luồng dữ liệu mức khung cảnh
Biểu đồ luông dữ liệu mức khung cảnh cho ta cái nhìn khái quát về quá trình
hoạt động của hệ thống.
Giải thích sơ bộ:
Tác nhân ngoài Nhân sự sẽ đưa thông tin của bản thân vào cho hệ thống
cập nhật và xử lý.
Tác nhân ngoài Ban lãnh đạo đưa các yêu cầu cho hệ thống và nhận
được các báo cáo và kết quả trả lời từ hệ thống.
Hệ thống quản
lý nhân sự /lương
Thông tin yêu cầu
Biểu Báo
Thông tin cá nhân
Nhân sự
Ban Lãnh Đạo
Quản lý nhân sự / lương
Quản lý hồ sơ Quản lý lương Tra cứu, Tìm
kiếm
Báo cáo,
Thống kê
Cập nhật hồ
sơ
Lưư trữ hồ
sơ
Chấm công
Tính lương
Tổng hợp
lương
Tra cứu theo
lý lịch
Tra cứu theo
SL tổng hợp
Tra cứu theo
lương
Trình độ
Mức thu
nhập
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
17
2.3 Biểuđồ luồng dữ liệumức đỉnh
Báo cáo,
Thống kê
Nhân sự
Tra cứu,
Tìm kiếm
Ban lãnh
đạo
Hồ sơ Lương
Quản lý
lương
Quản lý
hồ sơ
Hồ sơ lưu
Chấm công
Yêu cầu
Báo biểu
Yêu cầu
Báo cáo
Ngày công
Mức lương
Thông tin nhân sựThông tin nhân sự
Lưu trữ
Thông tin
cá nhân
Lưu trữ
Cập nhật
Cấp thông tin
Thông tin ns
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
18
Giải thích:
- Khi thông tin về nhân sự được chuyển vào hệ thống, chức năng Quản lý
hồ sơ sau khi phân loại và xử lý sẽ đưa thông tin vào kho Hồ sơ và Hồ sơ
lưu. Chức năng Quản lý lưong thực việc chấm công và tình lương cho nhân
sự sau đó đưa thông tin về kho bảng lương, bảng chấm công. Chức năng
Tra cứu, Tìm kiếm nhận các thông tin yêu cầu đòi hỏi từ hệ thống và tác
nhân ngoài Ban lãnh đạo, nó tiến hành xử lý và tìm kiếm trong các kho dữ
liệu và trả về kết quả. Chức năng Báo cáo, thống kê nhận yêu cầu từ tác
nhân ngoài Ban lãnh đạo sau khi xử lý nó đưa ra các báo biểu.
2.3.1 Chức năng quản lý hồ sơ
Giải thích:
- Thông tin của nhân sự được đưa vào hệ thống chức năng Quản lý hồ sơ
sẽ phân loại:
+ Nếu đó là thông tin thông báo nhân sự nghỉ hưu, chết hoặc lý do nào
đó không làm việc trong cơ quan nữa nhưng có những thông tin liên quan
đến đơn vị, thì chuyến cho chức năng Lưu trữ hồ sơ đưa thông tin về kho
Hồ sơ lưu.
+Các thông tin khác chuyển cho chức năng Cập nhật hồ sơ xử lý sau đó
đưa thông tin về kho Hồ sơ. Nếu như thông tin thông báo về hồ sơ của
Nhân sự
Thông tin
cá nhân
Lưu trữ
Cập nhật
hồ sơ
Hồ sơ lưu
1.1
Lưu trữ hồ
sơ
1.2
Hồ sơ
Cập nhật
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
19
một nhân sự trong hệ thống có sự thay đổi thì sửa đổi cho phù hợp, sau
khi sửa đổi cho phù hợp sẽ được đưa về kho “hồ sơ”.
2.3.2 Chức năng quản lý lương:
Giải thích:
- Chức năng Chấm công sẽ thực hiện việc chấm công cho nhân sự theo
tháng và nó nhận được một số thông tin từ tác nhân ngoài Nhân sự như:
Đơn xin nghỉ, Quết định công tác.v.v... Chức năng Tính lương lấy số liệu từ
kho Chấm công và kho Hồ sơ để tính lương cho Nhân sự theo từng tháng,
sau đó đưa vào kho Lương.
2.3.3 Chức năng tra cứu tìm kiếm:
Giải thích:
- Chức năng Tra cứu, Tìm kiếm sẽ nhận được các thông tin yêu cầu từ hệ
thống và tác nhân ngoài Ban lãnh đạo. Nó thực hiện phân loại thông tin.
Tuỳ thuộc vào thông tin yêu cầu về hồ sơ lý lịch, lương...nó sẽ tiến hành tra
cứu tìm kiếm trong các kho tương ứng.
Ngày công
Nhân sự Chấm
công
Đơn xin
nghỉ
2.1
Tính lương
Lương
2.2
Bảng chấm công
Hồ sơ
Thông tin
về nhân sự
Ban lãnh đạo
Hồ sơ lưu
Hồ sơ
Bảng lương
Mức lương
Các yêu cầu
Tra cứu,
tìm kiếm
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
20
2.3.4 Chức năng báo cáo, thống kê:
Giải thích:
Khi nhận được các thông tin yêu cầu, chức năng Báo cáo thống kê sẽ tiến hành
phân loại thông tin và xác định lấy dữ liệu ở kho nào để xử lý. Sau đó nó đưa
ra các Báo Biểu
2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh tổng hợp
Báo cáo,
thống kê
Ban lãnh đạo
Hồ sơ lưu
Hồ sơ
Bảng lương
Mức lương
Các yêu cầu
Báo biểu
Cập nhật
hồ sơ
Chấm
công
Tính
Lương
Hồ sơ Bảng lươngBảng chấm côngNhân sự
Đơn
xin
nghỉ.
quyết
định
công
tác
…
Thông
tin về
NS
Cập
nhật
Thông
tin cá
nhân
Thông
tin
tiền
lương
Lưu
trữ
Mức
lương
Ngày
công
Cấp
thông
tin
Thông
tin NS
Thông tin NS
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
21
CHƯƠNG III
XÂY DỰNG CƠ SỞ DỮ LIỆU CỦA CHƯƠNG TRÌNH
1. Cơ sở dữ liệu
Cơ sở dữ liệu là một kho chứa thông tin, có nhiều loại cơ sở dữ liệu,
trong đó phổ biến nhất hiện nay là CSDL quan hệ.
Một CSDL quan hệ
 Chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng (mẫu tin), cột
(trường).
 Cho phép lấy về (hay truy vấn) các tập hợp dữ liệu con từ bảng.
 Cho phép nối các bảng với nhau cho mục đích truy cập các mẫu tin liên
quan với nhau chứa trong các bảng khác nhau.
Bộ máy (Engine) cơ sở dữ liệu
Chức năng cơ bản của một CSDL được cung cấp bởi một bộ máy
CSDL, là hệ thống chương trình quản lý cách thức chứa và trả về dữ liệu.
Bảng và trường
Báo cáo,
thống kê
Lưu trữ
hồ sơ
Tra cứu
tìm kiếm
Ban lãnh đạoHồ sơ lưu
Lưu
trữ
Thông
tin
nhân
sự
Báo
biểu
Yêu
cầu
Yêu
cầu
Thông tin nhân sự
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
22
Các CSDL được cấu tạo từ các bảng dùng thể hiện các phân nhóm dữ
liệu. Bảng chứa các mẫu tin là các mẫu dữ liệu riêng rẽ bên trong phân
nhóm dữ liệu. Mẫu tin chứa các trường, mỗi trường thể hiện một bộ phận
dữ liệu trong một mẫu tin.
RecordSet
Khi tạo bảng cần nắm được cách thao tác với các bảng. Thao tác với
các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng
như việc kiểm tra và sữa đổi cấu trúc bảng. Thao tác dữ liệu trong một
bảng ta dùng Recordset.
RecordSet là một cấu trúc dữ liệu thể hiện một tập hợp con các mẫu tin
lấy về từ CSDL.
Mối quan hệ
Khóa chính : một trường được chỉ ra là khóa chính của bảng phục vụ
cho việc xác định duy nhất mẫu tin.
Khóa ngoại : là khóa trong bảng liên quan chứa bản sao của khóa chính
của bản chính.
Mối quan hệ : là một cách định nghĩa chính thức hai bảng liên hệ với
nhau như thế nào. Khi định nghĩa một mối quan hệ, tức đã thông báo với bộ
máy CSDL rằng hai trường trong hai bảng liên quan được nối với nhau.
Hai trường liên quan với nhau trong một mối quan hệ là khóa chính và
khóa ngoại.
Ngoài việc ghép các mẫu tin liên quan trong những bảng riêng biệt, mối
quan hệ còn tận dụng thế mạnh của tính toàn vẹn tham chiếu, một thuộc
tính của bộ máy CSDL duy trì các dữ liệu trong một CSDL nhiều bảng
luôn luôn nhất quán. Khi tính toàn vẹn tham chiếu tồn tại trong một CSDL,
bộ máy CSDL sẽ ngăn cản khi xóa một mẫu tin khi có các mẫu tin khác
tham chiếu đến nó trong CSDL.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
23
Hồ sơHesoluong Lương sơ
LoaiThuong
2. Sử dụng Microsoft Access để tạo cơ sở dữ liệu cho chương trình
Microsoft Access có giao diện tinh xảo và dễ dùng để tạo các đối tượng
CSDL.
2.1 Lược đồ cấu trúc dữ liệu (LCD):
PhuCap
MucPhuCap
TienPhuCap
Heso
TienTuongUng
Macb
Họ tên
Ngày sinh
Nơi sinh
Giới tính
Quê quán
Dân tộc
Trình độ
Chức vụ
Hệ số lương
Ngày vào biên chế
Macb
Hesoluong
LoaiThuong
MucPhucap
SongayNghi
Luong
Tạm ứng
Conlai
KyNhan
Heso
TienTuongUng
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
24
2.2 Thiết kế các file dữ liệu
2.2.1 Bảng HoSoCanBo lưu trữ thông tin về nhân sự trong một cơ quan:
STT Tên trường Kiểu Độ rộng Giải thích
1 MaNS Text 10 Mã nhân sự
2 HoTen Text 30 Họ và tên nhân sự
3 NgaySinh Text 10 Ngày sinh
4 NoiSinh Text 20 Nơi sinh
5 GioiTinh Text 5 Giới tính
6 DanToc Text 20 Dân tộc
7 NoiOHienNay text 30 Nơi ở hiện nay
8 Phong Text 15 phòng
9 ChucVu Text 15 chức vụ
10 TrinhDo Text 15 Trình độ
11 ChuyenMon Text 25 Chuyên môn
12 NgayBC Date 8 Ngày biên chế
2.2.2 Bảng lương lưu trữ thông tin về quá trình lao động của nhân sự:
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
25
Stt Tên trường Kiểu Độ rộng Giải thích
1 Macb Text 10 Mã nhân sự
2 Hesoluong currantcy 4 Tháng lao động
3 LoaiThuong Text 15 Loại thưởng của cán bộ
4 MucPhuCap text 15 Mức phụ cấp
5 SoNgayNghi Number 2 Số ngày nghỉ trong tháng
6 Luong currentcy 10 Số ngày nghỉ trong tháng
7 TamUng currentcy 10 Tiền đã tạm ứng
8 ConLai currentcy 10 Số Lương còn lại
6 KyNhan text 5 Ký nhận đã nhận đủ
2.2.3 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty:
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
26
STT Tên trường Kiểu Độ rộng Giải thích
1 Heso Currentcy 6 Hệ số lương
2 TienTuongUng Currentcy 10 Tiênd tương ứng với hệ số
2.2.4 Bảng Thưởng lưu trữ thông tin về hệ số lương của công ty:
STT Tên trường Kiểu Độ rộng Giải thích
1 Loaithuong Currentcy 6 Loại thưởng
2 TienThuong Currentcy 10 Tiền thưởng tương ứng
2.2.5 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty:
STT Tên trường Kiểu Độ rộng Giải thích
1 MụchuCap Text 10 Mức phụ cấp
2 TienTuongUng Currentcy 10 Tiền phụ cấp tương ứng
3. Dùng Microsoft Access để tạo bộ cơ sở dữ liệu
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
27
Cơ sở dữ liệu cho chương trình Quản lý nhân sự-tiền lương.
3.1 Mối quan hệ cho các bảng dữ liệu trong chương trình
3.2 Relationships phân hệ Quản lý nhân sụ-tiền lương
4.Thiết kễ Module:
4.1 Xây dựng lược đồ cấu trúc chương trình LCT:
4.1.1 Chỉnh sửa hồ sơ:
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
28
4.1.2 Chấm công
4.1.3 Tính lương:
4.1.4 Tra cứu:
Cập nhật hồ sơ
Xác định chức
năng
Ghi lại
Thêm hồ sơ Lưu hồ
sơ
Sửa đổi hồ sơ
Thông tin
nhân sự
Thông tin
nhân sựThông tin
nhân sự
Thông tin
nhân sự
Chấm công
Ngày công
được chấm
Quy ra công
Công hưởng
lương thời
gian
Công hưởng
% lương
Công
hưởngBHXH
Tính lương
Tính lương cơ
bản
Lên bảng lương
Tính lương phụ
cấp
Ngày
công LPC
LCB
LCB
Tên
LPC
LCB
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
29
4.1.5 Thống kê báo cáo:
4.2 Đặc tả Module:
4.2.1 Cập nhật hồ sơ:
Tra cứu,Tìm
kiếm
Xác định câu
hỏi vào
Kết quả
Tra cứu theo
hồ sơ
Tra cứu theo
lương
Tra cứu theo
số liệu TH
Yêu
cầu
YC
Kết
quả
KQ
YC KQ
KQ
YC
Kết
quả
Input: thông tin về
nhân sự
Dời khỏi cơ
quan?
Lưu hồ sơ
Mới vào cơ
Begin
Y
Y
N
Thống kê báo cáo
Thống kê về trình
độ
Báo BiểuThống kê về
mức lương
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
30
4.2.2 Tra cứu,Tìm kiếm:
Input: Các thông
tin yêu cầu
Yêu cầu
TT về NS?
Tìm câu trả lời
trong kho hồ sơ
Hỏi về
lương?
Tìm câu trả lời
trong kho lương
Tìm câu trả lời trong
các kho còn lại
Kết quả
End
Begin
Y
Y
N
N
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
31
CHƯƠNG IV:
SỬ DỤNG NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
ĐỂ THIẾT KẾ CHƯƠNG TRÌNH
1. Ngôn ngữ lập trình Visual Basic
Visual Basic có rất nhiều tính năng mới. Các điều khiển mới cho phép viết các
chương trình ứng dụng kết hợp giao diện, cách xử lý và tính năng của
Microsoft Office 97 và trình duyệt Web Internet Explorer, không nhất thiết
phải có một bản sao của điều khiển trên biểu mẫu.
Visual Basic cho phép :
 Lập trình để thêm điều khiển vào đề án tự động và có thể tạo ra các
điều khiển Activex hiệu chỉnh.
 Viết các chương trình ứng dụng phía máy chủ (Server side) dùng
HTML động nhúng kết nối với các thư viện liên kết động của Internet
Information Server.
 Một vài cải tiến cho phép làm việc với các ứng dụng truy cập dữ liệu ở
tầm cỡ vĩ mô liên quan đến hàng trăm, hàng nghìn người sử dụng qua
mạng hay qua Internet.
Visual Basic cung cấp các đối tượng dữ liệu Activex cho phép kết nối với
các tập tin cơ sở dữ liệu. Ngoài các điều khiển Activex Visual Basic còn có
một bộ công cụ và kỹ thuật mới giúp truy cập dữ liệu dễ dàng hơn. Trình thiết
kế môi trường dữ liệu cho phép xem xét và thao tác dữ liệu trong CSDL khác
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
32
nhau. Bởi vì bản thân môi trường dữ liệu là những đối tượng, có thể sử dụng
chúng như một điều khiển dữ liệu. Thậm chí có thể gắn nó với các điều khiển
khác.
Visual Basic cung cấp một vài điều khiển dữ liệu mới cho phép tận dụng
các thế mạnh của điều khiển dữ liệu ADO. Điều khiển DataGrid cho phép xem
dữ liệu dưới dạng bảng gồm các dòng và cột. DataList và DataCombo tương
tự như DBList và DBCombo, có thể dùng chúng để lấy một danh sách dữ liệu
từ điều khiển ADO trong cấu hình hộp danh sách (ListBox) hoặc hộp kết hợp
(ComboBox).
Visual Basic mở rộng khả năng báo cáo với trình báo cáo dữ liệu cho phép
tạo, xem trước, và in các báo cáo trong Visual Basic tương tự như Access và
có thể lấy các điều khiển báo cáo từ hộp công cụ báo cáo dữ liệu mới và đưa
vào biểu mẫu báo cáo dữ liệu.
2. Các đối tượng truy cập dữ liệu
Dynamic Data Exchange (DDE) : Trao đổi dữ liệu động
Cho phép các các ứng dụng chia sẽ thông tin với nhau trong lúc thi hành.
Cớ chế giao tiếp là một ứng dụng sẽ gửi dữ liệu vào một vùng được quy định
sẵn bởi một ứng dụng khác. Tuy nhiên, người lập trình phải thiết lập mọi thứ
cho giao tiếp trao đổi dữ liệu nên cách thực hiện theo DDE rất phức tạp.
Object Linking and Embedding (OLE) : Nhúng và kết nối đối tượng
OLE tuân thủ triết lý của Windows (Click chuột, kéo và thả). OLE có thể
kéo dữ liệu từ ứng dụng này và thả vào ứng dụng khác.
OLE có hai kỹ thuật :
 Khởi động tại chổ (In-place activation) : Một dữ liệu được tạo ra bởi
ứng dụng 1 và được thả vào ứng dụng 2. Nhấn Double click chuột lên
dữ liệu ở ứng dụng 2 nó sẽ hoạt động giống như ở ứng dụng 1.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
33
 Tự động hóa (Automation) : áp dụng khả năng tái sử dụng đối tượng và
tận dụng triệt để các thế mạnh của các đối tượng.
Activex
Activex là thế hệ sau của OLE. Nên Activex chứa đựng tất cả tính năng
của OLE và được bổ sung thêm nhiều chức năng khác như cho phép việc sử
dụng các đoạn chương trình có sẵn mà không cần quan tâm chúng có nguồn
gốc từ đâu hay hoạt động như thế nào.
3. Sử dụng các đối tượng truy cập dữ liệu trong chương trình
Điều khiển DAO (Data Access Objects)
Cho phép thi hành các câu truy vấn, cập nhật giá trị trong các bảng cơ sở
dữ liệu và tạo cấu trúc cơ sở dữ liệu bao gồm các bảng, các câu truy vấn chứa
sẵn và mối quan hệ giữa các bảng.
Ưu điểm : Giao diện lập trình của DAO vô cùng mạnh mẽ và dễ sử dụng.
Với các cơ sở dữ liệu Jet của Microsoft, DAO cho phép truy cập các tính năng
không có sẵn trong SQL hay ADO (Đối tượng dữ liệu Activex – Activex Data
Object). DAO có thể sử dụng để truy cập các cơ sở dữ liệu trên máy cá nhân
hay Client/Server.
Khuyết điểm : Mô hình đối tượng DAO khá phức tạp
Thông qua các tập hợp sở hữu đối tượng Database có thể thao tác trên dữ
liệu và cấu trúc của một cơ sở dữ liệu, tạo các đối tượng cơ sở dữ liệu mới,
kiểm tra cấu trúc và dữ liệu chứa trong một cơ sở dữ liệu.
Trong lập trình DAO, có một tập hợp cốt lõi gồm các kỹ thuật thông dụng
được sử dụng gần như cho mọi chương trình, bao gồm :
 Thi hành câu truy vấn SELECT để lấy về các dữ liệu từ cơ sở dữ liệu.
 Duyệt qua từng mẫu tin trong một RecordSet
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
34
 Thi hành câu truy vấn hành động (bao gồm các câu truy vấn Update,
Delete, Append)
 Sữa đổi cấu trúc cơ sở dữ liệu
 Xử lý lỗi phát sinh bởi truy cập cơ sở dữ liệu.
Điều khiển ADODC (Microsoft ADO Data Control 6.0 (OLEDB) )
Visual Basic cung cấp các đối tượng dữ liệu ActiveX (ActiveX Data
Object - ADO). ADO tổng hợp và thay thế việc truy cập dữ liệu của DAO
(Đối tượng truy cập dữ liệu – Data Access Object) và RDO (Đối tượng dữ liệu
từ xa – Remote Data Object). ADO là công nghệ truy cập cơ sở dữ liệu hướng
đối tượng tương tự như DAO và RDO,ø giao diện dựa trên đối tượng cho
công nghệ dữ liệu OLEDB. Ngoài ra, ADO dễ sử dụng và có tầm hoạt động
rộng hơn dùng để kết nối với các tập tin cơ sở dữ liệu và có thể truy cập dữ
liệu từ xa.
ADO được xem là kỹ thuật để truy cập cơ sở dữ liệu từ Web Server. Bởi vì
ADO được cung cấp dưới dạng thư viện Activex Server (tương tự DAO và
RDO), nên rất thuận lợi dùng trong ứng dụng Visual Basic. Trong thực tế,
bằng nhiều cách đã chứng minh rằng sử dụng ADO để làm việc với cơ sở dữ
liệu Client/Server thì dễ hơn các kỹ thuật khác.
Phần lớn các nhà lập trình Visual Basic không tương tác trực tiếp với
OLEDB. Thay vào đó, họ lập trình với ADO, mô hình đối tượng cung cấp
giao diện với OLEDB.
Khi dùng ADO thì chỉ cần lập trình với phần giao diện người sử dụng ở
phía Client. Bởi vì việc truy cập dữ liệu trên cả trình duyệt Wed và ứng dụng
Visual Basic được chuyển hết về phía Activex Server nên logic chương trình
luôn nhất quán, bất kể loại ứng dụng nào đang được sử dụng.
Client Application
Remote
Data
Objects
Activex
Data
Objects
Client Workstation
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
35
Client Application
Activex Data
Objects
OLEDB ODBC
Provider
ODBC
Driver
Client Workstation
ODBC Driver
Manager
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
36
Cấu trúc này cho phép dùng thành phần lập trình Activex thông dụng trên
cả trình duyệt Wed và ứng dụng Client Visual Basic.
4. Các điều khiển giao diện người sử dụng
 Điều khiển nội tại (Hoạt động với mọi ấn bản của Visual Basic)
Các điều khiển này đều có thể trực tiếp nối kết với một trường trong một
cơ sở dữ liệu thông qua một điều khiển dữ liệu hoặc nguồn dữ liệu khác như
trình thiết kế DataEnvironment.
Kết nối
vớichứa
Kết nối
vớiBiểu mẫu
VB
Các thuộc tính
DataSource, DataField
của điều khiển ràng
buộc dữ liệu
Các thuộc tính
ConnectionString,
RecordSource của
điều khiển ADO
Data
Cơ sở dữ
liệu
Cách thức của điều khiển ADO Data kết nối với cơ sở dữ liệu trong ứng
dụng
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
37
Nhập dữ liệu với điều khiển TEXTBOX : Dùng sữa đổi dữ liệu kiểu
chuỗi và kiểu số từ một cơ sở dữ liệu.
Ràng buộc vào trình thiết kế DataEnvironment : Là khả năng tạo một
giao diện người sử dụng ràng buộc dữ liệu. Bởi vì có thể chia sẽ trình thiết kế
DataEnvironment qua nhiều biểu mẫu và nhiều ứng dụng, điều này sẽ cho tất
cả các tính năng và sự dễ dàng lập trình trong một ứng dụng ràng buộc dữ liệu
bởi vì không cần ràng buộc từng điều khiển riêng rẽ với nguồn dữ liệu.
Truy cập giá trị Boolean với điều khiển CHECKBOX : dùng CheckBox
để hiển thị một giá trị True hay False từ một trường trong một cơ sở dữ liệu.
Sử dụng điều khiển LISTBOX để hiển thị dữ liệu : dùng ListBox để
hiển thị các phần tử trong một danh sách chọn lựa dành cho người sử dụng.
Nhưng khi sử dụng ListBox để hiển thị dữ liệu từ một cơ sở dữ liệu vẫn có
một số hạn chế về lượng dữ liệu dùng để chứa và hiển thị.
TabControl : Làm cho các chức năng của chương trình nằm gọn trên một
form.
 Điều khiển Activex (Là những thành phần bổ sung cho bản Professional
và Enterprise của Visual Basic)
Khác với các điều khiển giao diện người sử dụng, các điều khiển này
không được cung cấp bởi hệ điều hành. Thay vào đó, ta phải phân phát điều
khiển bổ sung vào các máy tính của người sử dụng để ứng dụng có thể sử
dụng chúng.
Sử dụng điều khiển DataGrid : DataGrid có khả năng hiển thị dữ liệu
dưới dạng dòng, cột khi ràng buộc với điều khiển ADO Data hay trình thiết kế
DataEnvironment.
Sử dụng điều khiển DataList và DataCombo : Điều khiển DataList và
DataCombo là những điều khiển sao chép lại các chức năng của điều khiển
DBList. DataList cung cấp danh sách các chọn lựa, DataCombo dùng nối kết
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
38
dữ liệu nhập vào điều khiển với một trường trong cơ sở dữ liệu, cả hai đều
tương thích với DAO Data và ADO Data mới.
5. Sử dụng các câu truy vấn (SQL)
Một câu truy vấn là một lệnh cơ sở dữ liệu để lấy về các mẩu tin. Sử dụng
câu truy vấn, có thể lấy dữ liệu từ một hoặc nhiều trường trong một hay nhiều
bảng. Ngoài ra, còn có thể ép các dữ liệu lấy về theo một hoặc nhiều ràng
buộc, gọi là các tiêu chí để hạn chế số lượng dữ liệu lấy về.
SQL là giải pháp chuẩn để thao tác với cơ sở dữ liệu. Nó được thực hiện
theo nhiều dạng khác nhau trong các hệ thống cơ sở dữ liệu quan hệ, bao gồm
Access và SQL Server
Các câu truy vấn SQL cho khả năng lấy về các mẩu tin từ một bảng cơ sở dữ
liệu, đối chiếu các dữ liệu quan hệ với nhau trong nhiều bảng và thao tác với
cấu trúc của cơ sở dữ liệu. Các kiểu truy vấn SQL nhất định có thể điền dữ
liệu vào một điều khiển dữ liệu. Trong chương trình, các câu truy vấn SQL
được dùng khi thao tác với các cơ sở dữ liệu thông qua sử dụng mô hình đối
tượng DAO, RDO và ADO.
Lợi ích khi dùng SQL
Theo kinh nghiệm trong Visual Basic, bất cứ chổ nào dùng một tham chiếu
đến một bảng, đều có thể thay thế bằng cách sử dụng một câu lệnh SQL hoặc
một tham chiếu đến một truy vấn đã lưu trữ nhưng bản thân nó vẫn dựa vào
một câu lệnh SQL.
Nơi thích hợp nhất để đặt một câu lệnh SQL, dựa trên các kỹ thuật truy cập
dữ liệu, là thuộc tính RecordSource của một điều khiển dữ liệu. Vì vậy, thay
vì chỉ ra thuộc tính RecordSource là tên của một bảng, có thể đổi thuộc tính
này thành tên của một câu truy vấn chứa sẵn hay một câu lệnh SQL như :
SELECT * FROM TEN_BANG ORDER BY KEY. Điều này cho ta sự linh
hoạt đáng kể khi chọn lựa một nguồn mẩu tin.
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
39
Sử dụng câu lệnh SQL trong các ngữ cảnh khác nhau của chương trình
 Tham số Source của phương thức OpenRecordSet của đối tượng
DataBase của DAO được sử dụng phổ biến nhất khi truy vấn các mẩu tin
từ một cơ sở dữ liệu Access.
 Sử dụng thuộc tính Source của một đối tượng RecordSet của ADO.
Sử dụng câu lệnh SELECT để lấy về các mẩu tin
Câu lệnh SELECT là cốt lõi của mọi truy vấn lấy về dữ liệu. Nó thông báo
cho bộ máy cơ sở dữ liệu những trường nào sẽ được lấy về. Dạng thông dụng
nhất của câu lệnh SELECT là : SELECT *
Mệnh đề có ý nghĩa là “trả về tất cả các trường tìm thấy trong nguồn mẩu
tin chỉ định”. Dạng lệnh này rất tiện dụng vì không cần biết tên của trường để
lấy chúng về từ một bảng. Tuy nhiên, lấy về tất cả các cột trong một bảng có
thể không hiệu quả, nhất là trong trường hợp mà ta chỉ cần 2 cột mà truy vấn
của ta trả về quá nhiều.
Vì vậy, ngoài việc thông báo cho bộ máy cơ sở dữ liệu để trả về tất cả
các trường trong nguồn mẩu tin, ta còn có khả năng chỉ ra chính xác trường
nào cần lấy về. Hiệu ứng lọc bớt này cải tiến hiệu quả của một truy vấn, nhất
là trên bảng lớn có nhiều trường trong chương trình, bởi vì trong chương trình
ta chỉ cần lấy về trường nào cần thiết.
Sử dụng mệnh đề FROM để chỉ nguồn mẩu tin
Mệnh đề FROM làm việc với câu lệnh SELECT để trả về các mẩu tin
trong bảng, ví dụ : SELECT * FROM TEN_BANG . Vì một câu truy vấn
SELECT FROM không xếp theo thứ tự nên thứ tự trả về là không xác định.
Để câu truy vấn có hiệu quả, cần phải giới hạn số trường lấy về bằng cách sử
dụng mệnh đề WHERE.
Sử dụng mệnh đề WHERE để chỉ ra tiêu chí lọc
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
40
Mệnh đề WHERE thông báo với bộ máy cơ sở dữ liệu để giới hạn số mẩu
tin trả về theo một hay nhiều tiêu chí lọc do người lập trình cung cấp. Kết quả
trả về của tiêu chí lọc là TRUE/FALSE.
6. Cài đặt và chạy chương trình
Frm.MDImain : Màn hình giao diện chính của chương trình
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
41
Frm.phucap: Màn hình nhập thông tin phụ cấp
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
42
Frm.nhapheso : Màn hình nhập hệ số lương
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
43
Frm.thuong: Màn hình nhập loại thưởng
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
44
Frm.hosocb: Màn hình nhập hồ sơ cán bộ
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
45
Frm.luong: Màn hình nhập lương cho cán bộ
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
46
Frm.tracuucb: Màn hình tra cứu cán bộ
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
47
Frm.xemhoso: Màn hình hiện thị xem hồ sơ cán bộ
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
48
Frm.tracuuluong: Màn hình tra cứu lương cán bộ
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
49
Frm.xemluong: Màn hình hiển thị xem lương cán bộ
CHƯƠNG V:
ĐÁNH GIÁ VÀ PHÁT TRIỂN ĐỀ TÀI
Quá trình khảo sát, thực hiện và hoàn thành đề tài, thì chương trình đã
cho chúng ta có được cái nhìn tổng quát về hệ thống quản lý cán bộ tiền lương
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
50
của một doanh nghiệp. Chương trình đã giúp rất nhiều cho cán bộ nghiệp vụ
nhân sự, tiền lương trong việc cập nhập, chỉnh sửa, tính lương, quản lý, tìm
kiếm, đưa ra các báo cáo, báo biểu về thông tin cán bộ rất dễ dàng và chính
xác..Nhưng do thời gian có hạn và kiến thức còn hạn hẹp nên chương trình
không tránh khỏi những thiếu xót..như chương trình chưa đưa ra được phần
quản trị hệ thống, phân quyền cho cho người sử dụng, chưa đưa ra được một
quy trình quản lý sao lưu backup dữ liệu…Trong thời gian tới, e sẽ cố gắng
hoàn thiện chương trình và phát triển chương trình thêm nhiều module
nữa..như xây dựng hệ thống chấm công tự động, hệ thống quản lý đơn
hàng..tạo dựng database chung cho chương trình để chương trình ngày một ưu
việt.
Cuối cùng, em xin chân thành cảm ơn Ths. Nguyễn Thanh Hương giảng
viên bộ môn Công nghệ thông tin Trường Đại Học Kinh Tế Quốc Dân đã tận
tình chỉ bảo hướng dẫn em hoàn thành đề tài này.Cám ơn quý công ty TNHH
Minh Trí đã tạo điều kiện cho e khảo sát và thực tập tại công ty để e có thể
hoàn thành được đề tài này.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
51
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
XÁC NHẬN CỦA CƠ QUAN THỰC TẬP
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
52
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
KÝ VÀ ĐÓNG DẤU
TÀI LIỆU THAM KHẢO
1. Cơ Sở Dữ Liệu Quan Hệ
Lê Tiến Vương
2. Phân Tích & Thiết Kế Hệ Thống
Ngô Trung Việt
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
53
3. Cơ Sở Dữ Liệu & Phân Tích Thiết Kế Hệ Thống Thông Tin Quản Lý
Nguyễn Hữu Trọng
4. Tự Học Lập Trình Cơ Sở Dữ Liệu Visual Basic 6.0 tập 1&2
Nguyễn Đình Tê(chủ biên)
5. Những Bài Thực Hành Cơ Sở Dữ Liệu Cơ Sở Visual Basic
Đinh Xuân Lâm
6. Cơ Sở Dữ Liệu Visual Basic
Nguyễn Thị Ngọc Mai
7. Tin Học Văn Phòng Access 2000
Nguyễn Sĩ Dũng
8. Lập Trình Access 2000
Ông Văn Thông
PHỤ LỤC
CODE CỦA CHƯƠNG TRÌNH
Dim ketthuc
Dim myPathhoso As String
Dim myPathluong As String
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
54
Private Sub MDIForm_Load()
' Load frmgioithieu
MDImain.WindowState = 2
Language (True)
End Sub
Sub MDIForm_Unload(Cancel As Integer)
Me.mnuexit_Click
End Sub
Private Sub mnuAboutSalary_Click()
frmAbout.Show
End Sub
Private Sub mnuAccordingSalary_Click()
' frmTCsach.Show
End Sub
Private Sub mnuAllowanceFiles_Click()
frmPhuCap.Show
End Sub
Private Sub mnuArrangeIcon_Click()
Me.Arrange 3 'dbArrangeIcon
End Sub
Private Sub mnucascade_Click()
Me.Arrange 0
End Sub
Private Sub mnuCoefficientforsalary_Click()
frmnhapheso.Show
End Sub
Private Sub mnuEnglish_Click()
If MDImain.mnuEnglish.Checked = False Then
MDImain.mnuVietnamese.Checked = False
MDImain.mnuEnglish.Checked = True
Language (False)
End If
End Sub
Sub mnuexit_Click()
ketthuc = MsgBox("B¹n muèn kÕt thóc t¹i ®©y! ", vbYesNo, "Th«ng b¸o")
If ketthuc = vbYes Then
End
End If
End Sub
Private Sub mnuLookUppersonal_Click()
frmTracuuCb.Show
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
55
End Sub
Private Sub mnuLookupSalary_Click()
frmTraCuuLuong.Show
End Sub
Private Sub mnuOpenFilesPersonal_Click()
cdlmain.ShowOpen
myPathhoso = cdlmain.FileName
End Sub
Private Sub mnupersonalfile_Click()
frmhosocb.Show
End Sub
Private Sub mnurewardforsalary_Click()
frmthuong.Show
End Sub
Private Sub mnusalaryfile_Click()
frmluong.Show
End Sub
Private Sub mnusave_Click()
Me.cdlmain.ShowSave
End Sub
Private Sub mnuStatus_Click()
If Me.StatusBar1.Visible = False Then
Me.mnuStatus.Checked = True
Me.StatusBar1.Visible = True
Else
Me.StatusBar1.Visible = False
Me.mnuStatus.Checked = False
End If
End Sub
Private Sub mnuTileHozizontally_Click()
Me.Arrange 1
End Sub
Private Sub mnuTileVertically_Click()
Me.Arrange 2
End Sub
Private Sub mnuToolsbars_Click()
If Me.tlbmain.Visible = False Then
Me.mnuToolsbars.Checked = True
Me.tlbmain.Visible = True
Else
Me.tlbmain.Visible = False
Me.mnuToolsbars.Checked = False
End If
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
56
End Sub
Private Sub mnuVietnamese_Click()
If MDImain.mnuVietnamese.Checked = False Then
MDImain.mnuEnglish.Checked = False
MDImain.mnuVietnamese.Checked = True
Language (True)
End If
End Sub
Private Sub tlbmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.Key
Case "New"
file = InputBox(" NhËp vµo Tªn CSDL cÇn t¹o", "Tao b¶ng cSDL
míi")
If Trim(file) = "" Then
Exit Sub
Else
Maketable (file)
End If
Case "Open"
MsgBox "Banj chon mo"
Case "Save"
MsgBox "Ban cho ghi"
Case "Print"
MsgBox "ban cho in"
Case "PrintReview"
MsgBox "PhÇn nµy dµnh cho b¹n"
Case "Exit"
MsgBox "choa bai"
mnuexit_Click
End Select
End Sub
'§o¹n ch-¬ng tr×nh nh»m chuÈn ho¸ tiÕng viÖt
Function Chuan(XauVao As String, Thamso As Byte) As String
Dim xau(1 To 50) As String
Dim kTdau
Dim KTV
Dim k As Byte
Chuan = ""
KTV = Trim(XauVao)
For k = 1 To Len(KTV)
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
57
xau(k) = Mid(KTV, k, 1)
Next k
Select Case Thamso
Case 1
'tÊt c¸c ký tù ®Çu ®-îc biÕn thµnh ch÷ hoa
For k = 1 To Len(KTV)
xau(k) = Mid(KTV, k, 1)
Next k
For i = 1 To Len(KTV)
If Asc(xau(1)) >= 168 And Asc(xau(1)) <= 174 Then
xau(1) = Chr(Asc(xau(1)) - 7)
Else
xau(1) = UCase(xau(1))
End If
If Asc(xau(i)) = 32 Then
If (Asc(xau(i + 1))) >= 168 And Val(Asc(xau(i + 1))) <= 174
Then
xau(i + 1) = Chr(Asc(xau(i + 1)) - 7)
Else
xau(i + 1) = UCase(xau(i + 1))
End If
End If
Chuan = Chuan + xau(i)
Next i
Case 2 ' chuÈn ho¸ c¸c ký tù ®Çu tiªn
kTdau = Left(Trim(KTV), 1)
If Asc(kTdau) >= 168 And Asc(kTdau) <= 174 Then
Chuan = Chr(Asc(kTdau) - 7) + Right(Trim(KTV),
Len(Trim(KTV)) - 1)
Else
Chuan = UCase(kTdau) + Right(Trim(KTV), Len(Trim(KTV)) -
1)
End If
Case 3 ' tÊ c¶ lµ ch÷ hoa
Chuan = UCase(KTV)
End Select
End Function
Public Const myPathhoso = "c:qlluongQLuong.mdb"
Public Const rptfilename = "c:qlluong"
Public PathReport As String
Public Co As Boolean
Public coghi As Boolean
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
58
Public Chiso As Byte
Function Doi_date(sdate As Variant) As Date
Dim i As Byte
Dim vitri, k As Byte
Dim Thang As String * 2
Dim Ngay As String * 2
Dim Nam As String * 4
sdate = Trim(sdate)
Ngay = Mid(sdate, 1, 2)
Thang = Mid(sdate, 4, 2)
Nam = Mid(sdate, 7, 10)
Doi_date = Thang & "/" & Ngay & "/" & Nam
End Function
Public Function CheckDate(sdate As String) As String
If IsDate(sdate) = False Then
CheckDate = ""
Exit Function
End If
Dim i As Byte
Dim vitri, k As Byte
Dim Thang As String * 2
Dim Ngay As String * 2
Dim Nam As String * 4
Dim Sign(1) As String * 1
Sign(0) = "-"
Sign(1) = "/"
Thang = ""
Ngay = ""
vitri = 1
For i = 0 To 1
vitri = InStr(1, sdate, Sign(i))
If vitri <> 0 Then
Ngay = Mid(sdate, 1, vitri - 1)
k = vitri + 1
vitri = InStr(vitri + 1, sdate, Sign(i))
If vitri <> 0 Then
Thang = Mid(sdate, k, vitri - k)
Nam = Mid(sdate, vitri + 1, Len(Trim(sdate)) - vitri)
Exit For
End If
Else
End If
Next i
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
59
If Len(Ngay) = 0 Or Len(Thang) = 0 Then
CheckDate = ""
Exit Function
End If
If Len(Trim(Ngay)) = 1 Then Ngay = "0" & Ngay
If Len(Trim(Thang)) = 1 Then Thang = "0" & Thang
If Int(Val(Thang)) > 12 Then
CheckDate = ""
Exit Function
Else
If Int(Val(Ngay)) > 31 Then
CheckDate = ""
Exit Function
End If
CheckDate = Trim(Ngay & "/" & Thang & "/" & Nam)
End If
End Function
Public Sub Language(Language As Boolean)
Select Case Language
Case True
With MDImain
.mnuEnglish.Checked = False
.mnuVietnamese.Checked = True
.mnufiles.Caption = "Files"
.mnuexit.Caption = "&KÕt Thóc"
.mnuView.Caption = "&HiÖn Èn"
.mnuStatus.Caption = "T&r¹ng Th¸i"
.mnutask.Caption = "&NhiÖm vô"
.mnuInput.Caption = "NhËp D÷ LiÖu"
.mnuAllowanceFiles.Caption = "&NhËp Phô CÊp ..."
.mnuCoefficientforsalary.Caption = "&HÖ Sè L-¬ng ..."
.mnupersonalfile.Caption = "Hå &S¬ Can Bo ..."
.mnurewardforsalary.Caption = "Møc th-ëng ..."
.mnusalaryfile.Caption = "L-¬ng ..."
.mnuLookUp.Caption = "&Tra Cøu ..."
.mnuLookUppersonal.Caption = "Tra cøu theo hå &S¬ Nh©n viªn..."
.mnuLookupSalary.Caption = "Tra cøu theo &l-¬ng ..."
.MnuTools.Caption = "C«ng Cô"
.MnuLanguage.Caption = "&Ng«n ng÷ HiÓn ThÞ"
.mnuEnglish.Caption = "&English"
.mnuVietnamese.Caption = "&ViÖt Nam"
.mnuhelps.Caption = "&Trî Gióp"
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
60
.mnuAboutSalary.Caption = "Th«ng Tin VÒ &Ch-¬ng Tr×nh ..."
End With
Case False
With MDImain
.mnuEnglish.Checked = True
.mnuVietnamese.Checked = False
.mnufiles.Caption = "Files"
.mnuexit.Caption = "E&xit"
.mnuView.Caption = "&View"
.mnuStatus.Caption = "&Status"
.mnutask.Caption = "&Task"
.mnuInput.Caption = "Input"
.mnuAllowanceFiles.Caption = "&Allowance Files ..."
.mnuCoefficientforsalary.Caption = "&Ceofficient Fo Salary ..."
.mnupersonalfile.Caption = "&Personal Files ..."
.mnurewardforsalary.Caption = "&Raward for Salary ..."
.mnusalaryfile.Caption = "&Salary files ..."
.mnuLookUp.Caption = "&Look Up..."
.mnuLookUppersonal.Caption = "Look Up According &Personal ..."
.mnuLookupSalary.Caption = "Look Up According &Salary ..."
.MnuTools.Caption = "&Tools"
.MnuLanguage.Caption = "&Language "
.mnuEnglish.Caption = "&English"
.mnuVietnamese.Caption = "&VietNamese"
.mnuhelps.Caption = "&Helps"
.mnuAboutSalary.Caption = "&About Salry ..."
End With
End Select
End Sub
Public Sub chao()
Dim rec As Recordset
Dim MySql As String
'N¹p Giãi tÝnh
With frmTracuuCb
.cbotracuucb(0).AddItem "Nam"
.cbotracuucb(0).AddItem "Nu"
MsgBox "Chao Cac B¹n"
End With
End Sub
Public Sub KiemTraNgay(dong As String)
Dim ok
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
61
Dim i As Integer
With frmhosocb
If Len(dong) <> 10 Then
MsgBox "B¹n NhËp sai DL ngµy th¸ng råi! H·y NhËp l¹i nh- sau:
dd/mm/yyyy", vbCritical, "Chó ý"
.txthoso(2).SetFocus
ok = False
End If
nam1 = Val(Mid(dong, 7, 5))
dong = Format(dong, "dd/mm/yyyy")
Ngay = Val(Mid(dong, 1, 2))
Thang = Val(Mid(dong, 4, 2))
Nam = Val(Mid(dong, 7, 4))
Select Case Thang
Case 4, 6, 9, 11
If Ngay > 30 And Len(nam1) = 4 Then
MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 30 ngµy!", vbCritical,
"Chó ý"
.txthoso(2).SetFocus
Else
If (Thang = 4) Or (Thang = 6) Or (Thang = 9) Or (Thang = 11) And
(Len(nam1) = 4) Then
.cbohoso(0).SetFocus
ok = True
End If
End If
Case 1, 3, 5, 7, 8, 10, 12
If Ngay > 31 And Len(nam1) = 4 Then
MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 31 ngµy!", vbCritical,
"Chó ý"
.txthoso(2).SetFocus
Else
If (Thang = 1) Or (Thang = 3) Or (Thang = 5) Or (Thang = 7) Or
(Thang = 8) Or (Thang = 10) Or (Thang = 12) And (Len(nam1) = 4) Then
.cbohoso(0).SetFocus
ok = True
End If
End If
Case 2
If (Nam Mod 4 = 0) And (Ngay > 29) And (Thang = 2) Then
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
62
MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó
ý"
.txthoso(2).SetFocus
Else
If (Nam Mod 4 = 0) And (Ngay <= 29) And (Thang = 2) Then
.cbohoso(0).SetFocus
ok = True
End If
If (Nam Mod 4 <> 0) And (Ngay > 28) And (Thang = 2) Then
MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical,
"Chó ý"
.txthoso(2).SetFocus
Else
If (Nam Mod 4 <> 0) And (Ngay <= 28) And (Thang = 2) Then
ok = True
.txthoso(2).SetFocus
End If
End If
End If
Case Else
If Val((Thang > 12) And (Len(nam1) = 4)) Then
MsgBox "B¹n NhËp sai kiÓu th¸ng !", vbCritical, "Chó ý"
.txthoso(2).SetFocus
End If
End Select
If ok = True Then
frmhosocb.cbohoso(0).SetFocus
Else
.txthoso(2).SetFocus
MsgBox "xay ra o Toi"
End If
End With
End Sub
Dim myPathhoso As String
Dim db As Database
Dim rec As Recordset
Dim mypath As String
Dim dongsql As String
Dim coghi
'Dim dongxoa
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
63
Private Sub cbohoso_KeyDown(Index As Integer, KeyCode As Integer, Shift
As Integer)
Select Case Index
Case 0 ' Gioi tinh
If KeyCode = 13 Then
If cbohoso(0).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
cbohoso(0).SetFocus
Else
If (UCase(Trim(cbohoso(0).Text)) = UCase("Nam")) Or
(UCase(Trim((cbohoso(0).Text))) = UCase("N÷")) Then
cbohoso(1).SetFocus
Else
MsgBox "DL chØ nhËn lµ : Nam hoÆc N÷ ", vbCritical,
"Th«ng B¸o"
cbohoso(0).SetFocus
End If
End If
End If
Case 1 'D©n Téc
If KeyCode = 13 Then
If cbohoso(1).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
cbohoso(1).SetFocus
Else
cbohoso(1).Text = Chuan(cbohoso(1), 2)
txthoso(3).SetFocus
End If
End If
Case 2 ' Phong
If KeyCode = 13 Then
If cbohoso(2).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
cbohoso(2).SetFocus
Else
cbohoso(2).Text = Chuan(cbohoso(2), 1)
cbohoso(3).SetFocus
End If
End If
Case 3 'Chuc vu
If KeyCode = 13 Then
If cbohoso(3).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
64
cbohoso(3).SetFocus
Else
cbohoso(3).Text = Chuan(cbohoso(3), 2)
cbohoso(4).SetFocus
End If
End If
Case 4 ' trinh Do
If KeyCode = 13 Then
If cbohoso(4).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
cbohoso(4).SetFocus
Else
cbohoso(4).Text = Chuan(cbohoso(4), 2)
cbohoso(5).SetFocus
End If
End If
Case 5 ' Chuyen mon
If KeyCode = 13 Then
If cbohoso(5).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
cbohoso(5).SetFocus
Else
cbohoso(5).Text = Chuan(cbohoso(5), 2)
txthoso(5).SetFocus
End If
End If
End Select
End Sub
Sub cmdchucnang_Click(Index As Integer)
Select Case Index
Case 0 ' NhËp míi
'MsgBox " B¹n võa chän nhËp míi "
Set db = OpenDatabase(mypath)
Set rec = db.OpenRecordset("hosocanbo")
For i = 0 To 5
txthoso(i).Text = ""
Next i
For i = 0 To 5
cbohoso(i).Text = ""
Next i
NapNhapHSCB
txthoso(0).SetFocus
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
65
Case 1 ' chän chøc n¨ng söa
IDMacb = InputBox(" NhËp vµo m· C¸n bé cÇn söa ", "Söa ch÷a")
If Len(Trim(IDMacb)) = 0 Then Exit Sub
Set rec = db.OpenRecordset("SELECT * FROM HosoCanBo
WHERE [MaCB]='" & IDMacb & "'")
If rec.RecordCount = 0 Then
MsgBox "Kh«ng tån t¹i m· c¸n bé ®ã trong l-u tr÷ ", vbCritical,
"Kh«ng thÊy"
txthoso(0).SetFocus
Exit Sub
End If
Set dathoso.Recordset = rec
Me.dathoso.Refresh
On Error Resume Next
Case 2 ' chän chøc n¨ng Ghi
MsgBox " B¹n võa chän ghi"
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
Set rec = db.OpenRecordset("HoSoCanBo")
' KiÓm tra Xem Da co ®ñ Thong tin
For k = 0 To 5
If cbohoso(i).Text = "" Then
cbohoso(i).SetFocus
End If
If txthoso(i).Text = "" Then
txthoso(i).SetFocus
End If
Next k
dongsql = "Insert into hosocanbo
(macb,Hoten,ngaysinh,Gioitinh,DanToc,Quequan,NoiOhiennay,Phong,ChucV
u,TrinhDo,Chuyenmon,NgayvaoBienChe) Values ('" &
UCase(Trim(txthoso(0).Text)) & "','" & Trim(txthoso(1).Text) & "','" &
Trim(txthoso(2).Text) & "','" & Trim(cbohoso(0).Text) & "','" &
Trim(cbohoso(1).Text) & "','" & Trim(txthoso(3).Text) & "','" &
Trim(txthoso(4).Text) & "','" & Trim(cbohoso(2).Text) & "','" &
Trim(cbohoso(3).Text) & "','" & Trim(cbohoso(4).Text) & "','" &
Trim(cbohoso(5).Text) & "','" & Trim(txthoso(5).Text) & "')"
Me.dathoso.Recordset.MoveFirst
For j = 0 To dathoso.Recordset.RecordCount - 1
If UCase(Trim(txthoso(0).Text)) <>
UCase(dathoso.Recordset.Fields(0).Value) Then
coghi = True
Else
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
66
coghi = False
If coghi = False Then
MsgBox " §· Cã trong c¬ së d÷ liÖu cña b¹n !"
Exit For
End If
End If
Me.dathoso.Recordset.MoveNext
Next j
If coghi = True Then
db.Execute dongsql
dathoso.Refresh
End If
db.Execute dongsql
db.Execute "Insert Into Luong(macb,luong,kynhan)Values ('" &
UCase(Trim(txthoso(0).Text)) & "',100,'No')"
db.Close
txthoso(0).SetFocus
Case 3 'Xo¸
Set db = OpenDatabase(mypath)
Set rec = db.OpenRecordset("Hosocanbo")
With rec
If Not .EOF Or Not .BOF Then
xoa = MsgBox("B¹n Muèn xo¸ ?", vbYesNo, "Chó ý")
If xoa = vbYes Then
Me.dathoso.Recordset.MoveFirst
.Delete
End If
' .Update
End If
End With
Case 4, Xem
frmXemhoso.Show
Case 5 ' In Ên
frmXemhoso.cmdchucnang_Click
Case 6 'KÕt Thóc
Unload Me
End Select
End Sub
Private Sub dathoso_Reposition()
dongxoa = Me.dathoso.Recordset.RecordCount + 1
End Sub
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
67
Private Sub DBGrid1_Click()
If Not Me.dathoso.Recordset.BOF Or Not Me.dathoso.Recordset.EOF Then
txthoso(0).Text = Me.dathoso.Recordset.Fields(0).Value
txthoso(1).Text = Me.dathoso.Recordset.Fields(1).Value
Else
MsgBox "§©y la qu¸ b¶n ghi cuèi råi", vbCritical, "Chó ý"
End If
End Sub
Sub Form_Activate()
Me.Width = 11100
Me.Height = 7500
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 20
End Sub
Private Sub Form_Load()
mypath = "c:qlluongQLLuong.mdb"
Form_Activate
For i = 0 To 5
txthoso(i).Text = ""
Next i
For i = 0 To 5
cbohoso(i).Text = ""
Next i
Me.NapNhapHSCB
HienData
End Sub
Private Sub txthoso_KeyDown(Index As Integer, KeyCode As Integer, Shift
As Integer)
Select Case Index
Case 0 ' ma Can Bo
If KeyCode = 13 Then
If txthoso(0).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(0).SetFocus
Else
txthoso(0).Text = Chuan(txthoso(0), 3)
txthoso(1).SetFocus
End If
End If
Case 1 'Ho Ten
If KeyCode = 13 Then
If txthoso(0).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(1).SetFocus
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
68
Else
txthoso(1).Text = Chuan(txthoso(1), 1)
txthoso(2).SetFocus
End If
End If
Case 2 'Ngay sinh
If KeyCode = 13 Then
If txthoso(2).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(2).SetFocus
Else
cbohoso(0).SetFocus
End If
KiemTraNgay (Trim(txthoso(2).Text))
End If
Case 3 ' Que quan
If KeyCode = 13 Then
If txthoso(3).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(3).SetFocus
Else
txthoso(3).Text = Chuan(txthoso(3), 1)
txthoso(4).SetFocus
End If
End If
Case 4 'noi O
If KeyCode = 13 Then
If txthoso(4).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(4).SetFocus
Else
txthoso(4).Text = Chuan(txthoso(4), 1)
cbohoso(2).SetFocus
End If
End If
Case 5
If KeyCode = 13 Then
If txthoso(5).Text = "" Then
MsgBox "B¹n Ph¶i nhËp DL Vao !"
txthoso(5).SetFocus
Else
txthoso(0).SetFocus
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
69
If KiemTraNgayvaoBC(Trim(txthoso(5).Text)) = True Then
cmdchucnang_Click (2)
cmdchucnang_Click (0)
Else
Me.txthoso(5).SetFocus
End If
End If
End If
End Select
End Sub
Public Sub HienData()
dathoso.DatabaseName = mypath
dathoso.RecordSource = "Hosocanbo"
End Sub
Public Sub NapNhapHSCB()
With frmhosocb.cbohoso(0)
.AddItem "Nam"
.AddItem "N÷"
End With
' N¹p D©n Téc
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [DanToc] FROM HosoCanBo"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmhosocb.cbohoso(1).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End If
'Nap Phßng Ban
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [Phong] FROM HosoCanBo"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
70
Do While Not .EOF
frmhosocb.cbohoso(2).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End If
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [ChucVu] FROM HosoCanBo"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmhosocb.cbohoso(3).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End If
'Nap Trinh D«
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [TrinhDO] FROM HosoCanBo"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmhosocb.cbohoso(4).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
End If
'Nap Chuyen Mon
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [ChuyenMon] FROM HosoCanBo"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmhosocb.cbohoso(5).AddItem (.Fields(0).Value)
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
71
.MoveNext
Loop
End With
End If
End Sub
Sub Nhaplai(dk As Boolean)
If dk = True Then
txthoso(2).SetFocus
Else
cbohoso(1).SetFocus
End If
End Sub
Public Function KiemTraNgayvaoBC(dong As String) As Boolean
Dim ok
Dim i As Integer
With frmhosocb
If Len(dong) <> 10 Then
MsgBox "B¹n NhËp sai DL ngµy th¸ng råi! H·y NhËp l¹i nh- sau:
dd/mm/yyyy", vbCritical, "Chó ý"
.txthoso(5).SetFocus
ok = False
End If
nam1 = Val(Mid(dong, 7, 5))
dong = Format(dong, "dd/mm/yyyy")
Ngay = Val(Mid(dong, 1, 2))
Thang = Val(Mid(dong, 4, 2))
Nam = Val(Mid(dong, 7, 4))
Select Case Thang
Case 4, 6, 9, 11
If Ngay > 30 And Len(nam1) = 4 Then
MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 30 ngµy!", vbCritical,
"Chó ý"
.txthoso(5).SetFocus
Else
If (Thang = 4) Or (Thang = 6) Or (Thang = 9) Or (Thang = 11) And
(Len(nam1) = 4) Then
.txthoso(0).SetFocus
ok = False
End If
End If
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
72
Case 1, 3, 5, 7, 8, 10, 12
If Ngay > 31 And Len(nam1) = 4 Then
MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 31 ngµy!", vbCritical,
"Chó ý"
.txthoso(5).SetFocus
Else
If (Thang = 1) Or (Thang = 3) Or (Thang = 5) Or (Thang = 7) Or
(Thang = 8) Or (Thang = 10) Or (Thang = 12) And (Len(nam1) = 4) Then
.txthoso(0).SetFocus
ok = True
End If
End If
Case 2
If (Nam Mod 4 = 0) And (Ngay > 29) And (Thang = 2) Then
MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó
ý"
.txthoso(5).SetFocus
Else
If (Nam Mod 4 = 0) And (Ngay <= 29) And (Thang = 2) Then
.txthoso(5).SetFocus
ok = True
End If
If (Nam Mod 4 <> 0) And (Ngay > 28) And (Thang = 2) Then
MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical,
"Chó ý"
.txthoso(5).SetFocus
Else
If (Nam Mod 4 <> 0) And (Ngay <= 28) And (Thang = 2) Then
ok = True
.txthoso(5).SetFocus
End If
End If
End If
Case Else
If Val((Thang > 12) And (Len(nam1) = 4)) Then
MsgBox "B¹n NhËp sai kiÓu th¸ng !", vbCritical, "Chó ý"
.txthoso(5).SetFocus
End If
End Select
If ok = True Then
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
73
.txthoso(0).SetFocus
Else
.txthoso(5).SetFocus
End If
KiemTraNgayvaoBC = ok
End With
End Function
Option Compare Text
Option Explicit
Dim them As Boolean
'In danh muïc chöùng töø
Private Sub cmdRepheso_Click()
heso.Show
End Sub
Private Sub Command1_Click()
he_so_luong.Show
End Sub
'Thuû tuïc naïp Form
Private Sub Form_Load()
Dim n
Dim n1
n = 0
n1 = 0
txtSBG.Text = n
'Khoa
End Sub
Private Sub Khoa()
Dataheso.AllowDelete = False
Dataheso.AllowUpdate = False
Dataheso.AllowAddNew = False
cmdthem.Enabled = True
cmdsua.Enabled = True
cmdxoa.Enabled = True
cmdghi.Enabled = False
cmdkhong.Enabled = False
cmdthoat.Enabled = True
'Töï ñoäng caäp nhaät baûn ghi trong DataGrid cuûa Danh muïc chöùng töø
Dataheso.Refresh
End Sub
Private Sub Mo_Khoa()
Dataheso.AllowDelete = True
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
74
Dataheso.AllowUpdate = True
Dataheso.AllowAddNew = True
cmdthem.Enabled = False
cmdsua.Enabled = False
cmdxoa.Enabled = False
cmdghi.Enabled = True
cmdkhong.Enabled = True
cmdthoat.Enabled = False
'Töï ñoäng caäp nhaät baûn ghi trong DataGrid cuûa Danh muïc chöùng töø
Dataheso.Refresh
End Sub
Private Sub cmdthem_click()
On Error GoTo Loi_Them
Mo_Khoa
'Töï ñoäng caäp nhaät laïi baûn ghi trong Form hay DataSheet khi döõ lieäu
thay ñoåi
Ado_heso.Refresh
'Theâm baûn ghi môùi
Ado_heso.Recordset.AddNew
'DataGrid cuûa heso nhaän tieâu ñieåm
Dataheso.SetFocus
them = True
Thoat_Them:
Exit Sub
Loi_Them:
MsgBox Err.Description
Resume Thoat_Them
End Sub
Private Sub cmdsua_click()
Dim recnum
On Error GoTo Loi_Sua
'Bieán ñaùnh daáu baûn ghi caàn thay ñoåi
recnum = Ado_heso.Recordset.Bookmark
Mo_Khoa
them = False
Thoat_Sua:
Exit Sub
Loi_Sua:
MsgBox Err.Description
Resume Thoat_Sua
End Sub
Private Sub cmdxoa_click()
On Error GoTo Loi_Xoa
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
75
Dim traloi
traloi = MsgBox("Baïn muoán xoùa chöùng töø " +
Ado_heso.Recordset.Fields("heso") + " ?", 48 + 4, "Thoâng baùo")
'Neáu choïn YES
If traloi = 6 Then
'Xoùa baûn ghi
Ado_heso.Recordset.Delete
Ado_heso.Recordset.Clone
Ado_heso.Recordset.Requery
Ado_heso.Recordset.MoveNext
If Ado_heso.Recordset.EOF Then
Ado_heso.Recordset.MoveLast
End If
End If
'Duøng phöông thöùc Refresh cuûa ñoái töôïng Adodc ñeå caäp nhaät laïi
döõ lieäu
Ado_heso.Refresh
Thoat_Xoa:
Exit Sub
Loi_Xoa:
MsgBox "Khoâng theå xoùa maãu tin naøy !"
Resume Thoat_Xoa
End Sub
Private Sub cmdghi_click()
On Error GoTo Loi_Ghi
Ado_heso.Recordset.UpdateBatch adAffectAll
Khoa
cmdthem.SetFocus
them = False
Thoat_Ghi:
Dataheso.SetFocus
Exit Sub
Loi_Ghi:
MsgBox "Döõ lieäu khoâng hôïp leä !"
MsgBox "Maõ chöùng töø coù toái 10 kyù töï soá !"
Resume Thoat_Ghi
End Sub
Private Sub cmdkhong_click()
If them Then
Ado_heso.Refresh
'Duøng phöông thöùc CancelUpdate ñeå boû qua vieäc caäp nhaät döõ
lieäu
Ado_heso.Recordset.CancelUpdate
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
76
End If
Khoa
cmdthem.SetFocus
them = False
Ado_heso.Refresh
End Sub
Private Sub cmdthoat_click()
Ado_heso.Refresh
Unload Me
End Sub
'Khi click vaøo DataGrid cuûa heso ñoàng thôøi ñeám soá baûn ghi vaø
'ñaùnh daáu baûn ghi hieän haønh
Private Sub Dataheso_click()
Dim n
Dim n1
n = 0
n1 = 0
n = Ado_heso.Recordset.RecordCount
If (Ado_heso.Recordset.EOF = False) And (Ado_heso.Recordset.BOF =
False) Then
n1 = Ado_heso.Recordset.Bookmark
End If
txtBGHH.Text = n1
txtSBG.Text = n
End Sub
Dim db As Database
Dim rec As Recordset
Dim sql As String
Private Sub CBoTC_KeyUp(Index As Integer, KeyCode As Integer, Shift As
Integer)
Select Case Index
Case 0 'hä tªn
If KeyCode = 13 Then
If Not Trim(CBoTC(0).Text) = "" Then
CBoTC(0).Text = Chuan(CBoTC(0).Text, 1)
End If
CBoTC(1).SetFocus
End If
Case 1 ' thoe ma
If KeyCode = 13 Then
If Not Trim(CBoTC(1).Text) = "" Then
CBoTC(1).Text = Chuan(CBoTC(1).Text, 3)
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
77
End If
CBoTC(2).SetFocus
End If
Case 2 'theo he so luong
If KeyCode = 13 Then
If Not Trim(CBoTC(2).Text) = "" Then
If Len(Trim(CBoTC(2).Text)) <> 0 Then
CBoTC(2).Text = Chuan(Trim(CBoTC(2).Text), 2)
End If
End If
txtTC(0).SetFocus
End If
Case 3 ' theo phu cap
If KeyCode = 13 Then
If Not Trim(CBoTC(3).Text) = "" Then
CBoTC(3).Text = Chuan(CBoTC(3).Text, 2)
End If
CBoTC(4).SetFocus
End If
Case 4 ' theo laoi thuong
If KeyCode = 13 Then
If Not Trim(CBoTC(4).Text) = "" Then
CBoTC(4).Text = Chuan(CBoTC(4).Text, 2)
End If
CBoTC(5).SetFocus
End If
Case 5 ' con lao
If KeyCode = 13 Then
If Not Trim(CBoTC(5).Text) = "" Then
CBoTC(5).Text = Chuan(CBoTC(5).Text, 2)
End If
Me.cmdTCLuong.SetFocus
End If
End Select
End Sub
Private Sub CBoTC_LostFocus(Index As Integer)
Select Case Index
Case 0
CBoTC(0).Text = Chuan(CBoTC(0).Text, 1)
Case 1
CBoTC(1).Text = Chuan(CBoTC(1).Text, 3)
Case 2
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
78
CBoTC(2).Text = Chuan(CBoTC(2).Text, 2)
Case 0
CBoTC(3).Text = Chuan(CBoTC(3).Text, 2)
Case 0
CBoTC(4).Text = Chuan(CBoTC(4).Text, 2)
Case 0
CBoTC(5).Text = Chuan(CBoTC(5).Text, 2)
End Select
End Sub
Private Sub cmdexit_Click()
Unload Me
End Sub
Private Sub cmdInLuong_Click()
MsgBox "b¹n muèn In"
End Sub
Private Sub cmdTCLuong_Click()
Dim db As Database
Dim rec As Recordset
Dim IDMacb As String, IDHoTen As String
Dim IDHSL As String, IDMPC As String
Dim IDLT As String, IDLuong As String
Dim IDConLai As String, IDDnd As String
Dim pheptoan1 As String, pheptoan2 As String
Dim sql As String, i As Byte
sql = "SELECT DISTINCTROW HosoCanBo.macb, HosoCanBo.HoTen,
HosoCanBo.Ngaysinh, HosoCanBo.Phong, HosoCanBo.Chucvu,
HosoCanBo.NgayVaoBienChe, Luong.hesoluong, Luong.Loaithuong,
Luong.MucPhuCap, Luong.SoNgayNghi, Luong.Luong, Luong.TamUng,
Luong.Conlai "
sql = sql & " FROM Luong INNER JOIN HosoCanBo ON Luong.Macb =
HosoCanBo.macb WHERE "
IDHoTen = Chuan(Trim(CBoTC(0).Text), 1)
IDMacb = Chuan(Trim(CBoTC(1).Text), 3)
IDHSL = (Trim(CBoTC(2).Text))
IDMPC = Trim(CBoTC(3).Text)
IDLT = Trim(CBoTC(4).Text)
IDDnd = Trim(CBoTC(5).Text)
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
79
pheptoan1 = Mid(Trim(txtTC(0).Text), 1, 2)
IDLuong = Mid((Trim(txtTC(0).Text)), 3, Len(Trim(txtTC(0).Text)))
pheptoan2 = Mid(Trim(txtTC(1).Text), 1, 2)
IDConLai = Mid((Trim(txtTC(1).Text)), 3, Len(Trim(txtTC(1).Text)))
'MsgBox IDHSL
Select Case Me.OptAND.Value
Case True
If Len(IDHoTen) > 0 Then sql = sql & " HosoCanBo.[HoTen] LiKe
'" & IDHoTen & "' And "
If Len(IDMacb) > 0 Then sql = sql & " HosoCanBo.[Macb] LiKe '"
& IDMacb & "' And "
If Len(IDHSL) > 0 Then sql = sql & " Luong.[Hesoluong] Like '" &
IDHSL & "' And "
If Len(IDMPC) > 0 Then sql = sql & " Luong.[MucPhuCap] LiKe '"
& IDMPC & "' And "
If Len(IDLT) > 0 Then sql = sql & " Luong.[LoaiThuong] LiKe '" &
IDLT & "' And "
If Len(IDDnd) > 0 Then sql = sql & " Luong.[KyNhan] LiKe '" &
IDDnd & "' And "
If Len(IDLuong) > 0 Then sql = sql & " val(Luong.[Luong]) " &
pheptoan1 & " " & Val(IDLuong) & " And "
If Len(IDConLai) > 0 Then sql = sql & " val(Luong.[ConLai]) " &
pheptoan2 & " " & Val(IDConLai) & " And "
MsgBox sql
sql = sql & " HosocanBo.[Macb]=luong.[Macb] ORDER BY
HosoCanBo.[HoTen]"
'MsgBox sql
Case False
If Len(IDHoTen) > 0 Then sql = sql & " HosoCanBo.[HoTen] LiKe
'" & IDHoTen & "' or "
If Len(IDMacb) > 0 Then sql = sql & " HosoCanBo.[Macb] LiKe '"
& IDMacb & "' or "
If Len(IDHSL) > 0 Then sql = sql & " Luong.[Hesoluong] Like '" &
IDHSL & "' Or "
If Len(IDMPC) > 0 Then sql = sql & " Luong.[MucPhuCap] LiKe '"
& IDMPC & "' OR "
If Len(IDLT) > 0 Then sql = sql & " Luong.[LoaiThuong] LiKe '" &
IDLT & "' OR "
If Len(IDDnd) > 0 Then sql = sql & " Luong.[KyNhan] LiKe '" &
IDDnd & "' OR "
If Len(IDLuong) > 0 Then sql = sql & " val(Luong.[Luong]) " &
pheptoan1 & " " & Val(IDLuong) & " OR "
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
80
If Len(IDConLai) > 0 Then sql = sql & " val(Luong.[ConLai]) " &
pheptoan2 & " " & Val(IDConLai) & " OR "
sql = Mid(sql, 1, Len(Trim(sql)) - 2)
MsgBox sql
sql = sql & " AND HosocanBo.[Macb]=luong.[Macb] ORDER BY
HosoCanBo.[HoTen]"
End Select
Set db = OpenDatabase("c:QlluongQlluong.mdb")
Set rec = db.OpenRecordset(sql, dbOpenSnapshot)
If rec.RecordCount = 0 Then
MsgBox " Kh«ng cã c¸n bé tho¶ m·n th«ng tin t×m kiÕm", vbCritical,
"Th«ng b¸o"
Exit Sub
End If
Set DatTCLuong.Recordset = rec
Me.DbgTCLuong.Refresh
Me.txtTong.Text = Me.DatTCLuong.Recordset.RecordCount
Me.DbgTCLuong.SetFocus
End Sub
Private Sub cmdview_Click()
LUONG.Show
End Sub
Sub Form_Activate()
Me.Width = 11000
Me.Height = 7500
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) /
200
'NapDK
End Sub
Private Sub Form_Load()
Dim rec As Recordset
Dim sql As String
Me.OptAND.Value = True
Me.OptOR.Value = False
Me.Frame1.Enabled = False
mypath = "c:QLluongQlluong.mdb"
For k = 0 To 5
Me.CBoTC(k).Text = ""
Next k
Me.txtTC(0).Text = ""
Me.txtTC(1).Text = ""
Me.DatTCLuong.RecordSource = mypath
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
81
Me.DbgTCLuong.Columns(0).DataField = "HoTen"
sql = "SELECT DISTINCTROW HosoCanBo.macb, HosoCanBo.HoTen,
HosoCanBo.Ngaysinh, HosoCanBo.Phong, HosoCanBo.Chucvu,
HosoCanBo.NgayVaoBienChe, Luong.hesoluong, Luong.Loaithuong,
Luong.MucPhuCap, Luong.SoNgayNghi, Luong.Luong, Luong.TamUng,
Luong.Conlai "
sql = sql & " FROM HosoCanBo,Luong WHERE "
sql = sql & "HosoCanBo.[Macb]=Luong.[Macb] ORDER BY
HosoCanBo.[Hoten]"
Set db =
DBEngine.Workspaces(0).OpenDatabase("c:QLluongQlluong.mdb")
Set rec = db.OpenRecordset(sql, dbOpenSnapshot)
If rec.RecordCount = 0 Then
MsgBox " Kh«ng cã ®Çu s¸ch tho¶ m·n th«ng tin t×m kiÕm", vbCritical,
"Th«ng b¸o"
Exit Sub
End If
Set Me.DatTCLuong.Recordset = rec
'Me.DatTCLuong.Refresh
With Me.DatTCLuong
Me.DbgTCLuong.Columns(0).DataField = .Recordset.Fields(1).Name
Me.DbgTCLuong.Columns(0).Width = 3000
' .Refresh
Me.DbgTCLuong.Refresh
TxtTCLuong(0).DataField = "Macb"
For i = 0 To 12 Step 1
TxtTCLuong(i).DataField = .Recordset.Fields(i).Name
Next i
Me.DbgTCLuong.Refresh
End With
Me.txtTong.Text = Me.DatTCLuong.Recordset.RecordCount
NapDK
End Sub
Public Sub NapDK()
'n¹p Th«ng Tin Ho tªn
For i = 1 To 5
Me.CBoTC(i).Clear
Next i
mypath = "c:QLluongQlluong.mdb"
frmTraCuuLuong.CBoTC(0).AddItem ""
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
82
MySql = "SELECT DISTINCT [Hoten] FROM HosoCanBo ORDER BY
HosoCanBo.[HoTen]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmTraCuuLuong.CBoTC(0).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
frmTraCuuLuong.CBoTC(0).AddItem ""
End If
'n¹p Th«ng Tin MaCB
frmTraCuuLuong.CBoTC(1).AddItem ""
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [Macb] FROM Luong ORDER BY
Luong.[Macb]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmTraCuuLuong.CBoTC(1).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
' frmTraCuuLuong.CBoTC(1).AddItem ""
End If
'n¹p Th«ng Tin HÖ sè l-¬ng
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [Heso] FROM HesoLuong ORDER BY
HesoLuong.[Heso]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
83
frmTraCuuLuong.CBoTC(2).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
frmTraCuuLuong.CBoTC(2).AddItem ""
End If
'n¹p Th«ng Tin Møc phô cÊp
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [MucPhucap] FROM PhuCap ORDER BY
PhuCap.[MucPhuCap]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmTraCuuLuong.CBoTC(3).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
frmTraCuuLuong.CBoTC(3).AddItem ""
End If
'n¹p Th«ng Tin Lo¹i th-ëng
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [LoaiThuong] FROM Thuong" ' ORDER
BY Thuong.[LoaiThuong]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
frmTraCuuLuong.CBoTC(4).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
frmTraCuuLuong.CBoTC(4).AddItem ""
End If
'n¹p Th«ng Tin §a nh©n
frmTraCuuLuong.CBoTC(5).AddItem ""
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
84
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
MySql = "SELECT DISTINCT [KyNhan] FROM Luong ORDER BY
Luong.[KyNhan]"
Set rec = db.OpenRecordset(MySql, dbOpenSnapshot)
If rec.RecordCount <> 0 Then
With rec
.MoveLast
.MoveFirst
Do While Not .EOF
Me.CBoTC(5).AddItem (.Fields(0).Value)
.MoveNext
Loop
End With
' frmTraCuuLuong.CBoTC(5).AddItem ""
End If
End Sub
Private Sub OptAND_Click()
Me.OptAND.Value = True
Me.OptOR.Value = False
End Sub
Private Sub OptOR_Click()
Me.OptOR.Value = True
Me.OptAND.Value = False
End Sub
Private Sub txtTC_KeyUp(Index As Integer, KeyCode As Integer, Shift As
Integer)
Select Case Index
Case 0
If KeyCode = 13 Then
txtTC(1).SetFocus
End If
Case 1
If KeyCode = 13 Then
CBoTC(3).SetFocus
End If
End Select
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Sub cmdchucnang_Click()
outputdestination = 0
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
85
rptxemhoso.Destination = outputdestination
rptxemhoso.DataFiles(0) = mypath
rptxemhoso.ReportFileName = rptfilename + "hscb.rpt"
rptxemhoso.Action = 1
End Sub
Sub Form_Activate()
Me.Width = 11900
Me.Height = 7500
With DBGXemHoso
.Top = frmXemhoso.Top - 100
.Left = frmXemhoso.Left - 200
.Width = Me.Width - 100
.Height = Me.Height - 1500
End With
Me.Move (Screen.Width - Me.Width) / 200, (Screen.Height - Me.Height) /
200
Me.Frame1.Top = Me.Height - 1500
Me.Frame1.Left = Me.Left + 100
Me.Frame1.Width = Me.Width - 400
Me.datxemhoso.Visible = False
'Form_Load
End Sub
Sub Form_Load()
mypath = "c:QLluongqlluong.mdb"
datxemhoso.DatabaseName = mypath
datxemhoso.RecordSource = "HoSoCanBo"
Me.DBGXemHoso.Font.Name = ".vntime"
Me.DBGXemHoso.Font.Size = 12
Form_Activate
HienTieuDe
End Sub
Public Sub HienTieuDe()
With Me.DBGXemHoso
.Columns(0).Caption = "M· C¸n Bé"
.Columns(0).DataField = "Macb"
.Columns(0).Width = 1000
.Columns(1).Caption = "Hä Tªn"
.Columns(1).DataField = "Hoten"
.Columns(1).Width = 2500
.Columns(2).Caption = "Ngµy Sinh"
.Columns(2).DataField = "Ngaysinh"
.Columns(2).Width = 1500
.Columns(3).Caption = "Giíi TÝnh"
***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.***
ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
86
.Columns(3).DataField = "Gioitinh"
.Columns(3).Width = 1000
.Columns(4).Caption = "D©n Téc"
.Columns(4).DataField = "DanToc"
.Columns(4).Width = 1200
.Columns(5).Caption = "Quª Qu¸n"
.Columns(5).DataField = "QueQuan"
.Columns(5).Width = 2000
.Columns(6).Caption = "N¬i ë "
.Columns(6).DataField = "noioHienNay"
.Columns(6).Width = 2000
.Columns(7).Caption = "Phßng"
.Columns(7).DataField = "Phong"
.Columns(7).Width = 2000
.Columns(8).Caption = "Chøc Vô"
.Columns(8).DataField = "ChucVu"
.Columns(8).Width = 2000
.Columns(9).Caption = "Tr×nh §é"
.Columns(9).DataField = "trinhDO"
.Columns(10).Caption = "Chuyªn M«n"
.Columns(10).DataField = "ChuyenMon"
.Columns(11).Caption = "Ngµy Vµo biªn chÕ"
.Columns(11).DataField = "Ngayvaobienche"
End With
End Sub

More Related Content

PDF
Thiết kế csdl quản lý nhân sự
PDF
Khóa luận tốt nghiệp Phân tích và thiết kế hệ thống thông tin quản lý nhân sự...
DOC
[123doc] do-an-phan-mem-quan-ly-nhan-su-tien-luong
PDF
Đề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOT
PDF
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
PDF
Hd th sql server_tuan5_n_khanh
PDF
Đề tài: Chương trình quản lý nhân sự tiền lương tại doanh nghiệp
PDF
Đề tài Phân tích thiết kế hệ thống quản lý nhân sự và tiền lương
Thiết kế csdl quản lý nhân sự
Khóa luận tốt nghiệp Phân tích và thiết kế hệ thống thông tin quản lý nhân sự...
[123doc] do-an-phan-mem-quan-ly-nhan-su-tien-luong
Đề tài: Xây dựng chương trình quản lý dịch vụ vận chuyển, HOT
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Hd th sql server_tuan5_n_khanh
Đề tài: Chương trình quản lý nhân sự tiền lương tại doanh nghiệp
Đề tài Phân tích thiết kế hệ thống quản lý nhân sự và tiền lương

What's hot (20)

DOCX
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
PDF
Thiết kế csdl quản lý nhân sự
PPTX
Hệ thống quản lý bán hàng online
DOC
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
DOC
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PDF
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
DOCX
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
DOC
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
DOC
Đề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải Phòng
PPT
Bai 4 bieu dien do thi va thuat toan tim kiem
DOCX
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
PDF
Đề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đ
PDF
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
PDF
Phân tích và thiết kế hệ thống quản lý bán hàng
PPTX
Chương 2: hệ thống thông tin
PDF
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
DOCX
Báo Cáo Thực Tập Ứng Dụng Công Nghệ Thông Tin Vào Công Tác Quản Lý
DOCX
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
DOCX
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
PDF
Quản lý quan hệ khách hàng
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Thiết kế csdl quản lý nhân sự
Hệ thống quản lý bán hàng online
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
Đề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải Phòng
Bai 4 bieu dien do thi va thuat toan tim kiem
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Đề tài: Xây dựng Website quản lý điểm trường Phổ thông, 9đ
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Phân tích và thiết kế hệ thống quản lý bán hàng
Chương 2: hệ thống thông tin
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Báo Cáo Thực Tập Ứng Dụng Công Nghệ Thông Tin Vào Công Tác Quản Lý
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Quản lý quan hệ khách hàng
Ad

Similar to Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS (20)

DOC
Chuyên Đề Thực Tập Nâng Cao Hiệu Quả Quản Lý Nhân Sự Tại Ubnd.
DOC
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
DOC
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
DOC
Nâng cao hiệu quả quản lý nhân sự tại ubnd xã mù sang, huyện phong thổ, tỉnh ...
DOC
Xây dựng phần mềm quản lý thông tin nhân sự trường Đại học Dân lập Hải Phòng
DOCX
đồ án 2.docx
DOCX
Đề Tài Xây Dựng Phân Hệ Kế Toán Tiền Lương Tại Công Ty Tnhh Điện Cơ
DOCX
Đề Tài Xây Dựng Phân Hệ Kế Toán Tiền Lương Tại Công Ty Tnhh Điện Cơ
DOC
[123doc] do-an-phan-mem-quan-ly-nhan-su-tien-luong
DOC
DOCX
XD hệ thống thông tin kế toán tiền lương ở Cty TNHH MTV Hanel
PDF
Quản lý nhân sự trường cấp II
DOC
Nham duc phuc k50 cnpm_khoa luan tot nghiep dai hoc
DOC
Đề tài: Quản lý nhân sự trường cấp II, HAY, 9đ
PDF
Xay dung chinh sach luong theo phuong phap 3 p hr4all
PPTX
LeManhHung.pptx
PDF
Phần mềm quản lý nhân sự trực tuyến hướng dẫn chương 1
DOC
Phân Tích Thiết Kế Hướng Cấu Trúc Để Xây Dựng Chương Trình Quản Lý Hồ Sơ.doc
DOC
Đề tài: Thiết kế hệ thống thông tin phân hệ kế toán tiền lương, 9đ
DOCX
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Chuyên Đề Thực Tập Nâng Cao Hiệu Quả Quản Lý Nhân Sự Tại Ubnd.
Xây dựng phần mềm quản lý nhân sự tại công ty cổ phần Thiên Minh
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
Nâng cao hiệu quả quản lý nhân sự tại ubnd xã mù sang, huyện phong thổ, tỉnh ...
Xây dựng phần mềm quản lý thông tin nhân sự trường Đại học Dân lập Hải Phòng
đồ án 2.docx
Đề Tài Xây Dựng Phân Hệ Kế Toán Tiền Lương Tại Công Ty Tnhh Điện Cơ
Đề Tài Xây Dựng Phân Hệ Kế Toán Tiền Lương Tại Công Ty Tnhh Điện Cơ
[123doc] do-an-phan-mem-quan-ly-nhan-su-tien-luong
XD hệ thống thông tin kế toán tiền lương ở Cty TNHH MTV Hanel
Quản lý nhân sự trường cấp II
Nham duc phuc k50 cnpm_khoa luan tot nghiep dai hoc
Đề tài: Quản lý nhân sự trường cấp II, HAY, 9đ
Xay dung chinh sach luong theo phuong phap 3 p hr4all
LeManhHung.pptx
Phần mềm quản lý nhân sự trực tuyến hướng dẫn chương 1
Phân Tích Thiết Kế Hướng Cấu Trúc Để Xây Dựng Chương Trình Quản Lý Hồ Sơ.doc
Đề tài: Thiết kế hệ thống thông tin phân hệ kế toán tiền lương, 9đ
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Ad

More from Dịch vụ viết thuê Luận Văn - ZALO 0932091562 (20)

DOC
Nghiên Cứu Thu Nhận Pectin Từ Một Số Nguồn Thực Vật Và Sản Xuất Màng Pectin S...
DOC
Phát Triển Cho Vay Hộ Kinh Doanh Tại Ngân Hàng Nông Nghiệp Và Phát Triển Nông...
DOC
Nghiên Cứu Nhiễu Loạn Điện Áp Trong Lưới Điện Phân Phối.doc
DOC
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Kết Quả Kinh Doanh Của Các Công Ty Ngành...
DOC
Xây Dựng Công Cụ Sinh Dữ Liệu Thử Tự Động Cho Chương Trình Java.doc
DOC
Phát Triển Công Nghiệp Huyện Điện Bàn Tỉnh Quảng Nam.doc
DOC
Phát Triển Kinh Tế Hộ Nông Dân Trên Địa Bàn Huyện Quảng Ninh, Tỉnh Quảng Bình...
DOC
Vận Dụng Mô Hình Hồi Quy Ngưỡng Trong Nghiên Cứu Tác Động Của Nợ Lên Giá Trị ...
DOC
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Cấu Trúc Vốn Của Doanh Nghiệp Ngành Hàng...
DOC
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Hiệu Quả Kinh Doanh Của Các Doanh Nghiệp...
DOC
Hoàn Thiện Công Tác Thẩm Định Giá Tài Sản Bảo Đảm Trong Hoạt Động Cho Vay Tại...
DOC
Biện Pháp Quản Lý Xây Dựng Ngân Hàng Câu Hỏi Kiểm Tra Đánh Giá Kết Quả Học Tậ...
DOC
Hoàn Thiện Công Tác Huy Động Vốn Tại Ngân Hàng Tmcp Công Thương Việt Nam Chi ...
DOC
Ánh Xạ Đóng Trong Không Gian Mêtric Suy Rộng.doc
DOC
Giải Pháp Hạn Chế Nợ Xấu Đối Với Khách Hàng Doanh Nghiệp Tại Ngân Hàng Thương...
DOC
Hoàn Thiện Công Tác Đào Tạo Đội Ngũ Cán Bộ Công Chức Phường Trên Địa Bàn Quận...
DOC
Giải Pháp Marketing Cho Dịch Vụ Ngân Hàng Điện Tử Tại Ngân Hàng Tmcp Hàng Hải...
DOC
Biện Pháp Quản Lý Công Tác Tự Đánh Giá Trong Kiểm Định Chất Lượng Giáo Dục Cá...
DOC
Kiểm Soát Rủi Ro Tín Dụng Trong Cho Vay Ngành Xây Dựng Tại Nhtmcp Công Thương...
DOC
Diễn Ngôn Lịch Sử Trong Biên Bản Chiến Tranh 1-2 -3- 4.75 Của Trần Mai Hạnh.doc
Nghiên Cứu Thu Nhận Pectin Từ Một Số Nguồn Thực Vật Và Sản Xuất Màng Pectin S...
Phát Triển Cho Vay Hộ Kinh Doanh Tại Ngân Hàng Nông Nghiệp Và Phát Triển Nông...
Nghiên Cứu Nhiễu Loạn Điện Áp Trong Lưới Điện Phân Phối.doc
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Kết Quả Kinh Doanh Của Các Công Ty Ngành...
Xây Dựng Công Cụ Sinh Dữ Liệu Thử Tự Động Cho Chương Trình Java.doc
Phát Triển Công Nghiệp Huyện Điện Bàn Tỉnh Quảng Nam.doc
Phát Triển Kinh Tế Hộ Nông Dân Trên Địa Bàn Huyện Quảng Ninh, Tỉnh Quảng Bình...
Vận Dụng Mô Hình Hồi Quy Ngưỡng Trong Nghiên Cứu Tác Động Của Nợ Lên Giá Trị ...
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Cấu Trúc Vốn Của Doanh Nghiệp Ngành Hàng...
Nghiên Cứu Các Nhân Tố Ảnh Hưởng Đến Hiệu Quả Kinh Doanh Của Các Doanh Nghiệp...
Hoàn Thiện Công Tác Thẩm Định Giá Tài Sản Bảo Đảm Trong Hoạt Động Cho Vay Tại...
Biện Pháp Quản Lý Xây Dựng Ngân Hàng Câu Hỏi Kiểm Tra Đánh Giá Kết Quả Học Tậ...
Hoàn Thiện Công Tác Huy Động Vốn Tại Ngân Hàng Tmcp Công Thương Việt Nam Chi ...
Ánh Xạ Đóng Trong Không Gian Mêtric Suy Rộng.doc
Giải Pháp Hạn Chế Nợ Xấu Đối Với Khách Hàng Doanh Nghiệp Tại Ngân Hàng Thương...
Hoàn Thiện Công Tác Đào Tạo Đội Ngũ Cán Bộ Công Chức Phường Trên Địa Bàn Quận...
Giải Pháp Marketing Cho Dịch Vụ Ngân Hàng Điện Tử Tại Ngân Hàng Tmcp Hàng Hải...
Biện Pháp Quản Lý Công Tác Tự Đánh Giá Trong Kiểm Định Chất Lượng Giáo Dục Cá...
Kiểm Soát Rủi Ro Tín Dụng Trong Cho Vay Ngành Xây Dựng Tại Nhtmcp Công Thương...
Diễn Ngôn Lịch Sử Trong Biên Bản Chiến Tranh 1-2 -3- 4.75 Của Trần Mai Hạnh.doc

Recently uploaded (20)

PDF
TÀI LIỆU DẠY THÊM HÓA HỌC 12 THEO FORM THI MỚI BGD - TẬP 2 - NĂM HỌC 2025-202...
PDF
GIÁO TRÌNH ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG DẠY HỌC HÓA HỌC Ở TRƯỜNG PHỔ TH...
PDF
Bài giảng Xã hội học đại cương chuyên ngành
PDF
CĐHA GAN 1, Benh GAN KHU TRU, 04.2025.pdf
PPTX
GIỚI THIỆU SÁCH GIÁO KHOA TOÁN 4_CTST.pptx
PDF
dfmnghjkdh hỳh fhtrydr. ỷey rỷtu dfyy ỳy rt y y ytyr t rty rt
PDF
Bai giang tieng trung HSK4-BAI1 - zhenzhengdeaiqing
PPTX
THUÊ 2025 - CHƯƠNG 1 TỔNG QUANưqeqweqw.pptx
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY THỂ DỤC 12 BÓNG RỔ - KẾT NỐI TRI THỨC CẢ NĂM THEO CÔ...
PDF
Thong bao 128-DHPY (25.Ke hoach nhap hoc trinh do dai hoc (dot 1.2025)8.2025)...
PDF
FULL TN LSĐ 2024 HUIT. LICH SU DANGGGGGG
PDF
TỔNG QUAN KỸ THUẬT CDHA MẠCH MÁU.5.2025.pdf
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD LỚP 10 BÁM SÁT NỘI DUNG SGK - PH...
PDF
CHƯƠNG 2 ĐẠI CƯƠNG VỀ TIỀN TẸEEEEEEEEEEE
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY THỂ DỤC 11 BÓNG RỔ - KẾT NỐI TRI THỨC CẢ NĂM THEO CÔ...
PDF
Slide bài giảng môn Tâm lý Học Giao tiếp - Chủ đề Phong Cách Giao Tiếp
PDF
10 phương pháp rèn luyên tâm trí vững vàng • Sống Vững Vàng #1
PPTX
Vấn đề cơ bản của pháp luật_Pháp Luật Đại Cương.pptx
PPTX
Bai giảng ngữ văn Trai nghiem de truong thanh.pptx
PDF
BÀI GIẢNG POWERPOINT CHÍNH KHÓA THEO LESSON TIẾNG ANH 11 - HK1 - NĂM 2026 - G...
TÀI LIỆU DẠY THÊM HÓA HỌC 12 THEO FORM THI MỚI BGD - TẬP 2 - NĂM HỌC 2025-202...
GIÁO TRÌNH ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG DẠY HỌC HÓA HỌC Ở TRƯỜNG PHỔ TH...
Bài giảng Xã hội học đại cương chuyên ngành
CĐHA GAN 1, Benh GAN KHU TRU, 04.2025.pdf
GIỚI THIỆU SÁCH GIÁO KHOA TOÁN 4_CTST.pptx
dfmnghjkdh hỳh fhtrydr. ỷey rỷtu dfyy ỳy rt y y ytyr t rty rt
Bai giang tieng trung HSK4-BAI1 - zhenzhengdeaiqing
THUÊ 2025 - CHƯƠNG 1 TỔNG QUANưqeqweqw.pptx
GIÁO ÁN KẾ HOẠCH BÀI DẠY THỂ DỤC 12 BÓNG RỔ - KẾT NỐI TRI THỨC CẢ NĂM THEO CÔ...
Thong bao 128-DHPY (25.Ke hoach nhap hoc trinh do dai hoc (dot 1.2025)8.2025)...
FULL TN LSĐ 2024 HUIT. LICH SU DANGGGGGG
TỔNG QUAN KỸ THUẬT CDHA MẠCH MÁU.5.2025.pdf
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD LỚP 10 BÁM SÁT NỘI DUNG SGK - PH...
CHƯƠNG 2 ĐẠI CƯƠNG VỀ TIỀN TẸEEEEEEEEEEE
GIÁO ÁN KẾ HOẠCH BÀI DẠY THỂ DỤC 11 BÓNG RỔ - KẾT NỐI TRI THỨC CẢ NĂM THEO CÔ...
Slide bài giảng môn Tâm lý Học Giao tiếp - Chủ đề Phong Cách Giao Tiếp
10 phương pháp rèn luyên tâm trí vững vàng • Sống Vững Vàng #1
Vấn đề cơ bản của pháp luật_Pháp Luật Đại Cương.pptx
Bai giảng ngữ văn Trai nghiem de truong thanh.pptx
BÀI GIẢNG POWERPOINT CHÍNH KHÓA THEO LESSON TIẾNG ANH 11 - HK1 - NĂM 2026 - G...

Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS

  • 1. MỤC LỤC LỜI MỞ ĐẦU………………………………………………………………………...3 CHƯƠNG I : GIỚI THIỆU VÀ KHẢO SÁT HỆ THỐNG ………............................5 I.Giới thiệu về công ty………………………………………………………………..5 1. Quá trình hình thành và phát triển……………………………................................5 2. Chức năng, nhiệm vụ của các phòng ban………………………………………….6 II. Khảo sát hệ thống ………………………………………………………………..14 1.Tổng quan về hệ thống quản lý …………………………………………………...14 2.Chức năng và nhiệm vụ của hệ thống quản lý nhân sự …………………………...14 3.Yêu cầu của hệ thống và những khó khăn………………………………………...15 4.Những yêu cầu đặt ra đối với hệ thống mới……………………………………….15 CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG. ………………………..16 1. Các chức năng cơ bản của hệ thống: ……………………………………………..16 1.1> Quản lý hồ sơ :…………………………………………………………………16 1.2> Quản lý lương …………………………………………………………………16 1.3> Tra cứu,Tìm kiếm :…………………………………………………………….16 1.4> Báo cáo,Thống kê ……………………………………………………………..16 2. Biểu đồ phân cấp chức năng của hệ thống quản lý nhân sự/ lương:……………...17 2.1 Biểu đồ phân cấp chức năng…………………………………………………….17 2.2 Biểu đồ luồng dữ liệu mức khung cảnh…………………………………………17 2.3 Biểu đồ luồng dữ liệu mức đỉnh…………………………………………………18 2.3.1 Chức năng quản lý hồ sơ………………………………………………………19 2.3.2 Chức năng quản lý lương:……………………………………………………..19 2.3.3 Chức năng tra cứu tìm kiếm:…………………………………………………..19 2.3.4 Chức năng báo cáo, thống kê:…………………………………………………20 2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh tổng hợp…………………………………21 CHƯƠNG III: XÂY DỰNG CƠ SỞ DỮ LIỆU CỦA CHƯƠNG TRÌNH…………22 1.Cơ sở dữ liệu………………………………………………………………………22 2. Sử dụng Microsoft Access để tạo cơ sở dữ liệu cho chương trình……………….23 2.1 Lược đồ cấu trúc dữ liệu (LCD): ……………………………………………….24
  • 2. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 2 2.2 Thiết kế các file dữ liệu…………………………………………………………25 2.2.1 Bảng HoSoCanBo lưu trữ thông tin về nhân sự trong một cơ quan…………..25 2.2.2 Bảng lương lưu trữ thông tin về quá trình lao động của nhân sự…………….26 2.2.3 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty………………27 2.2.4 Bảng Thưởng lưu trữ thông tin về hệ số lương của công ty…………………..27 2.2.5 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty………………27 3. Dùng Microsoft Access để tạo bộ cơ sở dữ liệu………………………………….28 3.1 Mối quan hệ cho các bảng dữ liệu trong chương trình………………………….28 3.2 Relationships phân hệ Quản lý nhân sụ-tiền lương……………………………..28 4.Thiết kễ Module:…………………………………………………………………..29 4.1 Xây dựng lược đồ cấu trúc chương trình LCT:…………………………………29 4.1.1 Chỉnh sửa hồ sơ:………………………………………………………………29 4.1.2 Chấm công…………………………………………………………………….29 4.1.3 Tính lương:……………………………………………………………………30 4.1.4 Tra cứu:………………………………………………………………………..30 4.1.5 Thống kê báo cáo:……………………………………………………………..31 4.2 Đặc tả Module:…………………………………………………………………31 4.2.1 Cập nhật hồ sơ:………………………………………………………………..31 4.2.2 Tra cứu,Tìm kiếm:…………………………………………………………….32 CHƯƠNG IV: SỬ DỤNG NGÔN NGỮ LẬP TRÌNH VISUAL BASIC ĐỂ THIẾT KẾ CHƯƠNG TRÌNH. ………………………………………………...33 1.Ngôn ngữ lập trình Visual Basic…………………………………………………..33 2.Các đối tượng truy cập dữ liệu…………………………………………………….34 3. Sử dụng các đối tượng truy cập dữ liệu trong chương trình……………………...35 4. Các điều khiển giao diện người sử dụng………………………………………….39 5. Sử dụng các câu truy vấn (SQL)……………………………………………………….40 6. Cài đặt và chạy chương trình……………………………………………………..44 CHƯƠNG V: ĐÁNH GIÁ VÀ PHÁT TRIỂN ĐỀ TÀI ……………………………54 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN……………………………………55 XÁC NHẬN CỦA CƠ QUAN THỰC TẬP………………………………………..56 TÀI LIỆU THAM KHẢO…………………………………………………………..57 PHỤ LỤC……………………………………………………………………………58
  • 3. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 3 CODE CỦA CHƯƠNG TRÌNH…………………..…………………………...........58 LỜI MỞ ĐẦU. Ngày nay song song với quá trình phát triển công nghệ khoa học và kỹ thuật thì nghành khoa học tính toán đã đóng vai trò quan trọng, nó đã đạt được những thành tựu khoa học kỹ thuật rực rỡ với những bước tiến nhảy vọt.Việc áp dụng các công nghệ khoa học kỹ thuật vào lĩnh vực đời sống của con người ngày càng tăng và không ngừng can thiệp vào hầu hết các công việc trong đời sống. Công nghệ thông tin là một trong những ngành khoa học đó. Đi đôi với sự phát triển của công nghệ chế tạo các thiết bị máy tính thì việc các sản phẩm phần mềm ứng dụng ra đời có tính chất quyết định đối với việc áp dụng ngành khoa học này. Trên thế giới cũng như ở Việt Nam , công nghệ thông tin đã trở thành một ngành công nghiệp mũi nhọn, nó là một ngành khoa học kỹ thuật không thể thiếu trong việc áp dụng vào các hoạt động xã hội như: Quản lý, kinh tế, thông tin... Ở nước ta hiện nay , việc áp dụng vi tính hoá trong việc quản lý tại các cơ quan, xí nghiệp đang rất phổ biến và trở nên cấp thiết. Nhưng một vấn đề đặt ra trong việc quản lý là làm thế nào để chuẩn hoá cách xử lý dữ liệu ở các cơ quan, xí nghiệp, bởi trăm xí nghiệp, trăm cơ quan là trăm cách xử lý khác nhau, ở đây chúng tôi muốn đề cập tới tầm quan trọng của việc phân tích vấn đề trong quản lý ứng dụng vào vi tính. Đó cũng là một vấn đề còn nhiều hạn chế của đội ngũ nhân viên trong việc quản lý tại các cơ quan, xí nghiệp của ta. Một thực trạng dang diễn ra là các công ty thường mời các chuyên viên phần mềm vi tính về viết chương trình, nhưng họ không hiểu chương trình được viết như thế nào, hoặc ứng dụng được phân tích ra sao. Họ không biết làm gì ngoài việc ấn nút theo sự hướng dẫn của công ty phần mềm khi sử dụng chương trình họ viết. Khi muốn thay đổi nho nhỏ trong chương trình lại phải mời chuyên viên,vì người điều hành chỉ biết ấn nút mà thôi, mà những thay
  • 4. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 4 đổi này có thể khi phân tích vấn đề không ai để ý hoặc khách hàng quên khuấy không yêu cầu chuyên viên khắc phục trong chương trình. Sự hạn chế trong việc phân tích vấn đề, quản lý đã không phát huy hết tác dụng của máy tính. Với mong muốn giúp các bạn hiểu được tầm quan trọng của việc phân tích thiết kế một hệ thống thông tin tự động hoá trong lĩnh vực quản lý. Em đã cố gắng và mạnh dạn đưa ra một phương pháp phân tích thiết kế hệ thống trong bài toán quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS, đây cũng chỉ là một phương pháp trong nhiều phương pháp, nó có thể chưa được hoàn thiện nhưng cũng phần nào đấy giúp các bạn hiểu được vai trò của việc phân tích thiết kế trong bài toán quản lý nói chung. Mặc dù rất cố gắng để hoàn thành công việc, xong thời gian có hạn và kinh nghiệm kiến thức chưa nhiều nên việc phân tích thiết kế còn có nhiều thiếu xót cần được bổ xung . Vì vậy, e mong nhận được ý kiến đóng góp của thầy cô và bạn bè để đề tài ngày càng hoàn thiện hơn. Cuối cùng, em xin chân thành cảm ơn Ths. Nguyễn Thanh Hương giảng viên bộ môn công nghệ thông tin Trường Đại Học Kinh Tế Quốc Dân đã tận tình chỉ bảo hướng dẫn em hoàn thành đề tài này. Ngoài ra, e xin chân thành cám ơn quý công ty TNHH Minh Trí đã tạo điều kiện cho e thực tập tại công ty để e có thể hoàn thành được đề tài này.
  • 5. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 5 CHƯƠNG I GIỚI THIỆU VÀ KHẢO SÁT HỆ THỐNG I. Giới thiệu về công ty 1.Quá trình hình thành và phát triển Ngày 22/06/1995 UBND thành phố Hà Nội cấp giấy phép số 1906GP/UB quyết định thành lập công ty TNHH Minh Trí. Là một công ty may thêu chuyên sản xuất và xuất khẩu các mặt hàng may mặc bằng vải dệt kim. Sản phẩm của công ty đã có mặt ở khắp các thị trường trên thế giới như thị trường EU, Canada, Đức, Tiệp, Đài Loan, Nhật Bản, Hồng Kông, Trung Quốc,... đặc biệt là thị trường Mỹ. Trong 13 năm qua, công ty đã không ngừng hoàn thiện về cơ cấu tổ chức và bộ máy quản lý nhằm đáp ứng nhu cầu sản xuất của cán bộ công nhân viên trong công ty để luôn đạt mức tăng trưởng và kim ngạch xuất khẩu cao. Đồng thời tạo công ăn việc làm cho hàng nghìn lao động, nâng cao chất lượng đời sống cán bộ công nhân viên. Giới thiệu cụ thể: - Tên công ty: Công ty trách nhiệm hữu hạn Minh Trí - Tên giao dịch: Minh Tri Limited Company - Tên viết tắt: Minh Tri co.lmt - Trụ sở chính: Khu công nghiệp Vĩnh Tuy - Quận Hoàng Mai – Tp. Hà Nội - Hình thức hoạt động: sản xuất kinh doanh - Sản phẩm của công ty: chủ yếu là các sản phẩm từ vải dệt kim bao gồm quần, áo các loại. Có 2 dòng sản phẩm là: hàng cao cấp và hàng đại trà.
  • 6. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 6 - Kim ngạch xuất khẩu đạt: 24.344.000 USD (2006) - Sản lượng sản xuất đạt: 5.993.000 sản phẩm (2006) - Doanh thu đạt: 67 tỷ đồng - Số máy may:570 - Số dàn máy thêu: 4 - Thành tích đạt được: + Thành tích xuất khẩu do Bộ Thương mại tặng năm 2004 + Bằng khen của Liên đoàn quận Hoàng Mai về công tác tốt + Bằng khen của Sở Y tế Hà Nội về VSATTP và chăm sóc sức khoẻ ban đầu cho người lao động. + ...cùng nhiều bằng khen về công tác an ninh trật tự, công tác phòng cháy chữa cháy, bảo hiểm xã hội,... Tuy còn non trẻ nhưng công ty TNHH Minh Trí đã và đang khẳng định mình trên con đường hội nhập kinh tế quốc tế nói chung và ngành dệt may Việt Nam nòi riêng. 2.Chức năng, nhiệm vụ của các phòng ban trong công ty + Giám đốc: Là người đứng đầu công ty: - Chịu trách nhiệm trước Nhà nước và pháp luật về tất cả các hoạt động sản xuất kinh doanh của công ty. - Điều hành chung mọi hoạt động của các phòng ban trong công ty. - Chịu trách nhiệm chỉ đạo, bồi dưỡng và nâng cao chuyên môn, kỹ thuật và cải thiện đời sống cho cán bộ công nhân viên. - Kết hợp chặt chẽ với các phòng chức năng, các phòng nghiệp vụ của công ty tạo điều kiện cho các tổ chức, đoàn thể hoạt động theo đúng quy chế.
  • 7. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 7 - Trực tiếp phụ trách công tác cán bộ. + Phó giám đốc: Là trợ lý của giám đốc - điều hành công ty trong từng lĩnh vực: - Chịu trách nhiệm toàn bộ về mặt kỹ thuật, quân sự tự vệ, phụ trách về đào tạo kế hoạch tác nghiệp, theo dõi, đôn đốc sản xuất hàng trong các phân xưởng, theo dõi hiện trạng máy móc, thiết bị sản xuất. - Ký kết hợp đồng nội địa. - Liên doanh ký kết. - Mua bán vật tư, hàng hoá, nguyên vật liệu chính, phụ tùng thiết bị. - Kết hợp cùng phòng tài vụ kinh doanh thành phẩm, phế liệu, sửa chữa nhà xưởng. - Liên hệ điều tiết máy móc. + Phòng tổ chức lao động hành chính - Tham mưu giúp việc cho giám đốc trong lĩnh vực tổ chức cán bộ, đào tạo lao động tiền lương, các chế độ chính sách quản lý hành chính, phục vụ và bảo vệ. - Nghiên cứu, đề xuất biện pháp giúp giám đốc công ty chỉ đạo, hướng dẫn, kiểm tra, đôn đốc các đơn vị trong công ty thực hiện các chủ trương của giám đốc. - Tổng hợp, phân tích, báo cáo, thống kê các hoạt động thuộc lĩnh vực phòng quản lý để phục vụ công tác chung trong toàn công ty. - Nhiệm vụ: + Nghiên cứu, đề xuất các phương án tổ chức bộ máy quản lý, các đơn vị cho phù hợp với yêu cầu sản xuất kinh doanh, với cơ chế quản lý trong từng thời kỳ.
  • 8. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 8 + Phối hợp với các đơn vị liên quan tổng hợp các văn bản quy định chức năng, nhiệm vụ của các đơn vị. + Xây dựng nội quy, quy chế quản lý thuộc lĩnh vực quản lý và lao động để trình duyệt với giám đốc và ban hành trong công ty. + Hướng dẫn, đôn đốc các đơn vị thực hiện đúng nội quy, quy chế. + Quản lý hồ sơ, số lượng cán bộ công nhân viên trong toàn công ty, quản lý mọi vấn đề liên quan đến công tác tuyển dụng, bố trí, sử dụng, bổ nhiệm, đề bạt, miễn nhiệm, nâng bậc, khen thưởng, kỷ luật. + Giúp lãnh đạo công ty trong công cuộc xây dựng chương trình kế hoạch đào tạo, bồi dưỡng, nâng cao trình độ về mọi mặt cho đội ngũ cán bộ quản lý, cán bộ kỹ thuật chuyên môn nghiệp vụ và công nhân. + Giúp giám đốc công ty tổ chức việc nhận xét, đánh giá cán bộ định kỳ, bỏ phiếu tín nhiệm, thăm dò ý kiến cán bộ, công nhân viên, thực hiện đầy đủ, đúng quy định các vấn đề tổ chức cán bộ. + Giải quyết các thủ tục tuyển sinh, học nghề, tuyển dụng, ký kết hợp đồng lao động mới; các thủ tục cho cán bộ công nhân viên chuyển công tác hoặc thôi việc sau khi đã xin ý kiến của giám đốc. + Theo dõi, tổng hợp hợp đồng ký kết, gia hạn hợp đồng lao động cho cán bộ công nhân viên trong toàn công ty. + Công tác tiền lương: xây dựng và ban hành các nội quy, quy chế tiền lương thu nhập, chế độ bảo hiểm xã hội, thực hiện chính sách cho người lao động đúng quy định. + Thực hiện tốt công tác vệ sinh lao động, vệ sinh môi trường. + Thực hiện các công tác bảo vệ an ninh, trật tự an toàn, xây dựng lực lượng tự vệ vững mạnh.
  • 9. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 9 + Khám và phát hiện bệnh nghề nghiệp cho cán bộ công nhân viên mắc phải tại công ty, có kế hoạch phòng bệnh và điều trị. - Các công tác khác: + Công tác thống kê kế hoạch báo cáo. + Công tác hình thức, chuẩn bị đầy đủ hồ sơ hoàn thuế khi cần. + Xây dựng và tổ chức thực hiện kế hoạch quản lý hệ thống kho tàng, bảo quản hàng hoá. + Tổ chức việc nhập và xuất vật tư, nguyên phụ liệu từ kho đến các đơn vị liên quan đảm bảo đầy đủ, đúng quy định của công ty. + Thực hiện chế độ cấp phát sổ sách, luân chuyển giao nhận: chứng từ, chế độ kiểm kê, báo cáo. + Phòng quản lý đơn hàng: - Xây dựng và tiếp nhận đơn hàng. - Dịch đơn hàng, sau đó gửi lên các phòng ban sản xuất. + Phòng kế toán tài chính: - Chức năng: tham mưu, giúp việc cho giám đốc trong công tác kế toán tài chính nhằm sử dụng vốn hợp lý, đúng mục đích, đúng chế độ, đảm bảo cho quá trình sản xuất kinh doanh của công ty được duy trì liên tục và đạt hiệu quả kinh tế cao. - Nhiệm vụ: + Ghi chép, tính toán, phản ánh số liệu hiện có về tình hình luân chuyển và sử dụng tài sản, vật tư, vốn của công ty. Tình hình sử dụng các nguồn vốn phải phản ánh các chi tiết trong quá trình sản xuất và hoạt động sản xuất kinh doanh của công ty. Kiểm tra tình hình thực hiện kế hoạch sản xuất kinh doanh, kế hoạch thu chi tài chính.
  • 10. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 10 + Công tác tài chính:  Lập và chịu trách nhiệm trước giám đốc về số liệu báo cáo kế toán với cơ quan Nhà nước và cấp trên theo hệ thống mẫu biểu do Nhà nước quy định.  Lập kế hoạch tài chính, tính toán hiệu quả kinh tế do các dự án đầu tư (nếu có).  Tham mưu cho giám đốc về giá cả trong việc ký kết hợp đồng mua bán vật tư, hàng hoá với khách hàng.  Quản lý, tổ chức sử dụng vốn đúng mục đích và hiệu quả.  Thực hiện tốt chế độ tài chính của Nhà nước. + Công tác hoạch toán kế toán:  Thực hiện chế độ hoạch toán, kế toán thống nhất, theo dõi sổ sách.  Ghi chép tình hình cung ứng, quản lý vật tư, hàng hoá của công ty.  Hoạch toán chi phí nhập - xuất vật tư trong công ty đến các phân xưởng sản xuất.  Theo dõi việc mua sắm, sử dụng tài sản trong công ty. + Phòng kỹ thuật chất lượng: tham mưu, giúp việc cho giám đốc trong các lĩnh vực sau: - Kỹ thuật may cơ khí. - Lập kế hoạch thu mua nguyên phu liệu phục vụ cho sản xuất như thùng catton, túi nilon,... kế hoạch mua sắm các thiết bị cần dùng cho các đơn hàng sản xuất. - Tính định mức kỹ thuật, định mức sử dụng nguyên phụ liệu cho đơn hàng, định mức lao động và hao phí lao động.
  • 11. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 11 - Xây dựng các chỉ tiêu kỹ thuật, chất lượng sản phẩm, kiểm tra chất lượng sản phẩm đảm bảo theo đúng yêu cầu của khách hàng. - Triển khai, theo dõi việc thiết kế và sản xuất các loại sản phẩm mẫu. - Hướng dẫn theo dõi, đôn đốc và giúp đỡ các phân xưởng lập và thực hiện kế hoạch tu sửa thiết bị đầy đủ theo nội dụng bảo trì đã được giám đốc phê duyệt. - Tuyên truyền, giáo dục sức khoẻ trong lao động và sinh hoạt, chủ động phòng chống bệnh dịch theo mùa, phối hợp với các trung tâm y tế xử lý các ổ dịch được phát hiện và kịp thời báo cáo với cấp trên. - Khám và chữa bệnh, cấp phát thuốc điều trị tại chỗ cho cán bộ công nhân viên trong toàn công ty theo quy định của Bộ y tế ban hành, giải quyết cấp cứu tại chỗ cho cán bộ công nhân viên trong công ty. - Nghiên cứu đề ra các biện pháp, sáng kiến nhằm tiếp cận với phương pháp quản lý chất lượng tiên tiến, tác động kịp thời tới sản xuất, điều hành các đơn vị trong công ty về lĩnh vực kỹ thuật để thực hiện các nhiệm vụ giám đốc yêu cầu. + Phòng kế hoạch kinh doanh - xuất nhập khẩu: - Xây dựng và điều hành việc thực hiện kế hoạch sản xuất của công ty trong các kho do phòng quản lý theo dõi và quản lý vật tư, sản phẩm gia công ở các đơn vị khác. - Công tác tiêu thụ sản phẩm trong và ngoài nước, tiêu thụ phế liệu - Công tác nhập khẩu nguyên phụ liệu, máy móc, trang thiết bị, phụ tùng,... phục vụ sản xuất, đồng thời xuất khẩu các sản phẩm ra nước ngoài. - Căn cứ vào kế hoạch sản xuất hàng năm và các hợp đồng cụ thể đã ký kết, giao dịch nhận đơn hàng của khách hàng về số lượng, giá cả và thời gian giao nhận hàng.
  • 12. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 12 - Xây dựng kế hoạch sản xuất hàng tháng kể cả sản phẩm gia công trình giám đốc duyệt. - Xây dựng và tổ chức kế hoạch mua sắm nguyên phụ liệu cho sản xuất, đảm bảo đầy đủ, kịp thời nguyên phụ liệu phục vụ cho sản xuất, cho các đơn đặt hàng. Các mặt hàng mua về phải đảm bảo số lượng, chất lượng, giá cả. - Công tác nhập khẩu: trên cơ sở yêu cầu nhập khẩu nguyên phụ liệu của các đơn hàng được giám đốc phê duyệt, phòng kế hoạch kinh doanh - xuất nhập khẩu tiến hành giao dịch báo cáo và chuẩn bị hợp đồng nhập khẩu trình giám đốc. - Công tác nhập khẩu: thông báo kế hoạch sản xuất đến các đơn vị có liên quan, thường xuyên liên hệ với các phòng chức năng, các đơn vị khác theo dõi tiến độ sản xuất và giao hàng. - Xây dựng tiêu chuẩn cấp bậc công nhân các ngành nghế, tham gia tạo điều kiện, kiểm tra thi tay nghề cho các loại bậc thợ của công nhân theo quy định. Xây dựng các chỉ tiêu thi thợ giỏi của các ngành nghề trong toàn công ty. - Tổ chức khảo sát, xây dựng, ban hành các quy định về sử dụng vật tư nguyên liệu, các vật tư sử dụng có tính thường xuyên. Theo dõi việc thực hiện định mức của các đơn vị để có giải pháp và cùng với các đơn vị khắc phục các yếu kém trong quản lý định mức. - Công tác quản đốc: + Kiểm tra chất lượng nguyên phụ liệu chuẩn bị đưa vào sản xuất. Kiểm tra đánh dấu các mẫu chào hàng của khách hàng làm cơ sở ký kết hợp đồng mua bán nguyên phụ liệu với các phòng ban chức năng tạo cơ sở cho việc thiết kế công nghệ.
  • 13. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 13 + Thông báo đầy đủ, kịp thời các chỉ tiêu chất lượng đã đề ra, ghi dấu kiểm tra chất lượng đạt tiêu chuẩn chưa hoặc không đạt tiêu chuẩn cho các sản phẩm. + Quyết định bán thành phẩm lỗi, loại bỏ sản phẩm lỗi, hỏng, xấu khi ra khỏi chuyền sản xuất. + Tổ chức bồi dưỡng nghiệp vụ, nâng cao tay nghề cho công nhân thu hoá, nhân viên KCS. Qua khảo sát và đánh giá được các chức năng, nhiệm vụ của từng bộ phận phòng ban, e đã cố gắng xây dựng chương trình Quản lý cán bộ tiền lương để hỗ trợ cán bộ nghiệp vụ tiền lương trong công tác quản lý được thuận lợi. II. Khảo sát hệ thống. 1.Tổng quan về hệ thống quản lý Quản lý là cách biểu hiện một ý chí muốn biến đổi và thuần phục một tổng thể các hiện tượng. Đó là việc tạo ra các sự kiện, thay vì để cho các sự kiện xảy ra bộc phát. Đây không phải là sự lắp ráp các nhiệm vụ rời rạc mà là hoạt động phân biệt rõ ràng với các chức năng khác của tổ chức. Trong những năm trước đây khi máy tính chưa được sử dụng rộng rãi trong các hệ thống quản lý, các hệ thống quản lý này đều phải thực hiện theo phương pháp thủ công và hệ thống quản lý nhân sự cũng nằm trong số đó. 2.Chức năng và nhiệm vụ của hệ thống quản lý nhân sự Hệ thống quản lý nhân sự có chức năng thường xuyên thông báo cho ban lãnh đạo về các mặt công tác: tổ chức lao động, tiền lương, thi đua, chấm công, khen thưởng, kỷ luật... hệ thống này được đặt dưới sự chỉ đạo trực tiếp của giám đốc.
  • 14. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 14 Với chức năng như vậy, hệ thống quản lý nhân sự có nhiệm vụ luôn cập nhật hồ sơ cán bộ công nhân viên theo quy định, thường xuyên bổ xung những thông tin thay đổi trong quá trình công tác của cán bộ công nhân viên, việc theo dõi và quản lý lao động để chấm công và thanh toán lương cũng là nhiệm vụ quan trọng của hệ thống. Ngoài ra, công tác thống kê báo cáo tình hình theo yêu cầu của ban giám đốc cũng là nhiệm vụ không thể thiếu trong hệ thống quản lý cán bộ . 3.Yêu cầu của hệ thống và những khó khăn Trước một khối lượng lớn nhân viên cũng như các yêu cầu đặt ra thì việc quản lý theo phương pháp thủ công sẽ không thể đáp ứng được, do đó gặp rất nhiều khó khăn. Nó đòi hỏi phải có nhiều nhân lực, nhiều thời gian và công sức, mỗi nhân sự của cơ quan thì có một hồ sơ cho nên việc lưu trữ, tìm kiếm, bổ sung, sửa đổi để đáp ứng yêu cầu không phải là dễ dàng. Từ những nhược điểm trên ta thấy cần thiết phải có một hệ thống tin học hoá cho việc quản lý nhân sự cũng như các hệ thống quản lý khác. 4.Những yêu cầu đặt ra đối với hệ thống mới Cùng với sự phát triển của xã hội, công tác tổ chức quản lý cũng cần được đầu tư và phát triển để có thể đáp ứng tốt đuợc yêu cầu cũng như giúp cấp lãnh đạo thực hiện tốt các chủ trương chính sách đối với cán bộ công nhân viên chức. Trước hết để quản lý được một khối lượng nhân viên của một cơ quan, phải tổ chức tốt hệ thống lưu trữ hồ sơ để có thể đáp ứng được những yêu cầu : tiết kiệm chỗ, dễ tìm kiếm, dễ bổ xung sửa đổi. Hệ thống quản lý mới phải khắc phục được những nhược diểm của hệ thống cũ, ngoài ra hệ thống mới phải có khả năng phát hiện lỗi và xử lý kiểm tra tính đúng đắn của dữ liệu ngay từ khi cập nhật.
  • 15. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 15 CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1. Các chức năng cơ bản của hệ thống: 1.1>Quản lý hồ sơ : + Cập nhật hồ sơ. + Lưu trữ hồ sơ. 1.2>Quản lý lương : + Chấm công cho nhân sự . + Tính lương cho nhân sự dựa trên bảng chấm công . 1.3> Tra cứu,Tìm kiếm : + Tra cứu theo hồ sơ lý lịch. + Tra cứu theo lương. + Tra cứu theo các số liệu tổng hợp. 1.4> Báo cáo,Thống kê + Thống kê Báo cáo về trình độ người lao động trong đơn vị. + Thống kê Báo cáo về mức thu nhập chung của nhân sự trong đơn vị. 2. Biểu đồ phân cấp chức năng của hệ thống quản lý nhân sự / lương:
  • 16. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 16 2.1 Biểu đồ phân cấpchức năng 2.2 Biểu đồ luồng dữ liệu mức khung cảnh Biểu đồ luông dữ liệu mức khung cảnh cho ta cái nhìn khái quát về quá trình hoạt động của hệ thống. Giải thích sơ bộ: Tác nhân ngoài Nhân sự sẽ đưa thông tin của bản thân vào cho hệ thống cập nhật và xử lý. Tác nhân ngoài Ban lãnh đạo đưa các yêu cầu cho hệ thống và nhận được các báo cáo và kết quả trả lời từ hệ thống. Hệ thống quản lý nhân sự /lương Thông tin yêu cầu Biểu Báo Thông tin cá nhân Nhân sự Ban Lãnh Đạo Quản lý nhân sự / lương Quản lý hồ sơ Quản lý lương Tra cứu, Tìm kiếm Báo cáo, Thống kê Cập nhật hồ sơ Lưư trữ hồ sơ Chấm công Tính lương Tổng hợp lương Tra cứu theo lý lịch Tra cứu theo SL tổng hợp Tra cứu theo lương Trình độ Mức thu nhập
  • 17. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 17 2.3 Biểuđồ luồng dữ liệumức đỉnh Báo cáo, Thống kê Nhân sự Tra cứu, Tìm kiếm Ban lãnh đạo Hồ sơ Lương Quản lý lương Quản lý hồ sơ Hồ sơ lưu Chấm công Yêu cầu Báo biểu Yêu cầu Báo cáo Ngày công Mức lương Thông tin nhân sựThông tin nhân sự Lưu trữ Thông tin cá nhân Lưu trữ Cập nhật Cấp thông tin Thông tin ns
  • 18. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 18 Giải thích: - Khi thông tin về nhân sự được chuyển vào hệ thống, chức năng Quản lý hồ sơ sau khi phân loại và xử lý sẽ đưa thông tin vào kho Hồ sơ và Hồ sơ lưu. Chức năng Quản lý lưong thực việc chấm công và tình lương cho nhân sự sau đó đưa thông tin về kho bảng lương, bảng chấm công. Chức năng Tra cứu, Tìm kiếm nhận các thông tin yêu cầu đòi hỏi từ hệ thống và tác nhân ngoài Ban lãnh đạo, nó tiến hành xử lý và tìm kiếm trong các kho dữ liệu và trả về kết quả. Chức năng Báo cáo, thống kê nhận yêu cầu từ tác nhân ngoài Ban lãnh đạo sau khi xử lý nó đưa ra các báo biểu. 2.3.1 Chức năng quản lý hồ sơ Giải thích: - Thông tin của nhân sự được đưa vào hệ thống chức năng Quản lý hồ sơ sẽ phân loại: + Nếu đó là thông tin thông báo nhân sự nghỉ hưu, chết hoặc lý do nào đó không làm việc trong cơ quan nữa nhưng có những thông tin liên quan đến đơn vị, thì chuyến cho chức năng Lưu trữ hồ sơ đưa thông tin về kho Hồ sơ lưu. +Các thông tin khác chuyển cho chức năng Cập nhật hồ sơ xử lý sau đó đưa thông tin về kho Hồ sơ. Nếu như thông tin thông báo về hồ sơ của Nhân sự Thông tin cá nhân Lưu trữ Cập nhật hồ sơ Hồ sơ lưu 1.1 Lưu trữ hồ sơ 1.2 Hồ sơ Cập nhật
  • 19. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 19 một nhân sự trong hệ thống có sự thay đổi thì sửa đổi cho phù hợp, sau khi sửa đổi cho phù hợp sẽ được đưa về kho “hồ sơ”. 2.3.2 Chức năng quản lý lương: Giải thích: - Chức năng Chấm công sẽ thực hiện việc chấm công cho nhân sự theo tháng và nó nhận được một số thông tin từ tác nhân ngoài Nhân sự như: Đơn xin nghỉ, Quết định công tác.v.v... Chức năng Tính lương lấy số liệu từ kho Chấm công và kho Hồ sơ để tính lương cho Nhân sự theo từng tháng, sau đó đưa vào kho Lương. 2.3.3 Chức năng tra cứu tìm kiếm: Giải thích: - Chức năng Tra cứu, Tìm kiếm sẽ nhận được các thông tin yêu cầu từ hệ thống và tác nhân ngoài Ban lãnh đạo. Nó thực hiện phân loại thông tin. Tuỳ thuộc vào thông tin yêu cầu về hồ sơ lý lịch, lương...nó sẽ tiến hành tra cứu tìm kiếm trong các kho tương ứng. Ngày công Nhân sự Chấm công Đơn xin nghỉ 2.1 Tính lương Lương 2.2 Bảng chấm công Hồ sơ Thông tin về nhân sự Ban lãnh đạo Hồ sơ lưu Hồ sơ Bảng lương Mức lương Các yêu cầu Tra cứu, tìm kiếm
  • 20. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 20 2.3.4 Chức năng báo cáo, thống kê: Giải thích: Khi nhận được các thông tin yêu cầu, chức năng Báo cáo thống kê sẽ tiến hành phân loại thông tin và xác định lấy dữ liệu ở kho nào để xử lý. Sau đó nó đưa ra các Báo Biểu 2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh tổng hợp Báo cáo, thống kê Ban lãnh đạo Hồ sơ lưu Hồ sơ Bảng lương Mức lương Các yêu cầu Báo biểu Cập nhật hồ sơ Chấm công Tính Lương Hồ sơ Bảng lươngBảng chấm côngNhân sự Đơn xin nghỉ. quyết định công tác … Thông tin về NS Cập nhật Thông tin cá nhân Thông tin tiền lương Lưu trữ Mức lương Ngày công Cấp thông tin Thông tin NS Thông tin NS
  • 21. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 21 CHƯƠNG III XÂY DỰNG CƠ SỞ DỮ LIỆU CỦA CHƯƠNG TRÌNH 1. Cơ sở dữ liệu Cơ sở dữ liệu là một kho chứa thông tin, có nhiều loại cơ sở dữ liệu, trong đó phổ biến nhất hiện nay là CSDL quan hệ. Một CSDL quan hệ  Chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng (mẫu tin), cột (trường).  Cho phép lấy về (hay truy vấn) các tập hợp dữ liệu con từ bảng.  Cho phép nối các bảng với nhau cho mục đích truy cập các mẫu tin liên quan với nhau chứa trong các bảng khác nhau. Bộ máy (Engine) cơ sở dữ liệu Chức năng cơ bản của một CSDL được cung cấp bởi một bộ máy CSDL, là hệ thống chương trình quản lý cách thức chứa và trả về dữ liệu. Bảng và trường Báo cáo, thống kê Lưu trữ hồ sơ Tra cứu tìm kiếm Ban lãnh đạoHồ sơ lưu Lưu trữ Thông tin nhân sự Báo biểu Yêu cầu Yêu cầu Thông tin nhân sự
  • 22. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 22 Các CSDL được cấu tạo từ các bảng dùng thể hiện các phân nhóm dữ liệu. Bảng chứa các mẫu tin là các mẫu dữ liệu riêng rẽ bên trong phân nhóm dữ liệu. Mẫu tin chứa các trường, mỗi trường thể hiện một bộ phận dữ liệu trong một mẫu tin. RecordSet Khi tạo bảng cần nắm được cách thao tác với các bảng. Thao tác với các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng như việc kiểm tra và sữa đổi cấu trúc bảng. Thao tác dữ liệu trong một bảng ta dùng Recordset. RecordSet là một cấu trúc dữ liệu thể hiện một tập hợp con các mẫu tin lấy về từ CSDL. Mối quan hệ Khóa chính : một trường được chỉ ra là khóa chính của bảng phục vụ cho việc xác định duy nhất mẫu tin. Khóa ngoại : là khóa trong bảng liên quan chứa bản sao của khóa chính của bản chính. Mối quan hệ : là một cách định nghĩa chính thức hai bảng liên hệ với nhau như thế nào. Khi định nghĩa một mối quan hệ, tức đã thông báo với bộ máy CSDL rằng hai trường trong hai bảng liên quan được nối với nhau. Hai trường liên quan với nhau trong một mối quan hệ là khóa chính và khóa ngoại. Ngoài việc ghép các mẫu tin liên quan trong những bảng riêng biệt, mối quan hệ còn tận dụng thế mạnh của tính toàn vẹn tham chiếu, một thuộc tính của bộ máy CSDL duy trì các dữ liệu trong một CSDL nhiều bảng luôn luôn nhất quán. Khi tính toàn vẹn tham chiếu tồn tại trong một CSDL, bộ máy CSDL sẽ ngăn cản khi xóa một mẫu tin khi có các mẫu tin khác tham chiếu đến nó trong CSDL.
  • 23. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 23 Hồ sơHesoluong Lương sơ LoaiThuong 2. Sử dụng Microsoft Access để tạo cơ sở dữ liệu cho chương trình Microsoft Access có giao diện tinh xảo và dễ dùng để tạo các đối tượng CSDL. 2.1 Lược đồ cấu trúc dữ liệu (LCD): PhuCap MucPhuCap TienPhuCap Heso TienTuongUng Macb Họ tên Ngày sinh Nơi sinh Giới tính Quê quán Dân tộc Trình độ Chức vụ Hệ số lương Ngày vào biên chế Macb Hesoluong LoaiThuong MucPhucap SongayNghi Luong Tạm ứng Conlai KyNhan Heso TienTuongUng
  • 24. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 24 2.2 Thiết kế các file dữ liệu 2.2.1 Bảng HoSoCanBo lưu trữ thông tin về nhân sự trong một cơ quan: STT Tên trường Kiểu Độ rộng Giải thích 1 MaNS Text 10 Mã nhân sự 2 HoTen Text 30 Họ và tên nhân sự 3 NgaySinh Text 10 Ngày sinh 4 NoiSinh Text 20 Nơi sinh 5 GioiTinh Text 5 Giới tính 6 DanToc Text 20 Dân tộc 7 NoiOHienNay text 30 Nơi ở hiện nay 8 Phong Text 15 phòng 9 ChucVu Text 15 chức vụ 10 TrinhDo Text 15 Trình độ 11 ChuyenMon Text 25 Chuyên môn 12 NgayBC Date 8 Ngày biên chế 2.2.2 Bảng lương lưu trữ thông tin về quá trình lao động của nhân sự:
  • 25. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 25 Stt Tên trường Kiểu Độ rộng Giải thích 1 Macb Text 10 Mã nhân sự 2 Hesoluong currantcy 4 Tháng lao động 3 LoaiThuong Text 15 Loại thưởng của cán bộ 4 MucPhuCap text 15 Mức phụ cấp 5 SoNgayNghi Number 2 Số ngày nghỉ trong tháng 6 Luong currentcy 10 Số ngày nghỉ trong tháng 7 TamUng currentcy 10 Tiền đã tạm ứng 8 ConLai currentcy 10 Số Lương còn lại 6 KyNhan text 5 Ký nhận đã nhận đủ 2.2.3 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty:
  • 26. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 26 STT Tên trường Kiểu Độ rộng Giải thích 1 Heso Currentcy 6 Hệ số lương 2 TienTuongUng Currentcy 10 Tiênd tương ứng với hệ số 2.2.4 Bảng Thưởng lưu trữ thông tin về hệ số lương của công ty: STT Tên trường Kiểu Độ rộng Giải thích 1 Loaithuong Currentcy 6 Loại thưởng 2 TienThuong Currentcy 10 Tiền thưởng tương ứng 2.2.5 Bảng HesoLuong lưu trữ thông tin về hệ số lương của công ty: STT Tên trường Kiểu Độ rộng Giải thích 1 MụchuCap Text 10 Mức phụ cấp 2 TienTuongUng Currentcy 10 Tiền phụ cấp tương ứng 3. Dùng Microsoft Access để tạo bộ cơ sở dữ liệu
  • 27. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 27 Cơ sở dữ liệu cho chương trình Quản lý nhân sự-tiền lương. 3.1 Mối quan hệ cho các bảng dữ liệu trong chương trình 3.2 Relationships phân hệ Quản lý nhân sụ-tiền lương 4.Thiết kễ Module: 4.1 Xây dựng lược đồ cấu trúc chương trình LCT: 4.1.1 Chỉnh sửa hồ sơ:
  • 28. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 28 4.1.2 Chấm công 4.1.3 Tính lương: 4.1.4 Tra cứu: Cập nhật hồ sơ Xác định chức năng Ghi lại Thêm hồ sơ Lưu hồ sơ Sửa đổi hồ sơ Thông tin nhân sự Thông tin nhân sựThông tin nhân sự Thông tin nhân sự Chấm công Ngày công được chấm Quy ra công Công hưởng lương thời gian Công hưởng % lương Công hưởngBHXH Tính lương Tính lương cơ bản Lên bảng lương Tính lương phụ cấp Ngày công LPC LCB LCB Tên LPC LCB
  • 29. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 29 4.1.5 Thống kê báo cáo: 4.2 Đặc tả Module: 4.2.1 Cập nhật hồ sơ: Tra cứu,Tìm kiếm Xác định câu hỏi vào Kết quả Tra cứu theo hồ sơ Tra cứu theo lương Tra cứu theo số liệu TH Yêu cầu YC Kết quả KQ YC KQ KQ YC Kết quả Input: thông tin về nhân sự Dời khỏi cơ quan? Lưu hồ sơ Mới vào cơ Begin Y Y N Thống kê báo cáo Thống kê về trình độ Báo BiểuThống kê về mức lương
  • 30. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 30 4.2.2 Tra cứu,Tìm kiếm: Input: Các thông tin yêu cầu Yêu cầu TT về NS? Tìm câu trả lời trong kho hồ sơ Hỏi về lương? Tìm câu trả lời trong kho lương Tìm câu trả lời trong các kho còn lại Kết quả End Begin Y Y N N
  • 31. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 31 CHƯƠNG IV: SỬ DỤNG NGÔN NGỮ LẬP TRÌNH VISUAL BASIC ĐỂ THIẾT KẾ CHƯƠNG TRÌNH 1. Ngôn ngữ lập trình Visual Basic Visual Basic có rất nhiều tính năng mới. Các điều khiển mới cho phép viết các chương trình ứng dụng kết hợp giao diện, cách xử lý và tính năng của Microsoft Office 97 và trình duyệt Web Internet Explorer, không nhất thiết phải có một bản sao của điều khiển trên biểu mẫu. Visual Basic cho phép :  Lập trình để thêm điều khiển vào đề án tự động và có thể tạo ra các điều khiển Activex hiệu chỉnh.  Viết các chương trình ứng dụng phía máy chủ (Server side) dùng HTML động nhúng kết nối với các thư viện liên kết động của Internet Information Server.  Một vài cải tiến cho phép làm việc với các ứng dụng truy cập dữ liệu ở tầm cỡ vĩ mô liên quan đến hàng trăm, hàng nghìn người sử dụng qua mạng hay qua Internet. Visual Basic cung cấp các đối tượng dữ liệu Activex cho phép kết nối với các tập tin cơ sở dữ liệu. Ngoài các điều khiển Activex Visual Basic còn có một bộ công cụ và kỹ thuật mới giúp truy cập dữ liệu dễ dàng hơn. Trình thiết kế môi trường dữ liệu cho phép xem xét và thao tác dữ liệu trong CSDL khác
  • 32. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 32 nhau. Bởi vì bản thân môi trường dữ liệu là những đối tượng, có thể sử dụng chúng như một điều khiển dữ liệu. Thậm chí có thể gắn nó với các điều khiển khác. Visual Basic cung cấp một vài điều khiển dữ liệu mới cho phép tận dụng các thế mạnh của điều khiển dữ liệu ADO. Điều khiển DataGrid cho phép xem dữ liệu dưới dạng bảng gồm các dòng và cột. DataList và DataCombo tương tự như DBList và DBCombo, có thể dùng chúng để lấy một danh sách dữ liệu từ điều khiển ADO trong cấu hình hộp danh sách (ListBox) hoặc hộp kết hợp (ComboBox). Visual Basic mở rộng khả năng báo cáo với trình báo cáo dữ liệu cho phép tạo, xem trước, và in các báo cáo trong Visual Basic tương tự như Access và có thể lấy các điều khiển báo cáo từ hộp công cụ báo cáo dữ liệu mới và đưa vào biểu mẫu báo cáo dữ liệu. 2. Các đối tượng truy cập dữ liệu Dynamic Data Exchange (DDE) : Trao đổi dữ liệu động Cho phép các các ứng dụng chia sẽ thông tin với nhau trong lúc thi hành. Cớ chế giao tiếp là một ứng dụng sẽ gửi dữ liệu vào một vùng được quy định sẵn bởi một ứng dụng khác. Tuy nhiên, người lập trình phải thiết lập mọi thứ cho giao tiếp trao đổi dữ liệu nên cách thực hiện theo DDE rất phức tạp. Object Linking and Embedding (OLE) : Nhúng và kết nối đối tượng OLE tuân thủ triết lý của Windows (Click chuột, kéo và thả). OLE có thể kéo dữ liệu từ ứng dụng này và thả vào ứng dụng khác. OLE có hai kỹ thuật :  Khởi động tại chổ (In-place activation) : Một dữ liệu được tạo ra bởi ứng dụng 1 và được thả vào ứng dụng 2. Nhấn Double click chuột lên dữ liệu ở ứng dụng 2 nó sẽ hoạt động giống như ở ứng dụng 1.
  • 33. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 33  Tự động hóa (Automation) : áp dụng khả năng tái sử dụng đối tượng và tận dụng triệt để các thế mạnh của các đối tượng. Activex Activex là thế hệ sau của OLE. Nên Activex chứa đựng tất cả tính năng của OLE và được bổ sung thêm nhiều chức năng khác như cho phép việc sử dụng các đoạn chương trình có sẵn mà không cần quan tâm chúng có nguồn gốc từ đâu hay hoạt động như thế nào. 3. Sử dụng các đối tượng truy cập dữ liệu trong chương trình Điều khiển DAO (Data Access Objects) Cho phép thi hành các câu truy vấn, cập nhật giá trị trong các bảng cơ sở dữ liệu và tạo cấu trúc cơ sở dữ liệu bao gồm các bảng, các câu truy vấn chứa sẵn và mối quan hệ giữa các bảng. Ưu điểm : Giao diện lập trình của DAO vô cùng mạnh mẽ và dễ sử dụng. Với các cơ sở dữ liệu Jet của Microsoft, DAO cho phép truy cập các tính năng không có sẵn trong SQL hay ADO (Đối tượng dữ liệu Activex – Activex Data Object). DAO có thể sử dụng để truy cập các cơ sở dữ liệu trên máy cá nhân hay Client/Server. Khuyết điểm : Mô hình đối tượng DAO khá phức tạp Thông qua các tập hợp sở hữu đối tượng Database có thể thao tác trên dữ liệu và cấu trúc của một cơ sở dữ liệu, tạo các đối tượng cơ sở dữ liệu mới, kiểm tra cấu trúc và dữ liệu chứa trong một cơ sở dữ liệu. Trong lập trình DAO, có một tập hợp cốt lõi gồm các kỹ thuật thông dụng được sử dụng gần như cho mọi chương trình, bao gồm :  Thi hành câu truy vấn SELECT để lấy về các dữ liệu từ cơ sở dữ liệu.  Duyệt qua từng mẫu tin trong một RecordSet
  • 34. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 34  Thi hành câu truy vấn hành động (bao gồm các câu truy vấn Update, Delete, Append)  Sữa đổi cấu trúc cơ sở dữ liệu  Xử lý lỗi phát sinh bởi truy cập cơ sở dữ liệu. Điều khiển ADODC (Microsoft ADO Data Control 6.0 (OLEDB) ) Visual Basic cung cấp các đối tượng dữ liệu ActiveX (ActiveX Data Object - ADO). ADO tổng hợp và thay thế việc truy cập dữ liệu của DAO (Đối tượng truy cập dữ liệu – Data Access Object) và RDO (Đối tượng dữ liệu từ xa – Remote Data Object). ADO là công nghệ truy cập cơ sở dữ liệu hướng đối tượng tương tự như DAO và RDO,ø giao diện dựa trên đối tượng cho công nghệ dữ liệu OLEDB. Ngoài ra, ADO dễ sử dụng và có tầm hoạt động rộng hơn dùng để kết nối với các tập tin cơ sở dữ liệu và có thể truy cập dữ liệu từ xa. ADO được xem là kỹ thuật để truy cập cơ sở dữ liệu từ Web Server. Bởi vì ADO được cung cấp dưới dạng thư viện Activex Server (tương tự DAO và RDO), nên rất thuận lợi dùng trong ứng dụng Visual Basic. Trong thực tế, bằng nhiều cách đã chứng minh rằng sử dụng ADO để làm việc với cơ sở dữ liệu Client/Server thì dễ hơn các kỹ thuật khác. Phần lớn các nhà lập trình Visual Basic không tương tác trực tiếp với OLEDB. Thay vào đó, họ lập trình với ADO, mô hình đối tượng cung cấp giao diện với OLEDB. Khi dùng ADO thì chỉ cần lập trình với phần giao diện người sử dụng ở phía Client. Bởi vì việc truy cập dữ liệu trên cả trình duyệt Wed và ứng dụng Visual Basic được chuyển hết về phía Activex Server nên logic chương trình luôn nhất quán, bất kể loại ứng dụng nào đang được sử dụng. Client Application Remote Data Objects Activex Data Objects Client Workstation
  • 35. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 35 Client Application Activex Data Objects OLEDB ODBC Provider ODBC Driver Client Workstation ODBC Driver Manager
  • 36. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 36 Cấu trúc này cho phép dùng thành phần lập trình Activex thông dụng trên cả trình duyệt Wed và ứng dụng Client Visual Basic. 4. Các điều khiển giao diện người sử dụng  Điều khiển nội tại (Hoạt động với mọi ấn bản của Visual Basic) Các điều khiển này đều có thể trực tiếp nối kết với một trường trong một cơ sở dữ liệu thông qua một điều khiển dữ liệu hoặc nguồn dữ liệu khác như trình thiết kế DataEnvironment. Kết nối vớichứa Kết nối vớiBiểu mẫu VB Các thuộc tính DataSource, DataField của điều khiển ràng buộc dữ liệu Các thuộc tính ConnectionString, RecordSource của điều khiển ADO Data Cơ sở dữ liệu Cách thức của điều khiển ADO Data kết nối với cơ sở dữ liệu trong ứng dụng
  • 37. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 37 Nhập dữ liệu với điều khiển TEXTBOX : Dùng sữa đổi dữ liệu kiểu chuỗi và kiểu số từ một cơ sở dữ liệu. Ràng buộc vào trình thiết kế DataEnvironment : Là khả năng tạo một giao diện người sử dụng ràng buộc dữ liệu. Bởi vì có thể chia sẽ trình thiết kế DataEnvironment qua nhiều biểu mẫu và nhiều ứng dụng, điều này sẽ cho tất cả các tính năng và sự dễ dàng lập trình trong một ứng dụng ràng buộc dữ liệu bởi vì không cần ràng buộc từng điều khiển riêng rẽ với nguồn dữ liệu. Truy cập giá trị Boolean với điều khiển CHECKBOX : dùng CheckBox để hiển thị một giá trị True hay False từ một trường trong một cơ sở dữ liệu. Sử dụng điều khiển LISTBOX để hiển thị dữ liệu : dùng ListBox để hiển thị các phần tử trong một danh sách chọn lựa dành cho người sử dụng. Nhưng khi sử dụng ListBox để hiển thị dữ liệu từ một cơ sở dữ liệu vẫn có một số hạn chế về lượng dữ liệu dùng để chứa và hiển thị. TabControl : Làm cho các chức năng của chương trình nằm gọn trên một form.  Điều khiển Activex (Là những thành phần bổ sung cho bản Professional và Enterprise của Visual Basic) Khác với các điều khiển giao diện người sử dụng, các điều khiển này không được cung cấp bởi hệ điều hành. Thay vào đó, ta phải phân phát điều khiển bổ sung vào các máy tính của người sử dụng để ứng dụng có thể sử dụng chúng. Sử dụng điều khiển DataGrid : DataGrid có khả năng hiển thị dữ liệu dưới dạng dòng, cột khi ràng buộc với điều khiển ADO Data hay trình thiết kế DataEnvironment. Sử dụng điều khiển DataList và DataCombo : Điều khiển DataList và DataCombo là những điều khiển sao chép lại các chức năng của điều khiển DBList. DataList cung cấp danh sách các chọn lựa, DataCombo dùng nối kết
  • 38. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 38 dữ liệu nhập vào điều khiển với một trường trong cơ sở dữ liệu, cả hai đều tương thích với DAO Data và ADO Data mới. 5. Sử dụng các câu truy vấn (SQL) Một câu truy vấn là một lệnh cơ sở dữ liệu để lấy về các mẩu tin. Sử dụng câu truy vấn, có thể lấy dữ liệu từ một hoặc nhiều trường trong một hay nhiều bảng. Ngoài ra, còn có thể ép các dữ liệu lấy về theo một hoặc nhiều ràng buộc, gọi là các tiêu chí để hạn chế số lượng dữ liệu lấy về. SQL là giải pháp chuẩn để thao tác với cơ sở dữ liệu. Nó được thực hiện theo nhiều dạng khác nhau trong các hệ thống cơ sở dữ liệu quan hệ, bao gồm Access và SQL Server Các câu truy vấn SQL cho khả năng lấy về các mẩu tin từ một bảng cơ sở dữ liệu, đối chiếu các dữ liệu quan hệ với nhau trong nhiều bảng và thao tác với cấu trúc của cơ sở dữ liệu. Các kiểu truy vấn SQL nhất định có thể điền dữ liệu vào một điều khiển dữ liệu. Trong chương trình, các câu truy vấn SQL được dùng khi thao tác với các cơ sở dữ liệu thông qua sử dụng mô hình đối tượng DAO, RDO và ADO. Lợi ích khi dùng SQL Theo kinh nghiệm trong Visual Basic, bất cứ chổ nào dùng một tham chiếu đến một bảng, đều có thể thay thế bằng cách sử dụng một câu lệnh SQL hoặc một tham chiếu đến một truy vấn đã lưu trữ nhưng bản thân nó vẫn dựa vào một câu lệnh SQL. Nơi thích hợp nhất để đặt một câu lệnh SQL, dựa trên các kỹ thuật truy cập dữ liệu, là thuộc tính RecordSource của một điều khiển dữ liệu. Vì vậy, thay vì chỉ ra thuộc tính RecordSource là tên của một bảng, có thể đổi thuộc tính này thành tên của một câu truy vấn chứa sẵn hay một câu lệnh SQL như : SELECT * FROM TEN_BANG ORDER BY KEY. Điều này cho ta sự linh hoạt đáng kể khi chọn lựa một nguồn mẩu tin.
  • 39. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 39 Sử dụng câu lệnh SQL trong các ngữ cảnh khác nhau của chương trình  Tham số Source của phương thức OpenRecordSet của đối tượng DataBase của DAO được sử dụng phổ biến nhất khi truy vấn các mẩu tin từ một cơ sở dữ liệu Access.  Sử dụng thuộc tính Source của một đối tượng RecordSet của ADO. Sử dụng câu lệnh SELECT để lấy về các mẩu tin Câu lệnh SELECT là cốt lõi của mọi truy vấn lấy về dữ liệu. Nó thông báo cho bộ máy cơ sở dữ liệu những trường nào sẽ được lấy về. Dạng thông dụng nhất của câu lệnh SELECT là : SELECT * Mệnh đề có ý nghĩa là “trả về tất cả các trường tìm thấy trong nguồn mẩu tin chỉ định”. Dạng lệnh này rất tiện dụng vì không cần biết tên của trường để lấy chúng về từ một bảng. Tuy nhiên, lấy về tất cả các cột trong một bảng có thể không hiệu quả, nhất là trong trường hợp mà ta chỉ cần 2 cột mà truy vấn của ta trả về quá nhiều. Vì vậy, ngoài việc thông báo cho bộ máy cơ sở dữ liệu để trả về tất cả các trường trong nguồn mẩu tin, ta còn có khả năng chỉ ra chính xác trường nào cần lấy về. Hiệu ứng lọc bớt này cải tiến hiệu quả của một truy vấn, nhất là trên bảng lớn có nhiều trường trong chương trình, bởi vì trong chương trình ta chỉ cần lấy về trường nào cần thiết. Sử dụng mệnh đề FROM để chỉ nguồn mẩu tin Mệnh đề FROM làm việc với câu lệnh SELECT để trả về các mẩu tin trong bảng, ví dụ : SELECT * FROM TEN_BANG . Vì một câu truy vấn SELECT FROM không xếp theo thứ tự nên thứ tự trả về là không xác định. Để câu truy vấn có hiệu quả, cần phải giới hạn số trường lấy về bằng cách sử dụng mệnh đề WHERE. Sử dụng mệnh đề WHERE để chỉ ra tiêu chí lọc
  • 40. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 40 Mệnh đề WHERE thông báo với bộ máy cơ sở dữ liệu để giới hạn số mẩu tin trả về theo một hay nhiều tiêu chí lọc do người lập trình cung cấp. Kết quả trả về của tiêu chí lọc là TRUE/FALSE. 6. Cài đặt và chạy chương trình Frm.MDImain : Màn hình giao diện chính của chương trình
  • 41. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 41 Frm.phucap: Màn hình nhập thông tin phụ cấp
  • 42. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 42 Frm.nhapheso : Màn hình nhập hệ số lương
  • 43. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 43 Frm.thuong: Màn hình nhập loại thưởng
  • 44. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 44 Frm.hosocb: Màn hình nhập hồ sơ cán bộ
  • 45. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 45 Frm.luong: Màn hình nhập lương cho cán bộ
  • 46. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 46 Frm.tracuucb: Màn hình tra cứu cán bộ
  • 47. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 47 Frm.xemhoso: Màn hình hiện thị xem hồ sơ cán bộ
  • 48. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 48 Frm.tracuuluong: Màn hình tra cứu lương cán bộ
  • 49. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 49 Frm.xemluong: Màn hình hiển thị xem lương cán bộ CHƯƠNG V: ĐÁNH GIÁ VÀ PHÁT TRIỂN ĐỀ TÀI Quá trình khảo sát, thực hiện và hoàn thành đề tài, thì chương trình đã cho chúng ta có được cái nhìn tổng quát về hệ thống quản lý cán bộ tiền lương
  • 50. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 50 của một doanh nghiệp. Chương trình đã giúp rất nhiều cho cán bộ nghiệp vụ nhân sự, tiền lương trong việc cập nhập, chỉnh sửa, tính lương, quản lý, tìm kiếm, đưa ra các báo cáo, báo biểu về thông tin cán bộ rất dễ dàng và chính xác..Nhưng do thời gian có hạn và kiến thức còn hạn hẹp nên chương trình không tránh khỏi những thiếu xót..như chương trình chưa đưa ra được phần quản trị hệ thống, phân quyền cho cho người sử dụng, chưa đưa ra được một quy trình quản lý sao lưu backup dữ liệu…Trong thời gian tới, e sẽ cố gắng hoàn thiện chương trình và phát triển chương trình thêm nhiều module nữa..như xây dựng hệ thống chấm công tự động, hệ thống quản lý đơn hàng..tạo dựng database chung cho chương trình để chương trình ngày một ưu việt. Cuối cùng, em xin chân thành cảm ơn Ths. Nguyễn Thanh Hương giảng viên bộ môn Công nghệ thông tin Trường Đại Học Kinh Tế Quốc Dân đã tận tình chỉ bảo hướng dẫn em hoàn thành đề tài này.Cám ơn quý công ty TNHH Minh Trí đã tạo điều kiện cho e khảo sát và thực tập tại công ty để e có thể hoàn thành được đề tài này. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………
  • 51. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 51 ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… XÁC NHẬN CỦA CƠ QUAN THỰC TẬP ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………………………………
  • 52. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 52 ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… KÝ VÀ ĐÓNG DẤU TÀI LIỆU THAM KHẢO 1. Cơ Sở Dữ Liệu Quan Hệ Lê Tiến Vương 2. Phân Tích & Thiết Kế Hệ Thống Ngô Trung Việt
  • 53. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 53 3. Cơ Sở Dữ Liệu & Phân Tích Thiết Kế Hệ Thống Thông Tin Quản Lý Nguyễn Hữu Trọng 4. Tự Học Lập Trình Cơ Sở Dữ Liệu Visual Basic 6.0 tập 1&2 Nguyễn Đình Tê(chủ biên) 5. Những Bài Thực Hành Cơ Sở Dữ Liệu Cơ Sở Visual Basic Đinh Xuân Lâm 6. Cơ Sở Dữ Liệu Visual Basic Nguyễn Thị Ngọc Mai 7. Tin Học Văn Phòng Access 2000 Nguyễn Sĩ Dũng 8. Lập Trình Access 2000 Ông Văn Thông PHỤ LỤC CODE CỦA CHƯƠNG TRÌNH Dim ketthuc Dim myPathhoso As String Dim myPathluong As String
  • 54. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 54 Private Sub MDIForm_Load() ' Load frmgioithieu MDImain.WindowState = 2 Language (True) End Sub Sub MDIForm_Unload(Cancel As Integer) Me.mnuexit_Click End Sub Private Sub mnuAboutSalary_Click() frmAbout.Show End Sub Private Sub mnuAccordingSalary_Click() ' frmTCsach.Show End Sub Private Sub mnuAllowanceFiles_Click() frmPhuCap.Show End Sub Private Sub mnuArrangeIcon_Click() Me.Arrange 3 'dbArrangeIcon End Sub Private Sub mnucascade_Click() Me.Arrange 0 End Sub Private Sub mnuCoefficientforsalary_Click() frmnhapheso.Show End Sub Private Sub mnuEnglish_Click() If MDImain.mnuEnglish.Checked = False Then MDImain.mnuVietnamese.Checked = False MDImain.mnuEnglish.Checked = True Language (False) End If End Sub Sub mnuexit_Click() ketthuc = MsgBox("B¹n muèn kÕt thóc t¹i ®©y! ", vbYesNo, "Th«ng b¸o") If ketthuc = vbYes Then End End If End Sub Private Sub mnuLookUppersonal_Click() frmTracuuCb.Show
  • 55. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 55 End Sub Private Sub mnuLookupSalary_Click() frmTraCuuLuong.Show End Sub Private Sub mnuOpenFilesPersonal_Click() cdlmain.ShowOpen myPathhoso = cdlmain.FileName End Sub Private Sub mnupersonalfile_Click() frmhosocb.Show End Sub Private Sub mnurewardforsalary_Click() frmthuong.Show End Sub Private Sub mnusalaryfile_Click() frmluong.Show End Sub Private Sub mnusave_Click() Me.cdlmain.ShowSave End Sub Private Sub mnuStatus_Click() If Me.StatusBar1.Visible = False Then Me.mnuStatus.Checked = True Me.StatusBar1.Visible = True Else Me.StatusBar1.Visible = False Me.mnuStatus.Checked = False End If End Sub Private Sub mnuTileHozizontally_Click() Me.Arrange 1 End Sub Private Sub mnuTileVertically_Click() Me.Arrange 2 End Sub Private Sub mnuToolsbars_Click() If Me.tlbmain.Visible = False Then Me.mnuToolsbars.Checked = True Me.tlbmain.Visible = True Else Me.tlbmain.Visible = False Me.mnuToolsbars.Checked = False End If
  • 56. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 56 End Sub Private Sub mnuVietnamese_Click() If MDImain.mnuVietnamese.Checked = False Then MDImain.mnuEnglish.Checked = False MDImain.mnuVietnamese.Checked = True Language (True) End If End Sub Private Sub tlbmain_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Key Case "New" file = InputBox(" NhËp vµo Tªn CSDL cÇn t¹o", "Tao b¶ng cSDL míi") If Trim(file) = "" Then Exit Sub Else Maketable (file) End If Case "Open" MsgBox "Banj chon mo" Case "Save" MsgBox "Ban cho ghi" Case "Print" MsgBox "ban cho in" Case "PrintReview" MsgBox "PhÇn nµy dµnh cho b¹n" Case "Exit" MsgBox "choa bai" mnuexit_Click End Select End Sub '§o¹n ch-¬ng tr×nh nh»m chuÈn ho¸ tiÕng viÖt Function Chuan(XauVao As String, Thamso As Byte) As String Dim xau(1 To 50) As String Dim kTdau Dim KTV Dim k As Byte Chuan = "" KTV = Trim(XauVao) For k = 1 To Len(KTV)
  • 57. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 57 xau(k) = Mid(KTV, k, 1) Next k Select Case Thamso Case 1 'tÊt c¸c ký tù ®Çu ®-îc biÕn thµnh ch÷ hoa For k = 1 To Len(KTV) xau(k) = Mid(KTV, k, 1) Next k For i = 1 To Len(KTV) If Asc(xau(1)) >= 168 And Asc(xau(1)) <= 174 Then xau(1) = Chr(Asc(xau(1)) - 7) Else xau(1) = UCase(xau(1)) End If If Asc(xau(i)) = 32 Then If (Asc(xau(i + 1))) >= 168 And Val(Asc(xau(i + 1))) <= 174 Then xau(i + 1) = Chr(Asc(xau(i + 1)) - 7) Else xau(i + 1) = UCase(xau(i + 1)) End If End If Chuan = Chuan + xau(i) Next i Case 2 ' chuÈn ho¸ c¸c ký tù ®Çu tiªn kTdau = Left(Trim(KTV), 1) If Asc(kTdau) >= 168 And Asc(kTdau) <= 174 Then Chuan = Chr(Asc(kTdau) - 7) + Right(Trim(KTV), Len(Trim(KTV)) - 1) Else Chuan = UCase(kTdau) + Right(Trim(KTV), Len(Trim(KTV)) - 1) End If Case 3 ' tÊ c¶ lµ ch÷ hoa Chuan = UCase(KTV) End Select End Function Public Const myPathhoso = "c:qlluongQLuong.mdb" Public Const rptfilename = "c:qlluong" Public PathReport As String Public Co As Boolean Public coghi As Boolean
  • 58. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 58 Public Chiso As Byte Function Doi_date(sdate As Variant) As Date Dim i As Byte Dim vitri, k As Byte Dim Thang As String * 2 Dim Ngay As String * 2 Dim Nam As String * 4 sdate = Trim(sdate) Ngay = Mid(sdate, 1, 2) Thang = Mid(sdate, 4, 2) Nam = Mid(sdate, 7, 10) Doi_date = Thang & "/" & Ngay & "/" & Nam End Function Public Function CheckDate(sdate As String) As String If IsDate(sdate) = False Then CheckDate = "" Exit Function End If Dim i As Byte Dim vitri, k As Byte Dim Thang As String * 2 Dim Ngay As String * 2 Dim Nam As String * 4 Dim Sign(1) As String * 1 Sign(0) = "-" Sign(1) = "/" Thang = "" Ngay = "" vitri = 1 For i = 0 To 1 vitri = InStr(1, sdate, Sign(i)) If vitri <> 0 Then Ngay = Mid(sdate, 1, vitri - 1) k = vitri + 1 vitri = InStr(vitri + 1, sdate, Sign(i)) If vitri <> 0 Then Thang = Mid(sdate, k, vitri - k) Nam = Mid(sdate, vitri + 1, Len(Trim(sdate)) - vitri) Exit For End If Else End If Next i
  • 59. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 59 If Len(Ngay) = 0 Or Len(Thang) = 0 Then CheckDate = "" Exit Function End If If Len(Trim(Ngay)) = 1 Then Ngay = "0" & Ngay If Len(Trim(Thang)) = 1 Then Thang = "0" & Thang If Int(Val(Thang)) > 12 Then CheckDate = "" Exit Function Else If Int(Val(Ngay)) > 31 Then CheckDate = "" Exit Function End If CheckDate = Trim(Ngay & "/" & Thang & "/" & Nam) End If End Function Public Sub Language(Language As Boolean) Select Case Language Case True With MDImain .mnuEnglish.Checked = False .mnuVietnamese.Checked = True .mnufiles.Caption = "Files" .mnuexit.Caption = "&KÕt Thóc" .mnuView.Caption = "&HiÖn Èn" .mnuStatus.Caption = "T&r¹ng Th¸i" .mnutask.Caption = "&NhiÖm vô" .mnuInput.Caption = "NhËp D÷ LiÖu" .mnuAllowanceFiles.Caption = "&NhËp Phô CÊp ..." .mnuCoefficientforsalary.Caption = "&HÖ Sè L-¬ng ..." .mnupersonalfile.Caption = "Hå &S¬ Can Bo ..." .mnurewardforsalary.Caption = "Møc th-ëng ..." .mnusalaryfile.Caption = "L-¬ng ..." .mnuLookUp.Caption = "&Tra Cøu ..." .mnuLookUppersonal.Caption = "Tra cøu theo hå &S¬ Nh©n viªn..." .mnuLookupSalary.Caption = "Tra cøu theo &l-¬ng ..." .MnuTools.Caption = "C«ng Cô" .MnuLanguage.Caption = "&Ng«n ng÷ HiÓn ThÞ" .mnuEnglish.Caption = "&English" .mnuVietnamese.Caption = "&ViÖt Nam" .mnuhelps.Caption = "&Trî Gióp"
  • 60. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 60 .mnuAboutSalary.Caption = "Th«ng Tin VÒ &Ch-¬ng Tr×nh ..." End With Case False With MDImain .mnuEnglish.Checked = True .mnuVietnamese.Checked = False .mnufiles.Caption = "Files" .mnuexit.Caption = "E&xit" .mnuView.Caption = "&View" .mnuStatus.Caption = "&Status" .mnutask.Caption = "&Task" .mnuInput.Caption = "Input" .mnuAllowanceFiles.Caption = "&Allowance Files ..." .mnuCoefficientforsalary.Caption = "&Ceofficient Fo Salary ..." .mnupersonalfile.Caption = "&Personal Files ..." .mnurewardforsalary.Caption = "&Raward for Salary ..." .mnusalaryfile.Caption = "&Salary files ..." .mnuLookUp.Caption = "&Look Up..." .mnuLookUppersonal.Caption = "Look Up According &Personal ..." .mnuLookupSalary.Caption = "Look Up According &Salary ..." .MnuTools.Caption = "&Tools" .MnuLanguage.Caption = "&Language " .mnuEnglish.Caption = "&English" .mnuVietnamese.Caption = "&VietNamese" .mnuhelps.Caption = "&Helps" .mnuAboutSalary.Caption = "&About Salry ..." End With End Select End Sub Public Sub chao() Dim rec As Recordset Dim MySql As String 'N¹p Giãi tÝnh With frmTracuuCb .cbotracuucb(0).AddItem "Nam" .cbotracuucb(0).AddItem "Nu" MsgBox "Chao Cac B¹n" End With End Sub Public Sub KiemTraNgay(dong As String) Dim ok
  • 61. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 61 Dim i As Integer With frmhosocb If Len(dong) <> 10 Then MsgBox "B¹n NhËp sai DL ngµy th¸ng råi! H·y NhËp l¹i nh- sau: dd/mm/yyyy", vbCritical, "Chó ý" .txthoso(2).SetFocus ok = False End If nam1 = Val(Mid(dong, 7, 5)) dong = Format(dong, "dd/mm/yyyy") Ngay = Val(Mid(dong, 1, 2)) Thang = Val(Mid(dong, 4, 2)) Nam = Val(Mid(dong, 7, 4)) Select Case Thang Case 4, 6, 9, 11 If Ngay > 30 And Len(nam1) = 4 Then MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 30 ngµy!", vbCritical, "Chó ý" .txthoso(2).SetFocus Else If (Thang = 4) Or (Thang = 6) Or (Thang = 9) Or (Thang = 11) And (Len(nam1) = 4) Then .cbohoso(0).SetFocus ok = True End If End If Case 1, 3, 5, 7, 8, 10, 12 If Ngay > 31 And Len(nam1) = 4 Then MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 31 ngµy!", vbCritical, "Chó ý" .txthoso(2).SetFocus Else If (Thang = 1) Or (Thang = 3) Or (Thang = 5) Or (Thang = 7) Or (Thang = 8) Or (Thang = 10) Or (Thang = 12) And (Len(nam1) = 4) Then .cbohoso(0).SetFocus ok = True End If End If Case 2 If (Nam Mod 4 = 0) And (Ngay > 29) And (Thang = 2) Then
  • 62. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 62 MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó ý" .txthoso(2).SetFocus Else If (Nam Mod 4 = 0) And (Ngay <= 29) And (Thang = 2) Then .cbohoso(0).SetFocus ok = True End If If (Nam Mod 4 <> 0) And (Ngay > 28) And (Thang = 2) Then MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó ý" .txthoso(2).SetFocus Else If (Nam Mod 4 <> 0) And (Ngay <= 28) And (Thang = 2) Then ok = True .txthoso(2).SetFocus End If End If End If Case Else If Val((Thang > 12) And (Len(nam1) = 4)) Then MsgBox "B¹n NhËp sai kiÓu th¸ng !", vbCritical, "Chó ý" .txthoso(2).SetFocus End If End Select If ok = True Then frmhosocb.cbohoso(0).SetFocus Else .txthoso(2).SetFocus MsgBox "xay ra o Toi" End If End With End Sub Dim myPathhoso As String Dim db As Database Dim rec As Recordset Dim mypath As String Dim dongsql As String Dim coghi 'Dim dongxoa
  • 63. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 63 Private Sub cbohoso_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case Index Case 0 ' Gioi tinh If KeyCode = 13 Then If cbohoso(0).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" cbohoso(0).SetFocus Else If (UCase(Trim(cbohoso(0).Text)) = UCase("Nam")) Or (UCase(Trim((cbohoso(0).Text))) = UCase("N÷")) Then cbohoso(1).SetFocus Else MsgBox "DL chØ nhËn lµ : Nam hoÆc N÷ ", vbCritical, "Th«ng B¸o" cbohoso(0).SetFocus End If End If End If Case 1 'D©n Téc If KeyCode = 13 Then If cbohoso(1).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" cbohoso(1).SetFocus Else cbohoso(1).Text = Chuan(cbohoso(1), 2) txthoso(3).SetFocus End If End If Case 2 ' Phong If KeyCode = 13 Then If cbohoso(2).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" cbohoso(2).SetFocus Else cbohoso(2).Text = Chuan(cbohoso(2), 1) cbohoso(3).SetFocus End If End If Case 3 'Chuc vu If KeyCode = 13 Then If cbohoso(3).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !"
  • 64. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 64 cbohoso(3).SetFocus Else cbohoso(3).Text = Chuan(cbohoso(3), 2) cbohoso(4).SetFocus End If End If Case 4 ' trinh Do If KeyCode = 13 Then If cbohoso(4).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" cbohoso(4).SetFocus Else cbohoso(4).Text = Chuan(cbohoso(4), 2) cbohoso(5).SetFocus End If End If Case 5 ' Chuyen mon If KeyCode = 13 Then If cbohoso(5).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" cbohoso(5).SetFocus Else cbohoso(5).Text = Chuan(cbohoso(5), 2) txthoso(5).SetFocus End If End If End Select End Sub Sub cmdchucnang_Click(Index As Integer) Select Case Index Case 0 ' NhËp míi 'MsgBox " B¹n võa chän nhËp míi " Set db = OpenDatabase(mypath) Set rec = db.OpenRecordset("hosocanbo") For i = 0 To 5 txthoso(i).Text = "" Next i For i = 0 To 5 cbohoso(i).Text = "" Next i NapNhapHSCB txthoso(0).SetFocus
  • 65. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 65 Case 1 ' chän chøc n¨ng söa IDMacb = InputBox(" NhËp vµo m· C¸n bé cÇn söa ", "Söa ch÷a") If Len(Trim(IDMacb)) = 0 Then Exit Sub Set rec = db.OpenRecordset("SELECT * FROM HosoCanBo WHERE [MaCB]='" & IDMacb & "'") If rec.RecordCount = 0 Then MsgBox "Kh«ng tån t¹i m· c¸n bé ®ã trong l-u tr÷ ", vbCritical, "Kh«ng thÊy" txthoso(0).SetFocus Exit Sub End If Set dathoso.Recordset = rec Me.dathoso.Refresh On Error Resume Next Case 2 ' chän chøc n¨ng Ghi MsgBox " B¹n võa chän ghi" Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) Set rec = db.OpenRecordset("HoSoCanBo") ' KiÓm tra Xem Da co ®ñ Thong tin For k = 0 To 5 If cbohoso(i).Text = "" Then cbohoso(i).SetFocus End If If txthoso(i).Text = "" Then txthoso(i).SetFocus End If Next k dongsql = "Insert into hosocanbo (macb,Hoten,ngaysinh,Gioitinh,DanToc,Quequan,NoiOhiennay,Phong,ChucV u,TrinhDo,Chuyenmon,NgayvaoBienChe) Values ('" & UCase(Trim(txthoso(0).Text)) & "','" & Trim(txthoso(1).Text) & "','" & Trim(txthoso(2).Text) & "','" & Trim(cbohoso(0).Text) & "','" & Trim(cbohoso(1).Text) & "','" & Trim(txthoso(3).Text) & "','" & Trim(txthoso(4).Text) & "','" & Trim(cbohoso(2).Text) & "','" & Trim(cbohoso(3).Text) & "','" & Trim(cbohoso(4).Text) & "','" & Trim(cbohoso(5).Text) & "','" & Trim(txthoso(5).Text) & "')" Me.dathoso.Recordset.MoveFirst For j = 0 To dathoso.Recordset.RecordCount - 1 If UCase(Trim(txthoso(0).Text)) <> UCase(dathoso.Recordset.Fields(0).Value) Then coghi = True Else
  • 66. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 66 coghi = False If coghi = False Then MsgBox " §· Cã trong c¬ së d÷ liÖu cña b¹n !" Exit For End If End If Me.dathoso.Recordset.MoveNext Next j If coghi = True Then db.Execute dongsql dathoso.Refresh End If db.Execute dongsql db.Execute "Insert Into Luong(macb,luong,kynhan)Values ('" & UCase(Trim(txthoso(0).Text)) & "',100,'No')" db.Close txthoso(0).SetFocus Case 3 'Xo¸ Set db = OpenDatabase(mypath) Set rec = db.OpenRecordset("Hosocanbo") With rec If Not .EOF Or Not .BOF Then xoa = MsgBox("B¹n Muèn xo¸ ?", vbYesNo, "Chó ý") If xoa = vbYes Then Me.dathoso.Recordset.MoveFirst .Delete End If ' .Update End If End With Case 4, Xem frmXemhoso.Show Case 5 ' In Ên frmXemhoso.cmdchucnang_Click Case 6 'KÕt Thóc Unload Me End Select End Sub Private Sub dathoso_Reposition() dongxoa = Me.dathoso.Recordset.RecordCount + 1 End Sub
  • 67. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 67 Private Sub DBGrid1_Click() If Not Me.dathoso.Recordset.BOF Or Not Me.dathoso.Recordset.EOF Then txthoso(0).Text = Me.dathoso.Recordset.Fields(0).Value txthoso(1).Text = Me.dathoso.Recordset.Fields(1).Value Else MsgBox "§©y la qu¸ b¶n ghi cuèi råi", vbCritical, "Chó ý" End If End Sub Sub Form_Activate() Me.Width = 11100 Me.Height = 7500 Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 20 End Sub Private Sub Form_Load() mypath = "c:qlluongQLLuong.mdb" Form_Activate For i = 0 To 5 txthoso(i).Text = "" Next i For i = 0 To 5 cbohoso(i).Text = "" Next i Me.NapNhapHSCB HienData End Sub Private Sub txthoso_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case Index Case 0 ' ma Can Bo If KeyCode = 13 Then If txthoso(0).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(0).SetFocus Else txthoso(0).Text = Chuan(txthoso(0), 3) txthoso(1).SetFocus End If End If Case 1 'Ho Ten If KeyCode = 13 Then If txthoso(0).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(1).SetFocus
  • 68. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 68 Else txthoso(1).Text = Chuan(txthoso(1), 1) txthoso(2).SetFocus End If End If Case 2 'Ngay sinh If KeyCode = 13 Then If txthoso(2).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(2).SetFocus Else cbohoso(0).SetFocus End If KiemTraNgay (Trim(txthoso(2).Text)) End If Case 3 ' Que quan If KeyCode = 13 Then If txthoso(3).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(3).SetFocus Else txthoso(3).Text = Chuan(txthoso(3), 1) txthoso(4).SetFocus End If End If Case 4 'noi O If KeyCode = 13 Then If txthoso(4).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(4).SetFocus Else txthoso(4).Text = Chuan(txthoso(4), 1) cbohoso(2).SetFocus End If End If Case 5 If KeyCode = 13 Then If txthoso(5).Text = "" Then MsgBox "B¹n Ph¶i nhËp DL Vao !" txthoso(5).SetFocus Else txthoso(0).SetFocus
  • 69. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 69 If KiemTraNgayvaoBC(Trim(txthoso(5).Text)) = True Then cmdchucnang_Click (2) cmdchucnang_Click (0) Else Me.txthoso(5).SetFocus End If End If End If End Select End Sub Public Sub HienData() dathoso.DatabaseName = mypath dathoso.RecordSource = "Hosocanbo" End Sub Public Sub NapNhapHSCB() With frmhosocb.cbohoso(0) .AddItem "Nam" .AddItem "N÷" End With ' N¹p D©n Téc Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [DanToc] FROM HosoCanBo" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmhosocb.cbohoso(1).AddItem (.Fields(0).Value) .MoveNext Loop End With End If 'Nap Phßng Ban Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [Phong] FROM HosoCanBo" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst
  • 70. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 70 Do While Not .EOF frmhosocb.cbohoso(2).AddItem (.Fields(0).Value) .MoveNext Loop End With End If Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [ChucVu] FROM HosoCanBo" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmhosocb.cbohoso(3).AddItem (.Fields(0).Value) .MoveNext Loop End With End If 'Nap Trinh D« Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [TrinhDO] FROM HosoCanBo" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmhosocb.cbohoso(4).AddItem (.Fields(0).Value) .MoveNext Loop End With End If 'Nap Chuyen Mon Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [ChuyenMon] FROM HosoCanBo" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmhosocb.cbohoso(5).AddItem (.Fields(0).Value)
  • 71. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 71 .MoveNext Loop End With End If End Sub Sub Nhaplai(dk As Boolean) If dk = True Then txthoso(2).SetFocus Else cbohoso(1).SetFocus End If End Sub Public Function KiemTraNgayvaoBC(dong As String) As Boolean Dim ok Dim i As Integer With frmhosocb If Len(dong) <> 10 Then MsgBox "B¹n NhËp sai DL ngµy th¸ng råi! H·y NhËp l¹i nh- sau: dd/mm/yyyy", vbCritical, "Chó ý" .txthoso(5).SetFocus ok = False End If nam1 = Val(Mid(dong, 7, 5)) dong = Format(dong, "dd/mm/yyyy") Ngay = Val(Mid(dong, 1, 2)) Thang = Val(Mid(dong, 4, 2)) Nam = Val(Mid(dong, 7, 4)) Select Case Thang Case 4, 6, 9, 11 If Ngay > 30 And Len(nam1) = 4 Then MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 30 ngµy!", vbCritical, "Chó ý" .txthoso(5).SetFocus Else If (Thang = 4) Or (Thang = 6) Or (Thang = 9) Or (Thang = 11) And (Len(nam1) = 4) Then .txthoso(0).SetFocus ok = False End If End If
  • 72. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 72 Case 1, 3, 5, 7, 8, 10, 12 If Ngay > 31 And Len(nam1) = 4 Then MsgBox "B¹n nhËp sai ngµy, th¸ng nµy chØ cã 31 ngµy!", vbCritical, "Chó ý" .txthoso(5).SetFocus Else If (Thang = 1) Or (Thang = 3) Or (Thang = 5) Or (Thang = 7) Or (Thang = 8) Or (Thang = 10) Or (Thang = 12) And (Len(nam1) = 4) Then .txthoso(0).SetFocus ok = True End If End If Case 2 If (Nam Mod 4 = 0) And (Ngay > 29) And (Thang = 2) Then MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó ý" .txthoso(5).SetFocus Else If (Nam Mod 4 = 0) And (Ngay <= 29) And (Thang = 2) Then .txthoso(5).SetFocus ok = True End If If (Nam Mod 4 <> 0) And (Ngay > 28) And (Thang = 2) Then MsgBox "B¹n nhËp sai DL, th¸ng 2 chØ cã 28 ngµy", vbCritical, "Chó ý" .txthoso(5).SetFocus Else If (Nam Mod 4 <> 0) And (Ngay <= 28) And (Thang = 2) Then ok = True .txthoso(5).SetFocus End If End If End If Case Else If Val((Thang > 12) And (Len(nam1) = 4)) Then MsgBox "B¹n NhËp sai kiÓu th¸ng !", vbCritical, "Chó ý" .txthoso(5).SetFocus End If End Select If ok = True Then
  • 73. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 73 .txthoso(0).SetFocus Else .txthoso(5).SetFocus End If KiemTraNgayvaoBC = ok End With End Function Option Compare Text Option Explicit Dim them As Boolean 'In danh muïc chöùng töø Private Sub cmdRepheso_Click() heso.Show End Sub Private Sub Command1_Click() he_so_luong.Show End Sub 'Thuû tuïc naïp Form Private Sub Form_Load() Dim n Dim n1 n = 0 n1 = 0 txtSBG.Text = n 'Khoa End Sub Private Sub Khoa() Dataheso.AllowDelete = False Dataheso.AllowUpdate = False Dataheso.AllowAddNew = False cmdthem.Enabled = True cmdsua.Enabled = True cmdxoa.Enabled = True cmdghi.Enabled = False cmdkhong.Enabled = False cmdthoat.Enabled = True 'Töï ñoäng caäp nhaät baûn ghi trong DataGrid cuûa Danh muïc chöùng töø Dataheso.Refresh End Sub Private Sub Mo_Khoa() Dataheso.AllowDelete = True
  • 74. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 74 Dataheso.AllowUpdate = True Dataheso.AllowAddNew = True cmdthem.Enabled = False cmdsua.Enabled = False cmdxoa.Enabled = False cmdghi.Enabled = True cmdkhong.Enabled = True cmdthoat.Enabled = False 'Töï ñoäng caäp nhaät baûn ghi trong DataGrid cuûa Danh muïc chöùng töø Dataheso.Refresh End Sub Private Sub cmdthem_click() On Error GoTo Loi_Them Mo_Khoa 'Töï ñoäng caäp nhaät laïi baûn ghi trong Form hay DataSheet khi döõ lieäu thay ñoåi Ado_heso.Refresh 'Theâm baûn ghi môùi Ado_heso.Recordset.AddNew 'DataGrid cuûa heso nhaän tieâu ñieåm Dataheso.SetFocus them = True Thoat_Them: Exit Sub Loi_Them: MsgBox Err.Description Resume Thoat_Them End Sub Private Sub cmdsua_click() Dim recnum On Error GoTo Loi_Sua 'Bieán ñaùnh daáu baûn ghi caàn thay ñoåi recnum = Ado_heso.Recordset.Bookmark Mo_Khoa them = False Thoat_Sua: Exit Sub Loi_Sua: MsgBox Err.Description Resume Thoat_Sua End Sub Private Sub cmdxoa_click() On Error GoTo Loi_Xoa
  • 75. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 75 Dim traloi traloi = MsgBox("Baïn muoán xoùa chöùng töø " + Ado_heso.Recordset.Fields("heso") + " ?", 48 + 4, "Thoâng baùo") 'Neáu choïn YES If traloi = 6 Then 'Xoùa baûn ghi Ado_heso.Recordset.Delete Ado_heso.Recordset.Clone Ado_heso.Recordset.Requery Ado_heso.Recordset.MoveNext If Ado_heso.Recordset.EOF Then Ado_heso.Recordset.MoveLast End If End If 'Duøng phöông thöùc Refresh cuûa ñoái töôïng Adodc ñeå caäp nhaät laïi döõ lieäu Ado_heso.Refresh Thoat_Xoa: Exit Sub Loi_Xoa: MsgBox "Khoâng theå xoùa maãu tin naøy !" Resume Thoat_Xoa End Sub Private Sub cmdghi_click() On Error GoTo Loi_Ghi Ado_heso.Recordset.UpdateBatch adAffectAll Khoa cmdthem.SetFocus them = False Thoat_Ghi: Dataheso.SetFocus Exit Sub Loi_Ghi: MsgBox "Döõ lieäu khoâng hôïp leä !" MsgBox "Maõ chöùng töø coù toái 10 kyù töï soá !" Resume Thoat_Ghi End Sub Private Sub cmdkhong_click() If them Then Ado_heso.Refresh 'Duøng phöông thöùc CancelUpdate ñeå boû qua vieäc caäp nhaät döõ lieäu Ado_heso.Recordset.CancelUpdate
  • 76. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 76 End If Khoa cmdthem.SetFocus them = False Ado_heso.Refresh End Sub Private Sub cmdthoat_click() Ado_heso.Refresh Unload Me End Sub 'Khi click vaøo DataGrid cuûa heso ñoàng thôøi ñeám soá baûn ghi vaø 'ñaùnh daáu baûn ghi hieän haønh Private Sub Dataheso_click() Dim n Dim n1 n = 0 n1 = 0 n = Ado_heso.Recordset.RecordCount If (Ado_heso.Recordset.EOF = False) And (Ado_heso.Recordset.BOF = False) Then n1 = Ado_heso.Recordset.Bookmark End If txtBGHH.Text = n1 txtSBG.Text = n End Sub Dim db As Database Dim rec As Recordset Dim sql As String Private Sub CBoTC_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case Index Case 0 'hä tªn If KeyCode = 13 Then If Not Trim(CBoTC(0).Text) = "" Then CBoTC(0).Text = Chuan(CBoTC(0).Text, 1) End If CBoTC(1).SetFocus End If Case 1 ' thoe ma If KeyCode = 13 Then If Not Trim(CBoTC(1).Text) = "" Then CBoTC(1).Text = Chuan(CBoTC(1).Text, 3)
  • 77. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 77 End If CBoTC(2).SetFocus End If Case 2 'theo he so luong If KeyCode = 13 Then If Not Trim(CBoTC(2).Text) = "" Then If Len(Trim(CBoTC(2).Text)) <> 0 Then CBoTC(2).Text = Chuan(Trim(CBoTC(2).Text), 2) End If End If txtTC(0).SetFocus End If Case 3 ' theo phu cap If KeyCode = 13 Then If Not Trim(CBoTC(3).Text) = "" Then CBoTC(3).Text = Chuan(CBoTC(3).Text, 2) End If CBoTC(4).SetFocus End If Case 4 ' theo laoi thuong If KeyCode = 13 Then If Not Trim(CBoTC(4).Text) = "" Then CBoTC(4).Text = Chuan(CBoTC(4).Text, 2) End If CBoTC(5).SetFocus End If Case 5 ' con lao If KeyCode = 13 Then If Not Trim(CBoTC(5).Text) = "" Then CBoTC(5).Text = Chuan(CBoTC(5).Text, 2) End If Me.cmdTCLuong.SetFocus End If End Select End Sub Private Sub CBoTC_LostFocus(Index As Integer) Select Case Index Case 0 CBoTC(0).Text = Chuan(CBoTC(0).Text, 1) Case 1 CBoTC(1).Text = Chuan(CBoTC(1).Text, 3) Case 2
  • 78. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 78 CBoTC(2).Text = Chuan(CBoTC(2).Text, 2) Case 0 CBoTC(3).Text = Chuan(CBoTC(3).Text, 2) Case 0 CBoTC(4).Text = Chuan(CBoTC(4).Text, 2) Case 0 CBoTC(5).Text = Chuan(CBoTC(5).Text, 2) End Select End Sub Private Sub cmdexit_Click() Unload Me End Sub Private Sub cmdInLuong_Click() MsgBox "b¹n muèn In" End Sub Private Sub cmdTCLuong_Click() Dim db As Database Dim rec As Recordset Dim IDMacb As String, IDHoTen As String Dim IDHSL As String, IDMPC As String Dim IDLT As String, IDLuong As String Dim IDConLai As String, IDDnd As String Dim pheptoan1 As String, pheptoan2 As String Dim sql As String, i As Byte sql = "SELECT DISTINCTROW HosoCanBo.macb, HosoCanBo.HoTen, HosoCanBo.Ngaysinh, HosoCanBo.Phong, HosoCanBo.Chucvu, HosoCanBo.NgayVaoBienChe, Luong.hesoluong, Luong.Loaithuong, Luong.MucPhuCap, Luong.SoNgayNghi, Luong.Luong, Luong.TamUng, Luong.Conlai " sql = sql & " FROM Luong INNER JOIN HosoCanBo ON Luong.Macb = HosoCanBo.macb WHERE " IDHoTen = Chuan(Trim(CBoTC(0).Text), 1) IDMacb = Chuan(Trim(CBoTC(1).Text), 3) IDHSL = (Trim(CBoTC(2).Text)) IDMPC = Trim(CBoTC(3).Text) IDLT = Trim(CBoTC(4).Text) IDDnd = Trim(CBoTC(5).Text)
  • 79. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 79 pheptoan1 = Mid(Trim(txtTC(0).Text), 1, 2) IDLuong = Mid((Trim(txtTC(0).Text)), 3, Len(Trim(txtTC(0).Text))) pheptoan2 = Mid(Trim(txtTC(1).Text), 1, 2) IDConLai = Mid((Trim(txtTC(1).Text)), 3, Len(Trim(txtTC(1).Text))) 'MsgBox IDHSL Select Case Me.OptAND.Value Case True If Len(IDHoTen) > 0 Then sql = sql & " HosoCanBo.[HoTen] LiKe '" & IDHoTen & "' And " If Len(IDMacb) > 0 Then sql = sql & " HosoCanBo.[Macb] LiKe '" & IDMacb & "' And " If Len(IDHSL) > 0 Then sql = sql & " Luong.[Hesoluong] Like '" & IDHSL & "' And " If Len(IDMPC) > 0 Then sql = sql & " Luong.[MucPhuCap] LiKe '" & IDMPC & "' And " If Len(IDLT) > 0 Then sql = sql & " Luong.[LoaiThuong] LiKe '" & IDLT & "' And " If Len(IDDnd) > 0 Then sql = sql & " Luong.[KyNhan] LiKe '" & IDDnd & "' And " If Len(IDLuong) > 0 Then sql = sql & " val(Luong.[Luong]) " & pheptoan1 & " " & Val(IDLuong) & " And " If Len(IDConLai) > 0 Then sql = sql & " val(Luong.[ConLai]) " & pheptoan2 & " " & Val(IDConLai) & " And " MsgBox sql sql = sql & " HosocanBo.[Macb]=luong.[Macb] ORDER BY HosoCanBo.[HoTen]" 'MsgBox sql Case False If Len(IDHoTen) > 0 Then sql = sql & " HosoCanBo.[HoTen] LiKe '" & IDHoTen & "' or " If Len(IDMacb) > 0 Then sql = sql & " HosoCanBo.[Macb] LiKe '" & IDMacb & "' or " If Len(IDHSL) > 0 Then sql = sql & " Luong.[Hesoluong] Like '" & IDHSL & "' Or " If Len(IDMPC) > 0 Then sql = sql & " Luong.[MucPhuCap] LiKe '" & IDMPC & "' OR " If Len(IDLT) > 0 Then sql = sql & " Luong.[LoaiThuong] LiKe '" & IDLT & "' OR " If Len(IDDnd) > 0 Then sql = sql & " Luong.[KyNhan] LiKe '" & IDDnd & "' OR " If Len(IDLuong) > 0 Then sql = sql & " val(Luong.[Luong]) " & pheptoan1 & " " & Val(IDLuong) & " OR "
  • 80. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 80 If Len(IDConLai) > 0 Then sql = sql & " val(Luong.[ConLai]) " & pheptoan2 & " " & Val(IDConLai) & " OR " sql = Mid(sql, 1, Len(Trim(sql)) - 2) MsgBox sql sql = sql & " AND HosocanBo.[Macb]=luong.[Macb] ORDER BY HosoCanBo.[HoTen]" End Select Set db = OpenDatabase("c:QlluongQlluong.mdb") Set rec = db.OpenRecordset(sql, dbOpenSnapshot) If rec.RecordCount = 0 Then MsgBox " Kh«ng cã c¸n bé tho¶ m·n th«ng tin t×m kiÕm", vbCritical, "Th«ng b¸o" Exit Sub End If Set DatTCLuong.Recordset = rec Me.DbgTCLuong.Refresh Me.txtTong.Text = Me.DatTCLuong.Recordset.RecordCount Me.DbgTCLuong.SetFocus End Sub Private Sub cmdview_Click() LUONG.Show End Sub Sub Form_Activate() Me.Width = 11000 Me.Height = 7500 Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 200 'NapDK End Sub Private Sub Form_Load() Dim rec As Recordset Dim sql As String Me.OptAND.Value = True Me.OptOR.Value = False Me.Frame1.Enabled = False mypath = "c:QLluongQlluong.mdb" For k = 0 To 5 Me.CBoTC(k).Text = "" Next k Me.txtTC(0).Text = "" Me.txtTC(1).Text = "" Me.DatTCLuong.RecordSource = mypath
  • 81. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 81 Me.DbgTCLuong.Columns(0).DataField = "HoTen" sql = "SELECT DISTINCTROW HosoCanBo.macb, HosoCanBo.HoTen, HosoCanBo.Ngaysinh, HosoCanBo.Phong, HosoCanBo.Chucvu, HosoCanBo.NgayVaoBienChe, Luong.hesoluong, Luong.Loaithuong, Luong.MucPhuCap, Luong.SoNgayNghi, Luong.Luong, Luong.TamUng, Luong.Conlai " sql = sql & " FROM HosoCanBo,Luong WHERE " sql = sql & "HosoCanBo.[Macb]=Luong.[Macb] ORDER BY HosoCanBo.[Hoten]" Set db = DBEngine.Workspaces(0).OpenDatabase("c:QLluongQlluong.mdb") Set rec = db.OpenRecordset(sql, dbOpenSnapshot) If rec.RecordCount = 0 Then MsgBox " Kh«ng cã ®Çu s¸ch tho¶ m·n th«ng tin t×m kiÕm", vbCritical, "Th«ng b¸o" Exit Sub End If Set Me.DatTCLuong.Recordset = rec 'Me.DatTCLuong.Refresh With Me.DatTCLuong Me.DbgTCLuong.Columns(0).DataField = .Recordset.Fields(1).Name Me.DbgTCLuong.Columns(0).Width = 3000 ' .Refresh Me.DbgTCLuong.Refresh TxtTCLuong(0).DataField = "Macb" For i = 0 To 12 Step 1 TxtTCLuong(i).DataField = .Recordset.Fields(i).Name Next i Me.DbgTCLuong.Refresh End With Me.txtTong.Text = Me.DatTCLuong.Recordset.RecordCount NapDK End Sub Public Sub NapDK() 'n¹p Th«ng Tin Ho tªn For i = 1 To 5 Me.CBoTC(i).Clear Next i mypath = "c:QLluongQlluong.mdb" frmTraCuuLuong.CBoTC(0).AddItem "" Set db = DBEngine.Workspaces(0).OpenDatabase(mypath)
  • 82. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 82 MySql = "SELECT DISTINCT [Hoten] FROM HosoCanBo ORDER BY HosoCanBo.[HoTen]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmTraCuuLuong.CBoTC(0).AddItem (.Fields(0).Value) .MoveNext Loop End With frmTraCuuLuong.CBoTC(0).AddItem "" End If 'n¹p Th«ng Tin MaCB frmTraCuuLuong.CBoTC(1).AddItem "" Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [Macb] FROM Luong ORDER BY Luong.[Macb]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmTraCuuLuong.CBoTC(1).AddItem (.Fields(0).Value) .MoveNext Loop End With ' frmTraCuuLuong.CBoTC(1).AddItem "" End If 'n¹p Th«ng Tin HÖ sè l-¬ng Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [Heso] FROM HesoLuong ORDER BY HesoLuong.[Heso]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF
  • 83. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 83 frmTraCuuLuong.CBoTC(2).AddItem (.Fields(0).Value) .MoveNext Loop End With frmTraCuuLuong.CBoTC(2).AddItem "" End If 'n¹p Th«ng Tin Møc phô cÊp Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [MucPhucap] FROM PhuCap ORDER BY PhuCap.[MucPhuCap]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmTraCuuLuong.CBoTC(3).AddItem (.Fields(0).Value) .MoveNext Loop End With frmTraCuuLuong.CBoTC(3).AddItem "" End If 'n¹p Th«ng Tin Lo¹i th-ëng Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [LoaiThuong] FROM Thuong" ' ORDER BY Thuong.[LoaiThuong]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF frmTraCuuLuong.CBoTC(4).AddItem (.Fields(0).Value) .MoveNext Loop End With frmTraCuuLuong.CBoTC(4).AddItem "" End If 'n¹p Th«ng Tin §a nh©n frmTraCuuLuong.CBoTC(5).AddItem ""
  • 84. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 84 Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) MySql = "SELECT DISTINCT [KyNhan] FROM Luong ORDER BY Luong.[KyNhan]" Set rec = db.OpenRecordset(MySql, dbOpenSnapshot) If rec.RecordCount <> 0 Then With rec .MoveLast .MoveFirst Do While Not .EOF Me.CBoTC(5).AddItem (.Fields(0).Value) .MoveNext Loop End With ' frmTraCuuLuong.CBoTC(5).AddItem "" End If End Sub Private Sub OptAND_Click() Me.OptAND.Value = True Me.OptOR.Value = False End Sub Private Sub OptOR_Click() Me.OptOR.Value = True Me.OptAND.Value = False End Sub Private Sub txtTC_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer) Select Case Index Case 0 If KeyCode = 13 Then txtTC(1).SetFocus End If Case 1 If KeyCode = 13 Then CBoTC(3).SetFocus End If End Select End Sub Private Sub Command1_Click() Unload Me End Sub Sub cmdchucnang_Click() outputdestination = 0
  • 85. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 85 rptxemhoso.Destination = outputdestination rptxemhoso.DataFiles(0) = mypath rptxemhoso.ReportFileName = rptfilename + "hscb.rpt" rptxemhoso.Action = 1 End Sub Sub Form_Activate() Me.Width = 11900 Me.Height = 7500 With DBGXemHoso .Top = frmXemhoso.Top - 100 .Left = frmXemhoso.Left - 200 .Width = Me.Width - 100 .Height = Me.Height - 1500 End With Me.Move (Screen.Width - Me.Width) / 200, (Screen.Height - Me.Height) / 200 Me.Frame1.Top = Me.Height - 1500 Me.Frame1.Left = Me.Left + 100 Me.Frame1.Width = Me.Width - 400 Me.datxemhoso.Visible = False 'Form_Load End Sub Sub Form_Load() mypath = "c:QLluongqlluong.mdb" datxemhoso.DatabaseName = mypath datxemhoso.RecordSource = "HoSoCanBo" Me.DBGXemHoso.Font.Name = ".vntime" Me.DBGXemHoso.Font.Size = 12 Form_Activate HienTieuDe End Sub Public Sub HienTieuDe() With Me.DBGXemHoso .Columns(0).Caption = "M· C¸n Bé" .Columns(0).DataField = "Macb" .Columns(0).Width = 1000 .Columns(1).Caption = "Hä Tªn" .Columns(1).DataField = "Hoten" .Columns(1).Width = 2500 .Columns(2).Caption = "Ngµy Sinh" .Columns(2).DataField = "Ngaysinh" .Columns(2).Width = 1500 .Columns(3).Caption = "Giíi TÝnh"
  • 86. ***TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN - BỘ MÔN CÔNG NGHỆ THÔNG TIN.*** ĐỀ TÀI: QUẢN LÝ CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG. 86 .Columns(3).DataField = "Gioitinh" .Columns(3).Width = 1000 .Columns(4).Caption = "D©n Téc" .Columns(4).DataField = "DanToc" .Columns(4).Width = 1200 .Columns(5).Caption = "Quª Qu¸n" .Columns(5).DataField = "QueQuan" .Columns(5).Width = 2000 .Columns(6).Caption = "N¬i ë " .Columns(6).DataField = "noioHienNay" .Columns(6).Width = 2000 .Columns(7).Caption = "Phßng" .Columns(7).DataField = "Phong" .Columns(7).Width = 2000 .Columns(8).Caption = "Chøc Vô" .Columns(8).DataField = "ChucVu" .Columns(8).Width = 2000 .Columns(9).Caption = "Tr×nh §é" .Columns(9).DataField = "trinhDO" .Columns(10).Caption = "Chuyªn M«n" .Columns(10).DataField = "ChuyenMon" .Columns(11).Caption = "Ngµy Vµo biªn chÕ" .Columns(11).DataField = "Ngayvaobienche" End With End Sub