资源描述
数据库课程设计——商品管理系统
商品管理系统
一、概述
随着全球经济一体化,国内经济改革的逐年深化,国内中小企业都面临着巨大挑战,管理体制的不完善、生产技术不能和集团公司相竞争等问题,成为中小企业发展需要解决的首要问题。即使企业具有了一定的先进技术,如果管理体制不完善,也不会在激烈的社会竞争中占有一席之地。商品管理系统的开发利用计算机系统运行速度快,数据存储大,传递信息快,便于修改和查询的特点,将商品管理系统计算机化,可及时给决策机构准确,全面提供市场信息和商品资料,这正是商品管理系统的目标。
商品管理系统是为了适应现代销售可库存管理要求,推动商品管理走向科学化,规范化,减轻单位销售和库存管理的劳动强度,提供人员的工作效率,质量和管理水平的管理软件系统,使得通过信息化管理,销售,库存,采购变得快捷方便。
二、系统分析
1、需求分析
根据市场的需求,要求系统具有以下功能:
1、 系统操作简单,界面友好。
2、 规范、完善的基础信息设置。
3、 支持多人操作
2、可行性分析
商品管理系统的开发实现了从进货、库存到销售的一体化管理。从而提高了管理水平和工作效率,最大限度地减少了手工操作带来的失误!
3、系统设计
注:开发运行环境
系统开发平台:Microsoft Visual FoxPro 6.0
运行平台:Windows XP/Windows2000/Windows2003
分辨率:最佳效果1024X768
三、系统架构设计
版权界面
等待界面1、2
系统管理
管理维护
库存管理
查询管理
报表管理
系统关于
系统退出
商品信息管理
客户信息管理
供应商信息管理
出入库登记
商品信息查询
客户信息查询
供应商信息查询
销售查询
日销售报表
销售报表
供应商信息报表
客户信息报表
库存信息报表
商品信息报表
四、数据库设计
本系统采用的是Visual FoxPro自带的数据库,下面是数据表的表结构:
操作员信息表
字段名
数据类型
字段大小
索引
编号
字符型
7
升序
用户名
字符型
8
口令
字符型
6
备注
备注型
4
订单表
字段名
数据类型
字段大小
索引
编号
字符型
7
升序
订货时间
日期时间型
8
客户编号
字符型
7
商品编号
字符型
7
销售类型
字符型
4
订货数量
整型
4
金额
数值型
12
结款否
逻辑型
1
操作员
字符型
10
供应商信息表
编号
数据类型
字段大小
索引
全称
字符型
7
升序
简称
字符型
30
地址
字符型
15
所属地区
字符型
40
邮编
字符型
20
电话
字符型
7
传真
字符型
13
联系人
字符型
8
联系人电话
字符型
13
开户银行
字符型
13
银行账户
字符型
20
纳税人
字符型
8
电子信箱
字符型
30
备注
备注型
4
库存信息表
字段名
数据类型
字段大小
索引
商品编号
字符型
7
升序
库存数量
数值型
15
库存上限
数值型
12
库存下限
数值型
12
备注
逻辑型
1
零售信息表
字段名
字段大小
数据类型
索引
编号
字符型
7
升序
时间
日期时间型
8
商品编号
字符型
7
数量
数值型
4
金额
数值型
12
入库信息表
字段名
数据类型
字段大小
索引
编号
字符型
7
升序
入库时间
日期时间型
8
供应商编号
字符型
7
结款方式
字符型
4
合计总类
数值型
12
合计金额
数值型
12
操作员
字符型
7
预付金额
数值型
12
未付金额
数值型
12
实付金额
数值型
12
商品信息表
字段名
数据类型
字段大小
索引
编号
字符型
7
升序
名称
字符型
30
简称
字符型
15
规格
字符型
10
产地
字符型
40
计量单位
字符型
8
出厂日期
日期时间型
8
保质期
日期时间型
8
进价
数值型
12
批发价
数值型
12
零售价
数值型
12
供应商编号
字符型
7
备注
备注型
4
销售信息表
字段名
数据类型
字段大小
索引
编号
字符型
7
升序
时间
日期时间型
8
销售类型
字符型
4
订单号
字符型
7
合计品种
数值型
4
合计金额
数值型
12
付款方式
字符型
4
折扣
数值型
3
应付金额
数值型
12
未付金额
数值型
12
实付金额
数值型
12
操作员
字符型
7
银行账户管理表
字段名
数据类型
字段大小
索引
往来单位
字符型
40
升序
存款金额
数值型
12
备注
备注型
4
五、程序主界面设计
主界面为利用Adobe photoshop制作
顶层菜单为:
六、登录表单设计
表单的form的init代码为:
public i
i=1
bo1.setfocus
登录的click代码为:
i=i+1
select 操作员信息表
locate for alltrim(操作员信息表.用户名)=alltrim(bo1.value)
if len(alltrim(thisform.text1.value))=0
=messagebox("密码不能为空,请按确定键重新输入!!!",0+64+0,"系统温馨提示")
thisform.text1.setfocus
else
if found() and (alltrim(操作员信息表.密码)=alltrim(thisform.text1.value))
messagebox("恭喜你登录成功!",0,"系统温馨提示")
do form 商品管理系统V_2.0版.scx
thisform.release
else
if i<4
=messagebox("操作员密码错误!!!"+chr(13)+"再试一次?",48,"警告")
thisform.text1.setfocus
else
=messagebox("对不起,您已经错三次了!"+chr(13)+" 您是非法用户,请您退出系统",48,"严重警告")
quit
endif
endif
endif
取消的click代码为:
a=messagebox("您确定退出吗?",4+16+0)
if a=6
release thisform
endif
这张表单的数据环境为:操作员信息表
七、系统进入时的界面
这是进入系统时的界面
这是等待界面1其中字体会循环走动
对象Timer1过程Timer
ThisForm.label8.Caption = TtoC(datetime())
对象command1过程click
DO form 系统登录.scx
release thisform
对象Timer2过程Timer
IF THISFORM.LABEL1.LEFT+THISFORM.LABEL1 .WIDTH<0
thisform.label1.left=thisform.width
else
THISFORM.LABEL1.LEFT=THISFORM.LABEL1.LEFT-20
endif
对象Timer3过程Timer
IF THISFORM.LABEL2.LEFT+THISFORM.LABEL2.WIDTH<0
thisform.label2.left=thisform.width
else
THISFORM.LABEL2.LEFT=THISFORM.LABEL2.LEFT-20
endif
这是等待界面2其中有动态字幕
八、系统管理模块
对象Timer1过程Timer
ThisForm.label9.Caption = TtoC(datetime())
系统退出的过程代码:
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Quit
Endif
九、管理维护模块
对象 第一个 过程click 数据环境为销售信息表
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text1 .setfocus
对象command7过程click
messagebox("此条记录已存入",48,"温馨提示")
thisform.refresh
对象command8过程click
delete from 出库登记 where 编号=thisform.text1.value
thisform.grid1.recordsource=""
pack
thisform.grid1.recordsource="出库登记"
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
endif
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text1 .setfocus
对象command7过程click
messagebox("此条记录已存入",48,"温馨提示")
thisform.refresh
对象command8过程click
delete from 出库登记 where 编号=thisform.text1.value
thisform.grid1.recordsource=""
pack
thisform.grid1.recordsource="出库登记"
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
endif
对象command1过程click
select 供应商信系表
bh=alltrim(thisform.text1.value)
locate for 编号=bh
if found () and thisform.text1.value=alltrim(供应商信系表.编号)
thisform.text2.value=供应商信系表.编号
thisform.text3.value=供应商信系表.全称
thisform.text4.value=供应商信系表.简称
thisform.text5.value=供应商信系表.所属地区
thisform.text6.value=供应商信系表.传真
thisform.text7.value=供应商信系表.开户银行
thisform.text8.value=供应商信系表.电子信箱
thisform.text9.value=供应商信系表.备注
thisform.text10.value=供应商信系表.地址
thisform.text11.value=供应商信系表.邮编
thisform.text12.value=供应商信系表.联系人
thisform.text13.value=供应商信系表.银行账户
thisform.text14.value=供应商信系表.电话
else
messagebox("未找到相应的对象!",48,"提示")
endif
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text2 .setfocus
对象command7过程click
messagebox("已存入",48,"温馨提示")
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
endif
十、库存管理模块
对象command1过程click
do form f:\商品管理系统\入库登记.scx
对象command2过程click
do form f:\商品管理系统\出库登记.scx
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text1 .setfocus
对象command7过程click
messagebox("此条记录已存入",48,"温馨提示")
thisform.refresh
对象command8过程click
delete from 出库登记 where 编号=thisform.text1.value
thisform.grid1.recordsource=""
pack
thisform.grid1.recordsource="出库登记"
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
endif
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text1 .setfocus
对象command7过程click
messagebox("此条记录已存入",48,"温馨提示")
thisform.refresh
对象command8过程click
delete from 出库登记 where 编号=thisform.text1.value
thisform.grid1.recordsource=""
pack
thisform.grid1.recordsource="出库登记"
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
endif
十一、查询管理模块
对象command1过程click
select 客户信息表最新最新
bh=alltrim(thisform.text1.value)
locate for 编号=bh
if found () and thisform.text1.value=alltrim(客户信息表最新最新.编号)
thisform.text2.value=客户信息表最新最新.编号
thisform.text3.value=客户信息表最新最新.全称
thisform.text4.value=客户信息表最新最新.简称
thisform.text5.value=客户信息表最新最新.地址
thisform.text6.value=客户信息表最新最新.所属地区
thisform.text7.value=客户信息表最新最新.邮编
thisform.text8.value=客户信息表最新最新.电话
thisform.text9.value=客户信息表最新最新.传真
thisform.text10.value=客户信息表最新最新.联系人
thisform.text11.value=客户信息表最新最新.联系人电话
thisform.text12.value=客户信息表最新最新.开户银行
thisform.text13.value=客户信息表最新最新. 银行账户
thisform.text14.value=客户信息表最新最新. 纳税人
thisform.text15.value=客户信息表最新最新.电子信箱
thisform.text16.value=客户信息表最新最新.备注
else
messagebox("未找到相应的对象!",48,"提示")
endif
thisform.refresh
对象command2过程click
if messagebox("您真的要退出吗?",4+16+0,"温馨提示")=6
release thisform
endif
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command1过程click
select 供应商信系表
bh=alltrim(thisform.text1.value)
locate for 编号=bh
if found () and thisform.text1.value=alltrim(供应商信系表.编号)
thisform.text2.value=供应商信系表.编号
thisform.text3.value=供应商信系表.全称
thisform.text4.value=供应商信系表.简称
thisform.text5.value=供应商信系表.所属地区
thisform.text6.value=供应商信系表.传真
thisform.text7.value=供应商信系表.开户银行
thisform.text8.value=供应商信系表.电子信箱
thisform.text9.value=供应商信系表.备注
thisform.text10.value=供应商信系表.地址
thisform.text11.value=供应商信系表.邮编
thisform.text12.value=供应商信系表.联系人
thisform.text13.value=供应商信系表.银行账户
thisform.text14.value=供应商信系表.电话
else
messagebox("未找到相应的对象!",48,"提示")
endif
thisform.refresh
对象command5过程click
append blank
thisform.refresh
对象command6过程click
thisform.text2 .setfocus
对象command7过程click
messagebox("已存入",48,"温馨提示")
thisform.refresh
对象cmdclose过程click
IF MESSAGEBOX("您确定关闭吗",4+32+0,"温馨提示")=6
Release thisform
Endif
对象Cmd查找过程Click
select 商品信息表
bh=alltrim(thisform.txt1.value)
locate for 编号=bh
if found () and thisform.txt1.value=alltrim(商品信息表.编号)
thisform.txt编号.value=商品信息表.编号
thisform.txt名称.value=商品信息表.名称
thisform.txt简称.value=商品信息表.简称
thisform.txt规格.value=商品信息表.规格
thisform.txt产地.value=商品信息表.产地
thisform.txt计量单位.value=商品信息表.计量单位
thisform.txt出厂日期.value=商品信息表.出厂日期
thisform.txt保质期.value=商品信息表.保质期
thisform.txt进价.value=商品信息表.进价
thisform.txt批发价.value=商品信息表.批发价
thisform.txt零售价.value=商品信息表.零售价
thisform.txt供应商编号.value=商品信息表.供应商编号
else
messagebox("未找到相应的对象!",48,"提示")
endif
thisform.refresh
对象Cmd退出 过程click
if messagebox("您真的要退出吗?",4+16+0,"温馨提示")=6
release thisform
endif
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象 第一个 过程click
go top
thisform.refresh
this.enabled=.f.
thisform.上一个.enabled=.f.
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
对象 上一个 过程click
skip-1
thisform.下一个.enabled=.t.
thisform.末一个.enabled=.t.
if bof() then
go top
this.enabled=.f.
thisform.第一个.enabled=.f.
endif
thisform.refresh
对象 下一个 过程click
skip+1
*!* thisform.下一个.enabled=.t.
*!* thisform.末一个.enabled=.t.
if eof() then
this.enabled=.f.
thisform.末一个.enabled=.f.
endif
thisform.上一个.enabled=.t.
thisform.第一个.enabled=.t.
thisform.refresh
对象 末一个 过程click
go bottom
this.enabled=.f.
thisform.下一个.enabled=.f.
thisform.第一个.enabled=.t.
thisform.上一个.enabled=.t.
thisform.refresh
对象command1过程click
select 零售信息表
bh=alltrim(thisform.text1.value)
locate for 编号=bh
if found () and thisform.text1.value=alltrim(零售信息表.编号)
thisform.text2.value=零售信息表.编号
thisform.text3.value=零售信息表.时间
thisform.text4.value=零售信息表.商品编号
thisform.text5.value=零售信息表.数量
thisform.text6.value=零售信息表.金额
else
messagebox("未找到相应的对象!",48,"提示")
endif
thisform.refresh
对象command2过程click
if messagebox("您确认打印此文件吗?",4+16+0,"温馨提示")=6
report form f:\商品管理系统\销售信息表最新.frx preview
endif
十二、报表管理模块
本系统利用Visual ProFox 的报表设计器制作报表,本系统包括以下几个报表:
日销售报表
销售报表
供应商信息报表
客户信息报表
库存信息报表
入库信息报表
商品信息报表
销售信息报表
- 30 -
展开阅读全文