VFP課程設(shè)計(jì)--小型超市零售管理系統(tǒng)_第1頁
VFP課程設(shè)計(jì)--小型超市零售管理系統(tǒng)_第2頁
VFP課程設(shè)計(jì)--小型超市零售管理系統(tǒng)_第3頁
VFP課程設(shè)計(jì)--小型超市零售管理系統(tǒng)_第4頁
VFP課程設(shè)計(jì)--小型超市零售管理系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、東莞理工學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:FoxPro基礎(chǔ)及應(yīng)用課程設(shè)計(jì)題目:小型超市零售管理系統(tǒng)一、系統(tǒng)需求分析1 進(jìn)貨管理: 根據(jù)銷售情況及庫存情況,自動(dòng)制定進(jìn)貨計(jì)劃(亦可手工制定修改),可以避免盲目進(jìn)貨造成商品積壓。 按計(jì)劃單有選擇性地進(jìn)行自動(dòng)入庫登記。 綜合查詢打印計(jì)劃進(jìn)貨與入庫記錄及金額。2 銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細(xì)記錄、各地收銀員收銀記錄以及交結(jié)帳情況等。 按多種方式統(tǒng)計(jì)生成銷售排行榜,靈活察看和打印商品銷售日、月、年報(bào)表。3 庫存管理: 綜合查詢庫存明細(xì)記錄。 庫存狀態(tài)自動(dòng)告警提示。如庫存過剩、少貨、缺貨等。軟件為您預(yù)警,避免庫存商

2、品積壓損失和缺貨。 庫存自動(dòng)盤點(diǎn)計(jì)算。4 人員管理: 員工、會(huì)員、供貨商、廠商等基本信息登記管理。 員工操作權(quán)限管理。 客戶銷售權(quán)限管理。二、系統(tǒng)設(shè)計(jì)2.1、系統(tǒng)功能模塊設(shè)計(jì)該系統(tǒng)應(yīng)包括如下幾個(gè)功能模塊,功能模塊結(jié)構(gòu)如下圖所示1)輸入單據(jù):出庫、入庫、產(chǎn)成品清單2)查詢:出庫查詢、入庫查詢、產(chǎn)成品查詢3)銷售:銷售費(fèi)用、銷售退款、進(jìn)/退貨4)打印報(bào)表:入庫報(bào)表、出庫報(bào)表、產(chǎn)成品清單報(bào)表、銷售退款單報(bào)表進(jìn)/退貨報(bào)表5)人員管理:員工、會(huì)員、供貨商、廠商等基本信息登記管理。 員工操作權(quán)限管理。 客戶銷售權(quán)限管理。5 2.2、數(shù)據(jù)庫設(shè)計(jì)3、數(shù)據(jù)庫設(shè)計(jì)本應(yīng)用系統(tǒng)的數(shù)據(jù)庫主要包括以下基本表,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

