畢業(yè)設計(論文)超市進銷存信息管理系統(tǒng)設計_第1頁
畢業(yè)設計(論文)超市進銷存信息管理系統(tǒng)設計_第2頁
畢業(yè)設計(論文)超市進銷存信息管理系統(tǒng)設計_第3頁
畢業(yè)設計(論文)超市進銷存信息管理系統(tǒng)設計_第4頁
畢業(yè)設計(論文)超市進銷存信息管理系統(tǒng)設計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業(yè)設計 引言目錄摘 要2引言31本課題的研究意義和目的41.1開發(fā)背景41.2研究超市進銷存管理系統(tǒng)的意義42系統(tǒng)設計62.1系統(tǒng)目標設計62.2開發(fā)設計思想62.3開發(fā)和運行環(huán)境選擇62.4系統(tǒng)功能分析72.5系統(tǒng)功能模塊設計73數(shù)據(jù)庫設計83.1數(shù)據(jù)庫需求分析83.2數(shù)據(jù)庫概念結構設計93.3數(shù)據(jù)庫邏輯結構設計93.4數(shù)據(jù)庫結構的實現(xiàn)114各個功能模塊的創(chuàng)建144.1系統(tǒng)菜單的設計144.3身份驗證界面的設計164.3.1用戶身份驗證界面164.3.2創(chuàng)建“修改密碼”表單184.4信息管理模塊設計204.4.1“商品信息管理”表單204.4.2“輸入查詢條件”表單275系統(tǒng)的編譯和發(fā)行4

2、0結束語41致謝42參考文獻43摘 要超市管理系統(tǒng)是目前應用于中型或是大型超市商品進、銷、存、管理等系統(tǒng)中的典型代表,涉及到了商品或貨物管理中的以下4個方面,即進貨、銷售、庫存及盤點。通過一個超市管理系統(tǒng)的例子,介紹了超市進、銷、存、管理信息化的一般解決方案,其重要性不言而喻。但是,目前超市在具體的業(yè)務流程處理過程中仍然使用手工操作的方式來實施,不僅費時、費力,效率低下,而且無法達到理想的效果。本系統(tǒng)是根據(jù)超市的特點,集進、銷、存、分析于一體,為超市量身定做的進、銷、存、管理軟件。在設計過程中最大限度滿足用戶的要求,因此,該系統(tǒng)具有較強的實用性和針對性。本系統(tǒng)界面友好,操作簡單,可維護性強,功

3、能完備。本論文介紹了超市管理信息系統(tǒng)開發(fā)的全過程,主要從管理思想、系統(tǒng)分析說明、系統(tǒng)設計說明、系統(tǒng)使用說明、技巧與體會等方面對本管理系統(tǒng)加以論述。前言部分指明了選題背景和開題意義;而后又詳細介紹了系統(tǒng)的分析、系統(tǒng)的開發(fā)與設計說明等內容;最后給出了系統(tǒng)的使用說明和系統(tǒng)設計的心得體會。 關鍵詞:系統(tǒng)設計、系統(tǒng)分析、進銷存、信息管理系統(tǒng)引言隨著社會經(jīng)濟的發(fā)展,信息化程度的不斷深入,超市的傳統(tǒng)業(yè)務己愈來愈不能滿足消費者的需要。如今,商品進、銷、存、管理是大小型超市經(jīng)營管理中的核心環(huán)節(jié),也是一個超市能夠取得效益的關鍵,如果能夠做到合理生產(chǎn),及時銷售,庫存量最小,減少積壓,那么超市就能取得最佳的效益。由此

4、可見,進、銷、存、管理決策的正確與否直接影響了超市的效益。本管理信息系統(tǒng)是針對超市的實際需求開發(fā)設計的,我組在超市中采集了許多實際資料。利用計算機運算速度快、存儲信息容量大、處理邏輯問題強、功能強大的優(yōu)勢及計算機網(wǎng)絡與通信網(wǎng)的結合,可以使眾多的個人計算機不僅能夠同時處理文字、數(shù)據(jù)、圖像、聲音等信息而且方便快捷,特別是局域網(wǎng)的應用,它可以通過數(shù)據(jù)通信網(wǎng)或專用數(shù)據(jù)電路,與遠方的局域網(wǎng)、數(shù)據(jù)庫或處理中心相連接,構成一個大范圍的信息處理系統(tǒng),從超市管理特別是查詢與決策信息的管理需求出發(fā),針對性強,功能齊備,旨在通過幫助超市管理實現(xiàn)信息化,以提高超市管理的效率。與此同時,我們所學到的知識也得到了理論聯(lián)系

