企業(yè)工資管理系統(tǒng)課程_第1頁
企業(yè)工資管理系統(tǒng)課程_第2頁
企業(yè)工資管理系統(tǒng)課程_第3頁
免費預(yù)覽已結(jié)束,剩余30頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、企業(yè)工資管理系統(tǒng)1 引 言工資管理是一項瑣碎、復(fù)雜而又十分細(xì)致的工作,工資計算、發(fā)放、核算的 工作量很大, 一般不允許出錯, 如果實行手工操作, 每月發(fā)放工資須手工填制大 量的表格,這就會耗費工作人員大量的時間和精力,計算機(jī)進(jìn)行工資發(fā)放工作, 不僅能夠保證工資核算準(zhǔn)確無誤、 快速輸出, 而且還可以利用計算機(jī)對有關(guān)工資 的各種信息進(jìn)行統(tǒng)計, 服務(wù)于財務(wù)部門其他方面的核算和財務(wù)處理, 同時計算機(jī) 具有手工管理所無法比擬的優(yōu)點 .例如: 檢索迅速、查找方便、可靠性高、 存儲量 大、性好、壽命長、成本低等。這些優(yōu)點能夠極提高人事工資管理的效率 , 也是 企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。

2、企業(yè)的工資管理是公司管理的一個重要容。 隨著當(dāng)今企業(yè)人員數(shù)量增加, 企 業(yè)的工資計算也變得越來越復(fù)雜。 如果能夠?qū)崿F(xiàn)工資管理的自動化, 無疑是給企 業(yè)管理部門帶來很大的方便。資金是企業(yè)生存的主要元素。 資金的流動影響到企業(yè)的整體運(yùn)作, 企業(yè)員工 的工資是企業(yè)資金管理的一個重要的組成部分, 因為企業(yè)每個月都要涉及發(fā)放企 業(yè)員工工資的問題。 企業(yè)員工的人數(shù)越多, 工資的統(tǒng)計工作就越多, 工資的發(fā)放 困難就越大。 最初的工資統(tǒng)計和發(fā)放都是使用人工方式處理, 工作的時候, 出現(xiàn) 錯誤的機(jī)率也隨之升高。工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計和計 算,完成眾多工資信息的處理, 同時使用電腦還可以安全地

3、保存大量的工資記錄。企業(yè)工資管理系統(tǒng), 為個人提供工資查詢服務(wù), 為企業(yè)提供工資計算, 工資 統(tǒng)計等服務(wù)。傳統(tǒng)的紙材料的數(shù)據(jù)信息管理已經(jīng)不適合現(xiàn)代企業(yè)公司的發(fā)展了,實現(xiàn)工資管理的系統(tǒng)化、規(guī)化、自動化,將成為現(xiàn)在公司管理工資的首選。本系 統(tǒng)實現(xiàn)的工資管理系統(tǒng)基本上能夠滿足現(xiàn)代化企業(yè)工資管理的需求。2 企業(yè)工資管理系統(tǒng)概述2.1 系統(tǒng)的主要功能企業(yè)工資管理系統(tǒng)的主要任務(wù)是用計算機(jī)對各種工資信息進(jìn)行日常的管理, 如查詢、修改、增加、刪除以及存儲等,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計計 算和匯總工作, 快速打印出工資報表, 針對系統(tǒng)服務(wù)對象的具體要求, 設(shè)計了企 業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以

4、下幾大功能:(1) 對單位人員的變動進(jìn)行處理。 一個單位的職工不會是一成不變的, 總是 在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位部調(diào)動。因此,設(shè)計系統(tǒng)是 應(yīng)考慮到這些情況。(2) 對職工的工資進(jìn)行計算、 修改。 能對各職工的工資進(jìn)行計算, 即計算應(yīng) 發(fā)金額、應(yīng)扣金額及實發(fā)金額等。(3) 查詢統(tǒng)計功能。要求即可以單項查詢, 比如查看某個職工的工資情況等; 也可以查詢?nèi)俊?4) 報表打印功能。 每月發(fā)放工資時, 要求能夠打印本月的工資表、 隨工資 發(fā)給每個職工的工資條以及工資統(tǒng)計表。2.2 企業(yè)工資管理系統(tǒng)的應(yīng)用現(xiàn)狀開發(fā)環(huán)境( 1) 系統(tǒng)運(yùn)行環(huán)境1)騰 II 或以上2)64MB存或以上。3

