版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)中小型企業(yè)財務(wù)票據(jù)管理系統(tǒng)-票據(jù)管理系統(tǒng)論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:指導(dǎo)教師姓名(職稱):論文提交日期:中小型企業(yè)財務(wù)票據(jù)管理系統(tǒng)票據(jù)管理系統(tǒng)摘 要票據(jù)管理是指公司財務(wù)報銷工作中涉及的各種票據(jù)的日常管理,常見的票據(jù)有差旅費報銷單、費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單等。這些票據(jù)的管理是公司財務(wù)工作中最為常見的工作,同時也是繁雜、煩瑣的工作。在工作量越來越大,而又不斷要求提高工作效率的實際工作中,傳統(tǒng)的手工票據(jù)管理工作方式已經(jīng)遠遠不能適應(yīng)工作需要。如何有效、高效的完成這項看似乎簡單、實則復(fù)雜的工作呢。顯然采用軟件系統(tǒng)來實現(xiàn)輔助辦公是高效率完成這項工作的有效方法之
2、一,雖然通用的票據(jù)管理系統(tǒng)不乏存在,但是和實際工作都存在一定差距,并不能很好地在實際應(yīng)用中使用。因此開發(fā)一個適合中小型企業(yè)使用的票據(jù)管理系統(tǒng)是一個非常有實際意義的工作。本文正是針對現(xiàn)實中中小型企業(yè)財務(wù)票據(jù)管理的現(xiàn)狀,從實用角度介紹了一個使用delphi開發(fā)的基于access數(shù)據(jù)庫的票據(jù)管理系統(tǒng)。這個管理系統(tǒng)會針對以前財務(wù)系統(tǒng)所存在的問題,根據(jù)我們公司實際使用情況進行開發(fā)。主要從實用性為目的進行設(shè)計,目的是設(shè)計一個適合中小型企業(yè)使用的財務(wù)票據(jù)管理系統(tǒng)。關(guān)鍵字:票據(jù);delphi;accessmanagement of finance bills system for a small and me
3、dium enterpriseabstractmanagement of bills refers to the companys financial reimbursement work involved in the day-to-day management of the bills. bills are common travel claims, the cost of claims, accounting vouchers, checks and cash jinzhangchan etc. these notes the companys financial management
4、is the work of the most common work, it is also complicated, cumbersome task.in an increasingly heavy workload, and the growing demand for higher efficiency of the actual work.notes the traditional manual management mode is far from being able to meet needs .how effective and efficient completion of
5、 this seems to be simple, but it is in fact a complex work? clearly software system used to achieve back-office efficiency is completed this work one of the effective ways. although generic instrument management system many exist, but the actual work, and there are some gaps, not very good in the us
6、e of practical applications. therefore the development of small and medium enterprises to use the instrument management system is a very meaningful work. it is against this reality smes financial management of the paper, from a practical perspective on the use of a delphi-based access database notes
7、. this system can aim at the question which the before finance system existed, carried on the development according to our company actual service condition. mainly carries on the design from the usability for the goal, the goal is designs the financial bill management system management system which
8、suits the small and medium-sized enterprise to use.key words: bills; delphi; access目 錄論文總頁數(shù):29頁1引言11.1編寫目的11.2編寫背景12系統(tǒng)需求說明12.1系統(tǒng)需求分析12.2總體結(jié)構(gòu)22.3票據(jù)管理系統(tǒng)業(yè)務(wù)流程32.4票據(jù)管理系統(tǒng)模塊功能介紹32.4.1差旅費報銷系統(tǒng)32.4.2費用報銷系統(tǒng)42.4.3記帳憑證系統(tǒng)52.4.4現(xiàn)金支票系統(tǒng)52.4.5進帳單系統(tǒng)63方案選擇73.1編程語言73.1.1編程語言介紹73.1.2系統(tǒng)中使用到的控件介紹83.2數(shù)據(jù)庫83.2.1數(shù)據(jù)庫選擇背景83.2.2數(shù)
9、據(jù)庫介紹93.2.3數(shù)據(jù)源的約定93.2.4數(shù)據(jù)庫訪問約定94票據(jù)系統(tǒng)的設(shè)計94.1系統(tǒng)介紹94.2系統(tǒng)功能性要求104.3數(shù)據(jù)庫命名標準與規(guī)范104.4數(shù)據(jù)庫邏輯設(shè)計104.5數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計114.6設(shè)計約束124.7設(shè)計策略124.8系統(tǒng)概要設(shè)計說明124.8.1系統(tǒng)總體結(jié)構(gòu)圖124.8.2差旅票據(jù)登記流程圖135票據(jù)系統(tǒng)的實現(xiàn)135.1系統(tǒng)核心模塊135.2系統(tǒng)核心模塊詳解145.2.1函數(shù)auto_sql145.2.2函數(shù)read_data145.2.3函數(shù)clearctl155.3具體設(shè)計過程155.3.1差旅費報銷單設(shè)計155.3.2主頁面設(shè)計175.4應(yīng)用界面舉例215.4.
10、1選擇票據(jù)類型215.4.2新建票據(jù)記錄225.4.3打印界面22結(jié) 論25附 錄26參考文獻27致 謝28聲 明291引言1.1編寫目的票據(jù)管理是指企業(yè)或者其他單位財務(wù)報銷工作中涉及的各種票據(jù)的日常管理,常見的票據(jù)有差旅費報銷單、費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單等。上訴票據(jù)的管理一般包括對票據(jù)的填寫、保存、查詢、打印等,而票據(jù)管理是企業(yè)或者其他單位財務(wù)工作中最為常見的工作,同時也是繁雜、煩瑣的工作。在工作量越來越大,而又不斷要求提高工作效率的實際工作中,傳統(tǒng)的手工票據(jù)管理工作方式已經(jīng)遠遠不能適應(yīng)工作需要。如何有效、高效的完成這項看似乎簡單、實則復(fù)雜的工作呢。顯然采用軟件系統(tǒng)來實現(xiàn)輔助
11、辦公是高效率完成這項工作的有效方法之一,雖然通用的票據(jù)管理系統(tǒng)不乏存在,但是和實際工作都存在一定差距,并不能很好地在實際應(yīng)用中使用。因此開發(fā)一個適合中小型企業(yè)使用的票據(jù)管理系統(tǒng)是一個非常有實際意義的工作。本文正是針對現(xiàn)實中中小型企業(yè)財務(wù)票據(jù)管理的現(xiàn)狀,從實用角度介紹了一個使用delphi開發(fā)的基于access數(shù)據(jù)庫的票據(jù)管理系統(tǒng),在開發(fā)過程中,將針對以前類似軟件的不足進行改進,使財務(wù)票據(jù)管理系統(tǒng)能夠在實際工作中得到充分利用。1.2編寫背景項目名稱:中小型企業(yè)財務(wù)票據(jù)管理系統(tǒng)項目來源:公司項目項目性質(zhì):應(yīng)用類軟件系統(tǒng)項目關(guān)鍵詞:票據(jù)、delphi、access開發(fā)者:成都信息工程學(xué)院網(wǎng)絡(luò)工程系網(wǎng)
12、絡(luò)工程專業(yè)2003級2班王旭君2系統(tǒng)需求說明2.1系統(tǒng)需求分析從主要性能上來講,財務(wù)票據(jù)管理主要實現(xiàn)對常見財務(wù)票據(jù)的填寫、保存、查詢、修改、打印等工作,如差旅費報銷單、費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單等;從系統(tǒng)本身適用性來講,財務(wù)票據(jù)管理主要是針對中小型企業(yè)或單位實現(xiàn)對數(shù)據(jù)的管理;從實用性來講,財務(wù)票據(jù)管理主要從安全性、存儲速度、操作方便程度來實現(xiàn)。因此,從實際工作出發(fā),以主要性能為依據(jù)、以實用性為目標,對系統(tǒng)的功能提出了如下需求:.財務(wù)工作人員可以根據(jù)實際情況方便快捷錄入財務(wù)數(shù)據(jù):票據(jù)類型應(yīng)包含常見財務(wù)票據(jù),如差旅費報銷單、費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單等;不同票據(jù)類型也應(yīng)
13、該根據(jù)實際情況設(shè)計相應(yīng)的操作界面,并包含相應(yīng)的詳細記錄,如在差旅費報銷單中應(yīng)該有出差人、報銷日期、票據(jù)編號、出差事由、出差起止日期、單據(jù)張數(shù)、單獨金額等詳細記錄,在費用報銷單中應(yīng)該有費用項目、類別、金額、報銷金額總計等,在記帳憑證中應(yīng)該有總帳科目、明細科目、借方、貸方等,在現(xiàn)金支票中應(yīng)該有付款行名稱、收款人、出票人帳號等;.財務(wù)工作人員在根據(jù)實際情況錄入數(shù)據(jù)以后,需要能快速、方便地核對數(shù)據(jù):界面設(shè)計要求方便查閱和其他操作;相關(guān)的小類數(shù)據(jù)要求實現(xiàn)自動疊加,以減少財務(wù)人員的工作量。.在錄入并核對完成后,實現(xiàn)對數(shù)據(jù)的保存:界面要求設(shè)保存和新鍵按鈕,以實現(xiàn)對現(xiàn)有數(shù)據(jù)的保存和接下來新數(shù)據(jù)的方便錄入;在點
14、擊新鍵按鈕后,要求實現(xiàn)對現(xiàn)有界面的清空。.在順利保存完數(shù)據(jù)后,實現(xiàn)對數(shù)據(jù)的管理,包括查詢、修改、刪除等操作:實現(xiàn)對數(shù)據(jù)的查詢,這個功能至關(guān)重要,所謂的財務(wù)管理即是要做到對數(shù)據(jù)的保存,并方便在日后的工作中能找出歷史數(shù)據(jù)進行核對,這就要求在系統(tǒng)內(nèi)能實現(xiàn)快速、方便地對數(shù)據(jù)庫進行寫入和調(diào)用;實現(xiàn)對數(shù)據(jù)的修改,在已經(jīng)進行了錯誤錄入的情況下,要求實現(xiàn)對數(shù)據(jù)的修改,而實現(xiàn)這一功能的前提,即是實現(xiàn)對數(shù)據(jù)的查詢;實現(xiàn)對數(shù)據(jù)的刪除,考慮到此軟件的使用者是中小型企業(yè)的財務(wù)管理人員,并不能要求他們能熟練實現(xiàn)對數(shù)據(jù)庫的操作,故要求在系統(tǒng)內(nèi)加入對系統(tǒng)數(shù)據(jù)的刪除功能。2.2總體結(jié)構(gòu)圖1 中小型企業(yè)財務(wù)票據(jù)管理系統(tǒng)主要功能模
15、塊結(jié)構(gòu)示意圖整個票據(jù)管理系統(tǒng)包括五大部分:差旅費報銷系統(tǒng)、費用報銷系統(tǒng)、記帳憑證系統(tǒng)、現(xiàn)金支票系統(tǒng)和進帳單系統(tǒng)。而每個系統(tǒng)都是先進行詳細信息登記,然后進行保存,在保存后可以對登記信息進行打印、查詢、修改、刪除等操作。而在進行登記的時候,能夠從系統(tǒng)外加入相關(guān)數(shù)據(jù)。2.3票據(jù)管理系統(tǒng)業(yè)務(wù)流程財務(wù)票據(jù)管理系統(tǒng)業(yè)務(wù)流程設(shè)計思想如下:報銷人向財務(wù)人員提交相關(guān)數(shù)據(jù),要求詳細而準確;財務(wù)人員對提交的財務(wù)數(shù)據(jù)選擇相應(yīng)的系統(tǒng)進行錄入,然后保存,如果是系統(tǒng)外數(shù)據(jù),可以選擇“由文件裝入”;在對數(shù)據(jù)進行錄入后,需要查詢歷史數(shù)據(jù)后,重新進入系統(tǒng),先設(shè)定好查詢條件,如票據(jù)類型、年、月等,實現(xiàn)對歷史數(shù)據(jù)的查詢;在查詢到相關(guān)
16、數(shù)據(jù)后,若要對查看詳細信息,雙擊列表,在彈出的對話框中查看詳細信息;若要對數(shù)據(jù)進行修改,在查詢出歷史記錄后,在表格內(nèi)對相關(guān)數(shù)據(jù)進行改動,然后保存,當提示“保存成功”后,數(shù)據(jù)修改成功;若要對數(shù)據(jù)進行刪除,先查詢出列表,然后選中單條記錄,點擊“刪除”鍵。若要對相關(guān)數(shù)據(jù)進行打印,進入相關(guān)數(shù)據(jù)界面后,點擊打印,并要求能在打印時對打印進行相關(guān)設(shè)置。2.4票據(jù)管理系統(tǒng)模塊功能介紹票據(jù)管理系統(tǒng)作為財務(wù)票據(jù)管理系統(tǒng)的主要實現(xiàn)部分,主要包括對差旅費報銷單、費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單數(shù)據(jù)的錄入、保存、打印、查詢、修改、刪除等操作。2.4.1差旅費報銷系統(tǒng)圖2 差旅費報銷系統(tǒng)結(jié)構(gòu)圖1、差旅費報銷系統(tǒng)查
17、詢差旅費報銷系統(tǒng)的查詢,作為模塊的功能放在首要位置,實現(xiàn)對歷史數(shù)據(jù)的查找,方便財務(wù)管理。在此功能中設(shè)定年份、月份以縮小查找范圍,更快地找到指定目標。2、差旅費報銷系統(tǒng)刪除在查詢出相應(yīng)數(shù)據(jù)后,單擊選中要刪除的記錄,點擊“刪除”即可刪除。3、差旅費報銷系統(tǒng)新建在點新建進入填寫界面后,可直接錄入,也可以由文件裝入,也可以把填寫的數(shù)據(jù)保存為文本,直接填寫后,可以選擇保存、打印、預(yù)覽、新建。2.4.2費用報銷系統(tǒng) 圖3 費用報銷系統(tǒng)結(jié)構(gòu)圖1、費用報銷系統(tǒng)查詢費用報銷系統(tǒng)的查詢,作為模塊的功能放在首要位置,實現(xiàn)對歷史數(shù)據(jù)的查找,方便財務(wù)管理。在此功能中設(shè)定年份、月份以縮小查找范圍,更快地找到指定目標。2、
18、費用報銷系統(tǒng)刪除在查詢出數(shù)據(jù)后,單擊選中后即可刪除。3、費用系統(tǒng)新建在點新建進入填寫界面后,直接填寫后,可以選擇保存、打印、預(yù)覽、新建。在費用欄里填寫入數(shù)字信息后,財務(wù)人員不用手動計算總和,系統(tǒng)會自動計算并顯示在金額總計里。2.4.3記帳憑證系統(tǒng)圖4 記帳憑證系統(tǒng)結(jié)構(gòu)圖1、記帳憑證系統(tǒng)查詢費用報銷系統(tǒng)的查詢,作為模塊的功能放在首要位置,實現(xiàn)對歷史數(shù)據(jù)的查找,方便財務(wù)管理。在此功能中設(shè)定年份、月份以縮小查找范圍,更快地找到指定目標。2、記帳憑證系統(tǒng)刪除在查詢出數(shù)據(jù)后,單擊選中后即可刪除。3、記帳憑證新建在點新建進入填寫界面后,直接填寫后,可以選擇保存、打印、預(yù)覽、新建。在費用欄里填寫入數(shù)字信息后
19、,財務(wù)人員不用手動計算總和,系統(tǒng)會自動計算并顯示在金額總計里。2.4.4現(xiàn)金支票系統(tǒng)圖5 現(xiàn)金支票系統(tǒng)結(jié)構(gòu)圖1、現(xiàn)金支票系統(tǒng)查詢現(xiàn)金支票系統(tǒng)的查詢,作為模塊的功能放在首要位置,實現(xiàn)對歷史數(shù)據(jù)的查找,方便財務(wù)管理。在此功能中設(shè)定年份、月份以縮小查找范圍,更快地找到指定目標。2、現(xiàn)金支票系統(tǒng)刪除在查詢出數(shù)據(jù)后,單擊選中后即可刪除。3、現(xiàn)金支票新建在點新建進入填寫界面后,直接填寫后,可以選擇保存、打印、預(yù)覽、新建。在費用欄里填寫入數(shù)字信息后,財務(wù)人員不用手動計算總和,系統(tǒng)會自動計算并顯示在金額總計里。2.4.5進帳單系統(tǒng)圖6 進帳單系統(tǒng)結(jié)構(gòu)圖1、進帳單系統(tǒng)查詢進帳單系統(tǒng)的查詢,作為模塊的功能放在首要
20、位置,實現(xiàn)對歷史數(shù)據(jù)的查找,方便財務(wù)管理。在此功能中設(shè)定年份、月份以縮小查找范圍,更快地找到指定目標。2、進帳單系統(tǒng)刪除在查詢出數(shù)據(jù)后,單擊選中后即可刪除。3、進帳單新建在點新建進入填寫界面后,直接填寫后,可以選擇保存、打印、預(yù)覽、新建。在費用欄里填寫入數(shù)字信息后,財務(wù)人員不用手動計算總和,系統(tǒng)會自動計算并顯示在金額總計里。3方案選擇3.1編程語言3.1.1編程語言介紹本系統(tǒng)采用的編程語言是borland delphi5.0。delphi:delphi是borland公司研制的新一代可視化開發(fā)工具,可在windows3.x、windows95、windowsnt等環(huán)境下使用。它擁有一個可視化的
21、集成開發(fā)環(huán)境(ide),采用面向?qū)ο蟮木幊陶Z言objectpascal和基于部件的開發(fā)結(jié)構(gòu)框架。delphi它提供了500多個可供使用的構(gòu)件,利用這些部件,開發(fā)人員可以快速地構(gòu)造出應(yīng)用系統(tǒng)。開發(fā)人員也可以根據(jù)自己的需要修改部件或用delphi本身編寫自己的部件。主要特點如下: (1)直接編譯生成可執(zhí)行代碼,編譯速度快。由于delphi編譯器采用了條件編譯和選擇鏈接技術(shù),使用它生成的執(zhí)行文件更加精煉,運行速度更快。在處理速度和存取服務(wù)器方面,delphi的性能遠遠高于其他同類產(chǎn)品。(2)支持將存取規(guī)則分別交給客戶機或服務(wù)器處理的兩種方案,而且允許開發(fā)人員建立一個簡單的部件或部件集合,封裝起所有的
22、規(guī)則,并獨立于服務(wù)器和客戶機,所有的數(shù)據(jù)轉(zhuǎn)移通過這些部件來完成。這樣,大大減少了對服務(wù)器的請求和網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了應(yīng)用處理的速度。(3)提供了許多快速方便的開發(fā)方法,使開發(fā)人員能用盡可能少的重復(fù)性工作完成各種不同的應(yīng)用。利用項目模板和專家生成器可以很快建立項目的構(gòu)架,然后根據(jù)用戶的實際需要逐步完善。(4)具有可重用性和可擴展性。開發(fā)人員不必再對諸如標簽、按鈕及對話框等windows的常見部件進行編程。delphi包含許多可以重復(fù)使用的部件,允許用戶控制windows的開發(fā)效果。(5)具有強大的數(shù)據(jù)存取功能。它的數(shù)據(jù)處理工具bde(borlanddatabaseengine)是一個標準的
23、中介軟件層,可以用來處理當前流行的數(shù)據(jù)格式,如xbase、paradox等,也可以通過bde的sqllink直接與sybase、sqlserver、informix、oracle等大型數(shù)據(jù)庫連接。 delphi既可用于開發(fā)系統(tǒng)軟件,也適合于應(yīng)用軟件的開發(fā)。(6)擁有強大的網(wǎng)絡(luò)開發(fā)能力,能夠快速的開發(fā)b/s應(yīng)用,它內(nèi)置的intraweb和expressweb使得對于網(wǎng)絡(luò)的開發(fā)效率超過了其他任何的開發(fā)工具。(7)delphi使用獨特的vcl類庫,使得編寫出的程序顯得條理清晰,vcl是現(xiàn)在最優(yōu)秀的類庫,它使得delphi在軟件開發(fā)行業(yè)處于一個絕對領(lǐng)先的地位。用戶可以按自己的需要,任意的構(gòu)建、擴充、甚
24、至是刪減vcl,以滿足不同的需要3.1.2系統(tǒng)中使用到的控件介紹1、tdatabase部件為應(yīng)用程序提供了對單個數(shù)據(jù)庫的直接連接功能,它對于應(yīng)用程序連接至遠程數(shù)據(jù)庫服務(wù)器時,控制數(shù)據(jù)庫事務(wù)處理特別重要。其主要屬性有:aliasename:指定用于數(shù)據(jù)庫連接的borland數(shù)據(jù)庫引擎的別名。即在 odbc中指定的數(shù)據(jù)源名稱。databasename:指定于數(shù)據(jù)庫部件相關(guān)聯(lián)的數(shù)據(jù)庫名稱。即在程序內(nèi)部引用控件時使用的名稱。loginprompt:指定當建立一個數(shù)據(jù)庫連接時是否顯示一個標準注冊對話框。當指定為false時,需要在params屬性中指定訪問數(shù)據(jù)庫的用戶名和密碼。2、tdataset部件數(shù)
25、據(jù)集部件,編程通過此部件實現(xiàn)各種數(shù)據(jù)庫sql語言操作。其主要方法有:open:打開數(shù)據(jù)集。next:移動到下一條數(shù)據(jù)記錄。close:關(guān)閉數(shù)據(jù)集。3、tdatasource部件tdatasource部件提供了數(shù)據(jù)集部件與數(shù)據(jù)感應(yīng)部件之間的接口,它在數(shù)據(jù)集和數(shù)據(jù)控件之間起著管道作用,管道中的信息就是數(shù)據(jù)集中的數(shù)據(jù),而數(shù)據(jù)控件把通過通過數(shù)據(jù)源傳遞過來的數(shù)據(jù)流在窗體中可視地顯示出來,并且允許用戶可視地編輯、導(dǎo)航這些數(shù)據(jù)。任何數(shù)據(jù)集的數(shù)據(jù)要想在數(shù)據(jù)控件中顯示和操作,都必須與一個數(shù)據(jù)源部件建立連接,同樣,任何數(shù)據(jù)控件希望接收和操作數(shù)據(jù)集中的數(shù)據(jù),也需要一個與數(shù)據(jù)源建立連接,圖2-1顯示了數(shù)據(jù)集部件、數(shù)據(jù)
26、源部件和數(shù)據(jù)感應(yīng)部件之間的關(guān)系。數(shù)據(jù)感應(yīng)部件顯示操作數(shù)據(jù)數(shù)據(jù)源部件數(shù)據(jù)集部件存儲數(shù)據(jù)圖7 數(shù)據(jù)源部件的作用3.2數(shù)據(jù)庫3.2.1數(shù)據(jù)庫選擇背景本系統(tǒng)采用microsoft access2000作為數(shù)據(jù)庫系統(tǒng)存儲數(shù)據(jù)。因為票據(jù)系統(tǒng)只是一個單用戶使用的系統(tǒng),而且數(shù)據(jù)量相對較小,而且本軟件對數(shù)據(jù)庫的要求較低,因此選用access數(shù)據(jù)庫作為本系統(tǒng)的數(shù)據(jù)存儲。3.2.2數(shù)據(jù)庫介紹access:access是微軟公司出的office中一個軟件,是一個小型數(shù)據(jù)庫,美國microsoft公司于1994年推出的微機數(shù)據(jù)庫管理系統(tǒng)。它具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點,是典型的新一代桌面數(shù)據(jù)庫管理系
27、統(tǒng)。其主要特點如下:(1)完善地管理各種數(shù)據(jù)庫對象,具有強大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。(2)強大的數(shù)據(jù)處理功能,在一個工作組級別的網(wǎng)絡(luò)環(huán)境中,使用access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的xbase(dbase、foxbase的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實現(xiàn)的客戶服務(wù)器(cient/server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機制,access具備了許多先進的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯回滾能力等。(3)可以方便地生成各種數(shù)據(jù)對象,利用存儲的數(shù)據(jù)建立窗體和報表,可視性好。(4)作為office套件的一部分,可以與office集成,實現(xiàn)無縫連接。(5)能夠利用web檢索
28、和發(fā)布數(shù)據(jù),實現(xiàn)與internet的連接。access主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。3.2.3數(shù)據(jù)源的約定本系統(tǒng)中使用了自定義控件,如數(shù)據(jù)庫訪問和打印。數(shù)據(jù)庫訪問控件tclset通過對tquery控件,tdatasource控件,tdatabase控件的封裝形成了一個新的自定義控件,它簡化了數(shù)據(jù)庫訪問時需要對tquery,tdatasource,tdatabase控件進行關(guān)系設(shè)置的煩瑣手續(xù),在使用它時tclset控件的使用方法和tquery的使用完全一致。tclset控件通過odbc與access數(shù)據(jù)庫連接。使用odbc而不使用ado是odbc比ado更具
29、備通用性。3.2.4數(shù)據(jù)庫訪問約定數(shù)據(jù)庫在odbc中被引用的數(shù)據(jù)源名稱為erm。4票據(jù)系統(tǒng)的設(shè)計4.1系統(tǒng)介紹票據(jù)管理系統(tǒng)定位于簡單、適用,適合各種中小企業(yè)對票據(jù)管理需要。系統(tǒng)使用桌面數(shù)據(jù)庫access作為后臺數(shù)據(jù)庫。因此,系統(tǒng)適合在任何能運行access的windows平臺。票據(jù)系統(tǒng)界面友好,操作簡單。在操作上充分考慮財務(wù)人員使用的方便性。4.2系統(tǒng)功能性要求表4-2 系統(tǒng)功能性要求功能序號功能名稱功能說明1差旅費報銷單管理包含差旅費報銷單信息的登記、修改等2費用報銷單管理包含費用報銷單信息的登記、修改等3記帳憑證管理包含記帳憑證信息的登記、修改等4現(xiàn)金支票管理包含現(xiàn)金支票信息的登記、修改等
30、5進帳單管理包含進帳單信息的登記、修改等6數(shù)據(jù)查詢包含數(shù)據(jù)查詢4.3數(shù)據(jù)庫命名標準與規(guī)范表4-3 數(shù)據(jù)庫及各表、視圖的命名方法名稱類型命名辦法約定票據(jù)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫字母表基本表漢字或字母查詢查詢漢字字段字段漢字或字母4.4數(shù)據(jù)庫邏輯設(shè)計表4-4 數(shù)據(jù)庫邏輯設(shè)計名稱類型用途名稱差旅費報銷單基本表用于記錄員工出差費用詳細情況登記,如車船票,機票,住宿費,出租車費用及出差補助費用等。chuchai費用報銷單基本表用于記錄員工出差時購買生活必須品的報銷記錄,如床單,被褥以及其他工作物品如網(wǎng)絡(luò)測試儀器,電工工具等。feiyong記帳憑證基本表用于公司記錄借貸情況明細記錄jizhang 現(xiàn)金支票基本表指
31、銀行進帳單,用于公司通過銀行出帳支票交易的記錄,及出帳單的套打。zhipiao進帳單基本表指銀行進帳單,用于公司通過銀行進帳支票交易的記錄,及進帳單的套打。jinzhangdan圖8 數(shù)據(jù)庫邏輯結(jié)構(gòu)圖4.5數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計系統(tǒng)目前只涉及到六張表格,為適應(yīng)以后添加更多的表單及情況下,系統(tǒng)能達到易于擴展的目的,以及系統(tǒng)所涉及的表格的各種數(shù)據(jù)項目的特點,在程序設(shè)計時對保存數(shù)據(jù)及讀取的統(tǒng)一處理。在表設(shè)計時表中只設(shè)計兩種字段類型即數(shù)字型和字串型,且只有主鍵使用數(shù)字型,其他字段全部使用字串型,盡管實際存放的數(shù)據(jù)應(yīng)該是日期,數(shù)字或貨幣型。字段名使用有規(guī)律的序號排列,字段名稱不表示任何和實際存儲的數(shù)據(jù)的聯(lián)系
32、。具體表結(jié)構(gòu)及表名如下:表名:chuchai表名:chuchai表名:jinzhangdan表名:jizhang表名:zhipiao以上表結(jié)構(gòu)都一樣,表4-5 具體結(jié)構(gòu)字段名稱類型字段長度備注id數(shù)字字母主鍵f1文本255f2文本255f3文本255f4文本255f5文本255f6文本255f7文本255文本255f30文本2554.6設(shè)計約束系統(tǒng)在設(shè)計時,從用戶使用的角度上講要達到方便性,因此在輸入問題上需要提供以下方便性。一、能夠提供記憶功能:也即用戶下次在該輸入框輸入數(shù)據(jù)時,以下拉列表的形式提供用戶選擇最近有限次數(shù)的輸入數(shù)據(jù)項。二、固定文本選擇功能:功能類似windows標準下拉框,所不
33、同之處在于用戶能夠自行維護選擇框的內(nèi)容。三、用戶在錄入數(shù)據(jù)時按照輸入順序在回車之后自動跳轉(zhuǎn)到下一個輸入框,而不是借用鼠標或者tab鍵移動。四、在輸入框控件上實現(xiàn)數(shù)據(jù)類型的約束,即輸入數(shù)字的地方不能輸入非數(shù)字信息。從系統(tǒng)實現(xiàn)考慮,每個表格的數(shù)據(jù)保存與讀取采用一個通用的保存數(shù)據(jù)和讀取數(shù)據(jù)函數(shù)來解決,這樣有利于提高代碼可用性和可維護性。各種票據(jù)的打印是票據(jù)管理軟件的最常用功能,本軟件的打印控件是本公司其他軟件中的打印控件引用過來的。它的功能非常強大,例如能夠?qū)崿F(xiàn)在預(yù)覽界面調(diào)整上下左右邊距,拖動整個打印區(qū)域,橫向、縱向打印,設(shè)置各種字體等,還有一個很重要的功能就是套打,它的實現(xiàn)原理就是在預(yù)覽時能夠?qū)?/p>
34、際的掃描進系統(tǒng)的需要套打的票據(jù)圖片顯示出來,給人以實際感覺,然后需要套打的部份則可以在預(yù)覽界面編輯,或調(diào)整位置,設(shè)置字體,字體大小等。打印的時候,只打印定義為需要打印的部分。4.7設(shè)計策略要實現(xiàn)用戶輸入的要求,必須要自行開發(fā)一個控件來實現(xiàn)該功能,該控件封裝自tedit類,其四個功能可以通過為tedit的hint屬性設(shè)置為mem(表示記憶框),int(表示輸入數(shù)字),money(表示輸入的數(shù)據(jù)為貨幣型)或為一個文本文件名如“出差人員.txt”來實現(xiàn)。要自動實現(xiàn)通用的保存數(shù)據(jù)和讀取數(shù)據(jù)功能,需要程序設(shè)計時對需要保存數(shù)據(jù)的控件的名稱做約定。例如控件名稱即為對應(yīng)存儲表的字段名稱?;蚪⒁粋€控件名和字段
35、的對應(yīng)關(guān)系設(shè)置來實現(xiàn)。4.8系統(tǒng)概要設(shè)計說明4.8.1系統(tǒng)總體結(jié)構(gòu)圖圖9 系統(tǒng)總體結(jié)構(gòu)圖4.8.2差旅票據(jù)登記流程圖圖10 差旅票據(jù)登記流程圖5票據(jù)系統(tǒng)的實現(xiàn)5.1系統(tǒng)核心模塊表5-1 系統(tǒng)核心模塊模塊名類型原型或聲明模塊說明openform子程序procedure openform(s_flag:boolean)打開票據(jù)登記界面的方式,是只讀狀態(tài)還是非只讀狀態(tài)。getnewid函數(shù)functiongetnewid(table:string;query1:tclset):string;往數(shù)據(jù)庫寫新的記錄時取得的id值auto_sql函數(shù)function auto_sql(aform:tform
36、;atable:string;flag:integer;query1:tclset;txtrecord:ttxtrecord):string;自動合成的保存數(shù)據(jù)的sql語句。read_data子程序procedure read_data(aform:tform;atable:string;query1:tclset);讀取數(shù)據(jù)過程。compute_sum函數(shù)function compute_sum(aform:tform;e1,e2,e3,e4,e5,e6,e7,e8,e9,e10:string):string;計算合計項目clearctl子程序procedure clearctl(aform
37、:tform;c_type:string);新增狀態(tài)時,清除界面上的某些輸入項目。5.2系統(tǒng)核心模塊詳解5.2.1函數(shù)auto_sql功能說明:該函數(shù)在調(diào)用時能夠遍列窗體上的tedit,tdatatime,tmemo等輸入性的控件,根據(jù)控件的name和實際存儲的表字段之間的約定自動生成操縱數(shù)據(jù)庫的語句。如insert語句和update語句。(1)變量value_str為tstringlist,用于為動態(tài)生成insert或update語句臨時存儲輸入控件的值, (2)循環(huán)遍列控件語句:for i:=0 to aform.componentcount-1 do (3)根據(jù)控件的classname屬
38、性確定控件的類型。如果控件的classname=tedit,則為標準輸入控件。如下為代碼片段。if aform.componentsi.classname=tedit then/ 判斷該控件是tedit類 sqlstr:=sqlstr+aform.componentsi.name;/取控件名,該控件名即為其對應(yīng)的數(shù)據(jù)庫存儲字段名 value_str.add(aform.componentsi as tedit).text);/取控件輸入框的值,該值即為當前用戶輸入的值。 (1)value_str中值的順序與insert中的字段順序一一對應(yīng)。(2)同樣可以遍列tdatatime,tmemo控件,
39、并取得對應(yīng)字段和值。5.2.2函數(shù)read_data功能說明:該過程通過遍列窗體上的tedit,tdatatime,tmemo等輸入性的控件,根據(jù)控件的name和實際存儲的表字段之間的約定自動賦予相應(yīng)的值到控件上。(1)從對應(yīng)的表選擇相應(yīng)的數(shù)據(jù)。readsql:=select * from +atable+ where id=+cur_id; (2)通過循環(huán)生成字段和值間對應(yīng)關(guān)系。for j:=0 to fields.count-1 do/ /str_name存儲字段名,同時該名稱還是窗體上輸入控件的名字。 str_name.add(fields.fieldsj.fieldname); / s
40、tr_value存儲字段名對應(yīng)的值, 同時該值是窗體上輸入控件的值。 str_value.add(fields.fieldsj.asstring);(3)str_name 和str_value 之間存儲的字段名和值是一一對應(yīng)的關(guān)系,因此控件名在str_name中找到的索引也為值在str_value中的索引。對應(yīng)代碼片段為:value_index:=str_name.indexof(aform.componentsi.name);/控件名在str_name中找到的索引 if value_index-1 then (aform.componentsi as tedit).text:=str_val
41、ue.stringsvalue_index; /控件值在str_value中的索引5.2.3函數(shù)clearctl功能說明:該函數(shù)在新建記錄時,清除輸入控件上當前值。例如,清除tedit控件的值代碼如下。if aform.componentsi.classname=tedit then (aform.componentsi as tedit).text:=;5.3具體設(shè)計過程5.3.1差旅費報銷單設(shè)計1、首先新建一個application,將form1的caption屬性設(shè)置為差旅費報銷單,然后在此設(shè)計面板上加上若干控件,其中包括:topendialog、tbutton、tshape、tlabe
42、l以及tspeedbutton,在差旅費報銷單設(shè)計中主要實現(xiàn)的幾個功能按鈕為“由文件裝入”、“保存為文本”、“保存”、“打印”、“預(yù)覽”、“新建”、“關(guān)閉”。其中,“由文件裝入”的onclick事件的處理程序如下, procedure tfrmchuchai.button1click(sender: tobject);begin opendialog1.filter:=*.clf; if opendialog1.execute then begin if opendialog1.files.count1 then else readtxtdata(opendialog1.filename);
43、end;end;“保存為文本”的onclick事件的處理程序如下,在保存成功后會用message.box顯示“保存成功”提示。procedure tfrmchuchai.button2click(sender: tobject);var txtrecord:ttxtrecord;begin txtrecord.istxt :=true; txtrecord.ccr:=f23.text; txtrecord.qsrq :=f4.datestring+-+f5.datestring; if auto_sql(self,chuchai,1,query1,txtrecord)=exit then ex
44、it;/ application.messagebox(保存成功,提示,64);end;speedbutton“保存” 的onclick事件的處理程序如下:procedure tfrmchuchai.speedbutton1click(sender: tobject);var sqlstr:string; txtrecord:ttxtrecord;begin txtrecord.istxt :=false; sqlstr:=auto_sql(self,chuchai,m_mode,query1,txtrecord); with query1 do begin close; sql.text:=
45、sqlstr; sql.savetofile(error.log); try execsql; m_mode:=2; application.messagebox(保存成功,提示,64); except application.messagebox(保存失??!,提示,64); end; end;end;“打印”的onclick事件的處理程序如下,其中的 *.mws文件為本公司自定義報表文件。procedure tfrmchuchai.speedbutton2click(sender: tobject);begin openreport(self,差旅報銷單.mws,nil,0,true);en
46、d;“預(yù)覽”的onclick事件的處理程序如下,procedure tfrmchuchai.speedbutton5click(sender: tobject);begin openreport(self,差旅報銷單.mws,nil,0,false);end;“新建”的onclick事件的處理程序如下,原理是使用clear清除現(xiàn)有表格中有的數(shù)據(jù),procedure tfrmchuchai.speedbutton3click(sender: tobject);begin clearctl(self,2); m_mode:=1;end;而“關(guān)閉”的onclick事件的處理程序僅僅是調(diào)用close來
47、退出當前程序。其他幾個表單,如費用報銷單、記帳憑證、現(xiàn)金支票以及進帳單的設(shè)計與差旅費報銷單的設(shè)計類似,這里就不在贅述,下面介紹一下主頁面的設(shè)計:5.3.2主頁面設(shè)計主頁面上主要包含了tedit、tlabel、tbutton、tlistview、timagelist等控件,其中的功能按鈕主要包括:“查詢”、“刪除”、“新建”、“關(guān)閉”,其中,“查詢”的onclick事件處理程序為:procedure tfrmlist.button1click(sender: tobject);var list_item:tlistitem;begin if trim(edit1.text) = then exi
48、t; with query2,listview1 do begin items.clear ; close; if edit1.text=差旅費報銷單 then begin sql.text:=select id,f1,f24 ,f3 from chuchai where 1=1; if trim(edit2.text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.tex
49、t=費用報銷單 then begin sql.text:=select id,f1,f3,f6,f9,f12,f15 from feiyong where 1=1; if trim(edit2.text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.text=記帳憑證 then begin sql.text:=select id,f1,f3 from jizhang wh
50、ere 1=1; if trim(edit2.text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.text=現(xiàn)金支票 then begin sql.text:=select id,f1,f6 from zhipiao where 1=1; if trim(edit2.text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.text) then sql.add( and datep
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車站裝修批蕩施工協(xié)議
- 防腐施工應(yīng)急預(yù)案合同
- 互聯(lián)網(wǎng)項目招投標合同注意事項
- 化工行業(yè)招待費管理新方法
- 花藝助理勞動合同注意事項
- 供水供電收費管理:發(fā)票管理辦法
- 食品飲料輸送管道施工
- 2025版空置房屋閑置資源盤活利用合作開發(fā)合同3篇
- 臨時辦學(xué)場所租賃合同
- 2025版二零二五年度新能源充電樁建設(shè)與運營合同3篇
- 編碼規(guī)則(標準)
- 家政培訓(xùn)行業(yè)的發(fā)展趨勢與前景分析
- 定制酒項目投資分析及可行性報告
- 售后客服年終工作總結(jié)匯報
- 教師專業(yè)化發(fā)展經(jīng)費保障制度
- 家長會課件:初二家長座談會課件
- 健康照護師(初級)理論知識考核試題
- 物理九年級全冊知識點總結(jié)(滬粵版)
- 20567-5納稅籌劃-教案及講稿
- 部編版三年級上冊作文評價表
- 2019MATLAB-Simulink電力系統(tǒng)建模與仿真第2版
評論
0/150
提交評論