版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)庫課程設(shè)計報告</b></p><p> 企業(yè)員工工資管理系統(tǒng)</p><p> 姓 名:_____________________________</p><p> 班 級:_____________________________</p><p> 學(xué) 號:
2、_____________________________</p><p> 指導(dǎo)教師:_____________________________</p><p> 成 績:_____________________________</p><p> 完成時間:_____________________________</p><p&
3、gt; 完成地點:_____________________________</p><p><b> 摘 要</b></p><p> 企業(yè)的工資管理是公司管理的一個重要內(nèi)容。工資管理既涉及到企業(yè)勞動人事的管理,同時也是企業(yè)財務(wù)管理的重要組成部分。工資管理需要和人事管理相聯(lián)系,同時連接工時考勤和醫(yī)療保險等等,來生成企業(yè)每個職工的基本工資、津貼、醫(yī)療保險、保險費(fèi)
4、、實際發(fā)放工資等。資金是企業(yè)生存的主要元素,資金的流動影響到企業(yè)的整體運(yùn)作,企業(yè)員工的工資是企業(yè)資金管理的一個重要的組成部分。但考慮到學(xué)生的開發(fā)時間,本次設(shè)計主要闡述員工工資管理系統(tǒng)主要是以企業(yè)員工工資情況為對象而開發(fā)的。涉及系統(tǒng)比較小,有利于學(xué)生單獨編寫。其系統(tǒng)的設(shè)計主要包括數(shù)據(jù)庫的設(shè)計、維護(hù)和應(yīng)用界面的設(shè)計與后臺數(shù)據(jù)庫的連接。經(jīng)分析采用Microsoft 公司開發(fā)的Visual Basic 6.0為開發(fā)工具,Microsoft SQ
5、L sever 2000 為后臺數(shù)據(jù)庫。Visual Basic (簡稱VB)是由Microsoft公司推出的在Windows操作平臺下最迅速、最簡捷的應(yīng)用開發(fā)工具之一。它引入了面向?qū)ο蟮某绦蛟O(shè)計思想和“控件”的概念,使得大量已經(jīng)編好的Visual Basic 程序可以直接拿來使用。同時VB具有簡單、易學(xué)的特點,是大多數(shù)初學(xué)者最理想</p><p> 關(guān)鍵詞:工資管理系統(tǒng)、設(shè)計、開發(fā)工具</p>
6、<p><b> 目錄</b></p><p><b> 摘 要1</b></p><p><b> 目錄2</b></p><p><b> 第一章 緒論3</b></p><p> 1.1 問題的提出3</p>
7、<p> 1.2 系統(tǒng)設(shè)計功能3</p><p> 第二章 數(shù)據(jù)庫系統(tǒng)設(shè)計5</p><p> 2.1 數(shù)據(jù)庫分析設(shè)計5</p><p> 2.2 數(shù)據(jù)各個表之間的關(guān)系6</p><p> 第三章 各個關(guān)系間的數(shù)據(jù)結(jié)構(gòu)7</p><p> 3.1 系統(tǒng)設(shè)計目標(biāo)7</p>
8、<p> 3.2 系統(tǒng)概要分析7</p><p> 第四章 企業(yè)工資管理系統(tǒng)應(yīng)用設(shè)計9</p><p> 4.1 企業(yè)工資管理系統(tǒng)設(shè)計9</p><p> 4.2 子模塊的設(shè)計10</p><p> 第五章 各個模塊部門代碼15</p><p> 5.1登陸界面15</p>
9、;<p> 5.2 各個子模塊代碼設(shè)置16</p><p> 第六章 各模塊設(shè)計要點23</p><p> 6.1 登錄模塊設(shè)計23</p><p> 6.3用戶管理設(shè)計23</p><p> 6.3 信息管理設(shè)計23</p><p> 6.4 查詢工資設(shè)計24</p>
10、<p> 第七章 結(jié)束語25</p><p><b> 致謝26</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 緒論</b></p><p><b> 1.1 問題的提出</b></p
11、><p> 隨著企業(yè)人員數(shù)量增加,企業(yè)的工資管理工作也變得越來越復(fù)雜。早期的工資統(tǒng)計和發(fā)放都是使用人工方式處理紙質(zhì)材料,不僅花費(fèi)財務(wù)人員大量的時間且不易保存,往往由于個人的因素抄寫不慎或計算疏忽,出現(xiàn)工資發(fā)放錯誤的現(xiàn)象。早期工資管理多采取紙質(zhì)材料和具有較強(qiáng)的時間限制。隨著我國國民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和具有中國特色的社會主義市場經(jīng)濟(jì)體制的迅速完善,各個行業(yè)都在積極使用現(xiàn)代化的手段,不斷改善服務(wù)質(zhì)量,提高工作效率,這些都
12、在很大程度上給企業(yè)提出越來越嚴(yán)峻的挑戰(zhàn),對企業(yè)體系無論是在行政職能、企業(yè)管理水平以及優(yōu)質(zhì)服務(wù)上都提出更高的要求。建設(shè)一個科學(xué)高效的信息管理系統(tǒng)是解決這一問題的必由之路。企業(yè)內(nèi)部財務(wù)管理是該企業(yè)運(yùn)用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟(jì)效益的主要因素之一。工資管理作為企業(yè)內(nèi)部的一種財務(wù)管理也是如此,由于企業(yè)職工人數(shù)較多,每一位職工的具體實際情況也不盡相同,各項工資條款的發(fā)放,如果沒有一個完整的管理系統(tǒng)對企業(yè)和員工的工作都帶來許多的不便?;谝陨显?/p>
13、,企業(yè)工資管理系統(tǒng)使用電腦安全保存、快速計算、全面統(tǒng)計,實現(xiàn)工資管理的系統(tǒng)化、規(guī)范化、自動化。</p><p> 工資管理系統(tǒng)是企、事業(yè)單位常見的計算機(jī)信息管理系統(tǒng)。它的主要任務(wù)是對各種工資信息進(jìn)行日常的信息管理,如工資信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計計算和匯總,快速打印出報表。在建立與實現(xiàn)工資管理系統(tǒng)時,進(jìn)行了功能劃分,能夠由數(shù)據(jù)庫管理系統(tǒng)完成的功能應(yīng)盡可能由數(shù)據(jù)庫管理系統(tǒng)
14、守成,充分發(fā)揮數(shù)據(jù)庫管理系統(tǒng)高效、完全、可靠、便捷的性能,減少編程人員的工作量。工資管理系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個比較典型的應(yīng)用,前臺使用的是微軟的VB6.0,后臺數(shù)據(jù)庫采用Microsoft SQL Sever數(shù)據(jù)庫。運(yùn)行結(jié)果證明,本企業(yè)員工工資管理系統(tǒng)極大提高了工作效率,節(jié)省了人力和物力,自重滿足企業(yè)員工工資管理的需要。</p><p> 1.2 系統(tǒng)設(shè)計功能</p><p> 企
15、業(yè)工資管理系統(tǒng)的主要任務(wù)是用計算機(jī)對各種工資信息進(jìn)行日常的管理,如查詢、修改、添加、刪除以及存儲等,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計計算和匯總工作,針對系統(tǒng)服務(wù)對象的具體要求,設(shè)計了企業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以下幾大功能:</p><p> 對單位人員的變動進(jìn)行處理。一個單位的職工不會是一成不變的,總是在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位內(nèi)部調(diào)動。因此,設(shè)計系統(tǒng)是應(yīng)考慮到這些情況。<
16、;/p><p> 對職工的工資進(jìn)行計算、修改??梢詫β毠さ墓べY檔案進(jìn)行個別、部分和批量修改,同時,能對各職工的工資進(jìn)行計算,即計算基本工資、崗位工資、水電費(fèi)及實發(fā)金額等。</p><p> 查詢統(tǒng)計功能。要求即可以單項查詢,比如查看某個職工的工資情況等;也可以多項查詢,比如某個部門所有的員工的工資信息。</p><p> (4)對用戶管理功能。一個系統(tǒng)的應(yīng)用有管理
17、員和普通用戶,他們對系統(tǒng)的權(quán)限受到限制。</p><p> 第二章 數(shù)據(jù)庫系統(tǒng)設(shè)計</p><p> 2.1 數(shù)據(jù)庫分析設(shè)計</p><p> 需求分析的過程可以說是一個對具體問題的反復(fù)理解和抽象的過程。理解就是對現(xiàn)實問題的理解,要弄清楚究竟需要解決什么問題。抽象就是除去問題的表面,提取問題的本質(zhì),建立問題的邏輯模型,以便于以后階段的系統(tǒng)的設(shè)計實現(xiàn)。需求分析階
18、段是軟件產(chǎn)品生存命期中的一個重要階段,其根本任務(wù)是確定用戶對軟件系統(tǒng)的需求。所謂需求是指用戶對軟件的功能和性能的要求,就是用戶希望軟件能什么事情,完成什么樣的功能,達(dá)到什么性能。此次課程設(shè)計的使用者是企業(yè)的員工,主要是針對系統(tǒng)的管理員。其進(jìn)行的操作就是對公司員工、部門等一些方面改動的改善。由此對員工需求分析如下。</p><p> 用戶的需求就是對員工工資和使用用戶的添加、刪除、修改和查詢。這就要求各種信息中存
19、在實體完整性、參照完整性和用戶自定義完整性。搜集了各項要求,故數(shù)據(jù)項要求設(shè)計如下:</p><p><b> 表2.1員工信息表</b></p><p><b> 表2.2 部門信息</b></p><p><b> 表2.3 基本工資</b></p><p><b
20、> 表2.4崗位工資</b></p><p><b> 表2.5工資信息</b></p><p> 2.2 數(shù)據(jù)各個表之間的關(guān)系</p><p> 在設(shè)計過程中,從用戶的角度考慮來處理各個表之間的約束關(guān)系,把概念模式轉(zhuǎn)化成邏輯模式最終形成E-R圖。</p><p> 員工信息表(員工編號、姓名
21、、性別、出生年月、所屬部門、文化程度、職稱)</p><p> 部門信息表(部門編號、部門名稱、部門負(fù)責(zé)人、部門人數(shù))</p><p> 基本工資表(工資級別、工資金額)</p><p> 崗位工資表(工資級別、工資金額)</p><p> 工資信息表(員工編號、部門編號、基本工資、崗位工資、水電費(fèi)、實發(fā)工資)</p>
22、<p> 各個模塊之間的關(guān)系,如圖2.1所示。</p><p> 圖2.1 各表之間的聯(lián)系</p><p> 第三章 各個關(guān)系間的數(shù)據(jù)結(jié)構(gòu)</p><p> 3.1 系統(tǒng)設(shè)計目標(biāo)</p><p> 開發(fā)這個系統(tǒng)的目的就是幫助企業(yè)的財務(wù)主管部門提高工作效率,實現(xiàn)企業(yè)工資信息管理的系統(tǒng)化、規(guī)范化和自動化。實現(xiàn)企業(yè)高效、科學(xué)、
23、現(xiàn)代化的員工管理。系統(tǒng)最終實現(xiàn)的主要功能如下。</p><p> ·企業(yè)工資信息設(shè)置部分:包括設(shè)置員工的基本工資和其他項目的金額,如水電費(fèi)。</p><p> ·企業(yè)信息管理部分:包括員工信息、部門信息和發(fā)放工資(工資信息)。</p><p> ·企業(yè)員工查詢部分:包括按員工查詢和按部門查詢。</p><p&g
24、t; ·系統(tǒng)部分:包括添加用戶、修改用戶信息。</p><p> 3.2 系統(tǒng)概要分析</p><p> 用戶在使用一個系統(tǒng)時,必須先登錄操作界面,在操作完成后然后再退出,其操作如圖3.1所示。</p><p><b> 注銷</b></p><p> 圖3.1 系統(tǒng)流程圖</p>&l
25、t;p> 說明:操作員進(jìn)入管理系統(tǒng)的身份不同,所獲得的權(quán)限也不同,普通用戶只可以查詢自己的工資情況,而且部門對自己的所有信息進(jìn)行更改。</p><p> 圖3.2 用戶操作模塊</p><p> 說明:管理員可以對所有模塊進(jìn)行操作,普通用戶只可以進(jìn)行查詢員工工資的權(quán)限。</p><p> 說明:在各個子模塊操作時用戶同時在實現(xiàn)更改的時候在對話框上的網(wǎng)格
26、看到后臺數(shù)據(jù)庫最新的動態(tài)。</p><p><b> 各個模塊簡介:</b></p><p> 登錄模塊:主要完成用戶的登錄信息核對并進(jìn)入主界面。</p><p> 用戶管理模塊:主要完成對用戶信息的添加、修改和刪除功能。</p><p> 信息設(shè)置模塊:主要對企業(yè)內(nèi)部員工和部門的管理。</p>&
27、lt;p> 工資查詢模塊:主要完成對員工工資的查詢。</p><p> 第四章 企業(yè)工資管理系統(tǒng)應(yīng)用設(shè)計</p><p> 4.1 企業(yè)工資管理系統(tǒng)設(shè)計</p><p> 4.1.1 “登陸模塊”詳細(xì)設(shè)計</p><p> “登錄模塊”的設(shè)計主要是針對用戶登錄界面的設(shè)計,判斷用戶是管理員還是普通用戶,從而進(jìn)入主界面。</
28、p><p> 登陸界面主要由用戶名和密碼的信息,還有標(biāo)題的設(shè)置,登錄和取消按鈕的設(shè)置。用戶只有選擇用戶名后填入相應(yīng)的密碼后點擊“登錄”才能進(jìn)入主界面,點擊“取消”會退出系統(tǒng)。由此,登陸界面設(shè)計如圖4.1所示</p><p> 圖4.1 登陸界面設(shè)計界面</p><p> 若用戶對此有操作上的錯誤,我設(shè)計的特點是都有提示的對話框(幾乎每個窗體都設(shè)置了如下操作,除了
29、特殊的提示外,為節(jié)省打印紙張,相同的提示在以后的篇幅中不再一一寫出),如圖4.2所示</p><p> 4.2 操作錯誤提示</p><p> 若用戶三次輸入密碼錯誤,系統(tǒng)會認(rèn)為惡意進(jìn)入,系統(tǒng)自動關(guān)閉。如圖4.3所示</p><p> 圖4.3 強(qiáng)制關(guān)閉圖</p><p> 4.1.2 “主界面”的詳細(xì)設(shè)計</p>&l
30、t;p> 主界面的設(shè)計是由菜單編輯器生成,主要由系統(tǒng)設(shè)置、設(shè)置、信息維護(hù)、工資查詢五個模塊組成。其作用是使程序更加有條有理,有利于管理。其中普通用戶只可部分操作,管理員可以對所有模塊進(jìn)行操作。主界面設(shè)計如圖4.4所示:</p><p> 圖4.4 主界面設(shè)計圖</p><p> 4.2 子模塊的設(shè)計</p><p> 4.2.1 選擇“系統(tǒng)設(shè)置”→“用
31、戶管理”→“用戶添加”菜單,在添加用戶的窗體里輸入用戶名、用戶密碼和權(quán)限,系統(tǒng)自動新增用戶名及其用戶信息。如圖4.5所示。</p><p> 為了防止用戶在輸入密碼時按錯鍵或者一時忘記密碼,我在設(shè)計的時候運(yùn)用了“確認(rèn)密碼”的文本框,其屬性與密碼項相同??梢杂脕沓C正用戶一時的粗心大意目的,完善了系統(tǒng)的完整性。</p><p><b> 圖4.5 用戶添加</b>&l
32、t;/p><p> 4.2.2. 選擇”系統(tǒng)設(shè)置“→”用戶管理“→”用戶修改“菜單,其窗體由五個標(biāo)簽、兩個文本框、兩個組合框和一個按鈕組成,分別設(shè)置它們的屬性,其中兩個組合框的屬性設(shè)置為只讀屬性。在用戶修改的窗體里選擇用戶名即可修改用戶密碼和權(quán)限,系統(tǒng)價自動更改后臺數(shù)據(jù)庫的用戶信息。設(shè)計界面如圖4.6所示</p><p><b> 圖4.6 用戶修改</b></
33、p><p> 4.2.3 選擇”系統(tǒng)設(shè)置“→”用戶管理“→”用戶刪除“菜單,窗體設(shè)計較簡單,分別由一個文本框、一個組合框和兩個按鈕組成,組合框的屬性設(shè)置為只讀屬性。由于刪除的用戶只可以是后臺數(shù)據(jù)庫中存在的用戶在下拉按鈕中選擇要刪除的用戶名,即可刪除用戶名及其有關(guān)信息。</p><p> 關(guān)于用戶管理的子菜單,只有管理員有權(quán)限進(jìn)入設(shè)置。</p><p> 4.2.4
34、 選擇”設(shè)置“→”基本工資“菜單,自動彈出基本工資設(shè)置的對話框(如圖4.7所示),在網(wǎng)格中會顯示數(shù)據(jù)庫中現(xiàn)有的基本工資級別和金額,用戶在填寫完級別和金額后單擊添加或者修改按鈕進(jìn)行后臺數(shù)據(jù)庫的更新。在網(wǎng)格中選擇要刪除的基本工資,點擊刪除按鈕,系統(tǒng)會自動進(jìn)行刪除,并且所有的操作后會自動刷新網(wǎng)格,以及時提供給用戶信息。</p><p> 圖4.7 基本工資設(shè)置</p><p> 4.2.5
35、 選擇”設(shè)置“→”崗位工資“菜單后,自動彈出對話框,其功能與基本工資設(shè)置相同,在此不在贅述。</p><p> 4.2.6選擇”信息維護(hù)“→”部門管理“菜單后會出現(xiàn)如圖4.9所示對話框,管理員用戶可以通過網(wǎng)格瀏覽現(xiàn)有庫中的部門信息,在部門信息框架中輸入部門信息,同時也可添加、修改部門信息,數(shù)據(jù)庫自動更新。當(dāng)刪除一條信息時,會出現(xiàn)如圖4.8所示提示信息,用戶可以選擇刪除或者取消操作。但如其部門已經(jīng)被引用,則&qu
36、ot;delete"語句會與約束條件發(fā)生沖突,不能刪除。</p><p> 圖4.8 確定刪除對話框 </p><p> 圖4.9 部門管理設(shè)置</p><p> 4.2.7 選擇”信息維護(hù)“→”員工管理“菜單后會出現(xiàn)如下對話框,“性別”組合框默認(rèn)為“男”,如用戶輸入的不是“男”或者是“女”時,添加操作將不能進(jìn)行,并且在填寫員工信息時,員工的性別默
37、認(rèn)為“男”。其進(jìn)行的操作與部門管理相同,不再贅述。 </p><p> 4.2.8 選擇”信息管理“→”發(fā)放工資“菜單,網(wǎng)格顯示的是現(xiàn)有后臺數(shù)據(jù)庫中的員工工資信息,右邊可以直接瀏覽員工工資信息。直接點擊選擇網(wǎng)格中的工資信息,單擊刪除按鈕可直接刪除。考慮到設(shè)計頁面的大小問題,對工資信息的添加和修改操作轉(zhuǎn)移到另一個窗體(如圖4.10所示)中進(jìn)行。</p><p>
38、 用戶可以在工資信息中輸入員工的工資信息,由于添加和修改的操作同時在一個窗體中進(jìn)行,員工編號不知道要添加的哪一個,所以員工編號的下拉按鈕不是“只讀”屬性,用戶在輸入員工編號時應(yīng)輸入一個存在的員工,不然則彈出如圖4.11所示的提示框。</p><p> 圖4.10工資信息設(shè)置</p><p> 圖4.11 員工不存在提示</p><p> 4.2.9選擇“工資查
39、詢”→“按員工查詢”菜單,彈出如圖4.12所示對話框,用戶可以選擇單人查詢或者全部顯示,但是不能對員工的工資做任何的改動。</p><p> 管理員可以查看所有人的工資情況,但是普通用戶只可以查看自己的工資情況,別人的工資情況不允許查看。</p><p> 圖4.12 按員工查詢</p><p> 4.2.10 選擇“工資查詢”→“按部門查詢”菜單,彈出對話框
40、,當(dāng)選擇“部門編號”后可執(zhí)行“單個顯示”,若想全部顯示,可直接單擊”顯示所有“按鈕。網(wǎng)格中將會同時刷新后臺數(shù)據(jù)庫信息,但是不能做任何的修改。</p><p> 第五章 各個模塊部門代碼</p><p><b> 5.1登陸界面</b></p><p> Static try_times As Integer </p>&l
41、t;p> Dim sql As String</p><p> Dim rst As ADODB.Recordset</p><p> If Trim(cmo_user.Text) = "" Then</p><p> MsgBox "請選擇用戶名", vbOKOnly + vbInformation, &quo
42、t;提示"</p><p> cmo_user.SetFocus</p><p><b> Else</b></p><p> If Trim(txt_key.Text) = "" Then</p><p> MsgBox "請輸入密碼", vbOKOnly +
43、vbExclamation, "提示"</p><p> txt_key.SetFocus</p><p><b> Else</b></p><p> sql = "select * from 用戶表 where 用戶名='" & Trim(cmo_user.Text) &
44、 "'"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> If Trim(rst.Fields(1)) = Trim(txt_key.Text) Then</p><p> tempuser = Trim(cmo_user.Text)</p><
45、p> power = Trim(rst.Fields(2))</p><p> username = Trim(cmo_user.Text)</p><p><b> rst.Close</b></p><p> frm_main.Show</p><p><b> Unload Me</
46、b></p><p> If power <> "管理員" Then</p><p> frm_main.set.Enabled = False</p><p> frm_main.defend = False</p><p><b> End If</b></p>
47、;<p><b> Else</b></p><p> MsgBox "密碼不正確,請重新輸入", vbOKOnly + vbExclamation, "警告"</p><p> txt_key.SetFocus</p><p> txt_key.Text = ""
48、;</p><p> try_times = try_times + 1</p><p> If try_times = 3 Then</p><p> MsgBox "您已三次嘗試進(jìn)入本系統(tǒng)失敗,系統(tǒng)將自動關(guān)閉", vbOKOnly + vbExclamation, "結(jié)束"</p><p>&
49、lt;b> Unload Me</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b>
50、;</p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Dim i As Integer</p><p> Dim sql As String</p><p> Dim rst As ADODB.Recor
51、dset</p><p> sql = "select 用戶名 from 用戶表 "</p><p> Set rst = ExecuteSQL(sql, "")</p><p> For i = 1 To rst.RecordCount</p><p> cmo_user.AddItem (r
52、st.Fields(0))</p><p> rst.MoveNext</p><p><b> Next i</b></p><p><b> rst.Close</b></p><p><b> End Sub</b></p><p> 5
53、.2 各個子模塊代碼設(shè)置</p><p> 5.2.1 以用戶添加為例,部分代碼如下所示</p><p> Private Sub cmd_add_Click()</p><p> Dim rst As ADODB.Recordset</p><p> Dim sql As String</p><p> D
54、im i As Integer</p><p> If Trim(txt_adduser.Text) = "" Or Trim(txt_addkey.Text) = "" Or Trim(cmo_addpower) = "" Then</p><p> MsgBox "請將用戶信息填寫完整!", vbOKO
55、nly + vbExclamation, "警告"</p><p> txt_adduser.SetFocus</p><p> txt_adduser.Text = ""</p><p> txt_addkey.Text = ""</p><p> txt_rekey.Te
56、xt = ""</p><p> cmo_addpower.Clear</p><p> Call Form_Load</p><p><b> Else</b></p><p> sql = "select 用戶名 from 用戶表"</p><p&g
57、t; Set rst = ExecuteSQL(sql, "")</p><p> If Trim(txt_adduser.Text) = Trim(rst.Fields(0)) Then</p><p> MsgBox "您輸入的用戶已經(jīng)存在,請重新輸入!", vbOKOnly + vbExclamation, "警告"&
58、lt;/p><p><b> rst.Close</b></p><p> txt_adduser.SetFocus</p><p> txt_adduser.Text = ""</p><p> txt_addkey.Text = ""</p><p>
59、; cmo_addpower.Clear</p><p> Call Form_Load</p><p> txt_rekey.Text = ""</p><p><b> Else</b></p><p> If Trim(txt_addkey.Text) <> Trim(tx
60、t_rekey.Text) Then</p><p> MsgBox "兩次輸入的密碼不相同,請重新輸入!", vbOKOnly + vbExclamation, "警告"</p><p> txt_addkey.SetFocus</p><p> txt_addkey.Text = ""</p
61、><p> txt_rekey.Text = ""</p><p><b> Else</b></p><p> sql = "insert into 用戶表 values(" & "'" & Trim(txt_adduser.Text) & &quo
62、t;'," _</p><p> & "'" & Trim(txt_addkey.Text) & "'," _</p><p> & "'" & Trim(cmo_addpower) & "'" & &
63、quot;)"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> MsgBox "添加成功", vbOKOnly + vbExclamation, "添加結(jié)果"</p><p> txt_adduser.SetFocus</p>&
64、lt;p> txt_adduser.Text = ""</p><p> txt_addkey.Text = ""</p><p> txt_rekey.Text = ""</p><p> cmo_addpower.Clear</p><p> Call Form_
65、Load</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p>
66、Private Sub cmd_cancel_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> With cmo_addpower<
67、/p><p> .AddItem "管理員"</p><p> .AddItem "普通用戶"</p><p><b> End With</b></p><p><b> End Sub</b></p><p> 5.2.2 工
68、資設(shè)置代碼</p><p> 以基本工資中的修改和刪除為例,崗位工資與基本工資雷同,不再贅述。</p><p> Private Sub cmd_alter_Click()</p><p> If Trim(cmo_scale.Text) = "" Or Trim(txt_money.Text) = "" Then<
69、;/p><p> MsgBox "請?zhí)顚懶枰薷牡男畔ⅲ?quot;, vbOKOnly + vbExclamation, "警告"</p><p> cmo_scale.SetFocus</p><p> cmo_scale.Text = ""</p><p> txt_money.Te
70、xt = ""</p><p><b> Else</b></p><p> sql = "select 工資級別 from 基本工資 where 工資級別='" & Trim(cmo_scale.Text) & "'"</p><p> Set
71、rst = ExecuteSQL(sql, "")</p><p> If rst.RecordCount = 0 Then</p><p> MsgBox "您輸入的級別不存在,請重新輸入!", vbOKOnly + vbExclamation, "警告"</p><p> cmo_scale.Se
72、tFocus</p><p> cmo_scale.Text = ""</p><p> txt_money.Text = ""</p><p><b> Else</b></p><p> sql = "update 基本工資 set 工資金額='&qu
73、ot; & Trim(txt_money.Text) & "' where 工資級別='" & Trim(cmo_scale.Text) & "'"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> MsgBox "
74、修改成功!", vbOKOnly + vbInformation, "操作結(jié)果"</p><p> cmo_scale.SetFocus</p><p> cmo_scale.Text = ""</p><p> txt_money.Text = ""</p><p>
75、; Call Form_Load</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub cmd_cancel_Click()</
76、p><p> If rst.RecordCount <> 0 Then</p><p> If MsgBox("真的要刪除該工資級別嗎?", vbYesNo + vbQuestion, "警告") = vbYes Then</p><p> rst.Delete</p><p> Msg
77、Box "刪除成功!", vbInformation, "提示"</p><p> cmo_scale.SetFocus</p><p> Call Form_Load</p><p><b> Else</b></p><p> cmo_scale.SetFocus<
78、;/p><p><b> End If </b></p><p><b> End If</b></p><p><b> End sub</b></p><p> 5.2.3 企業(yè)信息維護(hù)代碼</p><p> 以員工修改為例,部門修改雷同。&l
79、t;/p><p> Private Sub cmd_add_Click()</p><p> If Trim(cmo_number.Text) = "" Then</p><p> MsgBox "請?zhí)顚憜T工編號!"</p><p> cmo_number.SetFocus</p>&
80、lt;p><b> Else</b></p><p> Set rst = ExecuteSQL("select * from 員工信息 where 員工編號='" & Trim(cmo_number.Text) & "'", "")</p><p> If rst
81、.RecordCount <> 0 Then</p><p> MsgBox "該員工已經(jīng)存在,請重新輸入員工編號!", vbOKOnly + vbInformation, "提示"</p><p> cmo_number.SetFocus</p><p><b> Else</b>&l
82、t;/p><p> If Trim(txt_name.Text) = "" Then</p><p> MsgBox "員工姓名不允許為空!"</p><p> txt_name.SetFocus</p><p><b> Else</b></p><p&g
83、t; If Trim(cmo_sex.Text) = "" Then</p><p> MsgBox "性別不允許為空!"</p><p> cmo_sex.SetFocus</p><p><b> Else</b></p><p> If Trim(cmo_dept.
84、Text) = "" Then</p><p> MsgBox "員工部門不允許為空!"</p><p> cmo_dept.SetFocus</p><p><b> Else</b></p><p> If Trim(cmo_education.Text) = &quo
85、t;" Then</p><p> MsgBox "員工文化程度不允許為空!"</p><p> cmo_education.SetFocus</p><p><b> Else</b></p><p> If Trim(txt_title.Text) = ""
86、Then</p><p> MsgBox "職稱不允許為空!"</p><p> txt_title.SetFocus</p><p><b> Else</b></p><p> sql = "insert into 員工信息 values (" & "
87、'" & Trim(cmo_number.Text) & "'," _</p><p> & "'" & Trim(txt_name.Text) & "'," _</p><p> & "'" & Tr
88、im(cmo_sex.Text) & "'," _</p><p> & "'" & Trim(DTPbirthday.Value) & "'," _</p><p> & "'" & Trim(cmo_dept.Text) &
89、amp; "'," _</p><p> & "'" & Trim(cmo_education.Text) & "'," _</p><p> & "'" & Trim(txt_title.Text) & "'
90、)"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> cmo_number.SetFocus</p><p> cmo_number.Clear</p><p> txt_name.Text = ""</p><p&g
91、t; cmo_sex.Text = "男"</p><p> cmo_dept.Clear</p><p> cmo_education.Clear</p><p> DTPbirthday.Refresh</p><p> txt_title.Text = ""</p><
92、;p> Call Form_Load</p><p> MsgBox "操作成功!", vbOKOnly + vbInformation, "操作結(jié)果"</p><p><b> End If</b></p><p><b> End If</b></p>
93、<p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If&
94、lt;/b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> sql = "select 員工編號 from 員工信息 "</p><p> Set rst = ExecuteSQL(sql, &quo
95、t;")</p><p> For i = 1 To rst.RecordCount</p><p> cmo_number.AddItem (rst.Fields(0))</p><p> rst.MoveNext</p><p><b> Next i</b></p><p>
96、; sql = "select 部門編號 from 部門信息 "</p><p> Set rst = ExecuteSQL(sql, "")</p><p> For i = 1 To rst.RecordCount</p><p> cmo_dept.AddItem (rst.Fields(0))</p>
97、;<p> rst.MoveNext</p><p><b> Next i</b></p><p> With cmo_education</p><p> .AddItem "高中以下"</p><p> .AddItem "高中"</p>
98、<p> .AddItem "中專"</p><p> .AddItem "大專"</p><p> .AddItem "本科"</p><p> .AddItem "研碩"</p><p> .AddItem "博士"&
99、lt;/p><p> .AddItem "博士后"</p><p><b> End With</b></p><p> sql = "select * from 員工信息 "</p><p> Set rst = ExecuteSQL(sql, "")&l
100、t;/p><p> Set DataGrid1.DataSource = rst</p><p><b> End Sub</b></p><p> 5.2.4 查詢員工信息</p><p> Private Sub cmd_single_Click()</p><p> Dim sql A
101、s String</p><p> Dim rst As ADODB.Recordset</p><p> If Trim(cmo_number.Text) = "" Then</p><p> MsgBox "請選擇員工編號!", vbOKOnly + vbExclamation, "警告"<
102、/p><p> cmo_number.SetFocus</p><p><b> Else</b></p><p> If Trim(cmo_number.Text) <> username And power <> "管理員" Then</p><p> MsgBox &
103、quot;你不能查看其他員工的工資信息!", vbOKOnly + vbExclamation, "警告"</p><p><b> Else</b></p><p> sql = "select * from 工資信息 where 員工編號='" & Trim(cmo_number.Text) &
104、amp; "'"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> Set DataGrid1.DataSource = rst</p><p><b> End If</b></p><p><b> End
105、 If</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Dim sql As String</p><p> Dim rst As ADODB.Recordset</p><p>
106、sql = "select 員工編號 from 工資信息"</p><p> Set rst = ExecuteSQL(sql, "")</p><p> For i = 1 To rst.RecordCount</p><p> cmo_number.AddItem (rst.Fields(0))</p>
107、<p> rst.MoveNext</p><p><b> Next i</b></p><p><b> End Sub</b></p><p><b> 各模塊設(shè)計要點</b></p><p> 6.1 登錄模塊設(shè)計</p><p
108、> 登錄模塊是所有用戶進(jìn)入工資管理系統(tǒng)的唯一途徑,除了確定用戶類型以外,還要注意用戶登錄的密碼是否與后臺數(shù)據(jù)庫的一致,如果不一致則會彈出圖4.2所示的提示信息。用戶在登錄模塊出現(xiàn)的所有情況我都予以考慮了。在用戶登錄時根據(jù)判斷用戶的權(quán)限,在模塊中有“If power <> "管理員" Then frm_main.set.Enabled = False frm_main.defend = Fal
109、se”的代碼,此項決定了主界面的操作模塊。</p><p> 在調(diào)試所有登錄情況都成功后,我想到了一種惡意登錄此系統(tǒng)的情況,因此我設(shè)置了“try_times”來限制用戶的強(qiáng)制登錄如圖4.3所示。</p><p><b> 6.3用戶管理設(shè)計</b></p><p> 在添加用戶模塊中,我仿造了一般填寫信息時的方法設(shè)計了“確認(rèn)密碼”操作,如
110、果在操作錯誤時候會彈出如圖6.1所示的提示信息,點擊確定后,鼠標(biāo)自動停在密碼文本框中,用戶不需要再次輸入用戶名,在此說明一下,在我做的系統(tǒng)中幾乎所有的錯誤轉(zhuǎn)移都有如上的提示和獲得焦點的操作。</p><p> 刪除用戶模塊中,在用戶點擊了確定按鈕以后,會有如圖4.8所示的對話框,為用戶刪除考慮了情況。</p><p> 圖6.1 “確認(rèn)密碼”錯誤</p><p>
111、; 6.3 信息管理設(shè)計</p><p> 這個部門主要由部門信息和員工信息組成,發(fā)放工資是對員工工資的管理,部門信息的設(shè)置和員工信息設(shè)置基本相同。</p><p> 員工信息中引用了“DTPicker”控件,默認(rèn)的日期為登錄的日期,用戶可以點擊直接更改日期,增強(qiáng)了程序的完整性。還有值得一提的是在員工信息錄入的時候,由于后臺數(shù)據(jù)庫“性別”設(shè)置默認(rèn)為“男”,因此我設(shè)置了默認(rèn)為“男”的操
112、作,具體看代碼中敘述。如果用戶沒有完成信息的錄入?yún)s點擊了“確定”按鈕后,會出現(xiàn)如圖6.2的對話框。如果用戶在使用添加按鈕時,輸入了一個已經(jīng)存在的員工編號,根據(jù)主鍵的不可重復(fù)性,員工信息不能插入后臺數(shù)據(jù)庫,則會彈出如圖6.3所示的對話框。</p><p> 圖6.1 提示信息 圖6.3 添加存在情況</p><p> 發(fā)放工資主要是對企業(yè)已有員工的工資設(shè)置,提
113、供了添加、修改和刪除操作。添加操作和修改操作都在一個對話框中進(jìn)行,根據(jù)數(shù)據(jù)庫數(shù)據(jù)參照完整性,其中基本工資和崗位工資必須是已經(jīng)存在的級別,其文本框被設(shè)置為“只讀”屬性,用戶不可自動輸入信息。</p><p> 6.4 查詢工資設(shè)計</p><p> 查詢工資時主要考慮 用戶的權(quán)限問題,主要在登錄模塊中用全局變量記錄了用戶的權(quán)限,在用戶點擊確定以后系統(tǒng)會統(tǒng)計權(quán)限,分配給用戶正確的查詢工資的
114、方法。</p><p><b> 第七章 結(jié)束語</b></p><p> 此次課程設(shè)計歷程半個多學(xué)期,期間包括自學(xué)Visual Basic 6.0 教程、課程代碼設(shè)計和課程實際報告的過程。這個過程給我的感觸有以下幾點:</p><p> 一、看似簡單,其實不然</p><p> 以前沒有過課程設(shè)計的經(jīng)驗,作為第
115、一次課程設(shè)計課,我抱著試試看的態(tài)度去寫,一開始看了只有這么幾個模塊是心里挺高興的,但是當(dāng)我真真正正地去把一個操作寫成功時,很多意想不到的情況發(fā)生了。有時候會為了一個操作不能調(diào)試成功而整個晚上都不能去安心做其他的作業(yè)。</p><p><b> 冷靜沉著、兢兢業(yè)業(yè)</b></p><p> 編程是一個很繁瑣的過程,要考慮到很多錯誤轉(zhuǎn)移情況,在這期間會有很多以前不曾想
116、過的問題出現(xiàn),次數(shù)多了,不免會有覺得做不下去的感覺。但是我從中發(fā)現(xiàn),只要一步一步調(diào)試、靜下心來看待問題,再復(fù)雜再微小的問題都會迎刃而解,當(dāng)一個程序被調(diào)試出來時,那時的快樂相比與任何困難都值得的。</p><p><b> 立足程序、回歸書本</b></p><p> 在著手寫程序時覺得思路一片混亂,無意間出現(xiàn)的問題會不知道怎么解決。這時,需要回歸書本,書本是前人總
117、結(jié)的經(jīng)驗,幾乎所有情況都會有解決方法。只有把書本“吃透”,在遇到問題是才會反應(yīng)快。</p><p><b> 致謝</b></p><p> 在課程設(shè)計的大半個學(xué)期中,都是由我的指導(dǎo)老師xx老師指引下完成,在此,我向xx老師致以誠摯的謝意。由于此次設(shè)計的主要語言Visual Basic 語言沒有經(jīng)過正式的教學(xué),在很多方面都還存在一知半解的情況,而xx老師多次幫我解
118、釋重點、分析程序,特別在課程設(shè)計報告的時候給予了很多的指導(dǎo)。在他的悉心指導(dǎo)下,我不僅學(xué)到了扎實的文化知識,也在為人處世方面受益匪淺,尤其是一次次xx老師在鼓勵我們的話語,我想在我以后每一次遇到困難時都會歷歷在目。</p><p> 然后我要感謝我的同窗同學(xué),在此次課程設(shè)計過程中與他們探討深究,使我受益頗多,在此,我表示衷心的感謝. </p><p><b> 參考文獻(xiàn)<
119、;/b></p><p> Visual Basic 教程[M] 清華大學(xué)出版社 鄭阿奇 主編 曹戈 編著 </p><p> Visual Basic 信息系統(tǒng)開發(fā)實例精選[M] 機(jī)械工業(yè)出版社 賽奎春 主編 高春艷 李俊民 張耀庭 等編著</p><p> Visual Basic 數(shù)據(jù)庫開發(fā)實例解析[M] 機(jī)械工業(yè)出版
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計--員工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計——員工工資管理系統(tǒng)
- sql數(shù)據(jù)庫員工工資管理系統(tǒng)設(shè)計
- 數(shù)據(jù)庫課程設(shè)計報告---公司員工工資管理系統(tǒng)
- c課程設(shè)計企業(yè)員工工資管理系統(tǒng)
- c 課程設(shè)計-企業(yè)員工工資管理系統(tǒng)
- c課程設(shè)計企業(yè)員工工資管理系統(tǒng)
- c++課程設(shè)計---企業(yè)員工工資管理系統(tǒng)
- c++課程設(shè)計_企業(yè)員工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--職工工資管理
- 員工工資管理信息系統(tǒng)課程設(shè)計
- 軟件工程課程設(shè)計--員工工資管理系統(tǒng)
- 員工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--工資管理系統(tǒng)
- 數(shù)據(jù)庫工資管理系統(tǒng)課程設(shè)計
- 數(shù)據(jù)庫課程設(shè)計報告---企業(yè)工資管理系統(tǒng)
評論
0/150
提交評論