页眉内容:精品资料网()25万份精华管理资料,2万多集管理视频讲座精品资料网()专业提供企管培训资料进销存管理系统实战序如今企业管理软件种类繁多,从最初的财务软件到进销存财务一体,到现在的ERP(企业资源计划)、CRM(客户资源管理)等,单从技术来说,它的基础还是以数据为中心的,各种分析报告、财务报表等无不源于实际业务中产生的记录,所以本文考虑从初学者的角度出发来讲解进销存的初步知识,希望读者能从中总结出经验来。一个项目的实施首先要做好前期规划,这是必需的,也是非常重要的,如果这个没做好,那么修改代码将是一件非常麻烦、痛苦的事。本例仅从技术的实现讲解,首先确定需要实现的功能,其次进行数据库的设计。主要模块如下:(1)初始化,也就是基本资料的录入,其中分为商品资料、供应商资料、客户、业务员、商品类别、员工档案、支付方式、库房资料(2)进货管理,包括进货单录入以及查询功能(按时间、商品编号、商品名称、数量、业务员、供应商、支付方式等,应分为汇总及明细)(3)销售管理,基本同上,不同的是供应商改为客户即可(4)库存管理,包括即时库存明细(汇总)、查询、库存盘盈整(本文略)等。(5)财务管理,包括销售收益、支出、销售额明细(汇总)、应收、应付、已付、应付、费用明细(汇总)等(6)其他,包括定单管理、预测分析、整理数据、备份数据等功能(略)(见数据库设计)本文内容依次为:进货管理(frmjhgl)、销售管理(frmxsgl)、财务管理(frmcwgl)、查找商品(frmfindsp)、查询记录及打印模块(modprint)。(如图一)尾:怎么样,一个比较实用的进销存管理程序产生了。限于篇幅,笔者只能刊登几个基础模块,当然这个程序及思路可能另大型软件公司的程序员不屑一顾,这就需要读者们自行根据实际来添加所需功能了。数据库设计做这类程序其关键在于数据库的操作,下面列出本程序中的所用数据库的结构,以便大家阅读方便:[表名]col1=依次为字段名、字段类型、长度等。数据库内容:[仓库]Col1=编号CharWidth10Col2=仓库名称CharWidth8Col3=所属类别CharWidth8Col4=备注CharWidth20[费用]Col1=编号CharWidth10Col2=日期DateCol3=摘要CharWidth40Col4=金额CurrencyCol5=付款方式CharWidth4Col6=备注CharWidth20[付款方式]Col1=编号CharWidth10Col2=付款方式CharWidth4Col3=备注CharWidth20[供应商]Col1=编号CharWidth10Col2=名称CharWidth20Col3=联系人CharWidth8Col4=电话CharWidth20Col5=传真CharWidth20Col6=邮政编码CharWidth12Col7=地址CharWidth50Col8=EmailCharWidth20Col9=网址CharWidth20Col10=税号CharWidth50Col11=帐号CharWidth50Col12=开户行CharWidth50Col13=备注CharWidth20[进货记录]Col1=商品编号CharWidth10Col2=商品名称CharWidth20Col3=单位CharWidth4Col4=存放仓库CharWidth8Col5=数量IntegerCol6=单价CurrencyCol7=金额CurrencyCol8=业务员CharWidth8Col9=进货单号CharWidth20Col10=日期DateCol11=供应商CharWidth30Col12=付款方式CharWidth10Col13=备注CharWidth20[客户]Col1=编号CharWidth10Col2=名称CharWidth20Col3=联系人CharWidth8Col4=电话CharWidth20Col5=传真CharWidth20Col6=邮政编码CharWidth12Col7=地址CharWidth50Col8=EmailCharWidth30Col9=网址CharWidth30Col10=税号CharWidth50Col11=帐号CharWidth50Col12=开户行CharWidth50Col13=信誉度CharWidth10Col14=备注CharWidth20[库存]Col1=商品编号CharWidth10Col2=商品名称CharWidth20Col3=单位CharWidth4Col4=数量IntegerCol5=仓库CharWidth8[类别]Col1=编号CharWidth10Col2=类别名称CharWidth20Col3=备注CharWidth20[商品]Col1=编号CharWidth10Col2=名称CharWidth20Col3=单位CharWidth4Col4=类别CharWidth8Col5=进货价CurrencyCol6=销售价CurrencyCol7=供应商CharWidth20Col8=备注CharWidth20[销售记录]Col1=商品编号CharWidth10Col2=商品名称CharWidth20Col3=单位CharWidth4Col4=存放仓库CharWidth8Col5=数量IntegerCol6=单价CurrencyCol7=金额CurrencyCol8=业务员CharWidth8Col9=出货单号CharWidth20Col10=日期DateCol11=客户CharWidth20Col12=付款方式CharWidth4Col13=备注CharWidth20[业务员]Col1=编号CharWidth10Col2=姓名CharWidth8Col3=所属部门CharWidth20Col4=个人电话CharWidth20Col5=家庭住址CharWidth20Col6=身份证号码CharWidth40Col7=备注CharWidth20[员工档案]Col1=编号CharWidth10Col2=姓名CharWidth8Col3=姓别CharWidth2Col4=所属部门CharWidth20Col5=工种CharWidth10Col6=上工时间CharWidth20Col7=身份证号码CharWidth40Col8=个人电话CharWidth20Col9=家庭住址CharWidth40Col10=EmailCharWidth20Col11=婚否BitCol12=生日DateCol13=爱好CharWidth10Col14=忠诚度CharWidth10Col15=备注CharWidth20一:进货管理此模块的技术关键是在保存记录上,在为“销售记录”表中存数据时应同时向“库存记录”表添加,如果有此商品则在原有的基础上进行加法运算,否则添加新记录。在销售管理中原理也是这样,不过如果库存里没有此类商品就不允许用户进行销售操作。frmjhgl(进货管理)模块中所有控件的相关设置:(1)TextBox:本模块共用8个文本框,其Name属性分别为:txtname(商品名称)、txtliang(数量)、txtdanjia(单价)、txtbianhao(商品编号)、txtjhdata(操作日期)、txtjine(金额)、txtjine(金额)、txtshuiq(税前金额)、txtshui(税率)datasource属性分别为:data1,datafield为空。另添加三个combobox控件(cmbcj、cmbywy、cmbjie),用来显示厂家、业务员及结算方式(即结、欠付等)(2)四个command控件,name属性分别为:cmdaddnew、cmdsave、cmdcancel、cmdquit。caption属性分别为:新单、保存、取消、退出代码:DimzxhAsBoolean'判断用户输入数据是否为空PrivateSubaddywy()'为combobox控件添加内容DimdbAsDatabaseDimrsAsRecordsetSetdb=OpenDatabase(App.Path&jxc.mdb)Setrs=db.OpenRecordset(业务员)WhileNotrs.EOFcmbywy.AddItemrs.Fields(业务员名称).Valuers.MoveNextWendrs.CloseSetrs=Nothingdb.CloseSetdb=NothingEndSubPrivateSubaddcj()DimdbAsDatabaseDimrsAsRecordsetSetdb=OpenDatabase(App.Path&jxc.mdb)Setrs=db.OpenRecordset(厂家)WhileNotrs.EOFcmbcj.AddItemrs.Fields(厂家名称).Valuers.MoveNextWendrs.CloseSetrs=Nothingdb.CloseSetdb=NothingEndSubPrivateSubnotnull()Iftxtbianhao.Text=Thenzxh=TrueMsgBox商品编号不能为空,vbInformation,试图添加空记录EndIfIftxtname.Text=Thenzxh=TrueMsgBox商品名称不能为空,vbInformation,试图添加空记录EndIfIftxtliang.Text=Thenzxh=TrueMsgBox数量不能为空,vbInformation,试图添加空记录EndIfEndSubPrivateSubcmdaddnew_Click()Data1.Recordset.AddNewtxtjhdata.Text=Datecmdsave.Enabled=Truecmdcancel.Enabled=Truecmdaddnew.Enabled=FalseEndSubPrivateSubcmdcancel_Click()Data1.Recordset.CancelUpdatecmdaddnew.Enabled=Truecmdsave.Enabled=Falsecmdcancel.Enabled=FalseEndSubPrivateSubcmdsave_Click()Dimfield_value$,txtliang_value$Dimjhbh$,ccbh$,jhna$cmdaddnew.Enabled=Truecmdsave.Enabled=Falsecmdcancel.Enabled=FalseOnErrorGoToerrtxtliang_value=txtliang.Textjhbh=txtbianhao.Textjhna=txtname.TextCallnotnullIfzxh=TrueThenData1.Recordset.CancelUpdateElse'执行Me.MousePointer=11Data1.Recordset.Update'必须初始化绑定字段txtdanjia.datafield=txtjhdata.datafield=txtjine.datafield=cmbcj.datafield=cmbywy.datafield=cmbjie.datafield='向库存添加Data1.RecordSource=即时库存Data1.RefreshData1.Recordset.MoveFirstWhileccbhjhbhAndNotData1.Recordset.EOFccbh=Data1.Recordset.Fields(商品编号).ValueIfccbh=jhbhThenccbh=Data1.Recordset.Fields(商品编号).ValueElseData1.Recordset.MoveNextEndIfWendIfccbh=jhbhThenData1.Recordse