

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 第一章 緒論</b></p><p> 1.1課題研究的背景介紹</p><p> 1.1.1社會現狀及發(fā)展動態(tài)</p><p> 隨著社會經濟的不斷發(fā)展,企業(yè)規(guī)模越來越大,企業(yè)資產維護變得越來越困難,在手工管理方式下,財務人員在對資產進行折舊時,需要查閱上一個月的資產信息,根據上一個月的資產信息核算折舊資產
2、。如果企業(yè)資產很多,可以想像財務人員的工作難度,既要按時對資產進行折舊,又要保證數據的準確性,還要每月對資產進行折舊。所以一旦某個月的資產折舊有誤,就會影響到以后的資產折算。</p><p> 信息化的發(fā)展幫助企業(yè)解決了上述難題,計算機的使用使財務人員從繁重的勞動中解脫出來,以往需要對資產信息的一項一項核算、折舊,現在只需單擊一下按鈕,計算機便會自動完成企業(yè)所有資產的折舊,而且準確無誤。</p>
3、<p> 1.1.2選題依據和背景情況</p><p> 人類在發(fā)展,社會在進步,經濟發(fā)展又是社會發(fā)展的一個重要標志和保障。隨著經濟的發(fā)展,企業(yè)的競爭也越來越強。而信息化的發(fā)展進一步促進企業(yè)更好的發(fā)展,怎樣把科技應用與企業(yè)的發(fā)展,成為社會發(fā)展的一大趨勢。只有更好的利用信息的發(fā)展成果,讓企業(yè)更好的發(fā)展,更高科技的發(fā)展,為社會節(jié)省大量的人力,財力,而且保障企業(yè)信息的快捷,準確,達到高效率才是當前社會前進
4、的步伐。</p><p> 1.1.3課題研究目的及工程應用價值</p><p> 開發(fā)軟件的一個目的是使其具有強大的實用價值,即它可以滿足企業(yè)固定資產管理的需要。在一般的企業(yè)機構,其下屬的很多財務種類很多,要清晰明確的做好每一筆財務清單,實在是一件費力又費時的事。而這些數據對一個企業(yè)的發(fā)展來說是很重要又馬虎不得的。尋求一個針對中企業(yè)固定資產的管理軟件是必要的。</p>
5、<p> 這種管理軟件對硬件的要求很低,一般有一個比較簡單的服務器與PC機組成的網絡即可,再加上使用比較廉價、性能不錯的軟件,這樣就可以以較低的成本來實現一個足夠使用的功能,而這種模式也正滿足了那種中小型企業(yè)的要求。根據實際需要對這種管理軟件的開發(fā)是一種基于數據庫的資產管理軟件。</p><p> 1.2固定資產管理系統的概述</p><p> 當今時代是飛速發(fā)展的信息時代
6、。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應用于信息管理系統的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。</p><p> 一個企業(yè)的良性發(fā)展,避免不了的要涉及到企業(yè)資產的有效管理。對于那些技術裝備密集型的企業(yè),固定資產的管理顯得尤為重要。傳統的固定資產管理模式無論從質量上還是效率上,都難以適應經營管理新形式的需要。因此,尋找一
7、種簡便、高效的管理手段成為必然。在充分研究分析企業(yè)固定資產管理的業(yè)務需求的基礎上,固定資產管理條碼解決方案把條碼引入固定資產管理中,開發(fā)了一套首碼固定資產管理條碼管理系統,改變了固定資產清查數據的采集方式,解決固定資產實物清查的瓶頸問題,大大提高清查效率,同時也增加了固定資產的形態(tài)方面的管理,有效解決企業(yè)資產的管理難題,使企業(yè)更輕松、更有效地管理固定資產。如能在公司內部建立固定資產管理,將使各級相關管理人員及有關領導快速查詢、統計固定資
8、產情況,實現合理配置資源、決策,提供依據,提高工作效率。</p><p> 第二章 數據庫相關技術的介紹</p><p><b> 2.1數據庫的發(fā)展</b></p><p> 數據庫處理在信息系統的 研究 中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術的迅速發(fā)展,使得數據庫技
9、術之時成為最熱門技術之一。數據庫技術能使Internet 應用 超越具有早期應用特點的簡單的發(fā)布。Internet技術提供了一種向用戶發(fā)布數據庫 內容 的標準化的訪問 方法 。這些技術沒有脫離經典數據庫技術的要求。它們只是加重了數據庫技術的重要性。 數據庫的設計和開發(fā)及包括 藝術 有包括工程。理解用戶的需求,然后,把它們轉變?yōu)橛行У臄祿煸O計是一個藝術過程。把設計轉變?yōu)閷嶋H的數據庫,并且這些數據庫帶有功能完備、高效能的應用,是一
10、個工程過程。 數據庫的目的是幫助人們跟蹤事務。經典的數據庫應用涉及諸如訂單、顧客、工作、員工、學生、電話之類的項,或其它數據量較大、需要密起關注的事務。最近,由于數據庫的普及,數據庫技術已經被應用到了新的領域,諸如用于Internet的數據庫或用于公司內聯網的數據庫。數據庫也被越來越多地應用于生成和維護多媒體應用程序上。 計算機的數據處理應用,首先要把大量的信息以數據形式存放在存</p><p>
11、 數據管理技術的發(fā)展,與硬件(主要是外存)、軟件、計算機應用的范圍有密切的聯系。數據管理技術的發(fā)展經過三個階段:人工管理階段、文件系統階段和數據庫階段。人工管理階段和文件系統階段都有著相當多的缺陷,諸如數據冗余性 ,數據不一致性以及數據聯系弱等等。也正是由于這些原因,促使人們研究新的數據管理技術,從而產生了數據庫技術。 20世紀60年代末發(fā)生的三件大事,層次模型IMS系統的推出、關于網狀模型DBTG報告的發(fā)表以及關于關系模型
12、論文的連續(xù)發(fā)表標志著數據管理技術進入數據庫階段。進入70年代以后,數據庫技術得到迅速發(fā)展,開發(fā)了許多有效的產品并投入運行。數據庫系統克服了文件系統的缺陷,提供了對數據更高級更有效的管理。 當進入數據庫階段后,隨著數據管理規(guī)模一再擴大,數據量急劇增加,為了提高效率,開始時,人們只是對文件系統加以擴充,在應用文件中建立了許多輔助索引,形成倒排文件系統。但這并不能最終解決問題 。在20世紀60年代末,磁盤技術取得重要進展,具有數百兆容
13、量和快速存取的磁盤陸續(xù)進入市場,成本也不高,為數據庫技術的產生提供了良好的物質條件。</p><p> 2.2數據庫階段的特點及優(yōu)點</p><p> (1)減少數據的重復(Redundancy can be reduced)</p><p> 當在一個非數據庫系統當中,每一個應用程序都有屬于他們自己的文件,由于無法有系統建立的數據,因此常常會造成存儲數據的重
14、復與浪費。例如:在一家公司當中,人事管理程序與工資管理程序或許都會使用到職員與部門的信息或文件,而我們可以運用數據庫的方法,把這兩個文件整理起來,以減少多余的數據,過度地占用存儲空間。 </p><p> (2)避免數據的不一致(Inconsistency can avoid)</p><p> 本項的特色,可以說是延伸前項的一個特點,要說明這樣的一個現象,
15、我們可以從下面這個實例來看:若是在同一家公司當中,職員甲在策劃部門工作,且職員甲的記錄同時被存放在數據庫的兩個地方,而數據庫管理系統卻沒有對這樣重要的情況加以控制,當其中一條數據庫被修改時,便會造成數據的不一致,但是,對于一個健全的數據庫管理系統而言,將會對這樣的情況加以控制,但有時并不需要刻意消除這種情形,應當視該數據庫的需求與效率來決定。 &
16、#160; </p><p> ?。?)數據共享(Data shared)</p><p> 對于數據共享的意義,并不是只有針對數據庫設計的應用程序,可以使用數據庫中的數據,對于其他撰寫好的應用程序,同樣可以對相同數據庫當中的數據進行處理,進而達到數據共享的目的。</p><p> ?。?/p>
17、4)強化數據的標準化(Standard can be enforced)</p><p> 由數據庫管理系統,對數據做出統籌性的管理,對于數據的格式與一些存儲上的標準進行控制,如此一來,對于不同的環(huán)境的數據交換(Data Interchange)上將有很大的幫助,也能提高數據處理的效率。</p><p> (5)實踐安全性的管理(Security restriction can be
18、applied)</p><p> 通過對數據庫完整的權限控制,數據庫管理者可以確認所有可供用戶存取數據的合法途徑渠道,并且可以事先對一些較重要或關鍵性的數據進行安全檢查,以確保數據存取時,能夠將任何不當損毀的情形降至最低。</p><p> (6)完整性的維護(Integrity can be maintained)</p><p> 所謂完整性的問題,就是
19、要確認某條數據在數據庫當中,是正確無誤的。正如(2)所述,若是無法控制數據的不一致性,便會產生完整性不足的問題,所以,我們會發(fā)現,當數據重復性高的時候,數據不完整的情形也會增加,當然,若是數據庫的功能完整,將會大大地提高數據完整性,也會增加數據庫的維護能力與維護簡便性。</p><p> ?。?)需求沖突會獲得平衡(Conflicting requirements can be balance)</p>
20、;<p> 在一個較大型的 企業(yè) 當中,用戶不同的需求,往往會造成系統或數據庫在設計上的困擾,但是一個合適的數據庫系統,可以通過數據庫管理員的管理,將會有效地整理各方面的信息,對于一些較重要的應用程序,可以適時地提供較快速的數據存取方法與格式,以平衡多個用戶在需求上的沖突。</p><p> 2.3數據庫系統設計</p><p> 數據指標項則被稱為數據元素(data
21、element),這種關系落實到具體數據庫上就是基本表,而數據元素就是基本表中的一個字段(field)。規(guī)范化表達還規(guī)定在每一個基本表中必須定義一個數據元素為關鍵字(key),它可以唯一地標識出該表中其它相關的數據元素。在規(guī)范化理論中表是二維的,它有如下四個性質:在表中的任意一列上,數據項應屬于同一個屬性(如圖中每一列都存放著不同合同記錄的同一屬性數據)。 表中所有行都是不相同的,不允許有重復組項出現(如圖中每一行都是一個不同的合同記錄
22、)。在表中,行的順序無關緊要(如圖中每行存的都是合同記錄,至于先放哪一個合同都沒關系)。 在表中,列的順序無關緊要,但不能重復(如圖中合同號和合同名誰先誰后都沒關系,但二者不可重復或同名)。</p><p> 第三章 固定資產管理系統設計分析</p><p><b> 3.1系統分析</b></p><p><b> 3.1.1
23、需求分析</b></p><p> 通過實際調查,要求本系統應具有以下優(yōu)良性能:</p><p> ?。?)由于操作人員的計算機知識有限,因此要求系統具有良好的人機界面。</p><p> ?。?)如果系統的使用對象較多,則要求具有良好的權限管理。</p><p> ?。?)方便數據查新,支持多條件查詢。</p>
24、<p> (4)在固定資產數據量大的情況下,支持分類顯示固定資產數據。</p><p> (5)當外界環(huán)境(停電、網絡病毒等)干擾本系統時,系統可以自動保護原始數據的安全。</p><p> ?。?)在相應的權限下,可以方便的刪除數據,且保持數據的穩(wěn)定性。</p><p> ?。?)資產折舊核算自動完成,盡量減少人工干預。</p><
25、;p> ?。?)Excel導入/導出功能。</p><p> 3.1.2開發(fā)工具選擇</p><p> 本系統后臺數據庫采用Microsoft SQL Server 2000,前臺采用Microsoft公司的Visual Basic 6.0作為主要的開發(fā)工具,可與SQL Server 2000數據庫無縫鏈接。</p><p><b> 3.2總
26、體設計</b></p><p><b> 3.2.1項目規(guī)劃</b></p><p> 固定資產管理系統由設備管理、設備查詢、報表管理、用戶管理、系統管理等模塊組成,具體規(guī)劃如下:</p><p><b> ?。?)設備管理</b></p><p> 該模塊主要用于實現設備的增加、
27、刪除、借出借入登記、注銷、報廢等管理.</p><p><b> ?。?)設備查詢</b></p><p> 該模塊主要按提供部門,設備名,型號,價格,分類,購置日期,注銷日期等信息的查詢.</p><p><b> ?。?)報表管理</b></p><p> 該模塊主要實現設備登記卡,部門統計
28、表,注銷統計表,折舊統計表等信息管理.</p><p><b> ?。?)用戶管理</b></p><p> 該模塊主要實現新增用戶與刪除用戶等功能.</p><p><b> ?。?)系統管理</b></p><p> 該模塊主要提供修改密碼,退出系統等功能.</p><p
29、> 3.2.2 系統業(yè)務流程</p><p> 固定資產管理系統業(yè)務流程圖如圖4-1所示。</p><p> 3.2.3系統功能結構</p><p> 固定資產管理系統功能結構如圖4-2所示。</p><p><b> 3.3系統設計</b></p><p> 3.3.1 設計目
30、標</p><p> 本系統屬于中小型的數據庫系統,可以對中小型企業(yè)固定資產進行有效的管理。通過本系統可以達到以下目標:</p><p> (1)靈活地運用表格傳遞信息。</p><p> ?。?)系統采用人機交互方式,界面美觀友好,信息查新靈便,數據庫存儲安全可靠。</p><p> ?。?)實施強大的后臺監(jiān)控功能。</p>
31、<p> (4)實現各種查詢,如定位查詢、模糊查詢等。</p><p> ?。?)與Excel表格實現導入與導出數據靈活。</p><p> (6)對用戶輸入的數據進行嚴格的數據檢驗,盡可能的避免人為錯誤。</p><p> ?。?)系統最大限度的實現了易安裝、易維護和易操作。</p><p> 3.3.2開發(fā)及運行環(huán)境&
32、lt;/p><p> (1)系統開發(fā)平臺:Microsoft Visual Basic 6.0</p><p> ?。?)系統開發(fā)數據庫:SQL Server 2000。</p><p> ?。?)運行平臺:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1)。</p><p>
33、?。?)運行環(huán)境:Microsoft .NET Framework SDK v2.0。</p><p> ?。?)分辨率:最佳效果1024﹡768像素。</p><p> 3.3.3數據庫設計</p><p> 本系統采用SQL Server 2000作為后臺數據庫,數據庫名稱為Data.mdb,其中包含15張數據表。下面分別介紹。</p><
34、;p> ?。?)數據表概要說明</p><p> 為了是讀者對本系統后臺數據庫中數據表有一個更清晰地認識,在此設計了數據表樹型結構圖,其中包含了對數據表的相關描述。</p><p> ?。?)數據庫E-R圖分析</p><p> 本系統根據上面設計規(guī)劃出:系統實體關系圖、固定資產信息實體、固定資產清理信息實體、資產名稱實體、資產類別實體、保管人員實體、存放
35、地點實體、使用部門實體、使用情況實體、增加方式實體、計量單位實體、清理方式實體。</p><p> 固定資產管理系統實體間關系E-R圖,如圖4-3和圖4-4所示。</p><p> 圖4-3 固定資產管理系統實體間關系E-R圖1</p><p> 圖4-4 固定資產管理系統實體間關系E-R圖2</p><p> 固定資產實體圖如圖
36、4-5所示。</p><p> 圖4-5固定資產信息實體圖</p><p> 固定資產清理信息實體圖,如圖4-6所示。</p><p> 固定資產名稱和資產類別實體圖,如圖4-7所示。</p><p> 固定資產保管人員和存放地點實體圖,如圖4-8所示。</p><p> 圖4-6 固定資產清理信息實體圖&l
37、t;/p><p> 圖4-7 固定資產名稱和資產類別實體圖</p><p> 圖4-8 固定資產保管人員和存放地點實體圖</p><p> 固定資產使用部門和使用情況實體圖,如圖4-9所示。</p><p> 圖4-9 固定資產使用部門和使用情況實體圖</p><p> 固定資產計量單位和增加方式實體圖,如圖
38、4-10所示。</p><p> 圖4-10 固定資產計量單位和增加方式實體圖</p><p> 固定資產清理方式實體圖,如圖4-11所示。</p><p> 圖4-11 固定資產清理方式實體圖</p><p> (3)主要數據表的結構</p><p> 資產編號設置表主要用來存儲資產編號規(guī)則設置,tb_Ba
39、seDefaultNO(資產編號設置表)</p><p> 結構如表4-1所示。</p><p> 表4-1 資產編號設置表</p><p> 資產類別表主要存儲資產類別信息,因為該表中的信息主要通過TreeView控件顯示,所以表的設計類似于遞歸法設計,tb_BaseZclb(資產類別表)結構如表4-2所示。</p><p> 表
40、4-2 資產類別表</p><p> 資產名稱表主要存儲固定資產的名稱。tb_BaseZcmc(資產名稱表)結構如表4-3所示。 </p><p> 表4-3 資產名稱表</p><p> 固定資產信息表主要存儲固定資產的基本信息。tb_zcMain(固定資產信息表)結構如表4-4所示。 </p><p
41、> 表4-4 固定資產信息表</p><p> DataGridView表格屬性列表主要存儲系統主要窗體中顯示資產信息的DataGridView控件的相關屬性。tb_DataGridViewList(DataGridView表格屬性列表)結構如表4-5所示。</p><p> 表4-5 DataGridView表格屬性列表</p><p> 固定資
42、產清理表主要保存已經被清理的固定資產信息。tb_zcClear(固定資產清理表)結構如表4-6所示。</p><p> 表4-6 固定資產清理表</p><p><b> 3.4技術準備</b></p><p> 3.4.1添加引用Excel動態(tài)鏈接庫</p><p> 開發(fā)資產折舊核算模塊時,為了實現將Dat
43、aGridView控件中數據導出到Excel文件中,需要引用Excel動態(tài)鏈接庫(Microsoft Excel 9.0 Object Library),這樣才可以通過C#語言靈活控制Excel,添加方法如下。</p><p> ?。?)在開發(fā)環(huán)境的菜單欄中選擇‘項目’/‘添加引用’,彈出‘添加引用窗體’。</p><p> (2)選擇‘COM’選項卡,在‘組件名稱’列表中選擇‘Micr
44、osoft Excel 9.0 Object Library’,單擊‘確定’按鈕,添加引用成功。</p><p> 3.4.2 MVC開發(fā)模式</p><p> Mode-View-Controller(即MVC)模式是為面向對象語言Smalltalk-80發(fā)明的一種軟件設計模式,MVC模式不僅實現了功能模塊和顯示模塊的分離,同時還提高了應用系統的可維護性、可擴展性、可移植性和組件的可
45、重用性,至今已被廣泛應用。</p><p> MVC開發(fā)模式將基于用戶輸入域的建模、顯示和操作分為三個獨立的類,分別為模型、試圖、控制器。圖4-12描述了這三個對象之間的結構關系。</p><p> 圖4-12 MVC類結構</p><p><b> ?。?)模型</b></p><p> 模型用于管理應用程序域
46、的行為和數據,并響應為獲取其狀態(tài)信息(通常來自視圖)而發(fā)出的請求,同時響應更改狀態(tài)的指令(通常來自控制器)。</p><p><b> ?。?)視圖</b></p><p> 視圖用于管理信息的顯示。</p><p><b> ?。?)控制器</b></p><p> 控制器用于解釋用戶的鼠標和
47、鍵盤的輸入,以通知模式或視圖進行相應的修改。</p><p> 第四章 固定資產管理系統應用詳細設計</p><p> 4.1用戶登陸及用戶設置模塊的實現</p><p> 4.1.1用戶登錄模塊</p><p> 考慮到系統的安全性,此系統設計了用戶登錄模塊。根據不同的用戶級別賦予他們不同的權限,這樣可以保證公司固定資產信息的數據庫
48、不會被隨意更改。</p><p><b> 登陸界面代碼設計:</b></p><p> Private Sub cmdOK_Click()</p><p> Dim strPwd As String</p><p> Dim rsPwd As ADODB.Recordset</p><p&g
49、t; Dim strLogin As String</p><p> strLogin = Trim(txtUserName.Text)</p><p> strPwd = Trim(txtPassword.Text)</p><p> If Len(strLogin) = 0 Then</p><p> MsgBox "
50、用戶名不能為空,請輸入用戶名"</p><p> txtUserName.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Len(strPwd) = 0 Then</p>&
51、lt;p> MsgBox "密碼不能為空,請輸入正確的密碼"</p><p> txtPassword.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> Set rsPwd =
52、gConn.Execute("SELECT pwd FROM tblUser WHERE login='" & Replace(strLogin, "'", "''") & "'")</p><p> If rsPwd.EOF Then</p><p>
53、 MsgBox "用戶名不正確,請重新輸入!"</p><p> ElseIf strPwd = rsPwd("pwd").value Then</p><p> '將代碼放在這里傳遞</p><p> '成功到 calling 函數</p><p> '設置全局變量時
54、最容易的</p><p> LoginSucceeded = True</p><p><b> Me.Hide</b></p><p><b> Else</b></p><p> MsgBox "無效的密碼,請重試!", , "登錄"</p&
55、gt;<p> txtPassword.SetFocus</p><p> SendKeys "{Home}+{End}"</p><p><b> End If</b></p><p> rsPwd.Close</p><p> Set rsPwd = Nothing<
56、/p><p><b> End Sub</b></p><p><b> 4.2系統主界面</b></p><p> 主窗體中主要包括設備管理、設備查詢、報表管理、用戶管理、系統管理等項目。界面設計簡單明了,方便用戶的訪問。</p><p><b> 主界面代碼設計:</b>
57、;</p><p> '執(zhí)行設備顯示列表操作</p><p> Private Sub tabMain_Click(PreviousTab As Integer)</p><p> Dim strSQL As String</p><p> Select Case tabMain.Tab</p><p>
58、;<b> Case 0</b></p><p> strSQL = "SELECT a.*,b.department,c.TypeName FROM (tblDevice AS A INNER JOIN tblDepartment AS B ON a.DeptNO=b.DeptNO) INNER JOIN tblTypeInfo C ON a.TypeNO=c.TypeNO
59、ORDER BY A.IID DESC"</p><p> Call fillDeviceGrid(grdDevice, strSQL)</p><p><b> Case 3</b></p><p> Call fillUserGrid</p><p> End Select</p>&
60、lt;p><b> End Sub</b></p><p> Private Sub fillDeviceGrid(grid As MSFlexGrid, Optional strSQL As String)</p><p> Dim rs As ADODB.Recordset</p><p> Dim strRowData As
61、 String</p><p> Dim rowindex As Integer</p><p> If Len(strSQL) = 0 Then</p><p> strSQL = "SELECT a.*,b.department,c.TypeName FROM (tblDevice AS A INNER JOIN tblDepartment AS
62、 B ON a.DeptNO=b.DeptNO) INNER JOIN tblTypeInfo C ON a.TypeNO=c.TypeNO ORDER BY A.IID DESC"</p><p><b> End If</b></p><p> rowindex = 1</p><p><b> With grid
63、</b></p><p> If .Tag = "" Then</p><p> Set rs = gConn.Execute(strSQL)</p><p><b> .Rows = 1</b></p><p> .Cols = 13</p><p>&l
64、t;b> .Row = 0</b></p><p><b> .Col = 0</b></p><p> .Text = "序號"</p><p><b> .Col = 1</b></p><p> .Text = "ID"<
65、;/p><p> .ColWidth(1) = 0</p><p><b> .Col = 2</b></p><p> .Text = "設備編號"</p><p><b> .Col = 3</b></p><p> .Text = "
66、設備名稱"</p><p><b> .Col = 4</b></p><p> .Text = "設備型號"</p><p><b> .Col = 5</b></p><p> .Text = "設備分類"</p><
67、p><b> .Col = 6</b></p><p> .Text = "所屬部門"</p><p><b> .Col = 7</b></p><p> .Text = "購買價格"</p><p><b> .Col = 8&l
68、t;/b></p><p> .Text = "折舊成本"</p><p><b> .Col = 9</b></p><p> .Text = "購買日期"</p><p><b> .Col = 10</b></p><p
69、> .Text = "狀態(tài)"</p><p><b> .Col = 11</b></p><p> .Text = "報廢日期"</p><p><b> .Col = 12</b></p><p> .Text = "注銷日期&q
70、uot;</p><p> Do Until rs.EOF</p><p> strRowData = rowindex & vbTab</p><p> strRowData = strRowData & rs("IID").value & vbTab</p><p> strRowDat
71、a = strRowData & rs("DeviceNO").value & vbTab</p><p> strRowData = strRowData & rs("DeviceName").value & vbTab</p><p> strRowData = strRowData & rs(&quo
72、t;DeviceModel").value & vbTab</p><p> strRowData = strRowData & rs("TypeName").value & vbTab</p><p> strRowData = strRowData & rs("Department").value &
73、amp; vbTab</p><p> strRowData = strRowData & rs("ProductPrice").value & vbTab</p><p> strRowData = strRowData & rs("Productcost").value & vbTab</p>&
74、lt;p> strRowData = strRowData & FormatDateTime(rs("PurchaseDate").value, vbLongDate) & vbTab</p><p> If rs("Status").value = 0 Then</p><p> strRowData = strRowD
75、ata & "在庫" & vbTab</p><p><b> Else</b></p><p> strRowData = strRowData & "借出" & vbTab</p><p><b> End If</b></p>
76、<p> strRowData = strRowData & rs("RejectDate").value & vbTab</p><p> strRowData = strRowData & rs("DisCardDate").value & vbTab</p><p> .AddItem strR
77、owData</p><p> rs.MoveNext</p><p> rowindex = rowindex + 1</p><p><b> Loop</b></p><p><b> rs.Close</b></p><p> Set rs = Nothin
78、g</p><p><b> .Tag = 1</b></p><p><b> End If</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p>
79、 Private Sub fillUserGrid()</p><p> Dim rs As ADODB.Recordset</p><p> Dim strRowData As String</p><p> Dim rowindex As Integer</p><p> rowindex = 1</p><p
80、> With grdUser</p><p> If .Tag = "" Then</p><p> Set rs = gConn.Execute("SELECT * FROM tblUser ORDER BY UID DESC")</p><p><b> .Rows = 1</b><
81、;/p><p><b> .Cols = 4</b></p><p><b> .Row = 0</b></p><p><b> .Col = 0</b></p><p> .Text = "序號"</p><p> .Col
82、Width(0) = 500</p><p><b> .Col = 1</b></p><p> .ColWidth(1) = 0</p><p><b> .Col = 2</b></p><p> .Text = "用戶名"</p><p>
83、 .ColWidth(2) = 1500</p><p><b> .Col = 3</b></p><p> .Text = "用戶級別"</p><p> .ColWidth(3) = 3000</p><p> Do Until rs.EOF</p><p>
84、 strRowData = rowindex & vbTab</p><p> strRowData = strRowData & rs("UID").value & vbTab</p><p> strRowData = strRowData & rs("login").value & vbTab<
85、/p><p> Select Case rs("userlevel").value</p><p><b> Case -1</b></p><p> strRowData = strRowData & "系統管理員" & vbTab</p><p><b&
86、gt; Case 0</b></p><p> strRowData = strRowData & "普通用戶" & vbTab</p><p><b> Case 1</b></p><p> strRowData = strRowData & "數據操作員"
87、 & vbTab</p><p> End Select</p><p> .AddItem strRowData</p><p> rs.MoveNext</p><p> rowindex = rowindex + 1</p><p><b> Loop</b></p&
88、gt;<p><b> rs.Close</b></p><p> Set rs = Nothing</p><p><b> .Tag = 1</b></p><p><b> End If</b></p><p><b> End With
89、</b></p><p><b> End Sub</b></p><p> Private Function getDeptNo() As String</p><p> Dim str As String</p><p> Dim pos As Integer</p><p&g
90、t; With cboQDept</p><p> str = .List(.ListIndex)</p><p><b> End With</b></p><p> pos = InStr(str, "-")</p><p> getDeptNo = Left(str, pos - 1)
91、</p><p> End Function</p><p> Private Function getTypeNO() As String</p><p> Dim str As String</p><p> Dim pos As Integer</p><p> With cboQTypeNO</
92、p><p> str = .List(.ListIndex)</p><p><b> End With</b></p><p> pos = InStr(str, "-")</p><p> getTypeNO = Left(str, pos - 1)</p><p>
93、 End Function</p><p> 4.2.1設備增加管理界面</p><p> 設備增加管理界面代碼設計:</p><p> Private Sub cmdCancel_Click()</p><p> With theDevice</p><p> If .isDirty Then</p&
94、gt;<p> If MsgBox("你已經更改數據,是否做保存數據后再退出?", vbYesNo) = vbYes Then</p><p> If saveData() = False Then</p><p><b> Exit Sub</b></p><p><b> End If&l
95、t;/b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End With</b></p><p><b> Me.Hide</b></p><p
96、><b> End Sub</b></p><p> Private Sub cmdDelete_Click()</p><p> theDevice.deleteData (theDevice.iid)</p><p> isUpdate = True</p><p><b> Me.Hide
97、</b></p><p><b> End Sub</b></p><p> Private Sub cmdSave_Click()</p><p> If saveData() = True Then</p><p> isUpdate = True</p><p><
98、b> Me.Hide</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Dim rs As ADODB.Recordset</
99、p><p> Dim strSQL As String</p><p> strSQL = "SELECT * FROM tblTypeInfo ORDER BY TypeNO"</p><p> Set rs = gConn.Execute(strSQL)</p><p><b> With rs</
100、b></p><p> Do Until .EOF</p><p> cboTypeNO.AddItem .Fields("TypeNO").value & "-" & .Fields("TypeName").value</p><p><b> .MoveNext&l
101、t;/b></p><p><b> Loop</b></p><p><b> End With</b></p><p> strSQL = "SELECT * FROM tblDepartment ORDER BY DeptNO"</p><p> Set rs
102、 = gConn.Execute(strSQL)</p><p><b> With rs</b></p><p> Do Until .EOF</p><p> cboDepartment.AddItem .Fields("DeptNO").value & "-" & .Field
103、s("Department").value</p><p><b> .MoveNext</b></p><p><b> Loop</b></p><p><b> End With</b></p><p><b> rs.Close&l
104、t;/b></p><p> Set rs = Nothing</p><p> isUpdate = False</p><p><b> End Sub</b></p><p> Public Sub loadDevice(iid As String)</p><p><b
105、> '顯示用戶數據</b></p><p> With theDevice</p><p> .loadDataByID iid</p><p> txtDeviceNo.Text = .DeviceNo</p><p> txtDeviceModel.Text = .DeviceModel</p&g
106、t;<p> txtDeviceName.Text = .DeviceName</p><p> setTypeIndex .TypeNo</p><p> setDeptIndex .DeptNo</p><p> txtPrice.Text = .ProductPrice</p><p> txtCost.Text
107、 = .ProductCost</p><p> dtPurchaseDate = .PurchaseDate</p><p> If .Status = 0 Then</p><p> lblStatus.Caption = "在庫"</p><p><b> Else</b></p&
108、gt;<p> lblStatus.Caption = "借出"</p><p><b> End If</b></p><p> If Len(.RejectDate) = 0 Then</p><p> dtReject.Visible = False</p><p><
109、;b> Else</b></p><p> dtReject.value = .RejectDate</p><p><b> End If</b></p><p> If Len(.DisCardDate) = 0 Then</p><p> dtDisCard.Visible = Fals
110、e</p><p><b> Else</b></p><p> dtDisCard.value = .DisCardDate</p><p><b> End If</b></p><p><b> End With</b></p><p>&
111、lt;b> End Sub</b></p><p> Private Sub setTypeIndex(TypeNo As String)</p><p> Dim pos As Integer</p><p> TypeNo = TypeNo & "-"</p><p> With c
112、boTypeNO</p><p> For pos = 0 To .ListCount - 1</p><p> If Left(.List(pos), Len(TypeNo)) = TypeNo Then</p><p> .ListIndex = pos</p><p><b> Exit For</b>&l
113、t;/p><p><b> End If</b></p><p><b> Next</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Privat
114、e Sub setDeptIndex(DeptNo As String)</p><p> Dim pos As Integer</p><p> DeptNo = DeptNo & "-"</p><p> With cboDepartment</p><p> For pos = 0 To .ListC
115、ount - 1</p><p> If Left(.List(pos), Len(DeptNo)) = DeptNo Then</p><p> .ListIndex = pos</p><p><b> Exit For</b></p><p><b> End If</b></p
116、><p><b> Next</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Private Function getTypeNO() As String</p><p>
117、; Dim str As String</p><p> Dim pos As Integer</p><p> With cboTypeNO</p><p> str = .List(.ListIndex)</p><p><b> End With</b></p><p> pos
118、 = InStr(str, "-")</p><p> getTypeNO = Left(str, pos - 1)</p><p> End Function</p><p> Private Function getDeptNo() As String</p><p> Dim str As String<
119、;/p><p> Dim pos As Integer</p><p> With cboDepartment</p><p> str = .List(.ListIndex)</p><p><b> End With</b></p><p> pos = InStr(str, "
120、;-")</p><p> getDeptNo = Left(str, pos - 1)</p><p> End Function</p><p> Public Sub setStatus()</p><p> If theDevice.iid = 0 Then</p><p> cmdDele
121、te.Enabled = False</p><p> dtReject.Visible = False</p><p> dtDisCard.Visible = False</p><p><b> End If</b></p><p><b> End Sub</b></p>
122、<p> Private Function saveData() As Boolean</p><p> Dim DeviceNo As String</p><p> Dim DeviceModel As String</p><p> Dim DeviceName As String</p><p> Dim Ty
123、peNo As String</p><p> Dim DeptNo As String</p><p> Dim Price As String</p><p> Dim Cost As String</p><p> Dim PurchaseDate As String</p><p> saveData
124、 = False</p><p> DeviceNo = Trim(txtDeviceNo.Text)</p><p> DeviceModel = Trim(txtDeviceModel.Text)</p><p> DeviceName = Trim(txtDeviceName.Text)</p><p> Price = Tri
125、m(txtPrice.Text)</p><p> Cost = Trim(txtCost.Text)</p><p> PurchaseDate = FormatDateTime(dtPurchaseDate.value, vbShortDate)</p><p> If Len(DeviceNo) = 0 Then</p><p>
126、 MsgBox "請輸入設備編號"</p><p> Exit Function</p><p><b> End If</b></p><p> If cboTypeNO.ListIndex < 0 Then</p><p> MsgBox "請選擇設備類型!"&
127、lt;/p><p> Exit Function</p><p><b> End If</b></p><p> If cboDepartment.ListIndex < 0 Then</p><p> MsgBox "請選擇設備所屬部門!"</p><p> E
128、xit Function</p><p><b> End If</b></p><p> If IsNumeric(Price) = False Then</p><p> MsgBox "請輸入正確的價格!"</p><p> Exit Function</p><p&
129、gt;<b> End If</b></p><p> If IsNumeric(Cost) = False Then</p><p> MsgBox "請輸入正確的成本!"</p><p> Exit Function</p><p><b> End If</b>&
130、lt;/p><p> If IsDate(PurchaseDate) = False Then</p><p> MsgBox "請輸入正確的購買日期!"</p><p> Exit Function</p><p><b> End If</b></p><p> Wi
131、th theDevice</p><p> .DeviceNo = DeviceNo</p><p> .DeviceModel = DeviceModel</p><p> .DeviceName = DeviceName</p><p> .TypeNo = getTypeNO()</p><p> .D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 固定資產管理系統畢業(yè)論文
- 固定資產管理系統畢業(yè)論文
- 固定資產管理系統畢業(yè)論文
- 企業(yè)固定資產管理系統畢業(yè)論文
- 畢業(yè)論文——固定資產管理系統設計與實現
- 畢業(yè)論文范文——固定資產管理系統
- 固定資產管理系統_畢業(yè)設計論文
- 固定資產管理系統畢業(yè)設計論文
- 畢業(yè)論文范文——高校固定資產管理系統
- 畢業(yè)論文范文——企業(yè)固定資產管理系統
- a固定資產管理系統論文畢業(yè)設計
- 企業(yè)固定資產管理系統畢業(yè)論文(含外文翻譯)
- 財會畢業(yè)論文--固定資產核算與管理
- 固定資產的折舊畢業(yè)論文
- 固定資產投資審計畢業(yè)論文
- 固定資產管理系統畢業(yè)設計
- 固定資產論文 固定資產管理論文
- 論固定資產折舊畢業(yè)論文
- 固定資產折舊畢業(yè)論文docx
- 論固定資產折舊畢業(yè)論文
評論
0/150
提交評論