5、實際的目的。45畢業(yè)設計 第1章 本課題的研究意義和目的1本課題的研究意義和目的1.1開發(fā)背景隨著科技發(fā)展和社會進步,尤其是計算機大范圍的普及,計算機應用逐漸由大規(guī)??茖W計算的海量數(shù)據(jù)處理轉向大規(guī)模的事務處理和對工作流的管理,這就產(chǎn)生了以臺式計算機為核心,以數(shù)據(jù)庫管理系統(tǒng)為開發(fā)環(huán)境的管理信息系統(tǒng)在大規(guī)模的事務處理和對工作流的管理等方面的應用,特別是在超市管理之中的應用日益收到人們的關注。目前,無論公司還是企業(yè)對于貨物都實行了信息化管理以提高管理水平和工作效率,同時也可以最大限度地減少手工操作帶來的錯誤。于是,進銷存管理信息系統(tǒng)便應運而生。在工廠中,涉及產(chǎn)品原料的采購、庫存,投入生產(chǎn),報損,甚至

6、有時涉及到銷售,同時,對于產(chǎn)品也有相同的生產(chǎn),庫存,銷售和盤點等類似環(huán)節(jié)。在其他非生產(chǎn)性單位,如超市,商店等,則主要涉及到進貨,庫存,銷售和盤點4方面。我們的系統(tǒng)開發(fā)的整體任務是實現(xiàn)超市管理的系統(tǒng)化、規(guī)范化、自動化和智能化,從而達到提高企業(yè)管理效率的目的。1.2研究超市進、銷、存、管理系統(tǒng)的意義隨著社會的進步和計算機技術的發(fā)展,尤其是網(wǎng)絡技術的飛速進步,信息觀念已經(jīng)深入人心。信息科學作為當代社會中的重要一環(huán)在國民經(jīng)濟中起著舉足輕重的作用。從目前看來,依靠電子化手段,加強超市的管理,是各家超市提高其工作效率、增強其業(yè)務競爭力的重要因素。對超市來說,至少有如下幾點益處:1、界面清晰、功能少而實用、

7、操作簡單。2、開發(fā)周期短、維護費用低、軟件更新速度快。3、風格友好化,輕松管理,容易上手,達到一看就懂、一學即會。4、目標系統(tǒng)必須具有可靠性、安全性、可維護性、可移植性等,對于不同的管理人員授予不同的操作權限,具有定期數(shù)據(jù)備份功能。5、以表格的形式輸出信息。6、增加數(shù)據(jù)有效性驗證:即在操作人員因某種原因錯誤的輸入了數(shù)據(jù)時系統(tǒng)會自動提出數(shù)據(jù)錄入有誤并加以提示,這樣方便操作人員輸入的數(shù)據(jù)有效性。7、系統(tǒng)的通用性:此系統(tǒng)為綜合性工業(yè)企業(yè)庫存管理系統(tǒng),里面的數(shù)據(jù)都是從數(shù)據(jù)庫中提出(包括公司名稱、操作人名稱等),不受固定數(shù)據(jù)限制。增強系統(tǒng)的通用性??傊?,現(xiàn)代超市的競爭和發(fā)展,已突破傳統(tǒng)業(yè)務的框架,為了提

8、高超市的業(yè)務競爭能力,擴大客戶群,培育新的利潤增長點,務必大力改良其超市的進、銷、存、管理系統(tǒng),因此建立一個功能齊全、靈活、通用、可靠、安全、統(tǒng)一的超市管理系統(tǒng)成為各超市當前業(yè)務發(fā)展的迫切之需。畢業(yè)設計 第2章 系統(tǒng)設計2系統(tǒng)設計2.1系統(tǒng)目標設計通過該超市管理系統(tǒng),利于計算機的技術,使得進貨,銷售,庫存能夠有利結合起來,產(chǎn)銷銜接,提高超市效率和效益從而達到提高賬戶管理效率的目的。系統(tǒng)開發(fā)的總體任務是使超市人員可以輕松快捷地完成對賬戶管理的任務2.2開發(fā)設計思想本系統(tǒng)開發(fā)設計思想:通過完成這個超市進、銷、存、管理系統(tǒng),實現(xiàn)公司企業(yè)貨物管理的穩(wěn)定性,易操作性,可維護性,安全性等,從而達到提高貨物