5、)Windows 95 或以上。4) 裝了 Visual Basic 6.0。( 2)開發(fā)工具微軟公司的 Visual Basic 6.0 (簡稱 VB) 具有強(qiáng)大的數(shù)據(jù)庫管理功能,豐 富的表格和圖形輸出功能, 實效的精美報表打印功能, 語言的易讀與靈活性, 快 速友好的界面開發(fā)效率等特點。說得通俗一點, Visual 是指可視化的編程方 法,Basic語言是指在原有BASIC語言的基礎(chǔ)上發(fā)展起來的編程語言。VB的強(qiáng)大,不僅僅在于它本身的編程能力,還在于它可以直接調(diào)用DLL動態(tài)庫中的過程。 VB允許選擇和管理外接程序,這是對 VB的擴(kuò)充。這些擴(kuò)充增強(qiáng)了 VB開發(fā)環(huán)境 的能力。Access 20

6、00 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、 存儲和檢索。 Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。 數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另 外,Access允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(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)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大

7、功2.2.2 數(shù)據(jù)庫數(shù)據(jù)庫是通過數(shù)據(jù)庫管理系統(tǒng)(DBMS-DATBASEMANAGEMESITSTEM軟件來 實現(xiàn)數(shù)據(jù)的存儲、管理與使用的 DBASEL就是一種數(shù)據(jù)庫管理系統(tǒng)軟件。(1)數(shù)據(jù)庫的概念數(shù)據(jù)庫是存儲在一起的相關(guān)數(shù)據(jù)的集合, 這些數(shù)據(jù)是結(jié)構(gòu)化的, 無有害的或 不必要的冗余, 并為多種應(yīng)用服務(wù); 數(shù)據(jù)的存儲獨立于使用它的程序; 對數(shù)據(jù)庫 插入新數(shù)據(jù), 修改和檢索原有數(shù)據(jù)均能按一種公用的, 和可控制的方式進(jìn)行。 當(dāng) 某個系統(tǒng)中存在結(jié)構(gòu)上完全分開的若干個數(shù)據(jù)庫時,則該系統(tǒng)包含一個 " 數(shù)據(jù)庫 集合"。(2)數(shù)據(jù)庫的優(yōu)點使用數(shù)據(jù)庫可以帶來許多好處: 如減少了數(shù)據(jù)的冗余度,

8、 從而大節(jié)省了數(shù)據(jù) 的存儲空間; 實現(xiàn)數(shù)據(jù)資源的充分共享等等。 此外,數(shù)據(jù)庫技術(shù)還為用戶提供了 非常簡便的使用手段使用戶易于編寫有關(guān)數(shù)據(jù)庫應(yīng)用程序。(3)數(shù)據(jù)庫文件的特征無論使用哪一種數(shù)據(jù)庫管理系統(tǒng), 由它們所建立的數(shù)據(jù)庫文件都可以看成是 具有相同性質(zhì)的記錄的集合,因而這些數(shù)據(jù)庫文件都有相同的特性:1)文件的記錄格式相同,長度相等。2)不同的行是不同的記錄,因而具有不同的容。3)不同的列表示不同的字段名,同一列中的數(shù)據(jù)的性質(zhì) (屬性)相同。4)每一行各列的容是不能分割的,但行的順序和列的順序不影響文件容的表達(dá)。3 系統(tǒng)分析3.1 系統(tǒng)需求分析本系統(tǒng)的開發(fā)宗旨以及總體任務(wù)就是幫助企業(yè)的財務(wù)主管部

