VFp辦公用品管理系統(tǒng)論文_第1頁(yè)
VFp辦公用品管理系統(tǒng)論文_第2頁(yè)
VFp辦公用品管理系統(tǒng)論文_第3頁(yè)
VFp辦公用品管理系統(tǒng)論文_第4頁(yè)
VFp辦公用品管理系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

辦公用品管理系統(tǒng)畢業(yè)論文題

目:

年級(jí)專(zhuān)業(yè):

_____________學(xué)生姓名:

____________________學(xué)號(hào):

_________________________指導(dǎo)教師:

____________________職稱(chēng):

_________________________導(dǎo)師單位:

大學(xué)計(jì)算機(jī)學(xué)院

論文完成時(shí)間:

日前言

二十世紀(jì)是個(gè)科技飛速發(fā)展的時(shí)代,計(jì)算機(jī)的發(fā)明和使用推動(dòng)了他的進(jìn)步,這個(gè)世界的進(jìn)步從不停歇,電腦的確是一項(xiàng)值得興奮的好工具,這個(gè)跨世紀(jì)的產(chǎn)品將滿(mǎn)足大眾的需求,對(duì)大環(huán)境來(lái)說(shuō),加速了人與人的溝通,使生活更加便利,對(duì)個(gè)人而言,可以由電腦科技帶來(lái)的好處提升自己對(duì)社會(huì)的貢獻(xiàn),協(xié)助你開(kāi)創(chuàng)前途,對(duì)公司而言,則由科技所帶來(lái)的便利來(lái)增加公司的競(jìng)爭(zhēng)力,科技不斷地創(chuàng)新,不斷地滿(mǎn)足你我,也不斷產(chǎn)生需求。數(shù)據(jù)庫(kù)是一門(mén)研究數(shù)據(jù)管理的技術(shù),始于60年代,經(jīng)過(guò)幾十年的發(fā)展,已自成體系,成為計(jì)算機(jī)軟件的一個(gè)重要的分支。數(shù)據(jù)庫(kù)技術(shù)體現(xiàn)了當(dāng)代先進(jìn)的數(shù)據(jù)管理方法,贏得了社會(huì)的廣泛承認(rèn),并使計(jì)算機(jī)應(yīng)用真正滲透到國(guó)民經(jīng)濟(jì)各個(gè)部門(mén),在數(shù)據(jù)處理領(lǐng)域中正在發(fā)揮越來(lái)越大的作用。本論文是對(duì)辦公用品使用的管理,使其提高管理辦公用品的工作效率,我選擇了MicrosoftVisualfoxpro6.0中文版來(lái)編譯這個(gè)程序,因?yàn)樗欠浅?yōu)秀的編程軟件,在可視化和簡(jiǎn)單化方面都是非常優(yōu)秀的,我的論文第一章簡(jiǎn)單介紹了MicrosoftVisualfoxpro6.0中文版的發(fā)展和特點(diǎn)等,第二章闡述了管理信息系統(tǒng)的概念特點(diǎn)及開(kāi)發(fā)方法,通過(guò)前兩章的介紹第三章介紹了辦公用品管理系統(tǒng)的設(shè)計(jì)目標(biāo)、設(shè)計(jì)思想、和系統(tǒng)功能分析,第四章介紹了數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和結(jié)構(gòu)的實(shí)現(xiàn),第五章介紹了系統(tǒng)的各個(gè)功能模塊的創(chuàng)建,第六章介紹了辦公用品管理系統(tǒng)的進(jìn)行和編譯,第三到第六章主要介紹了系統(tǒng)開(kāi)發(fā)的全部過(guò)程,除了原文部分,原代碼統(tǒng)一記在附錄中。通過(guò)對(duì)辦公用品管理的開(kāi)發(fā),使我感受到了作為勞動(dòng)者,體會(huì)到辛苦耕耘的成果做成后的那份喜悅,雖然做的有很多的不足,但是只有在不足中進(jìn)步,才能做出更好的成果。在做這個(gè)程序中得到學(xué)校和老師的幫助,表示感謝,還要敬請(qǐng)指正不足之處。摘要辦公用品管理系統(tǒng)是辦公自動(dòng)化管理系統(tǒng)的重要組成部分,它可以對(duì)辦公用品的入庫(kù)和領(lǐng)用進(jìn)行規(guī)范化管理,進(jìn)而提高工作效率,避免資源的浪費(fèi)。此系統(tǒng)根據(jù)單位的辦公用品的購(gòu)買(mǎi),入庫(kù),領(lǐng)用流程而設(shè)計(jì)的,特別適用于分批次購(gòu)買(mǎi),各部門(mén)領(lǐng)用的模式,具有完善的輸入,統(tǒng)計(jì),查詢(xún)功能。這樣就更可以合理規(guī)范對(duì)企業(yè)辦公用品的管理.本論文將介紹辦公用品管理系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)過(guò)程,本系統(tǒng)采用VISUALBASIC作為開(kāi)發(fā)工具,ACCESS作為后臺(tái)數(shù)據(jù)庫(kù),這是經(jīng)典的單機(jī)版數(shù)據(jù)庫(kù)管理信息系統(tǒng)開(kāi)發(fā)組合。通過(guò)參與此系統(tǒng)的開(kāi)發(fā),可以了解信息管理系統(tǒng)的需求分析、設(shè)計(jì)和實(shí)現(xiàn)的完整過(guò)程,掌握ACCESS數(shù)據(jù)庫(kù)的基本管理方法、常用SQL語(yǔ)言的使用方法以及VISUALBASIC數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù),積累有效的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)實(shí)戰(zhàn)經(jīng)驗(yàn)。目

摘要前言

第一章

引言

1.1

開(kāi)發(fā)背景

1.2開(kāi)發(fā)目標(biāo)

1.3項(xiàng)目提出的意義

1.4

系統(tǒng)開(kāi)發(fā)所用的技術(shù)準(zhǔn)備

第二章系統(tǒng)分析

2.1系統(tǒng)需求分析

2.1.1系統(tǒng)調(diào)查

2.1.2組織機(jī)構(gòu)設(shè)置

2.1.3用戶(hù)需求

2.1.4系統(tǒng)業(yè)務(wù)流程圖

2.1.5系統(tǒng)設(shè)計(jì)思想

2.1.6系統(tǒng)設(shè)計(jì)分析

2.1.7系統(tǒng)功能分析

2.2新系統(tǒng)邏輯方案

2.2.1數(shù)據(jù)流圖(簡(jiǎn)稱(chēng)為DFD)

2.2.2數(shù)據(jù)字典

2.2.3新系統(tǒng)邏輯模型的提出

2.2.4系統(tǒng)邊界

第三章系統(tǒng)設(shè)計(jì)

3.1查詢(xún)系統(tǒng)功能需求簡(jiǎn)介

3.2功能需求描述

3.3系統(tǒng)目標(biāo)要求

3.4系統(tǒng)平臺(tái)選擇

3.5數(shù)據(jù)庫(kù)設(shè)計(jì)

3.5.1數(shù)據(jù)庫(kù)需求分析

3.5.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)

3.5.3、邏輯結(jié)構(gòu)設(shè)計(jì)(E-R圖向關(guān)系模型的轉(zhuǎn)換)

第四章系統(tǒng)實(shí)施

4.1各子系統(tǒng)模塊程序設(shè)計(jì)舉例

4.2軟件測(cè)試的目的和原則

4.3子系統(tǒng)測(cè)試

4.4軟件運(yùn)行與轉(zhuǎn)換

第五章結(jié)論

參考文獻(xiàn)引言1.1項(xiàng)目開(kāi)發(fā)背景

