企業(yè)工資管理系統(tǒng)文檔_第1頁
企業(yè)工資管理系統(tǒng)文檔_第2頁
企業(yè)工資管理系統(tǒng)文檔_第3頁
企業(yè)工資管理系統(tǒng)文檔_第4頁
企業(yè)工資管理系統(tǒng)文檔_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

年6月23日企業(yè)工資管理系統(tǒng)文檔資料內(nèi)容僅供參考,如有不當(dāng)或者侵權(quán),請聯(lián)系本人改正或者刪除。工資管理系統(tǒng)摘要本系統(tǒng)基本上能夠滿足現(xiàn)代化企業(yè)工資管理的需求?,F(xiàn)代化工資管理系統(tǒng)中使用了各種表格,保存相關(guān)的工資信息,方便查詢,瀏覽,修改等操作。本系統(tǒng)的前提條件是必須有員工的考勤信息作為基礎(chǔ),因為本系統(tǒng)是使用員工考勤信息來計算員工的工資,在使用的時候必須要保證員工的人事信息數(shù)據(jù)庫和工資數(shù)據(jù)庫在同一個文件夾中。本系統(tǒng)結(jié)合實際的人事、財務(wù)制度,經(jīng)過實際的需求分析,采用功能強大的VB作為開發(fā)工具、Access作為數(shù)據(jù)庫開發(fā)出來的企業(yè)工資管理系統(tǒng)。本文首先分析了企業(yè)工資管理系統(tǒng)的應(yīng)用現(xiàn)狀,闡述了本工資管理系統(tǒng)的開發(fā)目的。經(jīng)過對數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展、數(shù)據(jù)庫系統(tǒng)的選擇原則、系統(tǒng)開發(fā)工具的選擇一系列問題的分析,確定了系統(tǒng)的開發(fā)平臺。接著詳細給出了從工資管理系統(tǒng)分析到總體設(shè)計詳細設(shè)計與實現(xiàn)及測試的各個環(huán)節(jié),最后對本系統(tǒng)作出了客觀評價,指明了系統(tǒng)的現(xiàn)實意義、缺點以及系統(tǒng)的升級方向。引言隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中的應(yīng)用越來越普及,利用計算機實現(xiàn)企業(yè)工資的管理顯得越來越重要。對于大中型企業(yè)來說,利用計算機支持企業(yè)高效率完成勞動人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動人事管理走向科學(xué)化、規(guī)范化的必要條件;而工資管理是一項瑣碎、復(fù)雜而又十分細致的工作,工資計算、發(fā)放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發(fā)放工資須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行工資發(fā)放工作,不但能夠保證工資核算準(zhǔn)確無誤、快速輸出,而且還能夠利用計算機對有關(guān)工資的各種信息進行統(tǒng)計,服務(wù)于財務(wù)部門其它方面的核算和財務(wù)處理,同時計算機具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事工資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。企業(yè)的工資管理是公司管理的一個重要內(nèi)容。隨著當(dāng)今企業(yè)人員數(shù)量增加,企業(yè)的工資計算也變得越來越復(fù)雜。如果能夠?qū)崿F(xiàn)工資管理的自動化,無疑是給企業(yè)管理部門帶來很大的方便。資金是企業(yè)生存的主要元素。資金的流動影響到企業(yè)的整體運作,企業(yè)員工的工資是企業(yè)資金管理的一個重要的組成部分,因為企業(yè)每個月都要涉及發(fā)放企業(yè)員工工資的問題。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計工作就越多,工資的發(fā)放困難就越大。最初的工資統(tǒng)計和發(fā)放都是使用人工方式處理,工作的時候,出現(xiàn)錯誤的機率也隨之升高。工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計和計算,完成眾多工資信息的處理,同時使用電腦還能夠安全地保存大量的工資記錄。企業(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ù)是用計算機對各種工資信息進行日常的管理,如查詢、修改、增加、刪除以及存儲等,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計計算和匯總工作,快速打印出工資報表,針對系統(tǒng)服務(wù)對象的具體要求,設(shè)計了企業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以下幾大功能:(1)對單位人員的變動進行處理。一個單位的職工不會是一成不變的,總是在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位內(nèi)部調(diào)動。因此,設(shè)計系統(tǒng)是應(yīng)考慮到這些情況。(2)對職工的工資進行計算、修改。能對各職工的工資進行計算,即計算應(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)狀2.2.1開發(fā)背景隨著中國國民經(jīng)濟建設(shè)的蓬勃發(fā)展和具有中國特色的社會主義市場經(jīng)濟體制的迅速完善,各個行業(yè)都在積極使用現(xiàn)代化的手段,不斷改進服務(wù)質(zhì)量,提高工作效率,這些都在很大程度上給企業(yè)提出越來越嚴(yán)峻的挑戰(zhàn),對企業(yè)體系無論是在行政職能、企業(yè)管理水平以及優(yōu)質(zhì)服務(wù)上都提出更高的要求。建設(shè)一個科學(xué)高效的信息管理系統(tǒng)是解決這一問題的必由之路。企業(yè)內(nèi)部財務(wù)管理是該企業(yè)運用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟效益的主要因素之一。工資管理作為企業(yè)內(nèi)部的一種財務(wù)管理也是如此,由于企業(yè)職工人數(shù)較多,每一位職工的具體實際情況也不盡相同,各項工資條款的發(fā)放,如果沒有一個完整的管理系統(tǒng),僅憑手工操作來實現(xiàn)不但容易出錯,而且也造成資源的不必要浪費,因此開發(fā)這個工資管理系統(tǒng)是很有必要的。2.2.2開發(fā)環(huán)境系統(tǒng)運行環(huán)境騰II或以上64MB內(nèi)存或以上Windows95或以上裝了VisualBasic6.0開發(fā)工具1、VB的選用和簡介現(xiàn)在,市場上能夠選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。當(dāng)前在中國市場上最為流行、使用最多、最為先進的可用作企業(yè)級開發(fā)工具的產(chǎn)品有:Microsoft公司的VisualBasicMicrosoft公司的VisualCBorland公司的DelphiSun公司的Java等等在當(dāng)前市場上這些眾多的程序開發(fā)工具中,有些強調(diào)程序語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的提高,各有各的優(yōu)點和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動作必須要耗費數(shù)倍的工夫來處理,使得原來所標(biāo)榜的效率提高的優(yōu)點失去了作用;相反,如果只強調(diào)程序語言的彈性,卻沒有便利的工具作配合,會使一些即使非常簡單的界面處理動作,也會嚴(yán)重地浪費程序設(shè)計師的寶貴時間。作為數(shù)據(jù)庫系統(tǒng)的開發(fā),VB是一個非常理想選擇。VB因簡單易學(xué)、功能強大、編譯速度快而從眾多的軟件開發(fā)工具中脫穎而出。它提供了靈活的可視化設(shè)計工具,將可視化界面與面向?qū)ο蠹夹g(shù)完善、緊密地結(jié)合起來,并封裝了Windows編程的復(fù)雜性。程序的規(guī)模小到簡單的個人數(shù)據(jù)庫應(yīng)用,大到復(fù)雜的企業(yè)的多層次分布式系統(tǒng),都能夠使用VB進行開發(fā),其友好的集成開發(fā)界面,可視化的雙向開發(fā)模式,良好的數(shù)據(jù)庫應(yīng)用支持高效的程序開發(fā)和程序運行,備受廣大程序開發(fā)人員的好評。特別是VB對數(shù)據(jù)庫應(yīng)用的強大支持,大大提高了數(shù)據(jù)庫應(yīng)用軟件開發(fā)的效率,縮短了開發(fā)周期,深受廣大數(shù)據(jù)庫應(yīng)用程序設(shè)計人員的喜愛。VB為數(shù)據(jù)庫應(yīng)用開發(fā)人員提供了豐富的數(shù)據(jù)庫開發(fā)組件,使數(shù)據(jù)庫應(yīng)用開發(fā)功能更強大,控制更靈活,編譯后的程序運行速度更快,VB是微軟公司出品的一個快速可視化程序開發(fā)工具軟件,借助微軟在操作系統(tǒng)和辦公軟件的壟斷地位,VB在短短的幾年內(nèi)風(fēng)靡全球。VB是極有和功能強大的軟件,主要表現(xiàn)在:所見即所得的界面設(shè)計,基于對象的設(shè)計方法,極短的軟件開發(fā)周期,較易維護的生成代碼。美國微軟公司在1991年推出VB1.0至今已經(jīng)經(jīng)歷了6個版本,VB6.0運行在win9x或winme,win,winxp,windowsNT等操作系統(tǒng)下,是一個32位的應(yīng)用程序開發(fā)工具。VB程序語言具有許多優(yōu)秀的特性,用其設(shè)計應(yīng)用程序時有兩個基本特點:可視化設(shè)計和事件驅(qū)動編程。VisualBasic系統(tǒng)除了一般高級語言所具有的一些名詞術(shù)語外,還有幾個系統(tǒng)常見的名詞。其基本含義如下:視窗(Form)視窗是進行人機交互的界面或接口,也叫窗體。VB系統(tǒng)的人機交互界面或接口,無論是在設(shè)計時或是在運行時,都是Windows系統(tǒng)的標(biāo)準(zhǔn)視窗。對象(Object)對象是VB系統(tǒng)內(nèi)部提供給設(shè)計者能夠直接使用的處理輸出的控制工具。本程序所應(yīng)用到的對象類型有標(biāo)簽框(LabelBox),文本框(TextBox),命令按扭(CommandButton),網(wǎng)格(DataGrid),ADO控件(Adodc1)等。當(dāng)把這些工具放置到用戶界面對應(yīng)的窗體上時,被稱為對象或控件。用戶能夠經(jīng)過設(shè)置對象的”屬性”和”方法”,便于對象適應(yīng)自己所設(shè)計應(yīng)用程序的輸入輸出內(nèi)容,對象的生成過程及結(jié)構(gòu)都被封裝起來。正確使用對象能夠減少程序和開發(fā)時間,提高程序設(shè)計者的工作效率。屬性(Properties)屬性是VB系統(tǒng)提供的有關(guān)對象的參數(shù)或數(shù)據(jù)接口。用戶經(jīng)過適當(dāng)?shù)卦O(shè)置或改變對象的屬性來確定對象的外觀及性能特征,從而有效地使用系統(tǒng)提供的對象。比如,對象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數(shù)據(jù)內(nèi)容及數(shù)據(jù)的表現(xiàn)格式等。事件(Events)事件是指用戶或操作者對計算機進行的某一操作(如擊鍵、單擊或移動鼠標(biāo)等)的行為或系統(tǒng)狀態(tài)發(fā)生的變化。VB系統(tǒng)常見事件來引導(dǎo)計算機執(zhí)行一段程序。程序所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標(biāo)事件有Click(單擊鼠標(biāo))事件,DbDlicd(雙擊鼠標(biāo))。方法(Method)方法主要是指對一個對象使用某種作用的過程。它是在程序執(zhí)行的過程中要計算機執(zhí)行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。過程(Procedure)過程是指經(jīng)過定義或說明的,或基于某一對象對應(yīng)的事件所引發(fā)的程序段。模塊(Module)模塊是指一些運算量或過程進行聲明或定義的一個集合。系統(tǒng)程序大致可分成四個模塊:數(shù)據(jù)輸入、根據(jù)查詢、數(shù)據(jù)打印和通訊。2、可視化設(shè)計同其它的一些可視化程序開發(fā)工具一樣,VB具有可視化設(shè)計的特點,微軟的Word在剛剛進入市場時,同WPS競爭的一個重要的功能砝碼就是"所見即所得"的字處理功能,VB在設(shè)計應(yīng)用程序界面時也能夠說是"所見即所得".在設(shè)計時,頭腦中所想象的應(yīng)用程序界面,完全能夠經(jīng)過鍵盤鼠標(biāo)以及徒手畫出來,而不是編制大量的代碼然后再編譯生成,如果需要修改,也是利用鍵盤鼠標(biāo)和手畫,而底層的一些程序代碼由VB自動生成或修改。VB為用戶提供大量的界面元素(在VB中稱為控件對象),這些控件對象對于熟悉Windows應(yīng)用程序的用戶而言是一點也不陌生,如"窗體"、"菜單"、"命令按鈕"、"工具按鈕"、"檢查框"等等,用戶只需要利用鼠標(biāo)、鍵盤把這些控件對象拖動到適當(dāng)?shù)奈恢?設(shè)置它們的大小、形狀、屬性等,就能夠設(shè)計出所需的應(yīng)用程序界面。3、事件驅(qū)動編程Windows操作系統(tǒng)出現(xiàn)以來,圖形化的用戶界面和多任務(wù)多進程的應(yīng)用程序要求程序設(shè)計不能是單一性的,在使用VB設(shè)計應(yīng)用程序時,必須首先確定應(yīng)用程序如何同用戶進行交互.例如發(fā)生鼠標(biāo)單擊、鍵盤輸入等事件時,由用戶編寫的代碼控制這些事件的響應(yīng),這就是所謂的事件驅(qū)動編程。4、實現(xiàn)菜單選項菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護,VisualBasic也提供了強大的創(chuàng)立菜單功能是程序更加標(biāo)準(zhǔn)。本系統(tǒng)使用VisualBasic的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也能夠使用VisualBasic的ApplicationWizard來操作。5、實現(xiàn)工具欄CoolBar控件與Office中看到的CoolBar是類似的。CoolBar就是一個能夠在窗體上浮動的工具,同時也是其它ActiveX的容器。經(jīng)過在CoolBar中遷入其它空間你也能夠向用戶提供更好的靈活性和義用性。選擇”工程”下拉菜單中的”部件”選項,顯示”部件”對話框。在”控件”選項卡列表中選擇”MicrosoftWindowsCommonControls6.0”本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統(tǒng)日期,第三個欄中選擇了系統(tǒng)時間,這樣,任何時候操作本系統(tǒng),都能夠看到當(dāng)前的時間和日期。使用Access實現(xiàn)關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫的概念數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表示信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機的數(shù)據(jù)庫能夠分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,對象記錄、域等。新建一個數(shù)據(jù)庫創(chuàng)立任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)立一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認為是數(shù)據(jù)模型設(shè)計。1.標(biāo)識需要的數(shù)據(jù);2.收集被標(biāo)識的字段到表中;3.標(biāo)識主關(guān)鍵字字段;4.繪制一個簡單的數(shù)據(jù)圖表;5.規(guī)范數(shù)據(jù);6.標(biāo)識指定字段的信息;7.創(chuàng)立物理表。修改已建的數(shù)據(jù)庫數(shù)據(jù)庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由VisualBasic創(chuàng)立的程序來完成,下面的章節(jié)將詳細描述實現(xiàn)的具體方法。6、實現(xiàn)數(shù)據(jù)庫之間的聯(lián)系數(shù)據(jù)庫之間的關(guān)系指明兩個庫之間共享一個共同的關(guān)鍵字值。一個連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個不同的表中獲取信息時建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的記錄中由重復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關(guān)鍵字:主關(guān)鍵字、組合關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關(guān)系。2.2.3數(shù)據(jù)庫數(shù)據(jù)庫是經(jīng)過數(shù)據(jù)庫管理系統(tǒng)(DBMS-DATABASEMANAGEMENTSYSTEM)軟件來實現(xiàn)數(shù)據(jù)的存儲、管理與使用的DBASELL就是一種數(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ù)均能按一種公用的,和可控制的方式進行。當(dāng)某個系統(tǒng)中存在結(jié)構(gòu)上完全分開的若干個數(shù)據(jù)庫時,則該系統(tǒng)包含一個"數(shù)據(jù)庫集合"。(2)數(shù)據(jù)庫的優(yōu)點使用數(shù)據(jù)庫能夠帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(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ù)庫文件都有相同的特性:文件的記錄格式相同,長度相等。不同的行是不同的記錄,因而具有不同的內(nèi)容。不同的列表示不同的字段名,同一列中的數(shù)據(jù)的性質(zhì)(屬性)相同。每一行各列的內(nèi)容是不能分割的,但行的順序和列的順序不影響文件內(nèi)容的表示。3系統(tǒng)分析3.1系統(tǒng)需求分析本系統(tǒng)的開發(fā)宗旨以及總體任務(wù)就是幫助企業(yè)的財務(wù)主管部門提高工作效率,實現(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)的潛在用戶進行討論。系統(tǒng)最終實現(xiàn)的主要功能如下。工資管理系統(tǒng)的用例包括:(1)系統(tǒng)管理(2)工資設(shè)置(3)工資統(tǒng)計(4)工資查詢(5)工資表導(dǎo)出(6)打印報表系統(tǒng)管理用例包括添加用戶和修改密碼。都經(jīng)過其相應(yīng)的窗口來實現(xiàn)。工資設(shè)置用例包括基本工資設(shè)置和其它項目設(shè)置。其它項目設(shè)置有獎金、津貼、福利、扣發(fā)等項目。工資統(tǒng)計用例能夠根據(jù)不同的月份對其進行相應(yīng)地統(tǒng)計。工資查詢用例包括單人查詢和查詢所有,能夠顯示員工基本工資、員工其它項目情況,以及員工工資具體統(tǒng)計情況。工資表導(dǎo)出用例可根據(jù)所需的月份把工資表導(dǎo)出并可直接顯示在Excel表格中,而且能夠加以保存。打印報表用例是一個很重要的一個用例,它提供給用戶生成報表和報印的功能,能夠很方便地將員工的工資情況表打印出來。3.1.1系統(tǒng)目標(biāo)采用公司現(xiàn)有的軟硬件及科學(xué)的管理系統(tǒng)開發(fā)方案,建立工資管理系統(tǒng),實現(xiàn)企業(yè)工資管理的計算機自動化。系統(tǒng)應(yīng)符合公司人事、工資管理制度,并達到操作直觀、方便、實用、安全等要求。3.1.2數(shù)據(jù)流程圖基本工資等設(shè)置基本工資等設(shè)置月度員工考勤表基本工資獎金等表計算工資導(dǎo)出或打印工資表月度工資發(fā)放工資圖3-1數(shù)據(jù)流程圖3.2系統(tǒng)功能調(diào)查系統(tǒng)從總體上能夠分為系統(tǒng)管理、工資信息設(shè)置、工資信息管理、打印報表等功能。3.2.1系統(tǒng)管理功能(1)添加用戶:使用這個用戶登錄后,能夠添加其它用戶(2)修改密碼:每一個用戶都能夠更改自己的密碼3.2.2工資信息設(shè)置功能(1)基本工資設(shè)置:按照員工編號或職務(wù)設(shè)置員工的基本工資信息。(2)其它項目設(shè)置:設(shè)置單個員工的獎金,福利、津貼、出差費、加班費等信息。(3)工資計算公式設(shè)置:設(shè)置員工實發(fā)工資的計算公式信息。3.2.3工資信息管理功能出勤統(tǒng)計:按照月份統(tǒng)計員工的當(dāng)月出勤信息。計算實發(fā)工資:計算當(dāng)月員工實發(fā)工資的金額。查詢工資:能夠按月查詢所有員工工資信息或查詢個人工資信息。(4)導(dǎo)出工資表:把數(shù)據(jù)庫中員工的工資信息導(dǎo)出到Excel中。3.2.4打印報表功能(1)基本工資列表打印:打印出基本工資列表(2)其它項目打印:打印其它項目列表(3)工資統(tǒng)計列表打印:打印工資統(tǒng)計列表3.3系統(tǒng)功能模塊圖基本工資設(shè)置基本工資設(shè)置其它項目設(shè)置計算公式設(shè)置員工資料設(shè)置添加用戶退出修改密碼工資信息設(shè)置系統(tǒng)管理工資信息管理打印報表企業(yè)工資管理系統(tǒng)工資統(tǒng)計打印其它項目打印基本工資打印工資表導(dǎo)出查詢工資計算實發(fā)工資出勤統(tǒng)計圖3-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ù)模型是與DBMS無關(guān)的、面向現(xiàn)實世界的、易如理解的數(shù)據(jù)模型,其獨立于計算機的數(shù)據(jù)模型,獨立于計算機的軟硬件系統(tǒng),與用戶進行交流十分方便。概念性數(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ù)進行抽象加工,將實體集合抽象成實體類型。用實體間聯(lián)系反映現(xiàn)實世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。經(jīng)過對企業(yè)員工管理內(nèi)容、工資管理內(nèi)容和過程的分析,本系統(tǒng)設(shè)計的實體和屬性如下及圖4-1和圖4-2:員工(包括員工編號、員工姓名、性別、籍貫、年齡、生日、學(xué)歷、專業(yè)、住址、郵編、電話、Email、參加工作時間、進入公司時間、起薪時間、備注)部門(員工編號、部門名稱)職務(wù)(員工編號、職務(wù)名稱)職稱(員工編號、職稱名稱)工資結(jié)構(gòu)(員工編號、正常加班工資、特殊加班工資、出差工資、曠工工資、遲到早退)工資帳目(工資帳目代號、工資帳目名稱)員工員工員工姓名性別員工編號籍貫?zāi)挲g生日學(xué)歷專業(yè)住址郵編電話Email參加工作時間進入公司時間起薪時間備注圖4-1員工信息圖部門部門部門代號部門名稱職務(wù)職務(wù)代號職務(wù)名稱職稱職稱代號職稱名稱工資賬目工資賬目代號工資賬目名稱工資結(jié)構(gòu)員工編號正常加班工資特殊加班工資出差工資曠工工資遲到早退圖4-2工資管理內(nèi)容分析圖4.2實體和實體之間的關(guān)系E-R圖部門部門屬于職稱職務(wù)員工具有擔(dān)任具有工資結(jié)構(gòu)工資賬目具有圖4-3實體之間的關(guān)系E-R圖4.3數(shù)據(jù)庫設(shè)計Access在VB中的應(yīng)用非常廣泛,為此我選用Access數(shù)據(jù)庫來進行數(shù)據(jù)庫的邏輯設(shè)計。根據(jù)前面定義的實體及實休之間的關(guān)系,形成數(shù)據(jù)庫的表格以及各個表之間的關(guān)系。4.3.1Person數(shù)據(jù)庫(員工數(shù)據(jù)庫)(1)StuffInfo(員工資料表):員工基本信息表用于存儲員工基本信息,為保證數(shù)據(jù)的一致和歷史資料的完整,表的記錄在一般的情況不能被刪除。表4-1StuffInfo(員工資料表)序號字段名字段中文名類型1SID員工編號文本2SName員工姓名文本3SGender性別文本4SPlace籍貫文本5SAge年齡長整型6SBirthday生日日期/時間7SDegree學(xué)歷文本8SSpecial專業(yè)文本9SAddress住址文本10SCode郵編文本11STel電話文本12SEmailEmail文本13SWorkTime參加工作時間日期/時間14SInTime進入公司時間日期/時間15SDept部門文本16SPayTime起薪時間日期/時間17SPosition職務(wù)文本18SRemark備注文本(2)UserInfo(用戶口令表):為了便于多個用戶管理該系統(tǒng),建立此表,記錄用戶的登錄用戶名和口令。表4-2UserInfo(用戶口令表)序號字段名字段中文名類型1UserID用戶名稱文本2UserPWD用戶密碼文本(3)OverTimeInfo(加班情況表):用于存儲員工加班的情況,在計算工資時便于統(tǒng)計。表4-5OverTimeInfo(加班情況表)序號字段名字段中文名類型1OID記錄編號自動編號2OStuffID員工編號文本3OSpeciality特殊加班天數(shù)數(shù)字4OCommon正常加班天數(shù)數(shù)字5OFromday加班日期日期/時間4.3.2Salary數(shù)據(jù)庫(工資數(shù)據(jù)庫)(1)AttendanceStatistics(員工出勤表):用于統(tǒng)計員工的出勤情況,為統(tǒng)計工資時提供方便。表4-7AttendanceStatistics(員工出勤表)序號字段名字段中文名類型1StuffID員工編號文本2StuffName員工姓名文本3RecordMonth統(tǒng)計時間日期時間4Attendance出勤天數(shù)日期/時間5LateEarly遲到早退次數(shù)數(shù)字6Absent曠工次數(shù)數(shù)字7OverTimeCom正常加班次數(shù)數(shù)字8OverTimeSpe特殊加班次數(shù)數(shù)字9Errand出差次數(shù)數(shù)字(2)FormulaSetting(工資設(shè)置表):用于設(shè)置工資的各項情況。表4-8FormulaSetting(工資設(shè)置表)序號字段名字段中文名類型1OvertimeCom正常加班工資百分比數(shù)字2OvertimeSpe特殊加班工資百分比數(shù)字3Errand出差工資數(shù)字4Absent曠工工資數(shù)字5Le遲到早退數(shù)字(3)Salaryother(其它工資項目表):用于存儲不同名稱的其它工資,比如獎金、津貼、福利等。表4-9Salaryother(其它工資項目表)序號字段名字段中文名類型1StuffID員工編號文本2YearMonth年月日期/時間3Type類型數(shù)字4Name名稱文本5Money金額貨幣6Remark備注備注(4)SalarySetting(基本工資設(shè)置):用于存儲不同職稱的員工的基本工資。表4-10SalarySetting(基本工資設(shè)置)序號字段名字段中文名類型1StuffID員工編號文本2Sposition員工職務(wù)文本3Salary基本工資貨幣(5)UserInfo(用戶表):用于存儲新添加的用戶,當(dāng)添加完用戶時,就被存儲在此表中。表4-11UserInfo(用戶表)序號字段名字段中文名類型1UserID用戶名稱文本2UserPWD用戶密碼文本(6)SalaryStatistics(工資情況表):用于存儲員工的工資情況表,便于明確查看。表4-12SalaryStatistics(工資情況表)序號字段名字段中文名類型1StuffName員工編號文本2Stuffname員工姓名文本3YearMonth時間日期/時間4Basicsalary基本工資貨幣5Bonus獎金貨幣6Welfare福利貨幣7Allowance津貼貨幣8Abatement扣發(fā)貨幣9LeSub遲到早退扣發(fā)貨幣10AbsentSub曠工扣發(fā)貨幣11Overtime加班費貨幣12Others其它金額貨幣13Total總額貨幣5詳細設(shè)計根據(jù)系統(tǒng)分析、系統(tǒng)概要設(shè)計的結(jié)果,采用VB作為開發(fā)工具,實現(xiàn)公司工資管理各模塊的功能。系統(tǒng)運行時,首先出現(xiàn)在用戶面前的就是一個登錄窗口。5.1登錄窗體設(shè)計5.1.1功能說明它主要是控制員工登錄,防止非法用戶闖入本系統(tǒng),保證系統(tǒng)的安全,輸入口令時屏幕顯示為”*”以利保密。在開發(fā)過程當(dāng)中,我還給系統(tǒng)限制了登錄出錯的次數(shù),如果用戶名或密碼出錯超過三次,那就自動退出系統(tǒng)。系統(tǒng)登陸時,要求正確輸入用戶名和密碼。成功登陸后顯示如圖4-2所示工資管理系統(tǒng)主界面。用戶名分為管理員用戶和普通用戶。如圖4-1所示: 圖4-1登錄窗口實現(xiàn)功能的部分主要代碼:PrivateSubComok_Click()OnErrorGoToDealerrorDimstrSqlAsStringDimstrMsgAsString'OnErrorGoToDealerrorDimobjCnAsNewConnectionstrcn=CS()objCn.ConnectionString=strcnobjCn.OpenSetobjRs=NewRecordsetSetobjRs.ActiveConnection=objCnobjRs.CursorLocation=adUseClientstrSql="SELECT*FROM系統(tǒng)用戶"objRs.OpenstrSqlobjRs.ActiveConnection=NothingobjCn.CloseSetobjCn=NothingIfLogontimes>=3ThenMsgBox"你已經(jīng)超過最大登陸次數(shù)!退出系統(tǒng)",vbOKOnly+vbCritical,"系統(tǒng)登錄"EndElseobjRs.MoveFirstobjRs.Find"用戶名='"&txtUserName&"'"IfobjRs.EOFThenMsgBox"用戶名錯誤!",vbOKOnly+vbCritical,"系統(tǒng)登錄"txtUserName.SetFocustxtUserName.Text=""ElseIfobjRs!口令<>txtPasswordThenMsgBox"密碼錯誤!請重新輸入!",vbOKOnly+vbCritical,"系統(tǒng)登錄"txtPassword.SetFocustxtPassword.Text=""Else'MsgBox"歡迎使用工資管理系統(tǒng)",vbOKCancel+vbOKOnly,"系統(tǒng)登錄"strusername=txtUserNameuserpassword=txtPassword IfCmbStatus=""Then MsgBox"請選擇登陸身份!",vbOKOnly+vbCritical,"系統(tǒng)登錄" CmbStatus.SetFocus Else IfCmbStatus.ListIndex=0AndobjRs!admin=TrueThen UserAdmin=1 EndIf IfCmbStatus.ListIndex=0AndobjRs!admin=FalseThen X=MsgBox("你不是管理員,將以普通用戶登陸",vbOKCancel+vbOKOnly,"系統(tǒng)登錄") EndIf IfX=2Then txtUserName.SetFocus txtUserName.Text="" txtPassword.Text="" Else '添加操作員登陸時間 strSql="insertintot_login(用戶,登錄時間)values('"&txtUserName&"','"&Now&"')" SetobjRs=ExecuteSQL(strSql,strMsg) UnloadMe MDIForm1.Show EndIfEndIfEndIfEndIfEndIfLogontimes=Logontimes+1'登陸次數(shù)ExitSubDealerror:msg="程序執(zhí)行出錯,錯誤信息如下:"&vbCrLf&Err.DescriptionShowErrormsgEndSubDimobjRsAsRecordsetDimiAsIntegerDimLogontimesAsIntegerPrivateSubComcancle_Click()n=MsgBox("你選擇了退出系統(tǒng)登陸,退出將不能啟動管理系統(tǒng)!"&vbCrLf&"是否真的退出?",vbYesNo,"系統(tǒng)驗證")Ifn=vbYesThenUnloadMeEndIfEndSub5.2主窗口設(shè)計5.2.1功能說明界面采用MDI方式,可同時打開幾個子窗體,在界面上放置了菜單欄,它集中了系統(tǒng)操作的入口,各功能模塊的執(zhí)行從此進入。其總體模塊圖如下所示:主菜單主菜單系統(tǒng)管理工資信息設(shè)置工資信息管理打印報表圖5-2總體模塊圖5.3系統(tǒng)管理模塊5.3.1功能說明系統(tǒng)管理模塊主要實現(xiàn)的是添加用戶和修改密碼的功能,當(dāng)想要添加用戶時,就可直接在添加用戶這個窗體上進行錄入;而用戶想要修改密碼時則能夠在修改密碼這個窗口上進行操作,此時用戶必須記得原先的密碼才能進行修改,而且修改密碼時設(shè)置了再次確認密碼,以免由于誤輸而導(dǎo)致操作無法完成。添加用戶窗體代碼如下:PrivateSubcmdCancel_Click()UnloadMeExitSubEndSubPrivateSubcmdOK_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(username.Text)=""ThenMsgBox"請輸入用戶名稱",vbOKOnly+vbExclamation,"警告"'ExitSubusername.SetFocusElsesql="select*from系統(tǒng)用戶where用戶名='"&username&"'"Setre=getrs(sql,"gzgl")Ifre.EOF=FalseThenMsgBox"這個用戶已經(jīng)存在,請重新輸入用戶名",vbOKOnly+vbExclamation,"警告"username.SetFocususername.Text=""password.Text=""confirmpwd.Text=""ExitSubElseIfTrim(password.Text)<>Trim(confirmpwd.Text)ThenMsgBox"兩次輸入密碼不一致,請重新輸入密碼",vbOKOnly+vbExclamation,"警告"password.Text=""confirmpwd.Text=""password.SetFocusExitSubElseIfTrim(password.Text)=""ThenMsgBox"密碼不能為空",vbOKOnly+vbExclamation,"警告"password.Text=""confirmpwd=""password.SetFocusElseIfAdminCheck=FalseThensql="insertinto系統(tǒng)用戶(用戶名,口令)values('"&usernamesql=sql&"','"&password&"')"Calltransactsql(sql,"gzgl")Elsesql="insertinto系統(tǒng)用戶(用戶名,口令,admin)values('"&usernamesql=sql&"','"&passwordsql=sql&"','"&UserAdmin&"')"EndIfCalltransactsql(sql,"gzgl")MsgBox"添加成功",vbOKOnly+vbExclamation,"添加結(jié)果"username.Text=""password.Text=""confirmpwd.Text=""username.SetFocusIfCheck1=FalseThenUnloadMeEndIfEndIfEndIfEndIfEndSubPrivateSubForm_Load()Me.Left=ReadIni("添加用戶","left")Me.Top=ReadIni("添加用戶","top")EndSubPrivateSubForm_Unload(CancelAsInteger)CallWriteIni("添加用戶","left",Me.Left)CallWriteIni("添加用戶","top",Me.Top)EndSub修改密碼窗體代碼如下:PrivateSubcmdCancel_Click()UnloadMeExitSubEndSubPrivateSubcmdOK_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(oldpwd.Text)=""ThenMsgBox"請輸入舊密碼",vbOKOnly+vbExclamation,"提示"oldpwd.SetFocusExitSubElseIfTrim(oldpwd.Text)<>Trim(userpassword)ThenMsgBox"舊密碼與登錄的密碼不同,請重新輸入!",vbOKOnly+vbExclamation,"提示"oldpwd.Text=""oldpwd.SetFocusElseIfTrim(newpwd.Text)=""ThenMsgBox"請輸入新密碼",vbOKOnly+vbExclamation,"提示"newpwd.SetFocusExitSubElseIfTrim(newpwd.Text)<>Trim(confirmpwd.Text)ThenMsgBox"兩次密碼不同",vbOKOnly+vbExclamation,"警告"newpwd.Text=""confirmpwd.Text=""newpwd.SetFocusElseuserpassword=newpwdsql="update系統(tǒng)用戶set口令='"&newpwd&"'where用戶名='"&strusername&"'"Calltransactsql(sql,"gzgl")MsgBox"密碼已經(jīng)修改",vbOKOnly+vbExclamation,"修改結(jié)果"UnloadMeEndIfEndIfEndSubPrivateSubForm_Load()Me.Left=ReadIni("修改密碼","left")Me.Top=ReadIni("修改密碼","top")EndSubPrivateSubForm_Unload(CancelAsInteger)CallWriteIni("修改密碼","left",Me.Left)CallWriteIni("修改密碼","top",Me.Top)EndSub5.4工資信息設(shè)置模塊5.4.1功能說明工資信息設(shè)置基基本工資設(shè)置工資信息設(shè)置基基本工資設(shè)置其它項目設(shè)置基員工資料設(shè)置圖5-5分解模塊圖員工基本檔案信息的實現(xiàn):員工基本檔案信息管理,在窗體中完成員工基本信息的錄入工作。根據(jù)提示在該窗體中輸入相應(yīng)的信息,最后單擊”保存”按鈕,進行信息的保存。如圖4-3所示圖4-3員工基本檔案信息錄入窗口相應(yīng)部分代碼如下:'添加員工基本信息PrivateSubcmdOK_Click()DimrsAsADODB.RecordsetDimstrSqlAsStringDimstrMsgAsStringDimtmpPathAsStringDimiStmAsADODB.Stream'如果是修改(保存照片--刪除原記錄--保存記錄)IfblnChange=TrueThen'如果不要刪除IfblnDelPhoto=FalseThen strSql="select*fromt_brwhere工號='"&txtGH.Text&"'" Setrs=ExecuteSQL(strSql,strMsg) '保存到文件 tmpPath=App.path&"\temp.jpg" IfNotIsNull(rs.Fields("照片").Value)Then SetiStm=NewADODB.Stream WithiStm.Mode=adModeReadWrite.Type=adTypeBinary.Open.Writers.Fields("照片").Value.SaveToFiletmpPath blnDel=True EndWith strFileName=tmpPath 'pic.Picture=LoadPicture(tmpPath) iStm.CloseElseblnDel=FalseEndIfrs.CloseEndIf'刪除記錄strSql="delete*fromt_brwhere工號='"&txtGH.Text&"'"Setrs=ExecuteSQL(strSql,strMsg)ElsestrSql="select*fromt_brwhere工號='"&txtGH.Text&"'"Setrs=ExecuteSQL(strSql,strMsg)Ifrs.EOF=FalseThenMsgBox"已有相同的工號,無法添加到數(shù)據(jù)庫!",vbOKOnly+vbExclamation,"警告"TextFocustxtGHExitSubEndIfrs.CloseEndIfstrSql="select*fromt_br"Setrs=ExecuteSQL(strSql,strMsg)rs.AddNewrs.Fields("工號")=txtGH.Textrs.Fields("姓名")=txtName.TextIfcboPayStyle.Text=""Then rs.Fields("工資類別")=NullElse rs.Fields("工資類別")=cboPayStyle.TextEndIfIfcboHealthy.Text=""Then rs.Fields("健康狀況")=NullElse rs.Fields("健康狀況")=cboHealthy.TextEndIfIfcboSex.Text=""Then rs.Fields("性別")=NullElse rs.Fields("性別")=cboSex.TextEndIfIfcboEmployeeStyle.Text=""Then rs.Fields("職工類型")=NullElse rs.Fields("職工類型")=cboEmployeeStyle.TextEndIfIfcboPart.Text=""Then rs.Fields("部門")=NullElse rs.Fields("部門")=cboPart.TextEndIfIfcboDuty.Text=""Then rs.Fields("職務(wù)")=NullElse rs.Fields("職務(wù)")=cboDuty.TextEndIfIfcboCulture.Text=""Then rs.Fields("文化程度")=NullElse rs.Fields("文化程度")=cboCulture.TextEndIfIfcboNation.Text=""Then rs.Fields("民族")=NullElse rs.Fields("民族")=cboNation.TextEndIf'數(shù)字型IftxtMoney.Text=""Then rs.Fields("薪金")=0Else rs.Fields("薪金")=txtMoney.TextEndIfIfcboSpec.Text=""Then rs.Fields("所學(xué)專業(yè)")=NullElse rs.Fields("所學(xué)專業(yè)")=cboSpec.TextEndIf'年齡為數(shù)字型IftxtAge.Text=""Then rs.Fields("年齡")=0Else rs.Fields("年齡")=txtAge.TextEndIf'日期型rs.Fields("生日")=dtpBirthday.ValueIfcboPolity.Text=""Then rs.Fields("政治面貌")=NullElse rs.Fields("政治面貌")=cboPolity.TextEndIfIfcboMarry.Text=""Then rs.Fields("婚姻狀況")=NullElse rs.Fields("婚姻狀況")=cboMarry.TextEndIfIfcboNativePlace.Text=""Then rs.Fields("籍貫")=NullElse rs.Fields("籍貫")=cboNativePlace.TextEndIfIftxtHandset.Text=""Then rs.Fields("手機")=0Else rs.Fields("手機")=txtHandset.TextEndIfIftxtIdentity.Text=""Then rs.Fields("身份證號")=NullElse rs.Fields("身份證號")=txtIdentity.TextEndIfIftxtTelphone.Text=""Then rs.Fields("聯(lián)系電話")=NullElse rs.Fields("聯(lián)系電話")=txtTelphone.TextEndIfIftxtHomeAddress.Text=""Then rs.Fields("家庭住址")=NullElse rs.Fields("家庭住址")=txtHomeAddress.TextEndIf'日期型rs.Fields("合同開始時間")=dtpBBargain.Valuers.Fields("合同終止時間")=dtpEBargain.ValueIftxtLong.Text=""Then rs.Fields("工齡")=0Else rs.Fields("工齡")=txtLong.TextEndIf'添加照片SetiStm=NewADODB.StreamIfLen(strFileName)>0Then WithiStm .Type=adTypeBinary'二進制模式 .Open .LoadFromFilestrFileName EndWith rs.Fields("照片")=iStm.Read rs.Update iStm.CloseElse rs.UpdateEndIfrs.CloseSetrs=NothingcmdDel.Enabled=TrueCallDisabledControlcmdNew.Enabled=TrueMsgBox"添加成功"IfblnDelThen IftmpPath<>""Then KilltmpPathEndIfEndIfCallRefreshGridEndSub5.5工資信息管理模塊5.5.1功能說明此模塊是整個系統(tǒng)中最重要的一部分,包括出勤統(tǒng)計、計算實發(fā)工資、查詢工資和導(dǎo)出工資表這些功能,其分解模塊圖如下:工資信息管理工資信息管理出勤統(tǒng)計計算實發(fā)工資查詢工資導(dǎo)出工資表圖5-8分解模塊圖出勤統(tǒng)計這個窗口是為管理員統(tǒng)計員工的出勤情況而提供的,管理員能夠選擇所需的月份來統(tǒng)計員工的當(dāng)月出勤信息,同時這個統(tǒng)計結(jié)果也為計算員工的本月工資提供了方便。設(shè)計這個功能時我考慮到了這個月份是否存在,如果存在還要看是否已經(jīng)被統(tǒng)計過了,如果已經(jīng)統(tǒng)計過了則提示”已經(jīng)統(tǒng)計”,未統(tǒng)計的在進行統(tǒng)計后則提示”完成統(tǒng)計”;如果這個月份不存在時則提示”請重新選擇”。計算實發(fā)工資這個窗口的界面和出勤統(tǒng)計的界面幾乎類似,設(shè)計思路也和出勤統(tǒng)計類似。當(dāng)要統(tǒng)計的月份的記錄不存在時,則提示”請重新選擇”并要求用戶選擇別的月份進行統(tǒng)計,統(tǒng)計完成后,將會把結(jié)果以表格的形式顯示出來。導(dǎo)出工資表能夠把數(shù)據(jù)庫中員工的工資信息導(dǎo)出到Excel中,便于更清楚地查看結(jié)果。添加員工考勤信息1、添加上下班信息窗體如圖4-5所示,填入相應(yīng)的信息,部分代碼如下:圖4-5添加員工考勤信息添加上下班信息PrivateSubcmdOK_Click()DimsqlAsStringDimsql2AsStringDimrsAsNewADODB.RecordsetDimstrMsgAsStringDimstrmsg2AsStringDimrsTimeAsNewADODB.RecordsetDimtmsetswsb,tmsetswxb,tmsetxwsb,tmsetxwxbAsDateDimtmsb1,tmxb1AsDatesql="select*fromAttendanceInfoorderbyIDdesc"sql2="select*fromTimeSetting"Setrs=ExecuteSQL(sql,strMsg)SetrsTime=ExecuteSQL(sql2,strmsg2)IfInFlag=FalseAndOutFlag=FalseThenMsgBox"請選擇上下班",vbOKOnly+vbExclamation,"警告!"EndIf'添加上班信息IfInFlag=TrueThenIftxtID.Text=""OrtxtName.Text=""ThenMsgBox"要添加上班信息,員工編號與姓名不能為空,請輸入",vbOKOnly,"提示"ExitSubEndIf'判斷上下午上班時間是否遲到tmsb1=dtpBT.Valueh=Hour(tmsb1)m=Minute(tmsb1)s=Second(tmsb1)tmsb1=CDate(h&":"&m&":"&s)tmsetswsb=CDate(rsTime.Fields("上午上班時間"))tmsetswxb=CDate(rsTime.Fields("上午下班時間"))tmsetxwsb=CDate(rsTime.Fields("下午上班時間"))'判斷上午上班時間是否遲到Iftmsb1<tmsetswxbThenIftmsb1>tmsetswsbThenilate=1MsgBox"遲到"Elseilate=0MsgBox"正常上班"EndIf'判斷下午上班時間是否遲到Else Iftmsb1>tmsetxwsbThenilate=1MsgBox"遲到"Elseilate=0MsgBox"正常上班"EndIfEndIfaflag="入"rs.AddNewrs.Fields("工號")=txtID.Textrs.Fields("姓名")=txtName.Textrs.Fields("當(dāng)前日期")=dtpET.Valuers.Fields("上班時間")=dtpBT.Hour&":"&dtpBT.Minute&":"&dtpBT.Secondrs.Fields("出入標(biāo)志")=aflagrs.Fields("遲到次數(shù)")=ilaters.Updaters.CloseMsgBox"已完成添加上班信息",vbOKOnly+vbInformation,"添加結(jié)果!"UnloadMeExitSubEndIf'添加下班信息IfOutFlag=TrueThenIftxtID.Text=""OrtxtName.Text=""ThenMsgBox"要添加下班信息,員工編號與姓名不能為空,請輸入",vbOKOnly+vbExclamation,"警告"ExitSubEndIf'判斷上下午下班時間是否早退tmxb1=DTPicker1.Valueh=Hour(tmxb1)m=Minute(tmxb1)s=Second(tmxb1)tmxb1=CDate(h&":"&m&":"&s)tmsetxwsb=CDate(rsTime.Fields("下午上班時間"))tmsetswxb=CDate(rsTime.Fields("上午下班時間"))tmsetxwxb=CDate(rsTime.Fields("下午下班時間"))'判斷上午下班時間Iftmxb1<tmsetxwsbThenIftmxb1<tmsetswxbTheniearly=1MsgBox"早退"Elseiearly=0MsgBox"正常下班"EndIf'判斷下午下班時間ElseIftmxb1<tmsetxwxbTheniearly=1MsgBox"早退"Elseiearly=0MsgBox"正常下班"EndIfEndIfaflag="出"rs.AddNewrs.Fields("工號")=txtID.Textrs.Fields("姓名")=txtName.Textrs.Fields("當(dāng)前日期")=dtpET.Valuers.Fields("下班時間")=DTPicker1.Hour&":"&DTPicker1.Minute&":"&DTPicker1.Secondrs.Fields("出入標(biāo)志")=aflagrs.Fields("早退次數(shù)")=iearlyrs.Updaters.CloseMsgBox"已完成添加下班信息",vbOKOnly+vbInformation,"添加結(jié)果!"UnloadMeExitSubEndIfEndSubPrivateSubForm_Load()dtpET.Value=Date'初始化為當(dāng)天時間EndSub2、設(shè)置員工每日產(chǎn)量考勤在該窗體中輸入相應(yīng)的信息,完成每日產(chǎn)量考勤具體如圖4-6所示,相應(yīng)部分代碼如下:圖4-6員工每日產(chǎn)量考勤”保存”按鈕代碼如下:PrivateSubcmdOK_Click()DimrsAsADODB.RecordsetDimstrSqlAsStringDimstrMsgAsString'根據(jù)需要進行字段限制IfChkBoxJJ.Value=TrueThenIfCombo1.Text=""ThenMsgBox"產(chǎn)品類型不能為空"TextFocusCombo1ExitSubEndIfIfChkBoxCP.Value=TrueThenIfCombo2.Text=""ThenMsgBox"產(chǎn)品類型二不能為空"TextFocusCombo2ExitSubEndIfIfTxt3.Text=0ThenMsgBox"數(shù)量不能為空"TextFocusTxt3ExitSubEndIfEndIfIfChkBoxCR.Value=TrueThenIfCombo3.Text=""ThenMsgBox"產(chǎn)品類型三不能為空"TextFocusCombo3ExitSubEndIfIfTxt5.Text=0ThenMsgBox"數(shù)量不能為空"TextFocusTxt5ExitSubEndIfEndIfEndIf

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論