9、門提高工作效 率,實現(xiàn)企業(yè)工資信息管理的自動化、 規(guī)化和系統(tǒng)化。 所以為了能夠?qū)崿F(xiàn)編制這 個系統(tǒng)所設(shè)定的目標(biāo),在程序的開發(fā)之前,需求分析是必不可少的。需求分析的第一步描述工資管理系統(tǒng)的功能, 即定義用例, 以此確定系統(tǒng)的 功能需求。 工資管理系統(tǒng)的用例分析主要是找出系統(tǒng)中所有的用例, 因此要和工 資管理系統(tǒng)的潛在用戶進(jìn)行討論。系統(tǒng)最終實現(xiàn)的主要功能如下。工資管理系統(tǒng)的用例包括:(1) 系統(tǒng)管理(2) 工資設(shè)置(3) 工資統(tǒng)計(4) 工資查詢(5) 工資表導(dǎo)出(6) 打印報表系統(tǒng)管理用例包括添加用戶和修改密碼。都通過其相應(yīng)的窗口來實現(xiàn)。工資設(shè)置用例包括基本工資設(shè)置和其它項目設(shè)置。 其它項目設(shè)置有

10、獎金、 津 貼、福利、扣發(fā)等項目。工資統(tǒng)計用例可以根據(jù)不同的月份對其進(jìn)行相應(yīng)地統(tǒng)計。工資查詢用例包括單人查詢和查詢所有, 可以顯示員工基本工資、 員工其它 項目情況,以及員工工資具體統(tǒng)計情況工資表導(dǎo)出用例可根據(jù)所需的月份把工資表導(dǎo)出并可直接顯示在Excel表格中,而且可以加以保存。打印報表用例是一個很重要的一個用例,它提供給用戶生成報表和報印的功能,能夠很方便地將員工的工資情況表打印出來。系統(tǒng)目標(biāo)采用公司現(xiàn)有的軟硬件及科學(xué)的管理系統(tǒng)開發(fā)方案, 建立工資管理系統(tǒng),實 現(xiàn)企業(yè)工資管理的計算機(jī)自動化。 系統(tǒng)應(yīng)符合公司人事、工資管理制度,并達(dá)到 操作直觀、方便、實用、安全等要求。圖1數(shù)據(jù)流程圖3.2系

11、統(tǒng)功能調(diào)查系統(tǒng)從總體上可以分為系統(tǒng)管理、工資信息設(shè)置、工資信息管理、打印報表等功能。系統(tǒng)管理功能(1)添加用戶:使用這個用戶登錄后,可以添加其他用戶(2)修改密碼:每一個用戶都可以更改自己的密碼322工資信息設(shè)置功能(1基本工資設(shè)置:按照員工編號或職務(wù)設(shè)置員工的基本工資信息。(2)其他項目設(shè)置:設(shè)置單個員工的獎金,福利、津貼、出差費、加班 費等信息。(3)工資計算公式設(shè)置:設(shè)置員工實發(fā)工資的計算公式信息。工資信息管理功能(1)出勤統(tǒng)計:按照月份統(tǒng)計員工的當(dāng)月出勤信息。(2)計算實發(fā)工資:計算當(dāng)月員工實發(fā)工資的金額。(3)查詢工資:可以按月查詢所有員工工資信息或查詢個人工資信息。(4) 導(dǎo)出工資

12、表:把數(shù)據(jù)庫中員工的工資信息導(dǎo)出到Excel 2000中 打印報表功能(1)基本工資列表打印:打印出基本工資列表(2)其他項目打?。捍蛴∑渌椖苛斜恚?)工資統(tǒng)計列表打印:打印工資統(tǒng)計列表3.3系統(tǒng)功能模塊圖企業(yè)工資管理系統(tǒng)系統(tǒng)管理工 資 信 息 設(shè) 置工 資 信 息 管 理打 印 報 表苴丿、他項算 出 算 查 工公 勤 實 詢 資圖 2 系統(tǒng)功能模塊圖4 系統(tǒng)概要設(shè)計4.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計設(shè)計基礎(chǔ)是完成需求分析后提供的需求說明書, 用概念數(shù)據(jù)模型表示數(shù)據(jù)及 其相互間的關(guān)系,這種數(shù)據(jù)模型是與 DBMSC關(guān)的、面向現(xiàn)實世界的、易如理解 的數(shù)據(jù)模型, 其獨立于計算機(jī)的數(shù)據(jù)模型, 獨立于計算機(jī)的

