已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
进销存信息管理系统设计报告目 录摘要 11系统分析11.1需求分析11.2可行性分析11.3系统流程设计12设计思路与过程32.1创建数据库32.1.1数据库设计32.1.2创建数据库52.2系统功能设计52.2.1系统主表单设计62.2.2“信息管理”模块的设计72.2.3“日常操作”模块的设计92.2.4“信息查询”模块的设计112.2.5“信息统计”模块的设计132.2.6“系统管理”模块的设计142.3创建系统主表单152.3.1创建主程序152.3.2创建“AutoAdd”函数162.3.3隐藏Visual FoxPro主窗口172.3.4创建系统主菜单172.3.5创建系统主表单172.4创建可视类182.4.1创建“移动记录命令组”类182.4.2创建“记录操作命令组”类212.5创建“信息管理”模块222.5.1创建“商品信息管理”表单222.5.2创建“商品分类管理”表单262.5.3创建其他表单272.6创建“日常操作”模块272.6.1创建“商品进货操作”表单272.6.2创建“商品出货操作”表单302.6.3创建“仓库转存操作”表单352.6.4创建“选择商品”表单382.7创建“信息查询”模块392.7.1创建“进货记录查询”表单392.7.2创建其他查询表单412.8创建“信息统计”模块412.8.1创建“热销商品统计”表单412.8.2创建“短缺商品统计”表单412.9创建“系统管理”模块412.9.1创建“系统登录”表单412.9.2创建“修改密码”表单432.10连编与运行443、总结44参考文献45致谢45进销存信息管理系统设计报告摘要进销存管理系统作为商品或者货物管理必须要涉及到的部分,在各种企业中有广泛的应用前景。本系统可以录入保存商品、客户、供货商等基本资料,完成货品的进货、出货、退货和转存等日常操作。通过对日常操作的查询,用户可以掌握货品流通情况,并能够对货品情况进行统计。此外,通过帐户信息的管理,系统确保正常使用时的安全稳定性。本系统的开发适用于多个行业,可以帮助企业快速有效地管理进货、销售、库存等各项业务,合理控制进销存各个环节,提高资金利用率,实现管理高效率和实时性。1系统分析1.1需求分析根据市场的需求,要求系统具有以下功能:1、系统操作简单,界面友好;2、规范、完善的基础信息设置;3、为了方便用户,要求系统支持多条件查询;4、支持多报表打印功能;5、图表分析销售状况;6、具有数据备份及数据恢复功能,保证系统数据的安全。1.2可行性分析 使用传统的手工管理方式,一方面效率低下,另一方面容易造成错误。随着企业信息化进程的不断发展,商品或货物实行信息化管理,可以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的失误。进销存管理在公司企业的商品或者货物管理中都有广泛的应用前景。1.3系统流程设计1、仓库出货、出库、查询数据流程图一:2、仓库进货、入库、查询数据流程图二:3、热销商品统计数据流程图三:4、短缺商品统计数据流程图四:2设计思路与过程2.1创建数据库数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。2.1.1数据库设计经过如上的分析,本系统中需要使用的数据库包括“用户信息”、“商品信息”、“分类信息”、“仓库信息”、“供货商信息”、“客户信息”、“进货信息”、“出货信息”、“退货信息”和“库存信息”10个表组成,下面是表的设计情况:1、“用户信息表”(UserInfo):用来保存可以登录系统用户的用户名及密码信息字段名字段类型字段宽度小数位数说明用户名字符型20主索引字段密码字符型202、“商品信息表”(ProInfo):保存用来进行进销存的商品的信息字段名字段类型字段宽度小数位数说明商品编号字符型6主索引字段商品名称字符型40商品类别字符型4普通索引字段商品单位字符型6商品单价浮点型81库存下限浮点型80产地字符型40说明备注型43、“分类信息表”(CatInfo):保存商品的分类信息字段名字段类型字段宽度小数位数说明类型编号字符型4主索引字段类型名称字符型204、“仓库信息表”(Depot):保存商品存储的仓库信息字段名字段类型字段宽度小数位数说明仓库编号字符型4主索引字段仓库名称字符型30仓库位置字符型20仓库管理员字符型20仓库电话字符型135、“供货商信息表”(SupInfo):保存提供商品的供货商信息字段名字段类型字段宽度小数位数说明供货商编号字符型8主索引字段供货商名称字符型30联系人字符型20地址字符型40邮编字符型6输入掩码999999电话字符型13类别1字符型4普通索引字段类别2字符型4普通索引字段类别3字符型4普通索引字段说明字符型1006、“客户信息表”(CliInfo):保存购买商品的客户的信息字段名字段类型字段宽度小数位数说明客户编号字符型8主索引字段客户名称字符型40联系人字符型20地址字符型40邮编字符型20输入掩码999999电话字符型13说明字符型1007、“进货信息表”(InRec):保存进货操作留下的记录字段名字段类型字段宽度小数位数说明进货编号字符型12主索引商品编号字符型6普通索引进货单价浮点型81进货数量浮点型81供货单位字符型8普通索引进货日期日期型8存放位置字符型4普通索引经手人字符型308、“出货信息表”(OutRec):保存出货操作留下的记录字段名字段类型字段宽度小数位数说明出货编号字符型12主索引商品编号字符型6普通索引出货单价浮点型81出货数量浮点型81出货日期字符型8普通索引出货仓库日期型8客户编号字符型4普通索引经手人字符型309、“退货信息表”(BackjRec):保存退货操作留下的记录字段名字段类型字段宽度小数位数说明退货编号字符型12主索引字段商品编号字符型6普通索引退货数量浮点型81经手人字符型20退货日期日期型8普通索引退货原因字符型810010、“库存信息表”(StoreInfo):保存商品的库存信息字段名字段类型字段宽度小数位数说明商品编号字符型6普通索引仓库编号字符型4普通索引库存数量浮点型812.1.2创建数据库 使用VisualPro进行程序开发时,使用项目管理器来管理应用程序的开发过程可以使开发过程比较规范,减少误操作带来的损失。要使用项目管理器,首先需要创建项目。 在VisualPro主窗口的菜单栏中依次选择“File”、“New”,在打开的“New”对话框的“File Type”选项组中选择“Project”按钮,单击“New File”按钮,在打开的“Create”对话框中定位项目文件的保存位置及项目文件的名称后单击“Save”按钮即可完成一个项目的创建。命名本项目为“JXC”。 创建好项目后就可以打开项目管理器,在项目管理器中创建一个名叫“JXC”的数据库。然后创建上一节中的十个表。2.2系统功能设计根据系统功能的要求,进销存管理系统分为五个功能模块,信息管理模块、日常操作模块、信息查询模块、信息统计模块和系统管理模块。信息管理日常操作信息查询信息统计系统管理商品信息管理商品分类管理仓库信息管理客户信息管理商品退货操作商品进货操作商品出货操作供货商信息管理进货记录查询退货记录查询短缺商品统计热销商品统计出货记录查询商品库存查询仓库转存操作关于系统修改密码系统登陆进销存管理系统2.2.1系统主表单设计双击可执行程序jxc.exe,即可以打开“系统登录”表单,在该表单中输入正确的用户名和密码后,单击“确定”按钮即可进入系统主表单。系统主表单是系统中其他表单的父表单,该表单中主要用来装载系统主菜单和状态栏。系统主菜单根据各个功能模块来划分,每个功能模块站用一个菜单。系统提供的所有的功能都将通过主菜单来调用。2.2.2“信息管理”模块的设计 “信息管理”模块主要用来管理系统中可能用到的基础数据,例如商品、客户、供货商等信息。该模块的功能主要包括“商品信息管理”“商品分类管理”“仓库信息管理”“客户信息管理”和“供货商信息管理”等5项功能。1、“商品信息管理”功能在系统主表单的菜单栏中依次选择“信息管理”“商品信息管理”,打开如图所示的“商品信息管理”表单。该表单主要用来管理商品的信息,包括浏览、新增、修改和删除商品的信息。2、“商品分类管理”功能在系统主表单的菜单栏中依次选择“信息管理”“商品分类管理”,打开如图所示的“商品分类管理”表单。该表单主要用来管理商品的分类,包括浏览、新增、修改和删除商品的分类信息。3、“仓库信息管理”功能在系统主表单的菜单栏中依次选择“信息管理”“仓库信息管理”,打开如图所示的“仓库信息管理”表单。该表单主要用来管理商品的信息,包括浏览、新增、修改和删除仓库的信息。4、“供货商信息管理”功能在系统主表单的菜单栏中依次选择“信息管理”“供货商信息管理”,打开如图所示的“供货商信息管理”表单。该表单主要用来管理商品的信息,包括浏览、新增、修改和删除供货商的信息。5、“客户信息管理”功能在系统主表单的菜单栏中依次选择“信息管理”“客户信息管理”,打开如图所示的“客户信息管理”表单。该表单主要用来管理商品的信息,包括浏览、新增、修改和删除客户的信息。2.2.3“日常操作”模块的设计“日常操作”模块用来对系统中的数据进行联合操作,主要包括“商品进货操作”“商品出货操作”“商品退货操作”和“仓库转库操作”等4项功能。该模块是进销存管理系统的主体。1、“商品进货操作”功能在系统主表单的菜单栏依次选择“日常操作”“商品进货操作”,打开如图所示的“商品进货操作表单。”“商品进货操作”表单用来进行商品的进货操作,使用该功能将产生1条记录,并且产生相应商品的库存记录。在“商品进货操作”表单中首先通过单击“商品编号”文本框右侧的“选择”按钮,打开如图所示的“选择商品”表单来选择要进货的商品。然后单击“供货单位”文本框右侧的“选择”按钮打开如图所示的“选择供货商”表单来选择供应商品的供货商。再在“存放位置”组合框中选择进货商品存放的位置,最后输入“经手人”的名称即可完成一次进货。另外,如果选中“打印进货记录”复选框后单击“确定”按钮可以在完成一次进货操作的同时将该次进货操作产生的记录打印输出。2、“商品出货操作”功能在系统主表单的菜单栏依次选择“日常操作”“商品出货操作”,打开如图所示的“商品出货操作”表单。“商品出货操作”表单用来进行商品的出货操作,使用该功能将产生1条出货记录,并且导致相应商品的库存发生变化。3、“商品退货操作”功能在系统主表单的菜单栏依次选择“日常操作”“商品退货操作”,打开如图所示的“商品退货操作”表单。“商品退货操作”表单用来进行商品的退货操作,使用该功能将产生1条退货记录。4、“仓库转存操作”功能在系统主表单的菜单栏依次选择“日常操作”“仓库转存操作”,打开如图所示的“仓库转存操作”表单。“仓库转存操作”表单可以将一个仓库中的一项或者所有商品转存到另一个仓库中,选择源仓库和目标仓库,并选择要转存的商品,单击“确定”按钮即可完成转存操作。2.2.4“信息查询”模块的设计“信息查询”模块用来查询“日常操作”模块中的操作产生的记录,主要包括“进货记录查询”“出货记录查询”“退货记录查询”和“商品库存查询”等4项功能。“信息查询”模块对于进销存管理系统来说是必要的,商品的进销存都会产生大量的记录,通过对记录的查询与统计可以明确地了解超市的营业状况。1、“进货记录查询”功能在系统主表单的菜单栏依次选择“信息查询”“进货记录查询”,打开如图所示的“进货记录查询”表单。在“进货记录查询”表单中可以按照“商品编号”“商品名称”“供货单位”“经手人”和“进货日期”等字段组合查询商品的进货记录,并且可以查询某个月份的进货记录。查询结束以后,单击“打印”按钮即可将结果打印输出。2、“出货记录查询”功能在系统主表单的菜单栏依次选择“信息查询”“出货记录查询”,打开如图所示的“出货记录查询”表单。“出货记录查询”表单可以按照多种查询方式来查询商品出货操作产生的出货记录,查询结束后可以将查询结果打印输出。3、“退货记录查询”功能在系统主表单的菜单栏依次选择“信息查询”“退货记录查询”,打开如图所示的“退货记录查询”表单。“退货记录查询”表单可以按照多种查询方式来查询商品退货操作产生的退货记录,查询结束后可以将查询结果打印输出。4、“商品库存查询”功能在系统主表单的菜单栏依次选择“信息查询”“商品库存查询”,打开如图所示的“商品库存查询”表单。“商品库存查询”表单可以按照多种查询方式来查询商品的库存信息,查询结束后可以将查询结果打印输出。2.2.5“信息统计”模块的设计“信息统计”模块用来在数据库中进行基本的统计,主要包括“热销商品统计”和“短缺商品统计”功能。“信息统计”模块对于进销存管理系统来说是必要的,数据库中的数据只有经过统计才能够发现问题,本实例中仅仅实现了“热销商品统计”和“短缺商品统计”功能,另外还可以扩展,例如商品出货统计,统计当月各类商品的出货情况等。“信息查询”模块只是查询客户记录,而“信息统计”模块则对客观的记录进行统计。1、“热销商品统计”功能在系统主表单的菜单栏依次选择“信息查询”“热销商品统计”,打开如图所示的“热销商品统计”表单。“热销商品统计”表单中显示了销售量居于前20位的商品的编号、商品名称、商品单位、商品单价和销售量等信息,单击“打印”可以将排行结果打印输出。2、“短缺商品统计”功能在系统主表单的菜单栏依次选择菜单“信息统计”“短缺商品统计”,打开如图所示的“短缺商品统计”表单。“短缺商品统计”表单显示了有库存的商品中库存数量小于商品的库存下限的商品的信息,单击“打印”按钮可以将统计结果打印输出。2.2.6“系统管理”模块的设计“系统管理”模块用来进行程序管理方面的功能,主要包括“系统登录”和“修改密码”这两项功能。“系统管理”模块中是一个数据库应用程序所必须的,数据库应用程序要保证其数据安全,最基本的措施就是对是对系统设置用户名和密码,并且可以更改密码。1、“系统登录”功能双击进销存管理系统的可执行程序即可打开如图所示的“系统登录”表单。只有使用合法的用户名与密码登录系统才能使用系统,同时使用错误的用户名与密码试图登录3次后,系统将会自动退出,避免有人使用程序来恶意破解用户名和密码。2、“修改密码”功能在系统主表单的菜单栏中依次选择菜单“系统管理”“修改密码”即可打开如图所示的“修改密码”表单。在“修改密码”表单中输入正确的原密码和两次匹配的新密码后单击“确定”按钮即可完成密码的修改。2.3创建系统主表单系统主表单是一个程序中主要的界面,在本设计中要创建主表单需要首先创建主程序、主菜单。2.3.1创建主程序 在Visual FoxPro中,主程序一般执行以下功能:1、 设置运行环境主程序中的设置运行环境的代码如下:set escape off set talk offset safety offset stat bar offset sysmenu offset sysmenu toset century onset date YMD2、 避免程序多次运行使用API函数“FindWindow”来实现。在主程序启动时,使用该函数来查找具有特定标题的窗口,如果找到,则认为程序已经运行,如果没有找到,则将主窗口的标题设置为特定的标题。代码如下:DECLARE Integer FindWindow IN USER32.DLL String lpClassName,String lp WINDOWNAMElp WindowName=进销存管理系统IF .not.FindWindow(0,lpWindowName)=0 =MESSAGEBOX(程序已经运行了,48,进销存管理系统) QUITENDIF_Screen.Caption=lpWindowName3、 声明全局变量在系统的主程序中声明的全局变量的作用时间是最长的,所以可以将整个系统中都需要使用的变量放在主程序中声明。代码如下:PUBLIC cUser4、 调用系统的首个表单一般情况下,系统的首个表单可以为SPLASH表单、系统登录表单或者系统主表单。在本设计中,首个表单为“系统登录”表单,代码如下:DO FORM LOGON5、 开始事件处理2.3.2创建“AutoAdd”函数 代码如下:function autoadd(ncode)nlen=len(ncode)ncode=val(ncode)ncode=ncode+1ncode=alltrim(str(ncode)nlength=len(ncode)nzero=0000000000ncode=substr(nzero,1,nlen-length)+ncodereturn ncodeendfunc2.3.3隐藏Visual FoxPro主窗口在Visual FoxPro的命令窗口中输入如下命令:MODIFY FILE CONFIG.FPW在打开的编辑窗口中输入:SCREEN=OFF2.3.4创建系统主菜单系统主菜单结构如下表所示:菜单菜单项结果命令信息管理(A)商品信息管理(P)命令DO FORM ProAdmin商品分类管理(T)命令DO FORM CatAdmin仓库信息管理(D)命令DO FORM DepotAdmin供货商信息管理(D)命令DO FORM SupAdmin客户信息管理(C)命令DO FORM ClientAdmin日常操作(D)商品进货操作(I)命令DO FORM InAct商品出货操作(O)命令DO FORM OutAct商品退货操作(B)命令DO FORM BackAct仓库转存操作(S)命令DO FORM DepAct信息查询(F)进货记录查询(I)命令DO FORM InSer出货记录查询(O)命令DO FORM OutSer退货记录查询(B)命令DO FORM BackSer商品库存查询(S)命令DO FORM StoreSer信息统计(S)热销商品统计(h)命令DO FORM HotSell缺货商品统计(S)命令DO FORM ShortPro系统管理(D)关于系统(A)命令DO FORM About修改密码(P)命令DO FORM SetPass退出系统(X)命令CLEAR EVENTS2.3.5创建系统主表单 本主表单主要用来装载系统主菜单和状态栏,并使用1个编辑框控件来增加表单的立体感。因此在表单中添加1个状态栏控件和1个编辑框控件即可。表单及其控件属性如表所示:控件名称属性属性取值说明MainFormAutoCenter.T.-True运行时自动居中BorderStyle3-Sizable表单的边框样式Caption商品进销存管理系统表单的标题Height600表单的高度IconSysicon.ico表单的图标MDIForm.T.-True表单窗口是否为MDI窗口ShowTips.T.-True是否显示工具提示ShowWindow2-AS Top-Level Form表单的显示方式Width800表单的宽度WindowState0-Normal表单窗口的运行状态EditLeft0编辑框控件左上角横坐标Top0编辑框控件左上角纵坐标添加系统主表单的INIT事件代码如下:DO MAINMENU.MPR WITH THIS,.T.THISFORM.REFRESH主表单中Resize事件代码如下:THISFORM.EDIT1.WIDTH=THISFORM.WIDTHTHISFORM.EDIT1.HEIGHT=THISFORM.HEIGHT2.4创建可视类 在本设计中我们使用两个可视类,一个用来移动表中的记录指针位置,另一个用来对表单的记录提供操作方式。2.4.1创建“移动记录命令组”类1、创建界面 在项目管理器的“Classes”选项卡中单击“New”按钮,打开如图所示的“New Class”对话框。创建一个“移动记录命令组”类如图:属性如下:控件名称属性属性取值说明MyMoveButtonCount4命令组中按钮的个数Height40命令组的高度Width330命令组的宽度按钮Height30按钮的高度Width70按钮的宽度CmdTopCaption首记录按钮的标题ToolTipText到第一条记录按钮的提示信息CmdPreCaption上记录按钮的标题ToolTipText到上一条记录按钮的提示信息CmdNxtCaption下记录按钮的标题ToolTipText到下一条记录按钮的提示信息CmdBtmCaption末记录按钮的标题ToolTipText到最后一条记录按钮的提示信息2、添加代码单击“首记录”按钮可以将表中的记录指针移动到表的第一条记录,并且刷新表单,其代码如下:GO TOP THISFORM.REFRESH判断表中的记录指针是否位于表的第一条记录,如果不是则单击“上记录”按钮将表中的记录指针移动到表的当前记录的前一条记录,并且刷新表单,代码如下:F BOF() .OR. RECNO() = 1 MessageBox(已到首记录,48,移动记录)ELSE SKIP-1ENDIFTHISFORM.REFRESH判断表中的记录指针是否位于表的最后一条记录,如果不是则单击“下记录”按钮将表中的记录指针移动到表的当前记录的后一条记录,并且刷新表单,代码如下:IF EOF() or RecNO() = RecCount() MessageBox(已到末记录,48,移动记录)ELSE SKIPENDIFTHISFORM.REFRESH 单击“末记录”按钮可以将表中的记录指针移动到表的最后一条记录,并且刷新表单,代码如下:GO BOTTOMTHISFORM.REFRESH判断“移动记录命令组”类中的REFRESH事件中代码的流程图如下:综上,添加“移动记录命令组”类的REFRESH事件代码如下:IF (BOF() .AND. EOF() .OR. RECCOUNT()=1 THIS.Cmdtop.ENABLED=.F. THIS.Cmdpre.ENABLED=.F. THIS.Cmdnxt.ENABLED=.F. THIS.Cmdbtm.ENABLED=.F. ReturnENDIFIF RECNO()=RECCOUNT() .OR. EOF() THIS.Cmdtop.ENABLED=.T. THIS.Cmdpre.ENABLED=.T. THIS.Cmdnxt.ENABLED=.F. THIS.Cmdbtm.ENABLED=.F. ReturnENDIFIF RECNO()=1 .OR. BOF()THIS.Cmdtop.ENABLED=.F.THIS.Cmdpre.ENABLED=.F.THIS.Cmdnxt.ENABLED=.T.THIS.Cmdbtm.ENABLED=.T.ReturnENDIFTHIS.Cmdtop.ENABLED=.T.THIS.Cmdpre.ENABLED=.T.THIS.Cmdnxt.ENABLED=.T.THIS.Cmdbtm.ENABLED=.T.2.4.2创建“记录操作命令组”类 新建一个类,命名为“MyAdmin”,存储于“MyTools”类库中。创建好的“记录操作命令组”类如图:“记录操作命令组”类及其控件属性如下:控件名称属性属性取值说明MyAdminButtonCount6命令组中按钮的个数Height240命令组的高度Width70命令组的宽度按钮Height30按钮的高度Width60按钮的宽度CmdAddCaption增加按钮的标题ToolTipText增加新记录按钮的提示信息CmdModCaption修改按钮的标题ToolTipText修改当前记录按钮的提示信息CmdDelCaption删除按钮的标题ToolTipText删除当前记录按钮的提示信息CmdSaveCaption保存按钮的标题ToolTipText保存修改按钮的提示信息CmdCclCaption取消按钮的标题ToolTipText取消修改按钮的提示信息CmdExitCaption退出按钮的标题ToolTipText退出当前窗口按钮的提示信息 单击“退出”按钮,弹出确认对话框,如果确认则退出当前表单,其“Click”事件代码如下:YN=MESSAGEBOX(确定退出,4+32,进销存管理系统)IF YN=6THIS.PARENT.PARENT.RELEASEENDIF2.5创建“信息管理”模块2.5.1创建“商品信息管理”表单1、创建表单界面 在项目管理器中新建一个表单作为“商品信心管理”表单,命名为“ProAdmin”。将“商品信息”表和“分类信息”表添加到表单的数据环境中,并且使用“分类信息”表为“类别编号”字段与“商品信息”表的“商品类别”索引建立关联。 在数据环境中设置“商品信息”表的“BufferModeOverride”属性值为“2-Pessimistic Row Buffering”,设置其“Exclusive”属性值为“.T.-Ture”。创建“商品信息管理”表单见2.2.2图。设置“商品信息管理”表单及控件的属性如表:控件名称属性属性取值说明ProAdminAutoCenter.T.-Ture运行时自动居中BorderStyle2-Fixed Dialog表单的边框样式Caption商品信息管理表单的标题Height330表单的高度IconSysicon.ico表单的图标MDIForm.T.-Ture表单窗口是否为MDI窗口ShowTips.T.-Ture是否显示工具提示ShowWindow1-In Top-Level Form表单的显示方式Width560表单的宽度WindowState0-Normal表单窗口的运行状态WindowType1-Modal表单的类型标签控件AutoSize.T.-Ture标签自动调整大小BackStyle0-Transparent标签背景透明FontSize16标签的字体大小文本框控件Height25文本框的高度FontSize12文本框字体的大小SelectOnEntry.T.焦点进入选择Txt商品编号ControlSourceProinfo.商品编号文本框的数据源InputMask999999文本框的输入掩码IMEMode2-CloseIME焦点进入时关闭中文输入法Txt商品名称ControlSourceProinfo.商品名称文本框的数据源IMEMode1-OpenIME焦点进入时关闭中文输入法Cmd商品类别ControlSourceProinfo.商品类别组合框数据源RowSourceCatinfo.类别编号,类别名称组合框列表项数据源RowSourceType6-Field组合框列表项数据源类型Txt商品单位ControlSourceProinfo.商品单位文本框的数据源IMEMode1-OpenIME焦点进入时关闭中文输入法Txt商品单价ControlSourceProinfo.商品单价文本框的数据源IMEMode2-CloseIME焦点进入时关闭中文输入法Txt库存下限ControlSourceProinfo.库存下限文本框的数据源IMEMode2-CloseIME焦点进入时关闭中文输入法Txt商品单位ControlSourceProinfo.产地文本框的数据源IMEMode1-OpenIME焦点进入时关闭中文输入法Txt商品单位ControlSourceProinfo.说明文本框的数据源IMEMode1-OpenIME焦点进入时关闭中文输入法2、自定义属性与方法在“商品信息管理”表单中需要使用“FormMode”和“OldRecord”两个自定义属性,以及“SetMode”和“CheckEmpty”两个自定义方法。“SetMode”方法代码:FormMode=THISFORM.FormModeTHISFORM.SETALL(ReadOnly,!FormMode,TextBox)THISFORM.edt说明.ReadOnly=!FormModeTHISFORM.cmb商品类别.Enabled=FormModeTHISFORM.MyGroup.CmdAdd.Enabled=!FormModeTHISFORM.MyGroup.CmdExit.Enabled=!FormModeTHISFORM.MyGroup.CmdMod.Enabled=!FormModeTHISFORM.MyGroup.CmdDel.Enabled=!FormModeTHISFORM.MyGroup.CmdSave.Enabled=FormModeTHISFORM.MyGroup.CmdCcl.Enabled=FormModeTHISFORM.MyMove.Enabled=!FormMode“CheckEmpty” 方法代码:SELECT ProInfoIF EOF() .AND. BOF() .OR. RECCOUNT()=0 THISFORM.FormMode=.F. THISFORM.SetMode THISFORM.MyGroup.CmdMod.Enabled=.F. THISFORM.MyGroup.CmdDel.Enabled=.F.ENDIF3、添加代码“商品信息管理”表单的“INIT”事件代码如下:SELECT ProInfoSET FILTER TOGO TOPTHISFORM.FormMode=.F.THISFORM.SetModeTHISFORM.Refresh“商品信息管理”表单的“REFRESH”方法代码如下:THISFORM.CheckEmpty表单中“MyGroup”命令组中“增加”的“CLICK”事件代码如下:SELECT ProInfoTHISFORM.OldRecord=RECNO()GO BOTTOMIF ProInfo.商品编号=ProNo=000000ELSEProNo=ProInfo.商品编号ENDIFProNo=AutoAdd(ProNo)APPEND BLANKTHISFORM.txt商品编号.Value=ProNoTHISFORM.FormMode=.T.THISFORM.SetModeTHISFORM.Refresh 表单中“MyGroup”命令组中的“修改”按钮“CLICK”事件代码如下:SELECT ProInfoTHISFORM.OldRecord=RECNO()THISFORM.FormMode=.T.THISFORM.SetModeTHISFORM.Refresh“删除”按钮“CLICK”事件代码如下:YN=MESSAGEBOX(确定删除,4+32,进销存管理系统)IF YN=6SELECT ProInfoDELETEPACKTHISFORM.RefreshENDIF“保存”按钮“CLICK”事件代码如下:IF EMPTY(ALLTRIM(THISFORM.txt商品编号.Value)MESSAGEBOX(商品编号不能为空,48,进销存管理系统)THISFORM.txt商品编号.SetFocusReturnENDIFIF EMPTY(ALLTRIM(THISFORM.txt商品名称.Value)MESSAGEBOX(商品名称不能为空,48,进销存管理系统)THISFORM.txt商品名称.SetFocusReturnENDIFIF EMPTY(THISFORM.cmb商品类别.Value)MESSAGEBOX(商品类别不能为空,48,进销存管理系统)THISFORM.cmb商品类别.SetFocusReturnENDIFIF EMPTY(ALLTRIM(THISFORM.txt商品单位.Value)MESSAGEBOX(商品单位不能为空,48,进销存管理系统)THISFORM.txt商品单位.SetFocusReturnENDIFIF THISFORM.txt商品单价.Value0GO THISFORM.oldRecordENDIFTHISFORM.FormMode=.F.THISFORM.SetModeTHISFORM.RefreshENDIF2.5.2创建“商品分类管理”表单“商品分类管理”表单是一对多表单。1、 创建表单界面见2.2.2图。设置表单及其控件的属性如表:控件名称属性属性取值说明CatAdminAutoCenter.T.-Ture运行时自动居中BorderStyle2-Fixed Dialog表单的边框样式Caption商品分类管理表单的标题Height330表单的高度IconSysicon.ico表单的图标MDIForm.T.-Ture表单窗口是否为MDI窗口ShowTips.T.-Ture是否显示工具提示ShowWindow1-In Top-Level Form表单的显示方式Width560表单的宽度WindowState0-Normal表单窗口的运行状态WindowType1-Modal表单的类型Txt类别编号ControlSourceCatinfo.类别编号文本框的数据源InputMask9999文本框的输入掩码IMEMode2-CloseIME焦点进入时关闭中文输入法Txt类别名称ControlSourceCatinfo.类别名称文本框的数据源IMEMode1-OpenIME焦点进入时关闭中文输入法Grid1ReadOnly.T.-Ture表格控件只读2、 添加自定义属性与方法在表单中添加两个自定义属性“FormMode”和“OldRecord”,将其初始值分别设置为0和.F.。再添加“SetMode”和“CheckEmpty”两个自定义方法的代码,这里代码与“商品信息管理”表单基本相同。3、 添加代码“商品分类管理”表单中大部分代码与“商品信息管理”表单相同,只有“MyGroup”命令组中的“删除”按钮不同,“删除”按钮“CLICK”事件代码如下:YN=MESSAGEBOX(确定删除,4+32,进销存管理系统)IF YN=6SELECT 商品编号 FROM ProInfo WHERE ALLTRIM(商品类别)=;ALLTRIM(THISFORM.txt类别编号.Value) INTO Cursor TmpSELECT TmpIF .NOT. (EOF() .AND. BOF() .OR. RECCOUNT()=0)MESSAGEBOX(该类别中仍然存在商品,48,进销存管理系统)USEReturnENDIFSELECT CatInfoDELETETHISFORM.Grid1.RecordSource=NULLPACKTHISFORM.Grid1.R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医敷贴护理个案
- 2026年质量员之土建质量专业管理实务考试题库200道含完整答案【各地真题】
- 2026年消防条令纲要知识考试题库及参考答案【典型题】
- 2025福建海峡银行董事会办公室社会招聘模拟试卷带答案解析
- 2026年设备监理师之设备监理合同考试题库ab卷
- 2026年设备监理师之质量投资进度控制考试题库200道及答案【历年真题】
- 浙江国企招聘-2025金华市市场发展集团有限公司招聘5人历年真题汇编及答案解析(夺冠)
- 2026社会工作者职业水平《社会工作实务》真题及答案解析(夺冠)
- 2026湖北武汉城投集团管培生招聘5人历年真题汇编带答案解析
- 2026江苏镇江市丹徒区教育局所属学校“才荟丹徒”校园招聘教师30人笔试模拟试卷附答案解析
- 译林版九年级上下册英语单词表(含音标)
- 浙江省消防技术规范难点问题操作技术指南(2020版)
- 中小学课堂游戏企鹅回家
- 客车保养手册
- 《电子技术》-李中发主编-前六章答案
- 大学生职业生涯规划书模板
- 艾伦·麦席森·图灵课件
- XX化工有限责任公司维保方案
- 2022版新课标下如何实施素养导向的大单元教学解读PPT
- 诊所备案申请表格(卫健委备案)
- 烹饪工艺课程标准
评论
0/150
提交评论