9、管理效率的目的??尚行苑治鼍褪菍椖块_發(fā)的可能性和必要性進行分析,避免盲目投資。主要是必要性分析和效益分析,同時還要進一步進行技術可行性分析,投資效益分析,組織管理可行性分析,建立是否存在否定項目的可能性。超市管理系統(tǒng)需要投資費用和未來的運營維護費用,尤其投資費用主要包括設備費用,人員費用,材料費用和其他費用,如由于工作方式改變需要增加的其他開支,通常保證新系統(tǒng)運行的可靠性,要求手工和計算機處理在長時間并存。系統(tǒng)的收益主要通過新系統(tǒng)銷售來實現(xiàn),但有些指標也是難以計算的,例如如下指標:貨物管理中節(jié)省的人力,減輕的勞動強度。降低成本幾其他費用。改進薄弱環(huán)節(jié),提高工作效率。提高數(shù)據(jù)處理的及時性和準確

10、性。其他各種有利方面。2.3開發(fā)和運行環(huán)境選擇開發(fā)工具:visualfoxpro60中文版,運行環(huán)境:windows9x或windows2000。2.4系統(tǒng)功能分析系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成的。本例要完成的功能主要有:(1)信息管理,日常操作,信息查詢,系統(tǒng)管理。(2)商品信息管理。(3)商品進貨管理,商品銷售管理。(4)進貨記錄查詢,商品銷售記錄查詢,庫存記錄查詢。(5)登錄系統(tǒng),修改密碼,關于系統(tǒng),退出系統(tǒng)。2.5系統(tǒng)功能模塊設計在系統(tǒng)功能分析的基礎上,根據(jù)visualfox程序編制的特點,如圖:超市管理系統(tǒng)信息管理日常操作系統(tǒng)管理信息查詢商品信息管理商品進貨管理商品銷

11、售管理庫存信息查詢銷售信息查詢進貨信息查詢重新登錄退出系統(tǒng)修改密碼畢業(yè)設計 第3章 數(shù)據(jù)庫設計3數(shù)據(jù)庫設計在visualfoxpro60中,數(shù)據(jù)庫指的是可以存儲一個或多個表(dbf文件)及數(shù)據(jù)的關系數(shù)據(jù)庫,所謂的關系數(shù)據(jù)庫就是多個表的集合。每個表通過形成一定關系的公共字段與另外的表聯(lián)系。一般來說數(shù)據(jù)庫可按下列步驟進行設計:(1)確定需要的表。著手把信息分成各個獨立的主題,每個主題對應一個表。(2)確定所需字段。確定每個表中要保存哪些信息,一個信息為一個字段。(3)確定表之間的聯(lián)系。3.1數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析是數(shù)據(jù)庫結構設計的第一個階段,是收集基本數(shù)據(jù)、數(shù)據(jù)結構以及數(shù)據(jù)處理的流程。針對本

12、實例,通過對超市進銷存管理的內容和數(shù)據(jù)流程分析,總結如下需求信息:(1)進貨信息中要包含商品信息。(2)銷售信息中要包含商品信息。(3)庫存信息中要包含商品信息。經(jīng)過上述系統(tǒng)功能分析和需求總結,考慮到將來功能上的擴展,設計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結構:商品信息,包含商品編號,商品名稱,商品單位,商品單價,類別,產(chǎn)地及說明等。進貨信息,包含進貨編號,商品編號,進貨單價,進貨數(shù)量,進貨時間,經(jīng)手人,供貨單位等。銷售信息,包含出貨編號,商品編號,出貨單位,出貨數(shù)量,出貨編號,經(jīng)手人及說明等。庫存信息,包含商品編號,庫存說明和說明等。系統(tǒng)設置,包含商品類別等。用戶信息,包含用戶,密碼等。有了上面的數(shù)據(jù)

13、結構、數(shù)據(jù)項和數(shù)據(jù)流程,然后進行下面的數(shù)據(jù)庫設計。3.2數(shù)據(jù)庫概念結構設計根據(jù)上面的設計規(guī)劃本實例中的實體有:商品信息實體,進貨實體,銷售信息實體,庫存信息實體和用戶信息實體。實體與實體之間的關系e-r圖分別如下:3.3數(shù)據(jù)庫邏輯結構設計我們需要將上面的數(shù)據(jù)庫概念結構轉化為visualforpro數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。在上面的實體以及實體之間關系的基礎上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關系。超市進銷存管理系統(tǒng)數(shù)據(jù)庫中各個表格的設計結果幾個表格每個表格表示在數(shù)據(jù)庫中的一個表。這些表為用戶基本信息表?!吧唐沸畔ⅰ北淼淖侄卧O置如下:字段名類型寬度可否為空默認值