13、軟硬件系統(tǒng), 與用戶 進(jìn)行交流十分方便。概念性數(shù)據(jù)模型關(guān)心的是如何完整、 正確地反映客觀實際情況, 不關(guān)心在數(shù) 據(jù)庫中如何實現(xiàn)。 這種數(shù)據(jù)模式能真實地反應(yīng)用戶要求的實際情況, 是一種容易 被人們理解的直觀的數(shù)據(jù)庫結(jié)構(gòu)模式。同時也是一種相對穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,般情況下很少變動。概念性數(shù)據(jù)在用戶和設(shè)計者之間建立了橋梁。 是設(shè)計數(shù)據(jù) 庫結(jié)構(gòu)的基礎(chǔ)。概念設(shè)計中自頂向下的實體分析方法,即常用的實體聯(lián)系模型(簡稱E-R模型),對具體數(shù)據(jù)進(jìn)行抽象加工,將實體集合抽象成實體類型。用實體間聯(lián)系 反映現(xiàn)實世界事物間的在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。通過對企業(yè)員工管理容、工資管理容和過程的分析,本

14、系統(tǒng)設(shè)計的實體和屬性如下及圖4-1和圖4-2 :員工(包括員工編號、員工、性別、籍貫、年齡、生日、學(xué)歷、專業(yè)、住址、郵編、Email、參加工作時間、進(jìn)入公司時間、起薪時間、備注)部門(員工編號、部門名稱)職務(wù)(員工編號、職務(wù)名稱)職稱(員工編號、職稱名稱)工資結(jié)構(gòu)(員工編號、正常加班工資、特殊加班工資、出差工資、曠工工資、 遲到早退)工資帳目(工資帳目代號、工資帳目名稱)圖3員工信息圖圖4工資管理容分析圖4.2實體和實體之間的關(guān)系E-R圖圖5實體之間的關(guān)系E-R圖4.3數(shù)據(jù)庫設(shè)計Access在VB中的應(yīng)用非常廣泛,為此我選用 Access 2000數(shù)據(jù)庫來進(jìn)行數(shù) 據(jù)庫的邏輯設(shè)計。根據(jù)前面定義的

15、實體及實休之間的關(guān)系, 形成數(shù)據(jù)庫的表格以 及各個表之間的關(guān)系。4.3.1 Person數(shù)據(jù)庫(員工數(shù)據(jù)庫)(1) Stufflnfo (員工資料表):員工基本信息表用于存儲員工基本信息,為保證 數(shù)據(jù)的一致和歷史資料的完整,表的記錄在一般的情況不能被刪除。表1 StuffI nfo( 員工資料表)序號字段名字段中文名類型1SID員工編號文本2SName員工文本3SGe nder性別文本4SPlace籍貫文本5SAge年齡長整型6SBirthday生日日期/時間7SDegree學(xué)歷文本8SSpecial專業(yè)文本9SAddress住址文本10SCode郵編文本11STel文本12SEmailEma

