函数Setfilter()在营销管理系统中的应用

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:secace2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:这篇论文介绍了PB9中函数Setfilter()的应用方法,并以营销管理信息系统为例,介绍了在利用下拉数据窗口录入数据时,如何进行数据筛选,过滤掉不符合条件的数据,以达到快速定位到所需数据的目的。
  关键词:Setfilter();方法;下拉数据窗口;数据筛选;过滤
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
  一、前言
  用PB来开发C/S结构的应用系统时,为了减少用户使用键盘敲入重复的字符,方便用户快速简捷地录入数据,设计开发人员绞尽脑汁,优化程序的设计。当然,PB为设计开发者提供了许多行之有效的方法,下拉数据窗口就是其中之一。但是,我们在开发过程中发现,下拉数据窗口有时还是不能满足用户的需求,他们要求更快速的定位到他们需要的数据,这时函数Setfilter()就发挥作用了。
  在营销管理信息系统中,客户购买产品之前,要开据提货单,需要录入产品名称、购货单位、产品规格、包装方式、计划销售量、单价等等,许多字段的录入都是用下拉数据窗口来实现的,因为他们的变化很少,在基础数据编码表中维护后,大部分时间基本不用改动。这里需要强调的是“购货单位”字段,购买总厂产品的单位有成百上千家,不管按照哪个关键字排序,在下拉数据窗口中寻找排在后面的购货单位都需要一些时间,用户觉得不方便,他们提出,按照产品对购货单位进行筛选,减少下拉数据窗口中显示的数据,这样可以缩短查找购货单位的时间。用户的要求是合理的,而且也是应该可以实现的。
  二、用Setfilter()来实现
  以前在用PB开发程序的过程中也用到过Setfilter(),但都是过滤数据窗口中的显示数据,比如:
  通过查看资料和PB的相关帮助,得出最终结论,用setfilter()完全可以实现子数据窗口的筛选。
  三、函数Setfilter()的作用和语法结构
  (一)函数作用
  函数Setfilter()是为DataWindow control(数据窗口控件)、DataStore(数据存储过程)或child DataWindow(下拉子数据窗口)指定数据过滤规则。通常在调用该函数前使用函数Retrieve将数据检索到客户端,该函数可以决定检索到客户端的这些数据哪些可以显示,哪些不能显示。该函数对客户端的数据进行操作,和后台数据库没有任何关系。需要注意的是,该函数仅仅是设置过滤规则,并不进行过滤。函数Filter()是进行过滤的,使用最近设置好的过滤规则对数据进行过滤。
  (二)函数Setfilter()的语法结构
  该函数的返回值是整数类型的。1表示执行成功,-1表示执行失败。该函数的返回值没有多大意义,很少在程序中使用该返回值。
  四、按照产品筛选购货单位
  在没有进行筛选之前,所有的购货单位均在下拉数据窗口中显示(购货单位按照汉语拼音排序)。原先为购货单位做下拉数据窗口时,只选择了购货单位编码和购货单位名称两个字段,如果要按照产品来筛选购货单位,只有这两个字段显然是不够的。那么,在购货单位编码表中添加一个标志所购产品的字段,在为购货单位做下拉数据窗口时选择标志所购产品的字段,根据标志所购产品的字段来设置过滤条件,也能达到预期的效果。
  (一)定义产品编码表
  既然是根据产品来筛选购货单位,首先要定义好产品编码表,而且产品编码和产品名称对应后,轻易不要改变,否则会影响到所有购货单位的筛选,例如,产品“煅烧石油焦”的产品编码为“01”,产品“碳酸二甲酯”的产品编码为“02”,产品“丙二醇”的产品编码为“03”,产品“苯乙烯”的产品码为“04”,等等。
  (二)在购货单位编码表中添加“所购产品编码”字段
  为了节省空间和维护方便,用产品编码代替产品名称,因此只要在购货单位编码表中添加“所购产品编码”字段,其内容为该购货单位所购买的产品编码,可以是一种、两种或多种产品编码的组合。“所购产品编码”字段的宽度应设置足够大,如果产品数量增加,该字段的宽度也可以根据实际情况随时增加。
  (三)添加脚本
  准备工作做好后,剩下的事情就是在适当的地方添加适当的脚本,来实现数据筛选的功能。我们把脚本写在“提货单”录入窗口的数据窗口控件的itemchanged事件中,具体内容如下。
  因为是根据产品来筛选购货单位,录入“提货单”数据的时候,最先应该确定的是购买哪种产品,根据产品确定产品编码。执行上述脚本之后,相应的购货单位也就筛选出来了。
  五、用户的进一步需求
  上述功能实现之后,用户感觉在选择购货单位的时候,方便快捷多了。但是这样筛选出来的购货单位还是很多,假如购买“丙二醇”的购货单位是北京某家公司,能否在购货单位对应的编辑框中录入“北京”或“bj”后,只把所有以“北京”开头的购买“丙二醇”的购货单位列出来呢?答案是肯定的,但还需要修改购货单位编码表。
  (一)在购货单位编码表中添加“购货单位助记码”字段
  在录入数据的时候,做成下拉数据窗口形式,让用户通过鼠标来选择数据,减少键盘的敲击次数,减少出错机会,达到加快录入速度,提高工作效率的目的。因此,凡是做成下拉数据窗口形式的字段,一般都是不可编辑的。如果满足用户的这一需求,必须将“购货单位”字段设置成可编辑的。经过考虑,在购货单位编码表中添加“购货单位助记码”字段,内容为购货单位的助记码,可以是购货单位汉语拼音的简写、英文缩写等,这个可以根据用户的具体要求而定。
  (二)添加脚本
  我们把脚本分别写在“提货单”录入窗口的数据窗口控件的itemchanged事件和editchanged事件中,还要事先定义好一个Instance Variables(实例变量),具体内容如下。
  1.定义一个实例变量
  3.editchanged事件中的脚本
  记码包含当前录入的字符串
  用户在录入提货单的数据时,产品名称选择了“丙二醇”,并在购货单位的编辑框中录入“bj”,执行上述脚本之后,显示的数据就是用户所要的购货单位数据了。
  注意:设置多重过滤条件时,脚本的写法略有不同,双引号要用括号来代替。如果把条件字符串:
  写成:
  虽然编译的时候没有错误,而且跟踪执行时,字符串替换出来的结果,与用SQL语句查询时设置的Where条件完全一样,但却无法正常执行。
  六、举一反三
  实现了按照产品来筛选购货单位,那么采用相同的方法和步骤,即可实现按照产品来筛选产品规格、包装方式等,这里就不再赘述。
  七、结束语
  营销管理信息系统中不只是利用了函数setfilter(),因为PB中提供了很多诸如setfilter()的函数和方法,如果合理的、充分的加以利用,就会开发出令用户满意,让用户使用起来得心应手的应用程序。知识在不断的学习,经验在不断的积累,写出来同大家交流,与大家共勉。
  参考文献:
  [1]张长富,李匀.Powerbuilder9.0中文参考手册[M].北京希望电子出版社
  [2]樊金生,邸书灵,张翠肖,沙金.Powerbuilder9.0实用教程[M].科学出版社出
