资源描述
毕 业 论 文论 文 题 目: 商品销售管理系统学 生 学 号 专 业 计算机 层 次 本科 指导教师 商品销售管理系统摘 要本系统是为了适应企业进销存管理的信息化建设需要而设计的,采用Visual Foxpro6.0面向对象编程语言设计而成,能够稳定而快捷地完成企业的进销存管理的信息化任务,从而取代了以往繁杂的人工劳动,提高了工作效率。关键词:数据库,编码,信息系统SummaryThis system is to enter to sell the information construction need which depositted management and design for meeting enterprises, adopt Visual Foxpro6.0 to face target's programming language to design , can finish the entering and selling and storing the information-based task of management of enterprises steadily and swiftly , thus replaced miscellaneous artificial work in the past , has improved working efficiency. Keyword :Database , code , information system目 录摘 要1第一章 引 言31.1本 课 题 的 研 究 意 义31.2本 课 题 的 设 计 目 的 和 内 容3第二章 研 究 现 状 及 设 计 目 标32.1设 计 目 标32.2系 统 设 计 中 存 在 的 问 题 及 解 决 办 法3第三章 软、硬 件 环 境43.1软 件 环 境43.2硬 件 平 台7第四章 可 行 性 分 析7第五章 系 统 的 功 能8第六章 数 据 库 设 计11第七章 系 统 设 计14第八章 性 能 测 试 与 分 析45第九章 结 束 语48参 考 文 献48第一章 引言1.1本课题的研究意义随着经济的高速发展,企业的信息化工作也在如火如荼地进行,由于企业规模的不断扩大以及商务往来的日益增多,企业对进销存信息的掌握和使用就越来越多,因此以前的原始的手工操作方式就不能适应企业快速发展的需要,在计算机科学技术日益发展和成熟的今天,运用其先进的技术性来管理日常工作中的各类客户信息数据,就可以极大地提高企业的工作效率。因此,本人结合已学过的知识及在指导老师的帮助下,运用Microsoft Visual Foxpro6.0中文版,在Windows XP中文版环境下开发成功本系统,经过在实践中的运行验证,本系统能够正常和稳定地运行,为企业创造了较大的商业机会,保证了公司对进销存的管理信息化工作的顺利进行。1.2本课题的设计目的和内容设计目的:帮助企业对进销存信息进行快速、准确的录入、修改、查询等工作,并可将信息导入和导出,从而可将有关人员从以往烦琐的工作解脱出来,充分体验到信息时代的企业信息化工作给企业的日常工作所带来的便利和快捷,体会到计算机的快速、准确、智能的强大功能。但由于本人软件设计方面的经验不足,因此本系统在设计过程中出现了许多的困难,我查阅了许多的资料,并参考了别人的程序,才最终完成了本系统的设计。第二章 研究现状及设计目标2.1设计目标本系统的开发,是以Visual Foxpro6.0中文版作为开发语言,以Windows XP中文版为开发平台。本系统的界面比较美观、友好,操作简单、方便,比较具有人性化,同时,系统运行速度较快,对计算机的硬件环境要求不高。能够完成公司进销存管理的大部分工作。2.2系统设计中存在的问题及解决办法在设计过程中,由于受到本人知识面所限,考虑不周,数据分析不全面、详细,对软件工程的认识不足,也缺乏设计经验,所以曾出现过一些问题和错误,但是经过本人查询相关的资料,参考有关软件的设计思想,并在指导老师的细心帮助下,这些问题后来基本上得到了解决,使用单位也比较满意。第三章 软、硬件环境31、软件环境:操作系统选用目前较稳定的Windows98中文版;数据库系统采用关系型数据库系统Microsoft Visual FoxPro6.0中文版;由Windows98和Microsoft Visual FoxPro6.0共同组成系统的开发环境。(1)中文操作系统Windows98的特点:首先,操作系统采用完全图形化的用户界面。将使软件用户的培训大大简化,提高了工作效率。其次,Windows98的设备无关性使本系统软件开发时无须固定使用设备,有利于软件的移植和硬件设备的更新换代。再次,Windows98系统中文版支持信息交换用汉字编码字符集,完善的中文支持使二者紧密结合,构成一个功能完备的软件开发环境。(2)VFP6.0中文版概述A:概述VFP6.0中文版,它是运行于Windows95和Windows NT平台的32位数据库系统,充分发挥了32位微处理器强大的32位数据处理性能。它功能强大,直观易用,支持客户/服务器结构和面向对象编程,提供多种可视化编程工具,支持最新Internet技术, WWW数据库的设计,最新流行的ActiveX等。VFP6.0中文版完全支持OOP(面向对象)的应用程序设计方法,VFP使用了真正的类,包括继承性,封装性和多态性。用可视方式创建类、查看类及类代码;利用表单向导进行专业级界面设计;对表关系进行可视化查看;可利用OLE自动化来包含其他软件(如Excel、Word)中的对象并使用这些软件。通过Visual FoxPro对象和事件模型,用户可以快速创建和实现无模式(modeless)的应用程序;利用生成器和工具栏,开发人员可以快速开发应用程序,而省去编写大量的代码、定义繁多的属性。总之,VFP6.0中文版是一种适用于专业人员的开发工具。B:概念的发展在FoxPro 2.X中一个表就是数据库,实际上是真正的数据库中表的概念,在Visual FoxPro中,数据库指的是可以存储一个或者多个表(.DBF)及视图的关系数据库,这才是真正的关系型数据库的概念。对于一个大型的信息管理系统,它很可能需要对不同的用户各自创建一个大型的文件系统,它包括许多表,而属于一个用户的一套表与属于另一个用户的一套表实际上是相同的,只是名称有所不同,而在FoxPro2.x中,需要建立大量的代码来区别和维护属于不同用户的一套表,这套表的数量可能是非常庞大的,维护编码也是非常庞大的。然而Visual FoxPro中引入的真正的数据库的概念,使这一问题的解决变得非常的容易,设计人员只要为不同的用户创建不同的数据库,然后在这些数据库下建立用户自己的表就可以很容易对每个用户进行区别和维护了。而且,这样的数据库的关系能力更加强大,更加稳定可靠。C:Visual FoxPro 的高效性、可扩展性面向对象程序设计减少了开发时间。Visual FoxPro 通过使用面向对象的开发技术简化了开发。它可以通过创建代码类和接口单元类来创建功能强大的、使用灵活的可重用对象库。 利用内置工具管理类和类库管理类库资源,在应用程序中用类浏览器和组件集定位、查看、使用类。表面显示器会帮助我们建立更为稳定、更为高效的应用程序。下面的窗口显示代码的每一行,指示其是否执行、执行次数、首次执行时间、平均执行时间。这些数据可以帮助我们快速定位代码中的运行瓶颈,也可验证测试计划。用功能强大的可视化的RAD工具减少开发时间、减少开发工作。用有颜色的代码编辑器和直接跟踪调试器使得写代码的工作比从前简单得多,这一改进来自Microsoft Visual C+开发系统。使用Microsoft Visual SourceSafe?简化了开发小组的开发工作。Microsoft Visual SourceSafe 版本控制系统与Visual FoxPro 6.0紧密关联,因此可以更好地管理源代码,不论是个人独立编写程序,还是作为开发小组的其中一员编写程序。 组件集使得查找和使用诸如类库、表格、报表、代码的组件变得特别简单。仅需要拖动鼠标就可以快速将类从组件集中移出,放置到表格和报表中。D:新特性 Visual FoxPro基本类库Visual FoxPro 6.0 提供了100多个未编译、可重用的类,开发人员可以利用这些类实现应用程序的基本功能。直接使用这些类,或者用这些类的继承来实现一定的扩展功能。 应用程序向导和构建器Visual FoxPro 6.0 包括一个完全的面向对象的应用程序框架,它是由一组为应用程序提供基本功能的类组成的。新的应用程序向导就是基于这个框架创建项目的,新的应用程序构建器可以用来添加表格和报表。 组件集(Component Gallery)组件集(Component Gallery)简化了类库的管理,简化了提供可视化工具去组织和使用组件的其他组件的管理。组件可以从组件群中拖出,放置到可视化设计环境中,诸如项目和表单。 严格日期检查编译日期信息时,Visual FoxPro 6.0 将检测会产生误解的日期描述,例如01/01/56。开发人员可以利用这一特性检测现有代码的2000年问题,并且在新代码中避免这一问题的出现。新的严格的日期格式强制日期以清楚形式描述。 Coverage Profiler开发人员可以运用表面显示器(Coverage Profiler)检查他们要测试的方案的有效性,这是用执行相应行代码的方式实现的。他们也可以执行"profiling" 以查找瓶颈或其它执行当中遇到的问题,这是通过检查每一行代码的执行时间实现的。 访问和赋值方法访问方法是当访问属性值时运行的代码,赋值方法是当改变属性值时运行的代码。访问控制方法和访问权限指定方法使属性可用,并使那些内嵌属性容易使用。 项目挂钩项目挂钩是一个新的基类,当与一个项目相连时,可以通过它看到项目级事件。开发人员可以写一些当项目打开、关闭、构建、添加文件时运行的代码。 在应用程序之间进行拖放从记忆字段拖出文本,把它放置到Microsoft Word中,然后可以对文本进行拼写检查。或者从Windows Explorer中拖出一个文件,把它放置到项目管理器中。文件将被添加到项目中去。 活动文档活动文档是一个Visual FoxPro应用程序,挂接在Internet Explorer上。它提供了把Visual FoxPro的强大功能用在浏览器上的一种途径。活动文档同样也提供了一种在分布式应用程序中使用Web的方法。 微软传输服务器支持由Visual FoxPro 创建的COM 组件,这些组件可以由微软传输服务器管理和调整。开发人员可以构建基于数据的组件,充分利用微软传输服务器提供的调整组件的便利条件。 企业应用程序开发Visual FoxPro 6.0 与其它Visual Studio 工具可以很好的配合,例如,运用Visual InterDev 创建Web应用程序的开发人员可以很容易地使用Visual FoxPro 来创建组件。用Visual Basic创建的 ActiveX 控件可以在Visual FoxPro 应用程序中使用,以实现一些附加功能。购买Visual Studio 企业版的Visual FoxPro 开发人员可以得到开发工具所提供的全部好处。 3.2、硬件平台:本系统主要采用单机操作,投入少,效率高,易于管理和维护,系统升级简单,适合企业信息化管理的需要。基本要求如下:CPU为Intel Pentium100以上;内存为32MB以上;硬盘至少为3.2G以上;配有光驱和软盘。第四章 可行性分析本系统的结构图如下:商品定购分析采购库存入库商品出库销售编号库存综合查询由于本系统管理的对象单一,数据内容基本是一致的,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且由于单位购进的微机的配置较低,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,以及相关人员提供的各种要求,完全可以实现。 VFP6.0中文版作为一个关系型数据库系统,它提供了面向对象的编程技术,可简化数据库管理,使开发应用程序这项艰辛的工作就象堆积木那样简单方便。另外,用VFP6.0中文版开发的应用程序可以独立运行于windows平台。第五章 系统的功能本系统共有如下所述的七大功能模块:A:进货管理模块:界面如下:该模块可以从多方面对供货的各种详细信息进行处理,如品名、规格、单价等,并可对资金情况进行查询和打印。B:进货查询模块:该模块可以根据查询条件对进货的具体情况进行查询,并灵活地采用各种排序方式以便方便地进行查询,并可进行进货资金情况进行打印,以方便对进货的管理。该模块界面如下:C:销售管理模块:该模块的主要功能是对公司所销货物进行实时的管理,以便及时进行查询,以为公司日后的进货管理提供实际的依据。本模块的界面如下:D:本模块主要实现了对单位销货的情况进行信息的快速处理,并可以采用排序的方式进行快速的查询。E:库存管理模块:本模块实现了对单位库存情况的快速统计,以方便对货物的及时查询,以及是否进行对货物进行补充进货,本模块也采用了排序方式进行管理,并可进行打印。F:系统维护模块:该模块的主要是对本系统进行管理,如数据的转入转出,系统的密码修改,以及其它的诸如供货商等的设置,该模块的主要功能是为了保证本系统的安全稳定以及对一些重要数据的备份处理。G:退出系统:退出本系统的使用,返回机器的原始状态。总体来说,本系统的设计可以完成以下的功能描述:可以对经销商的进货、销和库存统计进行全面管理,程序设计是为了满足下列要求:(1)方便用户的进销商品数据输入和修改:(2)简单快捷的进销商品数据的查找(3)完整的进销商品收付资金管理(4)灵活的进销商品库存统计第六章 数据库设计根据系统需求分析,需要设计以下数据库表。一、数据表的物理结构:1、进货数据库表:进货数据库表主要用于存储第一笔进货记录。其结构如下:字段 字段名 类型 宽度 小数位 1 TAG(标志) 字符型 2 2 NO(进货编号) 字符型 10 3 RQ (进货日期) 日期型 84 DW(进货单位) 字符型 305 MC(进货名称) 字符型 206 XH(进货规格型号) 字符型 307 PZ(进货配置) 字符型 208 DJ(单价) 数值型 10 29 SJ(数量) 数值型 410 YSL(剩余数量) 数值型 411 YR(小计金额) 数值型 10 212 JBR(经办人) 字符型 613 BGR(保管人) 字符型 614 FHR(发货人) 字符型 615 YF(已付金额) 数值型 10 216 YR(未付金额) 数值型 10 17 YXJR(已销金额) 数值型 10 218 YSJR(未收金额) 数值型 10 22、销货数据库表:销货数据库用于存储每一笔销货。其结构如下:字段 字段名 类型 宽度 小数位 1 TAG(标志) 字符型 22 NO(进货号) 字符型 103 NO1(销货号) 数值型 44 RQ(销货日期) 日期型 85 DW(销货单位) 字符型 306 MC(销货名称) 字符型 307 XH(销货规格型号) 字符型 20 8 PZ(销货配置) 字符型 20 9 DJ(单价) 数值型 10 210 SL(数量) 数值型 411 JR(小计金额) 数值型 10 212 JBR(经办人) 字符型 613 SHR(收货人) 字符型 614 BGR(保管人) 字符型 615 YF(已收金额) 数值型 10 216 YR(未收金额) 数值型 10 23、付款数据库:付款数据库是用于对第一笔进货的付款情况。其结构如下:字段 字段名 类型 宽度 小数位 1 NO1(付款号) 数值型 42 NO(进货号) 字符型 103 RQ(付款日期) 日期型 84 JR(付款金额) 数值型 10 25 JBR(经办人) 字符型 66 YR(未付金额) 数值型 10 27 BZ(情况说明) 字符型 404、收款数据库表:书款数据库用于对每一笔销货的收款情况;其结构如下:字段 字段名 类型 宽度 小数位 1 NO(进货号) 字符型 102 NO1(销货号) 数据值 43 NO2(收款号) 数据型 44 RQ(收款日期) 日期型 85 JR(收款金额) 数值型 10 26 JBR(经办人) 字符型 67 YR(未收金额) 数值型 10 28 BR(情况说明) 字符型 405、往来单位数据库表:往来数据库用于存储经常往来单位名称。其结构如下:字段 字段名 类型 宽度 小数位 1 DW 字符型 306、常用商品数据库表:常用商品数据库用于存储常用商品的名称;其结构如下:字段 字段名 类型 宽度 小数位 1 MC 字符型 206、经办人数据库表:经办人数据库用于存储经办人姓名,其结构如下:字段 字段名 类型 宽度 小数位 1 JBR(经办人) 字符型 67、临时表:临时表是一个产生报表中用到的临时表,其结构如下:字段 字段名 类型 宽度 小数位 1 NO 字符型 10 2 RQ 日期型 83 DW 字符型 30 4 MC 字符型 205 XH 字符型 306 PZ 字符型 207 DJ 数值型 10 28 SL 数值型 49 JR 数值型 10 210 JBR 字符型 611 BGR 字符型 612 FHR 字符型 613 YF 数值型 10 214 YR 数值型 10 215 RQ1 日期型 816 JB1 数值型 10 217 JBR1 字符型 6第七章 系统设计本系统由上述的八个模块组成,分别由进货管理、进货查询、销售管理、销售查询、库存管理、系统维护、退出系统等6个部分组成。在进入系统之前,先检查管理员的合法,避免不合法用户进入本系统。系统结构图如下:启动界面检查用户合法性 N不能进入库存管理销货查询销售管理进货查询进货管理退出系统系统维护Y销售管理进货查询进货付款进货收款本系统的主要模块的代码如下:1、 主文件设计:main6.prgscreen.windowstate=2_screen.caption="进销存管理系统"_screen.closable=.F._screen.maxbutton=.F._screen.minbutton=.F.close allclear allcleaset sysmenu offset sysmenu toset talk offset date ansiset delete onset exact offset safety offset status bar offdo form pass to numif num do form main read eventendifset sysmenu to defaultset sysmenu onset status bar onuse jhpackuse jh1packuse fkpackuse fk1packuse mcbpackuse jbrbpackuse dwbpackclose allclear allreturn2、 pass表单设计:确认命令代码:IF (N>2) =MESSAGEBOX("口令三次输入错误,不能使用本系统",48,"信息提示") THISFORM.CONT=.F. THISFORM.RELEASEELSE IF ALLTRIM(THISFORM.PASS)=ALLTRIM(THISFORM.TEXT1.VALUE) THISFORM.CONT=.T. THISFORM.RELEASE ELSE =MESSAGEBOX("口 令 不 正 确, 重 新 输 入",48,"信息提示") THISFORM.TEXT1.VALUE=SPACE(10) N=N+1 THISFORM.TEXT1.SETFOCUS ENDIFENDIF3、 进货管理表单设计:进货管理表单不仅包括添加、删除、修改、存储、取消、上一个、第一个、下一个、最后一个等命令,还包括查找进销单、付款、打印付款等命令。查找进销单命令代码:public fchar(11),fname(11),ftype(11)fchar(1)="进货编号"fname(1)="no"ftype(1)="C"fchar(2)="进货日期"fname(2)="rq"ftype(2)="D"fchar(3)="进货单位"fname(3)="dw"ftype(3)="C"fchar(4)="品名"fname(4)="mc"ftype(4)="C"fchar(5)="单价"fname(5)="dj"ftype(5)="N"fchar(6)="数量"fname(6)="sl"ftype(6)="N"fchar(7)="金额"fname(7)="jr"ftype(7)="N"fchar(8)="剩余数量"fname(8)="ysl"ftype(8)="N"fchar(9)="经办人"fname(9)="jbr"ftype(9)="C"fchar(10)="保管人"fname(10)="bgr"ftype(10)="C"fchar(11)="发货人"fname(11)="fhr"ftype(11)="C"do form jh12thisform.refresh付款命令代码:?CHR(7)IF THISFORM.TXTYR.VALUE=0 =MESSAGEBOX("本次进货余款已全部付清,不能选择本按钮",48,"信息提示")ELSE PUBLIC BYR SELECT JH BYR=YR &&为本次进货记录的余额 SELECT FK SET FILTER TO NO=JH.NO COUNT TO BH DO FORM JH11 WITH BH SELECT JH REPL YF WITH YF+BYR,YR WITH YR-BYR THISFORM.REFRESHENDIF第一个命令代码:?CHR(7)IF THISFORM.TXTYR.VALUE=0 =MESSAGEBOX("本次进货余款已全部付清,不能选择本按钮",48,"信息提示")ELSE PUBLIC BYR SELECT JH BYR=YR &&为本次进货记录的余额 SELECT FK SET FILTER TO NO=JH.NO COUNT TO BH DO FORM JH11 WITH BH SELECT JH REPL YF WITH YF+BYR,YR WITH YR-BYR THISFORM.REFRESHENDIF上一个命令代码:skip -1if bof() go topendifthisform.currno=recno()thisform.setall("enabled",.F.,"textbox")thisform.setall("enabled",.F.,"combobox")thisform.refresh下一个命令代码:skipif eof() go bottomendifthisform.currno=recno()thisform.setall("enabled",.F.,"textbox")thisform.setall("enabled",.F.,"combobox")thisform.refresh最后一个命令代码:go bottomthisform.currno=recno()thisform.setall("enabled",.F.,"textbox")thisform.setall("enabled",.F.,"combobox")thisform.refresh添加命令代码:append blankthisform.jls=thisform.jls+1thisform.dispthisform.setall("enabled",.T.,"textbox")thisform.setall("enabled",.T.,"combobox")mand8.enabled=.T.mand9.enabled=.T.thisform.opmode=1 &&指定操作模式thisform.refreshthisform.txtNo.setfocus删除命令代码:if messagebox("记录一旦删除便不能恢复,而且涉及很多相关数据删除,真的要删除吗?",48+4,"信息提示")=6 &&回答"是" delete thisform.jls=thisform.jls-1 thisform.opmode=2 &&指定操作模式 select fk delete for no=jh.no select jh1 delete for no=jh.no select fk1 delete for no=jh.no thisform.disp thisform.refreshendifselect jh修改命令代码:thisform.setall("enabled",.T.,"textbox")thisform.setall("enabled",.T.,"combobox")mand8.enabled=.T.mand9.enabled=.T.thisform.opmode=3 &&指定操作模式thisform.refreshthisform.txtNo.setfocus取消命令代码:if messagebox("是否放弃当前操作?", 48+4,"信息提示")=6 &&回答"是"=tablerevert(.F.)&&将数据恢复 this.enabled=.F. mand9.enabled=.F. if thisform.opmode=1 &&添加操作 thisform.jls=thisform.jls-1 if thisform.jls>0 &&若存在记录,则转向"取消"操作前的记录 go thisform.currno endif endif thisform.setall("enabled",.F.,"textbox") thisform.setall("enabled",.F.,"combobox") thisform.dispthisform.refresh()endif存储命令代码:if tableupdate(.F.)=.F. =messagebox("数据保存不成功",48,"信息提示")else this.enabled=.F. mand8.enabled=.F.endif打印命令代码:SELECT JHTHISREC=RECNO()REPO FORM JH3 FOR RECNO()=THISREC PREVIEW4、 进货付款表单:付款确认命令代码:?CHR(7)IF MESSAGEBOX("输入的付款正确吗一旦付款,不能再改动?",4+32,"提示信息")=6 SELECT FK APPEND BLANK REPL NO WITH JH1.TXTNO.VALUE REPL NO1 WITH THISFORM.TEXT1.VALUE REPL RQ WITH THISFORM.TEXT2.VALUE REPL JR WITH THISFORM.TEXT3.VALUE REPL JBR WITH THISFORM.TEXT4.VALUE REPL YR WITH THISFORM.TEXT5.VALUE REPL BZ WITH THISFORM.TEXT6.VALUE BYR=THISFORM.TEXT3.VALUE &&为本次付款金额ENDIFTHISFORM.RELEASE5、 查询进货单表单:确定命令代码:if bo1.value=0 if messagebox("没有设置任何条件,查询所有的记录",48+1,"信息提示")=1 set filter to .t. thisform.release endif returnelse if thisform.opg1.value > 0 and bo3.value=0 =messagebox("设置的查询条件2不完整",48,"信息提示") returnendifendifcond=fname(bo1.value)+bo2.value+ ; thisform.creatcond(bo1.value,thisform.text1.value)do case case thisform.opg1.value = 0 lcOperand = "" case thisform.opg1.value = 1 cond=cond+" AND " case thisform.opg1.value = 2cond=cond+" OR "endcaseif thisform.opg1.value<>0 cond=cond+fname(bo3.value)+; bo4.value+thisform.creatcond(bo3.value,thisform.text2.value)endiftestcond=0on error testcond=1 &&当过滤语句不正确时,执行testcond=1set filter to &condif testcond=1 =messagebox("设置的查询条件不正确",48,"信息提示") returnendifgo topthisform.release重置命令代码:bo1.value = ""bo2.value = ""bo3.value = ""bo4.value = ""thisform.text1.value=""thisform.text2.value=""bo3.enabled=.F.bo4.enabled=.F.thisform.text2.enabled=.F.thisform.opg1.value=0mand2.enabled=.F.取消命令代码:thisform.release6、 进货查询表单设计:该表单只能用于查找,不能输入、修改和删除进货单查找进货表单命令代码:public fchar(11),fname(11),ftype(11)fchar(1)="进货编号"fname(1)="no"ftype(1)="C"fchar(2)="进货日期"fname(2)="rq"ftype(2)="D"fchar(3)="进货单位"fname(3)="dw"ftype(3)="C"fchar(4)="品名"fname(4)="mc"ftype(4)="C"fchar(5)="单价"fname(5)="dj"ftype(5)="N"fchar(6)="数量"fname(6)="sl"ftype(6)="N"fchar(7)="金额"fname(7)="jr"ftype(7)="N"fchar(8)="剩余数量"fname(8)="ysl"ftype(8)="N"fchar(9)="经办人"fname(9)="jbr"ftype(9)="C"fchar(10)="保管人"fname(10)="bgr"ftype(10)="C"fchar(11)="发货人"fname(11)="fhr"ftype(11)="C"do form jh12thisform.refresh打印资金表命令代码:public fchar(11),fname(11),ftype(11)fchar(1)="进货编号"fname(1)="no"ftype(1)="C"fchar(2)="进货日期"fname(2)="rq"ftype(2)="D"fchar(3)="进货单位"fname(3)="dw"ftype(3)="C"fchar(4)="品名"fname(4)="mc"ftype(4)="C"fchar(5)="单价"fname(5)="dj"ftype(5)="N"fchar(6)="数量"fname(6)="sl"ftype(6)="N"fchar(7)="金额"fname(7)="jr"ftype(7)="N"fchar(8)="剩余数量"fname(8)="ysl"ftype(8)="N"fchar(9)="经办人"fname(9)="jbr"ftype(9)="C"fchar(10)="保管人"fname(10)="bgr"ftype(10)="C"fchar(11)="发货人"fname(11)="fhr"ftype(11)="C"do form jh12thisform.refresh排序确认命令代码:SELECT JHSEL=THISFORM.OPTIONGROUP1.VALUEDO CASE CASE SEL=1 INDEX ON NO TO TEMPIDX CASE SEL=2 INDEX ON RQ TO TEMPIDX CASE SEL=3 INDEX ON DW TO TEMPIDX CASE SEL=4 INDEX ON MC TO TEMPIDX CASE SEL=5 INDEX ON XH TO TEMPIDX CASE SEL=6 INDEX ON JBR TO TEMPIDXENDCASEGO TOPTHISFORM.GRID1.REFRESH返回命令代码:close dataTHISFORM.RELEASE7、 商品销售管理表单设计:确实销售本产品命令代码:if empty(thisform.txtno.value) =messagebox("没有指定入库商品,不能销售",48,"信息提示")else public jhno,jhmc,jhxh,jhpz,jhysl jhysl=jh.ysl jhno=jh.no jhmc=jh.mc jhxh=jh.xh jhpz=jh.pz do form jh31 thisform.txtysl.value=jhyslendif第一个命令代码:SELECT JHGO TOPTHISFORM.REFRESH上一个命令代码:SELECT JHSKIP -1IF BOF() GO TOP WAIT WINDOW "第一笔." NOWAITENDIFTHISFORM.REFRESH下一个命令代码:SELECT JHSKIP IF EOF() GO BOTTOM WAIT WINDOW "最后一笔." NOWAITENDIFTHISFORM.REFRESH最后一个命令代码:SELECT JHGO BOTTOMTHISFORM.REFRESH查询命令代码:PUBLIC fchar(11),fname(11),ftype(11)fchar(1)="进货编号"fname(1)="no"ftype(1)="C"fchar(2)="进货日期"fname(2)="rq"ftype(2)="D"fchar(3)="进货单位"fname(3)="dw"ftype(3)="C"fchar(4)="品名"fname(4)="mc"ftype(4)="C"fchar(5)="单价"fname(5)="dj"ftype(5)="N"fchar(6)="数量"fname(6)="sl"ftype(6)="N"fchar(7)="金额"fname(7)="jr"ftype(7)="N"fchar(8)="剩余数量"fname(8)="ysl"ftype(8)="N"fchar(9)="经办人"fname(9)="jbr"ftype(9)="C"fchar(10)="保管人"fname(10)="bgr"ftype(10)="C"fchar(11)="发货人"fname(11)="fhr"ftype(11)="C"DO FORM JH12THISFORM.REFRESH8、 商品销售管理表单设计:(为上一个服务)收款命令代码:?CHR(7)if thisform.txtyr.value=0 =messagebox("本次进货余款已全部付清,不能选择本按钮",48,"信息提示")else public byr select jh1 byr=yr &&为本次进货记录的余额 select fk1 set filter to no=jh1.no and no1=jh1.no1 count to bh do form jh32 with bh select jh1 repl yf with yf+byr,yr with yr-byr thisform.refreshendif打印收款条命令代码:SELECT JH1IF YF>0 SELECT REPTAB ZAP APPEND BLANK REPL NO WITH JH1.NO,RQ WITH JH1.RQ,DW WITH JH1.DW,MC WITH JH1.MC REPL PZ WITH JH1.PZ,XH WITH JH1.XH,DJ WITH JH1.DJ,SL WITH JH1.SL REPL JR WITH JH1.JR,YF WITH JH1.Y
展开阅读全文