【正文】
導(dǎo)出到EXCEL表按鈕的clcik事件:將工資記錄集中的數(shù)據(jù)導(dǎo)出到excel表中,通過excel表完成報表打印。實(shí)現(xiàn)的語句:y = x 800 If y 0 Then (個人所得稅) = y * Else (個人所得稅) = 0 End If計算完應(yīng)發(fā)工資和個人所得稅后最終的實(shí)發(fā)工資就可以計算出來了。應(yīng)發(fā)工資最后實(shí)現(xiàn)的語句:x = (基本工資) + (崗位津貼) + (加班津貼) (考勤工資) (行政性扣款) (應(yīng)發(fā)工資) = x通過以上語句可以看出,應(yīng)發(fā)工資是有基本工資+崗位工資+加班津貼-考勤工資-個人所得稅。創(chuàng)建時需要根據(jù)員工基本信息表中的基本工資、考勤表的該員工編號的考勤工資、加班表中的該員工編號的加班工資、業(yè)務(wù)檔案表中的崗位工資、系數(shù)表中的工資系數(shù)進(jìn)行計算分別得出員工的工資表中的每項(xiàng)記錄。文本框控件用于輸入年,組合框用于選擇工資的月份。如果輸入的年月工資表已經(jīng)生成,則系統(tǒng)給出提示,并可以瀏覽當(dāng)月工資表。具體就是在考勤字段的基礎(chǔ)上加1。需要先創(chuàng)建相應(yīng)的考勤表后來維護(hù)。 39。 amp。 39。 amp。按鈕控件用來觸發(fā)相應(yīng)事件的發(fā)生。下面是該窗體的設(shè)計界面圖:圖48操作窗體界面圖該窗體共有4個文本框控件,1個組合框控件,4個復(fù)選框按鈕控件,2個按鈕控件。每記載一次比如遲到,數(shù)據(jù)庫中遲到的次數(shù)就被加1。初始化的時候,員工的考勤比如遲到,早退等次數(shù)設(shè)定為0。 39。 amp。 39。 amp。具體代碼如下:Dim WithEvents adoPrimaryRS As RecordsetDim WithEvents adoPrimaryRS1 As RecordsetPrivate Sub Command1_Click() If = 輸入年 Or = 選擇月 Then MsgBox 年月不能為空!, vbOKOnly + vbExclamation, 警告 Exit Sub End If a = b = c = a amp。通過記錄集來創(chuàng)建考勤表的原理如下:當(dāng)用記錄集來完成了對考勤表按照年月為查詢條件查詢后,如果記錄集為空,(員工編號),(遲到次數(shù)),等記錄集的字段值,再通過一個循環(huán)語句逐一完成上述的每位員工的操作,這樣就完成了對考勤表的設(shè)定的年月的數(shù)據(jù)值的創(chuàng)建。創(chuàng)建/瀏覽考勤按鈕的click事件:根據(jù)輸入的年、月在考勤表中查詢,如果記錄集為空,則表明該月的考勤表還沒有創(chuàng)建,則開始創(chuàng)建考勤表,初始化的數(shù)據(jù)中遲到次數(shù)、早退次數(shù)、缺席次數(shù)等為0,考勤記錄以后可以通過考勤維護(hù)窗體對該員工的出勤情況進(jìn)行修改。用戶可以通過該表格來瀏覽考勤西信息,但是不能通過表格顯示的數(shù)據(jù)來修改信息,信息的修改可以通過考勤信息維護(hù)窗體的功能來完成。圖47系統(tǒng)考勤表界面圖該窗體包括一個表格控件、一個文本框控件、一個組合框控件、四個按鈕控件。下面先介紹創(chuàng)建考勤表的設(shè)計過程。由于員工的考勤工資部分是動態(tài)的,也就是說相對其它的基本工資,崗位工資而言,每個月都是變化的,所以為了科學(xué)管理、核算員工的考勤工資部分,這里分成二個子模塊來完成員工的考勤管理。 39。 amp。該窗體的設(shè)計過程這里不再介紹。通過該窗體的操作,系統(tǒng)可以完成對員工的檔案信息的錄入。Scrollbars的值設(shè)定為2。從更早的將人事信息管理系統(tǒng)投入到實(shí)際的應(yīng)用中。該功能與上圖功能十分相似,使得管理都覺似曾相識,這樣就給初學(xué)者減輕的心里的負(fù)擔(dān),從而很快地熟練該人事信息管理軟件的使用。接著利用語句If (員工編號) a Then Else…顯示記錄…endif來判斷記錄集是否下移,當(dāng)當(dāng)前記錄集的員工字段編號不等于輸入的員工編號值時,記錄集就下移。事件源代碼:a = Do While ( = False) If (員工編號) a Then Else = (員工編號) = (姓名) …… Exit Sub End IfLoopIf Then MsgBox 員工基本信息表中沒有該記錄!, vbOKOnly + vbExclamation, 提示!End If通過輸入員工編號,源代碼功能原理分析:首先利用循環(huán)語句Do While ( = False)…loop來判斷員工記錄集是否越下標(biāo)界限。分別實(shí)現(xiàn)信息表中的數(shù)據(jù)的修改更新,添加信息,刪除當(dāng)前記錄 ,實(shí)現(xiàn)簡單的查找定位。導(dǎo)航按鈕的事件源代碼主要分別是:(移到第一條),(移到上一條),(移到下一條),(移到最末一條)。圖45 員工基本信息界面圖該窗體包括的控件有文本框和組合框,按鈕等控件,文本框和組合框可以顯示數(shù)據(jù)庫中員工基本信息表的記錄,默認(rèn)的記錄定位為第一條記錄,用戶可以通過按鈕的導(dǎo)航,瀏覽數(shù)據(jù)庫中其它記錄。錄入后員工的基本信息的維護(hù),包括信息的修改,刪除,瀏覽,簡單的查找等操作,可以通過員工基本信息維護(hù)窗體來完成。 39。 amp。Data Source=。退出按鈕的click事件是關(guān)閉該窗體,語句是:unload me。更新語句是很重要的,如果沒有更新語句,最后數(shù)據(jù)庫中的記錄不能得到修改和添加。并設(shè)置增加的記錄的相應(yīng)字段值為文本框和組合框的輸入值,記錄集更新記錄。按鈕控件用來觸發(fā)它們相應(yīng)的事件的發(fā)生。其它的幾個備注型的文本框?qū)傩灾翟O(shè)定一樣。其中的記錄個人情況等的文本框?qū)?yīng)的字段是備注型,所以將該文本框的Multiline屬性設(shè)置為True。該窗體設(shè)計包括13個文本框控件、5個組合框控件、2個按鈕控件。見State常數(shù) Version 只讀String類型,返回ADO版本號。默認(rèn)值是MSDASQL(Microsoft OLE DB Provider for ODBC)。見Mode Long類型,指定對Connection的讀寫權(quán)限。默認(rèn)值是adUseServer。 ConnectionString 可讀寫String類型,提供數(shù)據(jù)提供者或服務(wù)提供者打開到數(shù)據(jù)源的連接所需要的特定信息 ConnectionTimeout 可讀寫Long類型,默認(rèn)值為15秒。 CommandTimeout 可讀寫Long類型,指定中止某個相關(guān)Command對象的Execute調(diào)用之前必須等待的時間。常數(shù)adXactCommitRetaining表示調(diào)用CommitTrans方法時啟動一個新事務(wù);常數(shù)adXactAbortRetaning表示調(diào)用 RollbackTrans方法時啟動一個新事務(wù)。本功能實(shí)現(xiàn)了人事管理過程, 的VB內(nèi)置對象,其主要作用是實(shí)現(xiàn)了數(shù)據(jù)庫連接及SQL查詢語言的使用。回到該界面窗體的。該界面提供的菜單如下表所示:員工基本信息檔案管理評價管理出勤管理工資管理系統(tǒng)管理基本信息錄入檔案錄入評價初始化月考勤表月工資表系數(shù)設(shè)置基本信息維護(hù)檔案維護(hù)評價維護(hù)考勤維護(hù)工資查詢添加操作員基本信息查詢檔案查詢考勤查詢崗位工資維護(hù)基本信息統(tǒng)計檔案統(tǒng)計加班維護(hù)退出表41系統(tǒng)界面提供的菜單表菜單的設(shè)計是本窗體的重點(diǎn),菜單設(shè)計的過程通過系統(tǒng)的菜單欄Tools→Menu Editor進(jìn)入菜單編輯器。 系統(tǒng)界面的設(shè)計圖43系統(tǒng)主界面圖系統(tǒng)主界面主要有系統(tǒng)菜單和運(yùn)行界面。通過菜單File→Save Project。在Visual 。由于Visual ,設(shè)計窗體和控件可以輕松通過系統(tǒng)得到,所以編程的時可以集中精力來設(shè)計控件的事件。當(dāng)設(shè)計好系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)后,就可以開始在Visual 。圖41應(yīng)用程序操作數(shù)據(jù)庫圖在本系統(tǒng)的后臺數(shù)據(jù)庫已經(jīng)設(shè)計完成后,現(xiàn)在就可以對系統(tǒng)分析階段設(shè)計的功能模塊通過編碼設(shè)計成一個應(yīng)用程序,最終來完成對數(shù)據(jù)庫中數(shù)據(jù)的管理和應(yīng)用的目的。第四章 系統(tǒng)的詳細(xì)設(shè)計數(shù)據(jù)庫中的數(shù)據(jù)被用戶利用的方式可以通過數(shù)據(jù)管理系統(tǒng)提供的操作功能來使用,也可通過應(yīng)用程序操作數(shù)據(jù)庫。這時出現(xiàn)Database Windows設(shè)計界面,鼠標(biāo)右鍵選擇新建表。 在需求分析、概念結(jié)構(gòu)設(shè)計的基礎(chǔ)上得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計之后,我們就可以在Visual 。表的一列稱為一個字段,存儲實(shí)體的一個屬性的信息,是表的可訪問的最小邏輯單位。 ● ACCESS數(shù)據(jù)庫的構(gòu)成 ACCESS數(shù)據(jù)庫是一系列數(shù)據(jù)基本表、表與表之間的關(guān)系、查詢、窗體、報表、頁、宏和模塊的集合。 ● ACCESS的內(nèi)部結(jié)構(gòu) ACCESS數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫,具有表的特性,在ACCESS數(shù)據(jù)庫中,包括表、查詢、窗體、報表、頁、宏和模塊七個對象,這些對象用于收集、存儲和操作各種不同的信息。數(shù)據(jù)庫操作。不管是處理公司的客戶訂單數(shù)據(jù),管理自己的個人通訊錄,還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來解決大量數(shù)據(jù)的管理工作。自從1992年開始銷售以來,已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫管理系統(tǒng)。剛開始時微軟公司是將Access單獨(dú)作為一個產(chǎn)品進(jìn)行銷售的,后來微軟發(fā)現(xiàn)如果將Access捆綁在OFFICE中一起發(fā)售,將帶來更加可觀的利潤,于是第一次將Access捆綁到OFFICE97中,成為OFFICE套件中的一個重要成員。列名數(shù)據(jù)類型寬度可否為空員工編號(主鍵)文本型6不能為空姓名文本型8可為空性別文本型2可為空部門文本型10可為空民族文本型20可為空出生年月日期/時間型8可為空政治面貌文本型10可為空家庭住址文本型50可為空聯(lián)系電話文本型11可為空畢業(yè)學(xué)校文本型50可為空最高學(xué)歷文本型6可為空所學(xué)專業(yè)文本型20可為空職務(wù)文本型8可為空專業(yè)技術(shù)職稱文本型20可為空職稱時間日期/時間型8可為空基本工資數(shù)字型單精度可為空獎懲情況備注型Meno可為空個人簡歷備注型Meno可為空表31員工信息表(2) 業(yè)務(wù)檔案表 (TBInfo):該表記錄員工業(yè)務(wù)相關(guān)檔案信息列名數(shù)據(jù)類型寬度可否為空員工編號(主鍵)文本型6不能為空崗位編號文本型20不能為空業(yè)務(wù)檔案備注型Meno不能為空表32業(yè)務(wù)檔案表(3)考勤表(attendanceInfo):該表記錄員工考勤信息列名數(shù)據(jù)類型寬度可否為空員工編號(主鍵)文本型6不能為空遲到次數(shù)數(shù)字型2不能為空早退次數(shù)數(shù)字型2不能為空缺席次數(shù)數(shù)字型2不能為空離崗次數(shù)數(shù)字型2不能為空備注備注型Meno不能為空年月文本型6不能為空表33員工考勤信息表(4)工資表(wageInfo):該表記錄員工工資信息列名數(shù)據(jù)類型寬度可否為空員工編號(主鍵)文本型6不能為空基本工資數(shù)字型(單精度)6不能為空崗位工資數(shù)字型(單精度)6不能為空加班津貼數(shù)字型(單精度)6不能為空考勤工資數(shù)字型(單精度)6不能為空行政性扣款數(shù)字型(單精度)6不能為空個人所得稅數(shù)字型(單精度)6不能為空實(shí)發(fā)工資數(shù)字型(單精度)6不能為空年月文本型6不能為空表34員工工資信息表(5)加班表(jbinfo):該表記錄員工的加班信息列名數(shù)據(jù)類型寬度可否為空員工編號(主鍵)文本型6不能為空加班天數(shù)數(shù)字型2不能為空加班類別文本型1不能為空年月文本型6不能為空備注備注型Meno不能為空表35員工的加班信息表(6)xsinfo表:該表記錄工資系數(shù)列名數(shù)據(jù)類型寬度可否為空行政性扣款數(shù)字型(單精度)6不能為空遲到數(shù)字型(單精度)6不能為空早退數(shù)字型(單精度)6不能為空離崗數(shù)字型(單精度)6不能為空缺席數(shù)字型(單精度)6不能為空平時加班數(shù)字型(單精度)6不能為空雙休加班數(shù)字型(單精度)6不能為空節(jié)日加班數(shù)字型(單精度)6不能為空表36員工工資系數(shù)表(7)gwinfo表:崗位工資表 列名數(shù)據(jù)類型寬度可否為空崗位編號文本型6不能為空崗位名稱文本型10不能為空崗位工資數(shù)字型(單精度)6不能為空職責(zé)備注型Meno可為空表37員工崗位工資表(8)user表:改變記錄系統(tǒng)用戶列名數(shù)據(jù)類型寬度可否為空用戶名文本型20不能為空密碼文本型20不能為空級別文本型6不能為空聯(lián)系電話文本型11可為空表38系統(tǒng)用戶記錄表 數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)本系統(tǒng)的后臺數(shù)據(jù)庫選擇為ACCESS,在以上的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計完成后,就可以實(shí)現(xiàn)為ACCESS數(shù)據(jù)庫了。員工工資表(員工編號、基本工資、崗位工資、加班津貼、考勤工資、行政性扣款、個人所得稅、實(shí)發(fā)工資、年月)。員工業(yè)務(wù)檔案表(員工編號、崗位編號、業(yè)務(wù)檔案