Đề tài Xây dựng chương trình quản lý nhân sự và Tiền lương của Trung tâm công nghệ thông tin thuộc Công ty Điện lực Hà Nội

Microsoft Visual Basic là một ngôn ngữ lập trình được hãng Microsoft phát triển .Visual Basic gắn liền với khái niệm lập trình trực quan, nghĩa là khi thiết kế chương trình bạn nhìn ngay thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là thuận lợi lớn so với ngôn ngữ lập trình khác, Visual Basic cho phép bạn chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng. Về mặt công nghệ lập trình cũng như tổ chức môi trường làm việc, phiên bản 5.0 và 6.0 có nhiều ưu điểm hơn. Mặt khác, phiên bản 5.0 32 bit và 6.0 được phép xây dựng các ứng dụng 32 bit với môi trường làm việc là Microsoft Windows 98, Window 2000. Cụ thể:

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

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

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