16、il文本13SWorkTime參加工作時間日期/時間14SI nTime進(jìn)入公司時間日期/時間15SDept部門文本16SPayTime起薪時間日期/時間17SPositio n職務(wù)文本18SRemark備注文本Userlnfo (用戶口令表):為了便于多個用戶管理該系統(tǒng),建立此表,記錄用 戶的登錄用戶名和口令。表2 Userlnfo(用戶口令表)序號字段名字段中文名類型1UserID用戶名稱文本2UserPWD用戶密碼文本Errandlnfo (出差情況表):用于存儲員工出差的一些基本情況,便于統(tǒng)計表3 Errandlnfo ( 出差情況表)序號字段名字段中文名類型1EID記錄編號自動編號2

17、EStuffID員工編號文本3Eerra nddays出差天數(shù)數(shù)字4Epurpose出差目的地文本5EFromday出差開始時間日期/時間(4)Leavelnfo(請假情況表):用于存儲員工事假、病假的情況,便于統(tǒng)計表4 Leavelnfo(請假情況表)序號字段名字段中文名類型1LID記錄編號自動編號2LStuffID員工編號文本3LIII病假天數(shù)數(shù)字4LPrivate事假天數(shù)數(shù)字5LFromday假期開始時間日期/時間(5)OverTimel nfo(加班情況表):用于存儲員工加班的情況,在計算工資時便于統(tǒng)計。表5 OverTime Info (加班情況表)序號字段名字段中文名類型1OID記

18、錄編號自動編號2OStuffID員工編號文本3OSpeciality特殊加班天數(shù)數(shù)字4OCom mon正常加班天數(shù)數(shù)字5OFromday加班日期日期/時間Alterationlnfo(員工調(diào)離情況表):用于存儲員工調(diào)離的基本情況,不會因為更新而把原來的情況覆蓋,便于今后查看方便。表6 Alterationlnfo(員工調(diào)離情況表)序號字段名字段中文名類型1AID員工編號文本2AName員工文本3AOldDept原部門文本4ANewDept新部門文本5AOldPositio n原職務(wù)文本6ANewPositio n新職務(wù)文本7AOutTime調(diào)出時間日期/時間8AI nTime調(diào)入時間日期/時間

19、9ARemark備注備注432 Salary 數(shù)據(jù)庫(工資數(shù)據(jù)庫)(1) AttendanceStatistics(員工出勤表):用于統(tǒng)計員工的出勤情況,為統(tǒng)計工資時提供方便。表 7 AttendanceStatistics(員工出勤表)序號字段名字段中文名類型1StuffID員工編號文本2StuffName員工文本3RecordMo nth統(tǒng)計時間日期時間4Atte ndance出勤天數(shù)日期/時間5LateEarly遲到早退次數(shù)數(shù)字6Abse nt曠工次數(shù)數(shù)字7OverTimeCom正常加班次數(shù)數(shù)字8OverTimeSpe特殊加班次數(shù)數(shù)字9Errand出差次數(shù)數(shù)字(2) FormulaSet

20、ting(工資設(shè)置表):用于設(shè)置工資的各項情況。表8 FormulaSetting (工資設(shè)置表)序號字段名字段中文名類型1OvertimeCom正常加班工資百分比數(shù)字2OvertimeSpe特殊加班工資百分比數(shù)字3Errand出差工資數(shù)字4Abse nt曠工工資數(shù)字5Le遲到早退數(shù)字如獎金、津貼、福利等。表9 Salaryother (其他工資項目表)序號字段名字段中文名類型1StuffID員工編號文本2YearMo nth年月日期/時間3Type類型數(shù)字4Name名稱文本5Money金額貨幣6Remark備注備注(4)SalarySetting(基本工資設(shè)置):用于存儲不同職稱的員工的基本

21、工資。表10 SalarySetti ng(基本工資設(shè)置)序號字段名字段中文名類型1StuffID員工編號文本2Spositi on員工職務(wù)文本3Salary基本工資貨幣(5) Userlnfo (用戶表):用于存儲新添加的用戶,當(dāng)添加完用戶時,就 被存儲在此表中。表11 Userl nfo ( 用戶表)序號字段名字段中文名類型1UserID用戶名稱文本2UserPWD用戶密碼文本(6)Salarystatistics (工資情況表):用于存儲員工的工資情況表,便于明確查看。表 12 Salarystatistics(工資情況表)序號字段名字段中文名類型1StuffName員工編號文本2Stu

