Bộ giáo dục và đào tạo
Trường Đại học kinh tế quốc dân
Khoa tin học kinh tế
đề án chuyên ngành tin học kinh tế
ứng DụNG Visual basic 6.0 vào
chương trình quản lý lương Hcsn
với csdl access
Giáo viên hướng dẫn: Nguyễn Trung Tuấn
Sinh viên thực hiện : Bùi Thị Thu Hiền
Lớp : Tin A
Khoá : 41
Hà nội 11-2002
Mục lục
Lời mở đầu...............................................................................
Chương I.Giới thiệu ngôn ngữ lập trìnhVisual Basic 6.0
I. Khái quát về Visual b
42 trang |
Chia sẻ: huyen82 | Lượt xem: 2027 | Lượt tải: 3
Tóm tắt tài liệu Ứng dụng Visual basic 6.0 vào chương trình quản lý lương ở các đơn vị hành chính sự nghiệp với cơ sở dữ liệu Access, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
asic 6.0 ...................................
II. Khả năng của Visual Basic 6.0 ..............................
2.1.Các điểu khiển của Visual Basic 6.0...................................
2.2. Các tính năng ngôn ngữ của Visual Basic 6.0......................
2.3. Internet.....................................................................................
2.4. Khả năng dữ liệu của Visual Basic 6.0..................................
2.5. Điều khiển giao diện người sử dụng......................................
Chương II: Phân tích thiết kế hệ thống thông tin
quản lý Lương HCSN..............................................
I.Phân tích chương trình quản lý lương HCSN
1.1.Mô tả của chương trình.......................................................
1.2.Yêu cầu của chương trình......................................................
1.3.Phân tích chương trình...........................................................
1.3.1. Phân tích sơ đồ chức năng (BFD) .........................................
1.3.2. Phân tích sơ đồ luồng thông tin( IFD)...................................
1.3.3. Phân tích sơ đồ luồng dữ liệu(DFD)..............
1.3.4. Phân tích sơ đồ quan hệ thực thể..................................
1..3.5. Các bảng trong chương trình...................................................
II. Thiết kế chương trình quản lý lương HCSN............................ 2.1.Thiết kế giao diện......................................................................
2.2. Các giao diện màn hình........................................................
2.2.1. Danh mục...........................................................................
2.2.2.Bảng tiền lương tháng.........................................................
2.2.3. Tìm kiếm...............................................................................
2.3.Thiết kế các module chương trình.................................................
2.4. Thiết kế các báo cáo.................................................................
2.4.1.Báo cáo lương theo phòng ban................................................
2.4.2.Báo cáo lương theo mã cán bộ.................................................
2.4.3.Báo cáo nhân sự.........................................................................
Đánh giá và kết luận
Tài liệu tham khảo
Lời mở đầu
Máy tính điện tử từ lâu đã là những trợ thủ đắc lực trong nhiều lĩnh vực và trở thành một phần không thể thiếu được trong cuộc sống. Cùng với mục đích hỗ trợ cho việc xử lý thông tin và dữ liệu, các chương trình quản lý ra đời và phát triển không ngừng. Ngày nay khi mà nhu cầu về xử lý thông tin trở nên bức thiết, đôi khi trở thành một vấn đề sống còn thì yêu cầu của các cá nhân và tổ chức đối với chương trình quản lý ngày càng cao. Họ đòi hỏi luôn phải chính xác, hiệu quả, khả năng cập nhật, tìm kiếm một cách nhanh chóng. Để đáp ứng tốt các yêu cầu đó các chương trình quản lý đã ra đời và thoả mãn được đòi hỏi yêu cầu của các cá nhân và tổ chức. Chương trình quản lý lương ra đời để phục vụ cho nhu cầu của tổ chức đề ra: ” Phải làm tốt công tác tiền lương vì chỉ có làm tốt công tác tiền lương, chúng ta mới có thể vừa bảo đảm tích luỹ vốn vừa cải thiện từng bước và có trọng điểm đời sống của nhân dân”(trích dẫn lời của chủ tịch Hồ Chí Minh”).Chương trình này giúp cho người sử dụng sử dụng một cách đơn giản thuận tiện và có hiệu quả. Chương trình đã đưa ra những thông tin cần tìm một cách nhanh chóng.
Xuất phát từ nhu cầu thực tế kết hợp với những kiến thức đã được trang bị trong quá trình học tập, nghiên cứu và cùng sự hướng dẫn của thầy giáo em đã thực hiện đề án chuyên ngành với đề tài “ ứng dụng Visual Basic 6.0 vào chương trình quản lý lương HCSN với CSDL Access “.
Mục tiêu của đề án là xây dựng một chương trình quản lý để phục vụ cho nhu cầu quản lý lương của cơ quan, tổ chức hành chính.
Đề án được trình bày với các nội dung chính như sau:
Lời mở đầu
Chương 1:Giới thiệu ngôn ngữ lập trình Visual Basic 6.0
Chương 2:Phân tích và thiết kế HTTT Quản lý lương HCSN
Đánh giá và kết luận
Tài liệu tham khảo.
Do lần đầu tìm hiểu và xây dựng chương trình nên khả năng cũng như thời gian còn hạn chế do đó chương trình không tránh khỏi những sai sót và khiếm khuyết, kính mong các thầy cô cùng các bạn đóng góp ý kiến quý báu cho chương trình ngày càng được hoàn thiện hơn.
Em xin chân thành cám ơn toàn thể các thầy, cô đã giúp đỡ, dạy em và đặc biệt là thầy Nguyễn Trung Tuấn người đã tận tình chỉ bảo và hướng dẫn em trong quá trình thực hiện đề án này.
Một lần nữa em xin chân thành cám ơn!
Hà nội 11-2002 Người thực hiện
Bùi Thị Thu Hiền
Chương I.
Giới thiệu ngôn ngữ lập trình
Visual Basic 6.0
I. Khái quát về Visual Basic 6.0:
Visual Basic là cái gì?
“Visual “(trực quan) là phần thảo khảo phương pháp được sử dụng để tạo ra giao diện người dùng đồ thị GUI, hơn là viết cho người dùng mã để mô tả sự xuất hiện và sự định vị (vị trí) của giao diện những phần tử, đơn giản bạn thêm vào trong chỗ trên màn ảnh. Nếu bạn đã từng sử dụng một chương trình bản vẽ như sơn bạn đã có hầu hết kỹ năng cần thiết để tạo ra một giao diện người dùng có hiệu quả.
“ Basic”(cơ bản) phần tham khảo cơ bản (lệnh tương đương đa năng với những người mới bắt đầu lập trình) một ngôn ngữ sử dụng bởi người lập trình hơn bất kỳ ngôn ngữ khác nào trong lịch sử tính toán. Văn bản đã tiến triển từ ngôn ngữ cơ bản nguyên mẫu và bây giờ chứa đựng vài trăm định nghĩa, những hàm và những từ khoá, nhiều trong nó có quan hệ trực tiếp với việc sử dụng Window. Những người mới bắt đầu có thể tạo ra hữu ích những ứng dụng bởi tệp học chỉ là một ít từ khoá, tuy thế sức mạnh của ngôn ngữ cho phép xử lý và hoàn thành bất cứ cái gì mà có thể được hình thành sử dụng bất kỳ những ngôn ngữ lập trình cửa sổ khác nào.
Visual Basic 6.0 là một phiên bản mới và mạnh nhất của Visual basic. Visual Basic 6.0 có rất nhiều tính năng mới. Các điều khiển mới cho phép ta viết các chương trình ứng dụng kết hợp giao diện, cách xử lý và tính năng của Office với trình duyệt WEB Internet Explorer. Visual Basic 6.0 cho phép ta lập trình để thêm điều khiển vào đề án tự động và ta còn có thể tạo ra các điều khiển ActiveX hiệu chỉnh.
Ta cũng có thể nhúng các kịch bản (Script) vào trang HTML trên client hoặc Web Server bằng sử dụng ngôn ngữ Vbscript. Thay vì hỏi Server, trình duyệt xét có thể thi hành kịch bản khi nó nạp trang HTML. Các kịch bản này có thể xử lý trên Client hoặc Web server. Một trong những ngôn ngữ thông dụng nhất của kịch bản phía client là VBScript.
Ngoài ra, một vài cải tiến cho phép làm việc với các ứng dụng truy cập dữ liệu ở tầm vĩ mô liên quan đến hàng trăm, hàng nghìn người sử dụng qua mạng hay qua Internet.
II. Khả năng của Visual Basic 6.0
2.1.Các điểu khiển của Visual Basic 6.0
Visual Basic 6.0 đưa vào nhiều điều khiển ActiveX mới. Ngoài những điều khiển được ứng dụng trên máy tính cá nhân độc lập còn có những điều khiển dành cho các đề án truy cập dữ liệu diện rộng. ở đây ta chỉ đưa ra một số điều khiển mới được ứng dụng trên máy tính cá nhân.
a. Visual Basic 6.0 đưa ra giải pháp mới cho phép xem và lựa chọn ngày tháng bằng đồ hoạ từ một lịch biểu hay danh sách cuộn với điều khiển MonthView và Data TimePicker.
b. Sử dụng đồ hoạ với ImageCombo & ImageList:
*) Điều khiển danh sách ảnh (ImageLists): ImageList có thể chứa các điều khiển đồ hoạ khác nhau: ảnh bitmap, gif, biểu tượng... Imagelist thường kết hợp với một điều khiển bằng cách gán ImageList vào thuộc tính ImageList của điều khiển đó.
*) Điều khiển kết hợp ảnh (ImageComBo) là điều khiển mới của VB6,
cho phép nhúng ảnh đồ hoạ trong ComboBox.
*)Visual Basic 6.0 còn cung cấp một thay đổi mới của điều khiển thanh cuộn FlatScrollBar với nhiều kiểu hiển thị (hiển thị chuẩn, hiển thị ba chiều và kiểu hai chiều).
2.2. Các tính năng ngôn ngữ của Visual Basic 6.0.
Visual Basic 6.0 không chỉ cung cấp các điều khiển ActiveX và các cải tiến mà Visual Basic 6.0 còn cung cấp các tính năng mới trong ngôn ngữ của chính Visual basic.
a. Các đối tượng hệ thống tập tin:
Trong Visual Basic 6.0 việc lấy ra thông tin của hệ thống tập tin hoặc thi hành các tác vụ trên hệ thống tập tin (ghi vào tập tin hay thay đổi thư mục ...) trở nên ngắn gọn hơn nhiều nhờ đối tượng mới: FileSystemObject (đối tượng hệ thống tập tin, là một phần của Visual Basic Scripting library). Vì vậy nghiên cứu đối tượng này ta có thể chuyển sang viết kịch bản trong Internet Explorer hay IIS để lập trình hệ thống. Các đối tượng của FileSystemObject cung cấp các thuộc tính và phương thức để làm việc với tập tin, thư mục, và khả năng làm việc với ổ đĩa cục bộ hay ổ đĩa mạng.
b. Khả năng làm việc với chuỗi rộng hơn (với các hàm lọc chuỗi, định dạng chuỗi, nối chuỗi, hàm trả về một mảng ...).
c. Các điều khiển động: Visual Basic 6.0 khắc phục trở ngại của các phiên bản trước trong việc tạo các điều khiển động là buộc phải có ít nhất một điều khiển hiện ra trên biểu mẫu và ta có thể tạo ra những cái khác tự động. Với Visual Basic 6.0, ta dùng chương trình để tạo điều khiển lúc thi hành chương trình bằng cách sử dụng phương thức Add của tập hợp Controls.
2.3. Internet
Visual Basic có thế mạnh trong việc phát triển ứng dụng trên Internet. Ta có thể dùng VBScript để viết các ứng dụng cho Desktop với Internet Explorer. Hơn thế nữa VBScript còn có thể dùng ở máy chủ để làm việc với Internet Explorer. Visual Basic 6.0 rất nhạy bén trong việc phát triển các ứng dụng Internet, nó mở rộng khả năng xây dựng các ứng dụng phía máy chủ cho IIS của Microsoft bằng cách giới thiệu đề án mới IIS Applications (ứng dụng IIS). Ngoài ra Visual Basic 6.0 còn mở rộng và đơn giản hoá DHTML (ngôn ngữ được tất cả các trình duyệt Web sử dụng) bằng cách đưa ra kiểu đề án mới khác: ứng dụng DHTML.
2.4. Khả năng dữ liệu của Visual Basic 6.0
Visual Basic 6.0 cung cấp các đối tượng dữ liệu ActiveX (ActiveX Data Object - ADO). Trong các phiên bản trước của Visual Basic, truy cập dữ liệu được thông qua DAO ( đối tượng truy cập dữ liệu - Data Access Object) và RDO (đối tượng dữ liệu từ xa - Remote Data Object). ADO tổng hợp hơn và có thể thay thế các kỹ thuật này. ADO đơn giản, dễ dùng hơn và có tầm hoạt động rộng hơn.
Ta có thể dùng ADO để kết nối với cơ sở dữ liệu của một máy để bàn hoặc một máy chủ chứa cơ sở dữ liệu từ xa. Hơn nữa, ADO cho phép bạn truy cập nhiều kiểu dữ liệu, ví dụ như thư điện tử.
Kỹ thuật ADO của Visual Basic 6.0 được chứa trong điều khiển mới, điều khiển dữ liệu ADO. Điều khiển ADO cho phép kết nối với các tập tin cơ sở dữ liệu để bàn hay các máy chủ ODBC trên mạng, hoặc ta có thể tạo một kết nối mới đến các CSDL khác.
Ngoài ADO, Visual Basic 6.0 còn có một bộ công cụ và kỹ thuật mới giúp truy cập dữ liệu dễ dàng hơn.Trình thiết kế môi trường dữ liệu (Data Enviroment) cho phép xem xét và thao tác dữ liệu trong CSDL khác nhau. Bởi vì bản thân môi trường dữ liệu là những đối tượng, ta có thể sử dụng chúng như một điều khiển dữ liệu hay gắn nó với các điều khiển khác như hộp văn bản hay nhãn.
Để tận dụng các thế mạnh của ADO, Visual Basic 6.0 đưa ra các điều khiển dữ liệu mới như DataGrid cho phép xem dữ liệu dưới dạng bảng gồm các dòng và cột, DataList và DataCombo dùng để lấy dữ liệu từ điều khiển ADO trong cấu hình ListBox hay ComboBox. FlexGrid linh động hơn để xem dữ liệu phức tạp.
Visual Basic 6.0 còn mở rộng khả năng báo cáo với trình báo cáo dữ liệu giúp cho việc tạo, xem trước và in các báo cáo bằng nhiều cách khác nhau. Ta có thể thi hành báo cáo của Access từ Visual Basic, thiết kế với DataReport hay dùng Crystal Report. Crystal Report cung cấp một số khuôn mẫu báo cáo chuẩn cho phép ta xuất dữ liệu theo những dạng khác nhau tương đối phong phú, ta cũng có thể dùng báo cáo do mình thiết kế làm khuôn mẫu hay báo cáo tự tạo. Như vậy Crystal Report rất năng động và có thể đáp ứng những yêu cầu của chúng ta.
2.5. Điều khiển giao diện người sử dụng
(Trình thiết kế DataEnviroment)
Điểm mới trong Visual Basic 6.0 là khả năng tạo một giao diện người sử dụng ràng buộc dữ liệu dựa trên trình thiết kế DataEnviroment. Trình thiết kế DataEnviroment có thể được chia sẻ qua nhiều ứng dụng, vì vậy ta có thể dễ dàng lập trình trong một ứng dụng ràng buộc dữ liệu với mức tái sử dụng cao hơn. Trên thực tế, DataEnviroment với khả năng hỗ trợ kéo thả nên việc ràng buộc dữ liệu sẽ nhanh và tiện hơn nhiều so với điều khiển ràng buộc dữ liệu (với điều khiển ràng buộc dữ liệu ta phải ràng buộc từng điều khiển riêng rẽ với nguồn dữ liệu).
Như vậy, ta thấy rằng Visual Basic 6.0 có rất nhiều tính năng mới cho phép ta làm việc với môi trường dữ liệu và thiết kế nên những chương trình hoàn hảo, giao diện thân thiện, dễ sử dụng. Ngoài những tính năng đã nêu ở trên, Visual Basic 6.0 còn có những khả năng mới, rất mạnh khác như: cho phép ta tự tạo những điều khiển ActiveX liên quan dữ liệu để mở rộng tính năng của điều khiển có sẵn.
Tuy nhiên, trong phạm vi của đề án này em chỉ vận dụng một số tính năng mới của Visual Basic 6.0 với mục đích chủ yếu là xây dựng một phần của chương trình quản lý lương. Sau này, nếu có điều kiện em sẽ tiếp tục nghiên cứu và vận dụng những tính năng mới của Visual Basic 6.0 để xây dựng một chương trình quản lý lương hoàn chỉnh.
Chương II
Phân tích thiết kế hệ thống thông tin quản lý Lương HCSN
I.Phân tích chương trình quản lý lương HCSN
1.1.Mô tả của chương trình
Huyện Tân Lạc là một huyện nhỏ của tỉnh Hoà Bình, có các phòng ban chính:
- Văn phòng hành chính
- Phòng thanh tra
Phòng kiểm soát.
Phòng văn thư
Phòng ngân sách
Phòng kế toán
Với các phòng ban trên nếu quản lý thủ công lương của các cán bộ trong huyện thì sẽ có nhiều bất tiện như sau:
Bộ phận kế toán cần nhiều nhân lực.
Tốn nhiều thời gian trong việc quản lý và lập báo cáo
Gây nhiều bất tiện trong việc quảnlý sổ sách.
Tìm kiếm thông tin về cán bộ gặp nhiều khó khăn, phức tạp.
Báo cáo lương tháng mất nhiều thời gian,công sức.
Xuất phát từ những nhược điểm của hệ thống thông tin bằng thủ công, nên việc tin học hoá trong công tác quản lý là việc làm hợp lý và cần thiết.
Vậy phần mềm quản lý lương HCSN đã ra đời để khác phục những nhược điểm đó. Để quản lý tiền lương của Uỷ ban nhân dân huyện Tân Lạc phần mềm quản lý với các thông tin sau:
Thông tin đầu vào:
- Với những nhân viên mới vào phòng ban sẽ lưu trữ thông tin cá nhân, và có một mức lương hợp đồng cơ bản.
- Hàng tháng cập nhật nhưng thay đổi nếu có, ngoài ra tuỳ theo chức vụ mà có các khoản trợ cấp chức vụ khác nhau.
- Hàng tháng huyện sẽ tính lương cho nhân viên theo quy định của nhà nước.
Thông tin đầu ra: Xuất ra các báo cáo theo yêu cầu:
Báo cáo lương theo các phòng ban
Báo cáo lương tháng theo từng cán bộ
Báo cáo nhân sự.
1.2.Yêu cầu của chương trình
- Nhập số liệu cán bộ gồm: ngày trả lương hàng tháng, các thay đổi hàng tháng cần cập nhật ...
- Thay đổi mức lương: hệ số lương có thể thay đổi
- Tính lương cán bộ:
+Luongchinh = (h*ngc*luongcb)/22
+Tonglinh = luongchinh+pccv+pckv+luonghd
+BH =Tonglinh*(BHXH+BHYT)/100
+Thuclinh =Tonglinh-BH
Luongchinh:Lương chính của mỗi cán bộ
h :Hệ số lương của mỗi cán bộ
ngc :Ngày công
luongcb :Lương cơ bản
Tonglinh : Tổng lĩnh
Pccv :Phụ cấp chức vụ
Pckv :Phụ cấp khu vực
Luonghd : Lương hợp đồng
BH : Bảo hiểm
BHXH : Bảo hiểm xã hội
BHYT :Bảo hiểm y tế
Thuclinh :Thực lĩnh
Qua mô tả cho ta các thông tin bao gồm:
Thông tin nhập : danh mục cán bộ, danh mục phòng ban, chức vụ cán bộ, bảng tiền lương tháng.
+) Danh mục cán bộ: cho phép thêm mới, sửa, xoá, xem các thông tin về cán bộ.danh mục này có những thông tin cần thiết khi nhập cán bộ mới như : mã cán bộ, hệ số lương ,tạm ứng.
+) Danh mục phòng ban : cho phép thêm, xoá, sửa, xem thông tin về các cán bộ trong phòng ban đó.
+) Danh mục chức vụ: cho phép thêm, xoá, sửa, xem thông tin về chức vụ của các cán bộ trong các phòng ban.
+) Danh mục bảng tiền lương tháng: cho phép cập nhật, thêm, xoá,sửa, xem các thông tin về cán bộ. Những thông tin phải được nhập đầy đủ thì mới tính được tổng lĩnh hàng tháng của các cán bộ.
2) Thông tin xuất :
+) Các báo cáo lương theo từng cá nhân:cho biết các thông tin về cá nhân(mã cán bô,họ và tên,điện thoại...) hệ số lương, Bảo hiểm(XH và YT),tạm ứng,tổng lĩnh.
+) Lương theo từng phòng ban: cho biết với mỗi phòng ban có các mã cán bộ, họ tên, hệ số lương,các khoản phụ cấp,tổng lĩnh,tạm ứng,thực lĩnh.
+) Báo cáo nhân sự: Cho biết các cán bộ trong các phòng ban ( mã cán bộ, họ tên, ngày sinh, giới tính, hệ số lương, điện thoại).
Các mẫu báo cáo
Báo cáo lương theo phòng ban:
UBND huyện Tân Lạc
Bảng tiền lương tháng của phòng ban
Đơn vị tính: Đồng
Tên phòng ban
Mã cán bộ
Họ và tên
Hệ số lương
Lương chính
Các khoản phụ cấp
Chức vụ Khu vực
Tổng lĩnh
BHXH và BHYT
Tạm ứng
Thực lĩnh
....
....
....
....
.... ....
....
....
....
....
....
....
....
....
.... ....
....
....
....
....
Tân lạc ngày/tháng/năm
Kế toán Thủ trưởng đơn vị
Báo cáo nhân sự
UBND huyện Tân Lạc
Danh sách cán bộ trong các phòng ban
Mã cán bộ
Họ và tên
Ngày sinh
Giới tính
Hệ số lương
Điện thoại
....
....
....
....
....
....
....
....
....
....
....
....
Tân Lạc ngày/tháng/năm
Kế toán Thủ trưởng đơn vị
1.3.Phân tích chương trình
1.3.1 Phân tích sơ đồ chức năng (BFD)
Sơ đồ chức năng
Quản lý lương HCSN
Báo cáo
Quản lý
Cập nhật
Giải thích các chức năng:
- Chương trình cho phép cập nhật, quản lý tình trạng lương của cán bộ.
- Theo dõi các phòng ban và các chức vụ.
- Cung cấp các thông tin đơn giản, thêm , sửa thông tin , xoá thông tin nhân viên.
Tìm kiếm nhân viên theo mã cán bộ, họ tên, tên phòng ban, chức vụ.
Báo cáo lương cán bộ
*) Báo cáo lương theo phòng ban: Với mỗi phòng ban cho biết mã cán bộ, họ tên, hệ số lương của mỗi cán bộ, các khoản phụ cấp chức vụ , khu vực, tổng lĩnh,BHXH và BHYT,tạm ứng,thực lĩnh của mỗi cán bộ.
*) Báo cáo lương từng cán bộ: Báo cáo chi tiết từng cán bộ như những thông tin cá nhân, ngày công, hệ số lương, BHXH và BHYT, tổng lĩnh...
*) Báo cáo nhân sự : Cho biết các cán bộ trong các phòng ban trong huyện.
1.3.2. Phân tích sơ đồ luồng thông tin( IFD)
Sơ đồ luồng thông tin (IFD)
Nhân viên nhập liệu
NV kiểm tra
HS đã nhập
Xử lý dữ liệu
Thông tin đã xử lý
Cập nhật tìm kiếm
Hồ sơ
Lương
Trả lời
Yêu cầu
Tính lương
LĐ và các PB liên quan
Báo cáo lương
Lập báo
cáo
1.3.3.Phân tích sơ đồ luồng dữ liệu(DFD)
Sơ đồ luồng dữ liệu (DFD):
Nhân viên
TT cần
1.0
Cập nhật
cậpnhật
Lãnh đạo
Kiểm tra
yêu cầu yêu cầu đã
kiểm tra
Lưu thôngtin
mới vào hồ sơ
Hồ sơ cán bộ
Thông tin được Yêu cầu
lấy ra
2.0
Báo cáo lương
3.0
Tìm kiếm
Kế toán trưởng
Báo cáo
Báo cáo Yêu Báo Yêu
cầu cáo cầu
Lãnh đạo và các phòng ban chức năng có liên quan.
a) Thuật toán nhập dữ liệu.
Bắt đầu
Mở các from
nhập
Tạo một bản ghi trắng
Nhập dữ liệu vào
bản ghi đó
Có cập nhật dữ
liệu vừa nhập
không?
C
K
Có nhập
tiếp không?
c
K
Đóng tệp
Kết thúc
c) Thuật toán tìm kiếm
Bắt đầu
Nhập điều kiện
tìm kiếm
Có bản ghi
thoả mãn
không?
Thông báo tình
trạng
K
Hiện bản ghi cần
tìm
C
Có tìm
kiếm tiếp
không?
C
K
Kết thúc
1.3.4.Phân tích sơ đồ quan hệ thực thể
Danh mục danh sách cán bộ : Lưu thông tin về cán bộ
Danh mục danh sách phòng ban: Lưu thông tin về các phòng ban
Danh mục chức vụ cán bộ : Lưu thông tin về các chức vụ
Bảng Tiền lương tháng : Lưu thông tin lương của nhân viên
Sơ đồ quan hệ giữa các thực thể:
Danh mục chức vụ
Bảng tiền
lương
Danh sách cán bộ
Danh sách phòng ban
Ký hiệu quan hệ n-1
n 1
1.3.5.Các bảng trong chương trình
Bảng 1: Tbl_DanhSachCanBo (Danh Sách Cán Bộ)
Thuộc tính
Kiểu dữ liệu
Kích thước
Diễn giải
Macanbo
Hoten
Ngaysinh
Gioitinh
Hesoluong
Tamung
DienThoai
Ngayvd
Dangvien
Trinhdo
Honnhan
Text
Text
Date/time
Yes/no
Number
Number
Text
Date/time
Yes/no
Text
Yes/no
10
25
dd/mm/yyyy
single
interger
10
dd/mm/yyyy
25
Mã số cán bộ
Họ và tên cán bộ
Ngày sinh
Giới tính(nam/nữ)
Hệ số lương
Tạm ứng
Điện thoại
Ngày vào đảng
Đảng viên
Trình độ
Hôn nhân
Bảng 2:Tbl_ChucVuCanBo(Chức vụ cán bộ)
Thuộc tính
Kiểu dữ liệu
Kích thước
Diễn giải
Macanbo
Maphongban
Ngaybatdau
Chucdanh
Ngayketthuc
Text
Text
Date/time
Text
Date/time
10
10
dd/mm/yyyy
25
dd/mm/yyyy
Mã cán bộ
Mã phòng ban
Ngày bắt đầu
Chức danh
Ngày kết thúc
Bảng 3:Tbl_DanhSachPhongBan(Danh sách phòng ban)
Thuộc tính
Kiểu dữ liệu
Kích thước
Diễn giải
Maphongban
Tenphongban
Dienthoai
Diachi
Fax
Ghichu
Text
Text
Text
Text
Text
Text
10
25
10
25
10
50
Mã phòng ban
Tên phong ban
Điện Thoại
Địa chỉ
Số Fax
Ghi chú
Bảng 4:Tbl_BangTienLuong(Bảng Tiền Lương)
Thuộc tính
Kiểu dữ liệu
Kích thước
Diễn giải
STT
Ngaytra
Macanbo
Ngaycc
Phucapcv
Phucapkv
Luonghd
Ghichu
Text
Date/time
Text
Number
Number
Number
Number
Text
5
dd/mm/yyyy
10
Single
Single
Single
Single
25
Số thứ tự
Ngày trả
Mã cán bộ
Ngày công chính
Phụ cấp chức vụ
Phụ cấp khu vực
Lương hợp đồng
Ghi chú
Bảng 5: Tbl_DanhSachBien(bảng danh sách biên)
Bảng này thiết kế để cho biết lương cơ bản, bảo hiểm xã hội, bảo hiểm y tế.
Thuộc tính
Kiểu dữ liệu
Kích thước
Diễn giải
STT
Luongchinh
BHXH
BHYT
Text
Number
Number
Number
6
Single
Single
Single
Số thứ tự
Lương cơ bản
Bảo hiểm xã hội
Bảo hiểm y tế
Tạo mối quan hệ giữa các bảng.
Tbl_ChucVu CanBo
Macanbo
Maphongban
Chucdanh
.....
Tbl_DanhSachCanBo
Macanbo
Hoten
.....
Tbl_BangTienLuong
STT
Ngaytra
Macanbo
....
Tbl_DanhSachPhongBan
Maphongban
Tenphongban
.....
Sơ đồ quan hệ giữa các bảng
II. Thiết kế chương trình quản lý lương HCSN
2.1.Thiết kế giao diện
Thiết kế một màn hình chính để điều khiển toàn bộ các chức năng của chương trình.
Thiết kế một màn hình nhập tiền lương và xem chi tiết của cán bộ công nhân viên.
Thiết kế các màn hình nhập liệu cho chương trình trong đó cho phép nhập thêm dữ liêụ mới, Sửa đổi một dữ liệu nào đó đã được nhập, xoá một dữ liệu đã được nhập... Ngoài ra còn cho phép xem từng mẩu tin dữ liệu trong CSDL.
Thiết kế màn hình nhập liệu cho cán bộ công nhân viên.
Thiết kế màn hình theo dõi và cập nhật danh sách phòng ban.
Thiết kế màn hình theo dõi và cập nhật chức vụ của nhân viên.
Thiết kế màn hình cho việc tìm kiếm thông tin cán bộ.
2.2. Các giao diện màn hình
Màn hình chính của chương trình
Màn hình này cho phép người sử dụng chọn thực đơn mà mình muốn làm như hình dưới đây
Thực đơn gồm 3 phần:
Quảnlý gồm: Danh mục, Bảng lương Tháng,Tìm kiếm, Thoát.
- Báo cáo gồm: Báo cáo lương theo phòng ban, Báo cáo lương theo cán bộ, Báo cáo lương nhân sự.
Trợ giúp :Giới thiệu.
2.2.1. Danh mục
*) Màn hình danh sách cán bộ
Màn hình này đưa ra những thông tin như: mã cán bộ, họ và tên, ngày sinh giới tính, hệ số lương, tạm ứng và với những thông tin khác. Với những chức năng trên màn hình cho phép bạn xem thông tin, cập nhật thêm mới, sửa, xoá,thông tin một các nhanh chóng.
*) Màn hình Danh mục chức vụ
Màn hình cho phép xem thông tin, thêm, sửa, xoá, ghi với các chức năng như hình dưới đây. Cho phép bạn cập nhật các thông tin như mã cán bộ, mã phòng ban, ngày bắt đầu, chức danh, ngày kết thúc.
*) Màn hình Danh Sách Phòng Ban
Màn hình cho phép cập nhật, thêm mới, sửa , xoá và xem chi tiết danh sách các phòng ban
Màn hình xem chi tiết
Màn hình này cho biết chi tiết ứng với mỗi phòng ban thì có các cán bộ trong phòng ban đó.
*) Màn hình bảng Tiền lương
Màn hình này cho phép cập nhật thông tin thêm, sửa,... theo tháng. Nó còn cho biết chi tiết lương của các cán bộ
Màn hình chi tiết lương theo tháng
2.2.2. Bảng lương tháng
Màn hình cho phép quản lý các thông tin của cán bộ: thông tin về lương, thông tin khác về lương, thông tin cuối cùng về lương. Có chức năng đọc số thành chữ trong tổng số lĩnh, in báo cáo theo mã cán bộ.
2.2.3. Tìm kiếm
Màn hình này cho bạn tìm kiếm theo Mã cán bộ hoặc theo Họ và tên , hoặc theo Tên phòng ban, hoặc theo Chức danh. Bạn chỉ cần nhập một trong bốn chỉ tiêu đó sau đó chọn nút tìm kiếm thông tin sẽ được hiện ra như hình dưới đây.
2.3.Thiết kế các module chương trình
* Class Modules
(Chức năng tăng giảm số bản ghi, thêm, sửa, xoá, ghi, bỏ qua, thoát)
Option Explicit
Private Enum cmdButtons
cmdDau = 0
cmdTruoc = 1
cmdTiep = 2
cmdCuoi = 3
cmdThem = 4
cmdSua = 5
cmdLuu = 6
cmdXoa = 7
cmdBoQua = 8
cmdthoat = 9
End Enum
Private Sub updateLabels(lblString As String)
Dim iIndx As Integer
With mvarFormName
For iIndx = 0 To .Controls.Count - 1
If (.Controls(iIndx).Name = mvarLabelToUpdate) Then
.Controls(iIndx).Caption = lblString
Exit Sub
End If
Next
End With
End Sub
Public Sub ProcessCMD(Index As Integer)
Static vMyBookmark As Variant
On Error GoTo a
If mvaradoCtl.Recordset Is Nothing Then Exit Sub
Select Case Index
Case cmdDau
mvaradoCtl.Recordset.MoveFirst
editStatus = nowStatic
Call updateNut(True)
Case cmdTruoc
mvaradoCtl.Recordset.MovePrevious
editStatus = nowStatic
Call updateNut(True)
Case cmdTiep
mvaradoCtl.Recordset.MoveNext
editStatus = nowStatic
Call updateNut(True)
Case cmdCuoi
mvaradoCtl.Recordset.MoveLast
editStatus = nowStatic
Call updateNut(True)
Case cmdThem
editStatus = nowAdding
With mvaradoCtl.Recordset
If (.RecordCount > 0) Then
If (.BOF = False) And (.EOF = False) Then
vMyBookmark = .Bookmark
Else
vMyBookmark = ""
End If
Else
vMyBookmark = ""
End If
.AddNew
Call updateNut
Call updateLabels("Thêm mới...")
End With
Case cmdSua
editStatus = nowEditing
With mvaradoCtl.Recordset
vMyBookmark = .Bookmark
Call updateLabels("Sửa...")
Call updateNut
End With
Case cmdLuu
Dim bMoveLast As Boolean
With mvaradoCtl.Recordset
If .editMode = adEditAdd Then
bMoveLast = True
Else
bMoveLast = False
End If
.Move 0
.Update
editStatus = nowStatic
If (bMoveLast = True) Then
.MoveLast
Else
.Move 0
End If
editStatus = nowStatic
mvarTotalRecords = .RecordCount
Call updateLabels("Đã lưu!")
Call updateNut(True)
End With
Case cmdXoa
Dim iTl As Integer
Call updateLabels("Xóa...")
iTl = MsgBox("Bạn thực sự muốn xóa ?", vbQuestion + vbYesNo + vbDefaultButton2, "Thông báo")
If iTl = vbYes Then
With mvaradoCtl.Recordset
.Delete
If .BOF Or .AbsolutePosition = 1 Then
.MoveFirst
Else
.MovePrevious
End If
mvarTotalRecords = .RecordCount
Call updateLabels("Đã xóa!")
End With
End If
editStatus = nowStatic
Call updateNut(True)
Case cmdBoQua
With mvaradoCtl.Recordset
If editStatus = nowEditing Then
.Move 0
.Bookmark = vMyBookmark
End If
.CancelUpdate
If editStatus = nowEditing Then
.Move 0
Else
If Len(vMyBookmark) Then
.Bookmark = vMyBookmark
Else
If .RecordCount > 0 Then
.MoveFirst
End If
End If
End If
Call updateLabels("Bỏ qua!")
End With
editStatus = nowStatic
Call updateNut(True)
Case cmdthoat
Unload mvarFormName
End Select
Exit Sub
*) Module đọc số thành chữ
Option Base 1
Public MyDoc, My_So
' Chương trình đọc một số thành chữ
Public Function Doc(So) As String
On Error GoTo Err_Doc ' Không cần xử lý lỗi, nếu gặp không đọc
MyDoc = Array("một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín")
My_So = Array("tỷ", "nghìn", "triệu")
Dim SoChuc As Long, SoTram As Long, SoDv As Long
Dim MyStr As String
So = Fix(So) ' Bỏ đi số thập phân
MyStr = ""
If So >= 1000 Then Exit Function
SoTram = So \ 100 ' Số trăm là bao nhiêu ?
So = So Mod 100 ' Còn lại số hàng chục là bao nhiêu ?
SoChuc = So \ 10 ' Số chục là bao nhiêu ?
SoDv = So Mod 10 ' Số đơn vị là bao nhiêu ?
' Bắt đầu đọc số này, theo các trường hợp khác nhau
If SoTram >= 1 Then MyStr = MyDoc(SoTram) & " trăm"
If SoChuc >= 2 Then
MyStr = MyStr & " " & MyDoc(SoChuc) & " mươi"
ElseIf SoChuc = 1 Then
MyStr = MyStr & " mười"
End If
If SoDv = 0 Then
MyStr = MyStr
Doc = MyStr
Exit Function
End If
If SoChuc = 0 Then
If SoTram 0 Then
MyStr = MyStr & " lẻ " & MyDoc(SoDv)
Else
MyStr = MyDoc(SoDv)
End If
Doc = MyStr
Exit Function
End If
If SoChuc = 1 Then
If SoDv 5 Then
MyStr = MyStr & " " & MyDoc(SoDv)
Else
MyStr = MyStr & " lăm"
End If
Doc = MyStr
Exit Function
End If
If SoDv = 1 Then
MyStr = MyStr & " mốt"
ElseIf SoDv = 5 Then
MyStr = MyStr & " lăm"
Else
MyStr = MyStr & " " & MyDoc(SoDv)
End If
Doc = MyStr
Exit_Doc:
Exit Function
Err_Doc: ' Thoát khỏi chương trình khi có lỗi xảy ra
Resume Exit_Doc
End Function
Public Function DocSo(MySo) As String
On Error GoTo DocSo_Err ' Nếu có lỗi xảy ra thì không đọc số
MyDoc = Array("một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín")
My_So = Array("tỷ", "nghìn", "triệu")
Dim ChiSo As Integer, SoBaSo As Long, Space As String, str As String, My_Str As String
Dim TG As Long
ChiSo = 0
str = ""
My_Str = ""
Do While MySo 0
SoBaSo = MySo Mod 1000
MySo = MySo \ 1000
My_Str = Doc(SoBaSo)
If ChiSo = 0 Then
str = My_Str
ElseIf Len(My_Str) 0 Then
TG = (ChiSo Mod 3) + 1
Space = My_So(TG)
str = My_Str & " " & Space & " " & str
ElseIf (ChiSo Mod 3) = 0 Then
str = "tỷ " & str
End If
ChiSo = ChiSo + 1
Loop
DocSo = str & " đồng"
Exit_Function:
Exit Function
DocSo_Err:
DocSo = "Số này lớn quá không thể đọc được!"
Resume Exit_Function
End Function
*) Module tìm kiếm
Private Sub cmdTimKiem_Click()
Dim Macanbo, Hoten, Tenphongban, ChucDanh
Macanbo = "%" + txtMacanbo.Text + "%"
Hoten = "%" + txtHoten.Text + "%"
Tenphongban = "%" + txtTenphongban.Text + "%"
ChucDanh = "%" + txtChucdanh.Text + "%"
SQL1 Macanbo, Hoten, Tenphongban, ChucDanh
Devm.Commands.Item("QTK").CommandText = St
dgrdLke.DataMember = "QTK"
If Devm.rsQTK.RecordCount = 0 Then
MsgBox "KhÔng có mẩu tin này!", vbOK, "Tìm kiếm", 0, 0
End If
Devm.rsQTK.Close
End Sub
Public Sub SQL1(Macanbo, Hoten, Tenphongban, ChucDanh)
St =._.
Các file đính kèm theo tài liệu này:
- 35316.doc