• 案例庫
    您當前的位置: 首頁>案例庫

    綜合案例六
    小型超市零售管理系統(tǒng)

    發(fā)布時間: 2019-01-16      信息來源:       閱讀次數(shù):

    綜合案例六  小型超市零售管理系統(tǒng)

    【實驗目的與要求】  

    1.熟練使用VFP的操作環(huán)境

    2.熟練使用項目管理器管理各種文件

    3.掌握數(shù)據(jù)庫的設計方法和步驟

    4.熟練掌握數(shù)據(jù)庫表及其表之間關(guān)系的創(chuàng)建與使用

    5.掌握查詢與視圖的創(chuàng)建與使用

    6.掌握程序設計的基本方法

    7.掌握表單及其表單中各種控件的設計與使用

    8.掌握菜單的創(chuàng)建和使用

    【系統(tǒng)功能模塊】

    1) 進貨管理: 根據(jù)銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢打印計劃進貨與入庫記錄及金額。

    2) 銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結(jié)帳情況等。 按多種方式統(tǒng)計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表。

    3) 庫存管理: 綜合查詢庫存明細記錄。 庫存狀態(tài)自動告警提示。如庫存過剩、少貨、缺貨等。軟件為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。

    4) 人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作權(quán)限管理。 客戶銷售權(quán)限管理。

    /xcxxgc_jpkc/upload/images/2019/1/1610720818.png

    【功能模塊說明】

    1)輸入單據(jù):出庫、入庫、產(chǎn)成品清單

    2)查詢:出庫查詢、入庫查詢、產(chǎn)成品查詢

    3)銷售:銷售費用、銷售退款、進/退貨

    4)打印報表:入庫報表、出庫報表、產(chǎn)成品清單報表、銷售退款單報表進/退貨報表

    5)人員管理:員工、會員、供貨商、廠商等基本信息登記管理。 員工操作權(quán)限管理??蛻翡N售權(quán)限管理。

    【實驗內(nèi)容】

    1、數(shù)據(jù)庫設計

    本應用系統(tǒng)的數(shù)據(jù)庫主要包括以下基本表,數(shù)據(jù)結(jié)構(gòu)設計如下。

         1:廠商信息表

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         廠商編號 文本 20 主鍵

         廠商名稱 文本 50  

         廠商地址 文本 50  

         聯(lián)系電話 數(shù)字 20  

         法人地表 文本 20  

         

         2:員工信息表

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         員工編號 文本 20 主鍵

          文本 20  

          文本 20  

          數(shù)字 8  

          數(shù)字 8  

         政治面貌 文本 20  

         家庭住址 文本 50  

         所屬部門 文本 20  

         聘用日期 日期 16  

         編制日期 日期 16  

         3:用戶表

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         用戶名 文本 20  

         密碼 數(shù)字 8  

         4:銷售單

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         單據(jù)編號 文本 20 主鍵

         商品型號 文本 20  

         計量單位 文本 8  

         單價 貨幣 16  

         數(shù)量 數(shù)字 16  

         金額 貨幣 16  

         生產(chǎn)廠商 文本 50 外鍵

         銷售日期 日期 16  

         營業(yè)員 文本 20 外鍵

           

         5:入庫單

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         入庫編號 文本 20 主鍵

         商品型號 文本 20  

         計量單位 文本 8  

         單價 貨幣 16  

         數(shù)量 數(shù)字 16  

         金額 貨幣 16  

         生產(chǎn)廠商 文本 50 外鍵

         出廠日期 日期 16  

         倉管員 文本 20 外鍵

         

         6:進貨單

         字段名 數(shù)據(jù)類型 長度(字節(jié)) 備注

         單據(jù)編號 文本 20 主鍵

         廠商編號 文本 20 外鍵

         進貨廠商 文本 50  

         商品型號 文本 20  

         計量單位 文本 8  

         單價 貨幣 16  

         數(shù)量 數(shù)字 16  

         金額 貨幣 16  

         進貨日期 日期 16  

         采購員 文本 20 外鍵

         備注 備注 20  

    各模塊界面設計與主要模塊的程序代碼

    一、輸入板塊  

      1、表單(輸入入庫單據(jù))

    實現(xiàn)功能:可通過這個表單將商品的相關(guān)信息輸入,例如編號、單價、數(shù)量等,  起到一個存儲信息的作用,方便以后查詢、總結(jié)等工作需要。

    實現(xiàn)過程:實現(xiàn)過程:

    單擊“文件”下拉菜單,再點擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設計。

    /xcxxgc_jpkc/upload/images/2019/1/161072152.jpg/xcxxgc_jpkc/upload/images/2019/1/1610721192.jpg

    設計界面如下:

    ②輸入入庫單據(jù)的設計的基本結(jié)構(gòu)如下圖:

    /xcxxgc_jpkc/upload/images/2019/1/1610721348.png

    輸入按鈕代碼

    e=ntom(val(alltrim(thisform.text5.value)))

    f=alltrim(thisform.Text6.value)

    g=alltrim(thisform.text7.value)

    h=val(alltrim(thisform.text8.value))

    i=ctod(alltrim(thisform.Text9.value))

    if empty(a).or.empty(b).or.empty(c).or.empty(d).or.empty(e).or.empty(f).or.empty(g).or.empty(h).or.empty(i)

                  messagebox('請輸入完整信息')

                  return

    endif

    insert into 入庫單;

    (入庫編號,商品型號,計量單位,單價,金額,生產(chǎn)廠商,倉管員,數(shù)量,出廠日期) value(a,b,c,d,e,f,g,h,i)

    z=0

    scan for 商品庫存表.商品型號=b

                   z=1

    endscan

    use

    if z=1

                  update 商品庫存表 set 數(shù)量=數(shù)量+h where 商品型號=b

                  messagebox('輸入入庫單據(jù)成功!',64,'系統(tǒng)提示')

                  return

    else

                  insert into 商品庫存表;

                  (商品型號,數(shù)量) value (b,h)

                  insert into 商品資料單;

                  (商品型號) value (b)

                  messagebox('你所輸入的是新商品,請輸入商品名稱')

                  use

                  do form 表單輸入新商品名

                  return

    endif

    取消按鈕代碼

    C:UserspcAppDataLocalTempmsohtmlclip1clip_image003.jpgThisform.release

    2、表單(輸入出庫單據(jù))蕭巧誼、李喜仙、梁思音

    實現(xiàn)功能:可通過這個表單將出庫的商品相關(guān)信息輸入,例如編號、單價、數(shù)量等,  起到一個存儲信息的作用,方便以后查詢,總結(jié)等工作需要。

    實現(xiàn)過程:實現(xiàn)過程:

    單擊“文件”下拉菜單,再點擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設計。

    /xcxxgc_jpkc/upload/images/2019/1/1610722128.jpg/xcxxgc_jpkc/upload/images/2019/1/1610722222.jpg

    設計界面如下:

    表單輸入入庫單據(jù)的設計的基本結(jié)構(gòu)如下圖:

    /xcxxgc_jpkc/upload/images/2019/1/1610722378.png

    “輸入”按鈕代碼

    a=alltrim(thisform.text1.value)

    b=alltrim(thisform.Text2.value)

    c=alltrim(thisform.text3.value)

    d=ntom(val(alltrim(thisform.Text4.value)))

    e=ntom(val(alltrim(thisform.text5.value)))

    f=alltrim(thisform.Text6.value)

    g=alltrim(thisform.text7.value)

    h=val(alltrim(thisform.text8.value))

    i=ctod(alltrim(thisform.Text9.value))

    if empty(a).or.empty(b).or.empty(c).or.empty(d).or.empty(e).or.empty(f).or.empty(g).or.empty(h).or.empty(i)

      messagebox('請輸入完整信息')

      return

    endif

    z=0

    x=0

    use 表¥商品庫存表

    scan for 商品庫存表.商品型號=b

    z=1

    x=數(shù)量-h

    endscan

    if z=0

    messagebox('庫存不足,無法出庫!')

    else

    if x<0

        messagebox('庫存不足,無法出庫!')

        else

        update 表¥商品庫存表 set 數(shù)量=數(shù)量-h where 商品型號=b

        insert into 出庫單;

       (出庫編號,商品型號,計量單位,單價,金額,生產(chǎn)廠商,倉管員,數(shù)量,出庫日期) value(a,b,c,d,e,f,g,h,i)

        messagebox('輸入出庫單據(jù)成功!',64,'系統(tǒng)提示')

    endif

    endif

    取消按鈕代碼

    thisform.release

    3、表單(輸入新商品名稱)巫秋金、江映霞

    實現(xiàn)功能:可通過這個表單輸入新商品名,添加到數(shù)據(jù)庫中,方便以后相關(guān)工作。

    單擊“文件”下拉菜單,再點擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設計。

    /xcxxgc_jpkc/upload/images/2019/1/161072364.jpg/xcxxgc_jpkc/upload/images/2019/1/1610723158.jpg

    設計界面如下:

    表單輸入入庫單據(jù)的設計的基本結(jié)構(gòu)如下圖:

    /xcxxgc_jpkc/upload/images/2019/1/1610723298.png

    確認按鈕代碼

    a=alltrim(thisform.text1.value)

    update F:¥vf¥死都要做出來商品庫存表 set 商品名稱=a where 商品型號=b

    update F:¥vf¥死都要做出來商品資料單 set 商品名稱=a where 商品型號=b

    messagebox('輸入入庫單據(jù)成功!',64,'系統(tǒng)提示')

    thisform.release

    取消按鈕代碼

    thisform.release

    二、數(shù)據(jù)查詢模塊

    1、項目詳細設計

    查詢模塊:出庫查詢、入庫查詢、庫存查詢、商品資料查詢

    例:入庫查詢表單

    /xcxxgc_jpkc/upload/images/2019/1/1610723486.jpg

    2、界面操作說明:

    按鈕控制策略:組合框內(nèi)有9個選項,編輯框為空,查詢按鈕及取消按鈕一直為亮。

    查詢處理過程:此查詢?yōu)槟:樵?,按下組合框內(nèi)的選項,在編輯框內(nèi)輸入內(nèi)容,點擊查詢,屏幕上將顯示一系列與輸入內(nèi)容相關(guān)的記錄。取消后將返回原界面。注意:出廠時間的輸入需要符合格式才能正確查詢,否則將出現(xiàn)運行錯誤的提醒。(王亞編寫)

                                                       

    3、項目具體實現(xiàn)

    例:入庫查詢表單

    本表單用于查詢?nèi)霂焐唐非闆r。在組合框中選擇要查詢的條件,如入庫編號、商品型號等,在文本框中輸入信息,按查詢按鈕,即可顯示出相關(guān)信息。如若輸入信息有誤則會有信息數(shù)據(jù)庫中不存在您所要查詢的記錄提示。而按取消鍵則返回到主菜單。

    在表單上設計如下事件過程:

    1、新建表單form1,并將其caption屬性值設為入庫查詢,width屬性值設置為290,height屬性值設置為175,AutoCenter屬性值設置為.t.,并將其保存為入庫查詢.scx。

    2、向表單添加一個grid控件,并將其width屬性值設置為290,height屬性值設置為100。

    3、在grid控件的下方添加一個組合框控件Combo1和一個文本框控件,  并將組合框控件的RowSourceType屬性值設置為8-結(jié)構(gòu)RowSource屬性值設置為入庫單。

    4、在文本框的右側(cè)再添加兩個命令按鈕command1command2,并將command1command2caption屬性值分別設置為查找取消

    5、對表單上各控件的位置進行適當?shù)恼{(diào)整,調(diào)整后的表單設計器如圖1

    /xcxxgc_jpkc/upload/images/2019/1/1610723688.jpg重點:(1查找按鈕(command1)

    click事件如下          

    if empty(thisform.Text1.value)=.f.

    go top

    a=thisform.Combo1.value

    b=alltrim(thisform.Text1.value)

    local c as integer

     if a='入庫編號'

        Select * from 入庫單 where 入庫

    編號 like b +'%' into cursor bas

        sele bas

        c=reccount()

        if c<1                                                      

    ①“查詢按鈕(command2)的click事件如下:

          use                                                                            

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

      endif

      if a='商品型號'

        Select * from 入庫單 where 商品型號 like b +'%' into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

      endif

      if a='計量單位'

        Select * from 入庫單 where 計量單位 like b +'%' into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

    endif

         if a='生產(chǎn)廠商'

        Select * from 入庫單 where 生產(chǎn)廠商 like b +'%' into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

       endif

       if a='倉管員'

        Select * from 入庫單 where 倉管員 like b +'%' into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

       endif

      if a='單價'

        b=ntom(val(alltrim(thisform.text1.value)))

        Select * from 入庫單 where 單價 =b into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

       endif

       if a='金額'

        b=ntom(val(alltrim(thisform.text1.value)))

        Select * from 入庫單 where 金額 =b into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

       endif

        if a='數(shù)量'

        b=val(alltrim(thisform.text1.value))

        Select * from 入庫單 where 數(shù)量 =b into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

      endif

       if a='出廠日期'

        b=ctod(alltrim(thisform.text1.value))

        Select * from 入庫單 where 出廠日期 =b into cursor bas

        sele bas

        c=reccount()

        if c<1

          use

          messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

          thisform.command2.click()

          return

        endif

      endif

      with thisform.grd入庫單

       .width=588

       .height=200

       .left=10

       .recordsource='bas'

       .deletemark=.f.

       .visible=.t.

       .readonly=.t.

       .ColumnCount=9

       .Column1.Header1.Caption='入庫編號'

       .Column1.Header1.BackColor=RGB(255,255,190)

       .Column2.Header1.BackColor=RGB(255,255,190)

       .Column2.Header1.Caption='商品型號'

       .Column3.Header1.BackColor=RGB(255,255,190)

       .Column3.Header1.Caption='計量單位'

       .Column4.Header1.BackColor=RGB(255,255,190)

       .Column4.Header1.Caption='單價'

       .Column5.Header1.BackColor=RGB(255,255,190)

       .Column5.Header1.Caption='數(shù)量'

       .Column6.Header1.BackColor=RGB(255,255,190)

       .Column6.Header1.Caption='金額'

       .Column7.Header1.BackColor=RGB(255,255,190)

       .Column7.Header1.Caption='生產(chǎn)廠商'

       .Column8.Header1.BackColor=RGB(255,255,190)

       .Column8.Header1.Caption='出廠日期'

       .Column9.Header1.BackColor=RGB(255,255,190)

       .Column9.Header1.Caption='倉管員'

       .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=80

     endwith

     thisform.grd入庫單.Setall('DynamicBackColor','RGB(224,225,255)','Column')

     thisform.grd入庫單.setfocus

    else

     messagebox('請輸入要查找的內(nèi)容!',16,'系統(tǒng)提示')

     thisform.Text1.value=''

     thisform.Text1.Setfocus

    endif

    ②“取消按鈕(command2)的click事件如下:

    Thisform.release

    下圖為查詢模塊其余的出庫查詢、庫存查詢和商品資料查詢的界面設計,其制作過程與入庫查詢相似。                                            

    /xcxxgc_jpkc/upload/images/2019/1/1610723876.jpg

    /xcxxgc_jpkc/upload/images/2019/1/1610724110.jpg

    /xcxxgc_jpkc/upload/images/2019/1/1610724312.jpg

                                                     

    三、數(shù)據(jù)修改模塊

    1、項目詳細設計

    修改模塊:出庫修改、入庫修改、商品資料修改

    例:入庫修改

    /xcxxgc_jpkc/upload/images/2019/1/1610724500.jpg

    2、界面操作說明:

    按鈕控制策略:查找方式組合框共有9個選項,查找內(nèi)容為空,查找、修改、取消按鈕一直為亮。

    修改處理過程:需要修改時,在組合框中選擇要查找的條件,在文本框中輸入相應信息(輸入信息要正確,否則系統(tǒng)會出現(xiàn)錯誤提示),按按鈕查找,即下面的文本框中會出現(xiàn)所要查找的記錄的詳細信息(其中入庫編號是固定的)。對相應信息進行修改后,按按鈕修改,即可保存修改好的信息。

                                                   

    3、項目具體實現(xiàn)

    例:入庫修改

    本表單用于對入庫商品的相關(guān)信息進行修改。在組合框中選擇要查找的條件,在文本框中輸入相應信息(輸入信息要正確,否則系統(tǒng)會出現(xiàn)錯誤提示),按按鈕查找,即下面的文本框中會出現(xiàn)所要查找的記錄的詳細信息(其中入庫編號是固定的)。對相應信息進行修改后,按按鈕修改,即可保存修改好的信息。按取消按鈕則返回主菜單。

    本表單使用的數(shù)據(jù)環(huán)境為入庫單和廠商信息表。

    在表單上設計如下事件過程:

    1、新建表單form1,并將其caption屬性設置為入庫修改,width屬性值設為290,height屬性值設為226,AutoCenter屬性值設為.t.,并將其保存為入庫修改.scx。

    2、向表單添加一個grid控件,將其readonly屬性設置為.t.,RecordSourceType值采用默認的1-別名,在表單設計器中將其寬和高粗略調(diào)小一些即可,具體屬性值我們將在表單的init事件代碼中對其進行設置。

    3、在grid控件下方添加兩個Label控件,使其排成一行,并將其caption屬性依次設為請選擇查找方式請輸入要查找的內(nèi)容。

    4、在label控件下方添加一個組合框控件Combo1及一個文本框控件Text1,文本框控件的屬性值采用默認即可,組合框控件Combo1RowSourceType屬性值設置為1-,RowSource屬性值設置為入庫編號、商品型號、計量單位、單價、數(shù)量、金額、生產(chǎn)廠商、生產(chǎn)日期和倉管員,這樣在運行時我們可以在該組合框中選擇要查詢的字段。

    5、在表單上添加3個命令按鈕command1 command2command3,將其caption屬性依次設為查找、修改取消

    6、在命令按鈕下方添加9label控件,將這9label控件排成兩行,并將其caption屬性依次設置為入庫編號、商品型號計量單位等等。

    7、在這兩行label控件下方添加9個文本框控件,屬性值采用默認,并把這9個文本框排成兩行。

    8、調(diào)整表單上各個控件的位置,調(diào)整后的表單設計器如圖2

    重點:

    ①“查找按鈕(command1)click事件如下:

    if empty(thisform.Text1.value)=.f.            /xcxxgc_jpkc/upload/images/2019/1/1610724734.jpg      

    go top

    a=thisform.Combo1.value

    b=alltrim(thisform.Text1.value)

    c=.f.

      if a='入庫編號'

         locate for 入庫編號=b

         if eof()

            messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

            go top

            return

          else                                                          (圖2                                                                                                

          c=.t.

        endif

     endif

     if a='商品型號'

        locate for 商品型號=b    

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')          

           go top

           return

        else

           c=.t.

        endif

     endif

     if a='計量單位'

        locate for 計量單位=b

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

     if a='單價'

        b=ntom(val(alltrim(thisform.text1.value)))

        locate for 單價=b

       

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

    if a='數(shù)量'

        b=val(alltrim(thisform.text1.value))

        locate for 數(shù)量=b

       

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

     if a='金額'

        b=ntom(val(alltrim(thisform.text1.value)))

        locate for 金額=b

       

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

    if a='生產(chǎn)廠商'

        locate for 生產(chǎn)廠商=b

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

     if a='出廠日期'

        b=ctod(val(alltrim(thisform.text1.value)))

        locate for 出廠日期=b

       

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

     if a='倉管員'

        locate for 倉管員=b

        if eof()

           messagebox('數(shù)據(jù)庫中不存在您所要查詢的記錄',16,'系統(tǒng)提示')

           go top

           return

        else

           c=.t.

        endif

     endif

     if c

        thisform.Text1.enabled=.f.

        go recno()

        thisform.Text2.visible=.t.

        thisform.Text2.enabled=.f.

        thisform.Text3.visible=.t.

        thisform.Text4.visible=.t.

        thisform.Text5.visible=.t.    

        thisform.Text6.visible=.t.

        thisform.Text7.visible=.t.

        thisform.Text8.visible=.t.

        thisform.Text9.visible=.t.

        thisform.Text10.visible=.t.

        thisform.Label3.visible=.t.

        thisform.label4.visible=.t.

        thisform.Label5.visible=.t.

        thisform.Label6.visible=.t.

        thisform.Label7.visible=.t.

        thisform.Label8.visible=.t.

        thisform.Label9.visible=.t.

        thisform.Label10.visible=.t.

        thisform.Label11.visible=.t.

        thisform.Text2.value=入庫單.入庫編號

        thisform.Text3.value=入庫單.商品型號

        thisform.Text4.value=入庫單.計量單位

        thisform.Text5.value=入庫單.單價

        thisform.Text6.value=入庫單.數(shù)量

        thisform.Text7.value=入庫單.金額

        thisform.Text8.value=入庫單.生產(chǎn)廠商

        thisform.Text9.value=入庫單.出廠日期

        thisform.Text10.value=入庫單.倉管員

        thisform.grd入庫單.setfocus

        this.enabled=.f.

        thisform.command2.enabled=.t.

     endif

    else

      messagebox('請輸入要查找的內(nèi)容!',16,'系統(tǒng)提示')

      thisform.Text1.value=''

      thisform.Text1.Setfocus

    endif

    thisform.refresh

    ②“修改按鈕的click的事件如下:

    thisform.text3.readonly=.f.

    thisform.text4.readonly=.f.

    thisform.text5.readonly=.f.

    thisform.text6.readonly=.f.

    thisform.text7.readonly=.f.

    thisform.text8.readonly=.f.

    thisform.text9.readonly=.f.

    thisform.text10.readonly=.f.

    ③“取消按鈕的click的事件如下:

    thisform.release

    下圖為修改模塊的其余的出庫修改和商品資料修改的界面設計,其制作過程與入庫修改的制作過程相似。

    /xcxxgc_jpkc/upload/images/2019/1/1610724983.jpg

    /xcxxgc_jpkc/upload/images/2019/1/1610725186.jpg

                                                               

    銷售部分

    部分數(shù)據(jù)庫設計

    銷售單

    字段名

    數(shù)據(jù)類型

    長度(字節(jié))

    備注

    單據(jù)編號

    文本

    20

    主鍵

    商品型號

    文本

    20

    計量單位

    文本

    8

    單價

    貨幣

    16

    數(shù)量

    數(shù)字

    16

    金額

    貨幣

    16

    生產(chǎn)廠商

    文本

    50

    外鍵

    銷售日期

    日期

    16

    營業(yè)員

    文本

    20

    外鍵

    /xcxxgc_jpkc/upload/images/2019/1/1610725373.png

    /xcxxgc_jpkc/upload/images/2019/1/1610725420.png

    /xcxxgc_jpkc/upload/images/2019/1/1610726122.png

    退貨單

    字段名

    數(shù)據(jù)類型

    長度(字節(jié))

    備注

    單據(jù)編號

    文本

    20

    主鍵

    商品型號

    文本

    20

    計量單位

    文本

    8

    單價

    貨幣

    8

    數(shù)量

    數(shù)字

    16

    金額

    貨幣

    16

    退貨日期

    日期

    16

    /xcxxgc_jpkc/upload/images/2019/1/1610726262.png

    /xcxxgc_jpkc/upload/images/2019/1/1610726356.png

    /xcxxgc_jpkc/upload/images/2019/1/1610726418.png

    四、銷售數(shù)據(jù)模塊

    1、表單 銷售情況記錄表

    實現(xiàn)功能: 商品正常銷售管理。銷售情況的明細記錄、各地收銀員收銀記錄以及交結(jié)帳情況等,實現(xiàn)對數(shù)據(jù)庫添加銷售記錄 。

    實現(xiàn)過程

    單擊“文件”下拉菜單,再點擊“新建”,選擇“表單”,        再單擊“新建文件”后開始表單輸入入庫單據(jù)的設計。

    /xcxxgc_jpkc/upload/images/2019/1/1610726512.jpg/xcxxgc_jpkc/upload/images/2019/1/1610726606.jpg

    設計界面如下

    表單銷售情況記錄表的設計的基本結(jié)構(gòu)如下圖:

    /xcxxgc_jpkc/upload/images/2019/1/1610727136.png

    數(shù)據(jù)環(huán)境(如圖)

    /xcxxgc_jpkc/upload/images/2019/1/1610727323.png

    “輸入”按鈕代碼:

    對象:command1    過程:click

    a=alltrim(thisform.text1.value)

    b=alltrim(thisform.Text2.value)

    c=alltrim(thisform.text3.value)

    d=ntom(val(alltrim(thisform.Text4.value)))

    e=ntom(val(alltrim(thisform.text5.value)))

    f=alltrim(thisform.Text6.value)

    g=alltrim(thisform.text7.value)

    h=val(alltrim(thisform.text8.value))

    i=ctod(alltrim(thisform.Text9.value))

    if empty(a).or.empty(b).or.empty(c).or.empty(d).or.empty(e).or.empty(f).or.empty(g).or.empty(h).or.empty(i)

      messagebox('請輸入完整信息')

      return

    endif

    z=0

    x=0

    use 商品庫存表

    scan for 商品庫存表.商品型號=b

    z=1

    x=數(shù)量-h

    endscan

    if z=0

    messagebox('庫存不足,無法銷售!')

    else

    if x<0

     messagebox('庫存不足,無法銷售!')

     else

     update 商品庫存表 set 數(shù)量=數(shù)量-h where 商品型號=b

     insert into 出庫單;

     (出庫編號,商品型號,計量單位,單價,金額,生產(chǎn)廠商,倉管員,數(shù)量,出庫日期) value(a,b,c,d,e,f,g,h,i)

     messagebox('輸入銷售情況成功!',64,'系統(tǒng)提示')

    endif

    endif

     取消按鈕:

    對象:command2    過程:click

    thisform.release

    2、表單 退貨情況記錄表

    實現(xiàn)功能: 對退貨商品的管理,記錄退貨情況,把退貨的商品入庫,增加到入庫單,同時也改變庫存。

    實現(xiàn)過程:單擊“文件”下拉菜單,再點擊“新建”,選擇“表單”,再單擊“新建文件”后開始表單輸入入庫單據(jù)的設計。

    /xcxxgc_jpkc/upload/images/2019/1/1610727417.jpg

    /xcxxgc_jpkc/upload/images/2019/1/1610727620.jpg

    設計界面如下

    表單退貨情況記錄表的設計的基本結(jié)構(gòu)如下圖:

    /xcxxgc_jpkc/upload/images/2019/1/161072841.png

    數(shù)據(jù)環(huán)境(如圖)

    /xcxxgc_jpkc/upload/images/2019/1/1610728181.png

    “記錄”按鈕代碼:

    對象:command1    過程:click

    a=alltrim(thisform.text1.value)

    b=alltrim(thisform.text2.value)

    c=alltrim(thisform.text3.value)

    d=ntom(val(alltrim(thisform.text4.value)))

    e=ntom(val(alltrim(thisform.text5.value)))

    f=alltrim(thisform.text6.value)

    g=alltrim(thisform.text7.value)

    h=val(alltrim(thisform.text8.value))

    i=ctod(alltrim(thisform.text9.value))

    if empty(a).or.empty(b).or.empty(c).or.empty(d).or.empty(e).or.empty(f).or.empty(g).or.empty(h).or.empty(i)

    messagebox('請輸入完整信息')

    return

    endif

    insert into 入庫單;

    (入庫編號,商品型號,計量單位,單價,金額,生產(chǎn)廠商,倉管員,數(shù)量) value (a,b,c,d,e,f,g,h)

    insert into 退貨單;

    (單據(jù)編號,商品型號,計量單位,單價,金額,數(shù)量,退貨日期) value (a,b,c,d,e,h,i)

    messagebox('記錄成功')

    取消按鈕代碼:

    對象:command2    過程:click

    thisform.release


    午夜免费啪在线观看视频,国产日韩欧美久久一区,久久无码高潮喷潮,国产日韩久久久久老熟女 亚太影院 柯西贝尔-游戏赚网 在线观看肉片AV网站免费