22、ffn ame員工文本3YearMo nth時間日期/時間4Basicsalary基本工資貨幣5Bonus獎金貨幣6Welfare福利貨幣7Allowa nee津貼貨幣8Abateme nt扣發(fā)貨幣9LeSub遲到早退扣發(fā)貨幣10Abse ntSub曠工扣發(fā)貨幣11Overtime加班費貨幣12Errand出差費貨幣13Others其他金額貨幣14Total總額貨幣5詳細(xì)設(shè)計5. 1 模塊詳細(xì)設(shè)計登錄模塊的詳細(xì)設(shè)計主要是用戶登錄的一個界面, 判斷登錄的用戶是管理員 還是普通用戶,進(jìn)入后將面對的是主界面,從而進(jìn)行相關(guān)的操作。登錄的界面主要由用戶名和密碼的信息,還有一些標(biāo)題設(shè)置,確定和取消的 按鈕

23、組成。通過標(biāo)題可以知道此系統(tǒng)的大概容,由此,登錄界面的設(shè)計完成。5. 2 窗體模塊詳細(xì)設(shè)計在這個項目中,選擇使用多文檔界面。使用這個窗體的好處是可以使程序更 加有條理。對于一個多任務(wù)的應(yīng)用程序,使用多文檔窗體還可以減少占用的系統(tǒng) 資源。主窗體設(shè)計的界面是用菜單編輯器做的,主要由系統(tǒng)、工資信息設(shè)置、工資 信息管理和關(guān)于這四個大模塊組成。主窗體是進(jìn)行相關(guān)操作的主界面。在這幾個 里,管理員有所有的權(quán)利進(jìn)行各種操作。選擇“系統(tǒng)” >“添加用戶”菜單,在添加用戶的窗體里 , 輸入新的用 戶名稱和密碼后,單擊“確定”按鈕,系統(tǒng)將會添加新的用戶。sql = "insert into user

24、info (userid,userpwd) values('" & usernamesql = sql & "','" & password & "')"Call transactsql(sql, "salary")MsgBox " 添加成功 ", vbOKOnly + vbExclamation, "添加結(jié)果 "username.Text = "" password.Text = "&quo

25、t;confirmpwd.Text = "" username.SetFocus選擇“系統(tǒng)” >“修改密碼”菜單,在修改密碼的窗體里,輸入舊密碼 和 2 次輸入新密碼后,單擊“確定”按鈕,系統(tǒng)將會更改當(dāng)前用戶的密碼。userpassword = newpwdsql = "update userinfo set userpwd='" & newpwd& "'where userid='"& strusername & "'"Call transac

26、tsql(sql, "salary")MsgBox "密碼已經(jīng)修改 ", vbOKOnly + vbExclamation, "修改結(jié)果 "選擇“工資信息設(shè)置” >“基本工資設(shè)置”菜單設(shè)置員工的基本工資, 可以根據(jù)員工的編號,或者根據(jù)員工職務(wù)設(shè)置基本工資,設(shè)置的基本工資為 每個小時的工資。Set rs = getrs(sql, "salary")If rs.EOF = False Thensql"delete from salarysettingwhere stuffid='"&a

27、mp; "'"Call transactsql(sql, "salary")End Ifrs.Closeid = Call addrecordMsgBox "已經(jīng)設(shè)置基本工資 ", vbOKOnly + vbExclamation, " 添加結(jié)果 "Call initsql = "select * from salarysetting"Call frmresult.basictopicCall frmresult.showbasic(sql)frmresult.Showfrmresult

