版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
企業(yè)資產(chǎn)管理系統(tǒng)VBAccess畢業(yè)設(shè)計(jì)目錄TOC\o"1-5"\h\z緒論 -1 -\o"CurrentDocument"課題背景 -1 -\o"CurrentDocument"目的及意義 -1 -\o"CurrentDocument"開(kāi)發(fā)和運(yùn)行環(huán)境選擇 -1 -\o"CurrentDocument"編程環(huán)境的選擇 -2 -VisualBasic簡(jiǎn)介及實(shí)現(xiàn)原理 -2 -數(shù)據(jù)庫(kù)組件介紹 -3 -SQL語(yǔ)言在VB中的應(yīng)用 -4 -\o"CurrentDocument"數(shù)據(jù)庫(kù)平臺(tái)介紹 -4 -Access2007數(shù)據(jù)庫(kù)簡(jiǎn)介 -4 -數(shù)據(jù)庫(kù)的基本概念 -5 -結(jié)構(gòu)化查詢語(yǔ)言SQL - 6-SQL語(yǔ)句簡(jiǎn)介 -6 -2系統(tǒng)設(shè)計(jì) -8 -\o"CurrentDocument"系統(tǒng)功能分析 -8 -\o"CurrentDocument"系統(tǒng)功能模塊設(shè)計(jì) -8 -3數(shù)據(jù)庫(kù)設(shè)計(jì) -10 -\o"CurrentDocument"數(shù)據(jù)庫(kù)需求分析 -10 -\o"CurrentDocument"數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) -11 -\o"CurrentDocument"數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)及實(shí)現(xiàn) -13 -\o"CurrentDocument"4系統(tǒng)具體程序?qū)崿F(xiàn) -15 -\o"CurrentDocument"系統(tǒng)公共模塊和類模塊的創(chuàng)建 -15 -創(chuàng)建工程項(xiàng)目——PrjDevice -15 -創(chuàng)建公用模塊 -15 -創(chuàng)建類模塊 -15 -\o"CurrentDocument"系統(tǒng)用戶登錄窗體的創(chuàng)建 -16 -\o"CurrentDocument"企業(yè)資產(chǎn)管理系統(tǒng)主窗體的創(chuàng)建 -17 -資產(chǎn)管理模塊 -22 -資產(chǎn)查詢模塊 -26 -報(bào)表管理模塊 -26 -系統(tǒng)管理模塊 -30 -用戶管理模塊 -31 -\o"CurrentDocument"5系統(tǒng)的編譯和發(fā)行 -32 -6小結(jié) -33 -致謝 -34 -主要參考文獻(xiàn) -35 -附錄 -37 -II1緒論課題背景隨著信息技術(shù)廣泛、深入地應(yīng)用到人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。計(jì)算機(jī)軟件技術(shù)應(yīng)用于信息管理是發(fā)展的必然。作為計(jì)算機(jī)應(yīng)用的一部分,充分發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),將大量復(fù)雜的數(shù)據(jù)交給計(jì)算機(jī)來(lái)處理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。如:查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,是真正意義上的合理利用資源,也是企事業(yè)管理科學(xué)化、正規(guī)化,與世界接軌的重要條件在當(dāng)今社會(huì),作為一個(gè)公司或集體,資產(chǎn)是至關(guān)重要的。資產(chǎn)的項(xiàng)目是紛繁蕪雜的,大至辦公樓、汽車,小到辦公桌、訂書(shū)機(jī)等諸多門(mén)類的諸多物品都可以列入資產(chǎn)之列。由于資產(chǎn)的種類太多,涉及面太廣,而且被經(jīng)常的借出借入,必然會(huì)引起管理上的困難,而資產(chǎn)管理不好就會(huì)引起混亂,導(dǎo)致公司資產(chǎn)的流失。因此,有必要設(shè)計(jì)一個(gè)應(yīng)用軟件系統(tǒng)來(lái)管理。目的及意義畢業(yè)設(shè)計(jì)是四年學(xué)習(xí)的總結(jié),同時(shí)也是自己綜合運(yùn)用所學(xué)知識(shí)來(lái)解決實(shí)際問(wèn)題的一次鍛煉。企業(yè)資產(chǎn)管理系統(tǒng)的主要目的是為了方便企業(yè)對(duì)資產(chǎn)的錄入、修改、查詢,提高企業(yè)資產(chǎn)管理部的工作效率。這一系統(tǒng)的開(kāi)發(fā)成功,將會(huì)解決手寫(xiě)速度慢、容易出錯(cuò)的現(xiàn)狀。無(wú)論是在資產(chǎn)管理,還是報(bào)表管理等方面都可以幫助企業(yè)迅速、準(zhǔn)確的完成所需的工作。而且此系統(tǒng)在適用性、靈活性和易操作性方面都顯示出了它的強(qiáng)大功能。開(kāi)發(fā)和運(yùn)行環(huán)境選擇在操作系統(tǒng)方面,WindowsXP系統(tǒng)提供了一個(gè)可伸縮的高性能平臺(tái),用于運(yùn)行基于Windows的新一代強(qiáng)大應(yīng)用程序。這種平臺(tái)的體系結(jié)構(gòu)可以更有效地處理海量數(shù)據(jù),使應(yīng)用程序運(yùn)行地更快、更高效。同時(shí),WindowsXP操作系統(tǒng)占據(jù)很大的市場(chǎng)地位,而且其使用趨向于傻瓜化,操作簡(jiǎn)單、靈活。另外,現(xiàn)在計(jì)算機(jī)的運(yùn)算速度比以前有了數(shù)量級(jí)倍數(shù)的提高,硬件的價(jià)格也一天天的在下降,所以也不用為了節(jié)省整體的造價(jià)而改用硬件要求很低的DOS系統(tǒng)了?;赪indows操作系統(tǒng)以上的特點(diǎn),我們決定此企業(yè)資產(chǎn)管理系統(tǒng)將運(yùn)行在WindowsXP操作系統(tǒng)下,利用Access2007數(shù)據(jù)庫(kù)來(lái)協(xié)助開(kāi)發(fā)人員輕松地進(jìn)行與數(shù)據(jù)庫(kù)的連接和管理。編程環(huán)境的選擇目前,在市場(chǎng)上這些眾多的程序開(kāi)發(fā)工具中,有些強(qiáng)調(diào)程序語(yǔ)言的彈性與執(zhí)行效率;有些則偏重于可視化程序開(kāi)發(fā)工具所帶來(lái)的便利性與效率的提高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的需求。然而,語(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í)間。而VB6.0是著名的微軟公司的可視化軟件開(kāi)發(fā)工具,其被稱為最容易編程語(yǔ)言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。它是一個(gè)非常理想的選擇,是可視化的快速應(yīng)用程序開(kāi)發(fā)語(yǔ)言,它提供了可視化的集成開(kāi)發(fā)環(huán)境,這一環(huán)境為應(yīng)用程序設(shè)計(jì)人員提供了一系列靈活而先進(jìn)的工具,可以廣泛地用于許多種類應(yīng)用程序設(shè)計(jì)。故而,實(shí)現(xiàn)本系統(tǒng),VB是一個(gè)相對(duì)較好的選擇。VC++在界面設(shè)計(jì)上不如VB方便,所以本次課題用VB開(kāi)發(fā)。VisualBasic簡(jiǎn)介及實(shí)現(xiàn)原理VisualBasic(簡(jiǎn)稱VB)是美國(guó)微軟公司(Microsoft)于1990年推出的一套完整的Windows系統(tǒng)軟件開(kāi)發(fā)工具,可用于開(kāi)發(fā)Windows環(huán)境下的各類應(yīng)用程序,是一種可視化、面向?qū)ο?、用事件?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言和工具,是目前使用最廣泛的編程語(yǔ)言之一。至今已升級(jí)到了6.0版。VB的重要特點(diǎn)之一是可視性。系統(tǒng)引進(jìn)了窗體和控件的機(jī)制,用于設(shè)計(jì)應(yīng)用程序界面。用戶通過(guò)在屏幕上生成窗體,在窗體中繪制所需要的控件和按鈕,設(shè)計(jì)菜單和對(duì)話框,VB會(huì)自動(dòng)生成相應(yīng)的代碼。VB的另一重要特點(diǎn)是事件驅(qū)動(dòng)。當(dāng)窗體或控件上發(fā)生一個(gè)事件時(shí),VB立即把控制權(quán)交給程序員。程序員不必?fù)?dān)心如何判斷事件是否已發(fā)生,只需要編寫(xiě)一段代碼告訴計(jì)算機(jī)在事件發(fā)生以后應(yīng)該做什么工作就可以了。這樣,設(shè)計(jì)一個(gè)Windows應(yīng)用程序簡(jiǎn)化為用鼠標(biāo)在屏幕上點(diǎn)擊、拖拽并添加少量的代碼就可以完成了,大大降低了對(duì)程序設(shè)計(jì)的要求,提高了應(yīng)用程序的開(kāi)發(fā)效率。利用VB的可視性特點(diǎn),可方便的設(shè)計(jì)程序的窗體界面,并在各個(gè)窗體中的合適位置繪制所需的每種控件。如要修改窗體或控件的某項(xiàng)屬性,只需在相應(yīng)的窗體或控件的屬性窗口修改相應(yīng)的參數(shù)便可達(dá)到需要的設(shè)計(jì)效果。利用VB的事件驅(qū)動(dòng)性特點(diǎn),只需在窗體或控件上的代碼窗口中添加少量的代碼,便可達(dá)到告訴當(dāng)在相應(yīng)的窗體或控件上發(fā)生某一事件時(shí),它們?cè)谑录l(fā)生后應(yīng)該做什么工作的目的。例如幾個(gè)窗體上的添加、刪除、返回按鈕的作用,就是通過(guò)在各個(gè)相應(yīng)按鈕的代碼窗口中輸入相應(yīng)的代碼,來(lái)達(dá)到當(dāng)在幾個(gè)按鈕上出現(xiàn)單擊(Click)事件后,相應(yīng)按鈕實(shí)現(xiàn)添加、刪除、返回的功能的。數(shù)據(jù)庫(kù)組件介紹在使用VisualBasic6.0開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的時(shí)候,會(huì)經(jīng)常使用數(shù)據(jù)庫(kù)訪問(wèn)控件。這些控件包括:Data控件;ADOData控件;DataList控件/DataCombo控件;DataGrid控件;MSChart控件。下面將分別對(duì)這些控件的主要功能及使用方法進(jìn)行介紹。(1)Data控件Data控件是VisualBasic中最基本的數(shù)據(jù)庫(kù)操作控件。它使用Recordset對(duì)象提供對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)。Data控件允許從一個(gè)記錄移動(dòng)到另一個(gè)記錄,并顯示和操縱來(lái)自被連接控件的記錄的數(shù)據(jù)。許多其他的數(shù)據(jù)庫(kù)操作控件都需要Data控件或類似的數(shù)據(jù)源控件(比如ADOData控件)。Data控件可以執(zhí)行大部分?jǐn)?shù)據(jù)庫(kù)訪問(wèn)操作,但是它并不能顯示數(shù)據(jù)庫(kù)中數(shù)據(jù)的內(nèi)容。Data控件通常需要與其他控件結(jié)合使用。這些與Data控件結(jié)合使用的控件,可以稱之為“數(shù)據(jù)覺(jué)察控件”。因?yàn)槌绦騿T無(wú)需編寫(xiě)任何代碼,就可以在這些控件中顯示當(dāng)前記錄的數(shù)據(jù)。當(dāng)Data控件中當(dāng)前記錄發(fā)生變化時(shí),數(shù)據(jù)覺(jué)察控件的內(nèi)容也會(huì)隨之發(fā)生變化。當(dāng)與Data控件相連接時(shí),DataList、DataCombo、DataGrid和MSHFlexGrid控件都能管理記錄集合。所有這些控件都允許一次顯示或操作幾個(gè)記錄。內(nèi)部的Picture.Label、TextBox.CheckBox.Image.OLE、ListBox和ComboBox控件也是數(shù)據(jù)覺(jué)察的,能和由Data控件管理的Recordset對(duì)象的某個(gè)字段相連接。ADOData控件ADOData控件與內(nèi)部Data控件以及RemoteData控件(RDC)相似。用戶可以使用ADOData控件快速地創(chuàng)建一個(gè)到數(shù)據(jù)庫(kù)的連接。DataList控件/DataCombo控件DataList控件是一個(gè)數(shù)據(jù)綁定列表框,它可以自動(dòng)地由一個(gè)附加數(shù)據(jù)源中的一個(gè)字段充填,并且可選擇地更新另一個(gè)數(shù)據(jù)源中一個(gè)相關(guān)表的一個(gè)字段。DataCombo控件的功能與DataList控件完全相同,只不過(guò)DataCombo控件是一個(gè)組合框。DataGrid控件在許多情況下,需要使用表格形式來(lái)顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這時(shí)就要借助于DataGrid控件。用戶可以設(shè)置DataGrid控件的DataSource屬性為一個(gè)ADOData控件,從而將ADOData中的數(shù)據(jù)自動(dòng)地填充到DataGrid表格中。這個(gè)DataGrid控件實(shí)際上是一個(gè)固定的列集合,每一列的行數(shù)都是不確定的。(5)MSChart控件MSChart控件的功能是以圖形方式顯示數(shù)據(jù)的圖表。這會(huì)使枯燥的數(shù)據(jù)變得更加生動(dòng)直觀,增加了程序的實(shí)用價(jià)值。MSChart控件支持一下特性:1、真三維表示;2、支持所有主要的圖表類型;3、數(shù)據(jù)網(wǎng)絡(luò)成員支持隨機(jī)數(shù)據(jù),數(shù)據(jù)數(shù)組。1.4.3SQL語(yǔ)言在VB中的應(yīng)用(1)SQL提供的實(shí)用函數(shù)為實(shí)現(xiàn)使用VB程序調(diào)用SQL語(yǔ)言訪問(wèn)Access2007數(shù)據(jù)庫(kù)多個(gè)記錄的目的,我們利用SQL提供的函數(shù)。DavgFunction(求平均值)DcountFunction(計(jì)算滿足條件的記錄數(shù))DfirstFunction(返回記錄集的第一個(gè)記錄的某個(gè)域值)DlastFunction(返回記錄集的最后一個(gè)記錄的某個(gè)域值)DlookupFunction(返回記錄集中滿足待定條件的記錄的域值)DsumFunction(求和計(jì)算)DmaxFunction(求最大值)DminFunction(求最小值)1.5數(shù)據(jù)庫(kù)平臺(tái)介紹Access2007數(shù)據(jù)庫(kù)簡(jiǎn)介Access2007是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,1992年,MicrosoftAccess作為第一個(gè)面向Windows操作平臺(tái)的桌面數(shù)據(jù)庫(kù)管理系統(tǒng)而誕生,它不但充分體現(xiàn)了面向?qū)ο蟮乃枷?,提供可視化的編程手段,而且充分利用了Windows操作平臺(tái)的優(yōu)越性,采用與Windows完全一致的界面風(fēng)格,使界面非常友好。在Access中,用戶不需要編寫(xiě)復(fù)雜的程序就可以建立一個(gè)完整的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),是一個(gè)典型的開(kāi)放式數(shù)據(jù)庫(kù)系統(tǒng),它可以和Windows下的其他應(yīng)用程序共享數(shù)據(jù)庫(kù)資源。數(shù)據(jù)庫(kù)能匯集各種信息以供查詢、存儲(chǔ)和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫(kù)中的信息。Access也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫(kù)。Access是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。本課題研究過(guò)程中選用了WindowsXP操作系統(tǒng)平臺(tái)。WindowsXPServer包含了改進(jìn)的網(wǎng)絡(luò)、應(yīng)用程序和Web服務(wù)。它不但增強(qiáng)了可靠性和靈活性,而且降低了擁有強(qiáng)大、靈活管理服務(wù)的計(jì)算系統(tǒng)的成本,并為運(yùn)行企業(yè)應(yīng)用程序提供了最好的基礎(chǔ)。數(shù)據(jù)庫(kù)的基本概念數(shù)據(jù)庫(kù)系統(tǒng)是計(jì)算機(jī)系統(tǒng)的重要組成部分。信息處理系統(tǒng)的大量推廣應(yīng)用,使得數(shù)據(jù)庫(kù)應(yīng)用技術(shù)成為人們普遍關(guān)注的問(wèn)題。數(shù)據(jù)庫(kù)技術(shù)所研究的問(wèn)題是如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫(kù)按其結(jié)構(gòu)可分為層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)。其中關(guān)系數(shù)據(jù)庫(kù)是應(yīng)用最多的一種數(shù)據(jù)庫(kù)。VB默認(rèn)的數(shù)據(jù)庫(kù)是Accsee數(shù)據(jù)庫(kù),庫(kù)文件的擴(kuò)展名為.mdb。.數(shù)據(jù)表數(shù)據(jù)表是一組相關(guān)聯(lián)的數(shù)據(jù)按行和列排列的二維表格,簡(jiǎn)稱為表(Table),通常用來(lái)描述一個(gè)實(shí)體。每個(gè)數(shù)據(jù)表均有一個(gè)表名,一個(gè)數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)數(shù)據(jù)表組成,各個(gè)數(shù)據(jù)表之間可以存在某種關(guān)系。.記錄與字段數(shù)據(jù)表都是多行或多列構(gòu)成的集合,每列稱為一個(gè)字段(Field),它對(duì)應(yīng)表格中的數(shù)據(jù)項(xiàng),每個(gè)數(shù)據(jù)項(xiàng)的名稱稱為字段名,如“編號(hào)々“姓名”等都是字段名。字段的取值范圍稱為域,通常用字段描述表格實(shí)體在某一方面的屬性。表格的項(xiàng)目名稱下面的每一行稱為一個(gè)記錄(Record),它是字段值的集合,如姓名為“王霞”對(duì)應(yīng)的行中所有數(shù)據(jù)即是一條記錄。記錄中的每個(gè)字段的取值,稱為字段值或分量。記錄中的數(shù)據(jù)隨著每一行記錄的不同而變化。.關(guān)鍵字如果數(shù)據(jù)表中某個(gè)字段值能唯一地確定一個(gè)記錄,用以區(qū)分不同的記錄,則稱該字段名為候選關(guān)鍵字。一個(gè)表中可以存在多個(gè)候選關(guān)鍵字,選中其中一個(gè)關(guān)鍵字作為主關(guān)鍵字。如員工“編號(hào)”是唯一的,“姓名”和“年齡”存在相同情況,可將其組合起來(lái),作為組合關(guān)鍵字。對(duì)于數(shù)據(jù)表中的每個(gè)記錄來(lái)說(shuō),主關(guān)鍵字必須具有一個(gè)唯一的值,即主關(guān)鍵字不能為空值。在數(shù)據(jù)庫(kù)中,表與表之間是通過(guò)關(guān)鍵字來(lái)相互關(guān)聯(lián)的。例如,職工情況表與工資表之間就是用“編號(hào)”相互關(guān)聯(lián)的。用來(lái)聯(lián)系兩個(gè)數(shù)據(jù)表的字段稱為關(guān)鍵字段。根據(jù)一個(gè)表中記錄與另一個(gè)表中記錄之間的數(shù)量對(duì)應(yīng)關(guān)系,分為一對(duì)一、一對(duì)多(或多對(duì)一)、多對(duì)多關(guān)系,常用的是一對(duì)多關(guān)系。.索引一個(gè)表可以按照某種特定的順序進(jìn)行保存和排列。例如,用戶可能想要自己的數(shù)據(jù)按照“部門(mén)”的順序保存,這樣可以給表設(shè)置索引,通過(guò)這些索引,數(shù)據(jù)庫(kù)引擎就能非常迅速地查找到某個(gè)特定的記錄。這與一本書(shū)的目錄索引相似,通過(guò)目錄索引就能很快找到自己需要的內(nèi)容。從簡(jiǎn)單意義上講,一個(gè)表是許多記錄的集合。更為常見(jiàn)的情況是,表是一個(gè)經(jīng)過(guò)分類排序和建立索引后的記錄的集合表。用戶可以通過(guò)用不同的分類和過(guò)濾條件將多個(gè)記錄組成一個(gè)集合。對(duì)一個(gè)記錄集進(jìn)行的修改會(huì)自動(dòng)更新相應(yīng)的表中的內(nèi)容,同樣,對(duì)表所做修改會(huì)自動(dòng)更新以該表為基礎(chǔ)建立的所有記錄集。結(jié)構(gòu)化查詢語(yǔ)言SQLSQL(StructureQueryLanguage結(jié)構(gòu)化查詢語(yǔ)言)是一種用于數(shù)據(jù)查詢的編程語(yǔ)言。由于它的功能豐富、使用方式靈活、語(yǔ)言簡(jiǎn)潔易學(xué),在計(jì)算機(jī)工業(yè)界和用戶中倍受歡迎,現(xiàn)已成為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的國(guó)際標(biāo)準(zhǔn)。使用SQL可以完成定義關(guān)系模式,錄入數(shù)據(jù),建立數(shù)據(jù)庫(kù),查詢、更新、維護(hù)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)重構(gòu),數(shù)據(jù)庫(kù)安全性控制等一系列的操作要求。對(duì)于VB中的關(guān)系數(shù)據(jù)庫(kù),一旦數(shù)據(jù)存入數(shù)據(jù)庫(kù)以后,就可以用SQL同數(shù)據(jù)庫(kù)“對(duì)話”。通常,都是由用戶用SQL來(lái)“發(fā)問(wèn)”,數(shù)據(jù)庫(kù)則以符合發(fā)問(wèn)條件的記錄來(lái)“回答”。查詢的語(yǔ)法中通常都包含表名、字段名及一些條件等。SQL語(yǔ)句簡(jiǎn)介SQL是一種數(shù)據(jù)庫(kù)系統(tǒng)的標(biāo)準(zhǔn),使用SQL語(yǔ)句可以進(jìn)行數(shù)據(jù)庫(kù)的查詢、修改、插入和刪除等基本操作,還可以建立存儲(chǔ)過(guò)程、觸發(fā)器等。SQL中以關(guān)鍵字打頭,完整描述一個(gè)操作完整的短語(yǔ)。例如:Select*FromtblUserSQL語(yǔ)句不應(yīng)和一般的VB語(yǔ)句混淆。以下是幾個(gè)常用的SQL語(yǔ)句:(1)Select語(yǔ)句的語(yǔ)法。Select語(yǔ)句可以創(chuàng)建一個(gè)選擇查詢,用于從現(xiàn)有的數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),是最常用的查詢之一,其語(yǔ)法為Select(字段名表)From(表名)Where(條件)說(shuō)明:(字段名表)列出要查詢的字段名,字段名之間用逗號(hào)分開(kāi)。當(dāng)要查詢的是表中所有列時(shí),可用“*”代表,而不要一一列出。(表名)指出所查詢的表。如果查詢是在多個(gè)表之間進(jìn)行的,所有的表都要列出,表名之間用逗號(hào)分隔。-6-(條件)是一個(gè)結(jié)果為邏輯值的邏輯表達(dá)式或條件表達(dá)式。(條件)和(字段名表)中用到的字段名前要加上表名,中間用小數(shù)點(diǎn)分隔。(2)Update語(yǔ)句的語(yǔ)法。Update語(yǔ)句可以創(chuàng)建一個(gè)更新查詢,用來(lái)按照指定條件修改表中的字段值。其語(yǔ)法為Update(表名)Set(字段)=(表達(dá)式)[,(字段)=(表達(dá)式)]Where(條件)(3)Delete語(yǔ)句的語(yǔ)法。Delete語(yǔ)句可以創(chuàng)建一個(gè)刪除查詢,用來(lái)按照指定條件刪除表中的記錄。其語(yǔ)法為DeleteFrom(表名)Where(條件)(4)Insert語(yǔ)句的語(yǔ)法。Insert語(yǔ)句可以創(chuàng)建一個(gè)添加查詢,用來(lái)向表中添加多個(gè)記錄。其語(yǔ)法為InsertInto(目標(biāo)表名)Select(字段1)[,(字段2)…]From(源表名)向表中添加多個(gè)記錄的Insert語(yǔ)句語(yǔ)法為InsertInto(目標(biāo)表名)(字段1)[,(字段2)?]Values(值1)[,(值2?)](5)SelectInto語(yǔ)句的語(yǔ)法。SelectInto語(yǔ)句用來(lái)為表做備份或?qū)⒈磔敵龅狡渌麛?shù)據(jù)庫(kù)中。其語(yǔ)法為Select(字段名表)Into(新表名)From(源表名)2系統(tǒng)設(shè)計(jì)系統(tǒng)功能分析本系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。本系統(tǒng)主要是基于可以移動(dòng)的電腦、書(shū)籍、辦公桌等資產(chǎn)的管理,可實(shí)現(xiàn)的功能主要有:資產(chǎn)數(shù)據(jù)的瀏覽:分條顯示資產(chǎn)記錄,顯示企業(yè)資產(chǎn)總表。資產(chǎn)數(shù)據(jù)的查詢:查詢符合特定條件的資產(chǎn)記錄及全部資產(chǎn)。資產(chǎn)數(shù)據(jù)的修改:對(duì)資產(chǎn)的數(shù)據(jù)進(jìn)行修改。資產(chǎn)數(shù)據(jù)的增加:增加新入庫(kù)資產(chǎn)。資產(chǎn)的報(bào)廢:對(duì)某一特定的資產(chǎn)進(jìn)行報(bào)廢處理。資產(chǎn)的注銷:對(duì)某一特定的資產(chǎn)進(jìn)行注銷處理。資產(chǎn)的刪除:刪除某一特定的資產(chǎn)記錄。資產(chǎn)的借出與還入:將在庫(kù)資產(chǎn)借出,或?qū)⒔璩龅馁Y產(chǎn)還入庫(kù)中。資產(chǎn)記錄的打印:打印當(dāng)前記錄的全部資產(chǎn)(資產(chǎn)登記表)、各部門(mén)擁有資產(chǎn)數(shù)(部門(mén)統(tǒng)計(jì)表)、資產(chǎn)報(bào)廢登記(報(bào)廢統(tǒng)計(jì)表)、資產(chǎn)折舊(折舊統(tǒng)計(jì)表)。系統(tǒng)用戶的管理:系統(tǒng)管理員能對(duì)訪問(wèn)系統(tǒng)的用戶進(jìn)行添加、修改、刪除操作。系統(tǒng)密碼的更改:系統(tǒng)的正式用戶都可以更改自己的密碼。系統(tǒng)多用戶分級(jí)管理:系統(tǒng)共設(shè)3種級(jí)別的用戶。1)普通用戶:能瀏覽資產(chǎn)表并進(jìn)行查詢以及報(bào)表瀏覽。2)數(shù)據(jù)操作員:能進(jìn)行資產(chǎn)的增加、刪除、修改、出借等操作以及報(bào)表瀏覽。3)系統(tǒng)管理員:能對(duì)系統(tǒng)用戶進(jìn)行管理。系統(tǒng)功能模塊設(shè)計(jì)對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如圖2-1所示的系統(tǒng)功能模塊圖。
圖2-1系統(tǒng)功能模塊圖.資產(chǎn)查詢模塊該模塊的功能是提供資產(chǎn)數(shù)據(jù)的查詢以及顯示全部資產(chǎn)。.用戶管理模塊該模塊的功能是提供用戶的添加、刪除和修改。.資產(chǎn)管理模塊該模塊的功能是提供資產(chǎn)的添加、刪除、修改、借出還入、報(bào)廢、注銷以及資產(chǎn)的全部顯示和分條顯示。.報(bào)表打印模塊該模塊的功能是提供資產(chǎn)登記表、部門(mén)統(tǒng)計(jì)表、報(bào)廢統(tǒng)計(jì)表和統(tǒng)計(jì)表的瀏覽及打印。.系統(tǒng)管理模塊該模塊的功能是提供用戶密碼的修改和退出系統(tǒng)功能。3數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括如下幾個(gè)步驟:數(shù)據(jù)庫(kù)需求分析。數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)及實(shí)現(xiàn)。數(shù)據(jù)庫(kù)需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。在仔細(xì)分析調(diào)查有關(guān)資產(chǎn)管理信息需求的基礎(chǔ)上,將得到如圖3-1所示的本系統(tǒng)所處理的數(shù)據(jù)流程。圖3-1資產(chǎn)管理信息系統(tǒng)數(shù)據(jù)流程圖針對(duì)一般企業(yè)資產(chǎn)管理信息系統(tǒng)的需求,通過(guò)對(duì)企業(yè)資產(chǎn)管理工作過(guò)程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):部門(mén)基本信息:包括部門(mén)編號(hào)、部門(mén)名稱。操作:輸入、刪除、查詢、修改。-10-資產(chǎn)基本信息:包括資產(chǎn)編號(hào)、名稱、型號(hào)、類型、所屬部門(mén)、購(gòu)買價(jià)格、折舊價(jià)、購(gòu)買日期、狀態(tài)(借出或在庫(kù))、報(bào)廢時(shí)間、注銷時(shí)間、購(gòu)買日期。操作:輸入、刪除、查詢、修改。資產(chǎn)借還信息:包括資產(chǎn)編號(hào)、借或還信息、使用部門(mén)、借或還時(shí)間、操作時(shí)間。操作:借出、還入。資產(chǎn)分類信息:包括資產(chǎn)分類號(hào)、資產(chǎn)分類名。操作:輸入、刪除、查詢、修改。用戶信息:包括用戶名、用戶密碼、用戶級(jí)別。操作:輸入、刪除、修改。有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項(xiàng)和數(shù)據(jù)流程,我們就能進(jìn)行下面的數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)有了上面的具體企業(yè)資產(chǎn)管理需求以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過(guò)相互之間的作用形成數(shù)據(jù)的操作及其變化的流程。本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:部門(mén)基本信息實(shí)體、資產(chǎn)基本信息實(shí)體、資產(chǎn)借還信息實(shí)體、資產(chǎn)分類信息實(shí)體、用戶信息實(shí)體。各個(gè)實(shí)體具體的描述E-R圖如下。部門(mén)基本信息實(shí)體E-R圖如圖3-2所示。圖3-2學(xué)生基本信息實(shí)體E-R圖資產(chǎn)基本信息實(shí)體E-R圖如圖3-3所示。-11-
資產(chǎn)借還信息實(shí)體E-R圖如圖3-4所示。資產(chǎn)分類信息實(shí)體E-R圖如圖3-5所示。圖3-5資產(chǎn)分類信息實(shí)體E-R圖用戶信息實(shí)體E-R圖如圖3-6所示。--12-圖3-6用戶信息實(shí)體E-R圖
實(shí)體之間關(guān)系的E-R圖如圖3-7所示。圖3-7實(shí)體之間關(guān)系的E-R圖數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)及實(shí)現(xiàn)經(jīng)過(guò)上面的需求分析和概念設(shè)計(jì),再根據(jù)關(guān)系數(shù)據(jù)庫(kù)理論及其設(shè)計(jì)方法與技術(shù),就可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為Access2007數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。啟動(dòng)Access2007,創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),命名為Data.mdb,保存在要存放這個(gè)系統(tǒng)的所有工程文件夾中。使用設(shè)計(jì)器創(chuàng)建這個(gè)系統(tǒng)需要的所有表格。企業(yè)資產(chǎn)管理系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表。表3-1tblDepartment部門(mén)基本信息表-13-
表3-2tblDevice資產(chǎn)基本信息表園tblDevice:表字段名稱數(shù)據(jù)類型說(shuō)明 1IID自動(dòng)編號(hào)1DeviceNO文本資產(chǎn)編號(hào)DeviceN:diTiH文本資產(chǎn)名稱DeviceModel文本資產(chǎn)型號(hào)Typeth文本資產(chǎn)類型HeptBO文本所屬部門(mén)FruduetFrice貨幣購(gòu)買價(jià)格PruductCuEt貨幣折舊價(jià)PufchasMllatP日期/時(shí)間購(gòu)買日期Status數(shù)字狀態(tài):口一正??捎?,1--借出RejertDate日期/時(shí)間報(bào)廢時(shí)間Disc:1i'dliath日期/時(shí)間注銷時(shí)間Rec口rdllate日期/時(shí)間錄入日期表3-3tblLend資產(chǎn)借還信息表國(guó)tblLend:表字段名稱數(shù)據(jù)類型說(shuō)明 1LED自動(dòng)編號(hào)Devicelll數(shù)字資產(chǎn)編號(hào)Uperatioil文本操作:惜或還LeriiJIlept文本使用部門(mén)LernlDatH日期/時(shí)間操作時(shí)間:借或還時(shí)間LendMan文本操作人表3-4tblTypelnfo資產(chǎn)分類信息表UUtblTypelnfo:表 □回國(guó)字段名稱數(shù)據(jù)類型說(shuō)明 1TID自動(dòng)編號(hào)TypetTD文本資產(chǎn)分類號(hào)Tj^iHlLdfTiP文本資產(chǎn)分類名IZI回表3-5tblUser用戶信息表IZI回--14-字段名稱數(shù)據(jù)類型說(shuō)明AUID自動(dòng)編號(hào)Lugin文本用戶名Fwd文本用戶密碼IJserLeTel數(shù)字用戶皴別Cr已打t211at已日期/時(shí)間創(chuàng)建時(shí)間國(guó)tblUser:表4系統(tǒng)具體程序?qū)崿F(xiàn)系統(tǒng)公共模塊和類模塊的創(chuàng)建VB的代碼存儲(chǔ)在模塊中。在VB中提供了三種類型的模塊:窗體模塊、公共模塊和類模塊。簡(jiǎn)單的應(yīng)用程序可以只有一個(gè)窗體,所用的程序都駐留在窗體模塊中,而當(dāng)應(yīng)用程序龐大復(fù)雜時(shí),就要另外附加窗體。最終可能有幾個(gè)窗體中有一些共同都要執(zhí)行的代碼,為了在兩個(gè)窗體中不產(chǎn)生重復(fù)代碼,可創(chuàng)建一個(gè)獨(dú)立的模塊,用它實(shí)現(xiàn)代碼公用。該獨(dú)立模塊即是公共模塊。此外還可以建立包含共享代碼與數(shù)據(jù)的類模塊。每個(gè)標(biāo)準(zhǔn)模塊、類模塊和窗體模塊可包含:(1)聲明:可將常數(shù)、類型、變量和動(dòng)態(tài)鏈接庫(kù)(DLL)過(guò)程的聲明放在窗體、類或公共模塊的聲明部分。每個(gè)模塊只有一個(gè)聲明部分。(2)過(guò)程:每個(gè)模塊可有多個(gè)過(guò)程,過(guò)程是劃分VB代碼的最小單元,每個(gè)過(guò)程是一個(gè)可執(zhí)行的代碼片段。VB中主要有子過(guò)程、函數(shù)過(guò)程或者屬性過(guò)程等創(chuàng)建工程項(xiàng)目——PrjDevice啟動(dòng)VisualBasic后,單擊“文件”“新建工程”菜單,在工程模板中選擇“標(biāo)準(zhǔn)EXE”項(xiàng),單擊“確定”按鈕,VisualBasic將自動(dòng)產(chǎn)生一個(gè)Form窗體,這個(gè)窗體的屬性都是缺省設(shè)置。這里我們先刪除這個(gè)窗體,然后單擊“文件”一“保存工程”菜單,在出現(xiàn)的“文件另存為”對(duì)話框中,將這個(gè)工程項(xiàng)目命名為PbDevice。并且選擇要保存這個(gè)工程的目錄,單擊“保存”按鈕,保存工程。創(chuàng)建公用模塊在VisualBasic中可以用公用模塊來(lái)存放整個(gè)工程項(xiàng)目公用的函數(shù)、過(guò)程和全局變量等。因?yàn)椴幌M诙鄠€(gè)窗體中重復(fù)代碼,所以要?jiǎng)?chuàng)建一個(gè)獨(dú)立模塊,它包含實(shí)現(xiàn)公共代碼的過(guò)程,這樣可以極大地提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)Module,保存為Global.bas。下面就可以開(kāi)始編輯需要的代碼了。代碼見(jiàn)附錄十。創(chuàng)建類模塊在VB中類模塊是面向?qū)ο缶幊痰幕A(chǔ)??梢栽陬惸K中編寫(xiě)代碼建立新對(duì)象。這些新對(duì)象可以包含自定義的屬性和方法。用類模塊創(chuàng)建對(duì)象,這些對(duì)象可被應(yīng)用程序內(nèi)的過(guò)程調(diào)用。類模塊包含代碼又包含數(shù)據(jù)。類模塊的數(shù)據(jù),是相對(duì)于類實(shí)例(也就是,由類創(chuàng)建的每一個(gè)對(duì)象)而獨(dú)立存在的。類實(shí)例中的數(shù)據(jù)只存在于對(duì)象的存活期,它隨-15-對(duì)象的創(chuàng)建而創(chuàng)建,隨對(duì)象的撤消而消失。在本次設(shè)計(jì)中,由于企業(yè)資產(chǎn)管理系統(tǒng)啟動(dòng)后,需要對(duì)用戶進(jìn)行判斷。如果登錄者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,而且數(shù)據(jù)隨對(duì)象的創(chuàng)建而創(chuàng)建,隨對(duì)象的撤消而消失,因此將代碼放在類模塊中。類模塊的創(chuàng)建過(guò)程為:點(diǎn)擊“工程一添加類模塊”,在出現(xiàn)的“添加類模塊”框中單擊“打開(kāi)”,此時(shí)生成一個(gè)類模塊,同時(shí)出現(xiàn)該類模塊的代碼編輯框。用戶管理類模塊代碼見(jiàn)附錄八。另外,資產(chǎn)管理類也需要?jiǎng)?chuàng)建為類模塊。代碼見(jiàn)附錄九。系統(tǒng)用戶登錄窗體的創(chuàng)建本程序考慮到系統(tǒng)的安全性,主要設(shè)置了用戶登錄論證。用戶登錄必須進(jìn)行密碼校驗(yàn),保證信息的準(zhǔn)確性。密碼驗(yàn)證流程如圖4-1所示。經(jīng)過(guò)以上分析、建模過(guò)程,已經(jīng)完成了數(shù)據(jù)庫(kù)的后臺(tái)工作,建立起了能夠使系統(tǒng)順利、正確運(yùn)行的后臺(tái)保障,完成了初期的工作目標(biāo),下面就完成人機(jī)交換的界面。一個(gè)友好完善的界面不僅能夠方便系統(tǒng)的使用者,而且能夠使各個(gè)模塊間的劃分更加明確,使系統(tǒng)結(jié)構(gòu)更趨于完善。另外窗口界面要多用按鈕和快捷鍵,少用菜單,窗口的各個(gè)控件布局要合理,美觀。-16-
在進(jìn)入系統(tǒng)之前,要進(jìn)行身份確認(rèn),只有用戶名和用戶密碼都相符的用戶方可進(jìn)入本系統(tǒng)。當(dāng)用戶要進(jìn)入系統(tǒng)時(shí),必須先輸入用戶名和密碼,按“確定”按鈕后,系統(tǒng)辨別用戶身份,對(duì)合法用戶根據(jù)用戶的權(quán)限級(jí)別賦予相應(yīng)的使用功能。用戶登錄窗體界面設(shè)計(jì)如圖4-2:用戶登錄成功后,將顯示標(biāo)志窗體,如圖4-3用戶登錄成功后,將顯示標(biāo)志窗體,如圖4-3占八、、標(biāo)企業(yè)資產(chǎn)管理系統(tǒng)主窗體的創(chuàng)建新添加一個(gè)窗體,在窗體上添加所需的控件,窗體和控件的屬性設(shè)置見(jiàn)以下表。表4-1主窗體屬性設(shè)置^空件屬性屬性取值frmMain(Form)名稱frmMain-17-
Caption企業(yè)資產(chǎn)管理系統(tǒng)V1.0BorderStyle2-SizableHeight7950Left1215Top720Width10635表4-2主窗體中控件一SSTab屬性設(shè)置^空件屬性屬性取值SSTab名稱tabMainCaption資產(chǎn)管理[&M]資產(chǎn)查詢[&Q]報(bào)表管理[&B]用戶管理[&U]系統(tǒng)管理[&S]EnabledTrueHeight7365Style1-ssStyleProPertyPageTop720Width10635Tab01234TabHeight400TabIndex0Tabs5TabsPerRow5TabStopTrueWidth10455SSTab控件提供了一組選項(xiàng)卡,每個(gè)都充當(dāng)一個(gè)容器,包含了其他的控件??丶?18-每次只有一個(gè)選項(xiàng)卡是活動(dòng)的,給用戶提供了其所包含的控件,而其他選項(xiàng)卡都是隱藏的。要使用該控件,必須先確定打算如何在選項(xiàng)卡中放置其他控件。設(shè)置 Tabs和TabsPerRow屬性來(lái)創(chuàng)建選項(xiàng)卡并將它們安排成多行顯示。然后在設(shè)計(jì)時(shí)選擇每個(gè)選項(xiàng)卡。對(duì)于每個(gè)選項(xiàng)卡,繪制每個(gè)你想顯示的控件。如果必要,設(shè)置Caption,Picture,TabHeight和TabMaxWidth屬性來(lái)安排選項(xiàng)卡的上部。在運(yùn)行時(shí),用戶可以使用CTRL+TAB或使用選項(xiàng)卡上定義的快捷鍵瀏覽每個(gè)選項(xiàng)卡。也可以使用Style,ShowFocusRect,TabOrientation和WordWrap屬性來(lái)自定義整個(gè)SSTab控件。表4-3主窗體中控件一MSFlexGrid屬性設(shè)置^空件屬性屬性取值MSFlexGrid名稱grdDeviceBorderStyle1—flexBorderSingleCols2GridLines1—flexGridFlatGridLinesFixed2—flexGridInsetLeft195Rows2ScrollBars3—flexScrollBarBoth其他控件屬性設(shè)置在這里就不一一描述了,在窗體設(shè)計(jì)中可以查看。設(shè)置好控件及其屬性后,創(chuàng)建好的窗體如圖4-4-1一一4-4-5所示。-19-資產(chǎn)管理皿]|資產(chǎn)查詢叵]|報(bào)表管理出]|用戶管理[5|系統(tǒng)管理|所有資產(chǎn)列表[雙擊資產(chǎn)列表可以查看詳細(xì)內(nèi)容及其數(shù)據(jù)修改]:圖4-4-1企業(yè)資產(chǎn)管理系統(tǒng)主窗體資產(chǎn)管理圖4-4-2企業(yè)資產(chǎn)管理系統(tǒng)主窗體一一資產(chǎn)查詢資產(chǎn)管理[M]資產(chǎn)查詢叵]|報(bào)表管理[B]|用戶管理[U]]系統(tǒng)管理[S]][請(qǐng)選擇查詢條件]顯亭全部型號(hào)購(gòu)置日期:注銷日期借出借入新增資產(chǎn)出]刪除資產(chǎn)資產(chǎn)注銷資產(chǎn)報(bào)廢開(kāi)蛤查詢部門(mén):cLoQEept ▼設(shè)備名:分類cboQTypeNO▼-20-圖4-4-3企業(yè)資產(chǎn)管理系統(tǒng)主窗體一一報(bào)表管理-21-在主窗體中,基本可以完成系統(tǒng)所需的所有功能。主窗體代碼見(jiàn)附錄三。主窗體完成后,下面將一一進(jìn)行其功能的描述。在功能描述過(guò)程中,也會(huì)介紹其他窗體的創(chuàng)建。資產(chǎn)管理模塊只有當(dāng)用戶以數(shù)據(jù)操作員的身份進(jìn)入系統(tǒng)時(shí),才能進(jìn)入資產(chǎn)管理模塊。如圖4-5所-22-22-圖4-5資產(chǎn)管理模塊資產(chǎn)管理模塊主要實(shí)現(xiàn)以下功能:資產(chǎn)的添加。資產(chǎn)的修改。資產(chǎn)的刪除。資產(chǎn)的借出還入。資產(chǎn)的報(bào)廢。資產(chǎn)的注銷。(1)點(diǎn)擊“新增資產(chǎn)”按鈕,將出現(xiàn)“資產(chǎn)管理”窗體,如圖4-6所示。~~資產(chǎn)編號(hào):資產(chǎn)名稱:狀態(tài):注銷日期:保存并退出[S]圖4-6資產(chǎn)管理界面
刪除并退出①]放棄并退出[C]填好新增資產(chǎn)的信息后,點(diǎn)擊“保存并退出"按鈕即可完成。如果想放棄此次操作,點(diǎn)擊“放棄并退出"按鈕即可?!百Y產(chǎn)管理”窗體的代碼見(jiàn)附錄四。在“資產(chǎn)管理”窗體中,有一個(gè)“購(gòu)買日期”項(xiàng),此項(xiàng)可以由用戶自行輸入,也可以利用下拉框進(jìn)行選擇。如果是選擇日期,將會(huì)出現(xiàn)一個(gè)日期窗體,如圖資產(chǎn)名稱:狀態(tài):注銷日期:保存并退出[S]圖4-6資產(chǎn)管理界面
刪除并退出①]放棄并退出[C]填好新增資產(chǎn)的信息后,點(diǎn)擊“保存并退出"按鈕即可完成。如果想放棄此次操作,點(diǎn)擊“放棄并退出"按鈕即可?!百Y產(chǎn)管理”窗體的代碼見(jiàn)附錄四。在“資產(chǎn)管理”窗體中,有一個(gè)“購(gòu)買日期”項(xiàng),此項(xiàng)可以由用戶自行輸入,也可以利用下拉框進(jìn)行選擇。如果是選擇日期,將會(huì)出現(xiàn)一個(gè)日期窗體,如圖4-7所示。Jj五月20082728293012345678910111214151617181920212223242526272829303112345673今天:2008-5-13圖4-7選擇日期窗體在“選擇日期窗體”中可以直接點(diǎn)擊所需日期,即可完成選擇并退出此窗體?!斑x擇日期窗體”的代碼見(jiàn)附錄五。(2)選定要操作的資產(chǎn)后,點(diǎn)擊“刪除資產(chǎn)”按鈕,將會(huì)出現(xiàn)對(duì)話框,如圖4-8所示。-23-圖4-8點(diǎn)擊“確定”將刪除當(dāng)前選定的資產(chǎn)。(3)要進(jìn)行資產(chǎn)的借出借入操作時(shí),先選定要操作的資產(chǎn),再點(diǎn)擊“借出借入”按鈕,將出現(xiàn)以下窗體,如圖4-9所示。借出借入記錄:序號(hào)操作使用部門(mén)操作大|操作時(shí)間 |1歸還bMB 2口口8-5-14 2|借由口4-生產(chǎn)部h選擇惜出單位圖4-9資產(chǎn)借出借入記錄界面 退出如果選定的是筆記本電胭,仕窗體標(biāo)題欄上將顯示“資產(chǎn)[筆記本電胭]借出借入記錄”,如果此資產(chǎn)的狀態(tài)是在庫(kù),那么在窗體下面的按鈕上顯示的文字是“借出資產(chǎn)”,而且此次操作進(jìn)行的是資產(chǎn)的借出操作;如果此資產(chǎn)的狀態(tài)是借出,那么在窗體下面的按鈕上顯示的文字是“歸還資產(chǎn)”,而且此次進(jìn)行的是資產(chǎn)歸還操作。如圖4-10資產(chǎn)鉛筆的歸還操作。-24-
圖4-9和圖4-10都是由“資產(chǎn)借出借入記錄”窗體設(shè)計(jì)而成的,窗體設(shè)計(jì)界面如圖4-11所示。窗體代碼見(jiàn)附錄六。(4)選定要操作的資產(chǎn)后,點(diǎn)擊“資產(chǎn)報(bào)廢”按鈕,將會(huì)出現(xiàn)對(duì)話框,如圖4-12所示。圖4-12點(diǎn)擊“確定”,進(jìn)行資產(chǎn)報(bào)廢操作。(5)選定要操作的資產(chǎn)后,點(diǎn)擊“資產(chǎn)注銷”按鈕,將會(huì)出現(xiàn)對(duì)話框,如圖4-13所示。圖4-13點(diǎn)擊“確定”,進(jìn)行資產(chǎn)注銷操作。(6)如果要修改資產(chǎn)信息,可直接在資產(chǎn)列表中雙擊資產(chǎn),將出現(xiàn)如圖4-14所示。-25-
報(bào)廢日期: 注銷日期:保存并退出叵]圖4-14刪%管理界面報(bào)廢日期: 注銷日期:保存并退出叵]圖4-14刪%管理界面放棄并退出[Q圖4-14和圖4-6由同一窗體設(shè)計(jì)而成。窗體代碼見(jiàn)附錄四。4.3.2資產(chǎn)查詢模塊當(dāng)用戶以數(shù)據(jù)操作員或普通用戶的身份進(jìn)入系統(tǒng)時(shí),可以進(jìn)入資產(chǎn)查詢模塊。如圖4-15所示??砂促Y產(chǎn)所屬部門(mén)、資產(chǎn)名、資產(chǎn)型號(hào)、分類、購(gòu)買日期等進(jìn)行查詢。.3當(dāng)用戶以數(shù)據(jù)操作員或普通用戶的身份進(jìn)入系統(tǒng)時(shí),可以進(jìn)入報(bào)表管理模塊。如圖4-16所示。報(bào)表管理模塊主要實(shí)現(xiàn)如下功能:資產(chǎn)登記信息打印。-26-
部門(mén)擁有資產(chǎn)統(tǒng)計(jì)信息打印。資產(chǎn)報(bào)廢信息打印。資產(chǎn)折舊信息打印。資產(chǎn)管理皿I資產(chǎn)查詢?「報(bào)裝管通面;系統(tǒng)管理⑻I圖4-16報(bào)表管理界面(1)資產(chǎn)登記報(bào)表的設(shè)計(jì)如圖4-17所示。設(shè)計(jì)好的報(bào)表運(yùn)行后如圖4-18所示。-27-資產(chǎn)登記表(2)部門(mén)統(tǒng)資產(chǎn)編號(hào)001所屬部門(mén)03報(bào)廢日期資產(chǎn)名稱筆記本電腦購(gòu)買日期2008-4-15注銷日期資產(chǎn)型號(hào)町購(gòu)買飾格¥5..800資產(chǎn)類型01折舊成本¥5,500資產(chǎn)編號(hào)020所屈部門(mén)02報(bào)廢日期資產(chǎn)名稱掃描儀購(gòu)買日期2008-1-8注銷日期資產(chǎn)型號(hào)md購(gòu)買飾格¥500資產(chǎn)類型01折舊成本¥420資產(chǎn)編號(hào)030所屬部門(mén)01報(bào)廢日期2008-5-6資產(chǎn)名稱鉛筆購(gòu)買日期2005-4-17注銷日期2008-5-14資產(chǎn)型號(hào)資產(chǎn)類型ch02圖4一需警產(chǎn)登記表卜報(bào)表勺設(shè)計(jì)如圖4里ML報(bào)廢日期注銷日期2008-5-15資產(chǎn)型號(hào)UH購(gòu)買飾格¥120資產(chǎn)類型02折舊成本¥100共1頁(yè)第1頁(yè)?貝斑頭^ectionZJ部門(mén)統(tǒng)計(jì)表¥細(xì)節(jié)tSectionl)所示。部門(mén)統(tǒng)計(jì)表技術(shù)部資產(chǎn)數(shù):1資產(chǎn)總額500經(jīng)理室資產(chǎn)數(shù):2資產(chǎn)總額5920市場(chǎng)部資產(chǎn)數(shù):1資產(chǎn)總額3圖4-20部門(mén)統(tǒng)計(jì)表-28-(3)報(bào)廢統(tǒng)計(jì)報(bào)表的設(shè)計(jì)如圖4-21所示。設(shè)計(jì)好的報(bào)表運(yùn)行后如圖4-22所示。圖4-22報(bào)廢統(tǒng)計(jì)表(4)折舊統(tǒng)計(jì)報(bào)表的設(shè)計(jì)如圖4-23所示。圖4-23折舊統(tǒng)計(jì)表的設(shè)計(jì)設(shè)計(jì)好的報(bào)表運(yùn)行后如圖4-24所示。-29-圖4-24折舊統(tǒng)計(jì)表4.3.4系統(tǒng)管理模塊用戶以數(shù)據(jù)操作員、普通用戶或系統(tǒng)管理員的身份進(jìn)入系統(tǒng)時(shí),都可以進(jìn)入系統(tǒng)管理模塊。如圖4-25所示。系統(tǒng)管理模塊主要實(shí)現(xiàn)如下功能:?用戶密碼的修改。?系統(tǒng)的退出。如果是以系統(tǒng)管理員身份進(jìn)入本系統(tǒng),還可以進(jìn)行數(shù)據(jù)總清操作,此操作相當(dāng)如作系統(tǒng)初始化。有舊能修,只有舊能修,只,才-30-
4.3.5用戶管理模塊用戶只有以系統(tǒng)管理員的身份進(jìn)入本系統(tǒng)時(shí),才可以進(jìn)入用戶管理模塊。如圖4-26所示。用戶管理模塊主要實(shí)現(xiàn)如下功能:添加新用戶。刪除用戶。用戶信息的修改。4茴啪4-27所示保存并退出國(guó)1序?qū)S脩裘脩艏?jí)別 11d普通用戶4茴啪4-27所示保存并退出國(guó)1序?qū)S脩裘脩艏?jí)別 11d普通用戶2a普通用戶3b數(shù)據(jù)操作員_£adiriin系統(tǒng)管理1 1刪除并退出①]圖4-27新增用戶界面放棄并退出[口輸入用戶名及用戶密碼,選擇用戶級(jí)別,點(diǎn)擊“保存并退出"按鈕,即可完成。(2)如果要?jiǎng)h除用戶,先選定要操作的用戶,然后點(diǎn)擊“刪除用戶”按鈕,出現(xiàn)提示對(duì)話框,點(diǎn)“確定”后即可刪除該用戶。(3)如果要修改用戶信息,可直接雙擊用戶,將打開(kāi)以下界面,如圖4-28。-31-放棄并退出[C]刪除并退出[D]放棄并退出[C]刪除并退出[D]在此界面中即可進(jìn)行用戶信息的修改。圖4-27新增用戶界面和圖4-28用戶修改界面共用一個(gè)窗體,它們都是由用戶管5系統(tǒng)的編譯和發(fā)行完成了企業(yè)資產(chǎn)管理信息系統(tǒng)的編程和調(diào)試工作,最后一步就是該系統(tǒng)的編譯和發(fā)行。這涉及到工程項(xiàng)目屬性的設(shè)置、可執(zhí)行應(yīng)用程序的生成。在系統(tǒng)的編譯和發(fā)行之前,需要設(shè)置工程項(xiàng)目的屬性。選擇“工程一PrjDevice屬性”菜單,進(jìn)行屬性設(shè)置,如圖5-1所示。最后選擇“文件一生成PrjDevice.exe”菜單,編譯開(kāi)始。編譯完畢后,即生成了相應(yīng)的可執(zhí)行文件。編譯通過(guò)后,生成可執(zhí)行文件PrjDevice.exe。我們需要在發(fā)行前對(duì)生成的可執(zhí)行文件進(jìn)行測(cè)試。通過(guò)測(cè)試的可執(zhí)行文件,就可以進(jìn)行發(fā)布了。-32-
6小結(jié)通過(guò)這次對(duì)企業(yè)資產(chǎn)管理系統(tǒng)的制作,我學(xué)會(huì)了用VB和Access做一個(gè)簡(jiǎn)單的應(yīng)用軟件。在本設(shè)計(jì)中,詳細(xì)地講述了該企業(yè)資產(chǎn)管理系統(tǒng)的系統(tǒng)設(shè)計(jì)部分,包括功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)等。系統(tǒng)設(shè)計(jì)為整個(gè)程序構(gòu)建了骨架,各個(gè)功能模塊實(shí)現(xiàn)各個(gè)細(xì)節(jié)部分。首先,在這個(gè)設(shè)計(jì)中,我學(xué)會(huì)了VB中很多控件的使用。本系統(tǒng)中使用了SSTab控件,使系統(tǒng)界面顯得美觀、簡(jiǎn)潔、大方。系統(tǒng)用ADO控件對(duì)數(shù)據(jù)庫(kù)進(jìn)行了連接,對(duì)控件內(nèi)的屬性都有了具體的了解,能夠靈活的運(yùn)用到程序中去。-33-其次,在數(shù)據(jù)庫(kù)創(chuàng)建中,學(xué)會(huì)了如何在Access中創(chuàng)建簡(jiǎn)單的數(shù)據(jù)庫(kù),以及各表中數(shù)據(jù)的相關(guān)設(shè)置。雖然數(shù)據(jù)庫(kù)創(chuàng)建非常簡(jiǎn)單,但用SQL語(yǔ)言對(duì)其進(jìn)行訪問(wèn)、添加、修改,讓我學(xué)到了更多相關(guān)知識(shí)。在這次設(shè)計(jì)中,我發(fā)現(xiàn)了自己在很多方面的不足,認(rèn)為此系統(tǒng)的難點(diǎn)在以下幾個(gè)方面,首先是系統(tǒng)中功能模塊的連接問(wèn)題,對(duì)具體的模塊設(shè)置還存在很大程度上的不足;其次是在系統(tǒng)與數(shù)據(jù)庫(kù)的連接上,一些控件中屬性的修改和連接,還值得我好好去學(xué)習(xí);最后是數(shù)據(jù)庫(kù)建表中,表和表之間的關(guān)聯(lián)性,以及表中關(guān)鍵字的唯一性還有待我進(jìn)一步的研究。在編寫(xiě)開(kāi)題報(bào)告、填寫(xiě)實(shí)習(xí)日記、編寫(xiě)畢業(yè)論文和設(shè)計(jì)本系統(tǒng)的過(guò)程中,得到了指導(dǎo)老師胡宗玉老師的指導(dǎo)和幫助,在此表示衷心的感謝。指導(dǎo)老師胡宗玉教授不論多么繁忙,只要我去問(wèn)關(guān)于畢業(yè)設(shè)計(jì)的問(wèn)題時(shí),他都會(huì)放下手里的工作耐心的給我解答,直到我明白了為止。老師那熱心、耐心和認(rèn)真的工作態(tài)度使我很感動(dòng),我非常感激他。他無(wú)論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到不少的提高,這對(duì)于我以-34-后的工作和學(xué)習(xí)都是一種巨大的幫助除此之外,我還要致謝我的幾位同學(xué)的得力相助,我希望我能向他們學(xué)習(xí),發(fā)揚(yáng)那種百折不撓、孜孜不倦的對(duì)知識(shí)求索精神,那種至高無(wú)上的敬業(yè)精神,。再次衷心地感謝幫助我的老師和同學(xué)們。參考文獻(xiàn)[1]羅頌,陳林編著.VisualFoxpro企業(yè)辦公系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航.北京:人民郵電出版社,2004.4[2]劉韜,駱娟,何旭洪編著.VisualBasic數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航.北京:人民郵電出版社,2004.4[3]劉萌,周學(xué)明,郭安源編著.Visualbasic企業(yè)辦公系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航.北京:人民郵電出版社,2004.6[4]劉炳文編著.Visualbasic程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2004.7[5]劉炳文編著.精通Visualbasic6.0中文版.北京:電子工業(yè)出版社,2000.3-35-[6]陳艷峰,高文姬,邵蘊(yùn)秋編著.VisualBasic數(shù)據(jù)庫(kù)項(xiàng)目實(shí)例導(dǎo)航.北京:清華大學(xué)出版社,2004.[7]周峰編著.VisualBasic實(shí)例開(kāi)發(fā)集錦.北京:電子工業(yè)出版社,2005[8](美)StevnJordan牛力等編著.VisualBasic6編程寶典.北京:電子工業(yè)出版社,2005[9]林永張,樂(lè)強(qiáng)編著.Visualbasic6.0用戶編程手冊(cè).北京:人民郵電出版社,2003[10]伍俊良編著.Visualbasic程序設(shè)計(jì)與系統(tǒng)開(kāi)發(fā)案例.北京:清華大學(xué)出版社,2001.9[11]李曉黎,張巍編著.Visualbasic+SQLServer數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)與實(shí)例.北京:人民郵電出版社,2003[12]田原,李素若,陳志宏,胡玉榮等編著.VB.NET程序設(shè)計(jì).北京:清華大學(xué)出版社,2006.6[13]豈興明,矯津毅,銀華強(qiáng)等編著.Visualbasic.NET項(xiàng)目開(kāi)發(fā)寶典.北京:電子工業(yè)出版社,2007[14](美)EvangelosPetroutsos編著.Visualbasic.NET從入門(mén)到精通.北京:電子工業(yè)出版社,2002.7RonaldJ.Norman.Object—orientedSystemsAnalysisandDesign.Prentice-HallInternationalInc,June1998:184-210PJeffreyD.UllmanandJenniferWidom.AFirstCourseinDatabaseSystems.Prentice-Hallinternational1nc,April1998AniteshBarva,AndrewB.WhinstonandFangYin.ValueandProductitvintheInternetEconomyComputer.Prentice-HallinternationalInc,May2000.AndrawS.Tanenbaum.ComputerNetworks.Prentic-HallInternationalInc,February1997:1-53PSangH.Son.SupportingTimelinessandSecurityinReal-TimeDatabaseSystems.ComputerScienceUniversityofVirginiaCharlottesvilleVA22903USA,April2000HarryM.Deitel,PaulJ.Deitel,TemR.Nieto.VisualBasic6.0.電子工業(yè)出版社,2005-36-附錄附錄一:登錄窗體代碼:OptionExplicitPublicLoginSucceededAsBooleanPrivateSubcmdCancel_Click()'設(shè)置全局變量為false'不提示失敗的登錄LoginSucceeded=FalseMe.HideEndSub-37-PrivateSubcmdOK_Click()DimstrPwdAsStringDimrsPwdAsADODB.RecordsetDimstrLoginAsStringstrLogin=Trim(txtUserName.Text)strPwd=Trim(txtPassword.Text)IfLen(strLogin)=0ThenMsgBox”用戶名不能為空,請(qǐng)輸入用戶名”txtUserName.SetFocusExitSubEndIfIfLen(strPwd)=0ThenMsgBox”密碼不能為空,請(qǐng)輸入正確的密碼”txtPassword.SetFocusExitSubEndIfSetrsPwd=gConn.Execute("SELECTpwdFROMtblUserWHERElogin』"&Replace(strLogin,m”")&"'")IfrsPwd.EOFThenMsgBox"用戶名不正確,請(qǐng)重新輸入!”ElseIfstrPwd=rsPwd("pwd").valueThen'將代碼放在這里傳遞'成功到calling函數(shù)'設(shè)置全局變量時(shí)最容易的LoginSucceeded=TrueMe.HideElseMsgBox"無(wú)效的密碼,請(qǐng)重試!",,"登錄"txtPassword.SetFocusSendKeys"{Home}+{End}"EndIfrsPwd.CloseSetrsPwd=NothingEndSubPrivateSubForm_Load()EndSub附錄二:標(biāo)志窗體代碼:PrivateSubCommand1_Click()-38-Me.HidefrmMain.ShowEndSub附錄三:主窗體代碼:OptionExplicit執(zhí)行資產(chǎn)顯示列表操作PrivateSubdoDevice(iidAsString)DimfrmAsNewfrmDeviceIfLen(iid)>0Thenfrm.loadDeviceiidEndIffrm.setStatusfrm.ShowvbModalIffrm.isUpdate=TrueThengrdDevice.Tag=""CallfillDeviceGrid(grdDevice)EndIfUnloadfrmSetfrm=NothingEndSub執(zhí)行用戶顯示列表操作PrivateSubdoUser(uidAsString)DimfrmAsNewfrmUserIfLen(uid)>0Thenfrm.loadUseruidEndIffrm.setStatusfrm.ShowvbModalIffrm.isUpdate=TrueThengrdUser.Tag=""CallfillUserGridEndIfUnloadfrmSetfrm=NothingEndSubPrivateSubcmdAdd_Click()CalldoDevice("")EndSub-39-PrivateSubcmdAll_Click()grdQuery.Tag=""fillDeviceGridgrdQueryEndSubPrivateSubcmdDelete_Click()DimiidAsStringWithgrdDeviceIf.Row=0ThenMsgBox”請(qǐng)選擇要?jiǎng)h除的資產(chǎn)!”ElseIfMsgBox("你是否真的要?jiǎng)h除當(dāng)前選擇的資產(chǎn)嗎?刪除后將不能恢復(fù)!”,vbOKCancel)=vbOKThen.Col=1iid=.TextDimdeviceAsNewclassDevicedevice.deleteDataiidgrdDevice.Tag=""CallfillDeviceGrid(grdDevice)EndIfEndIfEndWithEndSubPrivateSubcmdDisCard_Click()DimiidAsStringDimstrDateAsStringWithgrdDeviceIf.Row=0ThenMsgBox"請(qǐng)選擇要報(bào)廢的資產(chǎn)!”ElseIfMsgBox("你是否真的要報(bào)廢當(dāng)前選擇的資產(chǎn)嗎?報(bào)廢后將不能恢復(fù)!”,vbOKCancel)=vbOKThen.Col=1iid=.TextstrDate=getDate("")IfLen(strDate)>0ThenDimdeviceAsNewclassDeviceIfdevice.Reject(iid,strDate)=TrueThen.Tag=""fillDeviceGridgrdDeviceEndIf-40-Setdevice=NothingEndIfEndIfEndIfEndWithEndSubPrivateSubcmdExit_Click()IfMsgBox("是否真的要退出系統(tǒng)嗎?”,vbYesNo)=vbYesThenUnloadMeEndIfEndSubPrivateSubcmdGetDate_Click(IndexAsInteger)DimthedateAsStringthedate=getDate(txtDate(Index).Text)IfLen(thedate)>0ThentxtDate(Index).Text=thedateEndSubPrivateSubcmdLend_Click()DimiidAsStringWithgrdDeviceIf.Row=0ThenMsgBox”請(qǐng)選擇要操作的資產(chǎn)!”Else.Col=1iid=.TextDimfrmAsNewfrmLendDimresultAsBooleanresult=frm.loadLendData(iid)Ifresult=FalseThenUnloadfrmExitSubEndIffrm.ShowvbModalIffrm.isUpdate=TrueThengrdDevice.Tag=""fillDeviceGridgrdDeviceEndIfUnloadfrmSetfrm=NothingEndIfEndWithEndSub-41-PrivateSubcmdPass_Click()DimoldPassAsStringDimnewPass1AsStringDimnewPass2AsStringoldPass=InputBox("請(qǐng)輸入舊密碼:",“密碼修改”)IfLen(oldPass)>0ThenIfoldPass<>gUser.PasswordThenMsgBox”輸入密碼不正確!”ExitSubEndIfnewPass1=InputBox("請(qǐng)輸入新密碼:","密碼修改")IfLen(newPass1)=0ThenMsgBox”密碼修改不成功!”ExitSubElsenewPass2=InputBox("請(qǐng)?jiān)俅屋斎胄旅艽a確認(rèn):","密碼修改")IfLen(newPass2)=0ThenMsgBox”密碼修改不成功!”ExitSubElseIfnewPass1=newPass2ThenIfgUser.resetPassword(newPass1)=FalseThenMsgBox”數(shù)據(jù)操作錯(cuò)誤,密碼修改不成功!”ElseMsgBox”密碼成功修改!請(qǐng)保存好你的密碼!”EndIfExitSubElseMsgBox”兩次輸入的新密碼不一樣,修改失敗!”ExitSubEndIfEndIfElseMsgBox”密碼修改不成功!”ExitSubEndIfEndSubPrivateSubcmdQuery_Click()DimDeptNoAsStringDimDeviceNameAsStringDimDeviceModelAsStringDimTypeNoAsStringDimPricefromAsString-42-DimPricetoAsStringDimPurchaseDatefromAsStringDimPurchaseDatetoAsStringDimRejectDatefromAsStringDimRejectDatetoAsStringDimstrSQLAsStringIfcboQDept.ListIndex>0ThenDeptNo=getDeptNo()strSQL="a.deptno='"&DeptNo&m"EndIfIfcboQTypeNO.ListIndex>0ThenTypeNo=getTypeNO()IfLen(strSQL)>0ThenstrSQL="ANDa.typeno='"&TypeNo&m"ElsestrSQL="a.typeno='"&TypeNo&m"EndIfEndIfDeviceName=Replace(Trim(txtQDeviceName.Text),"'","''")DeviceModel=Replace(Trim(txtQModel.Text),"'","''")Pricefrom=Trim(txtQP1.Text)Priceto=Trim(txtQP2.Text)PurchaseDatefrom=Trim(txtDate(0).Text)PurchaseDateto=Trim(txtDate(1).Text)RejectDatefrom=Trim(txtDate(2).Text)RejectDateto=Trim(txtDate(3).Text)IfLen(Pricefrom)>0ThenIfNotIsNumeric(Pricefrom)ThenMsgBox”購(gòu)買價(jià)格輸入不正確,請(qǐng)重新輸入。”txtQP1.SetFocusExitSubElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDProductPrice>="&PricefromElsestrSQL="ProductPrice>="&PricefromEndIfEndIfEndIfIfLen(Priceto)>0ThenIfNotIsNumeric(Priceto)ThenMsgBox”購(gòu)買價(jià)格輸入不正確,請(qǐng)重新輸入?!眛xtQP2.SetFocusExitSub-43-ElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDProductPrice<="&PricetoElsestrSQL="ProductPrice<="&PricetoEndIfEndIfEndIfIfLen(PurchaseDatefrom)>0ThenIfNotIsDate(PurchaseDatefrom)ThenMsgBox”購(gòu)買日期輸入不正確,請(qǐng)重新輸入。"txtDate(0).SetFocusExitSubElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDPurchaseDate>=#"&PurchaseDatefrom&"#ElsestrSQL="ProductPrice>=#"&PurchaseDatefrom&"#"EndIfEndIfEndIfIfLen(PurchaseDateto)>0ThenIfNotIsDate(PurchaseDateto)ThenMsgBox"購(gòu)買日期輸入不正確,請(qǐng)重新輸入。"txtDate(1).SetFocusExitSubElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDPurchaseDate<=#"&PurchaseDateto&"#"ElsestrSQL="ProductPrice<二#"&PurchaseDateto&"#"EndIfEndIfEndIfIfLen(RejectDatefrom)>0ThenIfNotIsDate(RejectDatefrom)ThenMsgBox"注銷日期輸入不正確,請(qǐng)重新輸入。"txtDate(2).SetFocusExitSubElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDRejectDate>=#"&RejectDatefrom&"#"ElsestrSQL="RejectDate>=#"&RejectDatefrom&"#"-44-EndIfEndIfEndIfIfLen(RejectDateto)>0ThenIfNotIsDate(RejectDateto)ThenMsgBox”注銷日期輸入不正確,請(qǐng)重新輸入?!眛xtDate(3).SetFocusExitSubElseIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDRejectDate<二#"&RejectDateto&"#"ElsestrSQL="RejectDate<二#"&RejectDateto&"#"EndIfEndIfEndIfIfLen(DeviceName)>0ThenIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDDeviceNameLIKE'%"&DeviceName&"%'"ElsestrSQL="DeviceNameLIKE'%"&DeviceName&"%'"EndIfEndIfIfLen(DeviceModel)>0ThenIfLen(strSQL)>0ThenstrSQL=strSQL&"ANDDeviceModelLIKE'%"&DeviceModel&"%'"ElsestrSQL="DeviceModelLIKE'%"&DeviceModel&"%'"EndIfEndIfIfLen(strSQL)>0ThenstrSQL="SELECTa.*,b.department,c.TypeNameFROM(tblDeviceASAINNERJOINtblDepartmentASBONa.DeptNO=b.DeptNO)INNERJOINtblTypeInfoCONa.TypeNO=c.TypeNOWHERE"&strSQL&"ORDERBYA.IIDDESC"ElsestrSQL="SELECTa.*,b.department,c.TypeNameFROM(tblDeviceASAINNERJOINtblDepartmentASBONa.DeptNO=b.DeptNO)INNERJOINtblTypeInfoCONa.TypeNO=c.TypeNOORDERBYA.IIDDESC"EndIfgrdQuery.Tag=""fillDeviceGridgrdQuery,strSQLEndSub-45-PrivateSubcmdReject_Click()DimiidAsStringDimstrDateAsStringWithgrdDeviceIf.Row=0ThenMsgBox”請(qǐng)選擇要注銷的資產(chǎn)!”ElseIfMsgBox("你是否真的要注銷當(dāng)前選擇的資產(chǎn)嗎?注銷后將不能恢復(fù)匕vbOKCancel)=vbOKThen.Col=1iid=.TextstrDate=getDate("")IfLen(strDate)>0ThenDimdeviceAsNewclassDeviceIfdevice.DisCard(iid,strDate)=TrueThen.Tag二心fillDeviceGridgrdDeviceEndIfSetdevice=NothingEndIfEndIfEndIfEndWithEndSubPrivateSubcmdReport1_Click()DimreportAsNewdrDeviceDimrsAsADODB.RecordsetSetrs=gConn.Execute("SELECT*FROMtbldevice")WithreportSet.DataSource=rs.DataMember="".ShowvbModalEndWithSetreport=NothingEndSubPrivateSubcmdReport2_Click()DimreportAsNewdrDepartmentDimrsAsADODB.RecordsetSetrs=gConn.Execute("SELECTdepartment,count(*)ascountofDevice,sum(productprice)assumofDeviceFROMtbldeviceainnerjointbldepartmentbona.deptno=b.deptnogroupbyb.department")-46-WithreportSet.DataSource=rs.DataMember="".ShowvbModalEndWithSetreport=NothingEndSubPrivateSubcmdReport3_Click()DimreportAsNewdrRejectDimrsAsADODB.RecordsetSetrs=gConn.Execute("SELECTdevicename,department,rejectdateFROMtbldeviceainnerjointbldepartmentbona.deptno=b.deptnowhererejectdateisnotnull")WithreportSet.DataSource=rs.DataMember="".ShowvbModalEndWithSetreport=NothingEndSubPrivateSubcmdReport4_Click()DimreportAsNewdrCostDimrsAsADODB.RecordsetSetrs=gConn.Execute("SELECTdevicename,department,productprice,productcostFRO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作獲獎(jiǎng)感言(21篇)
- 幸福的演講稿(15篇)
- 悲傷逆流成河觀后感7篇
- 建筑工程實(shí)習(xí)報(bào)告(15篇)
- 智研咨詢發(fā)布:2024年中國(guó)園林古建筑行業(yè)市場(chǎng)發(fā)展環(huán)境及前景研究報(bào)告
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園功能建設(shè)方案
- 應(yīng)急預(yù)案中的食品與藥品安全管理
- 金融信托行業(yè)顧問(wèn)工作總結(jié)
- 2025版西瓜新品種研發(fā)與應(yīng)用推廣合同3篇
- 二零二五年度鋼構(gòu)建筑保溫分包施工協(xié)議2篇
- 充電樁知識(shí)培訓(xùn)課件
- 2025水利云播五大員考試題庫(kù)(含答案)
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競(jìng)聘
- 小學(xué)語(yǔ)文教師基本功大賽試卷及答案
- 汽車電氣設(shè)備檢測(cè)與維修中職全套教學(xué)課件
- 《鐵路超限超重貨物運(yùn)輸規(guī)則》(2016)260
- API682機(jī)械密封沖洗方案(中文)課件
- DB35T 1345-2013蘭壽系列金魚(yú)養(yǎng)殖技術(shù)規(guī)范
- 工行網(wǎng)銀代發(fā)工資操作流程
評(píng)論
0/150
提交評(píng)論