版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 隨著人類文明的不斷進(jìn)步,人們越來越重視工作的高效性和準(zhǔn)確性,也越來越渴望擺脫某些重復(fù)性的繁重勞動。而工資方面的管理又涉及到大量的計算、填寫等簡單重復(fù)性動作,所以有必要實現(xiàn)工資管理方面的改革,將人們解放出來做一些更有意義的工作?,F(xiàn)今社會上各種規(guī)模的企事業(yè)單位和私營企業(yè)日益增多,在所有這些團(tuán)體中,人數(shù)少的不下幾百,多者成千上
2、萬,而工資管理方面的工作也就成為了其中的一個重要環(huán)節(jié)。找一種合適的方法來管理工資,既能為大多數(shù)的單位帶來最大方便,又能保證工資發(fā)放的快速、準(zhǔn)確,且能為企業(yè)節(jié)約成本,帶來一定的經(jīng)濟(jì)效益。傳統(tǒng)的工資管理方法主要是依靠管理員用手工來記錄、計算,這種方法既不方便,又容易出問題,顯然已很不適用。</p><p> 現(xiàn)代社會計算機(jī)技術(shù)日新月異,運用計算機(jī)來進(jìn)行數(shù)據(jù)處理、信息管理已成為計算機(jī)三大主要應(yīng)用之一,鑒于以上社會現(xiàn)實
3、狀況,結(jié)合所學(xué)專業(yè),我決定運用所學(xué)到的計算機(jī)專業(yè)知識及信息管理專業(yè)知識,采用當(dāng)今流行的Microsoft.VFP6.0可視化程序設(shè)計語言在此次畢業(yè)設(shè)計任務(wù)中編制一個用于“工資管理”方面的軟件,以幫助社會上各式各樣,尤其是較小規(guī)模的企事業(yè)單位處理工資管理方面的事務(wù)。</p><p> 本軟件主要適用于較小規(guī)模企事業(yè)單位使用。在軟件的具體編制實現(xiàn)過程中,我要特別感謝趙菊明老師!今天我能夠取得這樣一個小小的成果與她的
4、熱情、全面的幫助是分不開的。 </p><p> 關(guān)鍵詞:數(shù)據(jù)庫;SQL語言;vfp6;工資管理;窗體</p><p><b> 目 錄</b></p><p> 1 Visual FoxPro 6.0概述</p><p> 1.1 Visual Foxpro 6.0 系統(tǒng)簡介</p>
5、<p> 1.2 Visual Foxpro6.0特點</p><p> 1.2.1 友好的用戶界面</p><p> 1.2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能</p><p> 1.2.3 快速創(chuàng)建應(yīng)用程序</p><p> 1.2.4 數(shù)據(jù)庫操作簡便</p><p> 1.
6、2.5 可與其他應(yīng)用程序交互操作</p><p> 1.2.6 獨特的開發(fā)客戶/服務(wù)器解決方案</p><p> 1.2.7 可以升級早期版本</p><p> 1.2.8 有很好的幫助系統(tǒng)</p><p> 1.3 Visual Foxpro6.0對系統(tǒng)軟硬件環(huán)境要求</p><p>
7、1.3.1 硬件環(huán)境</p><p> 1.3.2 軟件環(huán)境</p><p> 1.4 Visual Foxpro6.0技術(shù)指標(biāo)</p><p> 1.4.1 表和索引文件</p><p> 1.4.2 內(nèi)存變量和數(shù)組</p><p> 1.4.3 程序和過程文件</p>
8、<p> 1.4.4 報表</p><p> 1.4.5 其他</p><p> 1.5 Visual FoxPro的幫助系統(tǒng)</p><p> 2 應(yīng)用程序總體設(shè)計</p><p> 2.1 系統(tǒng)需求分析</p><p> 2.1.1 用戶要求:</p>
9、<p> 2.1.2 系統(tǒng)性能要求:</p><p> 2.2 設(shè)計目標(biāo)</p><p> 2.3 數(shù)據(jù)庫設(shè)計</p><p> 2.3.1 數(shù)據(jù)需求分析</p><p> 2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)</p><p> 2.4 系統(tǒng)模塊劃分及各模塊包含的表單</p&g
10、t;<p> 2.4.1 數(shù)據(jù)錄入模塊</p><p> 2.4.2 工資計算模塊</p><p> 2.4.3 工資查詢模塊</p><p> 2.4.4 工資打印模塊</p><p> 2.4.5 系統(tǒng)設(shè)置模塊</p><p> 2.4.6 退出系統(tǒng)模塊</p
11、><p> 2.5 系統(tǒng)數(shù)據(jù)流程圖</p><p> 2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖</p><p> 2.5.2 系統(tǒng)總體運行流程圖</p><p> 2.5.3 重要模塊運行流程圖</p><p> 2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置</p><p><b>
12、 3 模塊的實現(xiàn)</b></p><p> 3.1 各功能表單的編制</p><p> 3.1.1 啟動畫面及系統(tǒng)登錄</p><p> 3.1.2 人員錄入</p><p> 3.1.3 考勤錄入</p><p> 3.1.4 扣款錄入</p><p
13、> 3.1.5 按月計算所有職工工資</p><p> 3.1.6 按月按部門計算職工工資</p><p> 3.1.7 按月按職工姓名計算工資</p><p> 3.1.8 按部門查詢職工工資</p><p> 3.1.9 按職工姓名查詢工資</p><p> 3.1.10 按
14、部門打印職工工資</p><p> 3.1.11 按姓名打印職工工資條</p><p> 3.1.12 管理員設(shè)置</p><p> 3.1.13 修改密碼</p><p> 3.2 公用變量的定義</p><p> 3.3 生成應(yīng)用程序</p><p><
15、b> 4 結(jié)束語</b></p><p> 1 Visual FoxPro 6.0概述</p><p> 1.1 Visual Foxpro 6.0 系統(tǒng)簡介</p><p> Visual Foxpro6.0是為數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序開發(fā)而設(shè)計的、功能強(qiáng)大的、面向?qū)ο蟮木幊汰h(huán)境。無論是組織信息、運行查詢、創(chuàng)建集成的關(guān)系型數(shù)據(jù)庫系統(tǒng),
16、還是為最終用戶編寫功能全面的數(shù)據(jù)管理應(yīng)用程序,Visual Foxpro都可提供管理數(shù)據(jù)所需的所有工具。</p><p> Visual Foxpro6.0于1998年9月由微軟公司發(fā)布,是一個基于圖形界面技術(shù)的數(shù)據(jù)庫管理系統(tǒng)軟件,是一個性能完善的數(shù)據(jù)庫編程語言;是xBASE類數(shù)據(jù)庫歷史上最強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng),具有Windows界面、采用面向?qū)ο蟮拈_發(fā)方式、客戶/服務(wù)器的數(shù)據(jù)連接以及OLE的應(yīng)用程序訪問。它還
17、提供了許多可視化開發(fā)工具,如向?qū)?、生成器、設(shè)計器等,使用戶能簡單而迅速地完成數(shù)據(jù)庫操作或應(yīng)用程序的開發(fā)。</p><p> 1.2 Visual Foxpro6.0特點</p><p> Visual Foxpro6.0是微軟發(fā)行的Microsoft Visual Studio 6.0套裝系統(tǒng)軟件之一。該系統(tǒng)在辦公室管理中應(yīng)用極為廣泛,其理由之一是Visual Foxpro6.0從x
18、BASE發(fā)展而來,而xBASE已有廣泛的用戶群,但更重要的理由是Visual Foxpro6.0有很多的新功能及特性。</p><p> 1.2.1 友好的用戶界面</p><p> Visual Foxpro6.0系統(tǒng)提供了一套由菜單驅(qū)動,輔助向?qū)?、對話框、設(shè)計器、表達(dá)式生成器等簡潔、功能全面的用戶界面。使用戶可以在友好界面的支持下,用命令或菜單方式快捷地實現(xiàn)對系統(tǒng)的各種操作,從而
19、完成對數(shù)據(jù)管理的任務(wù)。</p><p> 1.2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能</p><p> Visual Foxpro6.0不僅有完善的系統(tǒng)命令、豐富的標(biāo)準(zhǔn)函數(shù),支持傳統(tǒng)的結(jié)構(gòu)化過程編程技術(shù),而且還支持面向?qū)ο蟮目梢暬幊碳夹g(shù)。</p><p> 系統(tǒng)提供了結(jié)構(gòu)化查詢語言-----SQL語言,可以非常有效地訪問索引文件的數(shù)據(jù),迅速而精確地從龐大的、
20、有數(shù)百萬條記錄的表格檢索數(shù)據(jù)。</p><p> 系統(tǒng)支持事件處理、優(yōu)化系統(tǒng)和Rushmore技術(shù)更成熟,速度更快。</p><p> 1.2.3 快速創(chuàng)建應(yīng)用程序</p><p> Visual Foxpro6.0系統(tǒng)可以用多種方式快速創(chuàng)建應(yīng)用程序,如向?qū)?、項目管理器、生成器、各種設(shè)計器等靈活的工具,這些工具大大提高了開發(fā)應(yīng)用程序的效率。</p>
21、;<p> 1.2.4 數(shù)據(jù)庫操作簡便</p><p> Visual Foxpro6.0系統(tǒng)中數(shù)據(jù)庫創(chuàng)建與編輯都是在可視化界面上進(jìn)行的,對用戶來說是全透明的。如增刪表、建立索引、查詢、視圖、建立表間的關(guān)系與連接等都是全透明的。</p><p> 1.2.5 可與其他應(yīng)用程序交互操作</p><p> Visual Foxpro6.0通過數(shù)
22、據(jù)的導(dǎo)入/導(dǎo)出功能,可以方便地與微軟其他應(yīng)用系統(tǒng)共享數(shù)據(jù)。</p><p> 1.2.6 獨特的開發(fā)客戶/服務(wù)器解決方案</p><p> Visual Foxpro6.0系統(tǒng)通過ODBC可以方便地直接訪問、存儲、檢索和處理服務(wù)器平臺上的信息,提供了客戶/服務(wù)器解決方案。</p><p> 1.2.7 可以升級早期版本</p><p&g
23、t; Visual Foxpro6.0系統(tǒng)對FoxPro生成的應(yīng)用程序向下兼容。</p><p> 1.2.8 有很好的幫助系統(tǒng)</p><p> Visual Foxpro6.0提供了強(qiáng)大的幫助功能,在Microsoft Visual Studio 6.0套裝系統(tǒng)軟件中有兩張MSDN(Microsoft Developer Network)Library光盤提供了VB、VF、VC
24、++、VJ++等的幫助系統(tǒng),只要用戶將其安裝,就可以使用幫助。</p><p> 1.3 Visual Foxpro6.0對系統(tǒng)軟硬件環(huán)境要求</p><p> 1.3.1 硬件環(huán)境</p><p> 安裝Visual FoxPro 必須具備以下的硬件系統(tǒng):一臺486、586(或更高檔)處理器的PC兼容機(jī),計算機(jī)中有8MB以上的內(nèi)存并帶有鼠標(biāo)。推薦使用VG
25、A或具有更高分辨率的監(jiān)視器。</p><p> Visual FoxPro 的便攜式安裝需要15MB硬盤空間,典型安裝需要100MB硬盤空間,最大安裝需要240MB的硬盤空間。</p><p> 1.3.2 軟件環(huán)境</p><p> 中文版Visual FoxPro6.0可以在Windows9x/2000和Windows NT 4.0版本以上(推薦使用Se
26、rvice Pack3)操作系統(tǒng)環(huán)境中使用。 </p><p> 1.4 Visual Foxpro6.0技術(shù)指標(biāo)</p><p> Visual Foxpro6.0系統(tǒng)的技術(shù)指標(biāo)如下:</p><p> 1.4.1 表和索引文件</p><p> 單個表文件最大記錄數(shù) 1億個</p>
27、<p> 表文件的最大長度 2GB</p><p> 每個記錄最多字符個數(shù) 65500個</p><p> 每個記錄最多字段數(shù) 255個</p><p> 數(shù)值字段最多字符個數(shù) 20個</p&
28、gt;<p> 字符字段最多字符個數(shù) 254個</p><p> 日期字段字符個數(shù) 8個</p><p> 邏輯字段字符個數(shù) 1個</p><p> 每表可打開的最大索引文件數(shù) 不限</p>
29、<p> 工作區(qū)可找開的最大索引文件數(shù) 不限</p><p> 關(guān)系最大數(shù) 不限</p><p> 關(guān)系表達(dá)式值最大長度 不限</p><p> 1.4.2 內(nèi)存變量和數(shù)組</p><p> 內(nèi)存變量默認(rèn)數(shù)
30、 1024個</p><p> 最大內(nèi)存變量數(shù) 65000個</p><p> 最大數(shù)組數(shù) 65000個</p><p> 每個數(shù)組元素最大數(shù) 65000個</p><
31、p> 1.4.3 程序和過程文件</p><p> 源程序文件中最大行數(shù) 不限</p><p> 編譯程序模塊的最大長度 65KB</p><p> 每一文件最大過程數(shù) 不限</p><p> DO命令最多嵌套層數(shù)
32、 126</p><p> READ嵌套最大數(shù) 5</p><p> 嵌套結(jié)構(gòu)化命令最大層數(shù) 384</p><p> 嵌套參數(shù)最大數(shù) 27</p><p><b> 1.4.
33、4 報表</b></p><p> 報表表頭最多字符數(shù) 254個</p><p> 報表定義中對象最大數(shù) 不限</p><p> 報表定義最大長度 20層</p><p> 最大分組層數(shù)
34、 128</p><p><b> 1.4.5 其他</b></p><p> 打開窗口的最大數(shù) 不限</p><p> 打開Browse窗口最大數(shù) 255個</p><p> 字符串的最大字符數(shù)
35、 2GB</p><p> 每個命令行的最大字符數(shù) 8192個</p><p> 報表中每個標(biāo)簽控件的最大字符數(shù) 252個</p><p> 每個宏替換行的最大字符數(shù) 8192個</p><p> 可打開文件最大數(shù)
36、 受操作系統(tǒng)的限制</p><p> 可以由SQL SELECT語句選擇的最大字段數(shù) 255個</p><p> 1.5 Visual FoxPro的幫助系統(tǒng)</p><p> Visual FoxPro可以通過“幫助”|“Microsoft Visual FoxPro 的幫助主題”|“目錄”|“搜索”|“索引”命令等獲得
37、幫助。當(dāng)然前提是先要安裝Microsoft Studio6.0包中的MSDN Library兩張光盤,如圖1.1所示就是單擊“幫助”|“Microsoft Visual FoxPro幫助主題”命令后彈出的MSDN的界面。 </p><p><b> 圖1.1</b></p><p> 從圖中可見,用戶可以用不同的方式來使用幫助功能,如“目錄”方式、“索引”方式、“
38、搜索”方式與“書簽”方式。MSDN就是一部很好的工具書,用戶可以通過它學(xué)習(xí)一些書本中學(xué)不到的知識。</p><p> 2 應(yīng)用程序總體設(shè)計</p><p> 2.1 系統(tǒng)需求分析</p><p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)的最終目的就是為用戶提供一個滿足長期需要的軟件產(chǎn)品。因此,成功地開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的關(guān)鍵之一是要詳細(xì)地了解用戶的需求,然后再圍繞用戶的需求進(jìn)行
39、開發(fā)。</p><p> 2.1.1 用戶要求:</p><p> ?、?對職工基本及其工資情況進(jìn)行系統(tǒng)管理;</p><p> ② 能夠隨時添加、刪除、修改職工基本信息;</p><p> ?、?能夠隨時通過各種方式查詢職工工資發(fā)放情況;</p><p> ④ 對職工借款和扣款進(jìn)行相應(yīng)處理;</p>
40、;<p> ?、?能按各種要求打印出職工工資發(fā)放表。</p><p> 2.1.2 系統(tǒng)性能要求:</p><p> ?、?準(zhǔn)確可靠、功能齊全;</p><p> ② 操作直觀、方便、用戶界面友好;</p><p> ③ 占用系統(tǒng)資源容量少,運行穩(wěn)定;</p><p> ?、?便于擴(kuò)充及維護(hù)。&l
41、t;/p><p><b> 2.2 設(shè)計目標(biāo)</b></p><p> 本次設(shè)計的主要目標(biāo)是通過利用當(dāng)今最流行可視化編程工具Visual Foxpro6.0設(shè)計一應(yīng)用程序。利用VF的數(shù)據(jù)庫編程,編寫程序來實現(xiàn)用戶對工資數(shù)據(jù)的錄入、修改、檢索等操作。讓用戶方便地掌握職工的基本信息與職工出勤及扣款情況,利用編程來實現(xiàn)信息的輸入、編輯(刪、插、改)、檢索及數(shù)據(jù)備份等功能,
42、繼而完成對工資信息數(shù)據(jù)庫的必要操作。</p><p> 2.3 數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫設(shè)計在數(shù)據(jù)庫應(yīng)用系統(tǒng)中是一項非常重要的工作,一個數(shù)據(jù)庫性能的好壞將直接影響數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能。</p><p> 2.3.1 數(shù)據(jù)需求分析</p><p> 在工資管理系統(tǒng)中,首先應(yīng)必須對每個職工的基本信息如姓名、性別、所在部門、
43、職稱、職務(wù)、參加工作日期、上崗日期等進(jìn)行記錄并存入數(shù)據(jù)庫,以方便進(jìn)行查詢。其次同理應(yīng)當(dāng)對職工的相關(guān)資料進(jìn)行記錄并存入數(shù)據(jù)庫,以利于管理員了解職工的情況。另外,對職工出勤情況、職工借款及扣款明細(xì)等也必須進(jìn)行記錄。最后,為識別用戶身份(管理員)應(yīng)專門設(shè)計一個口令表,以便賦于用戶使用權(quán)。</p><p> 2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)</p><p> 根據(jù)以上的數(shù)據(jù)需求分析,建立以下幾個數(shù)
44、據(jù)表分別為:ryb.dbf(職工信息表)、bmb.dbf(部門表)、zcb.dbf(職稱表)、gxb.dbf(崗序表)、zwb.dbf(職務(wù)表)、kkb.dbf(扣款表)、cqb.dbf(出勤表)、mmb.dbf(用戶登錄表)各表的具體結(jié)構(gòu)如下:</p><p> ?、?所用數(shù)據(jù)表的結(jié)構(gòu)</p><p> 1.ryb.dbf 唯一索引:bh,普通索引:bmdm</p&g
45、t;<p><b> 表2.1</b></p><p> 2. bmb.dbf 唯一索引:bmdm</p><p><b> 表2.2</b></p><p> 3. zcb.dbf </p><p><b> 表2.3</b>&
46、lt;/p><p> 4. gxb.dbf </p><p><b> 表2.4</b></p><p> 5. zwb.dbf </p><p><b> 表2.5</b></p><p> 6.kkb.dbf 唯一索引:bh<
47、;/p><p><b> 表2.6</b></p><p> 7.cqb.dbf 唯一索引:bh</p><p><b> 表2.7</b></p><p> 8. mmb.dbf</p><p><b> 表2.8</b></p
48、><p><b> ?、?相關(guān)表間的關(guān)聯(lián)</b></p><p> 根據(jù)系統(tǒng)數(shù)據(jù)數(shù)據(jù)處理的需要,相關(guān)表之間進(jìn)行了關(guān)聯(lián),關(guān)聯(lián)情況如圖2.1所示。圖中用矩形框表示表,需要關(guān)聯(lián)的兩個表用線段連接,連線上方標(biāo)出了關(guān)聯(lián)關(guān)鍵字。</p><p> 表間關(guān)聯(lián)的設(shè)計(圖2.1)</p><p><b> ③ 需用到的公式&l
49、t;/b></p><p> 本系統(tǒng)用到以下幾個計算式:</p><p> 式(2.1) 職工工資=職工日工資×職工月出勤天數(shù)+職工日工資×職工月病假天數(shù)×80%;</p><p> 式(2.2) 職工崗位工資=職工工資×40%;</p><p> 式(2.3) 職工效益工資=職工工資
50、215;40%;</p><p> 式(2.4) 職工職能工資=職工工資×20%;</p><p> 式(2.5) 應(yīng)付工資=職工崗位工資+職工效益工資+職工職能工資;</p><p> 式(2.6) 扣款=職工借款-水電費-衛(wèi)生費-存車費;</p><p> 式(2.7) 實付工資=應(yīng)付工資-扣款。</p>
51、<p> 2.4 系統(tǒng)模塊劃分及各模塊包含的表單</p><p> 登錄模塊中主要設(shè)置系統(tǒng)管理員級別的用戶。系統(tǒng)管理員登錄成功后可以進(jìn)行所有功能模塊的操作。其用戶登錄后的模塊功能如下:</p><p> 2.4.1 數(shù)據(jù)錄入模塊 </p><p> 此模塊實現(xiàn)對職工的基本信息,職工的出勤情況及職工的借款和扣款情況進(jìn)行登記。分別用三個表單實現(xiàn)對
52、職工信息、職工出勤、職工借(扣)款的錄入等功能。操作對象分別為ryb.dbf(職工信息表)、cqb.dbf(出勤表)和kkb.dbf(扣款表)。包含的表單分別為:rydj.scx、kqdj.scx、kkdj.scx。</p><p> 2.4.2 工資計算模塊 </p><p> 此模塊實現(xiàn)對所有職工的工資進(jìn)行按月計算,對某部門的全部職工按月計算工資,按月計算單個職工工資。分別用三
53、個表單實現(xiàn)上述功能。包含的表單分別為:jsqbgz.scx、jsdwgz.scx、jsdrgz.scx。</p><p> 2.4.3 工資查詢模塊 </p><p> 此模塊實現(xiàn)按部門查詢職工工資和按姓名查詢職工工資。分別用兩個表單實現(xiàn)上述功能。包含的表單分別為:abmcz.scx、axmcz.scx。</p><p> 2.4.4 工資打印模塊 &
54、lt;/p><p> 此模塊實現(xiàn)按部門打印職工工資發(fā)放表和按姓名打印職工工資條。分別用兩個表單調(diào)用相關(guān)報表實現(xiàn)上述功能。包含的表單和報表分別為:abmdy.scx、dydwgz.frx和axmdy.scx、dygrgz.frx。</p><p> 2.4.5 系統(tǒng)設(shè)置模塊 </p><p> 此模塊實現(xiàn)系統(tǒng)管理員設(shè)置和密碼修改兩項功能。分別用兩個表單實現(xiàn),操作
55、對象為mmb.dbf(用戶登錄表)。包含的表單分別為:glysz.scx、xgmm.scx。</p><p> 2.4.6 退出系統(tǒng)模塊 </p><p> 此模塊實現(xiàn)系統(tǒng)的退出功能,用clear events命令來實現(xiàn)。</p><p> 2.5 系統(tǒng)數(shù)據(jù)流程圖</p><p> 2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖</
56、p><p><b> (見圖2.2)</b></p><p> 2.5.2 系統(tǒng)總體運行流程圖</p><p><b> (見圖2.3)</b></p><p> 2.5.3 重要模塊運行流程圖</p><p> ① 人員錄入模塊流程圖</p>&l
57、t;p><b> (見圖2.4)</b></p><p> ?、?按職工姓名計算工資模塊流程圖</p><p><b> (見圖2.5)</b></p><p> 總體結(jié)構(gòu)圖(圖2.2)</p><p><b> 圖2.3</b></p><
58、p><b> 圖2.4</b></p><p> 圖2.4所示為“人員錄入”模塊中的增加功能運行流程,其它功能流程與此相同不再另畫。</p><p> 2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置</p><p> ?、?在F:\建立“畢業(yè)設(shè)計”文件夾,在VFP6.0中設(shè)置默認(rèn)目錄為F:\畢業(yè)設(shè)計,并設(shè)置表單最大設(shè)計區(qū)為640×480。&
59、lt;/p><p> ② 在畢業(yè)設(shè)計文件夾下新建立PIC文件夾,以便用來保存在表單設(shè)計中用到的圖片。</p><p> ?、?以2.3.2中各數(shù)據(jù)表結(jié)構(gòu)為準(zhǔn)建立數(shù)據(jù)表。</p><p><b> 圖2.5</b></p><p><b> 3 模塊的實現(xiàn)</b></p><p
60、> 3.1 各功能表單的編制</p><p> 3.1.1 啟動畫面及系統(tǒng)登錄</p><p> ?、?cshjm.scx(系統(tǒng)啟動界面表單) </p><p><b> 1)、表單界面</b></p><p> 運行程序后,將顯示如下初始化界面:(見圖3.1)</p><p>
61、 2)、主要控件及事件代碼:</p><p> label2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))的click事件:</p><p> thisform.release</p><p> do form xtdl</p><p> 執(zhí)行l(wèi)abel2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))按鈕的click事件后,將調(diào)用xtdl.scx表單顯示如下結(jié)果: (見圖3.
62、2)</p><p> ?、?xtdl.scx(系統(tǒng)登錄表單)</p><p> 1)、主要控件及事件代碼:</p><p> command1(確定)按鈕的click事件:</p><p> dlyhm=thisform.text1.value</p><p><b> sele 1</b&g
63、t;</p><p><b> use mmb</b></p><p><b> go top</b></p><p> loca for alltrim(yhm)=alltrim(dlyhm)</p><p> if mmb.mm==alltrim(thisform.text2.value
64、)</p><p> thisform.visible=.f.</p><p> do gzglcd.mpr</p><p> read event</p><p><b> quit</b></p><p><b> else</b></p><
65、;p> messagebox("密碼錯,禁止進(jìn)入系統(tǒng)!") </p><p> thisform.command2.click</p><p><b> endif</b></p><p> command2(退出)按鈕的click事件:</p><p> thisform.rele
66、ase</p><p> 如果密碼輸入正確,則調(diào)用gzglcd.mpr菜單程序進(jìn)入系統(tǒng)執(zhí)行下列功能;否則就退出系統(tǒng)。</p><p><b> 圖3.1</b></p><p><b> 圖3.2</b></p><p> 3.1.2 人員錄入</p><p>
67、rydj.scx(職工基本信息登記表單)</p><p> ?、?表單界面及包含的控件:(見圖3.3)</p><p> 控件:Form1、Label1、Label2、Label3、Label4、Label5、Label6、Label7、Label8、Label9、Label10、Label11、Lblxm、Lblxb、Lblbm、Lblzw、Lblzc、Lblgx、Lblcjgzrq
68、、Lblsgrq、Lblgwgz、Text1、Text2、Text3、Text4、Text5、Text6、Text7、Text8、Text9、Text10、Combo1、Combo2、Combo3、Combo4、line1、line2、commandgroup1、check1、check2</p><p> ?、?幾個控件的重要屬性:</p><p> 1)、form1屬性 wi
69、ndowstate:0-普通</p><p> 2)、Combo1屬性 RowSource:bmb.bmmc, RowSourcetype:6-字段</p><p> Combo2屬性 RowSource:zcb.zcmc, RowSourcetype:6-字段</p><p> Combo3屬性 RowSource:zwb.zwmc, RowSo
70、urcetype:6-字段</p><p> Combo4屬性 RowSource:gxb.gxmc, RowSourcetype:6-字段</p><p><b> 圖3.3</b></p><p> ③ 主要的事件代碼:</p><p> Text6的lostfocus事件:</p>&l
71、t;p> &&為text1賦值,當(dāng)參加工作日期輸入完畢,則自動計算工齡并填入text1文本框。</p><p> thisform.text1.value=ltrim(str(year(date())-val(thisform.text4.value)+1))</p><p> Text9的lostfocus事件:</p><p> &
72、amp;&為text2賦值,當(dāng)上崗日期輸入完畢,則自動計算崗齡并填入text2文本框。</p><p> thisform.text2.value=ltrim(str(year(date())-val(thisform.text7.value)+1))</p><p> combo4的lostfocus事件:</p><p> &&為t
73、ext10賦值,當(dāng)崗序輸入完畢,則自動計算崗位工資并填入text10文本框。</p><p><b> sele gxb</b></p><p><b> go top</b></p><p> gl=val(thisform.text1.value)</p><p><b> d
74、o case</b></p><p> case gl>=1 and gl<5</p><p><b> glgz=1*gl</b></p><p> case gl>=5 and gl<10</p><p><b> glgz=2*gl</b></
75、p><p> case gl>=10 </p><p><b> glgz=3*gl</b></p><p><b> endc</b></p><p> zggx=thisform.combo4.value</p><p> loca for gxmc=zggx
76、</p><p> zggwgz=glgz+gxb.gxgz</p><p> thisform.text10.value=ltrim(str(zggwgz))</p><p> commandgroup1的click事件:</p><p><b> sele ryb</b></p><p&g
77、t;<b> do case</b></p><p> case this.value=1 &&下頁</p><p> thisform.check1.value=0</p><p> thisform.check2.value=0</p><p> if recn()<recc()<
78、;/p><p><b> skip</b></p><p> set strictdate to 0 &&使用通常的日期格式 </p><p> thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p>
79、<p> thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1)) &&計算崗齡</p><p> thisform.text3.value=ryb.xm &&填寫姓名</p><p> thisform.text4.value=ltrim(str(year(ryb.cj
80、gzrq)))&&填寫參加工作年份</p><p> thisform.text5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p> thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><
81、p> thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</p><p> thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p> thisform.text9.value=ltrim(str(day(ryb.s
82、grq)))&&填寫上崗日</p><p> thisform.text10.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p> sele bmb&&打開部門表</p><p><b> go top</b></p><p> s
83、zbmbm=ryb.bmdm</p><p> loca for bmdm=szbmbm</p><p> thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p> sele zwb&&打開職務(wù)表</p><p><b> go top</b&g
84、t;</p><p> zgzwbm=ryb.zwdm</p><p> loca for zwdm=zgzwbm</p><p> thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p> sele zcb&&打開職稱表</p><p&g
85、t;<b> go top</b></p><p> zgzcbm=ryb.zcdm</p><p> loca for zcdm=zgzcbm</p><p> thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p> sele gxb&&a
86、mp;打開崗序表</p><p><b> go top</b></p><p> gl=val(thisform.text1.value)</p><p><b> do case</b></p><p> case gl>=1 and gl<5</p><
87、p> zggxgz=ryb.gwgz-1*gl</p><p> case gl>=5 and gl<10</p><p> zggxgz=ryb.gwgz-2*gl</p><p> case gl>=10 </p><p> zggxgz=ryb.gwgz-3*gl</p><p>
88、;<b> endc </b></p><p> loca for gxgz=zggxgz</p><p> thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p> if ryb.xb='男'</p><p> thisform.check
89、1.value=1 </p><p><b> else </b></p><p> thisform.check2.value=1 </p><p> endif &&計算性別</p><p><b> endi</b></p><p> cas
90、e this.value=2 &&上頁</p><p> thisform.check1.value=0</p><p> thisform.check2.value=0</p><p> if recn()>1</p><p><b> skip -1</b></p><
91、;p> set strictdate to 0 &&使用通常的日期格式 </p><p> thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p> thisform.text2.value=ltrim(str(year(date())-ye
92、ar(ryb.sgrq)+1)) &&計算崗齡</p><p> thisform.text3.value=ryb.xm &&填寫姓名</p><p> thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p> thisform.t
93、ext5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p> thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p> thisform.text7.value=ltrim(str(year(ryb.sgrq)))&
94、;&填寫上崗年份</p><p> thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p> thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p> thisform.text1
95、0.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p> sele bmb&&打開部門表</p><p><b> go top</b></p><p> szbmbm=ryb.bmdm</p><p> loca for bmdm=szbmbm&
96、lt;/p><p> thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p> sele zwb&&打開職務(wù)表</p><p><b> go top</b></p><p> zgzwbm=ryb.zwdm</p><p&
97、gt; loca for zwdm=zgzwbm</p><p> thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p> sele zcb&&打開職稱表</p><p><b> go top</b></p><p> zgzcbm
98、=ryb.zcdm</p><p> loca for zcdm=zgzcbm</p><p> thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p> sele gxb&&打開崗序表</p><p><b> go top</b>&l
99、t;/p><p> gl=val(thisform.text1.value)</p><p><b> do case</b></p><p> case gl>=1 and gl<5</p><p> zggxgz=ryb.gwgz-1*gl</p><p> case gl&
100、gt;=5 and gl<10</p><p> zggxgz=ryb.gwgz-2*gl</p><p> case gl>=10 </p><p> zggxgz=ryb.gwgz-3*gl</p><p><b> endc </b></p><p> loca for
101、 gxgz=zggxgz</p><p> thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p> if ryb.xb='男'</p><p> thisform.check1.value=1 </p><p><b> else </b>&
102、lt;/p><p> thisform.check2.value=1 </p><p> endif &&計算性別</p><p><b> endi</b></p><p> case this.value=3 &&首頁</p><p> thisform
103、.check1.value=0</p><p> thisform.check2.value=0</p><p><b> go top</b></p><p> set strictdate to 0 &&使用通常的日期格式 </p><p> thisform.text1.value=ltri
104、m(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p> thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1)) &&計算崗齡</p><p> thisform.text3.value=ryb.xm &&填寫姓
105、名</p><p> thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p> thisform.text5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p> thisform.text6.
106、value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p> thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</p><p> thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上
107、崗月份</p><p> thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p> thisform.text10.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p> sele bmb&&打開部門表</p
108、><p><b> go top</b></p><p> szbmbm=ryb.bmdm</p><p> loca for bmdm=szbmbm</p><p> thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p> sel
109、e zwb&&打開職務(wù)表</p><p><b> go top</b></p><p> zgzwbm=ryb.zwdm</p><p> loca for zwdm=zgzwbm</p><p> thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名
110、稱</p><p> sele zcb&&打開職稱表</p><p><b> go top</b></p><p> zgzcbm=ryb.zcdm</p><p> loca for zcdm=zgzcbm</p><p> thisform.combo2.value
111、=zcb.zcmc&&填寫所取得職稱名稱</p><p> sele gxb&&打開崗序表</p><p><b> go top</b></p><p> gl=val(thisform.text1.value)</p><p><b> do case</b&g
112、t;</p><p> case gl>=1 and gl<5</p><p> zggxgz=ryb.gwgz-1*gl</p><p> case gl>=5 and gl<10</p><p> zggxgz=ryb.gwgz-2*gl</p><p> case gl>=
113、10 </p><p> zggxgz=ryb.gwgz-3*gl</p><p><b> endc </b></p><p> loca for gxgz=zggxgz</p><p> thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><
114、;p> if ryb.xb='男'</p><p> thisform.check1.value=1 </p><p><b> else </b></p><p> thisform.check2.value=1 </p><p> endif &&計算性別</p
115、><p> case this.value=4 &&末頁</p><p> thisform.check1.value=0</p><p> thisform.check2.value=0</p><p><b> go bott</b></p><p> set stric
116、tdate to 0 &&使用通常的日期格式 </p><p> thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p> thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1))
117、 &&計算崗齡</p><p> thisform.text3.value=ryb.xm &&填寫姓名</p><p> thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p> thisform.text5.value=ltrim(
118、str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p> thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p> thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</
119、p><p> thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p> thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p> thisform.text10.value=ltrim(str
120、(ryb.gwgz))&&填寫崗位工資</p><p> sele bmb&&打開部門表</p><p><b> go top</b></p><p> szbmbm=ryb.bmdm</p><p> loca for bmdm=szbmbm</p><p&
121、gt; thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p> sele zwb&&打開職務(wù)表</p><p><b> go top</b></p><p> zgzwbm=ryb.zwdm</p><p> loca for zwd
122、m=zgzwbm</p><p> thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p> sele zcb&&打開職稱表</p><p><b> go top</b></p><p> zgzcbm=ryb.zcdm</p&g
123、t;<p> loca for zcdm=zgzcbm</p><p> thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p> sele gxb&&打開崗序表</p><p><b> go top</b></p><p&g
124、t; gl=val(thisform.text1.value)</p><p><b> do case</b></p><p> case gl>=1 and gl<5</p><p> zggxgz=ryb.gwgz-1*gl</p><p> case gl>=5 and gl<1
125、0</p><p> zggxgz=ryb.gwgz-2*gl</p><p> case gl>=10 </p><p> zggxgz=ryb.gwgz-3*gl</p><p><b> endc </b></p><p> loca for gxgz=zggxgz</
126、p><p> thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p> if ryb.xb='男'</p><p> thisform.check1.value=1 </p><p><b> else </b></p><p&
127、gt; thisform.check2.value=1 </p><p> endif &&計算性別</p><p> case this.value=5 &&尋頁</p><p> do form axmdwcx</p><p> case this.value=6 &&增頁<
128、;/p><p> zy=messagebox('是要增頁嗎?',1+48+256,'確認(rèn)增加新職工')</p><p> && 對話框含確定和取消按鈕,驚嘆號圖標(biāo);第2個按鈕(取消按鈕)是默認(rèn)按鈕 </p><p> if zy=1 &&確定按鈕</p><p> go bo
129、tt &&為得到當(dāng)前最大編號</p><p> zgbh=str(val(ryb.bh)+1,4)&&為bh字段設(shè)置賦值變量zgbh</p><p> zgxm=thisform.text3.value&&為xm字段設(shè)置賦值變量zgxm</p><p> if thisform.check1.value=1 &l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工資管理系統(tǒng)畢業(yè)設(shè)計論文
- 工資管理系統(tǒng)畢業(yè)設(shè)計---vfp工資管理系統(tǒng)
- 人事工資管理系統(tǒng)畢業(yè)設(shè)計論文
- 人事工資管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計----工資管理系統(tǒng)
- 畢業(yè)設(shè)計(論文)delphi工資管理論文
- vf企業(yè)工資管理系統(tǒng)畢業(yè)設(shè)計論文
- delphi工資管理畢業(yè)設(shè)計
- 工資管理系統(tǒng)畢業(yè)設(shè)計
- 工資管理系統(tǒng)畢業(yè)設(shè)計
- 工資管理信息系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---企業(yè)工資管理系統(tǒng)
- 小型工資管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)-vb6.0工資管理系統(tǒng)設(shè)計
- 畢業(yè)論文范文——人事工資管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)論文范文——人事工資管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---企業(yè)工資管理系統(tǒng)設(shè)計
- 工資管理系統(tǒng)設(shè)計與實現(xiàn)──工資管理、工資組、工資單【畢業(yè)論文設(shè)計】
- 人事工資管理系統(tǒng)設(shè)計畢業(yè)設(shè)計
- vf企業(yè)工資管理系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論