28、.ZOrder 0Me.ZOrder 0選擇“工資信息設(shè)置” >“其他項目設(shè)置”菜單,在其他項目設(shè)置的窗 體中,設(shè)置員工當(dāng)月的獎金、津貼、福利等項目。sql = "select * from salaryother"If ichangeflag = 1 ThenCall addMsgBox " 已經(jīng)添加記錄 ", vbOKOnly + vbExclamation, "提示 "Call frmresult.othertopicCall frmresult.showother(sql)frmresult.ShowUnload MeE

29、lse= True Thenitype = 1= True Thenitype = 2= True Thenitype = 3= True Thenitype = 4= True Thenitype = 5 resumdate = recordtimesql = sql = sql & "' and YearMonth=#" & recordtime & "# and "sql = sql & "Type=" & itypeCall transactsql(sql, "Sala

30、ry")Call addCall frmsumsalary.resumsalary(resumdate)sql = "select * from salaryother"Call frmresult.othertopicCall frmresult.showother(sql) frmresult.Show Unload MeEnd If選擇“工資信息設(shè)置” >“工資計算公式設(shè)置”菜單,在這個計算公式 窗體中設(shè)置員工實際發(fā)放工資的計算公式。If Me.textovertimecom = "" And IsNumeric(Me.textov

31、ertimecom) =True ThenMsgBox " 請 輸 入 正 常 加 班 工 資 百 分 比 ", vbOKOnlyvbExclamation, " 提示 "Me.textovertimecom = ""ElseIf Me.textovertimespe = "" And IsNumeric(Me.textovertimespe) = False ThenMsgBox " 請 輸 入 特 殊 加 班 工 資 百 分 比 ", vbOKOnly + vbExclamation, &q

32、uot; 提示 "Me.textovertimespe = ""ElseIf Me.texterrand = "" And IsNumeric(Me.texterrand) = False ThenMsgBox " 請輸入出差工資 ", vbOKOnly + vbExclamation, " 提示 "Me.texterrand = ""ElseIf Me.textabsent = "" And IsNumeric(Me.textabsent) = False The

33、nMsgBox " 請輸入曠工扣發(fā)工資 ", vbOKOnly + vbExclamation, " 提示"Me.textabsent = ""ElseIf Me.textle = "" And IsNumeric(Me.textle) = False ThenMsgBox " 請輸入遲到早退扣發(fā)工資 ", vbOKOnly+ vbExclamation," 提示 "Me.textle = ""ElseCall setvalueCall initEnd I

34、f擇需要統(tǒng)計記錄的月份。firstday = Year(Date) & "-" & & "-1"days = DateDiff("d", Year(Date) & "-" & & "-1",Year(Date) & "-" & +1 & "-1")lastday = Year(Date) & "-" & & "-" &am

35、p; dayssql = "select * from attendancestatistics where recordmonth between #"sql = sql & firstday & "# and #" & lastday & "#"Set rsrecord = getrs(sql, "salary")If rsrecord.EOF = False ThenMsgBox " 已經(jīng)統(tǒng)計 ", vbOKOnly + vbExclamation, &qu

36、ot;提示 "frmaresult.Showfrmaresult.ZOrder 0 rsrecord.CloseUnload MeExit SubEnd Ifsql = "select * from attendanceinfo where adate between #"sql = sql & firstday & "# and #" & lastday & "#"Set rsrecord = getrs(sql, "person")If rsrecord.EOF = F

37、alse Thensql = "select sid,sname from stuffinfo order by sid"Set rsperson = getrs(sql, "person")選擇月份后單擊“確定”按鈕,如果系統(tǒng)已經(jīng)統(tǒng)計過該月份的記錄,那么會出現(xiàn)如下圖所示的統(tǒng)計結(jié)果信息列表。如果系統(tǒng)沒有統(tǒng)計過,那么系統(tǒng)就會開始統(tǒng)計記錄,然后顯示如圖所示的統(tǒng)計結(jié)果信息列表。If strusername <> "admin" Thensql = "select sid from stuffinfo where sna

