用FileMaker进行文本计算

ZDNet软件频道 时间:2006-03-13 作者:Builderau.com.au |  我要评论()
本文关键词:
FileMaker一直都被“正统”的开发人员当作是一个玩具,但它事实上是一种进行快速开发的理想工具,有助于快速地开发有用的应用程序。

FileMaker一直都被“正统”的开发人员当作是一个玩具,但它事实上是一种进行快速开发的理想工具,它带有的很多工具都有助于快速地开发有用的应用程序。

不言而喻,FileMaker在桌面数据库领域里占有独特的一席之地。它号称自己的名片就是对于入门者简单易用,而且只要开发人员使用得当、想象力丰富的话,它还能够成为很多企业应用程序的可靠平台。此外,在寻求建立新的数据解决方案时,它理所当然的是快速进行低成本应用程序开发的理想工具。

使得FileMaker与同类竞争者不同的是,它能够让用户进行“文本计算(text calculation)”——从字面上理解就是能够跨一定范围的字段,甚至是跨动态关系计算文本的总量。这一功能在和其内置的脚本语言ScriptMaker一起使用的时候,能够在很大程度上增加其有用性和可用性。在结合文本计算功能的情况下,简单的脚本运算和易于修改的布局演示可以为用户提供相当强大的能力,例如生成可视的、可打印的和可以自定义的表单,创建个性化的、基于模板的信函,甚至是直接向用户默认的桌面电子邮件应用程序发送电子邮件。

另外一个非常有用的应用是能够将一个已经修改过的记录里的“文本总量(text sum)”与另一个保存在已有记录里的“文本总量”进行布尔计算,以保证不存在重复的数据,或者让更好的内容被保留下来。

如果新的信息与先前创建的信息不符,计算(的结果)就会产生不等,你可以选择替换掉先前的记录,或者创建新的纪录。计算的结果可以以文本形式返回到字段里,并生成一个按钮,用来执行适当的条件脚本。

如图1所示,这个例子是名为SimpleCRM数据库里一条简单的客户记录。看FileMaker的字段定义模块里,NameComplete字段是已建立的记录里的头衔、姓和名等字段的“总和”。

数据库的使用者会看到图2中NameComplete的显示结果。这里的字用红色表示只是为了说明。无论如何,这一级别的格式控制也是通过FileMaker的文本格式计算功能来生成的。

在上面的图中,用蓝色显示的内容表示要被加到数据库里的新信息,这些信息在单独的“临时”字段(用FileMaker的说法就是“全局字段”)里被创建,它们存在目的就是要进行新旧字段之间的比较。再强调一遍,把这里的字做成蓝色完全是为了说明方便。

但是,这个示例里的这些全局字段放在另一个不同的表格里——SimpleCRM_Globals,其作用是确保对已有记录导入新信息进行管理,或者向SimpleCRM表格添加新纪录。“全局”内容很容易删除。

同样重要的是,新信息和原有记录之间的独特关系要通过它们匹配的记录号建立起来。

最后,在图4里,我们进一步设置了文本计算,这样当两个NameComplete字段的文本总量比较的结果不匹配,它就会在自己专用的字段里返回一个指令,以便用更新过的内容覆盖原有的记录。

生成“用新信息覆盖(overwrite with new information)”这一结果的字段的结构见上图中对cNameCompleteCompareResult的定义。只有当cNameCompleteCompare字段里的新文本的计算结果“不等于”原有记录里的cNameComplete时,它才会返回这个值。

此外,出于可用性的考虑,所生成的“覆盖(overwrite)”指令可能会出现在按钮上,就如图4里显示的那样。

如图6所示,我们可以进一步将数据的替换过程自动化,方法是给这个按钮加一个条件脚本——“替换原有字段信息(Replace original field information)”,它会在接收到“用新信息覆盖”的字段指令之后被激活:如果比较字段由于两个文本总量没有生成这个结果(也就是说,新旧文本之间没有任何差别)而仍然为空,那么用来执行替换原有内容的脚本就不会被执行。

这只是一个开始
上文所讲的内容只是初步涉及了FileMaker里文本计算的能力。还有非常多的作用没有涉及到,比如更进一步的格式化、条件计算公式,以及脚本执行。也就是说,文本计算的使用能够极大地加强用户友好性,不论是什么层次的数据入口、记录选择,还是大范围的数据操控。所以是,没有做不到,只有想不到!

责任编辑:张琎

查看本文的国际来源


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134