自1946年人類(lèi)第一臺(tái)計(jì)算機(jī)(ENIAC)問(wèn)世以來(lái),50多年過(guò)去了,計(jì)算機(jī)的軟硬件發(fā)展日新月異,突飛猛進(jìn)。以個(gè)人電腦為例,硬件方面,以CPU、內(nèi)存、硬盤(pán)為代表,CPU已發(fā)展到當(dāng)今的P42.8GHZ,PⅢ和PⅡ已淡出歷史舞臺(tái),成為昨日黃花;512MDDR內(nèi)存,120G以上的7200轉(zhuǎn)硬盤(pán)已成為標(biāo)準(zhǔn)配置。如此高性能的配置,就是和5年之前相比,也不知高出了多少倍。軟件方面,已經(jīng)從當(dāng)初晦澀難懂的機(jī)器語(yǔ)言、匯編語(yǔ)言過(guò)渡到今天的第四代語(yǔ)言甚至第五代語(yǔ)言,第四代語(yǔ)言(4GL)是完全非過(guò)程化的語(yǔ)言,這種語(yǔ)言只要求用戶(hù)指明將要干什么,而無(wú)需指明怎么干,如何做這一工作,則完全交給軟件模塊來(lái)自動(dòng)處理,大大提高了軟件的開(kāi)發(fā)效率和軟件質(zhì)量,使軟件開(kāi)發(fā)人員從繁重的腦力、體力勞動(dòng)中解脫出來(lái)。伴隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,計(jì)算機(jī)的技術(shù)和應(yīng)用獲得了突飛猛進(jìn)的發(fā)展,計(jì)算機(jī)已經(jīng)在大致如下的領(lǐng)域得到廣泛的應(yīng)用:1、科學(xué)計(jì)算:如在天文學(xué)、生物學(xué)、空氣動(dòng)力學(xué)、核物理學(xué)、地質(zhì)勘探、新材料的研制和天氣預(yù)報(bào)等領(lǐng)域中。2、數(shù)據(jù)處理:與科學(xué)計(jì)算不同,數(shù)據(jù)處理涉及的數(shù)據(jù)量大,但計(jì)算方法較簡(jiǎn)單。3、過(guò)程控制:實(shí)現(xiàn)自動(dòng)化,智能化!隨著計(jì)算機(jī)的普及和發(fā)展,人們開(kāi)始利用計(jì)算機(jī)解決越來(lái)越多的實(shí)際問(wèn)題,雖然現(xiàn)在軟件的數(shù)量如雨后春筍,但依然不能滿(mǎn)足用戶(hù)的各種需要,尤其是用于特定教學(xué)管理方面的軟件。系學(xué)生成績(jī)管理系統(tǒng)是一個(gè)現(xiàn)代高校管理不可缺少的一部分,它的內(nèi)容對(duì)高校實(shí)行高效化、智能化的管理非常重要,所以系學(xué)生成績(jī)管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),其中有些是冗余的或者針對(duì)同一目的的數(shù)據(jù)不相吻合,這對(duì)于查找、更新和維護(hù)文件等管理工作帶來(lái)了不少的困難。隨著信息科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已滲入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并影響這些領(lǐng)域的發(fā)展,在現(xiàn)代社會(huì)中發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)系統(tǒng)對(duì)學(xué)生成績(jī)進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低,數(shù)據(jù)冗余量小等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生成績(jī)管理的效率,也是高校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開(kāi)發(fā)一套符合本校具體情況的系學(xué)生成績(jī)管理軟件成為很有必要的事情。論文對(duì)系統(tǒng)進(jìn)行了較為全面的業(yè)務(wù)需求分析,并進(jìn)行有針對(duì)性的系統(tǒng)設(shè)計(jì),包括開(kāi)發(fā)平臺(tái)和工具選型、功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等,最后選用VisualBasic6.0和Access數(shù)據(jù)庫(kù)進(jìn)行了系統(tǒng)實(shí)現(xiàn),并進(jìn)行了相應(yīng)的系統(tǒng)測(cè)試和調(diào)試。1.2項(xiàng)目開(kāi)發(fā)的目標(biāo)

建立辦公用品管理系統(tǒng),采用計(jì)算機(jī)對(duì)公司用品進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平.幫助廣大職員提高工作效率,實(shí)現(xiàn)辦公用品信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化.

1.3項(xiàng)目提出的意義

辦公用品管理系統(tǒng)是為各個(gè)企、事業(yè)單位做鋪設(shè)計(jì)服務(wù)的,是企、事業(yè)不可或缺的一個(gè)軟件。本系統(tǒng)具有界面清晰、操作簡(jiǎn)易、存儲(chǔ)數(shù)據(jù)安全性高等特點(diǎn),考慮到人們的一些操作習(xí)慣,提高了其的可操作性,完全能夠滿(mǎn)足你的需求。這是一款針對(duì)中小企業(yè)設(shè)計(jì)的程序。有了它,您可以輕松管理您的數(shù)據(jù)庫(kù),方便的進(jìn)行用品管理,靈活的搜索和查詢(xún)功能使您完全擺脫傳統(tǒng)管理模式下經(jīng)營(yíng)者面對(duì)龐大的辦公用品,不知道有哪些用品,缺哪些物品,數(shù)量有多少。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)的日漸成熟,計(jì)算機(jī)的強(qiáng)大功能已被人們深刻地認(rèn)識(shí),它已經(jīng)和現(xiàn)代社會(huì)的發(fā)展隔離不開(kāi)了。越來(lái)越多的人用計(jì)算機(jī)來(lái)處理日常事務(wù),使計(jì)算機(jī)的應(yīng)用得到普及,這樣就創(chuàng)造出以計(jì)算機(jī)為基礎(chǔ)的一系列生活方式。不僅如此,計(jì)算機(jī)還被廣泛的應(yīng)用到商業(yè)上,越來(lái)越多的人們意識(shí)到計(jì)算機(jī)給自己帶來(lái)的方便以及他所創(chuàng)造的巨大財(cái)富。人們開(kāi)始把計(jì)算機(jī)應(yīng)用到現(xiàn)代的各個(gè)領(lǐng)域中,可以不客氣地說(shuō),現(xiàn)代社會(huì)是一個(gè)計(jì)算機(jī)時(shí)代,如果沒(méi)有計(jì)算機(jī)的應(yīng)用,我們的發(fā)展就不會(huì)如此之快!現(xiàn)如今,每個(gè)企業(yè)經(jīng)營(yíng)者,都在利用規(guī)范的管理流程來(lái)提高企業(yè)的效益??蛇@一切僅靠人是很難及時(shí)準(zhǔn)確地完成包括統(tǒng)計(jì)在內(nèi)的工作。針對(duì)這些企業(yè)辦公用品管理存在的缺陷,我開(kāi)發(fā)了這個(gè)辦公用品管理系統(tǒng),目的是要做到科學(xué)化、自動(dòng)化、系統(tǒng)化、規(guī)范化,用電腦管理來(lái)替代原來(lái)以手工、簡(jiǎn)單、繁瑣的辦公用品管理,為廣大企、事業(yè)單位提高管理效益助一臂之力。辦公用品管理系統(tǒng)將成為每個(gè)企、事業(yè)的小當(dāng)家,在理清家務(wù)的同時(shí),減少浪費(fèi),花出該花的,省下可省的。彌補(bǔ)企業(yè)管理上的漏洞,提高管理員的工作效率,為公司帶來(lái)經(jīng)濟(jì)效益。1.4系統(tǒng)開(kāi)發(fā)所用的技術(shù)準(zhǔn)備

1.4.1數(shù)據(jù)庫(kù)技術(shù)的現(xiàn)狀與發(fā)展

數(shù)據(jù)庫(kù)是60年代末出現(xiàn)的一門(mén)計(jì)算機(jī)軟件技術(shù),到現(xiàn)在雖然只有三十多年的歷史,但在理論和時(shí)間上都得到了和很大的發(fā)展?,F(xiàn)在,數(shù)據(jù)庫(kù)是數(shù)據(jù)處理的主要工具,是管理信息系統(tǒng)(MIS)的核心部分。數(shù)據(jù)庫(kù)系統(tǒng)是當(dāng)今計(jì)算機(jī)信息系統(tǒng)的核心,是計(jì)算機(jī)技術(shù)和應(yīng)用發(fā)展的關(guān)鍵。傳統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)旨在處理永久、穩(wěn)定的數(shù)據(jù),強(qiáng)調(diào)維護(hù)數(shù)據(jù)的完整性、一致性。數(shù)據(jù)庫(kù)理論與技術(shù)的發(fā)展極其迅速,其應(yīng)用日益廣泛,在當(dāng)今的信息社會(huì)中,它幾乎無(wú)所不在。以關(guān)系型為代表的三大經(jīng)典(層次、網(wǎng)狀、關(guān)系)型數(shù)據(jù)庫(kù)在傳統(tǒng)的(商務(wù)和管理的事務(wù)型)應(yīng)用領(lǐng)域獲得了極大成功。計(jì)算機(jī)世界報(bào)社與IBM公司聯(lián)合舉辦了"21世紀(jì)數(shù)據(jù)庫(kù)技術(shù)發(fā)展專(zhuān)家研討會(huì)"。IBMDB2的創(chuàng)始人DonaldHaderle先生與國(guó)內(nèi)著名數(shù)據(jù)庫(kù)專(zhuān)家,就下世紀(jì)數(shù)據(jù)庫(kù)發(fā)展的趨勢(shì)、數(shù)據(jù)庫(kù)領(lǐng)域革命性的突破、IBMDB2的應(yīng)用、數(shù)據(jù)倉(cāng)庫(kù)的實(shí)施、我國(guó)數(shù)據(jù)庫(kù)技術(shù)和應(yīng)用的現(xiàn)狀及趨勢(shì)、我國(guó)數(shù)據(jù)庫(kù)用戶(hù)的需求等問(wèn)題,進(jìn)行了廣泛而深入的討論。1.4.2數(shù)據(jù)庫(kù)系統(tǒng)的選擇原則

(1)數(shù)據(jù)庫(kù)系統(tǒng)采用易于集成的,開(kāi)放的技術(shù)。

(2)產(chǎn)品質(zhì)量?jī)?yōu)異,可靠性高,適于長(zhǎng)期運(yùn)行,能支持關(guān)鍵應(yīng)用。

(3)數(shù)據(jù)安全,保安型高。

