《进销存管理系统》论文范例
更新时间:2024-01-26 22:39:01 阅读量: 教育文库 文档下载
- 企业进销存管理系统论文推荐度:
- 相关推荐
进销存管理系统
学 院 专 业 班 级 学 号 姓 名 指导教师 教师职称
年
月
日
1
摘要
【摘要】
进销存管理系统是专为大中型企业的产品分销体系建立的电子商务应用系统。是面向一种异地分布式的企业销售管理系统,支持供需链管理的计划和控制系统。通常情况下进销存管理系统平台包括三级子系统,即下级分销商管理系统、分公司管理系统和总公司管理系统。此外,分销商管理系统还实现了商品库存的管理。分公司管理系统为每个分公司实现了进销存管理,系统中还包括订单管理、综合查询等管理功能。 【关键词】 进销存 进货 销售
1
目录
摘要 .............................................................................................................................................. 1 目录 .............................................................................................................................................. 1 0 引言 ........................................................................................................................................ 1 1 系统分析 ................................................................................................................................ 2
1.1 需求分析 ..................................................................................................................... 2 1.2 可行性分析 ................................................................................................................. 2 2 总体设计 ................................................................................................................................ 2
2.1 项目规划 ..................................................................................................................... 2 2.2 功能框图 ..................................................................................................................... 3 3 系统设计 ................................................................................................................................ 3
3.1 设计目标 ..................................................................................................................... 3 3.2 开发及运行环境 ......................................................................................................... 4 3.3 逻辑结构设计 ............................................................................................................. 4 4 主要功能模块设计 ................................................................................................................ 4
4.1 主窗体设计 ................................................................................................................. 4 4.2 基础窗体创建 ............................................................................................................. 7 4.3 数据模块设计 ............................................................................................................. 8 4.4 库存商品模块设计 ................................................................................................... 10 4.5 商品基本信息模块设计 ........................................................................................... 14 4.6 进货单录入模块设计 ............................................................................................... 16 附录A 参考文献 .................................................................................................................... 20 附录B 数据表 ........................................................................................................................ 21 附录C 文件架构图 ................................................................................................................ 28
1
0 引言
随着我国经济的高速发展,中小企业在社会经济中扮演的角色越来越重要,已成为最多元化和最具创新精神的部分。但是随着企业的发展,客户的增多,企业账目混乱,库存不准,信息反馈不及时等问题也接踵而至。这些问题已成为制约中小企业发展的瓶颈,严重制约了中小企业的发展壮大。越来越多的企业经营者认识到:单纯靠对商品的占有,靠个人经验,已经很难把握市场,很难在激烈的竞争中取胜。如何借助IT手段、如何通过信息化,加强核心竞争力,实现持续发展已成为中小企业亟待解决的关键问题。
我国中小企业有70%是零售企业,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用手工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。
1
1 系统分析
1.1 需求分析
通过调查,要求系统需要有以下功能:
? 要有良好的人机界面,并提供换肤功能。 ? 支持多人操作,要求有较好的权限分配功能。
? 在进货、退货时存在一对多的关系,要求支持多行录入功能。 ? 为了方便用户查询,要求支持多条件查询。
? 对于每种商品要求编号惟一,编号需要自动生成。 ? 支持多种报表打印。
? 支持账目的详细内容浏览。
1.2 可行性分析
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
本系统数据库采用目前比较流行的Microsoft SQL Server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用Delphi7,Delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发Windows应用程序。
2 总体设计
2.1 项目规划
进销存管理系统是一个典型的数据库应用程序,由登录模块、主界面、基本信息模块、进货管理和销售管理模块、钱流管理模块、库存管理模块、查账模块、统计与分析模块、系统维护模块等组成。特规划功能模块如下:
? 基本信息模块
基本信息模块的主要实现库存商品、内部职员、往来单位、费用类型信息等管理。 ? 进货管理模块
进货管理模块主要管理企业商品进货及退货信息,支持多行录入。 ? 销售管理模块
销售管理模块主要管理企业商品销售及退货信息,支持多行录入。 ? 钱流管理模块
钱流管理模块主要实现往来账目的录入和账目的详细信息浏览等功能。 ? 库存管理模块
库存管理模块主要实现库存货品浏览、库存盘点、库存报警等功能。 ? 统计分析模块
统计分析模块主要实现进货统计分析、销售统计分析和成本分析等功能。
2
查账模块
查账模块主要实现与供应商、代理商对账、费用管理、应收应付等功能。 ? 系统维护模块
系统维护模块的主要实现本单位管理、操作员设置、数据的备份和还原等功能。
?
2.2 功能框图
进销存管理系统进货管理销售管理库存管理钱流管理基本信息查账进货单录入进货退货单录入销售单录入销售退货单录入库存状况库存盘点库存变动库一存收付般报款款费警用现金费用库存商品往来单位内部职员费用类型与供应商对账与代理商对账费用支出应收应付统计分析系统维护月销进销售货售成分状本析况表本单位信息操作员设置数据备份数据恢复数据清理
图1 功能框图
3 系统设计
3.1 设计目标
根据企业的需求和进销存管理的特点,该系统实施后,应达到以下目标: ? 支持多行输入,自动生成编号。
? 界面美观友好、信息查询灵活、方便、快捷、准确。 ? 强大的库存预警功能,在意外中将损失降到最低。 ? 提高工作效率,降低成本。 ? 往来账目详细浏览。 ? 图形化数据分析。
? 对用户输入的数据进行过滤,当输入有误时提示用户。 ? 数据保密性强,用户对应不同的操作级别。
? 系统最大限度地实现了易安装性、易维护性和易操作性。 ? 直接调用Word、Excel软件。
3
?
系统运行稳定、安全可靠。
3.2 开发及运行环境
系统开发平台:Delphi 7.0。
数据库管理系统软件:SQL Server 2000。 运行平台:Windows xp/ Windows 2000。 分辨率:最佳效果1024*768。
3.3 逻辑结构设计
本系统数据库采用SQL Server 2000数据库,数据库名称为“db_EMS”。数据库db_EMS中包含18个表。数据库中的数据表参见附录B。
4 主要功能模块设计
4.1 主窗体设计
主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。进销存管理系统主窗体运行结果如图4所示。
图4 主窗体运行的结果
1.设计步骤
(1)运行Delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名为“F_zct”,设置窗体的Caption属性为“进销存管理系统”;BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。
(2)在“Additional”组件页中点选“TActionManager”组件,添加到窗体上,命名为“ActionManage1”,双击该组件打开“动作编辑器”,选择“Toolbars”选项卡,单击【New】按钮添加“TActionToolBar”对象,命名为“ActionToolBar1”,如图5所示。
4
图5 添加TActionToolBar对象
(3)选择“Actions”选项卡,单击【New Action】按钮,添加“TAction”对象,并在“Object Inspector”窗口中设置Caption属性,如图6所示。
图6 添加TAction对象
(4)在窗体上点选ActionManager1组件,在“Object Inspector”窗口中,单击ActionBars属性右侧的【…】按钮,弹出如图7所示的对话框。
5
图7 菜单栏设置1
(5)在弹出的对话框中点选“0-ActionBar->ActionTooBar1”,在“Object Inspector”窗口中,单击Items属性右侧的【…】按钮,在弹出的对话框中,单击【Add New】按钮添加菜单项,并设置各个菜单项的Action属性,如图8所示。
图8 菜单栏设置2
(6)点选各菜单项,在“Object Inspector”窗口中,单击Items属性右侧的【…】按钮,在弹出的对话框中设置子菜单项。
(7)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,命名为“StatusBar1”。TStatusBar组件用于显示状态信息,双击StatusBar1组件,在弹出的对话框中单击【Add New】按钮添加面板。在“Object Inspector”窗口中设置面板的Width属性和Caption属性,如图9所示。
图9 面板编辑器
(8)在“Standard”组件页中点选“TPanel”组件。在窗体上添加3个TPanel组件,分别命名为“Panel3”、“Panel1”、“Panel4”,分别设置其Align属性为“alTop”、“alLeft”、“alClient”。
(9)在“Additional”组件页中点选“TImage”组件,分别添加到Panel3组件和Panel1组件上,并在“Object Inspector”窗口中通过Picture属性为其加载图片。当用户单击主窗体左侧的按钮时,在右则将弹出相应的功能图片。在右侧的面板中添加多个TPanel组件,并在相应的TPanel组件上添加TImage组件,并为TImage组件加载图片。
(10)在“Additional”组件页中点选“TSpeedButton”组件,将TSpeedButton组件添加到图片相应的位置,设置其Flat属性为“True”;Caption属性为空。
2.程序相关代码
在窗体的OnKeyDown事件处理过程中设置用户按下〈F5〉键时关闭窗体。代码如下:
6
procedure TF_zct.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin
F_zct.KeyPreview:=True; //设置窗体先接受键盘按下事件 if key=vk_F5 then Close; end;
在窗体的OnCloseQuery事件处理过程中让用户确认是否关闭窗体。代码如下: procedure TF_zct.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin
if Application.MessageBox('是否退出系统?','提示',mb_yesno)=id_no then CanClose:=False; end;
在窗体右侧按钮的单击事件处理过程中,设置相应的面板在其他面板前面。代码如下: procedure TF_zct.SpeedButton1Click(Sender: TObject); begin
kumanage.BringToFront; //设置面板在最前面 end;
在窗体右侧的功能按钮单击事件处理过程中,动态创建相应的功能窗体。动态创建“库存状况窗体”代码如下:
procedure TF_zct.SpeedButton9Click(Sender: TObject); begin
Application.CreateForm(TF_kczk, F_kczk); //创建窗体 F_kczk.ShowModal; //显示窗体 F_kczk.Free; //释放窗体 end; 在窗体的OnShow事件处理过程中,添加TCheckBox组件到面板中。指定TCheckBox组件的父对象并设置该组件的大小和位置。代码如下:
with statusbar1 do begin
checkbox1.Parent:=statusbar1; checkbox1.Top:=4;
checkbox1.Height:=Height-4; checkbox1.Width:=75;
checkbox1.Left:=Panels[0].Width+Panels[1].Width+Panels[2].Width+10; checkbox1.Visible:=true; end;
4.2 基础窗体创建
创建基础窗体主要为了提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图10所示。
7
图10 基础窗体
1.基础窗体设计步骤
添加一个新窗体,命名为“F_base”,设置其BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。
2.程序相关代码
在窗体的OnKeyPress事件处理过程中设置〈Enter〉键代替〈Tab〉键。代码如下:
procedure TF_base.FormKeyPress(Sender: TObject; var Key: Char); begin
if Key=#13 then
perform(WM_NEXTDLGCTL,0,0); end;
4.3 数据模块设计
数据模块窗体主要功能是统一管理数据组件。数据模块如图11所示。
图11 数据模块
1.数据模块创建
(1)在Delphi中选择“File”/“New”/“Data Module”菜单项,新建一个数据模块,命名为“F_dm”。
(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,命名为“ADOConnection1”。TADOConnection组件用于连接数据库,其他数据库组件通过它连接数据
8
库。
(3)点选ADOConnection1组件,在“Object Inspector”窗口中,单击ConnectionString属性右侧的【…】按钮,弹出对话框,如图12所示。
图12 设置连接字符串
(4)单击【Build】按钮,在弹出的对话框中 “提供程序”选项卡中选择希望连接的数据所需的驱动程序,如图13所示。
图13 选择驱动程序
(5)选择“连接”选项卡,设置数据库连接相关设置,如图14所示。
9
图14 数据库连接设置
(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。
(7)在窗体上添加TADOQuery组件和TADOCommand组件,设置它们的Connection属性为“ADOConnection1”。
4.4 库存商品模块设计
库存商品模块主要实现浏览、添加、修改、删除、查询、打印商品信息等功能。库存商品模块运行结果如图15所示。
图15 库存商品模块运行的结果
10
1.窗体设计步骤
(1)选择“File”/“New”/“Other”菜单项,打开“New Items”对话框,选择“ima”选项卡,点选“F_base”选项,以继承方式使用该窗体。单击【OK】按钮添加一个新窗体,命名为“F_kcsp”,设置Caption属性为“库存商品”。
(2)在“Win32”组件页中点选“TToolBar”组件,添加到窗体上。在该组件上添加TSpeedButton组件,在“Object Inspector”窗口中通过Caption属性为其设置相应的文本,通过Glyph属性为其指定图标。右键单击TToolBar组件,在弹出的菜单中选择“New Button”菜单项,并设置其Style属性为“tbsDivider”。
(3)在窗体上添加TPanel组件,命名为“Panel1”,设置Align属性为“alBottom”;Visable属性为“False”。在TPanel组件上添加TGroupBox组件,设置其Caption属性为“查询条件”。在“Standard”组件页中找到TLabel组件、TEdit组件和TComboBox组件,添加到TGroupBox组件上。点选TComboBox组件,在“Object Inspector”窗口中,单击Items属性,在弹出的对话框中添加项目,如图16所示。
图16 添加项目
(4)在“ADO”组件页中点选“TADOQuery”组件,添加到窗体上,命名为“ADOQuery1”。在“Data Access”组件页中点选“TDataSource”组件,添加到窗体上,命名为“DataSource1”。设置ADOQuery1组件的Connection属性为“F_dm.ADOConnection1”;设置DataSource1组件的DataSet属性为“ADOQuery1”。
(5)在“Data Controls”组件页中点选“TDBGrid”组件,添加到窗体上,命名为“DBGrid1”,设置其Align属性为“alClient”;DataSource属性为“DataSource1”,双击DBGrid1组件,在弹出的列编辑器中设置字段标题,如图17所示。
11
图17 为TDBGrid组件设置列标题
(6)在“Rave”组件页中点选“TRvDataSetConnection”组件、“TRvProject”组件,添加到窗体上,分别命名为“RvDataSetConnection1”、“RvProject1”,设置RvDataSetConnection1组件的DataSet属性为“ADOQuery1”。设置RvProject1组件的ProjectFile属性为制作的报表文件。
2.程序相关代码
在窗体的OnShow事件处理过程中打开库存商品表。代码如下: procedure TF_kcsp.FormShow(Sender: TObject); begin
inherited; //由于窗体是继承自基窗体该代码自动生成。意为调用父类的同名方法。 change:=False; with adoquery1 do begin Close;
SQL.Clear;
SQL.Add('Select * from tb_stock order by tradecode asc'); //排序 Open; end; end;
在【添加】按钮的单击事件处理过程中动态创建添加库存商品基本信息窗体。代码如下: procedure TF_kcsp.SpeedButton4Click(Sender: TObject); begin
inherited; //调用父类的同名方法
Application.CreateForm(TF_sbjbcx, F_sbjbcx); //创建窗体 F_sbjbcx.ShowModal; //显示窗体 F_sbjbcx.Free; //释放窗体 end;
在【删除】按钮的单击事件处理过程中当用户确认删除后删除数据。代码如下: procedure TF_kcsp.SpeedButton2Click(Sender: TObject); begin
12
inherited; //调用父类的同名方法 try
if Application.MessageBox('是否删除当前记录?','提示',mb_yesno)=id_yes then Adoquery1.Delete; except
Application.MessageBox('不能删除','提示',mb_yesno); end; end;
在【查询】按钮的单击事件处理过程中动态设置查询条件。代码如下: procedure TF_kcsp.SpeedButton1Click(Sender: TObject); var
searchwhat:string; begin
inherited; //调用父类的同名方法 Panel1.Visible:=not(Panel1.Visible); if Panel1.Visible=False then begin
searchwhat:='';
case combobox1.ItemIndex of //设置要查找的字段 0: searchwhat:='tradecode'; 1: searchwhat:='fullnamed'; 2: searchwhat:='name'; 3: searchwhat:='shortcode'; end; try
with ADoquery1 do begin Close;
SQL.Clear;
SQL.Add('select * from tb_stock '); //写SQL语句
SQL.Add('where '+''+searchwhat+''+' like :a order by tradecode'); parameters.ParamByName('a').Value:='%'+Trim(Edit1.Text)+'%'; open; end;
if Application.MessageBox('是否刷新表?','提示',mb_yesno)=Id_yes then with ADoquery1 do begin Close;
SQL.Clear;
SQL.Add('select * from tb_stock order by tradecode'); //刷新 open;
13
end; except
Application.MessageBox('请正确输入条件','提示',mb_ok); end; end; end;
在【打印】按钮的单击事件处理过程中指定报表文件、预览报表。代码如下: procedure TF_kcsp.SpeedButton6Click(Sender: TObject); begin
inherited; //调用父类的同名方法 //指定报表文件
Rvproject1.ProjectFile:=ExtractFilePath(Application.ExeName)+'stockprint.rav'; RvProject1.Execute; //预览报表 end;
4.5 商品基本信息模块设计
商品基本信息模块主要功能是录入商品基本信息,便于其他窗体使用,在该模块中可以设置商品的报警上下限。商品基本信息模块运行结果如图18所示。
图18 商品基本信息模块运行的结果
1.窗体设计步骤
(1)从基础窗体继承一个窗体,命名为“F_sbjbcx”,设置其Caption属性为“商品基本信息”。
(2)在“Additional”组件页中点选“TBevel”组件,为每一类数据添加边框。 (3)在“Additional”组件页中点选“TGroupBox”组件,添加到窗体上,命名为“GroupBox1”,设置其Caption属性为“输入报警值-----请输入大于0的数 0为不报警”。在GroupBox1组件上添加2个TLabel组件和2个TEdit组件。分别设置TLabel组件的Caption属性为“商品报警上限:”、“商品报警下限:”。
14
(4)在窗体上添加TLabel组件和TEdit组件,在“Additional”组件页中点选“TBitBtn”组件,添加到窗体上,分别命名为“BitBtn1”、“BitBtn2”,设置BitBtn1组件的Caption属性为“保存”,通过Glyph属性为其指定图标。设置BitBtn2组件的Caption属性为“退出”,通过Glyph属性为其指定图标。
2.程序相关代码
在窗体的OnShow事件处理过程中如果为修改,将要修改的记录显示在窗体的编辑框中。代码如下:
procedure TF_sbjbcx.FormShow(Sender: TObject); begin
inherited; //调用父类的同名方法 try
if F_kcsp.change=True then //判断是否为修改 with F_kcsp.ADOQuery1 do begin
Edit1.Text:=fieldbyname('fullnamed').AsString; Edit2.Text:=fieldbyname('tradecode').AsString; Edit3.Text:=fieldbyname('name').AsString; Edit4.Text:=fieldbyname('type').AsString; Edit5.Text:=fieldbyname('standard').AsString; Edit6.Text:=fieldbyname('unit').AsString; Edit7.Text:=fieldbyname('produce').AsString; Edit8.Text:=fieldbyname('provideinf').AsString; Edit9.Text:=fieldbyname('memo').AsString;
Edit10.Text:=inttostr(fieldbyname('upperlimit').AsInteger); Edit11.Text:=inttostr(fieldbyname('lowerlimit').AsInteger); end else begin
F_kcsp.getspbh(sender); //如果为添加操作调用过程getspbh得到编号 Edit2.Text:=F_kcsp.spbh; end; except end; end;
调用getspbh过程得到商品编号。getspbh过程完整代码如下: procedure TF_kcsp.getspbh(sender:Tobject); //得到商品编号 begin
adoquery1.Last;
if adoquery1.RecordCount=0 then
spbh:='T'+formatfloat('00000',1) //格式化编号 else
15
spbh:='T'+Formatfloat('00000',strtoint(copy(adoquery1.Fields[0].AsString,2,5))+1); end;
4.6 进货单录入模块设计
进货单录入窗体主要功能是录入进货的相关信息,在该模块中支持多行录入,可以调用其他信息提示窗体。进货单录入模块运行结果如图19所示。
图19 进货单录入模块运行的结果
1.窗体设计步骤
(1)从基础窗体继承一个窗体,命名为“F_jhd”,设置其Caption属性为“进货单录入”。 (2)在窗体上添加TLabel组件、TEdit组件、TDateTimePicker组件,用于输入信息。在“Additional”组件页中点选“TStringGrid”组件,添加到窗体上,命名为“StringGrid1”。设置StringGrid1组件的RowCount属性为“10”;ColCount属性为“10”。
(3)在窗体上添加TSpeedButton组件,通过Glyph属性为其指定图标。添加TBitBtn组件,用于完成“保存”、“取消”功能。
(4)在窗体上添加TPanel组件,命名为“Panel1”,设置其Caption属性为空。用于显示统计应付金额。
(5)在窗体上添加TADOQuery组件,命名为“ADOQuery1”,设置其Connection属性为“F_dm.ADOConnection1”。
2.程序相关代码
在窗体的OnShow事件处理过程中初始化相关信息。代码如下:
procedure TF_jhd.FormShow(Sender: TObject); begin
inherited;
F_zct.wf:=1; //窗体标记
DateTimePicker1.Date:=now(); //初始化为当天日期
16
with F_jhd.StringGrid1 do //设置列标题 begin
Cells[1,0]:='商品编号'; Cells[2,0]:='商品全称'; Cells[3,0]:='商品型号'; Cells[4,0]:='商品规格'; Cells[5,0]:='单位'; Cells[6,0]:='产地'; Cells[7,0]:='数量'; Cells[8,0]:='进货价'; Cells[9,0]:='金额'; end;
with adoquery1 do begin close; SQl.Clear;
SQl.Add('select * from tb_warehouse_main'); Open; end;
F_jhd.getspbh(sender); //调用过程getspbh取得编号 Edit2.Text:=spbh; end;
双击TStringGrid组件左侧的按钮动态创建信息提示窗体。代码如下: procedure TF_jhd.SpeedButton3Click(Sender: TObject); begin
inherited; //调用父类的同名方法
Application.CreateForm(TF_kcspxz, F_kcspxz); F_kcspxz.ShowModal; F_kcspxz.Free; end;
在弹出的信息提示窗体的【确定】按钮单击事件处理过程中将数据添加到TStringGrid组件中。代码如下:
if F_zct.wf=1 then //往进货单录入窗体添加数据 begin
for xh:=1 to F_jhd.StringGrid1.RowCount do begin
if Trim(F_jhd.StringGrid1.Cells[1,xh])='' then //查找第几行为空 begin
grow:=xh; break; end;
17
end;
for xh:=0 to adoquery1.FieldCount-12 do //将数据库的数据读出 begin
gcol:=xh;
if xh>=2 then gcol:=gcol+1;
F_jhd.StringGrid1.Cells[xh+1,grow]:=adoquery1.Fields[gcol].Value; //将数据添加到单元格中
end;
F_jhd.StringGrid1.Cells[8,grow]:=adoquery1.Fields[8].Value; F_jhd.StringGrid1.SetFocus; F_jhd.StringGrid1.Col:=7; F_jhd.StringGrid1.Row:=grow; end; 在【保存】按钮的单击事件处理过程中,首先启动事务,然后对相关表进行操作,如果成功,提交事务,否则回滚事务。代码如下:
procedure TF_jhd.BitBtn1Click(Sender: TObject); var
gcol,grow,xhjc:integer;
ave:string; //age加权平均价 begin
inherited;
if (Trim(Edit3.Text)='') or (Trim(Edit4.Text)='') or (Trim(Edit6.Text)='') or (stringgrid1.Cells[9,1]='') then begin
Application.MessageBox('请输入完整信息','提示',mb_ok); Exit; end;
for xhjc:=1 to strdbrows do begin
if (stringgrid1.Cells[7,xhjc]='') or (strtofloat(stringgrid1.Cells[8,xhjc])<=0) then begin
Application.MessageBox('请输入商品数量或金额','提示',mb_ok); Exit; end; end; try
F_dm.ADOConnection1.BeginTrans; //启动事务 with Adoquery1 do //将信息保存到进货主表 begin Close; SQl.Clear;
18
SQl.Add('select * from tb_warehouse_main'); open; insert;
FieldByName('billdate').AsDateTime:=strtodate(formatdatetime('yyyy-mm-dd', datetimepicker1.Date));
FieldByName('billcode').AsString:=Trim(Edit2.Text); FieldByName('units').AsString:=Trim(Edit3.Text); FieldByName('handle').AsString:=Trim(Edit4.Text); FieldByName('summary').AsString:=Trim(Edit5.Text);
FieldByName('fullpayment').AsFloat:=strtofloat(panel1.Caption);
FieldByName('payment').AsFloat:=strtofloat(format('.4f',[strtofloat(Edit6.Text)])); ??详细代码参见光盘 post; end; end;
F_dm.ADOConnection1.CommitTrans; //提交事务 Application.MessageBox('保存成功','提示',mb_ok); except
F_dm.ADOConnection1.RollbackTrans; //回滚事务 Application.MessageBox('保存不成功','提示',mb_ok); end;
with Adoquery1 do begin Close; SQl.Clear;
SQl.Add('select * from tb_warehouse_main'); Open; end;
bitbtn2.OnClick(sender); //调用取消按钮清空记录 F_jhd.getspbh(sender); //得到下一单据编号 Edit2.Text:=spbh; //显示编号值 end;
19
附录A 参考文献
1.Visual Basic精彩编程200例 机械工业出版社 赛奎春、高春艳等 2003年1月
2.Visual Basic数据库开发实例解析 机械工业出版社 刘志铭、高春艳等 2003年8月 3.Visual FoxPro数据库开发实例解析 机械工业出版社 王晶莹、王国辉等 2003年9月 4.Power Builder数据库开发实例解析 机械工业出版社 华传铭、张振坤等 2003年9月 5.Delphi数据库开发实例解析 机械工业出版社 赛奎春、郑骁鹏等 2004年2月
6.PowerBuilder 精彩编程200例 机械工业出版社 张振坤、李文立等 2004年9月 7.Visual FoxPro 精彩编程200例 机械工业出版社 王国辉、董韶华等 2004年9月 8.ASP数据库开发实例解析 机械工业出版社 李严、于亚芳、王国辉 2004年12月 9.Delphi工程应用与项目实践 机械工业出版社 宋坤、赵智勇等 2005年1月
10.Visual Basic工程应用与项目实践 机械工业出版社 高春艳、李俊民等 2005年1月 11.Visual C++工程应用与项目实践 机械工业出版社 张雨、阮伟良等 5005年1月 12.JSP工程应用与项目实践 机械工业出版社 陈威、白伟明、李楠 2005年2月 13.ASP工程应用与项目实践 机械工业出版社 王国辉、牛强、李南南 2005年4月
14.Visual Basic 信息系统开发实例精选 机械工业出版社 高春艳、李俊民、张耀庭等
2005年7月
15.ASP 信息系统开发实例精选 机械工业出版社 王国辉、牛强、李南南等 2005年7月 16.Delphi 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005年7月 17.Visual foxpro数据库开发关键技术与实例应用 人民邮电出版社 周桓、张雨、王国辉 2004年5月
18.PoweBuilder数据库开发关键技术与实例应用 人民邮电出版社 刘志铭 张振坤 冯文萃 2004年5月
19.Delphi数据库开发关键技术与实例应用 人民邮电出版社 赛奎春 陈紫鸿 宋昆
2004年5月
20.Visual basic数据库开发关键技术与实例应用 人民邮电出版社 高春艳、李艳
2004年5月
21.Visual C++ 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月 22.Visual Basic 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技
2005年7月
23.PowerBuilder 管理信息系统完整项目实例剖析 人民邮电出版社 明日科技
2005年7月
24.Visual FoxPro管理信息系统完整项目实例剖析 人民邮电出版社 明日科技 2005年7月
25.SQL Server数据库开发实例解析 机械工业出版社 宋昆、李严等 2006年1月 26.Access数据库开发实例解析 机械工业出版社 李俊民、高春燕等 2006年1月
20
附录B 数据表
(1)职员信息表(tb_employ)
职员信息表用来保存职员信息。职员信息表的结构如表B.1所示。
表B.1 职员信息表结构 字段名称 employecode fullname name sex department tel memo shortcode 字段类型 Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 字段大小 6 20 20 2 20 20 40 10 主键否 是 功能描述 职员编号 职员全称 职员简称 性别 所在部门 联系电话 备注 拼音简码 (2)进货主表(tb_warehouse_main)
进货主表用来保存进货中主要和相同的信息。进货主表的结构如表B.2所示。
表B.2 进货主表结构 字段名称 Billdate Billcode Units Handle Summary Fullpayment Payment 字段类型 datetime varchar varchar varchar varchar float float 字段大小 8 20 20 20 100 8 8 主键否 是 功能描述 录单日期 单据编号 供货单位 经手人 摘要 应付金额 实付金额 (3)进货明细表(tb_warehouse_detailed)
进货明细表用来保存进货中商品的详细信息。进货明细表结构如表B.3所示。
表B.3 进货明细表结构 字段名称 billcode tradecode fullname 字段类型 Varchar Varchar Varchar 字段大小 20 20 20 主键否 功能描述 单据编号 商品编号 商品全称 21
type standard unit produce qty price tsum billdate Varchar Varchar Char Varchar Float Float Float Datetime 10 10 4 20 8 8 8 8 商品型号 商品规格 单位 产地 数量 进价 金额 录单日期 (4)用户权限表(tb_power)
用户权限表用来保存用户权限设置信息。用户权限表结构如表B.4所示。
表B.4 用户权限表结构 字段名称 number users password stock vendition checked money system base 字段类型 Varchar Varchar Varchar Bit Bit Bit Bit Bit Bit 字段大小 20 20 20 1 1 1 1 1 1 主键否 是 功能描述 用户编号 用户名称 用户密码 进货管理 销售管理 库存管理 钱流管理 系统维护 基本信息 (5)费用表(tb_cf)
费用表用于记录费用信息。费用表结构如表B.5所示。
表B.5 费用表结构 字段名称 billdate billcode units number name handle fullpayment payment summary 22
字段类型 datetime varchar varchar varchar varchar varchar varchar float varchar 字段大小 8 20 20 20 20 20 20 8 20 主键否 功能描述 录单日期 单据编号 收款单位 费用项目编号 费用项目名称 经手人 应付金额 实付金额 摘要
(6)往来账明细表(tb_currentaccount)
往来账明细表用于记录往来单位的应收、应付账目。往来账明细表结构如表B.6所示。
表B.6 往来账明细表结构 字段名称 billdate billcode units addgathering reducegathering balance summary 字段类型 datetime varchar varhcar float float float varchar 字段大小 8 20 20 8 8 8 100 主键否 是 功能描述 录单日期 单据编号 往来单位 应收增加 应收减少 应收余额 摘要
(7)费用类型表(tb_freetype)
费用类型表用于存储费用类型信息。费用类型表表结构如表B.7所示。
表B.7 费用类型表 字段名称 subjectcode fullname name memo shortcode 字段类型 varchar varhcar varchar varhcar varchar 字段大小 3 20 10 40 10 主键否 是 功能描述 科目编号 科目全称 科目简称 备注 拼音简码 (8)收款信息表(tb_gathering)
收款信息表用于保存收款信息。收款信息表结构如表B.8所示。
表B.8 收款信息表结构 字段名称 billdate billcode units gathering handle summary 字段类型 datetime varchar varchar float varchar varchar 字段大小 8 20 20 8 20 40 主键否 是 功能描述 录单日期 单据编号 付款单位 金额 经手人 摘要
(9)付款信息表(tb_payment)
付款信息表用于保存付款信息。付款表结构如表B.9所示。
23
表B.9 付款表结构 字段名称 billdate billcode units payment handle summary 字段类型 datetime varchar varchar float varchar varchar 字段大小 8 20 20 8 20 100 主键否 是 功能描述 录单日期 单据编号 收款单位 金额 经手人 摘要
(10)销售退货明细表(tb_resell_detailed)
销售退货明细表用于保存销售退货的详细信息。销售退货明细表结构如表10所示。
表B.10 销售退货明细表结构 字段名称 billcode tradecode Fullname standard type unit produce qty price tsum billdate 字段类型 Varchar Varchar Varchar varchar varchar char varchar float float float datetime 字段大小 20 20 20 10 10 4 20 8 8 8 8 主键否 功能描述 单据编号 商品编号 商品全名 商品规格 商品型号 单位 产地 数量 单价 金额 录单日期
(11)销售退货表(tb_resell_main)
销售退货表用于保存销售退货。销售退货表结构如表B.11所示。
表B.11 销售退货表结构
字段名 billdate billcode units handle summary fullpayment payment 24
数据类型 datetime varchar varchar varchar varchar float float 长度 20 20 20 100 8 8 主键否 是 功能描述 录单日期 单据编号 退货单位 经手人 摘要 应付金额 实付金额
(12)进货退货明细表(tb_rewarehouse_detailed)
进货退货明细表用于保存进货退货详细信息。进货退货明细表结构如表B.12所示。
表B.12 进货退货明细表
字段名 数据类型 长度 主键否 功能描述 billcode varchar 20 单据编号 tradecode varchar 20 商品编号 fullname varchar 20 商品全称 type varchar 10 商品型号 standard varchar 10 商品规格 unit varchar 4 单位 produce varchar 20 产地 qty float 8 数量 price float 8 进价 tsum float 8 金额 billdate datetime 8 录单日期 (13)进货退货表(tb_rewarehouse_main)
进货退货表用于存储进货退货中主要的和相同的信息。进货退货表结构如表B.13所示。
表B.13 进货退货表
字段名 billdate billcode units handle summary fullgathering 数据类型 datetime varchar varchar varchar varchar float 长度 20 20 20 100 8 主键否 是 功能描述 录单日期 单据编号 收货单位 经手人 摘要 应收金额 实收金额 gathering float 8 (14)销售明细表(tb_sell_detailed)
销售明细表用于保存销售详细信息。销售明细表结构如表B.14所示。
表B.14 销售明细表
字段名 billcode tradecode fullname type standard unit produce 数据类型 varchar varchar varchar varchar varchar varchar varchar 长度 20 20 20 10 10 4 20 主键否 功能描述 单据编号 商品编号 商品全称 商品型号 商品规格 单位 产地 25
qty float 8 数量 price float 8 单价 tsum float 8 金额 billdate datetime 8 录单日期
(15)销售表(tb_sell_main)
销售表用于保存销售信息中主要的和相同的信息。销售表结构如表B.15所示。
表B.15 销售表结构
字段名 billdate billcode units handle summary fullgathering 数据类型 varchar varchar varchar varchar varchar float 长度 20 20 20 20 100 8 主键否 是 功能描述 录单日期 单据编号 购货单位 经手人 摘要 应收金额 gathering float 8 实收金额 (16)库存商品信息表(tb_stock)
库存商品信息表用于保存库存商品信息。库存商品表结构如表B.16所示。
表B.16 库存商品表结构
字段名 tradecode fullnamed name type standard unit produce qty price averageprice saleprice checked upperlimit lowerlimit 数据类型 varchar varchar varchar varchar varchar varchar varchar float float float float float int int 长度 6 20 10 10 10 4 20 8 8 8 8 8 4 4 主键否 是 功能描述 商品编号 商品全名 商品简称 商品类型 商品规格 单位 产地 库存数量 进货时的最后一次进价 加权平均价 销售时的最后一次销价 盘点数量 存货报警上限 存货报警下限 26
provideinf varchar 40 memo varchar 40 shortcode varchar 10
(17)本单位信息表(tb_unit)
本单位信息表用于保存本单位的信息。本单位信息表结构如表B.17所示。
表B.17 本单位信息表结构
商品供货信息 备注 拼音简码 字段名 number name simplename tax tel linkman address accounts 数据类型 varchar varchar varchar varchar varchar varchar varchar varchar 长度 20 50 10 30 20 10 60 80 主键否 是 功能描述 单位编号 单位全称 单位简称 税号 单位电话 联系人 单位地址 开户行及帐号 (18)往来单位信息表(tb_units)
往来单位信息表用于保存往来单位的信息。往来单位信息表结构如表B.18所示。
表B.18 往来单位信息表结构
字段名 unitcode fullname name tax tel linkman address accounts gathering payment shortcode 数据类型 varchar varchar varchar varchar varchar varchar varchar varchar float float varchar 长度 5 20 10 30 20 10 60 80 8 8 10 主键否 是 功能描述 单位编号 单位全名 单位简称 税号 单位电话 联系人 单位地址 开户行及帐号 累计应收款 累计应付款 拼音简码 27
附录C 文件架构图
主文件架构图
为了使读者能够对系统文件有更清晰的认识及使用,笔者在此设计了文件架构图,如图C.1所示。
图C.1 主文件架构图
进货管理架构图,如图C.2所示。
窗体名:F_ghdw(单位选择)窗体名:F_jhd(进货单录入)窗体名:F_jsr(经手人选择)窗体名:F_kcspxz(库存商品选择)进货管理窗体名:F_ghdw(单位选择)窗体名:F_jsr(经手人选择)窗体名:F_jhthd(进货退货单录入)窗体名:F_kcspxz(库存商品选择) 图C.2 进货管理架构图
销售管理架构图,如图C.3所示。
28
窗体名:F_ghdw(单位选择)窗体名:F_xsd(销售单录入)窗体名:F_jsr(经手人选择)窗体名:F_kcspxz(库存商品选择)销售管理窗体名:F_ghdw(单位选择)窗体名:F_jsr(经手人选择)窗体名:F_xsthd(销售退货单录入)窗体名:F_kcspxz(库存商品选择)图C.3 销售管理架构图
库存管理架构图,如图C.4所示。
窗体名:F_kcpd(库存盘点)窗体名:F_kcbd(进销存变动)库存管理窗体名:F_ygysdz(库存报警)窗体名:F_kczk(库存状况) 图C.4 库存管理架构图
29
正在阅读:
《进销存管理系统》论文范例01-26
第二章 气相色谱法(3)06-11
2017年反洗钱考试试题库及答案05-16
2019-2025年中国团膳及快餐服务行业竞争格局分析及投资战略咨询05-15
普通昆虫学 期末复习资料 - 图文10-09
(5—6年级)课外必读和选读书目推荐02-27
2016秋北师大版道德与法治一年级上册第3课《我们小学生要这样做》word教学设计12-23
文言翻译(高一上)07-03
T3用友通标准版产品介绍07-17
2016中考物理总复习专题训练 通用912-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 进销存
- 范例
- 管理系统
- 论文
- 大一c语言考试试题
- 2018中国银行软件中心社会招聘公告
- 200平米新房北欧日式混搭装修效果图
- 2018年廉洁教育月活动谈话提纲模板(适用于支部“第一种形态”谈心谈话)
- 离散数学12-13学年一学期试卷B
- 仓库管理员试题及答案
- 制度课
- 连云港心理健康与心理调适考试答案 - 图文
- 在创建省级园林县城暨城建工作动员大会上的讲话
- 2016春季电教教材推荐目录
- 半波对称阵子天线辐射特性
- 关于我市乡风文明建设情况的调研报告
- 初中物理8年级(人教版)教学资源模板样例
- 第一次全国水利普查质量控制工作细则 - 图文
- 音响放大器课程设计与制作 - - 图文
- 行政组织学答案
- 祭父文范文选萃-追悼会范文写作
- 安全生产包保责任书5篇
- 2017届高考物理一轮复习 专题汇编 5 带电粒子在电场中运动的综合问题作业手册
- 苏教版初中化学总复习