Đồ án Xây dựng chương trình quản lý nhân sự Khoa Công nghệ thông tin

doc 79 trang phuongvu95 6781
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng chương trình quản lý nhân sự Khoa Công nghệ thông tin", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docdo_an_xay_dung_chuong_trinh_quan_ly_nhan_su_khoa_cong_nghe_t.doc

Nội dung text: Đồ án Xây dựng chương trình quản lý nhân sự Khoa Công nghệ thông tin

  1. LỜI CẢM ƠN Trong suốt quá trình thực hiện đồ án tốt nghiệp, với sự nỗ lực học hỏi của bản thân, cùng với sự tạo điều kiện về thời gian, công việc của các thầy cô giáo trong khoa đến nay em đã hoàn thành đồ án tốt nghiệp của mình với đề tài"Xây dựng chương trình quản lý nhân sự Khoa Công nghệ thông tin”. Đề tài của em đã đạt được kết quả như ngày hôm nay là nhờ được sự quan tâm, tận tình chỉ bảo của cô giáo Nguyễn Thị Tuyển đã hướng dẫn em và các thầy cô giáo trong Khoa. Tiếp đến là sự động viên của gia đình và ý kiến đóng góp của các bạn cùng lớp. Qua đây em xin bày tỏ lòng biết ơn sâu sắc tới cô giáo Nguyễn Thị Tuyển , gia đình và bạn bè đã giúp em hoàn thành đồ án tốt nghiệp này. Thái Nguyên, ngày 01 tháng 05 năm 2008 Sinh viên Nguyễn Việt Hưng
  2. MỤC LỤC LỜI CẢM ƠN 1 LỜI NÓI ĐẦU 4 CHƯƠNG 1 7 TỔNG QUAN VỀ NGÔN NGỮ VISUAL BASIC 6.0 7 1.1. GIỚI THIỆU 7 1.2. ĐỐI TƯỢNG VÀ CÁCH SỬ DỤNG ĐỐI TƯỢNG 7 1.2.1. Đối tượng (Object) 7 1.2.2. Cách truy xuất đối tượng 7 1.2.3. Viết lệnh cho đối tượng 8 1.3. CỬA SỔ PROPERTIES 8 1.4. BIẾN, HẰNG VÀ CÁC KIỂU DỮ LIỆU 8 1.4.1. Biến 8 1.4.2. Hằng 9 1.4.3. Các kiểu dữ liệu cơ bản trong VB6.0 9 1.5. CẤU TRÚC ĐIỀU KHIỂN 9 1.5.1. Cấu trúc chọn 9 1.5.2. Cấu trúc lặp 10 1.6. GIỚI THIỆU SƠ LƯỢC CÁC KỸ THUẬT KẾT NỐI CSDL 12 1.6.1. Giới thiệu kỹ thuật lập trình ADO 13 1.6.2. Đối tượng Connection và đối tượng Recordset 15 CHƯƠNG 2 16 PHÂN TÍCH BÀI TOÁN QUẢN LÝ HỒ SƠ CÁN BỘ 16 2.1. HIỆN TRẠNG 16 Cơ cấu tổ chức của Khoa Công nghệ thông tin: 17 2.2. CÁC YÊU CẦU THỰC TẾ 20 2.3. MỤC TIÊU ĐẠT ĐƯỢC CỦA PHẦN MỀM 20 2.4. CÁC MẪU BIỂU CẦN THIẾT 21 2.4.1. Mẫu sơ yếu lý lịch 21 2.4.2. Quá trình công tác 22 2.4.3. Diễn biến quá trình hưởng lương của một cán bộ 23 2.4.4. Quá trình bồi dưỡng 23 2.4.5. Quá trình đào tạo 23 2.4.6. Quan hệ gia đình 24 2
  3. 2.4.7. Quan hệ thân nhân đang ở nước ngoài 24 2.4.8. Nước ngoài đã đến 25 2.4.9. Khen thưởng, kỷ luật 25 2.4.10. Quá trình bồi dưỡng lý luận chính trị 25 2.4.11. Trình độ ngoại ngữ 26 2.4.12. Trình độ tin học 26 2.5. CÁC BÁO CÁO TỔNG HỢP 27 CHƯƠNG 3 32 PHÂN TÍCH HỆ THỐNG QUẢN LÝ HỒ SƠ CÁN BỘ 32 3.1. ĐẶT VẤN ĐỀ 32 3.2. XÂY DỰNG SƠ ĐỒ PHÂN CẤP CHỨC NĂNG 32 3.3. XÂY DỰNG BIỂU ĐỒ LUỒNG DỮ LIỆU 34 3.3.1. Biểu đồ luồng dữ liệu mức khung cảnh 34 3.3.2. Biểu đồ luồng dữ liệu mức đỉnh 35 3.3.3. Biểu đồ luồng dữ liệu mức dưới đỉnh 36 3.4. THIẾT KẾ CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG 47 3.4.1. Các thực thể 47 3.4.2. Sơ đồ thực thể liên kết E-R 55 CHƯƠNG 4 56 THIẾT KẾ CHƯƠNG TRÌNH 56 4.1. LỰA CHỌN NGÔN NGỮ 56 4.2. MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH 56 4.2.1. Chức năng Cập nhật danh mục 56 4.2.2. Chức năng Cập nhật hồ sơ 58 4.2.3. Chức năng Tìm kiếm 59 KẾT LUẬN 61 1. Kết quả đạt được 61 2. Hạn chế 61 3. Hướng mở rộng của đề tài 61 TÀI LIỆU THAM KHẢO 62 PHẦN PHỤ LỤC 63 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 79 3
  4. LỜI NÓI ĐẦU 1. Tính cấp thiết của đề tài Bước vào thế kỷ XXI, thế kỷ của sự phát triển công nghệ thông tin đặc biệt là sự phát triển mạnh mẽ trong việc truy cập Internet hay các Website và các dịch vụ trên mạng như: thương mại điện tử, đào tạo từ xa, các dịch vụ giải trí, du lịch, các thông tin văn hoá xã hội Công nghệ thông tin đã tham gia vào tất cả các lĩnh vực của xã hội, các mạng máy tính giúp cho công việc trở nên nhanh chóng, chính xác với một khối lượng lớn, xử lý thông tin trong một thời gian ngắn. Các sản phẩm của ngành công nghệ thông tin là: phần cứng, phần mềm, trí tuệ nhân tạo được ứng dụng hầu hết trong các lĩnh vực khác nhau của xã hội, chính vì sự phát triển ưu thế của lĩnh vực này mà nhiều cơ quan, xí nghiệp, công ty, trường học có nhu cầu tin học hoá trong công tác quản lý của mình. Công nghệ thông tin đang đưa mọi người vào một kỷ nguyên thông tin mở rộng và tin cậy. Sự mở rộng này giúp ích con người được rất nhiều trong công việc tưởng như không làm được. Công nghệ thông tin đã thâm nhập vào tất cả các lĩnh vực của cuộc sống, Công nghệ thông tin cho phép truy nhập và khai thác các cơ sở dữ liệu thuộc nhiều lĩnh vực kinh tế xã hội, các ngành nghề khác nhau như các thông tin về khoa học kỹ thuật, giáo dục và đào tạo, y tế, thương mại, thị trường giá cả, dự báo thời tiết và rất nhiều các dịch vụ thương mại điện tử như một công cụ đắc lực không thể thiếu. Thực tế, Công nghệ thông tin đang diễn ra hết sức sôi động ở hầu khắp các quốc gia trên thế giới, cuộc cách mạng này nhằm chuyển dịch từ trọng tâm là cung cấp hàng hoá sang trọng tâm là cung cấp thông tin công nghệ cao và trí tuệ. Một xã hội mà trong đó thông tin luôn được sử dụng với tốc độ cao, như một khía cạnh của đời sống khoa học xã hội và chính trị. Công nghệ thông tin đã hỗ trợ đắc lực cho con người và giải phóng con người khỏi các công việc thủ công, nhàm chán, vất vả. Ngày nay, việc phổ cập, sử dụng, khai thác máy tính điện tử trong các công việc như quản lý, thương mại, tài chính và các ngành công nghệ khác đã khiến cho nhu cầu trao đổi thông tin ngày càng lớn. Từ đó thúc đẩy các mạng dữ liệu 4
  5. điện tử, các dịch vụ thông tin bao quát toàn bộ các lĩnh vực kinh tế, văn hoá, y tế, giáo dục đào tạo và các hoạt động khác như: ngân hàng điện tử, quản lý dự án Việc thiết kế và chế tạo hệ thống máy tính đã mang lại cho con người rất nhiều thành quả to lớn trong cuộc sống. Vì vậy, một lần nữa có thể khẳng định việc ứng dụng công nghệ thông tin vào thực tiễn công việc của mỗi cá nhân nói riêng và các hoạt động của xã hội nói chung là hoàn toàn phù hợp và cần thiết hơn bao giờ hết. Bài toán quản lý nói chung cũng như bài toán quản lý hồ sơ cán bộ nói riêng đã không còn mới mẻ trong công tác quản lý của các nhà trường, tuy nhiên đối với đặc thù của từng đơn vị, chương trình đòi hỏi phải mang tính hiện thực và đáp ứng được nhu cầu của người sử dụng. Là một sinh viên đang nghiên cứu, học tập tại Khoa Công nghệ thông tin, mặc dù hiện nay Khoa đã có một phần mềm quản lý nhân sự nhưng như đã nói ở trên phần mềm này chưa hoàn toàn phù hợp với đặc thù của Khoa, xuất phát từ thực tế khảo sát công tác quản lý hồ sơ cán bộ của Khoa Công nghê thông tin nên em quyết định chọn đề tài “Xây dựng chương trình Quản lý nhân sự Khoa Công nghệ thông tin” làm đề tài tốt nghiệp. 2. Mục đích nghiên cứu của đề tài Tìm hiểu thực tế công tác quản lý hồ sơ cán bộ của Khoa Công nghệ thông tin; thiết kế một số chức năng của bài toán bằng phần mềm Visual Basic 6.0, bước đầu xây dựng và chạy thử chương trình. Từ đó rút ra những kết quả đạt được và hạn chế của bài toán nhằm giúp người trực tiếp làm công tác quản lý hồ sơ có thể sử dụng và khai thác hiệu quả công tác quản lý hồ sơ cán bộ tại đơn vị mình. 3. Đối tượng nghiên cứu của đề tài Chương trình Quản lý nhân sự Khoa Công nghệ thông tin. 4. Nhiệm vụ nghiên cứu Bước đầu Phân tích, Thiết kế hệ thống thông tin và Hệ quản trị cơ sở dữ liệu Visual Basic 6.0. Tìm hiểu cơ sở của công tác quản lý hồ sơ. Khảo sát, đánh giá hiện trạng hệ thống quản lý hồ sơ cán bộ Khoa Công nghệ thông tin. 5
  6. Phân tích và thiết kế hệ thống quản lý Hồ sơ cán bộ Khoa Công nghệ thông tin. Xây dựng và cài đặt chương trình. Kết luận: đánh giá kết quả đạt được và hạn chế của chương trình, đồng thời đưa ra giải pháp cũng như hướng mở rộng của chương trình. 5. Phương pháp nghiên cứu - Khảo sát hiện trạng; - Tìm hiểu trực tiếp và trao đổi với Lãnh đạo phòng Tổng hợp; - Khái quát và đi đến phân tích chi tiết bài toán; - Xây dựng, cài đặt và chạy thử nghiệm chương trình. Vì thời gian tìm hiểu còn hạn hẹp, vốn kiến thức mới được trang bị còn nhiều hạn chế, chắc chắn báo cáo còn nhiều thiếu xót, em rất mong nhận được những ý kiến đóng góp, chỉ bảo kịp thời của các thầy cô giáo, các bạn để đề tài tốt nghiệp của em được đầy đủ và hoàn thiện hơn. Em xin chân thành cảm ơn! 6
  7. CHƯƠNG 1 TỔNG QUAN VỀ NGÔN NGỮ VISUAL BASIC 6.0 1.1. GIỚI THIỆU Visual Basic là một công cụ lập trình trực quan của Microsoft, giúp chúng ta có thể xây dựng một cách nhanh và hiệu quả các ứng dựng trên Windows. Khác với các môi trường lập trình hướng thủ tục trước đây Visual Basic là môi trường lập trình hướng đối tượng trên Windows. Visual Basic không chỉ cung cấp một bộ công cụ hoàn chỉnh để đơn giản hoá việc triển khai lập trình ứng dụng, mà Visual Basic còn cung cấp cho chúng ta công cụ để kết nối CSDL một cách thật dễ dàng. Khi thiết kế một chương trình bằng Visual Basic người làm luôn phải trải qua hai bước chính đó là: - Thiết kế giao diện: Thiết kế giao diện chính là thiết kế hình dạng của Form, việc bố trí các điều khiển trên đó như thế nào. - Viết lệnh cho các điều khiển: Dùng các lệnh trong Visual Basic để quy định cách ứng xử cho mỗi Form và cho mỗi Control. 1.2. ĐỐI TƯỢNG VÀ CÁCH SỬ DỤNG ĐỐI TƯỢNG 1.2.1. Đối tượng (Object) Như trên đã nói Visual Basic là một ngôn ngữ lập trình theo kiểu hướng đối tượng vì vậy làm việc với Visual Basic chính là làm việc với các đối tượng. Đặc điểm của các đối tượng trong chương trình: - Mỗi đối tượng đều có một tên để phân biệt. - Mối đối tượng đều có nhiều đặc tính, những đặc tính này được gọi là các thuộc tính (Property) của đối tượng đó. - Mỗi đối tượng này đều có nhiều hoạt động và các hoạt động này được gọi là các phương thức (Method) của nó. - Mỗi đối tượng đều có những phản ứng (sự kiện). 1.2.2. Cách truy xuất đối tượng Truy xuất đối tượng là đặt các thuộc tính cho đối tượng này, bất cứ khi nào bạn truy xuất đối tượng đều được viết theo cú pháp sau: . 7
  8. 1.2.3. Viết lệnh cho đối tượng Khi người làm đặt một điều khiển lên Form lúc đầu nó chưa hoạt động vì vậy, phải viết lệnh cho đối tượng bằng cách chọn đối tượng sau đó vào Menu View/Code (hoặc Double Click vào đối tượng hoặc Right Click vào đối tượng sau đó chọn View Code) khi đó cửa sổ lệnh hiện ra, chúng ta có thể viết lệnh vào cửa sổ đó. Mỗi phần mã lệnh cho một sự kiện xảy ra trên một đối tượng đều có hai dòng tiêu đề đầu là Sub và cuối là End Sub bạn hãy giữ nguyên hai dòng này và viết mã lệnh vào giữa hai dòng đó. Visual Basic có đặc điểm là tự kiểm tra cú pháp khi chúng ta viết lệnh. Khi viết xong một dòng lệnh và chuyển sang một dòng lệnh khác thì VB sẽ kiểm tra câu lệnh vừa viết nếu có lối thì sẽ báo còn lại tự động đối chữ thường, chữ hoa cho chương trình được rõ ràng. 1.3. CỬA SỔ PROPERTIES Cửa sổ này cho phép lập trình viên xem xét và sửa đổi các thuộc tính của biểu mẫu và các điều khiển trong lúc thiết kế. Phần trên cửa sổ là danh sách các đối tượng. Đối tượng được chọn trong danh sách này sẽ có các thuộc tính của nó hiển thị ở phần bên dưới của cửa sổ. 1.4. BIẾN, HẰNG VÀ CÁC KIỂU DỮ LIỆU 1.4.1. Biến Biến được dùng để lưu tạm thời các giá trị tính toán trong quá trình xử lý của chương trình. Khi xử lý một chương trình người làm luôn cần phải lưu trữ một giá trị nào đó để tính toán hoặc để so sánh . Mỗi biến được đặc trưng bằng một cái tên, biến không có sẵn trong chương trình muốn sử dụng chúng thì phải khai báo bằng một trong các cách thức sau: Dim/Static/Public/Global As Khai báo với từ khóa Dim, Static dùng để khai báo cho những biến cục bộ. Khai báo với từ khóa Public, Global dùng để khai báo biến dùng chung cho toàn bộ chương trình. 8
  9. 1.4.2. Hằng Hằng dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong suốt thời gian chương trình hoạt động. Sử dụng hằng số làm chương trình sáng sủa, dễ đọc nhờ những tên gợi nhớ thay vì các con số. VB cung cấp một số hằng định nghĩa sẵn, nhưng ta cũng có thể tự tạo hằng. Khai báo hằng: [Public| Private] const As = 1.4.3. Các kiểu dữ liệu cơ bản trong VB6.0 Khi khai báo một biến trong chương trình tức là chúng ta đã tạo ra một khoảng bộ nhớ để lưu giá trị đó, khoảng bộ nhớ đó lớn hay nhỏ tùy thuộc vào biến đó được khai báo theo kiểu gì. Khi khai báo điều quan trọng là xác định biến cho phù hợp với các giá trị đưa vào Các kiểu dữ liệu chuẩn như: String: Là dữ liệu kiểu chuỗi, khoảng giá trị có thể lên đến hai tỷ ký tự. Nhận biết biến này bằng tiếp vĩ ngữ $. Byte: Là các số nguyên dương, khoảng giá trị từ 0 đến 255. Long: Là các số nguyên, khoảng giá trị từ –2.147.483.648 đến 2.147.483.647. Nhận biết biến này bằng dấu & ở cuối. Integer: Là các số nguyên. Nhận biết dấu này bằng dấu % ở cuối. Single: Là các số có dấu chấm thập phân. Nhận biết dấu này bằng dấu ! ở cuối. Double: Là các số có dấu chấm thập phân. Nhận biết bằng dấu # ở cuối. Date: Lưu trữ thông tin về thời gian. Nhận biết bằng dấu # ở đầu và ở cuối. Boolean: Biến logic có giá trị là true, hay false dùng để gán giá trị trong các câu lệnh điều kiện . 1.5. CẤU TRÚC ĐIỀU KHIỂN 1.5.1. Cấu trúc chọn Câu lệnh If Then If then End if 9
  10. Câu lệnh If Then Else If then . Else End If Câu lệnh Select Case Cú pháp: Select Case Case Case Case else End select 1.5.2. Cấu trúc lặp 1.5.2.1. Câu lệnh Do Loop Thi hành một khối lệnh với số lần lặp không định trước.Trong đó, một biểu thức điều kiện dùng để so sánh để quyết định vòng lặp có tiếp tục không. Điều kiện phải quy về False (0), hoặc True (Khác 0). Cú pháp 1: Lặp khi điều kiện là true Do While [Exit do] Loop Cú pháp 2: Vòng lặp luôn có ít nhất một lần thi hành khối lệnh 10
  11. Do [Exit do] While loop Cú pháp 3: Lặp trong khi điều kiện là false Do Until [Exit do] Loop Cú pháp 4: Lặp trong khi điều kiện là False và có ít nhất một lần thi hành khối lệnh. Do [Exit do] Loop Until 1.5.2.2. Câu lệnh For Next Biết trước số lần lặp. Ta dùng biến đếm tăng dần hoặc giảm dần trong vòng lặp. Cú pháp: For counter=Start to End [Step step] [Exit For] Next counter Trong đó: - Counter: là biến đếm kiểu số nguyên. - Start: là giá trị bắt đầu của Counter. - End: là giá trị kết thúc của Counter. 11
  12. - Step: bước nhảy của mỗi lần lặp, nếu không có giá trị này thì mặc định bước nhảy bằng 1. 1.5.2.3. Câu lệnh For Each Next Tương tự vòng lặp For Next, nhưng nó lặp khối lệnh theo số phần tử của một tập các đối tượng hay một mảng thay vì theo số lần lặp xác định. Vòng lặp này tiện lợi khi ta không biết chắc có bao nhiêu phần tử trong tập hợp. Cú pháp For Each In Exit For Next 1.5.2.4. Câu lệnh Goto Được dùng cho bẫy lỗi On Error Goto vbErrorHandler Khi có lỗi chương trình sẽ nhảy đến nhãn vbErrorHandler và thi hành các dòng lệnh ở đó. 1.6. GIỚI THIỆU SƠ LƯỢC CÁC KỸ THUẬT KẾT NỐI CSDL + DAO (Data Acess Objects): Là kỹ thuật kết nối CSDL riêng của Microsoft. Kỹ thuật này chỉ dùng với Jet Database Engine. Ưu điểm của kỹ thuật này là tính dễ dùng, nhanh chóng và tiện lợi. Tuy nhiên DAO chỉ có thể liên kết được với hệ quản trị CSDL Microsoft Acess. + ODBC (Open Database Connectivity): Được thiết kế để cho chương trình kết nối với nhiều loại CSDL mà chỉ dùng một phương cách duy nhất. Nó giúp cho lập trình viên chỉ sử dụng một phương thức duy nhất để truy cập vào các hệ quản trị CSDL. Hơn thế, khi chúng ta nâng cấp lên hệ quản trị CSDL cao hơn (Ví dụ: nâng cấp từ Acess lên QLServer) thì sự sửa đổi trong chương trình sẽ rất ít. + RDO (Remote Data Object): Được thiết kế để giải quyết những khó khăn của ODBC. Cách lập trình với RDO đơn giản như DAO, nhưng khả năng của nó thì 12
  13. như ODBC. RDO cho phép nhiều chương trình kết nối với CSDL. Tuy nhiên RDO không được sử dụng nhiều + ADO (ActiveX Data Objects): ADO cho phép ta làm việc với mọi loại nguồn dữ liệu (data sources), không nhất thiết phải là CSDL Microsoft Acess hay SQLServer. Data sources có thể là danh sách các địa chỉ Email, hay một file text trong do mỗi hàng là một record gồm những fields ngăn cách bởi các dấu phẩy hay dấu tab. Nếu trong DAO ta dùng thẳng tên CSDL Microsoft Acess thì trong ADO cho ta nối với một CSDL qua một connection bằng cách chỉ định một Connection String. 1.6.1. Giới thiệu kỹ thuật lập trình ADO ADO là một kỹ thuật lập trình kết nối cơ sở dữ liệu phát triển gần đây nhất của VB. Không giống như những kỹ thuật truy nhập CSDL khác của VB (RDO, DAO) ADO có thể cung cấp cho người lập trình nhiều chọn lựa trong việc truy xuất dữ liệu. Mặt khác, ADO không truy cập trực tiếp đến một cơ sở dữ liệu, ADO làm việc với tầng thấp hơn là OLEDB Provider và OLEDB Provider này có nhiệm vụ truy xuất đến nhiều loại dữ liệu khác nhau, sau đó trình bày CSDL ngược lại đến ADO. Thuận lợi nhất của ADO là chúng ta có thể thay đổi OLE DB provider. Kỹ thuật ADO cho phép truy cập dữ liệu thông qua 2 cách: Data controls (các điều khiển dữ liệu): Là một điều khiển có chức năng giao tiếp, cập nhật CSDL. Để nhìn thấy dữ liệu ta phải dùng một số control thông thường khác (textbox, checkbox, label, ) thiết lập một số thuộc tính và kết buộc dữ liệu _databinding đến data control này. Object interface (giao tiếp đối tượng). Nếu không dùng sẵn các data control của VB thì ta vẫn có thể truy xuất dữ liệu bằng cách tạo một tham chiếu đến ADO - một tập hợp các đối tượng mới được tạo ra này sẽ luôn có sẵn trong chương trình khi cần dùng đến. Do đó bạn có thể thao tác dữ liệu trực tiếp từ code chương trình (dùng các phương thức và thuộc tính do các đối tượng này cung cấp) mà không phải dùng bất kỳ data control nào. Tuy data control dễ thiết lập hơn nhưng sử dụng Object interface thì mạnh hơn và uyển chuyển hơn. 13
  14. 1.6.1.1. Sử dụng ADO DataControl ADO Data Control không có sẵn trên hộp thanh công cụ Toolbox như một số control thông dụng khác do đó người làm phải đưa vào bằng cách: Trên menu của VB chọn Project ->Components (hoặc Click chuột phải trên Toolbox chọn Components), trong Tab control bạn Check vào ô “Microsoft ADO Data Control 6.0 (OLEDB)” rồi nhấn nút Apply. Người làm có thể tạo mới một Form đặt thuộc tính Name, caption. Kế tiếp, có thể vẽ control này vào Form, lấy tên là ADODC1. Kết nối ADO Data với nguồn dữ liệu từ CSDL, chúng ta có thể thực hiện qua 2 bước sau: Bước 1: Tạo một Connection đến CSDL Click chuột chọn ADODC1, trong cửa sổ Properties chọn thuộc tính Connectionstring bạn Click vào Button hiện ra cửa sổ Property Page xuất hiện 3 chọn lựa, chọn option thứ 3 là “Use Connection String”, click ‘Build’, chọn Provider là “Microsoft Jet 4.0 OLE DB Provider” click Next để chỉ đường dẫn đến database. Kế tiếp click ‘Test Connection’ nếu thấy thành công ->OK->Apply - >OK Bước 2: Thiết lập Record Source từ CSDL Người làm cần chỉ ra tập hợp mẩu tin nào sẽ được lấy ra từ nguồn dữ liệu trên. Trong cửa sổ Properties chọn thuộc tính Record Source khi đó bạn Click vào Button hiện ra cửa sổ Property page. Chọn Combobox ‘Command Type’, chọn ‘2_adCmdTable’, chọn lấy một bảng DL trong Combobox thứ 2 và nhấn nút OK. Để hiển thị dữ liệu từ ADO Data Control người làm cần phải có các Control thông thường được ‘kết buộc dữ liệu’ (data binding) với ADO Data Control này. 1.6.1.2. Sử dụng Object InterFace Nếu không dùng các Data Controls của ADO, người làm vẫn có thể giao tiếp với CSDL thông qua các đối tượng có sẵn trong thư viện ADO. Đầu tiên người làm phải tạo một kết nối đến CSDL, sau đó chọn ra nguồn dữ liệu cần thao tác. ADO cung cấp đối tượng ‘Connection’ để kết nối CSDL, đối tượng ‘Recordset’ để chứa tập các mẩu tin mà người dùng cần khai thác, đồng thời cung cấp một số phương pháp cho người dùng truy cập và cập nhật dữ liệu, ngoài ra 14
  15. còn có đối tượng ‘Command’ để thực thi một câu lệnh SQL hay gọi một thủ tục trong Database. Khai báo thư viện ADO để cử dụng các đối tượng trên: Vào menu Project -> References -> check vào ô ”Microsoft Active Data Objects 2.7. Library”. Nếu thấy thư viện này đã được check trước bạn có thể uncheck rồi check version mới nhất. 1.6.2. Đối tượng Connection và đối tượng Recordset 1.6.2.1. Đối tượng Connection Lệnh khai báo và khởi động đối tượng Connection Dim tên_connection as new ADODB.connection Hoặc là: Dim tên_connection as ADODB.connection Set tên_connection = new ADODB.connection Chỉ ra chuỗi kết nối CSDL (Connnection String) Tên_biến.ConnectionString Có thể sử dụng: - Đường dẫn trực tiếp trong ConnectionString - Đường dẫn tương đối qua đối tượng APP do VB cung cấp để chỉ ra vị trí lưu trữ database. Mở kết nối Tên_connection.Open Để kiểm tra việc kết nối có thành công hay không dùng thuộc tính state: Nếu kết nối thành công thì tên_connection.state=adStateOpen (hay1) Ngược lại thì tên_connection.state = adStateClose (hay 0) Đóng kết nối Tên_connection.Close 1.6.2.2. Đối tượng Recordset (Là tập hợp các mẫu tin) Khai báo và khởi tạo đối tượng Recordset Dim tên_recordset as ADODB.Recordset Set tên_recordset = new ADODB.Recordset Hoặc: Dim tên_recordset as new ADODB.Recordset Dùng phương thức Open chọn nguồn dữ liệu. Cách 1: 15
  16. Tên_recordset.Open Source, ActiveConnection,CursorType, LockType, Option Source là một câu lệnh SQL hoặc tên một table ActiveConnection: Tên_connection kết nối CSDL CursorType: Chỉ dịnh loại con trỏ sử dụng trong recordset LockType: Kiểu khoá mẩu tin Option: Tuỳ chọn Cách 2: Có thể gán trực tiếp các giá trị trên các thuộc tính của recordset Tên_recordset.ActiveConnection = Tên_recordset.Source = Tên_recordset.CursorType = Tên_recordset.LockType = Gọi phương thức Open : Tên_recordset.Open Lâý giá trị của Field Truy xuất dữ liệu trong recordset →chọn Field cần lấy giá trị Có 3 cách: Tên_recordset.Fileds (“tên_field”) Tên_recordset.Fields (index) Tên_recordset ! tên_field Các thao tác trên mẩu tin Thêm một mẩu tin: Tên_recordset.AddNew Sửa một mẩu tin: Tên_recordset.Update Xoá một mẩu tin: Tên_recordset.Delete Tìm kiếm mẩu tin: Tên_recordset.Find Criteria, Skiprecord, SearchDirection, Start Thuộc tính Bookmark, AbsolutePosition của đối tượng recordset Tên_recordset.Bookmark cho biết vị trí xác định là duy nhất của mẩu tin hiện hành trong recordset Tên-recordset.Absoluteposition lưu trữ thông tin vị trí của mẩu tin hiện hành trong recordset CHƯƠNG 2 PHÂN TÍCH BÀI TOÁN QUẢN LÝ HỒ SƠ CÁN BỘ 2.1. HIỆN TRẠNG 16
  17. Cơ cấu tổ chức của Khoa Công nghệ thông tin: KHOA CÔNG NGHỆ THÔNG TIN BM Các Phòng HTTT Tổng hợp BM CNPM Phòng Đào tạo, BM KH&Q CNĐKTĐ HQT LÃNH Phòng BM ĐTVT Công ĐẠO tác BM KHCB HSSV KHOA BM Phòng KHMT Thanh tra, KT&Đ BM KTMT BCLGD BM MMT&TT Phòng Thực hành, VP triển Đoàn TN khai - Lãnh đạo Khoa gồm: 1 Trưởng khoa, 2 Phó Trưởng Khoa. - Các Phòng chức năng và phòng chuyên môn gồm: 4 phòng chức năng, 1 phòng chuyên môn, 1 văn phòng Đoàn TN. 17
  18. + Phòng Tổng hợp; + Phòng Đào tạo, Khoa học và Quan hệ quốc tế; + Phòng Công tác Học sinh sinh viên; + Phòng Thanh tra, Khảo thí và Đảm bảo chất lượng giáo dục; + Phòng Thực hành, Triển khai CNTT &TT; + Văn phòng Đoàn Thanh niên. - Các bộ môn: gồm 8 bộ môn + Bộ môn Các hệ thống thong tin; + Bộ môn Công nghệ phần mềm; + Bộ môn Công nghệ điều khiển tự động; + Bộ môn Điện tử viễn thông; + Bộ môn Khoa học máy tính; + Bộ môn Khoa học cơ bản; + Bộ môn Kỹ thuật máy tính; + Bộ môn Mạng máy tình và truyền thông. Phòng Tổng hợp có nhiệm vụ tham mưu, quản lý và tổ chức thực hiện các nhiệm vụ do Trưởng khoa giao trong các lĩnh vực công tác: hành chính tổng hợp, kế hoạch tài chính, tổ chức cán bộ, quản trị thiết bị, y tế, bảo vệ và thi đua. Trong đó, bộ phận tổ chức cán bộ có nhiệm vụ hết sức quan trọng đó là, tham mưu giúp việc cho Trưởng khoa thực hiện các công tác tổ chức cán bộ: quy hoạch, bồi dưỡng, bố trí, quản lý đội ngũ cán bộ, công tác xây dựng, kiện toàn và nâng cao hiệu lực bộ máy quản lý, công tác chế độ chính sách, an toàn và bảo hộ lao động trong Khoa. - Trực tiếp nghiên cứu và đề xuất các phương án xây dựng và kiện toàn bộ máy quản lý của Khoa: xây dựng cơ cấu tổ chức, chức năng, nhiệm vụ của các đơn vị trong Khoa. - Phối hợp với các bộ môn và các đơn vị hữu quan lập quy hoạch xây dựng, phát triển và bồi dưỡng đội ngũ cán bộ giảng dạy, cán bộ nghiên cứu, cán bộ nghiệp vụ có phẩm chất tốt, có trình độ chuyên môn cao để đáp ứng nhu cầu phát triển Khoa. - Phối hợp với các đơn vị liên quan thực hiện quy trình xét duyệt phong học hàm cho cán bộ giảng dạy và cán bộ khoa học trong Khoa để trình Trưởng khoa. 18
  19. - Chỉ đạo xây dựng chức năng nhiệm vụ của các đơn vị trong Khoa cũng như các hệ thống quy định, quy tắc, nội quy làm việc trong Khoa. - Quản lý hồ sơ, lý lịch của cán bộ, công chức, viên chức trong toàn Khoa, phối hợp với các bộ phận liên quan nắm vững lịch sử chính trị phẩm chất đạo đức, năng lực chuyên môn của từng người để tham mưu cho Lãnh đọa khoa về công tác cán bộ, công tác quy hoạch đội ngũ. - Tổ chức việc thực hiện quy trình tuyển dụng cán bộ, viên chức mới, ký kết các hợp đồng khoán việc, hợp đồng tuyển dụng ngắn và dài hạn phục vụ cho công tác đào tạo, nghiên cứu khoa học và triển khai công nghệ của Khoa. - Phối hợp với các bộ phận chức năng khác tổ chức lập hồ sơ xét duyệt khen thưởng và xử lý kỷ luật đối với cán bộ, viên chức để trình Trưởng khoa ra quyết định khen thưởng, kỷ luật. - Soạn thảo các văn bản về tổ chức cán bộ do Trưởng khoa ban hành. - Thực hiện các chế độ chính sách của Nhà nước đối với cán bộ, viên chức trong Khoa. - Theo dõi tổ chức xét duyệt lương, phụ cấp, nâng bậc lương, tổ chức thi chuyên môn cho cán bộ, viên chức theo các quy định của Đại học Thái Nguyên để trình Trưởng khoa. - Phối hợp với các bộ phận liên quan theo dõi và tổ chức kiểm tra việc chấp hành tổ chức kỷ luật trong Khoa. Chủ trì việc phổ biến các chế độ chính sách mới cho cán bộ, viên chức. - Xét cấp giấy nghỉ phép hàng năm, nghỉ không lương, làm các thủ tục nghỉ hưu, nghỉ mất sức, thôi việc cho cán bộ viên chức theo đúng chế độ, chính sách. - Xây dựng quy chế và đề xuất biện pháp thực hiện an toàn và bảo hộ lao động trong Khoa. Tổ chức việc kiểm tra thường xuyên công tác an toàn lao động ở các đơn vị, xử lý kịp thời các vụ việc tai nạn lao động. - Kết hợp cùng các bộ phận liên quan tổ chức kiểm tra, xem xét môi trường làm việc của cán bộ, viên chức. Phối hợp cùng bộ phận y tế thường xuyên tổ chức định kỳ khám bệnh nghề nghiệp cho cán bộ, viên chức làm việc trong các môi trường độc hại để có cơ sở đề nghị các chế độ bồi dưỡng và bảo hiểm hợp lý. 19
  20. Từ các chức năng và nhiệm vụ nêu trên của Phòng Tổng hợp nói chung và bộ phận tổ chức cán bộ nói riêng, chúng ta có thể thấy rõ được những công việc cơ bản của Phòng khi tuyển cán bộ mới đó là: Bộ phận tổ chức cán bộ của phòng Tổng hợp sẽ xem xét hồ sơ, dựa vào trình độ chuyên môn được đào tạo và nhu cầu của các đơn vị, tham mưu cho Lãnh đạo Khoa để phân công, sắp xếp công việc cho phù hợp, đồng thời, lưu vào sổ để tiện theo dõi. Hiện nay việc quản lý hồ sơ cán bộ của Khoa Công nghệ thông tin vẫn thực hiện một cách thủ công, được xếp theo bộ môn, theo phòng ban và cất trong tủ đựng hồ sơ. Vì vậy, việc tìm kiếm thông tin trong mỗi hồ sơ mất rất nhiều thời gian. 2.2. CÁC YÊU CẦU THỰC TẾ Qua sự tìm hiểu về thực tế trong việc quản lý Hồ sơ cán bộ Khoa Công nghệ thông tin, hòa chung với xu hướng tin học hóa công tác quản lý trong các nhà trường em nhận thấy cần phải xây dựng một chương trình quản lý hồ sơ cho phép lưu trữ, cập nhật dữ liệu một cách dễ dàng, với kết quả lớn, cho phép ghi nhận hồ sơ một cách đầy đủ, nhanh chóng, chính xác, giúp cho quá trình tìm kiếm, tra cứu, thống kê, báo cáo hồ sơ một cách khoa học, hỗ trợ được các cách tìm kiếm khác nhau, các loại tra cứu khác nhau, các loại báo cáo, thống kê khác nhau. Đồng thời chương trình cần phải đáp ứng được các yêu cầu thực tế khi gia tăng nội dung trong hồ sơ và số lượng hồ sơ tức là chương trình cần có các chức năng sửa, xóa, cập nhật dữ liệu, từ đó một yêu cầu được đặt ra là phải có cách tổ chức dữ liệu linh hoạt, khoa học, chứa được lượng dữ liệu khá lớn, thuận tiện cho việc thêm, xóa và cập nhật dữ liệu . . . Vấn đề phân quyền trong công tác quản lý cũng là một yêu cầu tất yếu cần phải được thiết lập trong chương trình để tránh tình trạng dữ liệu gốc bị thay đổi sai lệch bởi những người không được quyền sửa đổi. 2.3. MỤC TIÊU ĐẠT ĐƯỢC CỦA PHẦN MỀM - Cho phép tra cứu, xóa, sửa, cập nhật dữ liệu thuận tiện, đơn giản đối với người sử dụng và tiết kiệm được thời gian. - Lưu trữ, tìm kiếm và sắp xếp thông tin đảm bảo: + Số liệu chính xác; 20
  21. + Đầy đủ thông tin, tránh dư thừa dữ liệu; + Tìm kiếm nhanh chóng; + Lưu trữ khoa học và an toàn. - Giảm bớt công sức và thời gian, thay thế công việc thủ công. - Đảm bảo tính bảo mật trong lưu trữ thông tin. - Tự động hóa ở mức độ nhất định về tổng hợp, báo cáo. - Tận dụng được tốt khả năng làm việc của máy tính. 2.4. CÁC MẪU BIỂU CẦN THIẾT 2.4.1. Mẫu sơ yếu lý lịch CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Ảnh 4 x 6 SƠ YẾU LÝ LỊCH Họ và tên: Số CMND: Nơi cấp: Ngày cấp: Địa chỉ liên hệ: 1. Họ và tên khai sinh: 2.Giới tính: 3. Họ và tên đang dùng: Bí danh: 4. Ngày tháng năm sinh: 5. Nơi sinh: 6. Nguyên quán: 7. Địa chỉ thường trú: 8. Dân tộc: 9. Tôn giáo: 10. Thành phần xuất thân: 11. Thành phần bản thân: 12. Ngày vào Đoàn: Nơi kết nạp: 13. Ngày vào Đảng: Nơi kết nạp: Ngày chính thức: 21
  22. 14. Trình độ văn hóa: 15. Trình độ chuyên môn:. 16. Trình độ ngoại ngữ: 17. Trình độ tin học: 18. Trình độ chính trị: 19. Quá trình hoạt động của bản thân: 20. Họ và tên bố: Năm sinh:. Quá trình công tác: 21. Họ và tên mẹ: Năm sinh: Quá trình công tác: 22. Anh (chị) em ruột: 22.1. Tuổi: Nghề nghiệp: Chỗ ở: 22.2. Tuổi: Nghề nghiệp: Chỗ ở: 22.3. Tuổi: Nghề nghiệp: Chỗ ở: 23. Hoàn cảnh gia đình 23.1. Họ và tên chồng (vợ): Tuổi: Nghề nghiệp: Nơi làm việc: Chỗ ở hiện nay: 23.2. Họ và tên con: 23.2.1. Con 1: Tuổi: 23.2 2. Con 2: Tuổi: Cam đoan: Ngày tháng năm Xác nhận của chính quyền địa phương Người khai 2.4.2. Quá trình công tác Từ tháng năm Đến tháng năm Làm gì Ở đâu 22
  23. 2.4.3. Diễn biến quá trình hưởng lương của một cán bộ Thời gian Năm Bậc Hệ Ghi nâng PCCV PCĐT PCVK PCTN PCK Từ Đến lương số chú lương 2.4.4. Quá trình bồi dưỡng Thời gian Nơi bồi Hình thức Nội dung bồi dưỡng Chứng chỉ Từ Đến dưỡng bồi dưỡng 2.4.5. Quá trình đào tạo Thời gian Bằng Chuyên Cơ sở Nước đào Hình Năm tốt Từ Đến cấp đào ngành đào tạo thức nghiệp 23
  24. tạo đào tạo tạo đào tạo 2.4.6. Quan hệ gia đình Năm Hiện nay làm TT Quan hệ Họ và tên Chỗ ở thường trú sinh gì? 1 2 3 2.4.7. Quan hệ thân nhân đang ở nước ngoài Quan Năm Nghề Nước Định cư từ Quốc TT Họ và tên hệ sinh nghiệp định cư năm tịch 24
  25. 2.4.8. Nước ngoài đã đến Thời gian Tên nước đã Mục đích đến (Học tập, hội Địa chỉ nơi Từ Đến đến thảo, bồi dưỡng, công tác ) đến 2.4.9. Khen thưởng, kỷ luật Nội dung Hình thức Nội dung Hình thức Cơ quan Quyết định khen khen kỷ luật kỷ luật quyết định số thưởng thưởng 2.4.10. Quá trình bồi dưỡng lý luận chính trị Thời gian Nội dung bồi Lớp học bồi Nơi bồi Trình độ Từ Đến dưỡng dưỡng dưỡng 25
  26. 2.4.11. Trình độ ngoại ngữ Thời gian Lớp học đào tạo Thứ tiếng Trình độ Nơi đào tạo Từ Đến 2.4.12. Trình độ tin học Hình thức Thời gian Trình độ Lớp học đào tạo Nơi đào tạo đào tạo Từ Đến 26
  27. 2.5. CÁC BÁO CÁO TỔNG HỢP ĐẠI HỌC THÁI NGUYÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc THỐNG KÊ SỐ LƯỢNG CÁN BỘ VIÊN CHỨC THEO ĐỘ TUỔI Nam Nam Nam Nam Nữ Nữ Nữ Nữ Đơn vị (20-30) (31-44) (45-54) (55-60) (20-30) (31-40) (40-50) (51-55) Tổng 27
  28. ĐẠI HỌC THÁI NGUYÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc THỐNG KÊ SỐ LƯỢNG CÁN BỘ VIÊN CHỨC THEO TRÌNH ĐỘ CHUYÊN MÔN Trình độ chuyên môn Tên đơn vị Tổng số Trình độ Giáo sư Phó GS Tiến sĩ Thạc sĩ Đại học Cao đẳng khác Cộng 28
  29. ĐẠI HỌC THÁI NGUYÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc THỐNG KÊ SỐ LƯỢNG CÁN BỘ VIÊN CHỨC THEO PHÒNG BAN, BỘ MÔN Ngày sinh TT Họ và tên Biên chế Hợp đồng Ghi chú Nam Nữ Cộng 29
  30. ĐẠI HỌC THÁI NGUYÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc THỐNG KÊ DANH SÁCH CÁN BỘ VIÊN CHỨC THEO DÂN TỘC Ngày sinh TT Họ và tên Đơn vị Dân tộc Ghi chú Nam Nữ Cộng 30
  31. ĐẠI HỌC THÁI NGUYÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc THỐNG KÊ DANH SÁCH CÁN BỘ VIÊN CHỨC THEO TRÌNH ĐỘ NGOẠI NGỮ Ngày sinh Trình độ Ngoại ngữ TT Họ và tên Đơn vị Ngoại ngữ Ghi chú Nam Nữ Tiếng Anh khác Cộng 31
  32. CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG QUẢN LÝ HỒ SƠ CÁN BỘ 3.1. ĐẶT VẤN ĐỀ Nhu cầu tích lũy và xử lý các dữ liệu đã nảy sinh trong mọi công việc, trong mọi hoạt động của con người. Mọi bài toán dù nhỏ cũng cần đến dữ liệu nhưng không nhất thiết phải quản lý các dữ liệu này theo các phương pháp khoa học. Do khả năng tổng hợp của người xử lý và các dữ liệu được lấy ra, được xử lý mà không vấp phải khó khăn nào. Tuy nhiên khi bài toán có kích thước lớn hơn và số lượng dữ liệu cần xử lý tăng lên nhanh thì tầm bao quát của con người khó có thể quản lý hết được. Khi đó cần phải có một cách tổ chức và quản lý dữ liệu thật khoa học, chính xác. Khi thiết kế một cơ sở dữ liệu nào cũng phải quan tâm đến các mối ràng buộc của các quan hệ giữa bản thân chúng. Một cơ sở dữ liệu được thiết kế tốt cần tránh được những vấn đề sau: - Dư thừa dữ liệu; - Không nhất quán, dị thường khi sửa dữ liệu; - Không nhất quán khi thêm bộ dữ liệu; - Dị thường khi xóa dữ liệu. Vì vậy, khi thiết kế cơ sở dữ liệu một quan hệ có thể phân chia thành nhiều quan hệ khác nhau nhằm tránh tất cả những điều đã nêu để đạt được một lược đồ cơ sở dữ liệu sao cho tốt hơn. 3.2. XÂY DỰNG SƠ ĐỒ PHÂN CẤP CHỨC NĂNG Sơ đồ đưa ra những yêu cầu sau: - Cập nhật hồ sơ (thêm mới, điều chỉnh hồ sơ cán bộ khoa CNTT); - Cập nhật danh mục (bao gồm các bảng dữ liệu nhằm mục đích nhất quán dữ liệu); - Tìm kiếm (theo một số điều kiện)- Thống kê (đưa ra danh sách cán bộ viên chức, trình độ chuyên môn, diễn biến lương ). 32
  33. Sơ đồ phân cấp chức năng QLHSCB Cập nhật danh Cập nhật hồ sơ Tìm kiếm Thống kê mục Sơ yếu lý lịch Danh sách Danh mục Theo CBVC đơn vị tên Lương, phụ cấp Danh sách CBVC theo ĐV QT công tác TĐCM của Theo CBVC QT Danh mục Đơn vị kiêm nhiệm chức vụ Danh sách Biên chế Quá trình Theo đào tạo chức Danh sách Danh mục Phong hàm danh giảng viên chuyên ngành Bồi dưỡng Danh sách Đảng viên Chính trị Theo trình độ Danh sách Bồi dưỡng chuyên CBVC được Danh mục Ngoại ngữ môn nâng lương ngoại ngữ Bồi dưỡng Số lượng Tin học Theo CBVC theo độ Danh mục QĐ Trình tuổi khen thưởng, kỷ Bồi dưỡng độ Số lượng luật khác ngoại ngữ CBVC theo Quan hệ gia dân tộc đình Theo Danh sách Danh mục dân tộc QH CBVC theo NN Thành phần nước ngoài gia đình Danh sách Nước ngoài Theo hợp đồng Danh mục đã đến mã ngạch công ngạch DS khen chức Khen thưởng, Kỷ luật thưởng, kỷ luật 33
  34. 3.3. XÂY DỰNG BIỂU ĐỒ LUỒNG DỮ LIỆU 3.3.1. Biểu đồ luồng dữ liệu mức khung cảnh Lãnh đạo khoa Yêu Yêu cầu Kết cầu Thống quả tìm kê Kết quả tìm kiếm Thống kiếm kê Quản lý Hồ sơ Cán bộ Yêu cầu Kết tìm Kết quả kiếm quả tìm Yêu thống kiếm Thông cầu kê tin Thống cập kê nhật Phòng Tổng hợp 34
  35. 3.3.2. Biểu đồ luồng dữ liệu mức đỉnh Thông Thông Phòng Tổng tin tin hợp cập nhật cập hồ sơ nhật danh mục 1. Cập nhật danh 2. Cập mục nhật hồ sơ Danh mục Hồ sơ cán bộ 4. Thống Thông 3. Tìm kê tin tìm kiếm Thông kiếm tin tìm Báo kiếm Yêu Báo cáo Kết Kết cầu cáo Yêu quả quả thống cầu tìm tìm kê thống kê kiếm kiếm Phòng Tổng Lãnh đạo khoa Phòng Tổng hợp hợp 35
  36. 3.3.3. Biểu đồ luồng dữ liệu mức dưới đỉnh - Mức dưới đỉnh chức năng 1 Phòng Tổng Phòng Tổng Phòng Tổng hợp hợp hợp 1.3 Cập nhật 1.1 Cập nhật 1.2 Cập nhật danh mục danh mục danh mục chuyên đơn vị chức vụ ngành Đơn vị Chức vụ Chuyên ngành Phòng Tổng Phòng Tổng Phòng Tổng hợp hợp hợp 1.5 Cập nhật 1.6 Cập nhật 1.4 Cập nhật danh mục QĐ danh mục QĐ danh mục khen thưởng kỷ luật ngoại ngữ Ngoại ngữ QĐ Khen thưởng QĐ Kỷ luật 36
  37. Phòng Tổng Phòng Tổng hợp hợp 1.7 Cập nhật 1.8 Cập nhật danh mục danh mục TP gia đình ngạch công chức Thành phần gia dình Ngạch công chức - Mức dưới đỉnh chức năng 2 Phòng Tổng hợp Diện chính sách Dân tộc 2.1 Cập nhật sơ yếu lý lịch TP xuất thân Sơ yếu lý lịch 37
  38. Phòng Tổng hợp 2.2 Cập nhật lương, phụ cấp Sơ yếu lý lịch Diễn biến lương Phòng Tổng hợp Đơn vị Chức danh 2.3 Cập nhật Quá trình công tác Sơ yếu lý lịch QT công tác 38
  39. Phòng Tổng hợp Đơn vị Chức danh 2.4 Cập nhật Quá trình kiêm nhiệm Sơ yếu lý lịch QT kiêm nhiệm Phòng Tổng hợp Chuyên ngành Bằng cấp 2.5 Cập nhật Quá trình đào tạo Sơ yếu lý lịch QT đào tạo 39
  40. Phòng Tổng hợp Danh mục học hàm Sơ yếu lý lịch 2.6 Cập nhật Học hàm Phong hàm Phòng Tổng hợp Sơ yếu lý lịch 2.7 Cập nhật QT bồi dưỡng CT QT bồi dưỡng CT Phòng Tổng hợp Danh mục ngoại ngữ Sơ yếu lý lịch 2.8 Cập nhật QT bồi dưỡng NN QT bồi dưỡng NN 40
  41. Phòng Tổng Phòng Tổng hợp hợp Sơ yếu lý lịch 2.9 Cập nhật 2.10 Cập QT bồi nhật QT bồi dưỡng TH dưỡng khác QT bồi dưỡng TH QT bồi dưỡng khác Phòng Tổng hợp Sơ yếu lý lịch 2.11 Cập nhật Quan hệ gia đình Quan hệ gia đình 41
  42. Phòng Tổng hợp Sơ yếu lý lịch 2.12 Cập nhật QH thân nhân nước ngoài QH thân nhân nước ngoài Phòng Tổng hợp Sơ yếu lý lịch 2.13 Cập nhật Nước ngoài đã đến QH thân nhân nước ngoài 42
  43. Phòng Tổng hợp Danh mục Quyết định KT Sơ yếu lý lịch 2.14 Cập nhật Khen thưởng Khen thưởng Phòng Tổng hợp Danh mục Quyết định KL Sơ yếu lý lịch 2.15 Cập nhật Kỷ luật Kỷ luật 43
  44. - Mức dưới đỉnh chức năng 3 Phòng Tổng Phòng Tổng hợp hợp Kết quả Kết Tên quả Đơn vị 3.1 Tìm 3.2 Tìm kiếm theo kiếm theo tên đơn vị Sơ yếu lý lịch Đơn vị Sơ yếu lý lịch Phòng Tổng Phòng Tổng hợp hợp Kết quả Kết Chức quả danh Trình độ 3.3 Tìm 3.4 Tìm kiếm kiếm theo theo trình độ chức danh chuyên môn QT công tác Sơ yếu lý lịch QT đào tạo Sơ yếu lý lịch 44
  45. Phòng Tổng Phòng Tổng hợp hợp Kết quả Kết Trình quả độ Dân NN tộc 3.5 Tìm kiếm theo trình độ 3.6 Tìm kiếm NN theo dân tộc QT bồi dưỡng NN Sơ yếu lý lịch Sơ yếu lý lịch Phòng Tổng hợp Kết quả Mã ngạch 3.7 Tìm kiếm theo mã ngạch Sơ yếu lý lịch 45
  46. - Mức dưới đỉnh chức năng 4 Phòng Tổng Phòng Tổng hợp hợp Kết Kết quả quả 4.1 Thống kê 4.2 Thống kê danh sách danh sách CBVC CBVC theo ĐV Sơ yếu lý lịch QT công tác Sơ yếu lý lịch Phòng Tổng Phòng Tổng hợp hợp Kết Kết quả quả 4.1 Thống kê 4.2 Thống kê danh sách danh sách biên chế hợp đồng Sơ yếu lý lịch Sơ yếu lý lịch 46
  47. 3.4. THIẾT KẾ CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG 3.4.1. Các thực thể *) Bảng SoYeuLyLich TT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo AutoNumber Mã cán bộ 10 2 TenKhaiSinh Text Tên khai sinh 30 3 TenThuongGoi Text Tên thường gọi 30 4 BiDanh Text Bí danh 30 5 SoCMTND Text CMTND 10 6 NoiCap Text Nơi cấp 20 7 NgayCap Date/time Ngày cấp 8 8 GioiTinh 0/1 Giới tính 4 9 NgaySinh Date/time Ngày tháng năm sinh 8 10 NoiSinh Text Nơi sinh 30 11 NguyenQuan Text Nguyên quán 30 12 DiaChiTT Text Địa chỉ thường trú 50 13 MaDanToc Number Mã dân tộc 4 14 MaTonGiao Number Mã tôn giáo 4 15 MaTPXT Number Mã thành phần xuất thân 4 16 MaCS Number Mã chính sách 4 17 E-Mail Text Địa chỉ hòm thư 30 18 MaNgach Text Mã ngạch công chức 10 19 SoDT_DiDong Text Điện thoại di động 10 20 SoDT_NR Text Điện thoại nhà riêng 10 21 TrinhDoVH Text Trình độ văn hóa 4 22 NangKhieu Text Năng khiếu 30 23 TinhTrangSK Text Tình trạng sức khỏe 20 24 NgayVeCoQuan Date/time Ngày về cơ quan 8 25 NgayVaoDoan Date/time Ngày vào Đoàn 8 47
  48. TT Tên trường Kiểu Diễn giải Độ rộng 26 NoiKetNapDoan Text Nơi kết nạp Đoàn 30 27 LaDangVien Yes/No Là Đảng viên 28 NgayVaoDang Date/time Ngày vào Đảng 8 29 NoiKetNapDang Text Nơi kết nạp Đảng 30 30 NgayChinhThuc Date/time Ngày chính thức 8 31 NgayNhapNgu Date/time Ngày nhập ngũ 8 32 NgayXuatNgu Date/time Ngày xuất ngũ 8 33 ThuongBinhHang Text Thương binh hạng 5 34 SoHieuCC Number Số hiệu công chức 4 35 NgayVaoBC Date/time Ngày vào biên chế 8 36 CamDoan Text Cam đoan 80 *) Bảng DienBienHuongLuong STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 NamNangLuong Date/time Năm nâng lương 8 4 BacLuong Number Bậc lương 4 5 HeSo Number Hệ số 4 6 PCCV Number Phụ cấp chức vụ 4 7 PCĐT Number Phụ cấp đặc thù 4 8 PCVK Number Phụ cấp vượt khung 4 9 PCTN Number Phụ cấp trách nhiệm 4 10 PCK Number Phụ cấp khác 4 11 GhiChu Text Chi chú 10 48
  49. *) Bảng QuaTrinhDaoTao STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 MaBangcap Number Mã bằng cấp 4 5 MaCNganh Number Mã chuyên ngành 4 6 CosoDT Text Cơ sở đào tạo 30 7 NuocDT Text Nước đào tạo 30 8 HinhthucDT Text Hình thức đào tạo 20 9 NamTotNghiep Date/Time Năm tốt nghiệp 8 *) Bảng QuaTrinhNangNgach STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tư Date/time Từ ngày 8 3 MaNgach Text Mã ngạch công chức 10 *) Bảng PhongHam STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 MaHocHam Number Mã học hàm 4 3 NgayPhong Date/time Ngày phong hàm 8 *) Bảng QuaTrinhBoiDuongLLCT STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 NoidungBD Text Nội dung bồi dưỡng 30 5 NoiBD Text Nơi bồi dưỡng 30 6 LopBD Text Lớp bồi dưỡng 30 7 Trinhdo Text Trình độ 10 49
  50. *) Bảng QuaTrinhBoiDuongNN STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 LopDaoTao Text Lớp đào tạo 30 5 NoiDaoTao Text Nơi đào tạo 30 6 MaNgoaiNgu Text Mã ngoại ngữ 10 *) Bảng QuaTrinhBoiDuongTinHoc STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 LopDaoTao Text Lớp đào tạo 30 5 NoiDaoTao Text Nơi đào tạo 30 *) Bảng QuaTrinhBoiDuongKhac STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 NoidungBD Text Nội dung bồi dưỡng 30 5 NoiBD Text Nơi bồi dưỡng 30 6 HinhThucBD Text Hình thức bồi dưỡng 20 7 ChungChi Text Chứng chỉ 10 *) Bảng QuaTrinhCongTacTruoc (trước khi về khoa) STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 LamGi_ODau Text Làm gì_ở đâu 30 50
  51. *) Bảng QuaTrinhCongTacSau (sau khi về khoa) STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 MaDonVi Number Mã đơn vị 4 4 MaChucVụ Number Mã chức vụ 4 *) Bảng QuaTrinhKiemNhiem STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 MaDonVi Number Mã đơn vị 4 5 MaChucDanh Number Mã chức danh 4 6 HetNhiemKy Yes/No Hết nhiệm kỳ *) Bảng QuanHeGiaDinh STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 QuanHe Text Quan hệ 10 3 HoVaTen Text Họ và tên 30 4 NamSinh Number Năm sinh 4 5 LamGi_Odau Text Làm gì_ở đâu 30 6 ChoOHienNay Text Chỗ ở hiện nay 50 *) Bảng QuanHeNuocNgoai STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 QuanHe Text Quan hệ 20 3 HoVaTen Text Họ và tên 30 4 NamSinh Number Năm sinh 4 5 NgheNghiep Text Nghề nghiệp 30 6 NuocDinhCu Text Nước định cư 20 7 DinhCuTuNam Number Định cư từ năm 4 8 QuocTich Text Quốc tịch 20 51
  52. *) Bảng NuocDaDen STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 Tu Date/time Từ ngày 8 3 Den Date/time Đến ngày 8 4 TenNuoc Text Tên nước 30 5 MucDichDen Text Mục đích đến 20 6 DiaChi Text Địa chỉ 30 *) Bảng KhenThuong STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 SoQDKT Text Số quyết định khen thưởng 10 *) Bảng KyLuat STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCanBo Number Mã cán bộ 4 2 SoQDKL Text Số quyết định kỷ luật 10 *) Bảng ChucDanh STT Tên trường Kiểu Diễn giải Độ rộng 1 MaChucDanh AutoNumber Mã chức danh 10 2 TenChucDanh Text Tên chức danh 20 *) Bảng DanToc STT Tên trường Kiểu Diễn giải Độ rộng 1 MaDanToc AutoNumber Mã dân tộc 10 2 TenDanToc Text Tên dân tộc 10 52
  53. *) Bảng ThanhPhanXuatThan STT Tên trường Kiểu Diễn giải Độ rộng 1 MaTPGĐ AutoNumber Mã thành phần gia đình 10 2 TenTPGĐ Text Tên thành phần gia đình 20 *) Bảng GiaDinhChinhSach STT Tên trường Kiểu Diễn giải Độ rộng 1 MaCS AutoNumber Mã chính sách 10 2 DienCS Text Diện chính sách 20 *) Bảng BangCap STT Tên trường Kiểu Diễn giải Độ rộng 1 MaBangCap AutoNumber Mã bằng cấp 4 2 TenBangCap Text Tên bằng cấp 15 *) Bảng HocHam STT Tên trường Kiểu Diễn giải Độ rộng 1 MaHocHam AutoNumber Mã học hàm 4 2 TenHocHam Text Tên học hàm 15 *) Bảng DonVi STT Tên trường Kiểu Diễn giải Độ rộng 1 MaDonVi AutoNumber Mã đơn vị 10 2 TenDonVi Text Tên đơn vị 30 *) Bảng CacQuyetDinhKhenThuong STT Tên trường Kiểu Diễn giải Độ rộng 1 SoQDKT Text Số quyết định khen thưởng 10 2 HinhThucKT Text Hình thức khen thưởng 10 3 NoiDungKT Text Nội dung khen thưởng 50 4 NgayQD Date/time Ngày quyết định 8 5 CoquanQD Text Cơ quan quyết định 30 53
  54. *)Bảng KyLuat STT Tên trường Kiểu Diễn giải Độ rộng 1 SoQDKL Text Số quyết định kỷ luật 10 2 HinhThucKL Text Hình thức kỷ luật 10 3 NoiDungKL Text Nội dung kỷ luật 50 4 NgayQD Date/time Ngày quyết định 8 5 CoQuanQD Text Cơ quan quyết định 30 *) Bảng NgachCongChuc STT Tên trường Kiểu Diễn giải Độ rộng 1 MaNgach Text Mã ngạch công chức 10 2 TenNgach Text Tên nghạch 30 *) Bảng TenNgoaiNgu STT Tên trường Kiểu Diễn giải Độ rộng 1 MaNN Autonumber Mã ngoại ngữ 4 2 TenNN Text Tên ngoại ngữ 20 54
  55. 3.4.2. Sơ đồ thực thể liên kết E-R 55
  56. CHƯƠNG 4 THIẾT KẾ CHƯƠNG TRÌNH 4.1. LỰA CHỌN NGÔN NGỮ Để giải quyết các bài toán quản lý nói chung, chúng ta có thể sử dụng nhiều ngôn ngữ lập trình và nhiều hệ quản trị cơ sở dữ liệu khác nhau như: Visual Basic, Visual C++, Foxpro, SQL Server Mỗi ngôn ngữ lập trình, mỗi hệ quản trị cơ sở dữ liệu đều có những điểm mạnh, điểm yếu trên từng bài toán cụ thể. Visual Basic là một ngôn ngữ lập trình theo kiểu hướng đối tượng, nó hỗ trợ mạnh các thao tác về cơ sở dữ liệu, dễ thiết kế giao diện, cho phép chỉnh sửa dễ dàng rất thích hợp cho các bài toán quản lý. Chính vì vậy mà em đã lựa chọn Hệ quản trị cơ sở dữ liệu Visual Basic 6.0 để xây dựng chương trình cho bài toán quản lý của mình. 4.2. MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH 4.2.1. Chức năng Cập nhật danh mục 56
  57. Danh mục đơn vị Danh mục chức vụ 57
  58. 4.2.2. Chức năng Cập nhật hồ sơ Thêm mới Sơ yếu lý lịch 58
  59. 4.2.3. Chức năng Tìm kiếm Tìm kiếm theo tên 59
  60. Tìm kiếm theo dân tộc 60
  61. KẾT LUẬN Bài toán quản lý hồ sơ cán bộ là một bài toán được rất nhiều người quan tâm. Khi xây dựng được chương trình này sẽ làm cho việc xử lý, quản lý hồ sơ được thực hiện nhanh chóng, hiệu quả và chính xác hơn nhiều. Sau một thời gian nghiên cứu, tìm hiểu một cách nghiêm túc cùng với sự giúp đỡ nhiệt tình của cô giáo Nguyễn Thị Tuyển và các thầy cô trong Khoa, Lãnh đạo phòng và các bạn nên đồ án tốt nghiệp của em đã được hoàn thành với những công việc chính như sau: 1. Kết quả đạt được - Hoàn thành việc khảo sát và xác định mục tiêu của bài toán quản lý hồ sơ cán bộ Khoa Công nghệ thông tin; - Phân tích khá đầy đủ, cụ thể và chi tiết bài toán quản lý hồ sơ cán bộ Khoa Công nghệ Thông tin; - Bước đầu thiết kế, cài đặt chương trình. Về cơ bản, chương trình đã xây dựng được hoàn toàn phần cấp nhật hồ sơ cán bộ, phần nào đáp ứng được việc xem, tìm kiếm, thống kê và hiệu chỉnh hồ sơ cán bộ; chương trình còn đáp ứng được việc cập nhật các danh mục như đơn vị, chức danh, chuyên ngành, khen thưởng, kỷ luật Đồng thời, chương trình cho phép thêm, sửa, xóa, tìm kiến trên tất cả các đối tượng trong hồ sơ như: lương, quá trình đào tạo, bồi dưỡng 2. Hạn chế Do thời gian và vốn kiến thức có hạn nên đề tài của em mới chỉ dừng lại với việc phân tích thiết kế hệ thống và cài đặt chương trình ở mức đơn giản. Đây là một bài toán khá phức tạp cho nên, trong quá trình khảo sát, xây dựng và phân tích thiết kế không tránh khỏi những thiếu xót, em rất mong sẽ nhận được sự quan tâm tạo điều kiện của các thầy cô để em có thể hoàn thiện phần mềm một cách tốt nhất. 3. Hướng mở rộng của đề tài Trong thời gian tới em sẽ tiếp tục nghiên cứu, tìm hiểu đầy đủ hơn những yêu cầu của bài toán quản lý hồ sơ nói chung và quản lý hồ sơ cán bộ Khoa Công nghệ thông tin nói riêng, sẽ thực hiện cài đặt hoàn chỉnh phần mềm quản lý hồ sơ cán bộ khoa Công nghệ Thông tin. 61
  62. TÀI LIỆU THAM KHẢO 1. Đậu Quang Tuấn - Lập trình cơ sở dữ liệu VisualBasic 6.0, NXB trẻ - 2001; 2. Nguyễn Thị Ngọc Mai - Microsoft Visual Basic 6.0 và lập trình cơ sở dữ liệu - NXB Lao động xã hội - 2004; 3. Nguyễn văn Ba - Phân tích và thiết kế hệ thống thông tin, NXB Đại Học Quốc Gia Hà Nội - 2004. 4. Đinh Xuân Lâm - Phân tích thiết kế hệ thống trong lập trình, NBThống kê – 2005 62
  63. PHẦN PHỤ LỤC Chương trình gồm nhiều Form chức năng, trong đó Form Cập nhật Sơ yếu lý lịch là phức tạp nhất. Dưới đây là đoạn mã lệnh cho Form này. Form: SoYeuLyLich Option Explicit Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Private Sub SetupItemsCombo(cbo As ComboBox, ma As String, ten As String, table As String) Dim strSQL As String cbo.Clear cbo.Text = " " Set cn = New ADODB.Connection cn.Provider = "Microsoft.Jet.OLEDB.4.0" cn.ConnectionString = App.Path & "\QuanLyHoSo_97.mdb" cn.Open strSQL = "SELECT * FROM " & table Set rs = New ADODB.Recordset rs.Source = strSQL rs.ActiveConnection = cn rs.Open If rs.EOF And rs.BOF Then Exit Sub End If rs.MoveFirst Dim i As Integer i = 0 While Not rs.EOF 63
  64. cbo.AddItem rs.Fields(ten) cbo.ItemData(i) = rs.Fields(ma) rs.MoveNext i = i + 1 Wend rs.Close Set rs = Nothing cn.Close Set cn = Nothing cbo.ListIndex = 0 End Sub Private Sub cmdCanCel_Click() frameCapNhat.Visible = False frameDanhSach.Visible = True rs.Cancel rs.Close Set rs = Nothing lblTieude.Caption = "s¬ yÕu lý lÞch" End Sub Private Sub cmdCapNhat_Click() On Error GoTo Err With rs .Fields("MaDanToc") = cboDanToc.ItemData(cboDanToc.ListIndex) .Fields("MaCS") = cboDienCS.ItemData(cboDienCS.ListIndex) .Fields("GioiTinh") = (cboGioiTinh.List(cboGioiTinh.ListIndex) = "Nam") .Fields("MaTonGiao") = cboTonGiao.ItemData(cboTonGiao.ListIndex) .Fields("MaTPXT") = cboTPGD.ItemData(cboTPGD.ListIndex) .Fields("MaNgach") = cboNgach.ItemData(cboNgach.ListIndex) .Fields("BiDanh") = txtBiDanh.Text & "" .Fields("CamDoan") = txtCamDoan.Text 64
  65. .Fields("SoCMTND") = txtCMTND.Text .Fields("DiaChiTT") = txtDiaChi.Text .Fields("SoDT_DiDong") = txtDTDD.Text & "" .Fields("SoDT_NR") = txtDTNR.Text & "" .Fields("EMail") = txtEMail.Text & "" .Fields("NangKhieu") = txtNangKhieu.Text & "" .Fields("NgayVaoBC") = txtNgayBC.Text .Fields("NgayCap") = txtNgayCap.Text .Fields("NgaySinh") = Me.txtNgaySinh.Text .Fields("NgayVeCoQuan") = Me.txtNgayVeCQ.Text .Fields("NguyenQuan") = Me.txtNguyenQuan.Text .Fields("NoiCap") = Me.txtNoiCap.Text .Fields("NoiKetNapDoan") = Me.txtNoiKetNapDoan.Text & "" .Fields("NoiSinh") = Me.txtNoiSinh.Text .Fields("SoHieuCC") = Me.txtSoHieuCC.Text .Fields("TenKhaiSinh") = Me.txtTenKhaiSinh.Text .Fields("TenThuongGoi") = Me.txtTenThuongGoi.Text .Fields("ThuongBinhHang") = Me.txtThuongBinh.Text .Fields("TinhTrangSK") = Me.txtTinhTrangSK.Text .Fields("TrinhDoVH") = Me.txtTrinhDoVH.Text If txtNgayNhapNgu = "" Then .Fields("NgayNhapNgu") = 0 Else .Fields("NgayNhapNgu") = txtNgayNhapNgu.Text End If If txtNgayXuatNgu = "" Then .Fields("NgayXuatNgu") = 0 Else .Fields("NgayXuatNgu") = Me.txtNgayXuatNgu.Text End If If txtNgayVaoDoan = "" Then .Fields("NgayVaoDoan") = 0 Else 65
  66. .Fields("NgayVaoDoan") = Me.txtNgayVaoDoan.Text End If If txtNgayVaoDang.Text <> "" Then .Fields("LaDangVien") = True .Fields("NoiKetNapDang") = Me.txtNoiKetNapDang.Text .Fields("NgayVaoDang") = Me.txtNgayVaoDang.Text .Fields("NgayChinhThuc") = Me.txtNgayChinhThuc.Text Else .Fields("LaDangVien") = False .Fields("NoiKetNapDang") = "" .Fields("NgayVaoDang") = 0 .Fields("NgayChinhThuc") = 0 End If End With rs.Update rs.Close Set rs = Nothing cn.Close frameCapNhat.Visible = False frameDanhSach.Visible = True LoadCSDL lblTieude.Caption = "s¬ yÕu lý lÞch" Exit Sub Err: MsgBox "Ban chua nhap du thong tin hoac thong tin nhap khong dung", vbOKOnly End Sub Private Sub cmdDanhSach_Click() XemDanhSach End Sub 66
  67. Private Sub cmdGhi_Click() On Error GoTo Err Dim strSQL As String Set cn = New ADODB.Connection cn.Provider = "Microsoft.Jet.OLEDB.4.0" cn.ConnectionString = App.Path & "\QuanLyHoSo_97.mdb" cn.Open strSQL = "SELECT * FROM tblSoYeuLyLich" Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.Source = strSQL rs.ActiveConnection = cn rs.Open rs.AddNew With rs .Fields("MaDanToc") = cboDanToc.ItemData(cboDanToc.ListIndex) .Fields("MaCS") = cboDienCS.ItemData(cboDienCS.ListIndex) .Fields("GioiTinh") = (cboGioiTinh.List(cboGioiTinh.ListIndex) = "Nam") .Fields("MaTonGiao") = cboTonGiao.ItemData(cboTonGiao.ListIndex) .Fields("MaNgach") = cboNgach.ItemData(cboNgach.ListIndex) .Fields("MaTPXT") = cboTPGD.ItemData(cboTPGD.ListIndex) .Fields("BiDanh") = txtBiDanh.Text & "" .Fields("CamDoan") = txtCamDoan.Text .Fields("SoCMTND") = txtCMTND.Text .Fields("DiaChiTT") = txtDiaChi.Text .Fields("SoDT_DiDong") = txtDTDD.Text & "" .Fields("SoDT_NR") = txtDTNR.Text & "" .Fields("EMail") = txtEMail.Text & "" .Fields("NangKhieu") = txtNangKhieu.Text & "" .Fields("NgayVaoBC") = txtNgayBC.Text .Fields("NgayCap") = txtNgayCap.Text 67
  68. .Fields("NgaySinh") = Me.txtNgaySinh.Text .Fields("NgayVeCoQuan") = Me.txtNgayVeCQ.Text .Fields("NguyenQuan") = Me.txtNguyenQuan.Text .Fields("NoiCap") = Me.txtNoiCap.Text .Fields("NoiKetNapDoan") = Me.txtNoiKetNapDoan.Text & "" .Fields("NoiSinh") = Me.txtNoiSinh.Text .Fields("SoHieuCC") = Me.txtSoHieuCC.Text .Fields("TenKhaiSinh") = Me.txtTenKhaiSinh.Text .Fields("TenThuongGoi") = Me.txtTenThuongGoi.Text .Fields("ThuongBinhHang") = Me.txtThuongBinh.Text .Fields("TinhTrangSK") = Me.txtTinhTrangSK.Text .Fields("TrinhDoVH") = Me.txtTrinhDoVH.Text If txtNgayNhapNgu = "" Then .Fields("NgayNhapNgu") = 0 Else .Fields("NgayNhapNgu") = txtNgayNhapNgu.Text End If If txtNgayXuatNgu = "" Then .Fields("NgayXuatNgu") = 0 Else .Fields("NgayXuatNgu") = Me.txtNgayXuatNgu.Text End If If txtNgayVaoDoan = "" Then .Fields("NgayVaoDoan") = 0 Else .Fields("NgayVaoDoan") = Me.txtNgayVaoDoan.Text End If If txtNgayVaoDang.Text <> "" Then .Fields("LaDangVien") = True .Fields("NoiKetNapDang") = Me.txtNoiKetNapDang.Text .Fields("NgayVaoDang") = Me.txtNgayVaoDang.Text .Fields("NgayChinhThuc") = Me.txtNgayChinhThuc.Text 68
  69. Else .Fields("LaDangVien") = False .Fields("NoiKetNapDang") = "" .Fields("NgayVaoDang") = 0 .Fields("NgayChinhThuc") = 0 End If End With rs.Update rs.Close Set rs = Nothing cn.Close cmdNhapLai_Click Exit Sub Err: MsgBox "Ban chua nhap du thong tin hoac thong tin nhap khong dung", vbOKOnly End Sub Private Sub cmdNhapLai_Click() Me.cboDanToc.Refresh Me.cboDienCS.Refresh Me.cboGioiTinh.Refresh Me.cboTonGiao.Refresh Me.cboTPGD.Refresh Me.txtBiDanh.Text = "" Me.txtCamDoan.Text = "" Me.txtCMTND.Text = "" Me.txtDiaChi.Text = "" Me.txtDTDD.Text = "" Me.txtDTNR.Text = "" Me.txtEMail.Text = "" Me.txtNangKhieu.Text = "" Me.txtNgayBC.Text = "" 69
  70. Me.txtNgayCap.Text = "" Me.txtNgayChinhThuc.Text = "" Me.txtNgayNhapNgu.Text = "" Me.txtNgaySinh.Text = "" Me.txtNgayVaoDang.Text = "" Me.txtNgayVaoDoan.Text = "" Me.txtNgayVeCQ.Text = "" Me.txtNgayXuatNgu.Text = "" Me.txtNguyenQuan.Text = "" Me.txtNoiCap.Text = "" Me.txtNoiKetNapDang.Text = "" Me.txtNoiKetNapDoan.Text = "" Me.txtNoiSinh.Text = "" Me.txtSoHieuCC.Text = "" Me.txtTenKhaiSinh.Text = "" Me.txtTenThuongGoi.Text = "" Me.txtThuongBinh.Text = "" Me.txtTinhTrangSK.Text = "" Me.txtTrinhDoVH.Text = "" txtTenKhaiSinh.SetFocus End Sub Private Sub cmdSua_Click() Dim strSQL As String Set cn = New ADODB.Connection cn.Provider = "Microsoft.Jet.OLEDB.4.0" cn.ConnectionString = App.Path & "\QuanLyHoSo_97.mdb" cn.Open Dim MaCanBo As String MaCanBo = msfDanhSach.RowData(msfDanhSach.Row) 70
  71. strSQL = "SELECT * FROM tblSoYeuLyLich WHERE MaCanBo = " & MaCanBo Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.Source = strSQL rs.ActiveConnection = cn rs.Open If rs.EOF And rs.BOF Then MsgBox "Danh sa'ch tro^'ng", vbCritical Exit Sub End If With rs SelectItemData Me.cboDanToc, .Fields("MaDanToc") SelectItemData Me.cboDienCS, .Fields("MaCS") SelectItemData Me.cboTonGiao, .Fields("MaTonGiao") SelectItemData Me.cboTPGD, .Fields("MaTPXT") SelectItemData Me.cboNgach, .Fields("MaNgach") If .Fields("GioiTinh") Then cboGioiTinh.ListIndex = 0 Else cboGioiTinh.ListIndex = 1 End If Me.txtBiDanh.Text = .Fields("BiDanh") & "" Me.txtCamDoan.Text = .Fields("CamDoan") & "" Me.txtCMTND.Text = .Fields("SoCMTND") & "" Me.txtDiaChi.Text = .Fields("DiaChiTT") & "" Me.txtDTDD.Text = .Fields("SoDT_DiDong") & "" Me.txtDTNR.Text = .Fields("SoDT_NR") & "" Me.txtEMail.Text = .Fields("EMail") & "" Me.txtNangKhieu.Text = .Fields("NangKhieu") & "" 71
  72. Me.txtNgayBC.Text = .Fields("NgayVaoBC") Me.txtNgayCap.Text = .Fields("NgayCap") 'If .Fields("NgayChinhThuc") = 0 Then ' Me.txtNgayChinhThuc.Text = 0 ' Else Me.txtNgayChinhThuc.Text = .Fields("NgayChinhThuc") 'End If 'If Format(.Fields("NgayNhapNgu"), 0) = 0 Then ' Me.txtNgayNhapNgu.Text = 0 ' Else Me.txtNgayNhapNgu.Text = .Fields("NgayNhapNgu") 'End If 'If Format(.Fields("NgayVaoDang"), 0) = 0 Then ' Me.txtNgayVaoDang.Text = 0 ' Else Me.txtNgayVaoDang.Text = .Fields("NgayVaoDang") 'End If 'If Format(.Fields("NgayVaoDoan"), 0) = 0 Then ' Me.txtNgayVaoDoan.Text = 0 ' Else Me.txtNgayVaoDoan.Text = .Fields("NgayVaoDoan") 'End If 'If Format(.Fields("NgayXuatNgu"), 0) = 0 Then ' Me.txtNgayXuatNgu.Text = 0 ' Else Me.txtNgayXuatNgu.Text = .Fields("NgayXuatNgu") 'End If Me.txtNgaySinh.Text = .Fields("NgaySinh") Me.txtNgayVeCQ.Text = .Fields("NgayVeCoQuan") Me.txtNguyenQuan.Text = .Fields("NguyenQuan") Me.txtNoiCap.Text = .Fields("NoiCap") 72
  73. Me.txtNoiKetNapDang.Text = .Fields("NoiKetNapDang") & "" Me.txtNoiKetNapDoan.Text = .Fields("NoiKetNapDoan") & "" Me.txtNoiSinh.Text = .Fields("NoiSinh") Me.txtSoHieuCC.Text = .Fields("SoHieuCC") Me.txtTenKhaiSinh.Text = .Fields("TenKhaiSinh") Me.txtTenThuongGoi.Text = .Fields("TenThuongGoi") & "" Me.txtThuongBinh.Text = .Fields("ThuongBinhHang") Me.txtTinhTrangSK.Text = .Fields("TinhTrangSK") Me.txtTrinhDoVH.Text = .Fields("TrinhDoVH") End With ChoPhepCapNhat End Sub Private Sub cmdThem_Click() ChoPhepGhi cmdNhapLai_Click End Sub Private Sub cmdXoa_Click() Dim strSQL As String Set cn = New ADODB.Connection cn.Provider = "Microsoft.Jet.OLEDB.4.0" cn.ConnectionString = App.Path & "\QuanLyHoSo_97.mdb" cn.Open Dim MaCanBo As String MaCanBo = msfDanhSach.RowData(msfDanhSach.Row) strSQL = "SELECT * FROM tblSoYeuLyLich WHERE MaCanBo = " & MaCanBo Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic 73
  74. rs.Source = strSQL rs.ActiveConnection = cn rs.Open If rs.EOF And rs.BOF Then MsgBox "Danh sa'ch tro^'ng", vbCritical Exit Sub End If rs.Delete rs.Close XemDanhSach End Sub Private Sub Form_Load() SetupItemsCombo cboDanToc, "MaDanToc", "TenDanToc", "tblDanToc" SetupItemsCombo cboTonGiao, "MaTonGiao", "TenTonGiao", "tblTonGiao" SetupItemsCombo cboTPGD, "MaTPXT", "TenTPXT", "tblThanhPhanXuatThan" SetupItemsCombo cboDienCS, "MaCS", "DienCS", "tblGiaDinhChinhSach" SetupItemsCombo cboNgach, "MaNgach", "TenNgach", "tblNgachCongChuc" cboGioiTinh.AddItem "Nam" cboGioiTinh.AddItem "N÷" 'MsgBox Format(txtNgayNhapNgu, "dd/mm/yyyy") SetupTable XemDanhSach End Sub Private Sub txtNgaySinh_Change() 'txtNgaySinh.Text = Format(txtNgaySinh.Text, "dd/mm/yy") End Sub Private Sub LoadCSDL() Dim strSQL As String 74
  75. Dim i As Integer Set cn = New ADODB.Connection cn.Provider = "Microsoft.Jet.OLEDB.4.0" cn.ConnectionString = App.Path & "\QuanLyHoSo_97.mdb" cn.Open strSQL = "SELECT * FROM tblSoYeuLyLich" Set rs = New ADODB.Recordset 'rs.LockType = adLockOptimistic rs.Source = strSQL rs.ActiveConnection = cn rs.Open rs.MoveFirst i = 1 msfDanhSach.Rows = 1 While Not rs.EOF With msfDanhSach .AddItem i .Row = i .Col = 0 .Text = i .RowData(i) = rs.Fields("MaCanBo") .Col = 1 .CellAlignment = 1 .Text = rs.Fields("TenKhaiSinh") .Col = 2 .CellAlignment = 1 If IsDate(rs("NgaySinh")) Then .Text = rs.Fields("NgaySinh") 'Format(rs.Fields("NgaySinh"), "dd/MM/yyyy") End If .Col = 3 .CellAlignment = 1 75
  76. If rs.Fields("GioiTinh") Then .Text = "Nam" Else .Text = "N÷" End If .Col = 4 .CellAlignment = 1 .Text = rs.Fields("DiaChiTT") .Col = 5 .CellAlignment = 1 .Text = rs.Fields("SoDT_DiDong") End With i = i + 1 rs.MoveNext Wend rs.Close Set rs = Nothing cn.Close msfDanhSach.Row = 1 msfDanhSach.Col = 1 End Sub Private Sub SetupTable() msfDanhSach.Font = ".VnArial" 'msfDanhSach.CellFontSize = 14 'msfDanhSach.FontWidth = 10 With msfDanhSach .Rows = 1 .Cols = 6 .ColWidth(0) = 500 .ColWidth(1) = 2500 .ColWidth(2) = 2000 .ColWidth(3) = 1500 76
  77. .ColWidth(4) = 5000 .ColWidth(5) = 2500 .Row = 0 .Col = 0 .ColAlignment(0) = 3 .Text = "STT" .Col = 1 .ColAlignment(1) = 3 '.CellFontSize = 12 .Text = "Tªn c¸n bé" .Col = 2 .ColAlignment(2) = 3 .Text = "Ngµy sinh" .Col = 3 .ColAlignment(3) = 3 .Text = "Giíi tÝnh" .Col = 4 .ColAlignment(4) = 3 .Text = "§Þa chØ th-êng tró" .Col = 5 .ColAlignment(5) = 3 .Text = "Sè ®iÖn tho¹i di ®éng" End With End Sub Private Sub SelectItemData(cbo As ComboBox, ma As Long) Dim i As Integer For i = 0 To cbo.ListCount If ma = cbo.ItemData(i) Then cbo.ListIndex = i Exit Sub End If Next i 77
  78. End Sub Private Sub XemDanhSach() frameDanhSach.Visible = True frameCapNhat.Visible = False LoadCSDL lblTieude.Caption = "s¬ yÕu lý lÞch" 'msfDanhSach.SetFocus End Sub Private Sub ChoPhepGhi() frameDanhSach.Visible = False frameCapNhat.Visible = True cmdCapNhat.Visible = False cmdCancel.Visible = False cmdNhapLai.Visible = True cmdGhi.Visible = True cmdDanhSach.Visible = True lblTieude.Caption = "Thªm c¸n bé" End Sub Private Sub ChoPhepCapNhat() frameDanhSach.Visible = False frameCapNhat.Visible = True cmdCapNhat.Visible = True cmdCancel.Visible = True cmdNhapLai.Visible = False cmdGhi.Visible = False cmdDanhSach.Visible = False lblTieude.Caption = "söa th«ng tin c¸n bé" End Sub 78
  79. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Ký tên Nguyễn Thị Tuyển 79