




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)論文學(xué)生姓名:學(xué)號(hào):學(xué)院、系:專業(yè):設(shè)計(jì)題目:企業(yè)工資管理系統(tǒng)指導(dǎo)老師:2010年10月1日目錄摘?要31、 開發(fā)背景31.1 數(shù)據(jù)庫管理系統(tǒng)簡介1.2 企業(yè)工資管理系統(tǒng)41.3 開發(fā)工具簡介42、 需求分析42.1 系統(tǒng)分析42.2 系統(tǒng)開發(fā)的可行性分析52.3 系統(tǒng)功能需求53、 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)63.1 數(shù)據(jù)庫介紹63.2 使用ADO空件訪問數(shù)據(jù)庫3.3 數(shù)據(jù)庫設(shè)計(jì)過程6四、企業(yè)工資管理系統(tǒng)用戶界面設(shè)計(jì)104.1 用戶界面104.2 “主窗體”模塊設(shè)計(jì)114.3 各項(xiàng)子模塊的設(shè)計(jì)12五、結(jié)論與體會(huì)30六、參考資料30摘要本系統(tǒng)是針對蕪湖市雙翼航天有限公司的實(shí)際管理情況所設(shè)計(jì)和開發(fā)的
2、一個(gè)工資管理系統(tǒng)。本系統(tǒng)采用可視化的面向?qū)ο蟮木幊坦ぞ遃isualBasic6.0來開發(fā),用Access2003建立數(shù)據(jù)庫,從開發(fā)背景、需求分析、系統(tǒng)模塊建立、數(shù)據(jù)庫設(shè)計(jì)、功能模塊編程等方面闡述了于企業(yè)工資管理系統(tǒng)的開發(fā)過程,開發(fā)出真正適合該公司的工資管理系統(tǒng)。該系統(tǒng)主要由員工管理、工資查詢計(jì)算和工資報(bào)表輸出三個(gè)模塊組成,功能基本涵蓋該企業(yè)的工資管理業(yè)務(wù)范圍。這個(gè)工資管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),前臺(tái)程序開發(fā)工具采用微軟的VB6,后臺(tái)數(shù)據(jù)庫采用Access數(shù)據(jù)庫。VB6是一種面向?qū)ο蟮拈_發(fā)工具,具有組件豐富、語言簡單、功能強(qiáng)大的優(yōu)點(diǎn)。Access數(shù)據(jù)庫具有與VB6無縫連接、操作簡單、
3、易于使用的優(yōu)點(diǎn)。關(guān)鍵詞:工資管理系統(tǒng);開發(fā)工具VisualBasic6.0;數(shù)據(jù)庫Access2003;系統(tǒng)設(shè)計(jì)與開發(fā)開發(fā)平臺(tái):WINDOWS開發(fā)環(huán)境:VisualBasic6.0,Access2003一、開發(fā)背景企業(yè)工資管理是任何企事業(yè)單位都面臨的問題,由于各個(gè)單位的工資處理方式總是有所區(qū)別,因此目前還沒有一個(gè)通用的工資管理系統(tǒng),只能針對具體情況去開發(fā)適合本單位需求的工資管理系統(tǒng)。由于蕪湖市雙翼航天有限公司的發(fā)展規(guī)模一般,員工的數(shù)量有限,對企業(yè)的工資管理有一定基本的要求,當(dāng)然使用計(jì)算機(jī)工資管理系統(tǒng)成為其必然趨勢。企業(yè)的工資管理是公司管理的一個(gè)重要內(nèi)容隨著企業(yè)人員數(shù)量增加,企業(yè)的工資管理工作也
4、變得越來越復(fù)雜。工資管理既涉及到企業(yè)勞動(dòng)人事的管理,同時(shí)也是企業(yè)財(cái)務(wù)管理的重要組成部分。工資管理需要和人事管理相聯(lián)系,同時(shí)連接工時(shí)考勤和醫(yī)療保險(xiǎn)等等,來生成企業(yè)每個(gè)職工的基本工資、津貼、醫(yī)療保險(xiǎn)、保險(xiǎn)費(fèi)、實(shí)際發(fā)放工資等。資金是企業(yè)生存的主要元素,資金的流動(dòng)影響到企業(yè)的整體運(yùn)作,企業(yè)員工的工資是企業(yè)資金管理的一個(gè)重要的組成部分。早期的工資統(tǒng)計(jì)和發(fā)放都是使用人工方式處理紙質(zhì)材料,不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間且不易保存,往往由于個(gè)人的因素抄寫不慎或計(jì)算疏忽,出現(xiàn)工資發(fā)放錯(cuò)誤的現(xiàn)象。早期工資管理多采取紙質(zhì)材料和具有較強(qiáng)的時(shí)間限制?;谝陨显?,企業(yè)工資管理系統(tǒng)使用電腦安全保存、快速計(jì)算、全面統(tǒng)計(jì),實(shí)現(xiàn)工
5、資管理的系統(tǒng)化、規(guī)范化、自動(dòng)化。企業(yè)工資管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),前臺(tái)程序開發(fā)工具采用微軟的VB6,后臺(tái)數(shù)據(jù)庫采用Access數(shù)據(jù)庫。VB6是一種面向?qū)ο蟮拈_發(fā)工具,具有組件豐富、語言簡單、功能強(qiáng)大的優(yōu)點(diǎn)。Access數(shù)據(jù)庫具有與VB6無縫連接、操作簡單、易于使用的優(yōu)點(diǎn)。1.1 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、更新及各種控制,都是通過DBMS®!1的。DBM或是基于某種數(shù)據(jù)模型,可以把DBMSf成是某種數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)上的具體實(shí)現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS
6、T以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷?。MicrosoftAccess2003就是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系模型主要是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合。關(guān)系模式相當(dāng)于前面提到的記錄類型,每個(gè)關(guān)系實(shí)際上是一張二維表格。關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。SQL語言是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言,已得到了廣泛的應(yīng)用。1.2 企業(yè)工資管理系統(tǒng)企業(yè)工資管理是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作,一般不允許發(fā)生差錯(cuò)。同時(shí)工資的發(fā)放具有較強(qiáng)的時(shí)間限制,必須嚴(yán)格按照單
7、位規(guī)定的時(shí)間完成計(jì)算和發(fā)放工作。正是企業(yè)工資管理的這種重復(fù)性、規(guī)律性、時(shí)間性,使得企業(yè)工資管理計(jì)算機(jī)化成為可能。企業(yè)工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計(jì)和計(jì)算,完成眾多企業(yè)工資信息的處理,同時(shí)使用電腦還可以安全地、完整地保存大量的企業(yè)工資記錄。1.3 開發(fā)工具簡介微軟公司的VisualBasic6.0是Windows應(yīng)用程序開發(fā)工具,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。VisualBasic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。因此,本系統(tǒng)使用MicrosoftVisu
8、alBasic6.0開發(fā)。二、需求分析2.1 系統(tǒng)分析系統(tǒng)分析的過程可以說是一個(gè)對具體問題的反復(fù)理解和抽象的過程。理解就是對現(xiàn)實(shí)問題的理解,要弄清楚究竟需要解決什么問題。抽象就是除去問題的表面,提取問題的本質(zhì),建立問題的邏輯模型,以便于以后階段的系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。需求分析階段是軟件產(chǎn)品生存命期中的一個(gè)重要階段,其根本任務(wù)是確定用戶對軟件系統(tǒng)的需求。所謂需求是指用戶對軟件的功能和性能的要求,就是用戶希望軟件能什么事情,完成什么樣的功能,達(dá)到什么性能。通常需求分為兩種類型:一種是功能性需求,一種是非功能性需求,這一點(diǎn)也需要有一種清楚的認(rèn)識(shí)。功能性需求是指需要計(jì)算機(jī)系統(tǒng)解決的問題,也就是對數(shù)據(jù)的處理要
9、求,這是一類最主要的需求。非功能性需求是指實(shí)際使用環(huán)境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。本系統(tǒng)的設(shè)計(jì)應(yīng)滿足以下的系統(tǒng)要求:滿足企業(yè)員工信息管理的基本要求; 滿足企業(yè)工資結(jié)算的基本要求; 滿足企業(yè)工資查詢和報(bào)表導(dǎo)出的基本要求; 提供良好的操作界面,對操作人員的技能要求比較的低; 能夠保證企業(yè)工資管理數(shù)據(jù)的安全準(zhǔn)確。2.2 系統(tǒng)開發(fā)的可行性分析管理信息系統(tǒng)的可行性分析包括以下四個(gè)方面: 管理可行性:指管理人員對開發(fā)項(xiàng)目是否支持,現(xiàn)有管理制度是否健全等。而且運(yùn)用此系統(tǒng)能夠大大地提高工作效率,方便管理。 經(jīng)濟(jì)可性行:主要是預(yù)估費(fèi)用支出和對項(xiàng)目的經(jīng)濟(jì)效益進(jìn)
10、行評價(jià)。根據(jù)該醫(yī)院的現(xiàn)有資源設(shè)備,建立工資MIS不但能提高工作效率、降低費(fèi)用,還能提高數(shù)據(jù)計(jì)算的準(zhǔn)確性。 技術(shù)可行性:主要分析當(dāng)前的技術(shù)條件能否滿足對系統(tǒng)提出的要求。該醫(yī)院內(nèi)部建有局域網(wǎng),有比較專業(yè)的技術(shù)人員,能夠勝任信息系統(tǒng)的開發(fā)工作。 社會(huì)可行性:是分析研究系統(tǒng)投入使用后對醫(yī)院和社會(huì)可能帶來的影響。此系統(tǒng)的開發(fā)不會(huì)對社會(huì)帶來任何危害,所以開發(fā)此系統(tǒng)是可行的。綜上所述,蕪湖市雙翼航天有限公司工資管理系統(tǒng)是完全可行與重要的2.3 系統(tǒng)功能需求開發(fā)這個(gè)系統(tǒng)的目的就是幫助企業(yè)的財(cái)務(wù)主管部門提高工作效率,實(shí)現(xiàn)企業(yè)工資信息管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠和認(rèn)識(shí)管理系統(tǒng)、考勤管理系統(tǒng)相結(jié)合,真正實(shí)現(xiàn)企
11、業(yè)高效、科學(xué)、現(xiàn)代化的員工管理。系統(tǒng)最終實(shí)現(xiàn)的主要功能如下: 企業(yè)工資信息設(shè)置部分:包括設(shè)置員工的基本工資和其他項(xiàng)目的金額,如獎(jiǎng)金等。并且負(fù)責(zé)設(shè)置員工工資的計(jì)算公式。 企業(yè)工資信息管理部分:包括統(tǒng)計(jì)出勤、計(jì)算工資、查詢工資和導(dǎo)出工資表。 系統(tǒng)部分:包括添加用戶和修改密碼。根據(jù)以上系統(tǒng)應(yīng)實(shí)現(xiàn)的功能,可以對其上面的功能進(jìn)行模塊化設(shè)計(jì),得出系統(tǒng)功能模塊圖,如圖2-1所示。系ft改密碼圖2-1系統(tǒng)功能模塊圖、系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是信息管理系統(tǒng)的后臺(tái),存儲(chǔ)著所有的信息,在信息管理系統(tǒng)中有著很重要的地位。數(shù)據(jù)庫設(shè)計(jì)的好與壞,直接影響到這個(gè)系統(tǒng)的運(yùn)行效率。良好的數(shù)據(jù)庫設(shè)計(jì),可以提高數(shù)據(jù)信息的存儲(chǔ)效率,確保數(shù)
12、據(jù)信息的完整性和一致性。3.1 數(shù)據(jù)庫介紹數(shù)據(jù)庫是一種存儲(chǔ)數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個(gè)不同部分的術(shù)語,如記錄、域等。Access2003就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲(chǔ)庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服
13、務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Access是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫開發(fā),具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。3.2 使用ADC控件訪問數(shù)據(jù)庫ADO是ActiveXDataObjects的縮寫,提供對各種數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)接口。1 .如何用ADO#取數(shù)據(jù):在實(shí)際編程過程中使用ADO勺一個(gè)典型的存取數(shù)據(jù)的步驟為:第一,連接數(shù)據(jù)源;第二,打開記錄集對象;第三,使用記錄集;第四,斷開連接。2 .關(guān)閉所有的數(shù)據(jù)連接:?如果在代碼中使用了數(shù)據(jù)控件如?ADO,?在退出時(shí)應(yīng)該關(guān)閉所有打開的?
14、recordsource,?database?。?雖然對象能自動(dòng)注銷,?但是數(shù)據(jù)連接不會(huì)馬上斷開,?可能會(huì)導(dǎo)致一些內(nèi)存不能被系統(tǒng)重新分配。VisualBasic提供了與底層數(shù)據(jù)庫系統(tǒng)緊密的連接。VisualBasic支持不同的關(guān)系數(shù)據(jù)庫管理系統(tǒng)并充分發(fā)揮每一個(gè)數(shù)據(jù)庫的特長。生成獨(dú)立應(yīng)用或脫離服務(wù)器運(yùn)行的服務(wù)以上的應(yīng)用,VisualBasic連接數(shù)據(jù)庫的方式有兩種:第一,通過使用VisualBasic的ADO控件;第二,通過使用由VisualBasic提供的專用的直接與數(shù)據(jù)庫相連的接口。3 .3數(shù)據(jù)庫設(shè)計(jì)過程1 .企業(yè)管理系統(tǒng)的ER圖:如圖31所示2 .關(guān)系模式的設(shè)計(jì):啟動(dòng)Access2003,
15、創(chuàng)建新的數(shù)據(jù)庫,命名為Salary.mdb,保存在要存放這個(gè)系統(tǒng)所有工程文件的文件夾中。在使用的時(shí),要把應(yīng)用程序和這個(gè)數(shù)據(jù)庫保存在同一個(gè)文件夾中。 員工出勤統(tǒng)計(jì)信息表(記錄編號(hào)、員工編號(hào)、員工姓名、統(tǒng)計(jì)時(shí)間、出勤天數(shù)、遲到早退次數(shù)、曠工次數(shù)、正常加班次數(shù)、特殊加班次數(shù)、出差次數(shù));員工工資計(jì)算公式信息表(正常加班工資百分比、特殊加班工資百分比、出差工資、曠工工資、遲到早退); 員工其他項(xiàng)目設(shè)置(記錄編號(hào)、員工編號(hào)、年月、類型、名稱、金額、備注); 工資信息設(shè)置表(記錄編號(hào)、員工編號(hào)、員工職務(wù)、基本工資); 員工工資統(tǒng)計(jì)信息表(記錄編號(hào)、員工編號(hào)、員工姓名、時(shí)間、基本工資、獎(jiǎng)金、福利、津貼、扣發(fā)
16、、遲到早退扣發(fā)、曠工扣發(fā)、加班費(fèi)、出差費(fèi)、其他金額、總額)。 員工信息表(員工編號(hào)、員工姓名、性別、籍貫、年齡、生日、學(xué)歷、專業(yè)、住址、郵編、電話、Email、參加工作時(shí)間、進(jìn)入公司時(shí)間、部門、起薪時(shí)問、職務(wù)、備注),用戶信息表(用戶名稱、用戶密碼)3 .物理結(jié)構(gòu)的設(shè)計(jì):為了便于對數(shù)據(jù)的添加、查詢、修改和刪除操作,根據(jù)本系統(tǒng)的需求分析,最終確定用于保存數(shù)據(jù)的基本數(shù)據(jù)表共有7個(gè),具體設(shè)計(jì)如下:基本表attendancestatistics,用于保存員工的出勤信息:字段類型長度說明id自動(dòng)編會(huì)長整型記錄編與stuffid義本50員工編號(hào)stuffname義本50員工姓名recordmonth日期/
17、時(shí)間短日期統(tǒng)計(jì)時(shí)間attendance數(shù)字長整型出勤天數(shù)lateearly數(shù)字長整型遲到早退次數(shù)absent數(shù)字長整型W工次數(shù)overtimecom數(shù)字長整型正常加班次數(shù)overtimespe數(shù)字長整型特殊加班次數(shù)errand數(shù)字長整型出差次數(shù)基本表formulasetting,用于計(jì)算員工工資:字段類型長度說明overtimecom數(shù)字長整型正常加班工資百分比overtimespe數(shù)字長整型特殊加班工資百分比errand數(shù)字長整型出差工資absent數(shù)字長整型優(yōu)工工資le數(shù)字長整型遲到早退基本表salaryother,用于設(shè)置員工其他項(xiàng)目:字段類型長度說明id自動(dòng)編會(huì)長整型記錄編與stuff
18、id義本50員工編號(hào)yearmonth日期/時(shí)問短時(shí)期年月type數(shù)字長整型name義本50名稱money貨幣貨幣金額remark備注備注基本表salarysetting,用于設(shè)置基本工資:字段類型長度說明id自動(dòng)編會(huì)長整型記錄編與stuffid義本50員工編號(hào)sposition義本50員工職務(wù)salary貨幣貨幣基本工資基本表salarystatistics,用于保存員工工資統(tǒng)計(jì)出的信息:字段類型長度說明id自動(dòng)編會(huì)長整型記錄編與stuffid義本50員工編號(hào)stuffname義本50員工姓名yearmonth日期/時(shí)問短時(shí)期時(shí)間basicsalar貨幣貨幣基本工資ybonus貨幣貨幣獎(jiǎng)金w
19、elfare貨幣貨幣福利allowance貨幣貨幣津貼abatement貨幣貨幣扣發(fā)lesub貨幣貨幣遲到早退扣發(fā)absentsub貨幣貨幣W工扣發(fā)overtime貨幣貨幣加班費(fèi)errand貨幣貨幣出差費(fèi)others貨幣貨幣其他金額total貨幣貨幣總額基本表stuffinfo,用于保存員工的信息:字段類型長度說明sid義本50員工編號(hào)sname義本50員工姓名sgender義本50性別splace義本50籍貫sage數(shù)字長整型年齡sbirthday日期/時(shí)間短時(shí)期生日sdegree義本50學(xué)歷sspecial義本50專業(yè)saddress義本50住址scode義本50郵編stel義本50電話s
20、email義本50EmailsworkTime日期/時(shí)間短時(shí)期參加工作時(shí)間sintime日期/時(shí)間短時(shí)期進(jìn)入公司時(shí)間sdept義本50部門spaytime日期/時(shí)間短時(shí)期起薪時(shí)間sposition義本50職務(wù)sremark義本50備注基本表userinfo,保存用戶信息:字段類型長度說明userid義本50用戶名稱userpwd義本50用戶密碼四、企業(yè)工資管理系統(tǒng)用戶界面設(shè)計(jì)4.1 登錄界面登錄模塊的詳細(xì)設(shè)計(jì)主要是用戶登錄的一個(gè)界面,判斷登錄的用戶是管理員還是普通用戶,進(jìn)入后將面對的是主界面,從而進(jìn)行相關(guān)的操作。登錄的界面主要由用戶名和密碼的信息,還有一些標(biāo)題設(shè)置,確定和取消的按鈕組成。通過標(biāo)
21、題可以知道此系統(tǒng)的大概內(nèi)容,由此,登錄界面的設(shè)計(jì)完成。4.2 “主窗體”模塊設(shè)計(jì)在這個(gè)項(xiàng)目中,選擇使用多文檔界面。使用這個(gè)窗體的好處是可以使程序更加有條理。對于一個(gè)多任務(wù)的應(yīng)用程序,使用多文檔窗體還可以減少占用的系統(tǒng)資源。主窗體設(shè)計(jì)的界面是用菜單編輯器做的,主要由系統(tǒng)、工資信息設(shè)置、工資信息管理和關(guān)于這四個(gè)大模塊組成。主窗體是進(jìn)行相關(guān)操作的主界面。在這幾個(gè)里,管理員有所有的權(quán)利進(jìn)行各種操作。4.3 各項(xiàng)子模塊的設(shè)計(jì)1、選擇“系統(tǒng)”一>“添加用戶”菜單,在添加用戶的窗體里,輸入新的用戶名稱和密碼后,單擊“確定”按鈕,系統(tǒng)將會(huì)添加新的用戶。添加用戶窗口局部代碼:sql="inser
22、tintouserinfo(userid,userpwd)values('"&usernamesql=sql&"','"&password&"')"Calltransactsql(sql,"salary")MsgBox"添加成功",vbOKOnly+vbExclamation,"添加結(jié)果"username.Text=""password.Text=""confirmpwd.Text=
23、""username.SetFocus2、選擇“系統(tǒng)”一>“修改密碼”菜單,在修改密碼的窗體里,輸入舊密碼和2次輸入新密碼后,單擊“確定”按鈕,系統(tǒng)將會(huì)更改當(dāng)前用戶的密碼。修改密碼窗口局部代碼:userpassword=newpwdsql="updateuserinfosetuserpwd='"&newpwd&"'whereuserid='"&strusername&"'"Calltransactsql(sql,"salary"
24、;)MsgBox”密碼已經(jīng)修改",vbOKOnly+vbExclamation,"修改結(jié)果"UnloadMe3、選擇“工資信息設(shè)置”一>“設(shè)置基本工資”菜單設(shè)置員工的基本工資,可以根據(jù)員工的編號(hào),或者根據(jù)員工職務(wù)設(shè)置基本工資,設(shè)置的基本工資為每個(gè)小時(shí)的工資。設(shè)置基本工資窗口局部代碼:Setrs=getrs(sql,"salary")Ifrs.EOF=FalseThenCalltransactsql(sql,"salary")EndIfrs.CloseCalladdrecordMsgBox"已經(jīng)設(shè)置基本工資&q
25、uot;,vbOKOnly+vbExclamation,"添加結(jié)果Callinitsql="select*fromsalarysettingCallfrmresult.basictopicCallfrmresult.showbasic(sql)frmresult.Showfrmresult.ZOrder0Me.ZOrder04、選擇“工資信息設(shè)置”一>“其他項(xiàng)目設(shè)置”菜單,在其他項(xiàng)目設(shè)置的窗體中,設(shè)置員工當(dāng)月的獎(jiǎng)金、津貼、福利等項(xiàng)目。其他項(xiàng)目設(shè)置窗口局部代碼:sql="select*fromsalaryother"Ifichangeflag=1Th
26、enCalladdMsgBox"已經(jīng)添加記錄",vbOKOnly+vbExclamation,"提示"Callfrmresult.othertopicCallfrmresult.showother(sql)frmresult.ShowUnloadMeElseitype=1itype=2itype=3itype=4itype=5resumdate=recordtimesql=sql&"'andYearMonth=#"&recordtime&"#andsql=sql&"Type=
27、"&itypeCalltransactsql(sql,"Salary")CalladdCallfrmsumsalary.resumsalary(resumdate)sql="select*fromsalaryother'Callfrmresult.othertopicCallfrmresult.showother(sql)frmresult.ShowUnloadMeEndIf5、選擇“工資信息設(shè)置”一>“工資計(jì)算公式設(shè)置”菜單,在這個(gè)計(jì)算公式窗體中設(shè)置員工實(shí)際發(fā)放工資的計(jì)算公式計(jì)算公式窗口局部代碼:IfMe.textovertime
28、com=""AndIsNumeric(Me.textovertimecom)=TrueThenMsgBox"請輸入正常加班工資百分比",vbOKOnly+vbExclamation,提示"Me.textovertimecom=""ElselfMe.textovertimespe=""AndIsNumeric(Me.textovertimespe)=FalseThenMsgBox"請輸入特殊加班工資百分比",vbOKOnly+vbExclamation,"提示"Me.
29、textovertimespe=""ElseIfMe.texterrand=""AndIsNumeric(Me.texterrand)=FalseThenMsgBox"請輸入出差工資",vbOKOnly+vbExclamation,"提示Me.texterrand=""ElseIfMe.textabsent=""AndIsNumeric(Me.textabsent)=FalseThenMsgBox"請輸入曠工扣發(fā)工資",vbOKOnly+vbExclamation,
30、"提示Me.textabsent=""ElseIfMe.textle=""AndIsNumeric(Me.textle)=FalseThenMsgBox"請輸入遲到早退扣發(fā)工資",vbOKOnly+vbExclamation,"提示"Me.textle=""ElseCallsetvalueCallinitEndIf6、選擇“工資信息管理”一>“統(tǒng)計(jì)出勤記錄”菜單,在統(tǒng)計(jì)出勤記錄窗體中選擇需要統(tǒng)計(jì)記錄的月份。統(tǒng)計(jì)出勤記錄窗口部分代碼:sql="select*fromatt
31、endancestatisticswhererecordmonthbetween#"sql=sql&firstday&"#and#"&lastday&"#"Setrsrecord=getrs(sql,"salary")Ifrsrecord.EOF=FalseThenMsgBox"已經(jīng)統(tǒng)計(jì)",vbOKOnly+vbExclamation,"提示"frmaresult.Showfrmaresult.ZOrder0rsrecord.CloseUnloadMeE
32、xitSubEndIfsql="select*fromattendanceinfowhereadatebetween#"sql=sql&firstday&"#and#"&lastday&"#"Setrsrecord=getrs(sql,"person")Ifrsrecord.EOF=FalseThensql="selectsid,snamefromstuffinfoorderbysid"Setrsperson=getrs(sql,"person"
33、;)7、選擇月份后單擊“確定”按鈕,如果系統(tǒng)已經(jīng)統(tǒng)計(jì)過該月份的記錄,那么會(huì)出現(xiàn)如下圖所示的統(tǒng)計(jì)結(jié)果信息列表。如果系統(tǒng)沒有統(tǒng)計(jì)過,那么系統(tǒng)就會(huì)開始統(tǒng)計(jì)記錄,然后顯示如圖所示的統(tǒng)計(jì)結(jié)果信息列表。員工出勤結(jié)構(gòu)窗口部分代碼:Ifstrusername<>"admin"Thensql="selectsidfromstuffinfowheresname='"&strusername&""'Setrs=getrs(sql,"salary")sd=rs(0)sql="selec
34、t*fromattendancestatisticswherestuffid='"&sd&"'"Elsesql="select*fromattendancestatistics"EndIf8、選擇“工資信息管理”一>“計(jì)算實(shí)發(fā)工資”菜單,在這個(gè)窗體中選擇需要統(tǒng)計(jì)的月份。選擇統(tǒng)計(jì)月份后,單擊“開始統(tǒng)計(jì)”按鈕,系統(tǒng)如果已經(jīng)統(tǒng)計(jì)了該月份的工資,系統(tǒng)會(huì)顯示工資信息列表窗體。如果系統(tǒng)還沒有統(tǒng)計(jì)工資,那么系統(tǒng)開始統(tǒng)計(jì)工資,然后在信息結(jié)果列表窗體中顯示統(tǒng)計(jì)結(jié)果。計(jì)算實(shí)發(fā)工資窗口部分代碼:Callsumsalary(fir
35、stday,lastday)sql="select*fromsalarystatistics"Callfrmresult.listtopicCallfrmresult.showdata(sql)frmresult.Caption="統(tǒng)計(jì)結(jié)果列表"frmresult.ZOrder0UnloadMeElseMsgBox"這個(gè)月的工資未統(tǒng)計(jì)",vbOKOnly+vbExclamation,"提示"EndIf9、選擇“工資信息管理”一>“查詢工資”菜單,系統(tǒng)顯示如圖的查詢信息窗體,系統(tǒng)默認(rèn)的是查詢出數(shù)據(jù)庫中所有的記錄
36、(當(dāng)管理員進(jìn)入的時(shí)候),當(dāng)從“員工編號(hào)”下拉列表中選擇一個(gè)員工編號(hào)后,單擊“查詢單人”按鈕,就會(huì)查詢出符合這個(gè)員工編號(hào)的記錄;如果需要返回查詢所有信息,單擊“查詢所有”按鈕,系統(tǒng)就會(huì)返回所有員工的信息。在“員工工資統(tǒng)計(jì)列表”中單擊鼠標(biāo)右鍵,會(huì)彈出下圖的菜單,在“員工其他項(xiàng)目列表”中單擊鼠標(biāo)右鍵也會(huì)出現(xiàn)下圖的菜單。如果要選擇“刪除基本工資設(shè)置”,出現(xiàn)如下的提示:具體的操作這里就不詳細(xì)介紹。10、選擇“工資信息管理”一>“導(dǎo)出工資表”菜單,會(huì)出現(xiàn)下圖的“導(dǎo)出記錄”窗體中選擇需要導(dǎo)出工資的月份。選擇月份和保存位置后,單擊“導(dǎo)出”按鈕,系統(tǒng)會(huì)開始導(dǎo)出數(shù)據(jù)。單擊“確定”按鈕打開導(dǎo)出的文件,單擊“取
37、消”按鈕回到系統(tǒng)。4.4 各項(xiàng)子模塊編寫要點(diǎn)在登錄的這個(gè)窗體里,我做的特點(diǎn)是:只要在數(shù)據(jù)庫里有用戶信息的,都可以登錄,然后顯示相關(guān)自己的信息,而管理員顯示所有的信息。當(dāng)輸入的用戶名或密碼不正確的時(shí)候,會(huì)出現(xiàn)如下的對話框:或者在主窗體的設(shè)計(jì)中,我在系統(tǒng)的下拉菜單里包括有添加用戶、修改密碼和退出系統(tǒng)。在這個(gè)模塊里普通用戶只有修改自己的密碼的權(quán)利。在添加用戶的窗體里:添加3個(gè)標(biāo)簽、3個(gè)文本框和2個(gè)命令按鈕,然后設(shè)置它們相關(guān)的屬性。在修改密碼的窗體里:添加了3個(gè)標(biāo)簽,用來顯示信息;3個(gè)文本框用來輸入用戶名稱和用戶密碼;2個(gè)按鈕用來確定和取消操作,然后設(shè)置它們的屬性。在工資信息設(shè)置的下拉菜單里包括有基本
38、工資信息設(shè)置、其他項(xiàng)目信息設(shè)置和計(jì)算公式設(shè)置。在這個(gè)模塊里,普通用戶沒有任何權(quán)利進(jìn)行相關(guān)的操作。在基本工資窗體里:添加了2個(gè)選項(xiàng)按鈕、2個(gè)下拉列表、2個(gè)標(biāo)簽、1個(gè)文本框和2個(gè)按鈕,然后設(shè)置它們的屬性。在其他項(xiàng)目設(shè)置的窗體里:使用了一個(gè)DTPicker控件獲得添加記錄的時(shí)間,要使用這個(gè)控件需要添加部件類庫,選擇“工程一部件”命令,選擇MicrosoftWindowsCommonControls-26.0(sp4)項(xiàng),然后設(shè)置相關(guān)的屬性。在工資信息管理的下拉菜單里包括有統(tǒng)計(jì)出勤信息、計(jì)算實(shí)發(fā)工資、查詢工資和導(dǎo)出工資表。在這個(gè)模塊里,普通用戶有統(tǒng)計(jì)出勤信息和查詢工資的權(quán)利,但是都顯示的是自己的信息。
39、在出勤統(tǒng)計(jì)窗體里:添加一個(gè)下拉列表、一個(gè)標(biāo)簽和2個(gè)命令按鈕,然后設(shè)置相關(guān)的屬性。在出勤結(jié)果信息列表的窗體里:使用了Adodc控件和DataGrid控件,控件的Visible屬性一定要設(shè)置為False。在計(jì)算實(shí)發(fā)工資窗體里添加的控件和統(tǒng)計(jì)出勤記錄窗體的控件相同。在工資統(tǒng)計(jì)列表窗體里:使用了SSTab控件,在每一個(gè)標(biāo)簽上添加一個(gè)MSFlexGrid控件,然后設(shè)置它們的屬性。在導(dǎo)出工資表的窗體中使用了CommondDialog控件,要使用這個(gè)控件需要在“控件”窗體中,選擇MicrosoftCommoiDialogControl6.0(sp3)項(xiàng),同時(shí)因?yàn)閿?shù)據(jù)表格是導(dǎo)出到Excel,所以需要添加引用。
40、選擇“工程一引用”菜單,在“引用”窗體中選擇MicrosoftExcel9.0ObjectLibrary項(xiàng),這樣才能夠成功導(dǎo)入到Excel。在這個(gè)窗體里,我做的特點(diǎn)是:權(quán)利分工明確。當(dāng)管理員進(jìn)入的時(shí)候他有所有的權(quán)利,單擊哪個(gè)模塊就會(huì)彈出相對應(yīng)的窗體。而普通用戶則不能,我把它進(jìn)行了權(quán)限設(shè)置,會(huì)彈出權(quán)限的對話框。在添加用戶的窗體里,如果輸入的用戶密碼和確認(rèn)密碼不一致,將出現(xiàn)一個(gè)警告對話框:然后輸入與用戶密碼相同的密碼,我這里的密碼都是以*的形式表達(dá),是不可見的。添加的用戶將保存在數(shù)據(jù)庫的userinfo里。單擊“取消”按鈕就卸載此窗體,添加用戶的過程到此完成。在修改密碼的窗體里,我要注重講解一下:
41、當(dāng)輸入的舊密碼與登錄時(shí)的密碼不一致將出現(xiàn)提示對話框(如圖一),當(dāng)輸入的“確認(rèn)新密碼”和“輸入新密碼”的密碼不一致時(shí)也將出現(xiàn)警告對話框(如圖二)。我在做這個(gè)窗體時(shí)遇到了一個(gè)問題:就是輸入的新密碼確認(rèn)后,當(dāng)你再一次的進(jìn)入修改密碼窗體輸入舊密碼時(shí),如果輸入的是剛剛修改過的密碼,就會(huì)出現(xiàn)錯(cuò)誤。經(jīng)過一段時(shí)間的思考,我發(fā)現(xiàn)原因是修改過的密碼沒有覆蓋登錄時(shí)的密碼,所以會(huì)出現(xiàn)問題。我覺得這是一個(gè)很大的問題,在別的書上可能沒注意到這一點(diǎn),所以我要注重的講一下,這是我做這個(gè)窗體時(shí)的最大體會(huì)圖一圖二在建立基本工資窗體時(shí),這個(gè)窗體會(huì)在兩個(gè)地方使用到,一個(gè)就是添加,另一個(gè)就是修改,在窗體載入時(shí)系統(tǒng)應(yīng)自動(dòng)判斷狀態(tài)。選擇員
42、工編號(hào)或選擇職務(wù),然后填寫工資金額,單擊“確定”按鈕,系統(tǒng)就會(huì)按照選擇的方式,設(shè)置員工的基本工資。在做基本工資這個(gè)窗體時(shí),我的想法是:當(dāng)你在修改基本工資的信息,首先都要從數(shù)據(jù)庫中調(diào)出相關(guān)的信息,然后把它刪除掉,再從數(shù)據(jù)庫中的員工信息表中調(diào)出所要的信息,然后再一次的添加所要設(shè)置的信息。當(dāng)你沒輸入員工編號(hào)的時(shí)候,會(huì)出現(xiàn)下圖的對話框:當(dāng)沒輸入員工的職務(wù)時(shí)會(huì)出現(xiàn)錯(cuò)誤的信息。在建立其他項(xiàng)目設(shè)置的窗體時(shí),也在兩個(gè)地方使用,即添加和修改,在載入時(shí)也需要判斷狀態(tài)。選擇員工編號(hào),再選擇需要添加的項(xiàng)目和進(jìn)額,單擊“確定”按鈕,即可添加其他項(xiàng)目。在其他項(xiàng)目設(shè)置這個(gè)窗體里,我用了一個(gè)Frame控件和幾個(gè)optionB
43、utton控件,目的在于:在添加其他項(xiàng)目時(shí),只能有一個(gè)設(shè)置是有效的,而且還可以添加其他的項(xiàng)目,還有備注等等,這些都便于記錄。這里還有一個(gè)DTPicker控件是用來記錄添加其他項(xiàng)目的時(shí)間,我覺得這個(gè)控件非常好。還有就是每次添加成功后,系統(tǒng)需要初始化,更新一下。在設(shè)置完這個(gè)窗體后將會(huì)彈出查詢工資的窗體。在建立工資計(jì)算公式的窗體時(shí),輸入內(nèi)容后,單擊“確定”按鈕,設(shè)置計(jì)算公式中使用的數(shù)字。在計(jì)算公式設(shè)置的窗體里,單擊“恢復(fù)默認(rèn)值”按鈕系統(tǒng)將會(huì)恢復(fù)公式中的默認(rèn)值。這里的恢復(fù)默認(rèn)值功能采用的方法比較簡單,就是在一個(gè)函數(shù)中設(shè)置了固定的默認(rèn)值。如果需要使用可變的默認(rèn)值,可以在數(shù)據(jù)庫中設(shè)置一項(xiàng)默認(rèn)值字段,這樣可
44、以方便的更改默認(rèn)值。當(dāng)輸入的格式與設(shè)定的格式不一致的時(shí)候,會(huì)彈出相關(guān)的對話框。建立出勤統(tǒng)計(jì)窗體,選擇月份后,單擊“確定”按鈕,開始統(tǒng)計(jì)出勤記錄。在統(tǒng)計(jì)出勤信息的窗體里,這要和出勤記錄的數(shù)據(jù)庫相連,如果輸入的月份沒有統(tǒng)計(jì)將如下的對話框:如果輸入的月份有統(tǒng)計(jì)記錄則彈出如下的對話框:然后彈出出勤結(jié)果的窗體,顯示數(shù)據(jù)庫中統(tǒng)計(jì)信息相關(guān)的記錄。管理員能看到的界面*冷業(yè)工/管慳一系/-員工d;總結(jié)梁】茶就工軸孱窗百工蜜后就甘委人于出知她果nluM;告1itrmnw1-PQQQQQI朱*這是用戶登錄所顯示的用戶信息建立計(jì)算實(shí)發(fā)工資的窗體,這個(gè)窗體的建立和統(tǒng)計(jì)出勤記錄的窗體比較相似,選擇月份后,單擊“開始統(tǒng)計(jì)”
45、按鈕,即可統(tǒng)計(jì)員工工資。在計(jì)算實(shí)發(fā)工資的窗體里,如果輸入的月份的工資沒統(tǒng)計(jì)會(huì)彈出如下的對話框:否則會(huì)出現(xiàn)如下的對話框:單擊“確定”后,就會(huì)出現(xiàn)工資信息列表,這時(shí)你將看見所有關(guān)于你想要的信息。建立工資查詢的窗體,在選擇員工編號(hào)后,單擊“查詢單人”按鈕,返回選擇員工的相關(guān)信息。單擊“查詢?nèi)俊卑粹o,系統(tǒng)返回全部員工的信息。在建立工資查詢(即工資統(tǒng)計(jì)結(jié)果列表)的窗體時(shí),我覺得這是一個(gè)最難的窗體。不僅是因?yàn)樗脑O(shè)置,還有就是它的代碼和數(shù)據(jù)庫相連的操作。在這個(gè)窗體中使用了SSTab控件,在每一個(gè)標(biāo)簽上添加一個(gè)MSFlexGrid控件。1你是管理員登錄的時(shí)候,他的權(quán)限是所有,當(dāng)你是用戶登錄的時(shí)候,窗體只顯
46、示登錄用戶本人的相關(guān)信息。他沒有任何權(quán)限,只能看到自己的信息,這是我做這個(gè)窗體的特色。窗體的部分代碼為:sql="selectsidfromstuffinfowheresname='"&strusername&""'Setrs=getrs(sql,"salary")WhileNotrs.EOFrs.MoveNextWendrs.CloseEndIfCase0sql="select*fromsalarysetting"CallbasictopicCallshowbasic(sql)Ca
47、se 1sql="select*fromsalaryother"CallothertopicCallshowother(sql)Case 2sql="select*fromsalarystatisticsorderbyiddesCCalllisttopicCallshowdata(sql)EndSelectEndIfElsesql="selectsidfromstuffinfowheresname='"&strusername&"'"Setrs=getrs(sql,"salary")WhileNotrs.EOFrs.MoveNextWendrs.MoveFirstsd=rs(0)rs.CloseCase0sql="select*fromsalarysettingwherestuffid='"&sd&"'"CallbasictopicCallshowbasic(sql)Case 1sql=&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第八章 第一節(jié) 自然特征與農(nóng)業(yè) 教學(xué)設(shè)計(jì) -2023-2024學(xué)年人教版地理八年級(jí)下冊
- 2025屆河南省信陽市高三上學(xué)期第二次質(zhì)量檢測生物試題及答案
- 二零二五年度酒店集團(tuán)食堂承包合同
- 2025年度清潔能源項(xiàng)目股東權(quán)益轉(zhuǎn)讓與投資合作協(xié)議
- 2025年度醫(yī)療健康產(chǎn)業(yè)園區(qū)醫(yī)生聘用合同
- 2025年度雙方離婚協(xié)議書范本及財(cái)產(chǎn)分割子女監(jiān)護(hù)及撫養(yǎng)
- 2025年度健康醫(yī)療行業(yè)雇工合同
- 2025年衡陽幼兒師范高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫學(xué)生專用
- 2025年河北外國語學(xué)院單招職業(yè)傾向性測試題庫必考題
- 倉儲(chǔ)租賃居間合作批文
- GB/T 1265-2003化學(xué)試劑溴化鈉
- 統(tǒng)編版四年級(jí)道德與法治下冊全冊課件
- 11-化學(xué)動(dòng)力學(xué)基礎(chǔ)-2-考研試題資料系列
- 醫(yī)院評審工作臨床科室資料盒目錄(15個(gè)盒子)
- 社區(qū)獲得性肺炎臨床路徑
- 壓力性損傷指南解讀
- 湯姆走丟了 詳細(xì)版課件
- 大學(xué)學(xué)院學(xué)生心理危機(jī)預(yù)防與干預(yù)工作預(yù)案
- 國有土地上房屋征收與補(bǔ)償條例 課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 鐵路建設(shè)項(xiàng)目施工企業(yè)信用評價(jià)辦法(鐵總建設(shè)〔2018〕124號(hào))
評論
0/150
提交評論