(4)能提供分布式數(shù)據(jù)庫(kù)功能。

(5)支持多種開(kāi)發(fā)環(huán)境,軟件開(kāi)發(fā)容易。

(6)擴(kuò)充性和升級(jí)能力強(qiáng)。第二章管理信息系統(tǒng)綜述2.1信息系統(tǒng)的發(fā)展歷程

信息系統(tǒng)的發(fā)展經(jīng)歷了從電子數(shù)據(jù)處理系統(tǒng)到管理信息系統(tǒng)的發(fā)展過(guò)程。

1.電子數(shù)據(jù)處理系統(tǒng)(1953~1960年)

數(shù)據(jù)處理的人工系統(tǒng)在計(jì)算機(jī)問(wèn)世以前就已存在,因此,計(jì)算機(jī)一出現(xiàn),首先就用到數(shù)據(jù)處理上。當(dāng)時(shí)主要用計(jì)算機(jī)代替手工勞動(dòng),如統(tǒng)計(jì)產(chǎn)量、工資計(jì)算等。1960年以后出現(xiàn)的數(shù)據(jù)更新系統(tǒng)也屬于這方面的內(nèi)容。例如,美國(guó)share航空預(yù)約訂票系統(tǒng)可掌握1008個(gè)預(yù)約點(diǎn),76000個(gè)座位和27000個(gè)飛行記錄。由于這種系統(tǒng)不能報(bào)告當(dāng)前的售票速度、何時(shí)才能將票售完,即沒(méi)有預(yù)測(cè)和控制功能,所以還不能說(shuō)是管理信息系統(tǒng)。

2.信息報(bào)告系統(tǒng)(1961~1970年)

信息報(bào)告系統(tǒng)是管理信息系統(tǒng)的雛形,其特點(diǎn)是按事先規(guī)定的要求提供管理報(bào)告,用來(lái)支持決策制訂。通常包括生產(chǎn)狀態(tài)報(bào)告系統(tǒng)、服務(wù)狀態(tài)報(bào)告系統(tǒng)、研究狀態(tài)報(bào)告系統(tǒng)。

以下內(nèi)容略:

2.2管理信息系統(tǒng)概述