14、說明商品編號字符型6否主索引字段商品名稱字符型40可商品單位字符型6否商品單價浮動型6否1位小數(shù)產(chǎn)地字符型40否類別字符型20說明備注型4條形碼字符型14“進貨信息”表的字段設置如下:字段名類型寬度可否為空默認值說明進貨編號字符型10否主索引字段商品編號字符型6否普通索引字段進貨數(shù)量浮動型8否1位小數(shù)銷售單價浮動型8否1位小數(shù)進貨時間日期時間型8否供貨單位字符型40可經(jīng)手人字符型20可單位備注型4“銷售信息”表的字段設置如下:字段名類型寬度可否為空默認值說明銷售編號字符型8否主索引字段商品編號字符型6否普通索引字段銷售數(shù)量浮動型8否1位小數(shù)銷售單價浮動型8否1位小數(shù)銷售時間日期時間型8否接收人

15、字符型20否經(jīng)手人字符型20可說明備注型4“庫存信息”表的字段設置如下:字段名類型寬度可否為空默認值說明商品編號字符型6否主索引字段庫存數(shù)量浮動型81位小數(shù)說明備注型4“用戶信息”表的字段設置如下:字段名類型寬度可否為空默認值說明用戶名字符型20否主索引字段密碼字符型20否1位小數(shù)“系統(tǒng)設置”表的字段設置如下:字段名類型寬度可否為空默認值說明商品類別字符型20否主索引字段3.4數(shù)據(jù)庫結構的實現(xiàn)在需求分析、概念結構設計的繼承上得到數(shù)據(jù)庫的邏輯結構之后,我們就可以在visual foxpro數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結構。實現(xiàn)數(shù)據(jù)庫的邏輯結構的方式是直接使用visual foxpro的項目管理器來實現(xiàn)

16、。下面將以本例中jxcdata數(shù)據(jù)庫為實例,來說明.在visualfoxpro主窗口選擇【文件】【新建】菜單,打開“新建”對話框。在此對話框中的“文件類型”選項組中選中“項目”選項后單擊【新建文件】按鈕,打開“創(chuàng)建”對話框,在此對話框中選擇項目文件的保存位置并輸入項目名稱,單擊【保存】按鈕可保存項目并完成一個visualfoxpro項目的創(chuàng)建。項目創(chuàng)建完成以后即可打開項目管理器,如下圖:新建數(shù)據(jù)庫如圖所示:在項目管理器中選擇data選項卡,在目錄樹中打開jxcdata數(shù)據(jù)庫,選中“本地視圖”項,單擊新建按鈕,在打開的“新建本地視圖”對話框中單擊新建視圖按鈕,即可打開視圖設計器來設計本地視圖。設

17、置好的視圖inview,outview,storeview輸出結果分別如下:畢業(yè)設計 第4章 各個功能模塊的創(chuàng)建4各個功能模塊的創(chuàng)建建立功能模塊的目的在于:一個是使用者能簡單明了地掌握軟件功能,另個是未開發(fā)的人貝也能輕松地進行維護。根據(jù)本軟件的特點,本系統(tǒng)將分為3個功能模塊它們是:信息管理模塊、日常操作模塊、信息查詢模塊。在進入各個功能模塊前,應該給用戶提供一個選擇的界面,即系統(tǒng)的主界面。下面按系統(tǒng)計開發(fā)順序逐一介紹。4.1系統(tǒng)菜單的設計系統(tǒng)主菜單的功能在于引導用戶進入不同的功能模塊。本系統(tǒng)主菜單的界面為簡單起見,設計界面如圖所示。界面的系統(tǒng)菜單又包含三個子菜單,分別為“日常操作”、“信息查詢

18、”、“系統(tǒng)管理”,引導進入個同的功能模塊。本例中的系統(tǒng)主菜單的結構如下表所示:菜單菜單項結果命令信息管理(a)商品信息管理(p)命令doformproadmin日常操作(d)商品進貨管理(i)命令doformiinact_商品操作(o)命令doformoutact信息查詢(s)進貨信息查詢(i)命令doforminseach_銷售信息查詢(o)命令doformoutseach_庫存信息查詢(s)命令doformstoresearch系統(tǒng)管理(m)修改密碼(m)命令doformsetpass_關于系統(tǒng)(a)doabout.prg_退出系統(tǒng)(e)clearevents4.2創(chuàng)建“splash”表單

