數(shù)據(jù)庫課程設(shè)計(企業(yè)員工工資管理系統(tǒng))_第1頁
已閱讀1頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論