38、me='" & strusername &muSet rs = getrs(sql, "salary")sd = rs(0)sql = "select * from attendancestatistics where stuffid='" & sd& "'"Elsesql = "select * from attendancestatistics"asource="& App.Path & "salary.mdb

39、"End If選擇“工資信息管理” >“計算實發(fā)工資”菜單,在這個窗體中選擇需 要統(tǒng)計的月份。選擇統(tǒng)計月份后,單擊“開始統(tǒng)計”按鈕,系統(tǒng)如果已經(jīng)統(tǒng) 計了該月份的工資,系統(tǒng)會顯示工資信息列表窗體。如果系統(tǒng)還沒有統(tǒng)計工 資,那么系統(tǒng)開始統(tǒng)計工資,然后在信息結(jié)果列表窗體中顯示統(tǒng)計結(jié)果。= 4 Thenfirstday = Year(Date) & "-" & & "-1"days = DateDiff("d", Year(Date) & "-" & & &q

40、uot;-1",Year(Date) & "-" & + 1 & "-1")lastday = Year(Date) & "-" & & "-" & daysCall sumsalary(firstday, lastday)sql = "select * from salarystatistics"= "員工工資統(tǒng)計列表 "Call frmresult.listtopicCall frmresult.showd

41、ata(sql) frmresult.Caption = "統(tǒng)計結(jié)果列表 "frmresult.ZOrder 0Unload MeElseMsgBox " 這個月的工資未統(tǒng)計 ", vbOKOnly + vbExclamation, "提示 "End If選擇“工資信息管理” >“查詢工資”菜單,系統(tǒng)顯示如圖的查詢信息 窗體,系統(tǒng)默認(rèn)的是查詢出數(shù)據(jù)庫中所有的記錄 (當(dāng)管理員進(jìn)入的時候) ,當(dāng) 從“員工編號”下拉列表中選擇一個員工編號后,單擊“查詢單人”按鈕, 就會查詢出符合這個員工編號的記錄; 如果需要返回查詢所有信息, 單擊“

42、查 詢所有”按鈕,系統(tǒng)就會返回所有員工的信息。在“員工工資統(tǒng)計列表”中 單擊鼠標(biāo)右鍵,會彈出下圖的菜單,在“員工其他項目列表”中單擊鼠標(biāo)右 鍵也會出現(xiàn)下圖的菜單。如果要選擇“刪除基本工資設(shè)置” ,出現(xiàn)如下的提示: 具體的操作這里就不詳細(xì)介紹錄”窗體中選擇需要導(dǎo)出工資的月份。選擇月份和保存位置后,單擊“導(dǎo)出” 按鈕,系統(tǒng)會開始導(dǎo)出數(shù)據(jù)。單擊“確定”按鈕打開導(dǎo)出的文件,單擊“取消”按鈕回到系統(tǒng)。導(dǎo)出的工資記錄窗體的部分代碼為:If strusername = "admin" Then '管理員 的權(quán)限sql = "select stuffid from sal

43、arysetting"Set rs = getrs(sql, "salary")If rs.EOF = False ThenWhile Not rs.EOFrs.MoveNextWendrs.CloseEnd If= 0Case 0sql = "select * from salarysetting"Call basictopicCall showbasic(sql)Case 1sql = "select * from salaryother"Call othertopicCall showother(sql)sql= &q

44、uot;select * from salarystatistics order by id desc"Call listtopicCall showdata(sql)End SelectElse ' 用戶的權(quán)限sql = "select sid from stuffinfo where sname='" & strusername & "'"Set rs = getrs(sql, "salary")While Not rs.EOFrs.MoveNextWendrs.MoveFirstsd = rs(0)rs.Close= 0Case 0sql = "select * from salarysetting where stuffid='" &sd & "'"Call basictopicCall showbasic(sql)Case 1sql = "select * from salary

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論