3、如下。表1:廠商信息表字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注廠商編號(hào) 文本 20 主鍵廠商名稱 文本 50 廠商地址 文本 50 聯(lián)系電話 數(shù)字 20 法人地表 文本 20 表2:員工信息表字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注員工編號(hào) 文本 20 主鍵姓 名 文本 20 性 別 文本 20 年 齡 數(shù)字 8 身 高 數(shù)字 8 政治面貌 文本 20 家庭住址 文本 50 所屬部門 文本 20 聘用日期 日期 16 編制日期 日期 16 表3:用戶表字段名 數(shù)據(jù)類型 長度(字節(jié) 備注用戶名 文本 20 密碼 數(shù)字 8 表4:銷售單字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注單據(jù)編號(hào) 文本 20 主鍵商品型號(hào)

4、 文本 20 計(jì)量單位 文本 8 單價(jià) 貨幣 16 數(shù)量 數(shù)字 16 金額 貨幣 16 生產(chǎn)廠商 文本 50 外鍵銷售日期 日期 16 營業(yè)員 文本 20 外鍵表5:入庫單字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注入庫編號(hào) 文本 20 主鍵 商品型號(hào) 文本 20 計(jì)量單位 文本 8 單價(jià) 貨幣 16 數(shù)量 數(shù)字 16 金額 貨幣 16 生產(chǎn)廠商 文本 50 外鍵出廠日期 日期 16 倉管員 文本 20 外鍵表6:進(jìn)貨單字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注單據(jù)編號(hào) 文本 20 主鍵廠商編號(hào) 文本 20 外鍵進(jìn)貨廠商 文本 50 商品型號(hào) 文本 20 計(jì)量單位 文本 8 單價(jià) 貨幣 16 數(shù)量 數(shù)字 1

5、6 金額 貨幣 16 進(jìn)貨日期 日期 16 采購員 文本 20 外鍵備注 備注 20 三、系統(tǒng)實(shí)現(xiàn)各模塊界面設(shè)計(jì)與主要模塊的程序代碼一、輸入板塊 (周慧立、王亞、李倩恩)1、表單(輸入入庫單據(jù))實(shí)現(xiàn)功能:可通過這個(gè)表單將商品的相關(guān)信息輸入,例如編號(hào)、單價(jià)、數(shù)量等, 起到一個(gè)存儲(chǔ)信息的作用,方便以后查詢、總結(jié)等工作需要。實(shí)現(xiàn)過程:實(shí)現(xiàn)過程:1 單擊“文件”下拉菜單,再點(diǎn)擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設(shè)計(jì)。設(shè)計(jì)界面如下:輸入入庫單據(jù)的設(shè)計(jì)的基本結(jié)構(gòu)如下圖:“輸入”按鈕代碼messagebox("請(qǐng)輸入完整信息"returnendifinse

6、rt into 表入庫單;(入庫編號(hào),商品型號(hào),計(jì)量單位,單價(jià),金額,生產(chǎn)廠商,倉管員,數(shù)量,出廠日期 value(a,b,c,d,e,f,g,h,iz=0scan for 商品庫存表.商品型號(hào)=bz=1endscanuseif z=1update 商品庫存表 set 數(shù)量=數(shù)量+h where 商品型號(hào)=bmessagebox("輸入入庫單據(jù)成功!",64,"系統(tǒng)提示"returnelseinsert into 表商品庫存表;(商品型號(hào),數(shù)量 value (b,hinsert into 表商品資料單;(商品型號(hào) value (bmessagebox(&

7、quot;你所輸入的是新商品,請(qǐng)輸入商品名稱"use do form 表單輸入新商品名returnendif“取消”按鈕代碼Thisform.release2、表單(輸入出庫單據(jù))(蕭巧誼、李喜仙、梁思音)實(shí)現(xiàn)功能:可通過這個(gè)表單將出庫的商品相關(guān)信息輸入,例如編號(hào)、單價(jià)、數(shù)量等, 起到一個(gè)存儲(chǔ)信息的作用,方便以后查詢,總結(jié)等工作需要。實(shí)現(xiàn)過程:實(shí)現(xiàn)過程:1 單擊“文件”下拉菜單,再點(diǎn)擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設(shè)計(jì)。設(shè)計(jì)界面如下:2 表單輸入入庫單據(jù)的設(shè)計(jì)的基本結(jié)構(gòu)如下圖:“輸入”按鈕代碼messagebox("請(qǐng)輸入完整信息&quo

8、t;returnendifz=0x=0use 表商品庫存表scan for 商品庫存表.商品型號(hào)=bz=1x=數(shù)量-hendscanif z=0messagebox("庫存不足,無法出庫!"elseif x<0messagebox("庫存不足,無法出庫!"elseupdate 表商品庫存表 set 數(shù)量=數(shù)量-h where 商品型號(hào)=binsert into 出庫單;(出庫編號(hào),商品型號(hào),計(jì)量單位,單價(jià),金額,生產(chǎn)廠商,倉管員,數(shù)量,出庫日期 value(a,b,c,d,e,f,g,h,imessagebox("輸入出庫單據(jù)成功!&qu

9、ot;,64,"系統(tǒng)提示"endifendif取消按鈕代碼thisform.release3、表單(輸入新商品名稱)(巫秋金、江映霞)實(shí)現(xiàn)功能:可通過這個(gè)表單輸入新商品名,添加到數(shù)據(jù)庫中,方便以后相關(guān)工作。1 單擊“文件”下拉菜單,再點(diǎn)擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設(shè)計(jì)。設(shè)計(jì)界面如下:2 表單輸入入庫單據(jù)的設(shè)計(jì)的基本結(jié)構(gòu)如下圖:確認(rèn)按鈕代碼update F:vf死都要做出來表商品庫存表 set 商品名稱=a where 商品型號(hào)=bupdate F:vf死都要做出來表商品資料單 set 商品名稱=a where 商品型號(hào)=bmessag

10、ebox("輸入入庫單據(jù)成功!",64,"系統(tǒng)提示"thisform.release取消按鈕代碼thisform.release二、編輯與整理 (,周慧立、巫秋金、江映霞1、整理和設(shè)計(jì)整個(gè)小組的設(shè)計(jì)書2、美化表單(14個(gè)表單)具體工作:將整個(gè)項(xiàng)目所有表單進(jìn)行編輯,插入背景圖片,改變字體顏色大小,調(diào)整版面等。是表單看起來更加美觀。表單美化效果如下:三、數(shù)據(jù)查詢模塊1、項(xiàng)目詳細(xì)設(shè)計(jì)查詢模塊:出庫查詢、入庫查詢、庫存查詢、商品資料查詢例:入庫查詢表單2、界面操作說明:按鈕控制策略:組合框內(nèi)有9個(gè)選項(xiàng),編輯框?yàn)榭眨樵儼粹o及取消按鈕一直為亮。查詢處理過程:此查詢

11、為模糊查詢,按下組合框內(nèi)的選項(xiàng),在編輯框內(nèi)輸入內(nèi)容,點(diǎn)擊查詢,屏幕上將顯示一系列與輸入內(nèi)容相關(guān)的記錄。取消后將返回原界面。注意:出廠時(shí)間的輸入需要符合格式才能正確查詢,否則將出現(xiàn)運(yùn)行錯(cuò)誤的提醒。(王亞編寫)3、項(xiàng)目具體實(shí)現(xiàn)例:入庫查詢表單本表單用于查詢?nèi)霂焐唐非闆r。在組合框中選擇要查詢的條件,如入庫編號(hào)、商品型號(hào)等,在文本框中輸入信息,按查詢按鈕,即可顯示出相關(guān)信息。如若輸入信息有誤則會(huì)有信息“數(shù)據(jù)庫中不存在您所要查詢的記錄”提示。而按取消鍵則返回到主菜單。在表單上設(shè)計(jì)如下事件過程:1、新建表單form1,并將其caption屬性值設(shè)為“入庫查詢”,width屬性值設(shè)置為290,height屬

12、性值設(shè)置為175,AutoCenter屬性值設(shè)置為.t.,并將其保存為“入庫查詢.scx”。2、向表單添加一個(gè)grid控件,并將其width屬性值設(shè)置為290,height屬性值設(shè)置為100。3、在grid控件的下方添加一個(gè)組合框控件Combo1和一個(gè)文本框控件, 并將組合框控件的RowSourceType屬性值設(shè)置為“8-結(jié)構(gòu)”,RowSource屬性值設(shè)置為“入庫單”。4、在文本框的右側(cè)再添加兩個(gè)命令按鈕command1和command2,并將command1和command2的caption屬性值分別設(shè)置為“查找”和“取消”。5、對(duì)表單上各控件的位置進(jìn)行適當(dāng)?shù)恼{(diào)整,調(diào)整后的表單設(shè)計(jì)器如圖

13、1重點(diǎn):(1)“查找”按鈕(command1 的click事件如下 :go toplocal c as integerif a="入庫編號(hào)"Select * from 入庫單 where 入庫編號(hào) like b +"%" into cursor bassele basc=reccount(if c<1 (圖“查詢”按鈕(command2)的click事件如下:use messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示" returnendifendifif a="商品型號(hào)&q

14、uot;Select * from 入庫單 where 商品型號(hào) like b +"%" into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="計(jì)量單位"Select * from 入庫單 where 計(jì)量單位 like b +"%" into cursor bassele basc=reccount(if c<1usemessage

15、box("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="生產(chǎn)廠商"Select * from 入庫單 where 生產(chǎn)廠商 like b +"%" into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="倉管員"Select * from 入庫單 whe

16、re 倉管員 like b +"%" into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="單價(jià)"Select * from 入庫單 where 單價(jià) =b into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示&quo

17、t;returnendifendifif a="金額"Select * from 入庫單 where 金額 =b into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="數(shù)量"Select * from 入庫單 where 數(shù)量 =b into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)

18、據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifif a="出廠日期"Select * from 入庫單 where 出廠日期 =b into cursor bassele basc=reccount(if c<1usemessagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"returnendifendifwith thisform.grd入庫單.width=588.height=200.left=10.recordsource="ba

19、s".deletemark=.f.visible=.t.readonly=.t.ColumnCount=9.Column1.width=80.Column2.width=80.Column3.width=80.Column4.width=80.Column5.width=80.Column6.width=80.Column7.width=80.Column8.width=80.Column9.width=80endwithelsemessagebox("請(qǐng)輸入要查找的內(nèi)容!",16,"系統(tǒng)提示"endif“取消”按鈕(command2)的cli

20、ck事件如下:Thisform.release下圖為查詢模塊其余的出庫查詢、庫存查詢和商品資料查詢的界面設(shè)計(jì),其制作過程與入庫查詢相似。 (周慧立編寫)四、數(shù)據(jù)修改模塊1、項(xiàng)目詳細(xì)設(shè)計(jì)修改模塊:出庫修改、入庫修改、商品資料修改例:入庫修改2、界面操作說明:按鈕控制策略:查找方式組合框共有9個(gè)選項(xiàng),查找內(nèi)容為空,查找、修改、取消按鈕一直為亮。修改處理過程:需要修改時(shí),在組合框中選擇要查找的條件,在文本框中輸入相應(yīng)信息(輸入信息要正確,否則系統(tǒng)會(huì)出現(xiàn)錯(cuò)誤提示),按按鈕查找,即下面的文本框中會(huì)出現(xiàn)所要查找的記錄的詳細(xì)信息(其中入庫編號(hào)是固定的)。對(duì)相應(yīng)信息進(jìn)行修改后,按按鈕修改,即可保存修改好的信息

21、。(周慧立編寫)3、項(xiàng)目具體實(shí)現(xiàn)例:入庫修改本表單用于對(duì)入庫商品的相關(guān)信息進(jìn)行修改。在組合框中選擇要查找的條件,在文本框中輸入相應(yīng)信息(輸入信息要正確,否則系統(tǒng)會(huì)出現(xiàn)錯(cuò)誤提示),按按鈕查找,即下面的文本框中會(huì)出現(xiàn)所要查找的記錄的詳細(xì)信息(其中入庫編號(hào)是固定的)。對(duì)相應(yīng)信息進(jìn)行修改后,按按鈕修改,即可保存修改好的信息。按取消按鈕則返回主菜單。本表單使用的數(shù)據(jù)環(huán)境為入庫單和廠商信息表。在表單上設(shè)計(jì)如下事件過程:1、新建表單form1,并將其caption屬性設(shè)置為“入庫修改”,width屬性值設(shè)為290,height屬性值設(shè)為226,AutoCenter屬性值設(shè)為.t.,并將其保存為“入庫修改.s

22、cx”。2、向表單添加一個(gè)grid控件,將其readonly屬性設(shè)置為.t.,其RecordSourceType值采用默認(rèn)的“1-別名”,在表單設(shè)計(jì)器中將其寬和高粗略調(diào)小一些即可,具體屬性值我們將在表單的init事件代碼中對(duì)其進(jìn)行設(shè)置。3、在grid控件下方添加兩個(gè)Label控件,使其排成一行,并將其caption屬性依次設(shè)為“請(qǐng)選擇查找方式”和“請(qǐng)輸入要查找的內(nèi)容”。4、在label控件下方添加一個(gè)組合框控件Combo1及一個(gè)文本框控件Text1,文本框控件的屬性值采用默認(rèn)即可,組合框控件Combo1的RowSourceType屬性值設(shè)置為“1-值”,RowSource屬性值設(shè)置為“入庫編號(hào)

23、、商品型號(hào)、計(jì)量單位、單價(jià)、數(shù)量、金額、生產(chǎn)廠商、生產(chǎn)日期和倉管員”,這樣在運(yùn)行時(shí)我們可以在該組合框中選擇要查詢的字段。5、在表單上添加3個(gè)命令按鈕command1 command2和command3,將其caption屬性依次設(shè)為“查找”、“修改”和“取消“。6、在命令按鈕下方添加9個(gè)label控件,將這9個(gè)label控件排成兩行,并將其caption屬性依次設(shè)置為“入庫編號(hào)”、“商品型號(hào)”和“計(jì)量單位”等等。7、在這兩行l(wèi)abel控件下方添加9個(gè)文本框控件,屬性值采用默認(rèn),并把這9個(gè)文本框排成兩行。8、調(diào)整表單上各個(gè)控件的位置,調(diào)整后的表單設(shè)計(jì)器如圖2:重點(diǎn):“查找”按鈕(command1

24、的click事件如下:go topc=.f.if a="入庫編號(hào)"locate for 入庫編號(hào)=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelse (圖2) c=.t.endifendifif a="商品型號(hào)"locate for 商品型號(hào)=b if eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示" go topreturnelsec=.t.endifendifif

25、 a="計(jì)量單位"locate for 計(jì)量單位=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="單價(jià)"locate for 單價(jià)=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="數(shù)量"locate for 數(shù)量=bif e

26、of(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="金額"locate for 金額=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="生產(chǎn)廠商"locate for 生產(chǎn)廠商=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄&

27、quot;,16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="出廠日期"locate for 出廠日期=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topreturnelsec=.t.endifendifif a="倉管員"locate for 倉管員=bif eof(messagebox("數(shù)據(jù)庫中不存在您所要查詢的記錄",16,"系統(tǒng)提示"go topret

28、urnelsec=.t.endifendifif cgo recno(this.enabled=.f.endifelsemessagebox("請(qǐng)輸入要查找的內(nèi)容!",16,"系統(tǒng)提示"endifthisform.refresh“修改”按鈕的click的事件如下:“取消”按鈕的click的事件如下:thisform.release下圖為修改模塊的其余的出庫修改和商品資料修改的界面設(shè)計(jì),其制作過程與入庫修改的制作過程相似。(周慧立編寫)銷售部分部分?jǐn)?shù)據(jù)庫設(shè)計(jì)表 銷售單字段名數(shù)據(jù)類型長度(字節(jié))備注單據(jù)編號(hào)文本20主鍵商品型號(hào)文本20計(jì)量單位文本8單價(jià)貨幣16數(shù)量數(shù)字16金額貨幣16生產(chǎn)廠商文本50外鍵銷售日期日期16營業(yè)員文本20外鍵表 退貨單字段名數(shù)據(jù)類型長度(字節(jié))備注單據(jù)編號(hào)文本20主鍵商品型號(hào)文本20計(jì)量單位文本8單價(jià)貨幣8數(shù)量數(shù)字16金額貨幣16退貨日期日期16五、銷售數(shù)據(jù)模塊1、表單 銷售情況記錄表實(shí)現(xiàn)功能: 商品正常銷售管理。銷售情況的明細(xì)記錄、各地收銀員收銀記錄以及交結(jié)帳情況等,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫添加銷售記錄 。實(shí)現(xiàn)過程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論