其他文献
随着科技的发展,云计算已成为互联网发展的一个里程碑。它对整个IT产业产生了巨大的影响。本文介绍了虚拟化技术以及与之相关的与相关的管理技术和管理对象,并阐明虚拟化技术
随着企业各独立业务系统已El臻完善,业务系统间的水平集成需求越来越明显。本文基于SOA架构,通过BizTalk Server,提出某建筑设计研究院人事信息同步平台架构。在充分利用其原有
自21世纪以来随着经济的不断发展,人们对于生活质量的要求也越来越高,用户对于产品的需求条件也呈现出多样化的变化趋势。为了满足用户的不同需求,模糊性产品设计理念慢慢被
面对学生能力和就业需求不断变化的现状,高职院校的数学教学迎来了极大的挑战,如何将数学与实际问题相结合,培养学生的自主学习能力和分析处理实际问题能力是数学教学改革的
本文主要是对各种设备、方舱装载的铅酸蓄电池组中需使用纯净水进行的研究。主要论述了先进的离子交换技术混合树脂制水工艺,制备出高纯度的铅酸蓄电池用水,具有不用电,操作
王和举是福建漆艺术中最早、也最为执着地坚守大漆美学及其诗意表达的开拓者、实践者和教育者。他的艺术成就和人文情怀,无不展现着一个真正的艺术大师所应具有的与时俱进的
风能是最具有开发利用前景的无污染可再生能源。世界风力发电朝着大型化,并网运行,高性能,高可靠性,低成本,高电能质量的方向发展。本文主要介绍了2 MW无刷同步风力发电机的
在网络通信技术的影响下,教育技术得到了空前发展尤其在多媒体教学、网络教学方面成绩最为突出。该文分析了网络通信在现代教学中的特点,网络通信技术对现代教育的影响以及网
期刊
北京Cippe展会期间本刊记者采访了阿特拉斯·科普柯公司压缩机技术部中国区总经理John Brookshire和移动空压机业务副总经理周勤,再一次感受到一个国际化大企业在产品创