19、“splash”表單是程序中比較常見的一種界面,一般作為程序的第一個界面顯示給用戶,在該界面中顯示程序的名稱,創(chuàng)建人,版本等信息?!皊plash”表單布局如下所示:“splash”表單中計時器控件time事件代碼為:*移動歡迎使用標簽*當標簽移動到表單最右側時ifthisform.lable14.left=thisform.width*-移動到最左側thisform.lable14.left=thisform.lable14.left+1endif*-使“超市進銷存管理系統(tǒng)”變色*-隨機生成顏色i=tnt(rand()*255)j=tnt(rand()*255)k=tnt(rand()*255

20、)4.3身份驗證界面的設計因為本系統(tǒng)的特殊性,本系統(tǒng)各處會涉及到密碼即身份驗證。如用戶身份驗證等。4.3.1用戶身份驗證界面設計“系統(tǒng)登錄表單”的用戶驗證界面如圖所示。接下來,我們?yōu)楦骺丶顚懯录憫??!跋到y(tǒng)登錄“表單中“確定”按鈕的“click”事件代碼:*-精確比較setexacton*-判斷是否輸入用戶名ifalltrim(thisform.textdser.value)-“”messagebox(“請輸入用戶名”,48,“進銷存管理系統(tǒng)”)thisform.textuser.setfousreturnendif*-獲取輸入的信息user_n=alltrim(thisform.textu

21、ser.value)user_p=alltrim(thisform.textuser.value)*-定義邏輯變量is_user,用于判斷是否為合法用戶localis-uuseris-uuser=.f.*-遍歷用表中所有的記錄*-判斷輸入的用戶名稱和用戶密碼是否存在select用戶信息gotopdowhile.not.eof()*-尋找與輸入的用戶名和密碼匹配的記錄isuser=(user_n=用戶信息.用戶名).and.(user_p=用戶信息.密碼)*-如果找到ifis_userexitelseskipendifenddo*-如果正確ifisuser*-保存登錄用戶ccuruser=all

22、trim(thisform.textuser.value)*-調用主界面doformmainform*-推出當前表單thisform.release*-如果登錄不正確elsemessagebox(“用戶名或用戶密碼不正確!”,0+16,”進銷存管理系統(tǒng)”)thisform.textuser.value=”thisform.textpass.value=”thisform.textuser.setfocusendif*-模糊比較serexactoff“取消”按鈕的”click”事件代碼如下:*-釋放登錄表單thisform.release*-清除事件循環(huán)clearevents*-退出visual