管理信息系統(tǒng)是一個(gè)由人和計(jì)算機(jī)等組成的,能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng),它能實(shí)測(cè)國(guó)民經(jīng)濟(jì)和企業(yè)的各種運(yùn)行情況;利用歷史數(shù)據(jù)預(yù)測(cè)未來(lái);從全局出發(fā)輔助管理決策;利用信息控制企業(yè)的行為、幫助實(shí)現(xiàn)其規(guī)劃目標(biāo)。也就是說(shuō),管理信息系統(tǒng)不僅是一個(gè)能對(duì)管理者提供幫助的基于計(jì)算機(jī)的人機(jī)系統(tǒng),而且是一個(gè)社會(huì)技術(shù)系統(tǒng)。應(yīng)當(dāng)將管理信息系統(tǒng)放到社會(huì)這個(gè)大背景去考察,在解決技術(shù)問(wèn)題的同時(shí),充分考慮使用信息技術(shù)的組織與人,重視系統(tǒng)與組織、環(huán)境的交互作用。這一階段對(duì)MIS系統(tǒng)的成敗,對(duì)整個(gè)組織信息化的進(jìn)展具有重要意義,以計(jì)算機(jī)為主要手段的管理信息系統(tǒng)是使用單位的管理系統(tǒng)的一個(gè)組成部分。它的建立應(yīng)該服從使用單位的整體目標(biāo)和管理決策活動(dòng)的需要。為此,這個(gè)階段的主要任務(wù)是了解使用單位的戰(zhàn)略目標(biāo)以及內(nèi)外現(xiàn)實(shí)環(huán)境,確定系統(tǒng)的總目標(biāo)和主要功能,擬定總體方案,并從技術(shù)、經(jīng)濟(jì)、社會(huì)條件等方面論證技術(shù)方案的可行性,制定投資規(guī)劃和開(kāi)發(fā)計(jì)劃,編寫(xiě)可行性論證報(bào)告。第三章開(kāi)發(fā)方法3.1系統(tǒng)開(kāi)發(fā)方法概述建立一個(gè)管理信息系統(tǒng),是一項(xiàng)復(fù)雜的軟件工程的實(shí)施。近30多年來(lái),軟件工程發(fā)展成為新科學(xué),至今已經(jīng)成為IT產(chǎn)業(yè)的重要支柱。一開(kāi)始,人們往往使用手工作坊式的軟件開(kāi)發(fā)方法,靠個(gè)人的力量編寫(xiě)各種小型程序;但是隨著計(jì)算機(jī)硬件技術(shù)的飛速發(fā)展,計(jì)算機(jī)軟件在各個(gè)領(lǐng)域中的作用日益突出,那種多年來(lái)被人們沿用的手工作坊式的開(kāi)發(fā)方法,已經(jīng)在軟件產(chǎn)品的質(zhì)量、成本及開(kāi)發(fā)時(shí)間等方面無(wú)法滿(mǎn)足需求。3.2結(jié)構(gòu)化生命周期法簡(jiǎn)介結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開(kāi)發(fā)方法,其基本思想是把整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程分成若干個(gè)階段,每個(gè)階段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個(gè)或多個(gè)任務(wù),形成符合給定規(guī)范的產(chǎn)品。采用結(jié)構(gòu)化生命周期法開(kāi)發(fā)管理信息系統(tǒng)時(shí),應(yīng)遵循的主要原則:(一)用戶(hù)參與的原則(二)“先邏輯后物理”的原則(三)“自頂向下”的原則(四)工作成果描述(主要指文檔)標(biāo)準(zhǔn)化的原則其具體開(kāi)發(fā)步驟可分為以下四步:(一)系統(tǒng)規(guī)劃(二)系統(tǒng)開(kāi)發(fā)1、系統(tǒng)分析.系統(tǒng)初步調(diào)查.系統(tǒng)可行性研究.現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查.新系統(tǒng)邏輯方案的提出2、系統(tǒng)設(shè)計(jì).系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì).系統(tǒng)總體功能設(shè)計(jì).系統(tǒng)總體物理結(jié)構(gòu)設(shè)計(jì).系統(tǒng)詳細(xì)設(shè)計(jì).數(shù)據(jù)庫(kù)設(shè)計(jì).代碼設(shè)計(jì).輸入輸出設(shè)計(jì)3、系統(tǒng)實(shí)施.程序設(shè)計(jì).系統(tǒng)測(cè)試(三)系統(tǒng)的運(yùn)行及維護(hù)(四)系統(tǒng)評(píng)價(jià)3.3快速原型法簡(jiǎn)介快速原型法是80年代發(fā)展起來(lái)的,旨在縮短開(kāi)發(fā)周期,提高開(kāi)發(fā)效率和用戶(hù)對(duì)系統(tǒng)的滿(mǎn)意程度。其基本思想是在系統(tǒng)開(kāi)發(fā)的初期,盡快構(gòu)造出系統(tǒng)的原型,使用戶(hù)能及早地運(yùn)行這個(gè)系統(tǒng)原型,通過(guò)使用它、熟悉它,受到啟發(fā)并取得經(jīng)驗(yàn),然后對(duì)系統(tǒng)的目標(biāo)和功能提出更精確、具體的要求,研制人員據(jù)此逐漸修改和完善原型,使它滿(mǎn)足用戶(hù)的需求,最后完成系統(tǒng)的開(kāi)發(fā)。該方法大大提高了系統(tǒng)開(kāi)發(fā)效率,彌補(bǔ)了結(jié)構(gòu)化生命周期法開(kāi)發(fā)時(shí)間長(zhǎng)的缺陷。通常采用原型法需以下四個(gè)階段:(一)明確用戶(hù)的基本要求(二)研制系統(tǒng)的原型(三)使用、評(píng)價(jià)系統(tǒng)原型(四)修改和完善原型3.4本系統(tǒng)開(kāi)發(fā)方法的選擇基于以上開(kāi)發(fā)方法的優(yōu)劣和本系統(tǒng)的實(shí)際情況,本系統(tǒng)總體上采用結(jié)構(gòu)化生命周期法進(jìn)行系統(tǒng)規(guī)則、系統(tǒng)分析和系統(tǒng)設(shè)計(jì),但在系統(tǒng)實(shí)施階段采用原型法。第四章開(kāi)發(fā)平臺(tái)和工具4.1開(kāi)發(fā)平臺(tái)的選擇考慮到本系統(tǒng)的性能要求,和現(xiàn)有的條件,我們選擇了WINDOWS2000中文版作為開(kāi)發(fā)、測(cè)試和運(yùn)行的平臺(tái)。因?yàn)閃INDOWS操作系統(tǒng)是目前應(yīng)用最廣的操作系統(tǒng),它以全新的圖形界面,簡(jiǎn)單快捷的操作方式,支持多媒體功能等特點(diǎn)而成為軟件發(fā)展的流行趨勢(shì),選用它作為開(kāi)發(fā)平臺(tái),易于功能的擴(kuò)展和軟件升級(jí)。4.2開(kāi)發(fā)工具的選擇針對(duì)目前世界上流行的大量軟件和開(kāi)發(fā)工具,經(jīng)過(guò)認(rèn)真分析其優(yōu)缺點(diǎn),結(jié)合計(jì)量器具管理系統(tǒng)的需要和目前的硬件環(huán)境,我們選用微軟WINDOWS平臺(tái)下的VisualB asic6.0(簡(jiǎn)寫(xiě)為VF6.0)作為軟件開(kāi)發(fā)工具。4.2.1開(kāi)發(fā)語(yǔ)言介紹現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開(kāi)發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國(guó)市場(chǎng)上最為流行、使用最多、最為先進(jìn)的可用作做作企業(yè)級(jí)開(kāi)發(fā)工具的產(chǎn)品有:Microsoft公司的VisualBasicMicrosoft公司的VisualCBorland公司的DelphiPowersoft公司的PowerBuliderJava等等在目前市場(chǎng)上這些眾多的程序開(kāi)發(fā)工具中,有些強(qiáng)調(diào)程語(yǔ)言的彈性與執(zhí)行效率;有些則偏重于可視化程序開(kāi)發(fā)工具所帶來(lái)的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿(mǎn)足了不同用戶(hù)的需求。然而,語(yǔ)言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒(méi)有彈性的語(yǔ)言作支持,許多特殊化的處理動(dòng)作必需要耗費(fèi)數(shù)倍的工夫來(lái)處理,使得原來(lái)所標(biāo)榜的效率提高的優(yōu)點(diǎn)失去了作用;相反,如果只強(qiáng)調(diào)程語(yǔ)言的彈性,卻沒(méi)有便利的工具作配合,會(huì)使一些即使非常簡(jiǎn)單的界面處理動(dòng)作,也會(huì)嚴(yán)重地浪費(fèi)程序設(shè)計(jì)師的寶貴時(shí)間。作為數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā),VisualBasic是一個(gè)非常理想選擇。數(shù)據(jù)庫(kù)是MIS中的重要支持技術(shù),在MIS開(kāi)發(fā)過(guò)程中,如何選擇數(shù)據(jù)庫(kù)管理是一個(gè)重要的問(wèn)題,目前,數(shù)據(jù)庫(kù)產(chǎn)品較多,每種產(chǎn)品都具有各自的特點(diǎn)和適用范圍,因此,在選擇數(shù)據(jù)庫(kù)時(shí),應(yīng)考慮數(shù)據(jù)庫(kù)應(yīng)用的特點(diǎn)及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫(kù)語(yǔ)言VisualBasic語(yǔ)言,該開(kāi)發(fā)工具具有很多長(zhǎng)處:VisualBasic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開(kāi)發(fā)Windows環(huán)境下的種類(lèi)應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與Windows的專(zhuān)業(yè)開(kāi)發(fā)工具SDK相媲美,而且程序開(kāi)發(fā)人員不必具有C/C++編程基礎(chǔ)。在VisualBasic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(kù)(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象的鏈接與嵌入(OLE)、開(kāi)放式數(shù)據(jù)訪問(wèn)(ODBC)等技術(shù),可以高效、快速地開(kāi)發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)??偟膩?lái)說(shuō),VisualBasic具有以下特點(diǎn):可視化編程:用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí),都是通過(guò)編寫(xiě)程序代碼來(lái)設(shè)計(jì)用戶(hù)界面,在設(shè)計(jì)過(guò)程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿(mǎn)意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開(kāi)發(fā)效率。VisualBasic提供了可視化設(shè)計(jì)工具,把Windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來(lái),開(kāi)發(fā)人員不必為界面設(shè)計(jì)而編寫(xiě)大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫(huà)出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。VisualBasic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫(xiě)實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。面向?qū)ο蟮某绦蛟O(shè)計(jì)4.0版以后的VisualBasic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,對(duì)象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而VisualBasic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP),把程序和數(shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,VisualBasic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言VisualBasic是在BASIC語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類(lèi)的邏輯思維方式。VisualBasic語(yǔ)句簡(jiǎn)單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語(yǔ)法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。VisualBasic是解釋型語(yǔ)言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級(jí)語(yǔ)言分解翻譯成計(jì)算機(jī)可以識(shí)別的機(jī)器指令,并判斷每個(gè)語(yǔ)句的語(yǔ)法錯(cuò)誤。在設(shè)計(jì)VisualBasic程序的過(guò)程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離VisualBasic環(huán)境,直接在Windows環(huán)境下運(yùn)行。事件驅(qū)動(dòng)編程機(jī)制VisualBasic通過(guò)事件來(lái)執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過(guò)一段程序來(lái)響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶(hù)單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊”(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來(lái)實(shí)現(xiàn)指定的操作。在用VisualBasic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開(kāi)始和結(jié)束的程序,而是編寫(xiě)若干個(gè)微小的子程序,即過(guò)程。這些過(guò)程分別面向不同的對(duì)象,由用戶(hù)操作引發(fā)某個(gè)事件來(lái)驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過(guò)程來(lái)執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。訪問(wèn)數(shù)據(jù)庫(kù)VisualBasic具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫(kù)管理窗口,可以直接建立或處理MicrosoftAccess格式的數(shù)據(jù)庫(kù),并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。同時(shí),VisualBasic還能直接編輯和訪問(wèn)其他外部數(shù)據(jù)庫(kù),如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫(kù)格式都可以用VisualBasic編輯和處理。VisualBasic提供開(kāi)放式數(shù)據(jù)連接,即ODBC功能,可通過(guò)直接訪問(wèn)或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如SQLServer,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問(wèn)服務(wù)器上的數(shù)據(jù)庫(kù),并提供了簡(jiǎn)單的面向?qū)ο蟮膸?kù)操作指令和多用戶(hù)數(shù)據(jù)庫(kù)訪問(wèn)的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的SQL的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫(kù)提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶(hù)/服務(wù)器(client/server)方案。動(dòng)態(tài)數(shù)據(jù)交換(DDE)利用動(dòng)態(tài)數(shù)據(jù)交換(DynamicDataExchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。VisualBasic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。對(duì)象的鏈接與嵌入(OLE)對(duì)象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看作是一個(gè)對(duì)象(object),將不同的對(duì)象鏈接(link)起來(lái),再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫(huà)、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對(duì)象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看作是一個(gè)對(duì)象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compounddocument),這種文檔由來(lái)自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來(lái)的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來(lái)應(yīng)用程序完全相同的操作。動(dòng)態(tài)鏈接庫(kù)(DLL)VisualBasic是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,不具備低級(jí)語(yǔ)言的功能,對(duì)訪問(wèn)機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過(guò)動(dòng)態(tài)鏈接庫(kù)技術(shù)將C/C++或匯編語(yǔ)言編寫(xiě)的程序加入到VisualBasic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言編寫(xiě)的函數(shù)。此外,通過(guò)動(dòng)態(tài)鏈接庫(kù),還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能第五章系統(tǒng)分析系統(tǒng)規(guī)劃,應(yīng)根據(jù)組織的目標(biāo)和發(fā)展戰(zhàn)略以及管理信息系統(tǒng)建設(shè)的客觀規(guī)律,并考慮到組織面臨的內(nèi)外部環(huán)境,科學(xué)地制定管理信息系統(tǒng)的發(fā)展戰(zhàn)略和總體方案,合理安排系統(tǒng)建設(shè)的進(jìn)程;它是管理信息系統(tǒng)(MIS)生命周期的第一個(gè)階段,是MIS的概念形成時(shí)期,這一階段的主要目標(biāo),就是制定出MIS的長(zhǎng)期發(fā)展方案,決定MIS在整個(gè)生命周期內(nèi)的發(fā)展方向、規(guī)模和發(fā)展進(jìn)程。它的主要任務(wù)是:制定MIS的發(fā)展戰(zhàn)略、確定組織的主要信息需求,形成MIS的總體方案、制定系統(tǒng)建設(shè)的資源分配計(jì)劃。以計(jì)算機(jī)為主要手段的管理信息系統(tǒng)是企業(yè)的管理系統(tǒng)的一個(gè)組成部分。它的建立應(yīng)該服從企業(yè)的整體目標(biāo)和管理決策活動(dòng)的需要。為此,這個(gè)階段的主要任務(wù)是了解企業(yè)的戰(zhàn)略目標(biāo)和內(nèi)外部環(huán)境,確定系統(tǒng)的總目標(biāo)和主要功能,擬定總體方案,并從技術(shù)、經(jīng)濟(jì)、社會(huì)條件等方面論證技術(shù)方案的可行性,制定投資規(guī)劃和開(kāi)發(fā)計(jì)劃,編寫(xiě)可行性報(bào)告。系統(tǒng)分析,就是在管理信息系統(tǒng)開(kāi)發(fā)的生命周期中系統(tǒng)分析階段的各項(xiàng)活動(dòng)和方法。它的主要目標(biāo)是在系統(tǒng)規(guī)劃所定的某個(gè)開(kāi)發(fā)項(xiàng)目范圍內(nèi)明確系統(tǒng)開(kāi)發(fā)的目標(biāo)和用戶(hù)的信息需求,提出系統(tǒng)的邏輯方案。系統(tǒng)分析在整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程中,是要解決“做什么”的問(wèn)題,把要解決哪些問(wèn)題、要滿(mǎn)足用戶(hù)哪些具體的信息需求調(diào)查、分析清楚,從邏輯上或從功能需求上提出系統(tǒng)的方案,即“邏輯模型”。可行性分析可行性分析是系統(tǒng)分析階段的第二項(xiàng)活動(dòng),可行性分析能使新系統(tǒng)達(dá)到以最小的開(kāi)發(fā)成本取得最佳的經(jīng)濟(jì)效益??尚行苑治龅哪康模歉鶕?jù)開(kāi)發(fā)管理信息系統(tǒng)的請(qǐng)求,通過(guò)初步調(diào)查,對(duì)要開(kāi)發(fā)的管理信息系統(tǒng)從技術(shù)上、經(jīng)濟(jì)上、資源上和管理上進(jìn)行是否可行的研究分析。這是一項(xiàng)保證資源合理使用、避免失誤和浪費(fèi)的重要工作。1、經(jīng)濟(jì)上的可行性。2、技術(shù)上的可行性。3、資源上的可行性。4、管理上的可行性。通過(guò)調(diào)查當(dāng)前企事業(yè)單位辦公用品管理理現(xiàn)況是采用人工登記的方式來(lái)進(jìn)行辦公用品的管理,所有的辦公用品檔案資料都是以紙張為介質(zhì)進(jìn)行存儲(chǔ)的,辦公用品學(xué)生成績(jī)本節(jié)根據(jù)需求分析中總結(jié)的用戶(hù)需求設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu)。系統(tǒng)的功能模塊圖如下圖所示:在功能模塊示意圖的樹(shù)狀結(jié)構(gòu)中,每一個(gè)葉結(jié)點(diǎn)都是一個(gè)最小的功能模塊。每一個(gè)功能模塊都需要針對(duì)不同的表完成相同的數(shù)據(jù)庫(kù)操作,即添加記錄、修改記錄、刪除記錄以及查詢(xún)顯示記錄信息。辦公用品管理系統(tǒng)辦公用品管理系統(tǒng)領(lǐng)用統(tǒng)計(jì)入庫(kù)統(tǒng)計(jì)庫(kù)存短缺統(tǒng)計(jì)庫(kù)存管理入庫(kù)管理領(lǐng)用管理供應(yīng)商管理部門(mén)管理分類(lèi)管理數(shù)據(jù)統(tǒng)計(jì)管理系統(tǒng)用戶(hù)管理基本信息管理辦公用品管理領(lǐng)用統(tǒng)計(jì)入庫(kù)統(tǒng)計(jì)庫(kù)存短缺統(tǒng)計(jì)庫(kù)存管理入庫(kù)管理領(lǐng)用管理供應(yīng)商管理部門(mén)管理分類(lèi)管理數(shù)據(jù)統(tǒng)計(jì)管理系統(tǒng)用戶(hù)管理基本信息管理辦公用品管理用戶(hù)信息管理修改自身密碼 用戶(hù)信息管理修改自身密碼 辦公用品管理系統(tǒng)功能模塊示意圖在本系統(tǒng)中,用戶(hù)管理模塊的功能比較簡(jiǎn)單,在系統(tǒng)初始化時(shí),有兩個(gè)默認(rèn)的用戶(hù)。系統(tǒng)管理員用戶(hù)為Admin,普通用戶(hù)為Users,由程序設(shè)計(jì)人員手動(dòng)地添加到數(shù)據(jù)庫(kù)中,它們的默認(rèn)密碼均為111111。Admin用戶(hù)可以創(chuàng)建用戶(hù)、修改用戶(hù)信息以及刪除用戶(hù):普通用戶(hù)則只能修改自己的用戶(hù)名和密碼。用戶(hù)管理模塊的關(guān)系圖如下所示:創(chuàng)建、修改和刪除普通用戶(hù)信息修改Admin用戶(hù)的密碼修改自身的用戶(hù)名和密碼系統(tǒng)用戶(hù)信息創(chuàng)建、修改和刪除普通用戶(hù)信息修改Admin用戶(hù)的密碼修改自身的用戶(hù)名和密碼系統(tǒng)用戶(hù)信息管理 Admin用戶(hù) 普通用戶(hù)下面進(jìn)行系統(tǒng)流程分析,所謂系統(tǒng)流程就是用戶(hù)在使用系統(tǒng)時(shí)的工作過(guò)程。運(yùn)行系統(tǒng)后,首先會(huì)看到登錄窗體,對(duì)用戶(hù)身份進(jìn)行驗(yàn)證。身份認(rèn)證可以分為以下兩個(gè)過(guò)程:確認(rèn)用戶(hù)是否是有效的系統(tǒng)用戶(hù)確定用戶(hù)的類(lèi)型第1個(gè)過(guò)程決定用戶(hù)是否能進(jìn)入系統(tǒng),第2個(gè)過(guò)程根據(jù)用戶(hù)的類(lèi)型決定用戶(hù)的操作權(quán)限。如果需要對(duì)普通用戶(hù)進(jìn)行管理,則使用Admin用戶(hù)登錄:否則建議使用Users用戶(hù)登錄。如果還要?jiǎng)?chuàng)建其他用戶(hù),可以在用戶(hù)管理模塊中創(chuàng)建和管理。在創(chuàng)建用戶(hù)時(shí),需要輸入要?jiǎng)?chuàng)建的用戶(hù)名和密碼。Admin用戶(hù)還可以修改和刪除其他普通用戶(hù)數(shù)據(jù)。在本系統(tǒng)中,應(yīng)該首先增加基本信息,之后才能增加辦公用品信息?;拘畔ǚ诸?lèi)信息、部門(mén)信息和供應(yīng)商信息等。分類(lèi)信息包括辦公用品的分類(lèi)名稱(chēng)和上級(jí)分類(lèi),部門(mén)信息只包括部門(mén)名稱(chēng);供應(yīng)商信息包括名稱(chēng)、電話、地址和聯(lián)系人等。添加基本信息后,就可以添加辦公用品信息了。在辦公用品信息管理模塊中可以對(duì)領(lǐng)用信息、入庫(kù)信息和庫(kù)存信息進(jìn)行添加、修改、刪除和查看操作。領(lǐng)用信息包括領(lǐng)用日期、領(lǐng)用部門(mén)、領(lǐng)用的辦公用品和領(lǐng)用數(shù)量等信息。在添加領(lǐng)用信息時(shí),需要選擇部門(mén)信息和辦公用品信息。入庫(kù)信息包括入庫(kù)的辦公用品、入庫(kù)日期、供應(yīng)商、入庫(kù)數(shù)量、總金額等信息。在添加入庫(kù)信息時(shí),需要選擇辦公用品和供應(yīng)商信息。庫(kù)存信息包括辦公用品名稱(chēng)、型號(hào)、當(dāng)前庫(kù)存數(shù)量、最小庫(kù)存數(shù)量等信息。在添加庫(kù)存信息時(shí),需要選擇辦公用品分類(lèi)信息。在數(shù)據(jù)統(tǒng)計(jì)管理模塊中,可以對(duì)庫(kù)存短缺、入庫(kù)和領(lǐng)用等信息進(jìn)行統(tǒng)計(jì)。庫(kù)存短缺統(tǒng)計(jì)信息包括辦公用品、分類(lèi)信息、庫(kù)存數(shù)量、最小數(shù)量等信息,只有庫(kù)存數(shù)量小于最小數(shù)量的辦公用品才會(huì)被統(tǒng)計(jì):入庫(kù)統(tǒng)計(jì)信息包括供應(yīng)商名稱(chēng)、辦公用品分類(lèi)、庫(kù)存總數(shù)量和庫(kù)存總金額等信息,領(lǐng)用統(tǒng)計(jì)信息包括部門(mén)、辦公用品分類(lèi)信息、辦公用品名稱(chēng)和領(lǐng)用數(shù)量等信息。在數(shù)據(jù)統(tǒng)計(jì)管理模塊中,各統(tǒng)計(jì)表顯示的數(shù)據(jù)可能根據(jù)查詢(xún)條件的不同變化。本系統(tǒng)的流程分析如圖所示:否重試Admin用戶(hù)普通用戶(hù)數(shù)據(jù)統(tǒng)計(jì)管理辦公用品管理基本信息管理辦公用品管理模塊用戶(hù)管理模塊失敗管理自己的用戶(hù)信息管理普通用戶(hù)的用戶(hù)信息退出程序是失敗超過(guò)3次成功讀取用戶(hù)類(lèi)型開(kāi)始用戶(hù)登錄管理自己的用戶(hù)信息否重試Admin用戶(hù)普通用戶(hù)數(shù)據(jù)統(tǒng)計(jì)管理辦公用品管理基本信息管理辦公用品管理模塊用戶(hù)管理模塊失敗管理自己的用戶(hù)信息管理普通用戶(hù)的用戶(hù)信息退出程序是失敗超過(guò)3次成功讀取用戶(hù)類(lèi)型開(kāi)始用戶(hù)登錄管理自己的用戶(hù)信息系統(tǒng)流程分析圖在系統(tǒng)流程分析圖中可以看到,每個(gè)用戶(hù)有3次機(jī)會(huì)進(jìn)行身份驗(yàn)證,如果3次輸入的用戶(hù)名和密碼都無(wú)法與數(shù)據(jù)庫(kù)中的數(shù)據(jù)匹配,則強(qiáng)制退出系統(tǒng)。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段非常重要的環(huán)節(jié),好的數(shù)據(jù)庫(kù)結(jié)構(gòu)可以簡(jiǎn)化開(kāi)發(fā)過(guò)程,使系統(tǒng)功能更加清晰明確。因?yàn)閿?shù)據(jù)庫(kù)結(jié)構(gòu)的變化會(huì)造成編碼的改動(dòng),所以必須認(rèn)真設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)后再進(jìn)行編碼,從而避免無(wú)謂的重復(fù)工作。本系統(tǒng)數(shù)據(jù)庫(kù)文件為“Office.mdb”,數(shù)據(jù)庫(kù)中包含8個(gè)表,部門(mén)信息表Department、分類(lèi)信息表Types、供應(yīng)商信息表Supplier、庫(kù)存信息表Store、入庫(kù)信息表StoreIn、領(lǐng)用信息表Draw、領(lǐng)用信息明細(xì)表DrawList、用戶(hù)信息表Users部門(mén)信息表Department表Department用來(lái)保存部門(mén)信息信息,結(jié)構(gòu)如下:DepartmentDepIdDepName1技術(shù)中心2銷(xiāo)售中心3辦公室4人力資源部分類(lèi)信息表Types表Types用來(lái)保存辦公用品分類(lèi)信息TypesTypeIdTypeNameUpperId1公文包02簽字筆03打印紙04A4紙35A3紙36帕克簽字筆27軟牛皮包18計(jì)算器09膠水010大膠水911剪刀012日歷014小規(guī)格1215中規(guī)格1216普通簽字筆2供應(yīng)商信息表Supplier表Supplier用來(lái)保存辦公用品的供應(yīng)商信息,結(jié)構(gòu):SupplierSIdSNameTelAddressContactMemos1北京七七貿(mào)易公司3333亮馬河往昔2寧夏網(wǎng)和技術(shù)公司55555寧夏王明庫(kù)存信息表Store表Store用來(lái)保存辦公用品的庫(kù)存信息,結(jié)構(gòu):StoreOIdONameOStyleTypeIdOAmountOMinMemos1999kkk799202帕克簽字筆B16953dayinzhiA443010入庫(kù)信息表StoreIn表StoreIn用來(lái)保存辦公用品的入庫(kù)信息StoreInInIdOIdInDateSIdInAmountInSumMemosFlag112005-3-41102001222005-4-41830301322006-3-21202001412006-3-72809001512006-3-92660df1622006-3-721216.領(lǐng)用信息表Draw表Draw用來(lái)保存辦公用品的領(lǐng)用信息,結(jié)構(gòu)DrawIdCreateDateDepIdFlag12005-12-271132006-2-32142006-3-7317.領(lǐng)用信息明細(xì)表DrawList表DrawList用來(lái)保存家庭成員信息,結(jié)構(gòu)DrawListIdDIdOIdOAmount211131215322641273138.用戶(hù)信息表Users表Users用來(lái)保存系統(tǒng)用戶(hù)信息,結(jié)構(gòu)UsersUserNameUsePwdAdmin111111Users111111登錄窗體和系統(tǒng)主界面設(shè)計(jì)當(dāng)系統(tǒng)運(yùn)行時(shí),首先打開(kāi)登錄窗體,只有有權(quán)限的用戶(hù)才能進(jìn)入系統(tǒng)。登錄成功后,將顯示系統(tǒng)主界面。登錄窗體的名稱(chēng)為Frmlogin,它的界面布局如圖所示登錄窗體的界面布局部分代碼變量聲明登錄窗體變量聲明如下:PublicPasswordKeyAsStringPublicNameKeyAsStringPublicTry_timesAsIntegerNameKey用于保存用戶(hù)名,PasswordKey用于保存密碼,Try_times用于記錄嘗試登錄的次數(shù)2.cmd_ok_click過(guò)程當(dāng)用戶(hù)單擊“確定”按鈕時(shí)觸發(fā)CMD_Ok_click事件,進(jìn)行身份驗(yàn)證,代碼如下:PrivateSubCmd_OK_Click()DimjAsSingle'數(shù)據(jù)有效性檢查IftxtUser=""ThenMsgBox"請(qǐng)輸入用戶(hù)名"txtUser.SetFocusExitSubEndIfIftxtPwd=""ThenMsgBox"請(qǐng)輸入密碼"txtPwd.SetFocusExitSubEndIf'將用戶(hù)輸入賦值到變量中NameKey=MakeStr(txtUser)PasswordKey=MakeStr(txtPwd)'判斷用戶(hù)是否存在IfMyUser.In_DB(NameKey)=FalseThenMsgBox"用戶(hù)名不存在"Try_times=Try_times+1IfTry_times>=3ThenMsgBox"您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉"DBapi_DisconnectEndElseExitSubEndIfEndIf'判斷密碼是否正確MyUser.GetInfo(NameKey)IfMyUser.UserPwd<>PasswordKeyThenMsgBox"密碼錯(cuò)誤"Try_times=Try_times+1IfTry_times>=3ThenMsgBox"您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉"DBapi_DisconnectEndElseExitSubEndIfEndIf'登錄成功,將當(dāng)前用戶(hù)的信息保存在CurUser中CurUser.GetInfo(MyUser.UserName)'關(guān)閉登錄對(duì)話框UnloadMeEndSub程序的運(yùn)行過(guò)程如下:判斷是否輸入了用戶(hù)名和密碼,如果沒(méi)有輸入,則返回,要求用戶(hù)輸入。將輸入的用戶(hù)名和密碼賦值到變量Namekey和Passwordkey中,便于處理。調(diào)用Myuser.in_Db()函數(shù),判斷當(dāng)前用戶(hù)名是否存在。如果不存在,則返回,要求用戶(hù)重新輸入,同時(shí)將計(jì)數(shù)變量Try_times加1如果用戶(hù)名存在,則調(diào)用MyUsers.Getinfo()函數(shù),讀取此用戶(hù)的數(shù)據(jù),并將用戶(hù)密碼與輸入的密碼進(jìn)行比較。如果密碼不同,則返回,要求用戶(hù)重新輸入,同時(shí)將計(jì)數(shù)變量加1如果Try_times大于或等于3,則退出系統(tǒng)如果通過(guò)密碼驗(yàn)證,則將當(dāng)前用戶(hù)的信息保存到curUser對(duì)象中,以便在后面的操作中使用關(guān)閉登錄窗體設(shè)計(jì)主界面主窗體是工程的啟動(dòng)對(duì)象,可以在系統(tǒng)菜單中選擇“工程/屬性”打開(kāi)窗口設(shè)置啟動(dòng)對(duì)象。本實(shí)列中主窗體名為FrmMain打開(kāi)主窗體的設(shè)計(jì)窗口,選擇“工具”菜單項(xiàng)中的“菜單編輯器”對(duì)菜單內(nèi)容進(jìn)行編輯菜單編輯器如圖所示菜單編輯器主界面如圖所示系統(tǒng)主界面在主窗體中添加如下代碼:PrivateSubForm_Load()FrmLogin.Show1EndSub當(dāng)主窗體啟動(dòng)時(shí),首先設(shè)置連接字符串,然后打開(kāi)“登錄”對(duì)話框。如果不能通過(guò)身份驗(yàn)證,則不能進(jìn)入系統(tǒng)PrivateSubmn_Exit_Click()DBapi_DisconnectEndEndSub基本信息管理模塊設(shè)計(jì)基本信息管理模塊包括分類(lèi)信息管理、部門(mén)信息管理和供應(yīng)商信息管理設(shè)計(jì)分類(lèi)信息管理窗體分類(lèi)信息管理窗體的名稱(chēng)為Frmtypeman,窗體布局如圖所示可以看到,分類(lèi)信息可以分為一級(jí)分類(lèi)和二級(jí)分類(lèi)兩種,每個(gè)二級(jí)分類(lèi)必須有對(duì)應(yīng)的一級(jí)分類(lèi)作為其上級(jí)分類(lèi)。窗體主要代碼如下:PublicOriT1NameAsStringPublicOriT2NameAsStringPrivateSubCmd_Add_Click()IfLen(Trim(txtName))=0ThenMsgBox"請(qǐng)輸入分類(lèi)名稱(chēng)"txtName.SetFocusExitSubEndIf'判斷當(dāng)前選擇按鈕值IfOption1.Item(0).Value=TrueThen'選擇一級(jí)分類(lèi)'判斷一級(jí)分類(lèi)名稱(chēng)是否已存在IfMyType.In_DB(Trim(txtName))ThenMsgBox"分類(lèi)名稱(chēng)已存在"ExitSubElseMyType.TypeName=Trim(txtName)MyType.UpperId=0MyType.InsertMsgBox"添加成功"LoadTypestxtName=""EndIfElse'選擇二級(jí)分類(lèi)'首先判斷是否選擇了一級(jí)分類(lèi)名稱(chēng)IfDataList1.SelectedItem>0Then'判斷二級(jí)分類(lèi)名稱(chēng)是否已存在IfMyType.In_DB(Trim(txtName))ThenMsgBox"分類(lèi)名稱(chēng)已存在"ExitSubElseMyType.TypeName=Trim(txtName)MyType.UpperId=DataList1.BoundText()MyType.InsertMsgBox"添加成功"LoadTypesSetDataList2.RowSource=NothingDataList1.Enabled=TrueDataList2.Enabled=FalsetxtName=""Option1.Item(0).Value=TrueOption1.Item(1).Value=FalseEndIfElseMsgBox"請(qǐng)選擇上級(jí)分類(lèi)"ExitSubEndIfEndIfEndSubPrivateSubCmd_Back_Click()UnloadMeEndSubPrivateSubCmd_Del_Click()'判斷當(dāng)前選擇按鈕值IfOption1.Item(0).Value=TrueThen'選擇一級(jí)分類(lèi)'判斷是否選擇了一級(jí)分類(lèi)IfDataList1.SelectedItem>0Then'如果此一級(jí)分類(lèi)存在下級(jí)分類(lèi),則不允許刪除IfMyType.HaveSon(DataList1.BoundText())ThenMsgBox"存在二級(jí)分類(lèi),不能刪除"ExitSubElseMyType.Delete(DataList1.BoundText())MsgBox"刪除成功"LoadTypestxtName=""EndIfElseMsgBox"請(qǐng)選擇一級(jí)分類(lèi)"ExitSubEndIfElse'判斷是否選擇了二級(jí)分類(lèi)IfDataList2.SelectedItem>0Then'判斷辦公用品表中是否已經(jīng)使用了此分類(lèi)編號(hào)IfMyStore.HaveTId(DataList2.BoundText())ThenMsgBox"辦公用品表中存在此分類(lèi),不能刪除"ExitSubElseMyType.Delete(DataList2.BoundText())MsgBox"刪除成功"LoadTypesSetDataList2.RowSource=NothingDataList1.Enabled=TrueDataList2.Enabled=FalsetxtName=""Option1.Item(0).Value=TrueOption1.Item(1).Value=FalseEndIfElseMsgBox"請(qǐng)選擇二級(jí)分類(lèi)"ExitSubEndIfEndIfEndSubPrivateSubCmd_Modi_Click()IfLen(Trim(txtName))=0ThenMsgBox"請(qǐng)輸入分類(lèi)名稱(chēng)"txtName.SetFocusExitSubEndIf'判斷當(dāng)前選擇按鈕值IfOption1.Item(0).Value=TrueThen'選擇一級(jí)分類(lèi)'判斷是否選擇了一級(jí)分類(lèi)IfDataList1.SelectedItem<1ThenMsgBox"請(qǐng)選擇一級(jí)分類(lèi)"ExitSubEndIf'判斷是否修改了一級(jí)分類(lèi)名稱(chēng)IfTrim(txtName)<>Trim(OriT1Name)Then'判斷新的一級(jí)分類(lèi)名稱(chēng)是否存在IfMyType.In_DB(Trim(txtName))ThenMsgBox"分類(lèi)名稱(chēng)已存在"ExitSubElseMyType.TypeName=Trim(txtName)MyType.Update(DataList1.BoundText())MsgBox"修改成功"LoadTypestxtName=""EndIfEndIfElse'選擇二級(jí)分類(lèi)'首先判斷是否選擇了二級(jí)分類(lèi)名稱(chēng)IfDataList2.SelectedItem>0Then'判斷是否修改了一級(jí)分類(lèi)名稱(chēng)IfTrim(txtName)=Trim(OriT2Name)ThenExitSubEndIf'判斷新的二級(jí)分類(lèi)名稱(chēng)是否存在IfMyType.In_DB(Trim(txtName))ThenMsgBox"分類(lèi)名稱(chēng)已存在"ExitSubElseMyType.TypeName=Trim(txtName)MyType.Update(DataList2.BoundText())MsgBox"修改成功"LoadTypesSetDataList2.RowSource=NothingDataList1.Enabled=TrueDataList2.Enabled=FalsetxtName=""Option1.Item(0).Value=TrueOption1.Item(1).Value=FalseEndIfElseMsgBox"請(qǐng)選擇二級(jí)分類(lèi)"ExitSubEndIfEndIfEndSubPrivateSubDataList1_Click()'當(dāng)選擇一級(jí)分類(lèi)名稱(chēng)時(shí),將分類(lèi)編號(hào)和名稱(chēng)賦給變量,同時(shí)將二級(jí)分類(lèi)變量置為空,并裝入二級(jí)分類(lèi)名稱(chēng)IfDataList1.SelectedItem>0ThenOriT1Name=Trim(DataList1.Text)txtName=OriT1NameLoadTypes2EndIfEndSubPrivateSubDataList2_Click()IfDataList2.SelectedItem>0ThenOriT2Name=Trim(DataList2.Text)txtName=OriT2NameEndIfEndSubPrivateSubForm_Load()LoadTypesDataList2.Enabled=FalseEndSub'裝入一級(jí)分類(lèi)名稱(chēng)PrivateSubLoadTypes()Adodc1.ConnectionString=ConnAdodc1.RecordSource="Select*FromTypesWhereUpperId=0OrderByTypeId"Adodc1.RefreshSetDataList1.RowSource=Adodc1DataList1.ListField="TypeName"DataList1.BoundColumn="TypeId"EndSub'根據(jù)一級(jí)分類(lèi)編號(hào)裝入二級(jí)分類(lèi)名稱(chēng)PrivateSubLoadTypes2()Adodc2.ConnectionString=ConnAdodc2.RecordSource="Select*FromTypesWhereUpperId="+Trim(DataList1.BoundText())+"OrderByTypeId"Adodc2.RefreshSetDataList2.RowSource=Adodc2DataList2.ListField="TypeName"DataList2.BoundColumn="TypeId"EndSub'修改選項(xiàng)時(shí),數(shù)據(jù)列表狀態(tài)更改PrivateSubOption1_Click(IndexAsInteger)IfIndex=0ThenDataList1.Enabled=TrueDataList2.Enabled=FalseElseDataList1.Enabled=FalseDataList2.Enabled=TrueEndIfEndSub設(shè)計(jì)部門(mén)管理窗體部門(mén)管理窗體名稱(chēng)為Frmdepman,窗體的布局如圖所示:窗體中使用datalist控件顯示所有部門(mén)信息,使用ADOData控件作為其提供數(shù)據(jù)源。Datarefresh過(guò)程的功能就是設(shè)置AdoData控件和Datalist的屬性,在列表中顯示部門(mén)信息,代碼如下:PrivateSubDataRefresh()'設(shè)置連接字符串Adodc1.ConnectionString=ConnAdodc1.RecordSource="Select*FromDepartmentOrderByDepId"Adodc1.RefreshSetDataList1.RowSource=Adodc1DataList1.ListField="DepName"DataList1.BoundColumn="DepId"DataList1.RefreshEndSub程序使用SELECT語(yǔ)句從表Department中讀取部門(mén)數(shù)據(jù),然后將SELECT語(yǔ)句作為Adodc1控件的記錄源。Datalist1.rowsource屬性可以設(shè)置DataList1控件的數(shù)據(jù)來(lái)源。設(shè)計(jì)供應(yīng)商信息管理窗體供應(yīng)商信息管理窗體的名稱(chēng)為FRMsupplierMan。在窗體FRMsupplierMan中,使用DataGrid和Adodc控件來(lái)顯示供應(yīng)商信息數(shù)據(jù)。窗體布局如圖:供應(yīng)商信息管理窗體布局主要代碼:PrivateSubCmd_Add_Click()FrmSupplierEdit.Modify=FalseFrmSupplierEdit.Show1DataRefreshEndSubPrivateSubCmd_Back_Click()UnloadMeEndSubPrivateSubDataRefresh()DimStrSearchAsStringStrSearch=""IfLen(Trim(txtName))>0Then'設(shè)置查詢(xún)條件StrSearch="WhereSNameLike'%"+Trim(txtName)+"%'"EndIfAdodc1.ConnectionString=ConnAdodc1.RecordSource="SelectSId,SNameAS供貨商名稱(chēng),TelAS聯(lián)系電話,"_+"AddressAS地址,ContactAS聯(lián)系人,MemosAS備注"_+"FromSupplier"+StrSearch+"OrderBySId"Adodc1.RefreshSetDataGrid1.DataSource=Adodc1DataGrid1.Columns(0).Width=0DataGrid1.Columns(1).Width=1600DataGrid1.Columns(2).Width=1400DataGrid1.Columns(3).Width=1800DataGrid1.Columns(4).Width=1400DataGrid1.Columns(5).Width=1600EndSubPrivateSubCmd_Del_Click()IfAdodc1.Recordset.EOFThenMsgBox"請(qǐng)選擇記錄"ExitSubEndIf'判斷入庫(kù)信息表中是否存在此供應(yīng)商信息IfMyIn.GetSupplier(Adodc1.Recordset.Fields(0))ThenMsgBox"不允許刪除此供應(yīng)商"ExitSubEndIfMySupplier.Delete(Adodc1.Recordset.Fields(0))MsgBox"刪除成功"DataRefreshEndSubPrivateSubCmd_Modi_Click()IfAdodc1.Recordset.EOFThenMsgBox"請(qǐng)選擇記錄"ExitSubEndIfFrmSupplierEdit.Modify=TrueFrmSupplierEdit.OriSId=Adodc1.Recordset.Fields(0)FrmSupplierEdit.txtName=Trim(Adodc1.Recordset.Fields(1))FrmSupplierEdit.txtTel=Trim(Adodc1.Recordset.Fields(2))FrmSupplierEdit.txtAddress=Trim(Adodc1.Recordset.Fields(3))FrmSupplierEdit.txtContact=Trim(Adodc1.Recordset.Fields(4))FrmSupplierEdit.txtMemo=Trim(Adodc1.Recordset.Fields(5))FrmSupplierEdit.Show1DataRefreshEndSubPrivateSubCmd_Search_Click()DataRefreshEndSubPrivateSubForm_Load()DataRefreshEndSub辦公用品信息管理模塊設(shè)計(jì)辦公用品信息管理模塊包括入庫(kù)管理、庫(kù)存管理和領(lǐng)用管理功能。設(shè)計(jì)入庫(kù)信息編輯窗體入庫(kù)信息編輯窗體的名稱(chēng)為FrmstoreInedit,窗體布局如圖所示主要代碼如下:PublicOriInIdAsLongPublicModifyAsBooleanPrivateSubCmd_Cancel_Click()UnloadMeEndSubPrivateSubCmd_OK_Click()IfLen(Trim(dco_UType.Text))=0ThenMsgBox"請(qǐng)選擇一級(jí)分類(lèi)名稱(chēng)"dco_UType.SetFocusExitSubEndIfIfLen(Trim(dco_Type.Text))=0ThenMsgBox"請(qǐng)選擇二級(jí)分類(lèi)名稱(chēng)"dco_Type.SetFocusExitSubEndIfIfLen(Trim(dco_Store.Text))=0ThenMsgBox"請(qǐng)選擇辦公用品名稱(chēng)"dco_Store.SetFocusExitSubEndIfIfLen(Trim(dco_Supplier.Text))=0ThenMsgBox"請(qǐng)選擇供貨商名稱(chēng)"dco_Supplier.SetFocusExitSubEndIfIfLen(Trim(txtDate))=0ThenMsgBox"請(qǐng)輸入入庫(kù)日期"txtDate.SetFocusExitSubEndIfIfLen(Trim(txtAmount))=0OrVal(txtAmount)=0ThenMsgBox"請(qǐng)輸入入庫(kù)數(shù)量"txtAmount.SetFocusExitSubEndIfWithMyIn.OId=dco_Store.BoundText().InDate=Trim(txtDate).SId=dco_Supplier.BoundText().InAmount=Val(txtAmount).InSum=Val(txtSum).Memos=Trim(txtMemo)IfModify=FalseThen.InsertMsgBox"添加成功"Else.Update(OriInId)MsgBox"保存成功"EndIfEndWithUnloadMeEndSubPrivateSubdco_Type_Click(AreaAsInteger)IfLen(Trim(dco_Type.Text))>0ThenAdo_Store.ConnectionString=ConnAdo_Store.RecordSource="Select*FromStoreWhereTypeId="+Trim(dco_Type.BoundText())+"OrderByOId"Ado_Store.RefreshSetdco_Store.RowSource=Ado_Storedco_Store.ListField="OName"dco_Store.BoundColumn="OId"dco_Store.Text=""EndIfEndSubPrivateSubdco_UType_Click(AreaAsInteger)IfLen(Trim(dco_UType.Text))>0ThenAdo_Type.ConnectionString=ConnAdo_Type.RecordSource="Select*FromTypesWhereUpperId="+Trim(dco_UType.BoundText())+"OrderByTypeId"Ado_Type.RefreshSetdco_Type.RowSource=Ado_Typedco_Type.ListField="TypeName"dco_Type.BoundColumn="TypeId"dco_Type.Text=""EndIfEndSubPrivateSubForm_Load()'裝入分類(lèi)信息Ado_UType.ConnectionString=ConnAdo_UType.RecordSource="Select*FromTypesWhereUpperId=0OrderByTypeId"Ado_UType.RefreshSetdco_UType.RowSource=Ado_UTypedco_UType.ListField="TypeName"dco_UType.BoundColumn="TypeId"'裝入二級(jí)分類(lèi)信息Ado_Type.ConnectionString=ConnAdo_Type.RecordSource="Select*FromTypesWhereUpperId>0OrderByTypeId"Ado_Type.RefreshSetdco_Type.RowSource=Ado_Typedco_Type.ListField="TypeName"dco_Type.BoundColumn="TypeId"'裝入辦公用品信息Ado_Store.ConnectionString=ConnAdo_Store.RecordSource="Select*FromStoreOrderByOId"Ado_Store.RefreshSetdco_Store.RowSource=Ado_Storedco_Store.ListField="OName"dco_Store.BoundColumn="OId"'裝入供應(yīng)商信息Ado_Supplier.ConnectionString=ConnAdo_Supplier.RecordSource="Select*FromSupplierOrderBySId"Ado_Supplier.RefreshSetdco_Supplier.RowSource=Ado_Supplierdco_Supplier.ListField="SName"dco_Supplier.BoundColumn="SId"EndSub設(shè)計(jì)庫(kù)存信息編輯窗體庫(kù)存信息編輯窗體用于編輯辦公用品的基本信息,窗體名稱(chēng)為FrmStoreEdit,窗體的布局如圖:設(shè)計(jì)庫(kù)存信息管理窗體庫(kù)存信息管理窗體的名稱(chēng)為FrmStoreMan,窗體布局如圖所示:DataRefresh過(guò)程的功能是根據(jù)查詢(xún)條件設(shè)置SELECT語(yǔ)句,從表Store中讀取辦公用品庫(kù)存信息,并顯示在表格中,代碼如下:PrivateSubCheck1_Click()IfCheck1.Value=1Thendco_UType.Enabled=Falsedco_Type.Enabled=Falsedco_UType.Text=""dco_Type.Text=""Elsedco_UType.Enabled=Truedco_Type.Enabled=TrueEndIfDataRefreshEndSubPrivateSubCmd_Add_Click()FrmStoreEdit.Modify=FalseFrmStoreEdit.Show1DataRefreshEndSubPrivateSubCmd_Back_Click()UnloadMeEndSubPrivateSubDataRefresh()DimStrSearchAsStringStrSearch=""IfCheck1.Value<>1ThenIfLen(Trim(dco_UType.Text))>0Then'設(shè)置一級(jí)分類(lèi)StrSearch="Andt.UpperId="+Trim(dco_UType.BoundText)EndIfIfLen(Trim(dco_Type.Text))>0Then'設(shè)置二級(jí)分類(lèi)StrSearch="Ands.TypeId="+Trim(dco_Type.BoundText)EndIfEndIfAdodc1.ConnectionString=ConnAdodc1.RecordSource="Selects.OId,s.ONameAS辦公用品名稱(chēng),t1.TypeNameAS一級(jí)分類(lèi)名稱(chēng),"_+"t.TypeNameAS二級(jí)分類(lèi)名稱(chēng),s.OStyleAS型號(hào),s.OAmountAS庫(kù)存數(shù)量,s.OMinAS庫(kù)存下限,s.MemosAS備注"_+"FromStores,Typest,Typest1Wheres.TypeId=t.TypeId"_+"Andt.UpperId=t1.TypeId"+StrSearch+"OrderBys.TypeId"Adodc1.RefreshSetDataGrid1.DataSource=Adodc1DataGrid1.Columns(0).Width=0DataGrid1.Columns(1).Width=1600DataGrid1.Columns(2).Width=1200DataGrid1.Columns(3).Width=1200DataGrid1.Columns(4).Width=1200DataGrid1.Columns(5).Width=1200DataGrid1.Columns(6).Width=1200DataGrid1.Columns(7).Width=1600EndSubPrivateSubCmd_Del_Click()IfAdodc1.Recordset.EOFThenMsgBox"請(qǐng)選擇記錄"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論