




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、物流管理系統的設計和實現摘 要:本設計論文的內容,圍繞物流管理系統展開。物流管理系統是典型的信息管理系統(mis),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強.數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。經過分析如此情況,我們使用美國microsoft公司的visual basic前臺開發工具,使用access2000作為后臺數據庫,利用它們在開發數據庫應用程序方面的眾多優越性,尤其是vb在應用程序的客戶端應用開發方面提供了大量的用于數據庫應用開發的各種組件,大大提高開發的效率。首先在系統應用原型,然后,對初
2、始原型系統進行需求迭代,不斷修正和改進,直到形成在用戶要求的時間內建立系滿意的可行系統。關鍵詞:物流管理系統;vb;數據庫;數據訪問對象(ado);結構化查詢語句(sql)abstractin this paper,logistics management of mall system has been discussed. logistics management of mall system is a typical application of managing information system (mis),which mainly includes building up data
3、-base of back-end and developing the application interface of front-end. the former required consistency and integrality and security of data. the later should make the application powerful and easily used.by analysis of this situation, we use microsoft visual basic as front-end and microsoft access
4、2000 as database of back-end. there are many advantages in developing database applications, especially in the client application used vb. it provides lots of vcl to database application development. it enhances development efficiently. firstly system application prototype is built.the demand is rep
5、eated in the original system. it can give you a short-cut to build up a prototype of system application. the prototype could be modified and developed till users are satisfied.keywords:logistics management of mall system; vb; database; ado; sql一、緒論:物流概念的提出是人的能力增強所導致的必然結果。過去在工業化過程中,由于能力所限,人們的注意力放在廠區范
6、圍內,至于原料和產品在廠外怎樣流動,考慮的相對少一些,只要成本低就好。隨著人的能力的增強和社會化、專業化大生產體系的建立,人們開始將一個區域,甚至整個世界、整個地球看做一個大工廠、一個整體來研究產品生產流程的合理性和優化問題,從過去把重點放在生產工廠的合理建設轉移到把重點放在物資流通全過程的合理設計上,僅把工廠看做物資流動過程中的一個駐留點。狹義地講,如果認為運輸組織意味著運輸過程優化,側重于合理使用運輸工具,那么物流組織則意味著流動過程的優化,側重于物資流動方式的合理性。由運輸向物流的轉變相當于把運輸工具與運輸對象的位置做了對調。再進一步講,這種轉變把生產與流通運輸這一對對立統一的事物的位置
7、也做了調整,過去以研究生產為主,運輸流動為輔,現在以流通運輸為主,生產為輔。這就是物流概念的新意所在。位置的調換會使人產生不同的感覺,這樣做有時有利于啟發新思路,有利于解決問題和提高管理水平。這也說明并非只有新的事物、新的技術能給人們帶來效益,一個理念、觀念或思路的改變也會給人們帶來新意和效益。它遵循的基本規律是:理念改變概念改變業務改變效果改變。抓住物流概念的實質才能綱舉目張、有的放矢,做到轉變服務意識,從坐等客戶上門到主動上門為客戶服務,并提供多樣化的、使客戶滿意的服務。也正因為服務質量的改善,擴大了服務范圍,使許多物流經營者獲得顯著效益,與過去的運輸過剩和不景氣相比,運輸市場出現了蓬勃發
8、展的勢頭。二、課題背景:國家對企業信息化的重視、電子政務的推廣、海關的改革、物流業務自身的迅速發展,都充當了物流信息化進程中強有力的助推器,而it業對于物流的關注則成為了直接的動力。整個物流產業對于信息技術的需求分為三類,應該提倡效益為本、需求為先、循序漸進的信息化實施之路。 基礎信息化需求仍是主流 第一類是基礎信息化。由于信息技術的發展和普及,特別是近幾年,互聯網技術已經在解決信息共享、信息傳輸、信息標準和信息成本等問題上,有了長足的進步,使得信息可以廣泛地成為調控和決策的基礎。因此,信息化最大的作用就是使企業順利實現信息的采集、傳輸、加工和共享,最后在決策過程中有效地利用各種信息,從而提高
9、經濟效益。 這之中有很多的難點,比如說信息的采集,如果企業的信息系統和業務系統是兩套,就不容易實現實時的信息采集,所以,必須要使業務系統和信息系統合一,或者說必須用信息系統來做業務。只有這樣,才能夠真正解決好信息的采集問題。而信息的共享,會涉及到很多機制問題,目前,大量的企業還不能夠做到信息共享。因此,信息用于決策的部分還不多。所以,在這樣一個情況下,完善基礎信息化建設是首先要做的事。 優化帶來管理效益的提高 在基礎信息化實現以后,就會有第二層的需求。一些條件比較好的企業經過一段時間運行以后,將會開始尋求改進,利用積累下來的數據,進行優化。 優化主要是在兩個層面上,一個是流程的優化,會涉及到整
10、個的流程再造,這就需要用數據來分析,所以一定要有第一階段的基礎。第二個方面的優化是日常操作的優化,比如說每天都有的庫存的改變、運輸的調度,同樣也需要信息系統的支持。 做好優化的工作,將能夠大大提高物流管理的效率。流程的改造、日常操作的優化都會帶來看得見的效益。所以,這就比僅僅依賴于獲得信息,還是人工決策,要上一個層次,等于是機器用數據來進行優化的決策。 當然,這個要求相對要高一些,因為這要求在相應的信息系統中必須有一個優化的模塊。換句話說,要有一個實現優化的模型和算法,而在實際操作中,這樣的模型是很難概括的,如果不對業務進行深入地了解,絕對不能形成這樣的優化模型,同時還要保證實時、高效,才有可
11、能滿足業務的需要。 目前,這一層次的信息系統建設進行得還很不完備,據估計,在收集到的案例中,明顯含有這塊功能的信息系統僅占15%左右。 供應鏈管理打造共贏模式 第三層次,也是最高層次的需求,就是供應鏈管理的工具。供應鏈這個概念包含的內容很多,不僅僅是物流,還包括其他方面的內容。供應鏈是用來調節企業和企業之間的協作關系、在市場經濟成熟到一定程度之后出現的一種概念。在市場經濟發展初期,企業和企業之間是完全競爭的,只有到了成熟的產品鏈、價值鏈、服務鏈形成以后,企業和企業之間才有一種依存和戰略合作的關系,它們在業務上才會產生協同的要求。一旦建立這種要求,企業之間就需要用一套信息系統把這一要求固定下來,
12、來執行業務上的協同操作。例如,在上下游的企業之間,庫存信息對彼此是公開的,采購不再是由一次次的招標來完成,而是變成自動補貨。這種情況是建立在企業經營鏈基礎之上的一種新的業務模式,而供應鏈管理的軟件,正是用來解決這些問題的有效工具。 立足實際力爭三步并作一步走 我國物流信息化目前的需求仍是以底層的基礎信息化為主。現有的物流管理軟件大多僅僅是反映信息,只有少數很成熟的軟件對流程和操作的優化具備很強的功能。 將物流信息化的需求分為三層,有助于了解發展的趨勢,了解自己的目標。盡管供應鏈管理在我國現在還沒有太多成功案例,但是并不代表沒有這方面的發展條件。只要企業之間不斷加強合作,建立戰略合作伙伴關系,進
13、行業務上的協同,必將促進供應鏈、價值鏈的形成。所以,只要充分利用資源,我國的物流信息化實現三步并作一步走,是完全有可能的。但是,實現這一目標,就要求企業必須給自己定好位,絕對不能從觀念出發,不能脫離實際,每一層的需求都需要一定的基礎、一定的管理水準、一定的物質和技術條件。從這個意義上講,只有最合適企業的系統才可能取得成功。 三、課題的任務利用可視化編程語言(microsoft visual basic)和數據庫編程語言(sql)完成整個物流管理系統的設計,掌握科技文獻檢索的方法,完成論文的撰寫。在此次要物流管理系統中,我的工作包括:1、 制訂可行性分析報告,進行項目需求分析,完成e-r模型設計
14、;2、 功能及模塊的初步設計;3、 數據庫設計與實現;四、項目可行性分析 具體要求:本次開發任務所要完成的是物流管理系統,以實現物流智能化管理,按照具體環境設定對其提出如下具體要求:1、 分級的數據庫和用戶管理。要求具有可靠的數據庫連接,用戶必須通過密碼才能登陸功能使用環境。并且根據不同用戶提供不同的權限。2、 實現貨品資料的管理,添加、刪除、修改等操作。3、 實現倉庫資料的管理,添加、刪除、修改等操作。4、 實現物流的管理,進貨、出貨、貨品流動等操作。5、 實現報表瀏覽打印等功能。6、 幫助功能。7、 可移植可擴充性。 開發周期可行性:1、 可行性研究及需求分析:一周時間2、 程序概要設計:
15、一周時間3、 程序詳細設計:一周時間4、 系統測試及試運行、修改:一周時間 項目開發環境及開發平臺:1. 系統設計平臺:microsoft windows 2000 sp22. 數據庫設計工具:microsoft access 20003. 程序設計工具:microsoft visual basic 6.0何為visual basic?basic到visual basic的發展 basic是beginners all-purpose symbolic instruction code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。basic簡單、易學,目前仍是計算機入門
16、的主要學習語言之一。basic語言的問世及發展 basic語言自其問世經歷了以下四個階段:第一階段:(1964年70年代初) 1964年basic語言問世。 第二階段:(1975年80年代中) 微機上固化的basic第三階段:(80年代中90年代初) 結構化basic語言。第四階段:(1991年以來) visual basic 1991年,微軟推出了visual basic1.0版。這在當時引起了很大的轟動。許多專家把vb的出現當作是軟件開發史上的一個具有劃時代意義的事件。其實,以我們現在的目光來看,vb10的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗
17、試在vb的平臺上進行軟件創作。微軟也不失時機地在四年內接連推出vb20,vb30,vb40三個版本。并且從vb3開始,微軟將access的數據庫驅動集成到了vb中,這使得vb的數據庫編程能力大大提高。從vb4開始,vb也引入了面向對象的程序設計思想。vb功能強大,學習簡單。而且,vb還引入了“控件:的概念,使得大量已經編好的vb程序可以被我們直接拿來使用,如今,vb已經有了6.0版。通過幾年的發展,它已成為一種真真專業化的開發語言和環境。用戶認為可用visual basic快速創建windows程序,在現在還可以編寫企業水平的客戶服務器程序及強大的數據庫應用程序,visual basic新版中
18、還有更多可用功能。visual basic的編程基礎 什么是程序 ?首先需要知道下面這個問題的答案:“程序到底是什么?”計算機程序是指令集,它告訴計算機如何執行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執行預期的任務。 計算機也是一樣,只是它們需要為執行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁盤中保存訊息。幸運的是,許多這樣的指令包含在處理器芯片中或內置于操作系統中,因此用戶不必擔心它們。相反,應集中于為任務提供指令,如計算雇員工資,創建鄰居郵件列表,或設
19、置格式化文本以顯示最近的年度報表信息。雖然我們用自然語言讀這些指令,但計算機指令必須是二進制代碼,即一系列在計算機內存和處理器中的開或關的狀態。有些語言,如匯編程序,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此visual basic和其他編程語言使程序員可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,并要遵循高度定義的結構。事件驅動編程: visual basic允許創建反映用戶動作和系統事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在windows環境中有何不同。 在windows之前,程序以順序方式
20、運行。也就是說,一旦程序啟動,它就一條指令一條指令的向前執行,直到程序結束或出現致命錯誤。面向對象編程 使創建windows程序較為容易的關鍵技術是面向對象編程,或oop。這種技術可以創建可重用組建,它是程序的組成模塊。幾個定義: 在討論visual basic時,經??梢月牭竭@些術語,因此對這些術語的基本理解十分有幫助??丶峁┏绦蚩梢娊缑娴目芍赜脤ο蟆?丶氖纠形谋究?、標簽和命令按鈕。 事件 由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數據。方法 嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數據庫對象有打開紀錄集并從一個記
21、錄移動到另一個記錄的方法。 對象 程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是visual basic中所有對象的示例。 過程 為完成任務而編寫的代碼段。過程通常用于響應特定的事件。 屬性 對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數據和從對象取回信息。 實施計劃:1. 2006-03-01開始進行任務書設計2. 2006-03-10開始可行性研究和需求分析3. 2006-03-20 開始編碼4. 2006-04-02完成編碼,編譯5. 2006-04-12完成測試,發布五、項目總體設計
22、程序模型主界面幫助貨品管理倉庫管理物流管理添加刪除修改添加刪除修改添加刪除修改登陸 數據庫設計 數據庫類型:microsoft access6.0數據庫 數據庫連接:ado(activex data object)數據庫連接控件 數據庫名稱:lms.mdbbale表: 用于保存貨品信息字段名字段類型關鍵字說明baleidcharyes貨品idbalenamechar貨品名稱balefromchar貨品產地balespecchar貨品規格balepricecurrency貨品價格balememomemo貨品備注config表:系統設置表字段名字段類型關鍵字說明setuptimedatetime程
23、序啟用時間adminpswchar管理員密碼guestenabledboolean是否支持匿名訪問depot表:倉庫資料表字段名字段類型關鍵字說明depotidcharyes倉庫iddepotnamechar倉庫名稱depotlocalchar倉庫地址depotmemomemo倉庫注釋operator表:管理員信息表字段名字段類型關鍵字說明opidcharyes管理員idoploginchar管理員用戶名oppswchar管理員密碼openabledchar管理員是否可用opmemomemo管理員備注storage表:存儲信息表字段名字段類型關鍵字說明opidcharyes管理員idoplog
24、inchar管理員用戶名oppswchar管理員密碼openabledchar管理員是否可用opmemomemo管理員備注storage:貨物庫存表字段名字段類型關鍵字說明sidcharyes存儲記錄sbbaleidchar存儲貨品編號sdepotidchar存儲倉庫編號stotalchar存儲數量 ado程序接口設計a) 數據庫的訪問控制方法:目前在vb中可以通過三種方式訪問數據庫:1、idc(internet database connector)方式;idc是一個傳統的數據庫查詢工具,用來定義和執行數據庫查詢的sql命令,并向瀏覽器返回一個指定數據格式的頁面。使用idc訪問數據庫最大的特
25、點是簡單,幾乎不需要編程就能實現對數據庫的訪問。2、ado(activex data objects)方式;ado訪問數據庫,更像編寫數據庫應用程序。它把絕大部分的數據庫操作封裝在七個對象中,在編程調用這些對象執行相應的數據庫操作。ado是asp技術的核心之一,它集中體現了asp技術豐富而靈活的數據庫訪問功能。ado建立了基于web方式訪問數據庫的腳本編寫模型,不僅支持任何大型數據庫的核心功能,而且支持許多數據庫所專有的特性。一般使用ado訪問數據庫的程序應該使用connection對象建立并管理與遠程數據庫的連接,用command對象提供靈活的查詢,用recordset對象訪問數據庫查詢所返
26、回的結果。這三者是ado的最核心的對象。這種方式將是我的設計中用到的主要數據庫訪問方式。3、rds(remote data service)方式。rds提供訪問遠程數據庫的功能。ado雖然能夠提供非常強大的數據庫訪問功能,但是它不支持數據遠程操作(data remoting)。而rds支持數據遠程操作。它不僅能執行查詢并返回數據庫查詢結果,而且可以把服務器端的數據“搬到“用戶端修改,并調用一個數據庫更新命令,將用戶端修改的數據寫回數據庫,象使用本地數據庫一樣。b) ado 定義編程模型,即訪問和更新數據源所必需的活動順序。編程模型概括了 ado 的全部功能。編程模型意味著對象模型,即響應并執行
27、編程模型的“對象”組。對象擁有“方法”,方法執行對數據進行的操作;對象擁有“屬性”,屬性指示數據的某些特性或控制某些對象方法的行為。與對象關聯的是“事件”,事件是某些操作已經發生或將要發生的通知。c) ado 提供執行以下操作的方式: 1. 連接到數據源。同時,可確定對數據源的所有更改是否已成功或沒有發生。2. 指定訪問數據源的命令,同時可帶變量參數,或優化執行。3. 執行命令。4. 如果這個命令使數據按表中的行的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中。5. 適當情況下,可使用緩存行的更改內容來更新數據源。6. 提供常規方法檢測錯誤(通常由建立連接或執行命令造成)。 在典型情況
28、下,需要在編程模型中采用所有這些步驟。但是,由于 ado 有很強的靈活性,所以最后只需執行部分模塊就能做一些有用的工作。例如:將數據從文件直接存儲到緩存行,然后僅用 ado 資源對數據進行檢查。d) ado編程模型:連接通過“連接”可從應用程序訪問數據源,連接是交換數據所必需的環境。通過如 microsoft internet information server 作為媒介,應用程序可直接(有時稱為雙層系統)或間接(有時稱為三層系統)訪問數據源。對象模型使用 connection 對象使連接概念得以具體化?!笆聞铡庇糜诮缍ㄔ谶B接過程中發生的一系列數據訪問操作的開始和結束。ado 可明確事務中的
29、操作造成的對數據源的更改或者成功發生,或者根本沒有發生。如果取消事務或它的一個操作失敗,則最終的結果將仿佛是事務中的操作均未發生,數據源將會保持事務開始以前的狀態。對象模型無法清楚地體現出事務的概念,而是用一組 connection 對象方法來表示。命令通過已建立的連接發出的“命令”可以某種方式來操作數據源。一般情況下,命令可以在數據源中添加、刪除或更新數據,或者在表中以行的格式檢索數據。對象模型用 command 對象來體現命令概念。command 對象使 ado 能夠優化對命令的執行。參數通常,命令需要的變量部分即“參數”可以在命令發布之前進行更改。例如,可重復發出相同的數據檢索命令,但每
30、一次均可更改指定的檢索信息。參數對執行其行為類似函數的命令非常有用,這樣就可知道命令是做什么的,但不必知道它如何工作。例如,可發出一項銀行過戶命令,從一方借出貸給另一方。可將要過戶的款額設置為參數。對象模型用 parameter 對象來體現參數概念。記錄集如果命令是在表中按信息行返回數據的查詢(行返回查詢),則這些行將會存儲在本地。對象模型將該存儲體現為 recordset 對象。但是,不存在僅代表單獨一個 recordset 行的對象。記錄集是在行中檢查和修改數據最主要的方法。recordset 對象用于: 1. 指定可以檢查的行。2. 移動行。3. 指定移動行的順序。4. 添加、更改或刪除
31、行。5. 通過更改行更新數據源。6. 管理 recordset 的總體狀態。 字段一個記錄集行包含一個或多個“字段”。如果將記錄集看作二維網格,字段將排列構成“列”。每一字段(列)都分別包含有名稱、數據類型和值的屬性,正是在該值中包含了來自數據源的真實數據。對象模型以 field 對象體現字段。 要修改數據源中的數據,可在記錄集行中修改 field 對象的值,對記錄集的更改最終被傳送給數據源。作為選項,connection 對象的事務管理方法能夠可靠地保證更改要么全部成功,要么全部失敗。錯誤 錯誤隨時可在應用程序中發生,通常是由于無法建立連接、執行命令或對某些狀態(例如,試圖使用沒有初始化的記
32、錄集)的對象進行操作。對象模型以 error 對象體現錯誤。任意給定的錯誤都會產生一個或多個 error 對象,隨后產生的錯誤將會放棄先前的 error 對象組。屬性每個 ado 對象都有一組唯一的“屬性”來描述或控制對象的行為。屬性有兩種類型:內置和動態。內置屬性是 ado 對象的一部分并且隨時可用。動態屬性則由特別的數據提供者添加到 ado 對象的屬性集合中,僅在提供者被使用時才能存在。對象模型以 property 對象體現屬性。集合ado 提供“集合”,這是一種可方便地包含其他特殊類型對象的對象類型。使用集合方法可按名稱(文本字符串)或序號(整型數)對集合中的對象進行檢索。ado 提供四
33、種類型的集合: connection 對象具有 errors 集合,包含為響應與數據源有關的單一錯誤而創建的所有 error 對象。command 對象具有 parameters 集合,包含應用于 command 對象的所有 parameter 對象。recordset 對象具有 fields 集合,包含所有定義 recordset 對象列的 field 對象。另外,connection、command、recordset 和 field 對象都具有 properties 集合。它包含所有屬于各個包含對象的 property 對象。 ado 對象擁有可在其上使用的諸如“整型”、“字符型”或“布
34、爾型”這樣的普通數據類型來設置或檢索值的屬性。然而,有必要將某些屬性看成是數據類型“collection object”的返回值。相應的,集合對象具有存儲和檢索適合該集合的其他對象的方法。事件“事件”是對將要發生或已經發生的某些操作的通知。一般情況下,可用事件高效地編寫包含幾個異步任務的應用程序。對象模型無法顯式體現事件,只能在調用事件處理程序例程時表現出來。在操作開始之前調用的事件處理程序便于對操作參數進行檢查或修改,然后取消或允許操作完成。操作完成后調用的事件處理程序在異步操作完成后進行通知。多個操作經過增強可以有選擇地異步執行。例如,用于啟動異步 recordset.open 操作的應用
35、程序將在操作結束時得到執行完成事件的通知。e) ado常用對象和方法:1、 connection對象:ado數據庫連接對象,用于實現ado與數據庫之間的連接。2、 command對象:ado命令對象,用于保存sql執行命令,負責具體對數據庫的操作。3、 recordset對象:ado記錄集對象,用于保存sql執行命令結果。4、 addnew方法:添加新的記錄到數據庫中。5、 delete方法:刪除數據庫中的記錄。6、 update方法:更新數據庫記錄。 vb程序設計名稱類型說明mdifrmmainmdi form主mdi窗體frmbaleaddform(mdi child)貨品添加窗體frmb
36、aledelform(mdi child)貨品刪除窗體frmbaleupdateform(mdi child)貨品資料更改窗體frmdepotaddform(mdi child)倉庫添加窗體frmdepotdelform(mdi child)倉庫刪除窗體frmdepotupdateform(mdi child)倉庫資料更改窗體frmbaleinform(mdi child)進貨管理窗體frmbaleoutform(mdi child)出活管理窗體frmbaleupdateform(mdi child)貨品流動管理窗體frmsysmanageform(mdi child)系統管理窗體frmlog
37、inform(mdi child)登陸窗體frmaboutform關于窗體dataenvdataenvironment報表數據環境datarepbaledatareport貨品報表datarepdepotdatareport倉庫報表modbootmodule啟動模塊七、模塊詳細設計a. 貨品添加窗體:frmbaleadd.frm 窗體控件:控件名稱說明frmbaleadd貨品添加窗體framain主框架txtbaleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規格信息文本框txtbaleprice貨品價格信息文
38、本框txtbalememeo貨品備注信息文本框cmdaddnew添加按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 該窗體在用戶登陸時列出所有貨品清單,但用戶選擇添加貨品記錄后,會激活資料輸入功能,若用戶輸入完成后點擊確認后,會自動檢測是否在數據庫中有沒有重復編號的數據。若有,拒絕添加,代碼如下:private sub cmdaddnew_click()/點擊添加 cmdaddnew.enabled = false cmdrefresh.enabled = false c
39、mdconfirm.enabled = true cmdcancel.enabled = true activetextbox adomain.recordset.addnewend subprivate sub cmdconfirm_click()/確認添加 if txtbaleid.text = or txtbalename.text = then aa = msgbox(請填寫貨品編號和名稱, vbokonly, ) else 檢查是否有重復的貨品id adotest.recordsource = select * from bale where baleid= & txtbaleid.
40、text & adotest.refresh if not adotest.recordset.eof then aa = msgbox(相同貨品編號已經存在,請重新輸入!, vbokonly, ) else adomain.recordset.update cmdaddnew.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false adomain.recordsource = select * from bale adomain.recordset.requer
41、y adomain.refresh end if end ifend subprivate sub cmdcancel_click()/撤消添加 adomain.recordset.cancel adomain.refresh cmdaddnew.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false unactivetextboxend subb. 貨品刪除窗體:frmbaledel.frm控件名稱說明frmbaledel貨品刪除窗體framain主框架txtb
42、aleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規格信息文本框txtbaleprice貨品價格信息文本框txtbalememeo貨品備注信息文本框cmddel刪除按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 在該窗體中當用戶點擊了刪除按鈕會提示是否真正要刪除,如果用戶確認,則刪除當前記錄,否則撤消操作。具體代碼如下:private sub cmddel_click() cmddel.e
43、nabled = false cmdrefresh.enabled = false cmdconfirm.enabled = true cmdcancel.enabled = true dagrbale.enabled = falseend subprivate sub cmdcancel_click() adomain.recordset.cancel adomain.refresh cmddel.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false dagr
44、bale.enabled = trueend subprivate sub cmdconfirm_click() adomain.recordset.delete adomain.recordsource = select * from bale adomain.recordset.requery adomain.refresh cmddel.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false dagrbale.enabled = trueend subc.
45、貨品盤點窗體:frmbaleupdate.frm控件名稱說明frmbaleupdate貨品信息更新窗體framain主框架txtbaleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規格信息文本框txtbaleprice貨品價格信息文本框txtbalememeo貨品備注信息文本框cmdupdate修改資料按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 在該窗體中當用戶點擊了更新按鈕會會激活資
46、料修改功能,若用戶輸入完成后點擊確認后,會自動檢測是否在數據庫中有沒有重復編號的數據。若有,拒絕添加,具體代碼如下:private sub cmdcancel_click()/撤消更新 adomain.recordset.cancel adomain.refresh cmdupdate.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false unactivetextboxend subprivate sub cmdconfirm_click()/確認更新 if t
47、xtbaleid.text = or txtbalename.text = then aa = msgbox(請填寫貨品編號和名稱, vbokonly, ) else 檢查是否有重復的貨品id adotest.recordsource = select * from bale where baleid= & txtbaleid.text & adotest.refresh if not adotest.recordset.eof and p_baleid txtbaleid.text then aa = msgbox(相同貨品編號已經存在,請重新輸入!, vbokonly, ) else ad
48、omain.recordset.update cmdupdate.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false adomain.recordsource = select * from bale adomain.recordset.requery adomain.refresh unactivetextbox end if end ifend subprivate sub cmdupdate_click()/點擊更新 cmdupdate.enabled
49、= false cmdrefresh.enabled = false cmdconfirm.enabled = true cmdcancel.enabled = true p_baleid = txtbaleid.text activetextboxend subd. 主mdi窗體:mdifrmmain.frm 窗體控件:控件名稱說明mdifrmmainmdi主窗體 該窗體在系統啟動時作為主要的外邊界,基于mdi設計,設置各種菜單于其之上,不同的用戶登陸會顯示不同的菜單形式。 窗體代碼:private sub m_about_click()/關于菜單單擊事件 frmabout.showend
50、subprivate sub m_baleadd_click()/貨品資料添加菜單單擊事件 frmlogin.hide frmbaleadd.showend subprivate sub m_balecmove_click() /貨品流動菜單單擊事件 frmlogin.hide frmbalemove.showend subprivate sub m_baleupdate_click()/貨品資料修改菜單單擊事件 frmlogin.hide frmbaleupdate.showend subprivate sub m_baledel_click()/貨品刪除菜單單擊事件 frmlogin.hi
51、de frmbaledel.showend subprivate sub m_depotadd_click()/倉庫添加菜單單擊事件 frmlogin.hide frmdepotadd.showend subprivate sub m_depotdel_click()/倉庫刪除菜單單擊事件 frmlogin.hide frmdepotdel.showend subprivate sub m_depotupdate_click()/倉庫資料修改菜單單擊事件 frmlogin.hide frmdepotupdate.showend subprivate sub m_exit_click()/退出菜單單擊事件 if publogin then aa = msgbox(用戶 & publogin & 正在登錄中,確實要退出嗎?, vbyesno, ) if aa = vbyes then end end if else end end ifend subprivate sub m_login_click()/登陸菜單單擊事件 if publogin then aa = msgbox(用戶 & publogin & 已經在登錄狀態!, vbo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 優化供應鏈管理的具體方案計劃
- 家園共育的有效策略計劃
- 校園體育活動安排計劃
- 南京課題申報書
- 前瞻性思維助力2025年注冊會計師考試成功試題及答案
- 解析2025年國際金融理財師考試知識點試題及答案
- 證券從業資格證考試關注細節與攻克重點試題及答案
- 新疆代寫課題申報書
- 廣東省汕頭市金平區多校聯考2024年中考語文二模試卷(含答案)
- 常見病原菌識別試題及答案
- 臨床營養學基礎知識課件
- 《在〈人民報〉創刊紀念會上的演說》《在馬克思墓前的講話》聯讀 統編版高中語文必修下冊
- 銀行內部賬戶風險分析和管控建議
- 軟件開發類投標項目全套解決實施方案模板
- 普法講座-治安管理處罰法課件
- 掛名法定代表人免責協議范本
- AC-20瀝青混凝土配合比報告
- 七下人教版語文《紫藤蘿瀑布》知識點預習內容
- GB 18434-2022油船在港作業安全要求
- 小學語文課外補充古詩詞
- 2023年河南鄭州大學招聘行政管理人員(博士)10人筆試備考試題及答案解析
評論
0/150
提交評論