23、foxproquit至此,”系統(tǒng)登錄”表單創(chuàng)建完成。4.3.2創(chuàng)建“修改密碼”表單首先要創(chuàng)建表單界面,在表單中添加3個標簽控件,4個文本框控件,2個按鈕控件,布局如下:然后向“修改密碼”表單中添加“確定”按鈕的“click”事件代碼如下:setexacton*-進入數(shù)據(jù)檢查*-檢查原密碼select用戶信息locateforalltrim(用戶名)=alltrim(thisform.txt用戶名.value);.and.alltrim(密碼)=alltrim(thisform.txt原密碼.value)if.not.found()messagebox(“原密碼錯誤,請重新輸入”,48”進銷存管

24、理系統(tǒng)”)thisform.txt原密碼.setfocusreturnendif*-如果”密碼”欄為空ifempty(alltrim(thisform.txt新密碼.value).and.empty(alltrim(thisform.txt.確認密碼.valre)messagebox(“密碼不能為空”,48,”進銷存管理系統(tǒng)”)thisform.txt新密碼.setfocusreturnendif*-如果兩次密碼不一致ifalltrim(thisform.txt新密碼.value)alltrim(thisform.txt確認密碼.value)messagebox(“密碼與確認密碼不一致”,48

25、,”進銷存管理系統(tǒng)”)thisform.txt新密碼.setfocusreturnendif*-獲取表單中各數(shù)據(jù)項的值sname=alltrim(thisform.txt用戶名.value)spass=alltrim(tihsform.txt新密碼.value)*-確定對話框yn=messagebox(“確定保存”,4+32,”進銷存管理系統(tǒng)”)*-如果確認ifyn=6*-修改密碼update用戶信息set密碼=spasswhere用戶名=snamemessagebox(“密碼修改成功”,64,”進銷存管理系統(tǒng)”)thisform.releaseendifsteexactoff“修改密碼”表單

26、中”取消”按鈕的功能設計是被單擊退出當前表單,該按鈕的”click”時間代碼如下:thisform.rrlrase4.4信息管理模塊設計本模塊由“商品信息管理”功組成,該功能由“商品信息管理”和“輸入查詢條件”表單完成。4.4.1“商品信息管理”表單“商品信息管理”表單界面如下圖:“商品信息管理”表單中的“checkempty”方法代碼如下:*-如果商品信息為空ifeof().and.bof().orreccount()=0thisform.mygroup.cmdtop.enabled=.f.thisform.mygroup.cmdpre.enabled=.f.thisform.mygroup

27、.cmdnext.enabled=.f.thisform.mygroup.cmdbtm.enabled=.f.thisform.mygroup.cmdadd.enabled=.f.thisform.mygroup.cmdedit.enabled=.f.thisform.mygroup.cmddel.enabled=.f.thisform.mygroup.cmdexit.enabled=.f.returnendif*如果“商品消息”表只有一條記錄ifreccount()=1thisform.mygroup.cmdtop.enabled=.f.thisform.mygroup.cmdpre.ena

28、bled=.f.thisform.mygroup.cmdnext.enabled=.f.thisform.mygroup.cmdbtm.enabled=.f.returnendif*如果記錄指針位于第1條記錄并且處于“瀏覽”狀態(tài)ifbof().or.recno()=1.and.thisform.formmode=.f.thisform.mygroup.cmdtop.enabled=.f.thisform.mygroup.cmdpre.enabled=.f.thisform.mygroup.cmdnext.enabled=.t.thisform.mygroup.cmdbtm.enabled=.t

29、.rerurnendif*如果記錄指針位于最后1條并且處于“瀏覽”狀態(tài)ifbof().or.recno()1.and.recno()reccunt()thisform.mygroup.cmdtop.enabled=.t.thisform.mygroup.cmdpre.enabled=.t.thisform.mygroup.cmdnext.enabled=.t.thisform.mygroup.cmdbtm.enabled=.t.rerurnendif“商品信息管理”表單中的“setmode”方法代碼如下*formmode為.f.表示為瀏覽狀態(tài)*formmode為.t.表示為修改狀態(tài)*控制表單中

30、文本框thisform.setall(“readonly”,!formmode,“textbox”)*控制編輯框thisform.edt說明.readonly=!formmode*控制組合框thisform.cmp商品類別.enabled=formmode*控制命令組中的命令按扭thisform.mygrop.cmdsearch,enabled=!formmodethisform.mygrop.cmdadd,enabled=!formmodethisform.mygrop.cmdexit,enabled=!formmode*移動記錄按扭thisform.mygrop.cmdtop,enable

31、d=!formmodethisform.mygrop.cmdpre,enabled=!formmodethisform.mygrop.cmdnext,enabled=!formmodethisform.mygrop.cmdbtm,enabled=!formmode*修改狀態(tài)時ifformmode=.t.thisform.mygroup.cmdedit.caption=”保存”thisform.mygroup.cmddel.caption=”恢復”thisform.mygroup.cmdedit.tooltiotext=”保存對記錄的修改”thisform.mygroup.cmddel.tool

32、tiptext=”s刪除當前記錄”endif因此,如果要使表的單進入“瀏覽”狀態(tài),則只需要使用如下代碼即可。thisform.formmode=.f.thisform.sermodethisform.refresh相應地,如果要使表單進入“修改”狀態(tài),則只需要使用如下代碼即可。thisform.formmode=.thisform.sermodethisform.refresh“mygroup”命令組中的“編輯“按鈕”的“click”事件代碼:*如果是作為“編輯”按扭時ifthis.caption=”編輯”*保存記錄指針位置select商品信息thisform.oldrecord=recno(

33、)*使表單進入“瀏覽”狀態(tài)thisform.formmode=.t.thisform.setmodethisform.refreshreturnendif*如果是作為“保存”按扭時ifthis.caption=”保存”*如果商品標號為空ifempry(alltrm(thisform.txt商品編號.value)messagebox(“商品編號不能為空”,48,“進銷存管理系統(tǒng)”)thisform.txt商品編號.setfocusrerurnendif*如果商品名稱為空ifempty(alltrim(thimform.txt商品名稱.value)messagebox(“商品名稱不能為空”,48,

34、“進銷存管理系統(tǒng)”)thisform.txt商品名稱.serfocusreturnendif*如果商品單位為空ifempty(alltrim(thimform.txt商品單位.value)messagebox(“商品單位不能為空”,48,“進銷存管理系統(tǒng)”)thisform.txt商品單位.serfocusreturnendif*如果商品單位小于或者等于0ifthisform.txt商品單價.value0gothisform.oldrecordendif*回到“瀏覽”狀態(tài)thisform.formmode=.f.thisform.setmodethisform.refreshendifretu

35、rnendif*如果按扭標題為“刪除”ifthisform.caption=”刪除”*確認對話框yn=messagebox(“確認刪除”,4+32,“進銷存管理系統(tǒng)”)如果確認ifyn=6*刪除記錄select商品信息delefpackthisform.checkemptyendifendif“退出”按鈕的“click”事件代碼如下:thisform.release至此,“商品信息管理”表單創(chuàng)建完成。4.4.2“輸入查詢條件”表單在項目管理器中新建一個表單作為“輸入查詢條件”表單,保存為“searchkey”,在表單中添加一個文本框控件,一個組合框控件,兩個標簽控件和兩個按鈕控件。向頁面中添加

36、控件,如圖:輸入查詢條件”表單中的“確定”按鈕的“click”事件代碼:*聲明變量localfindstr,oldrecord,stable*如果沒有選擇查詢字段ifthisform.findlx.value=”messagebox(“沒有選擇查詢字段”,48,”進銷存管理系統(tǒng)”)*如果選擇了字段*模糊比較setexactoffselect商品信息*根據(jù)選項指定查詢條件docasecasethisform.findlx.value=”商品編號”findstr=”+alltrim(thisform.findkey.value)=”$”+”商品編號”casethisform.findlx.valu

37、e=”商品名稱”findstr=”+alltrim(thisform.findkey.value)=”$”+”商品名稱”casethisform.findlx.value=”商品產(chǎn)地”findstr=”+alltrim(thisform.findkey.value)=”$”+”商品產(chǎn)地”casethisform.findlx.value=”商品類別”findstr=”+alltrim(thisform.findkey.value)=”$”+”商品類別”endcase*保存記錄指針位置oldrecord=recno()*設置過濾條件setfilterto&findstrgotop*循環(huán)dowhi

38、le.not.eof()*刷新“商品信息管理”表單preadmin.refresh*將表單最小化thisform.windowstate=1ifmessagebox(“是本筆記錄嗎?”,4+32,“進銷存管理系統(tǒng)”)=6*已找到指定的記錄exitelse*未找到指定的記錄skip*刷新“商品信息管理”表單proadmin.refeshendif*將表單還原thisform.windowstate=0enddo*如果到了表的末尾ifeof()messagebox(“未找到指定的記錄”,48,“進銷存管理系統(tǒng)”)*回到原紀錄gooldrecordendif*清楚過濾條件setfilterto*刷新

39、“商品信息管理”表單proadmin.refresh*退出當前表單thisform.releaseendif“輸入查詢條件”表單中的“取消”按鈕的“click”事件代碼:thisform.release至此,“輸入查詢條件”表單創(chuàng)建完成。4.5日常操作模塊設計“超市進銷存管理系統(tǒng)“中的日常操作模塊包括“商品進貨操作”和“商品出貨”操作功能,分別由“商品進貨操作”表單和“商品出貨”表單來完成。4.5.1“商品進貨操作”表單創(chuàng)建表單界面:添加一個復選框和兩個按鈕控件,將“進貨信息”表,“商品信息”表和“庫存信息表”添加到表單的數(shù)據(jù)環(huán)境中??丶季秩缦拢禾砑印癮utoadd函數(shù)代碼:*作用:使“00

40、0000xx”形式的編號自動加1functionautoadd(ncode)*-獲取字符串長度nlen=len(ncode)*-將字符型轉換為數(shù)值型,即獲取非0部分的數(shù)值ncode=val(ncode)*-非0部分數(shù)字加1ncode=ncode+1*轉換為字符型ncode=alltrim(str(ncode)*獲取轉換后的字符長度nlength=len(ncode)*在數(shù)字之前加上前置“0”nzero=”0000000000”ncode=substr(nzero,1,nlen-nlength)+ncode*返回結果returnncodeendfunc4.5.2“商品出貨操作”表單創(chuàng)建表單界面:

41、在項目管理器中新建一個表單為“商品出貨表單”,命名為:”“outact”,將將“進貨信息”表,“商品信息”表和“庫存信息表”添加到表單的數(shù)據(jù)環(huán)境中,從數(shù)據(jù)環(huán)境中將要在表單中顯示的字段拖到表單中,并做適當調整,然后添加一個復選框控件,兩個按鈕控件,創(chuàng)建好的表單布局如下圖:添加“商品出貨操作”表單的“iniit”事件代碼:*使用當前日期生成進貨編號前6位leftno=substr(alltrim(str(year(date()、3);+alltrim(str(month(date());+alltrim(str(day(date();*_從“出貨信息”中生成進貨編號后4位select出貨信息set

42、orderto出貨編號setfrltertosetfrltertottod(出貨信息.出貨時間)=date()gobottomif出貨信息.出貨編號=”righno=“0000”elserighno=substr(出貨信息.出貨編號、7)endif*-對后4位增1righno=autoadd(rightno)*-完整編號fullno=leftno+rightno*-在表單中顯示thisform.txt出貨編號.value=fullnothisform.txt出貨時間.value=datetime()thisform.txt出貨數(shù)量.value=0thisform.txt出貨單價.value=0

43、thisform.txt經(jīng)手人.value=”thisform.txt接收人.value=”thisform.cmb商品編號.value=”*-刷新表單thisform.refresh添加“商品出貨操作”表單的“確定”按鈕的事件代碼:*-獲取表單中的數(shù)據(jù)outno=alltrim(thisform.txt出貨編號.valuepno=thisform.cmb商品編號.valueoutcount=thisform.txt出貨數(shù)量.valueoutprice=thisform.txt出貨單價.valueouttime=thisform.txt出貨時間.valueoutperson=alltrim(t

44、hisform.txt經(jīng)手人.value.outdanwei=alltrim(thisform.txt接收人.value.outnote=thisform.edt說明.value*-如果商品編號為空ifpno=”messagebox(“商品編號為空或錯誤”,48,”進銷存管理系統(tǒng)”)thisform.cmb商品編號.setfocusreturnendif*-檢查商品編號合法性dimensionrecnum(1)recnum=2selectcount(*)from商品信息where商品編號=pnointoarrayrecnumifrecnum1messagebox(“商品編號錯誤”,48,”進銷

45、存管理系統(tǒng)”)thisform.cmb商品編號.setfocusendif*-如果沒有庫存ifthisform.txt庫存數(shù)量.value=0messagebox(“該商品沒有庫存”,48,”進銷存管理系統(tǒng)”)thisform.cmb商品編號.value=”thisform.cmb商品編號.setfocusreturnendif*-如果出貨數(shù)量小于0或者大于庫存數(shù)量ifoutcount=0messagebox(“出貨數(shù)量錯誤”,48,”進銷存管理系統(tǒng)”)thisform.txt出貨數(shù)量.setfocusreturnendif*-如果進貨單價小于0ifoutprice=0messagebox(“

46、出貨單價錯誤”,48,”進銷存管理系統(tǒng)”)thisform.txt出貨單價.setfocusreturnendif*-如果經(jīng)手人為空ifoutperson=”messagebox(“經(jīng)手人不能為空”,48,”進銷存管理系統(tǒng)”)thisform.txt經(jīng)手人.setfocusreturnendif*-在進貨信息表中插入記錄begintransinsertint出貨信息values(outcount,pno,outcount,outprice,outtime,outdanweioutperson,outnote)*-更新庫存信息表update庫存信息set庫存數(shù)量=庫存數(shù)量-outcountwhe

47、re商品編號=pnoendtrans*-如果選中了復選框ifthisform.check1.value=1reportformoutviewfor出貨編號=thisform.txt出貨編號.valuepreviewendif*-對話框messagebox(“出貨成功”,64,”進銷存管理系統(tǒng)”)*-初始化表單thisform.initthisform.rsfresh“商品出貨操作”表單的“取消”按鈕的事件代碼:thisform.release至此“商品出貨操作”表單創(chuàng)建完成。4.6信息查詢模塊設計“超市進銷存管理系統(tǒng)”中的信息查詢模塊由“進貨信息查詢”,“出貨信息查詢”和“庫存信息查詢”3個功

48、能組成,分別由“進貨記錄查詢”,出貨記錄查詢“,”庫存記錄查詢“3個表單完成。4.6.1創(chuàng)建“進貨信息查詢”表單在項目管理器中創(chuàng)建一個表單作為“進貨信息查詢”表單,保存為“insearch”,將“inview”視圖和“系統(tǒng)設置”表添加到表單的數(shù)據(jù)環(huán)境中。在表單中添加一個表格控件,六個標簽控件,五個文本框控件,一個組合框控件和兩個按鈕控件,如下圖:4.6.2創(chuàng)建“出貨信息查詢”表單“出貨信息查詢”表單用來查詢出貨記錄,該表單提供了按照商品編號,商品名稱,商品類別,經(jīng)手人,接收人和出貨日期等多種查詢方式。在項目管理器中新建一個表單作為“出貨信息查詢”表單,保存為“outsearch”,將“outv

49、iew”視圖和“系統(tǒng)設置”表添加到表單的數(shù)據(jù)環(huán)境中。在表單中添加一個表格控件,一個組合框控件,五個文本框控件,六個標簽控件和兩個命令按鈕控件,創(chuàng)建好的“出貨信息查詢”表單如下圖:添加“出貨信息查詢”表單代碼:*-收集查詢條件searchfiler=”.t.”ifnotempty(alltrim(thisform.txt商品編號.value)searchfiler=searchfiler+”and”+alltrim(thisform.txt商品編號.value)+”s商品編號”endififnotempty(thisform.txt商品名稱.value)searchfiler=searchfiler+”and”+alltrim(thisform.txt商品名稱.value)+”s商品名稱”endififnotempty(alltrim(thisform.cmb商品類別.value)searchfiler=searchfiler+”and”+alltrim(thisform.txt商品類別.value)+”s商品類別”endififnotempty(thisform.txt經(jīng)手人.value)searchfiler=searchfiler+”and”+alltrim(thisform.txt經(jīng)手人.value)+”s經(jīng)手人”endififnotempty(thisform.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論