版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄第一章緒論211課題簡(jiǎn)介212開發(fā)的意義2第二章開發(fā)環(huán)境與實(shí)現(xiàn)技術(shù)321開發(fā)環(huán)境322開發(fā)工具簡(jiǎn)介3第三章系統(tǒng)設(shè)計(jì)531概要設(shè)計(jì)5311概要設(shè)計(jì)階段的主要任務(wù)5312概要設(shè)計(jì)的過(guò)程5313概要設(shè)計(jì)的原則5314系統(tǒng)功能分析532詳細(xì)設(shè)計(jì)6321詳細(xì)設(shè)計(jì)的任務(wù)6322詳細(xì)設(shè)計(jì)的方法7第四章數(shù)據(jù)庫(kù)設(shè)計(jì)941數(shù)據(jù)庫(kù)Access簡(jiǎn)介942數(shù)據(jù)庫(kù)需求分析1043表的詳細(xì)結(jié)構(gòu)說(shuō)明1144測(cè)試用例14第五章詳細(xì)設(shè)計(jì)1651系統(tǒng)登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)1652主界面的設(shè)計(jì)與實(shí)現(xiàn)2053工資管理設(shè)計(jì)與實(shí)現(xiàn)2254固定資產(chǎn)管理的設(shè)計(jì)與實(shí)現(xiàn)2755流動(dòng)資產(chǎn)管理的設(shè)計(jì)與實(shí)現(xiàn)3156用戶管理的設(shè)計(jì)與實(shí)現(xiàn)32第六章系統(tǒng)
2、使用說(shuō)明4461使用說(shuō)明4462運(yùn)行環(huán)境44結(jié)束語(yǔ)52致52參考文獻(xiàn)53第一章 緒 論11課題簡(jiǎn)介財(cái)務(wù)管理系統(tǒng)是每一個(gè)單位管理財(cái)務(wù)收入和支出的不可缺少的一個(gè)管理信息系統(tǒng),它的容對(duì)企業(yè)財(cái)務(wù)計(jì)劃,財(cái)務(wù)控制,財(cái)務(wù)監(jiān)督,財(cái)務(wù)運(yùn)用等方面都起著巨大的作用。如何發(fā)揮財(cái)務(wù)管理的作用關(guān)系到一個(gè)企業(yè)的命脈。財(cái)務(wù)管理的工作對(duì)象是資金運(yùn)動(dòng),只要有資金運(yùn)動(dòng)就離不開財(cái)務(wù)管理。一個(gè)企業(yè) 的生產(chǎn)經(jīng)營(yíng)活動(dòng)無(wú)外乎供、產(chǎn)、銷三個(gè)環(huán)節(jié),這個(gè)過(guò)程始終貫穿著資金運(yùn)動(dòng),只是在各個(gè)環(huán) 節(jié)上資金的表現(xiàn)形態(tài)不同罷了。在供應(yīng)階段資金由貨幣形態(tài)轉(zhuǎn)變?yōu)椴牧闲螒B(tài),生產(chǎn)階段由材 料形態(tài)變?yōu)楫a(chǎn)品形態(tài),在銷售階段由產(chǎn)品形態(tài)又回到貨幣形態(tài)。從這里可以看出,財(cái)務(wù)
3、管理 貫穿于企業(yè)的各項(xiàng)工作之中,財(cái)務(wù)工作與其它管理工作是密不可分的。BP)從企業(yè)目前 的實(shí)際工 作來(lái)看,普遍存在兩個(gè)誤區(qū):一種認(rèn)為財(cái)務(wù)管理就是管錢,只要管住錢就可萬(wàn)事大吉,重資 金,輕核算。上面談到,資金在生產(chǎn)經(jīng)營(yíng)過(guò)程中分別有著不同的表現(xiàn)形式,“錢”只是這個(gè) 過(guò)程的起點(diǎn)和終點(diǎn),大量的管理工作都蘊(yùn)含在過(guò)程之中。因此,只有加強(qiáng)部核算,才能真 正做到節(jié)支降耗,否則,“錢”是管不住的。另一種認(rèn)為財(cái)務(wù)管理就是管財(cái)務(wù)部門,把財(cái)務(wù) 部門與其他管理部門割裂開來(lái),財(cái)務(wù)管理的觸角不能延伸到各項(xiàng)管理工作之中。財(cái)務(wù)管理就 成為無(wú)本之木,其作用得不到發(fā)揮,形成經(jīng)營(yíng)和生產(chǎn)“兩皮”。因此,開發(fā)這樣一套管理軟件成為很有必要的
4、事情,對(duì)于我們即將計(jì)算機(jī)專業(yè)畢業(yè)的學(xué)員來(lái)說(shuō),也是一次將計(jì)算機(jī)應(yīng)用于現(xiàn)實(shí)管理的一次很有意義的實(shí)踐活動(dòng)。12開發(fā)的意義計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手,使用其可方便的管理企事業(yè)財(cái)務(wù)今天,計(jì)算機(jī)正在各行各業(yè)發(fā)揮著巨大的作用,它以其快速準(zhǔn)確性彌補(bǔ)人類的先天不足,能夠讓計(jì)算機(jī)參與人們?nèi)粘5呢?cái)務(wù)管理事業(yè),是一種時(shí)代發(fā)展的必然要求,也是一個(gè)社會(huì)國(guó)家進(jìn)步的體現(xiàn)。況且現(xiàn)在建行已經(jīng)建起了個(gè)人網(wǎng)上銀行,本系統(tǒng)為個(gè)人理財(cái)系統(tǒng)的到來(lái)做了先期工作,比如計(jì)算機(jī)的財(cái)務(wù)管理模式的建立。第二章 開發(fā)環(huán)境與實(shí)現(xiàn)技術(shù)21開發(fā)環(huán)境硬件系統(tǒng)硬件平臺(tái)CPUIntel P4 1.5G主板Intel 850芯片組的GA-8TX-C存21
5、28M的三星Rambus存硬盤Seagate Barracuda 7200.7 80G顯卡Unika 小妖G9800顯示器美格770PF,17寸純平顯示器軟件環(huán)境操作系統(tǒng)Microsoft WindowsXP簡(jiǎn)體中文專業(yè)版SP1辦公軟件Microsoft Office 2003顯卡驅(qū)動(dòng)nVIDIA ForceWare驅(qū)動(dòng)56.72版For Win2000/XP軟件系統(tǒng):Visual basic 6.0中文版、Access數(shù)據(jù)庫(kù)。22開發(fā)工具簡(jiǎn)介Visual Basic 6.0的特點(diǎn)Visual Basic 6.0是Micrsoft公司出品的開發(fā)工具,Visual Basic是一種可視化的,面向
6、對(duì)象的Windows開發(fā)語(yǔ)言,它具有易用,通用和開發(fā)效率高的特點(diǎn)。隨著微軟對(duì)它不斷地改進(jìn)以與計(jì)算機(jī)本身性能的提高,使得Visual Basic越來(lái)越適合一般的應(yīng)用程序開發(fā)。正如Bill Gate所說(shuō),世界上絕大多數(shù)的Windows應(yīng)用程序是用Visual Basic編寫的。在眾多的開發(fā)工具中,我們?yōu)槭裁匆x擇Visual Basic6.0呢?因?yàn)閂B具有眾多其它開發(fā)工具所沒(méi)有的優(yōu)點(diǎn)!具體介紹如下:u 開發(fā)的高效u 語(yǔ)言的高效u 編譯的高效u 執(zhí)行的高效u 維護(hù)的高效基于以上理由,我們毫不憂郁的選擇了VB6.0做為我們的開發(fā)工具!微軟公司的Visual basic6.0連接數(shù)據(jù)庫(kù)的主要方式以下幾
7、種方式:一是:用data控件進(jìn)行數(shù)據(jù)庫(kù) ,二是利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫(kù) 。三是: 利用DataEnvironment進(jìn)行數(shù)據(jù)庫(kù).四是利用ADO(ActiveX Data Objects)進(jìn)行編程三種數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象,是Microsoft數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的一個(gè)主要發(fā)展方向,ADO將OLE DB封裝在一個(gè)數(shù)據(jù)對(duì)象中,使得VB程序中以方便地實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。第三章 系統(tǒng)設(shè)計(jì)31概要設(shè)計(jì)311概要設(shè)計(jì)階段的主要任務(wù)系統(tǒng)分析員審理客戶的需求狀況并依據(jù)用戶需求撰寫需求分析報(bào)告以與軟件描述工具。選擇分解功能與劃分模塊的設(shè)計(jì)原則,例如模塊劃分獨(dú)立性原則,信息隱蔽原則等。312
8、概要設(shè)計(jì)的過(guò)程 在概要設(shè)計(jì)階段應(yīng)著重解決實(shí)現(xiàn)需求分析的程序模塊設(shè)計(jì)問(wèn)題。這包括考慮如何把被開發(fā)的軟件系統(tǒng)劃分成若干個(gè)模塊,并決定各模塊的接口,即模塊間的相互關(guān)系,以與模塊之間的傳遞的信息。1 管理員選項(xiàng)模塊(增加管理員,修改管理員密碼,注銷管理員,退出系統(tǒng))2 工資管理模塊(增加考勤記錄,修改考勤記錄,查詢考勤記錄,計(jì)算工資,增加工資記錄,查詢工資記錄,修改工資記錄,刪除工資記錄)3 固定資產(chǎn)模塊(增加固定資產(chǎn)記錄,修改固定資產(chǎn)記錄,查詢固定資產(chǎn)記錄,刪除固定資產(chǎn)記錄)4 流動(dòng)資產(chǎn)模塊(增加報(bào)銷記錄,查詢報(bào)銷記錄,導(dǎo)出報(bào)銷記錄)主界面管理員選項(xiàng)工資管理固定資產(chǎn)管理禁用快捷鍵流動(dòng)資產(chǎn)管理登錄根據(jù)
9、以上分析,該系統(tǒng)考慮將整個(gè)系統(tǒng)分解成如圖3-1模塊結(jié)構(gòu)圖:313 概要設(shè)計(jì)的原則并且在系統(tǒng)的開發(fā)過(guò)程中,我盡量注意模塊的高聚、低耦合,使得系統(tǒng)的整體性能提高,并且也有利于投入使用后的系統(tǒng)維護(hù)。314系統(tǒng)功能分析本財(cái)務(wù)管理系統(tǒng)主要針對(duì)企事業(yè)單位的財(cái)務(wù)管理提供方便。1管理員模塊功能:提供對(duì)管理員的密碼,權(quán)限,增刪設(shè)置。2 固定資產(chǎn)模塊管理:提供對(duì)固定資產(chǎn)記錄的增刪管理。3流動(dòng)資產(chǎn)管理:提供對(duì)流動(dòng)資產(chǎn),報(bào)銷管理。32詳細(xì)設(shè)計(jì)321詳細(xì)設(shè)計(jì)的任務(wù) 詳細(xì)設(shè)計(jì)必須是無(wú)歧義地描述過(guò)程地細(xì)節(jié),詳細(xì)設(shè)計(jì)主要決定每個(gè)模塊部的具體算法。322詳細(xì)設(shè)計(jì)的方法修改已建的數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的修改分為:添加、編輯和刪除記錄。這三
10、種操作均可由Visual Basic 創(chuàng)建的程序來(lái)完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法。實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間的聯(lián)系數(shù)據(jù)庫(kù)之間的關(guān)系指明兩個(gè)庫(kù)之間共享一個(gè)共同的關(guān)鍵字值。一個(gè)連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個(gè)不同的表中獲取信息時(shí)建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄。一個(gè)更高級(jí)的連接形式稱為自連接。這種連接是指一個(gè)表被連接到它自己的一個(gè)字段,或在不同的紀(jì)錄中由重復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫(kù)中有三種不同類型的關(guān)鍵字:主關(guān)鍵字、組合關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述庫(kù)表示什么以與在數(shù)據(jù)庫(kù)中如何與其它的庫(kù)建立關(guān)系。第 四 章 數(shù)據(jù)庫(kù)的設(shè)計(jì)41 數(shù)據(jù)庫(kù)Ac
11、cess簡(jiǎn)介使用MicrosoftAccess,可以在單一的數(shù)據(jù)庫(kù)文件中管理所有的信息。在這個(gè)文件中,用戶可以將自己的數(shù)據(jù)分別保存在各自獨(dú)立的存儲(chǔ)空間中,這些空間稱作表;可以使用聯(lián)機(jī)窗體來(lái)查看、添加與更新表中的數(shù)據(jù);使用查詢來(lái)查找并檢索所要的數(shù)據(jù);也可以使用報(bào)表以特定的版面布置來(lái)分析與打印數(shù)據(jù)。如果要保存數(shù)據(jù),請(qǐng)為每一種類型的信息創(chuàng)建一個(gè)表。如果要從查詢、窗體或報(bào)表中的多個(gè)表中將數(shù)據(jù)合并在一起,就要定義各個(gè)表之間的關(guān)系。如果要搜索并檢索符合指定條件的數(shù)據(jù),包括來(lái)自多個(gè)表中的數(shù)據(jù),就要?jiǎng)?chuàng)建查詢。查詢的同時(shí)也可以更新或刪除多條記錄,并對(duì)數(shù)據(jù)執(zhí)行嵌或自定義的計(jì)算。如果要簡(jiǎn)單地直接在某個(gè)表中查看、輸入
12、與更改數(shù)據(jù),請(qǐng)創(chuàng)建一個(gè)窗體。在打開一個(gè)窗體時(shí),MicrosoftAccess將從一個(gè)或多個(gè)表中檢索數(shù)據(jù),并使用用戶在“窗體向?qū)А边x擇的版面布局或所創(chuàng)建的版面布局,將窗體顯示在屏幕上。如果要分析數(shù)據(jù)或?qū)?shù)據(jù)以特定的方式打印出來(lái),請(qǐng)創(chuàng)建一個(gè)報(bào)表。例如,可以打印一份將數(shù)據(jù)分組并計(jì)算數(shù)據(jù)總和的報(bào)表,也可以打印另一份帶有各種數(shù)據(jù)格式的打印標(biāo)簽的報(bào)表。42數(shù)據(jù)庫(kù)需求分析本系統(tǒng)使用的是ODBC數(shù)據(jù)源,使用程序前,在控制面板管理工具數(shù)據(jù)源(ODBC)中添加本程序目錄下的finance.mdb文件作為Microsoft Access數(shù)據(jù)源,用戶數(shù)據(jù)源名稱必須命名為:Finance43表的詳細(xì)結(jié)構(gòu)說(shuō)明員工職務(wù)表的
13、詳細(xì)信息:?jiǎn)T工工資結(jié)算表的詳細(xì)結(jié)構(gòu)說(shuō)明:固定資產(chǎn)管理項(xiàng)目表的詳細(xì)結(jié)構(gòu)為:報(bào)銷類型表的詳細(xì)結(jié)構(gòu)為:管理員登陸表的詳細(xì)結(jié)構(gòu)為:?jiǎn)T工工作狀態(tài)表員工工作狀態(tài)表詳細(xì)設(shè)計(jì):44測(cè)試用例YN開始輸入登錄密碼是否正確主界面第五章 詳細(xì)設(shè)計(jì)5.1系統(tǒng)登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)登陸界面:登陸界面源代碼分析:Private Sub Command1_Click() Dim sql As String Dim rs As New ADODB.Recordset If User.Text = Then 保證用戶名和密碼都填寫 MsgBox 用戶名不能為空!, vbCritical User.SetFocus Exit Sub
14、 End If If Pass.Text = Then MsgBox 密碼不能為空!, vbCritical Pass.SetFocus Exit Sub End If If DbHandle.DbConnection Then sql = TBL_ADMIN 用SQL語(yǔ)句判斷是否是合法管理員 rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = ADMIN_ID= & User.Text & AND ADMIN_PASSWORD= & Pass.Text & rs.Open sql, DbFinanc
15、e If DbHandle.resultcount(rs) 1 Then 不存在管理員記錄提示錯(cuò)誤信息并且退出系統(tǒng) MsgBox 用戶名或密碼錯(cuò)誤!, vbExclamation rs.Close Set rs = Nothing DbHandle.DbClose End End If DbHandle.DbClose MainForm.Show 登陸成功顯示主窗體 Unload Me Else MsgBox 數(shù)據(jù)庫(kù)錯(cuò)誤!, vbExclamation DbHandle.DbClose End End IfEnd Sub主界面界面包括的控件有標(biāo)簽、文本框、命令按控件的屬性設(shè)置界面:主界面源代碼
16、分析:Option ExplicitPrivate Sub AdminOption_Click() sb1.Panels(1).Text = 管理員選項(xiàng) 鼠標(biāo)在管理員選項(xiàng)菜單使?fàn)顟B(tài)條的提示文字顯示End SubPrivate Sub Check1_Click() If Check1.Value Then 啟用或者禁止快捷按鈕所在的Frame Frame1.Enabled = False Frame2.Enabled = False Frame3.Enabled = False Frame4.Enabled = False Else Frame1.Enabled = True Frame2.En
17、abled = True Frame3.Enabled = True Frame4.Enabled = True End IfEnd SubPrivate Sub Command1_Click() AddAdmin.Show 1 顯示增加管理員窗體End SubPrivate Sub Command10_Click() FixPay.Show 1 顯示增加修改月工資窗體End SubPrivate Sub Command11_Click() DelPay.Show 1 顯示刪除月工資窗體End SubPrivate Sub Command12_Click() QueryPay.Show 1 顯
18、示查詢?cè)鹿べY窗體End SubPrivate Sub Command13_Click() AddFixed.Show 1 顯示增加固定資產(chǎn)窗體End SubPrivate Sub Command14_Click() fixFixed.Show 1 顯示修改固定資產(chǎn)窗體End SubPrivate Sub Command15_Click() QueryFixed.Show 1 顯示查詢固定資產(chǎn)窗體End SubPrivate Sub Command16_Click() DelFixed.Show 1 顯示刪除固定資產(chǎn)窗體End SubPrivate Sub Command17_Click() A
19、ddCur.Show 1 顯示增加報(bào)銷記錄窗體End SubPrivate Sub Command18_Click() QueryCur.Show 1 顯示查詢報(bào)銷記錄窗體End SubPrivate Sub Command19_Click() ExportCur.Show 1 顯示導(dǎo)出報(bào)銷記錄窗體End SubPrivate Sub Command2_Click() AdminPass.Show 1 顯示修改管理員密碼窗體End SubPrivate Sub Command3_Click() Me.Hide AdminLogin.User.Text = 登錄窗體信息清空 AdminLogin
20、.Pass.Text = AdminLogin.Show 顯示注銷(登錄)窗體End SubPrivate Sub Command4_Click() End 退出管理系統(tǒng)End SubPrivate Sub Command5_Click() WorkEvent.Show 1 顯示添加考勤記錄窗體End SubPrivate Sub Command6_Click() ChangeEvent.Show 1 顯示修改考勤記錄窗體End SubPrivate Sub Command7_Click() QueryEvent.Show 1 顯示查詢考勤記錄窗體End SubPrivate Sub Comm
21、and8_Click() CalcPay.Show 1 顯示計(jì)算工資窗體End SubPrivate Sub Command9_Click() AddPay.Show 1 顯示增加月工資記錄窗體End SubPrivate Sub CurAsset_Click() sb1.Panels(1).Text = 流動(dòng)資產(chǎn)管理 鼠標(biāo)在流動(dòng)資產(chǎn)管理菜單使?fàn)顟B(tài)條的提示文字顯示End SubPrivate Sub FixedAsset_Click() sb1.Panels(1).Text = 固定資產(chǎn)管理 顯示增加管理員窗體End SubPrivate Sub Form_Load() Me.Left = (
22、Screen.Width - Me.ScaleWidth) / 2 初始化窗體居中顯示 Me.Top = (Screen.Height - Me.ScaleHeight) / 2 Me.Height = 8010 Me.Width = 9945End SubPrivate Sub Form_Unload(Cancel As Integer) On Error Resume Next 當(dāng)主窗體關(guān)閉時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接 DbHandle.DbClose EndEnd SubPrivate Sub menu_AddAdmin_Click() AddAdmin.Show 1 顯示增加管理員窗體End Su
23、bPrivate Sub menu_AddCur_Click() AddCur.Show 1 顯示增加報(bào)銷記錄窗體End SubPrivate Sub menu_AddEvent_Click() WorkEvent.Show 1 顯示增加考勤記錄窗體End SubPrivate Sub menu_AddFixed_Click() AddFixed.Show 1 顯示修改考勤記錄窗體End SubPrivate Sub menu_AddPay_Click() AddPay.Show 1 顯示增加月工資窗體End SubPrivate Sub menu_AdminPass_Click() Admi
24、nPass.Show 1 顯示修改管理員密碼窗體End SubPrivate Sub menu_CalcPay_Click() CalcPay.Show 1 顯示計(jì)算工資窗體End SubPrivate Sub menu_ChangeEvent_Click() ChangeEvent.Show 1 顯示修改考勤記錄窗體End SubPrivate Sub menu_ChangeFixed_Click() fixFixed.Show 1 顯示修改固定資產(chǎn)窗體End SubPrivate Sub menu_ChangePay_Click() FixPay.Show 1 顯示修改月工資窗體End S
25、ubPrivate Sub menu_DelFixed_Click() DelFixed.Show 1 顯示刪除固定資產(chǎn)窗體End SubPrivate Sub menu_DelPay_Click() DelPay.Show 1 顯示刪除月工資窗體End SubPrivate Sub menu_Exit_Click() End 退出管理系統(tǒng)End SubPrivate Sub menu_ExportCur_Click() ExportCur.Show 1 顯示導(dǎo)出報(bào)銷記錄窗體End SubPrivate Sub menu_Logout_Click() Me.Hide AdminLogin.Us
26、er.Text = 登錄窗體信息清空 AdminLogin.Pass.Text = AdminLogin.Show 顯示注銷(登錄)窗體End SubPrivate Sub menu_MonthBln_Click() MonthBln.Show 1 顯示月底結(jié)算窗體End SubPrivate Sub menu_QueryCur_Click() QueryCur.Show 1 顯示查詢報(bào)銷記錄窗體End SubPrivate Sub menu_QueryEvent_Click() QueryEvent.Show 1 顯示查詢考勤記錄窗體End SubPrivate Sub menu_Query
27、Fixed_Click() QueryFixed.Show 1 顯示查詢固定資產(chǎn)窗體End SubPrivate Sub menu_QueryPay_Click() QueryPay.Show 1 顯示查詢?cè)鹿べY窗體End SubPrivate Sub PayMan_Click() sb1.Panels(1).Text = 工資管理 鼠標(biāo)在工資管理菜單使?fàn)顟B(tài)條的提示文字顯示End Sub5.3 工資管理的設(shè)計(jì)與實(shí)現(xiàn)工資管理界面:工資計(jì)算代碼:Private Sub Command1_Click() Dim i As Long Dim USER_ID As String Dim USER_NAM
28、E As String Dim USER_PART As String Dim USER_ROLE As String Dim MONEY As String CommDlg.Flags = cdlOFNOverwritePrompt 設(shè)置保存對(duì)話框有覆蓋提示 CommDlg.Filter = 文本文件|*.txt 設(shè)置保存對(duì)話框的顯示文件類型 CommDlg.ShowSave 顯示保存對(duì)話框 If CommDlg.FileName Then 如果用戶點(diǎn)確定按鈕就寫導(dǎo)出文件 Open CommDlg.FileName For Output As #1 Print #1, 員工ID號(hào); Tab;
29、 員工; Tab; 所屬部門; Tab; 職位名稱; Tab; 本月工資 For i = 1 To MSFlexGrid1.Rows - 1 從MSFlexGrid1中循環(huán)把記錄信息寫進(jìn)文件中 MSFlexGrid1.Row = i MSFlexGrid1.Col = 0 USER_ID = MSFlexGrid1.Text MSFlexGrid1.Row = i MSFlexGrid1.Col = 1 USER_NAME = MSFlexGrid1.Text MSFlexGrid1.Row = i MSFlexGrid1.Col = 2 USER_PART = MSFlexGrid1.Tex
30、t MSFlexGrid1.Row = i MSFlexGrid1.Col = 3 USER_ROLE = MSFlexGrid1.Text MSFlexGrid1.Row = i MSFlexGrid1.Col = 4 MONEY = MSFlexGrid1.Text Print #1, USER_ID; Tab; USER_NAME; Tab; USER_PART; Tab; USER_ROLE; Tab; MONEY Next i Close #1 關(guān)閉文件 End IfEnd SubPrivate Sub Command2_Click() Unload Me 返回主窗體End SubP
31、rivate Sub Form_Load() Dim sql As String Dim rs As New ADODB.Recordset Dim work As New ADODB.Recordset 考勤記錄結(jié)果集 Dim i As Integer 循環(huán)變量 Dim userid As String Dim MONEY As Long Dim temp As Long 考勤影響到的工資 Dim resultcount As Long 返回記錄數(shù) Me.Left = (Screen.Width - Me.ScaleWidth) / 2 窗體居中顯示 Me.Top = (Screen.Hei
32、ght - Me.ScaleHeight) / 2 If DbHandle.DbConnection Then 選定用戶表中所有記錄以與關(guān)聯(lián)的角色和部門記錄 sql = SELECT USER_ID,USER_NAME,PART_NAME,ROLE_NAME,ROLE_MONEY FROM TBL_USER,TBL_ROLE,TBL_PART WHERE USER_PART=PART_ID AND USER_ROLE=ROLE_ID rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Open sql, DbFinan
33、ce resultcount = DbHandle.resultcount(rs) Cls 設(shè)置電子表格的列頭 MSFlexGrid1.Cols = 5 MSFlexGrid1.Rows = resultcount + 1 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0 MSFlexGrid1.Text = 員工ID號(hào) MSFlexGrid1.Col = 1 MSFlexGrid1.Text = 員工 MSFlexGrid1.Col = 2 MSFlexGrid1.Text = 所屬部門 MSFlexGrid1.Col = 3 MSFlexGrid1.Text
34、= 職位名稱 MSFlexGrid1.Col = 4 MSFlexGrid1.Text = 本月工資 For i = 0 To 4 MSFlexGrid1.ColWidth(i) = MSFlexGrid1.Width / 5 - 5 平均分配每個(gè)列的寬 Next i For i = 1 To resultcount 循環(huán)將職工信息和基本工資放入電子表格 userid = rs(USER_ID) MSFlexGrid1.Row = i MSFlexGrid1.Col = 0 MSFlexGrid1.Text = userid MSFlexGrid1.Col = 1 MSFlexGrid1.Te
35、xt = rs(USER_NAME) MSFlexGrid1.Col = 2 MSFlexGrid1.Text = rs(PART_NAME) MSFlexGrid1.Col = 3 MSFlexGrid1.Text = rs(ROLE_NAME) MONEY = rs(ROLE_MONEY) MSFlexGrid1.Col = 4 MSFlexGrid1.Text = Str(MONEY) rs.MoveNext Next i rs.Close Set rs = Nothing For i = 1 To resultcount 通過(guò)考勤表計(jì)算考勤信息影響的工資 MSFlexGrid1.Row
36、 = i MSFlexGrid1.Col = 0 userid = MSFlexGrid1.Text MSFlexGrid1.Col = 4 MONEY = Val(MSFlexGrid1.Text) sql = SELECT WORK_TIME,TYPE_MARK,TYPE_ID FROM TBL_WORK,TBL_TYPE WHERE WORK_TYPE=TYPE_ID AND WORK_ID= & userid & work.CursorType = adOpenDynamic work.LockType = adLockOptimistic work.Open sql, DbFinan
37、ce 選取每一行職工ID的本月考勤信息 Do While work.EOF = False Select Case work(TYPE_ID) 通過(guò)考勤類別計(jì)算考勤時(shí)間和工資關(guān)系 Case 1 temp = work(WORK_TIME) * 1 Case 2 temp = work(WORK_TIME) * 2 Case 3 temp = work(WORK_TIME) * 10 Case 4 temp = work(WORK_TIME) * 20 End Select If work(TYPE_MARK) Then 當(dāng)考勤類別是加班出差等要向基本工資中加工資 MONEY = MONEY +
38、 temp Else MONEY = MONEY - temp 當(dāng)考勤類別是遲到早退等要向基本工資中減工資 End If work.MoveNextLoop MSFlexGrid1.Text = Str(MONEY) 重新設(shè)置每個(gè)人的月工資 work.Close Next i DbHandle.DbClose Else 打開數(shù)據(jù)庫(kù)失敗錯(cuò)誤退出 MsgBox 數(shù)據(jù)庫(kù)錯(cuò)誤!, vbExclamation DbHandle.DbClose End End IfEnd Sub 5.4 固定資產(chǎn)管理的設(shè)計(jì)與實(shí)現(xiàn)添加固定資產(chǎn)代碼:Private Sub Command1_Click() Dim sql A
39、s String Dim rs As New ADODB.Recordset If Text1.Text = Then 判斷資產(chǎn)編號(hào)輸入框不為空 MsgBox 資產(chǎn)編號(hào)不能為空!, vbCritical Text1.SetFocus Exit Sub End If If Text2.Text = Then 判斷資產(chǎn)名稱輸入框不為空 MsgBox 資產(chǎn)名稱不能為空!, vbCritical Text2.SetFocus Exit Sub End If If Text3.Text = Then 判斷資產(chǎn)數(shù)目輸入框不為空 MsgBox 資產(chǎn)數(shù)目不能為空!, vbCritical Text3.SetF
40、ocus Exit Sub End If If Text4.Text = Then 判斷資產(chǎn)單價(jià)輸入框不為空 MsgBox 資產(chǎn)單價(jià)不能為空!, vbCritical Text4.SetFocus Exit Sub End If If Text7.Text = Then 判斷經(jīng)手人ID輸入框不為空 MsgBox 經(jīng)手人ID不能為空!, vbCritical Text7.SetFocus Exit Sub End If If Text5.Text = Then 判斷聯(lián)系輸入框不為空 MsgBox 聯(lián)系不能為空!, vbCritical Text5.SetFocus Exit Sub End If
41、 If Text6.Text = Then 判斷資產(chǎn)說(shuō)明輸入框不為空 MsgBox 資產(chǎn)說(shuō)明不能為空!, vbCritical Text6.SetFocus Exit Sub End If If Not IsNumeric(Text3.Text) Then 判斷資產(chǎn)數(shù)目輸入框必須是數(shù)字 MsgBox 資產(chǎn)數(shù)目必須是數(shù)字!, vbCritical Text3.SetFocus Exit Sub End If If Not IsNumeric(Text4.Text) Then 判斷資產(chǎn)單價(jià)輸入框是數(shù)字 MsgBox 資產(chǎn)單價(jià)必須是數(shù)字!, vbCritical Text4.SetFocus Exi
42、t Sub End If If PartCombo.ListIndex = -1 Then 確保部門被選擇 MsgBox 部門必須選擇!, vbCritical PartCombo.SetFocus Exit Sub End If If DbHandle.DbConnection Then 打開數(shù)據(jù)庫(kù)連接準(zhǔn)備添加固定資產(chǎn)記錄 sql = TBL_FIXED 在固定資產(chǎn)表中搜索,判斷是否已經(jīng)存在和欲添加固定 rs.CursorType = adOpenDynamic 資產(chǎn)具有一樣編號(hào)的記錄 rs.LockType = adLockOptimistic rs.Filter = FIXED_ID=
43、& Text1.Text & rs.Open sql, DbFinance If DbHandle.resultcount(rs) = 1 Then 如果找到編號(hào)已經(jīng)存在就提示錯(cuò)誤信息,并且退出 MsgBox 資產(chǎn)編號(hào)已經(jīng)存在!, vbExclamation rs.Close DbHandle.DbClose Exit Sub End If rs.Close sql = TBL_USER 在職工表中判斷輸入的職工ID是否是有效ID rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = USER_ID=
44、& Text7.Text & rs.Open sql, DbFinance If DbHandle.resultcount(rs) 1 Then 不存在輸入的職工ID就提示錯(cuò)誤信息退出 MsgBox 錯(cuò)誤,不存在的ID號(hào)!, vbExclamation Text7.SetFocus rs.Close Set rs = Nothing DbHandle.DbClose Exit Sub Else 職工ID是有效的,可以進(jìn)行添加固定資產(chǎn) rs.Close sql = TBL_FIXED rs.Filter = rs.Open sql, DbFinance rs.AddNew rs(FIXED_ID) = Text1.Text 固定資產(chǎn)編號(hào) rs(FIXED_NAME) = Text2.Text 固定資產(chǎn)名稱 rs(FIXED_NUM) = Val(Text3.Text) 固定資產(chǎn)數(shù)目 rs(FIXED_MONEY) = Val(Text4.Text) 固定資產(chǎn)單價(jià) rs(FIXED_PART) = PartCombo.ItemData(PartCombo.ListIndex) 購(gòu)買固定資產(chǎn)部門 rs(FIXED_USER) = Text7.Text 經(jīng)手人ID rs(FIXED_PHO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圓周接力課件教學(xué)課件
- 2024乙丙雙方關(guān)于智能家居系統(tǒng)安裝與維護(hù)的合同
- 2024保險(xiǎn)合同保險(xiǎn)標(biāo)的及屬性規(guī)定
- 2024年司機(jī)配駕汽車租賃合同標(biāo)準(zhǔn)版
- 2024年度工程建設(shè)項(xiàng)目融資擔(dān)保合同
- 2024年居住區(qū)綠化托管協(xié)議
- 2024年廣告制作委托合同
- 2024年展覽廳知識(shí)產(chǎn)權(quán)保護(hù)合同
- 2024國(guó)有土地使用權(quán)合同解釋國(guó)有土地使用權(quán)收購(gòu)合同
- 2024年度汽車銷售業(yè)績(jī)獎(jiǎng)勵(lì)合同
- 光伏電站安全評(píng)價(jià)危險(xiǎn)有害因素辨識(shí)與分析
- 第十章特定人群的口腔保健
- 計(jì)算機(jī)組裝與維護(hù)(第2版)-電子教案第1-18章教案
- 監(jiān)理大綱范本(同名6493)
- 中非合作會(huì)議峰會(huì)
- 加油站安全風(fēng)險(xiǎn)評(píng)估報(bào)告 - 事故發(fā)生可能性及后果分析
- 消防安全知識(shí)課件PPT
- 曲臂車高空作業(yè)車施工方案
- 腰椎ODI評(píng)分完整版
- 公路工程監(jiān)理旁站手冊(cè)監(jiān)理旁站手冊(cè)編制說(shuō)明
- 12J4-2 《專用門窗》標(biāo)準(zhǔn)圖集
評(píng)論
0/150
提交評(píng)論