上一页  下一页          目录  索引  定位  词汇表  程序库

规则

您可以通过指定对键弹性域有效组合作出说明的规则来设置交叉验证。您可以使用“定义交叉验证规则”表单随时定义新的交叉验证规则。仅当您在“定义键弹性域段”表单中将“交叉验证多个段”设置为“是”时,规则才有效。

每个交叉验证规则均包含一个或多个规则要素,每个要素就是一个为每个段指定下上限值的键弹性域范围。您可以将规则要素标记为“包括”或“排除”。“包括”表示包括指定段范围内的全部值,而“排除”表示排除指定段范围内的全部值。每个交叉验证规则必须至少包含一个“包括”规则要素。“排除”规则要素可以改写“包括”规则要素。请参阅:键弹性域段交叉验证规则

确定错误信息

您可以为验证规则定义自己的错误信息。定义错误信息以向用户解释错误。弹性域会将光标自动转到用户需要更改的值附近以便更正错误。请根据键弹性域出错频率来定义错误信息。

例如,如果您使用的是“会计弹性域”,则可能要使用一个规则来防止资产负债表部门值 000 和收入帐户值(在 4000 和 9999 之间的值)组合。不正确的组合可能是由于用户输入了不正确的部门或帐户。也许您要输入的是 100-4500 而不是 000-4500,或者是 000-3500。

如果您预计在大多数时间帐户都会处于错误状态,请这样定义错误信息,“仅输入部门 000 的资产负债表帐户”。如果您预计大多数时间部门都会处于错误状态,请这样定义错误信息,“输入 000 以外部门的收入帐户”。如果您预计两段都可能不正确,请定义不隐含处于错误状态特定段的错误信息。

例如,“您输入了不兼容的部门/帐户组合,请重新输入。”

确定您的错误段

在键弹性域组合违背验证规则时,请确定光标要移到哪个段。选择您认为最可能错误的段。如果您定义的错误信息是恰当的,则此信息与光标要返回的段应该是对应的。

例如,如果帐户段最可能错误,则可以这样定义错误信息“请仅输入部门 000 的资产负债表帐户”,然后指定光标返回至此帐户段。

如果两段之一可能处于错误状态,请指定光标返回这两个段中的第一段。如果实际上是第二段错误,则将光标向下移至后一段比移回前一个段要更直观。

定义简单规则

避免在可能的地方控制对两个以上的段进行交叉验证的规则。

例如,如果您使用“会计弹性域”,则可能要防止使用帐户所有余额段值大于 3999(99 除外)的部门 000。

在定义两个或两个以上段的交叉验证规则时,请记住您的规则包含的段越多,就越难于解释交叉验证错误信息和更正无效的键弹性域组合。

使用包括和排除范围

请考虑下列基本的交叉验证规则:

总之,键弹性域值至少必须在一个“包括”范围内并在所有“排除”范围外,以通过您的验证规则。

使用包括范围

如果键弹性域结构具有更严格的结构,则主要使用“包括”范围即可达到您的控制目的。使用“包括”范围,您可以列出有效组合而不是无效组合。

例如,如果您使用的是“会计弹性域”,并且要允许用户只输入具有某些产品或项目的某些余额段值,则可以列举下列可能性:

包括: 01-100
  01-199
包括: 02-200
  02-399
包括: 03-500
  03-699

使用排除范围

如果键弹性域结构的结构松散,并且键弹性域段之间没有很多相互依赖关系,则主要使用“排除”范围即可达到您的控制目标。在这种情况下,您通常要接受大多数的组合。而对于这条一般规则,则只需要一些例外。

例如,如果要使用“会计弹性域”,并且要阻止用户输入部门大于 899 的余额段值 01 和 02,则可以指定此例外:

包括: 00-000
  99-999
排除: 01-900
  02-999

最小和最大可能值

范围内的最小和最大可能值取决于值集的格式类型。例如,您可能要以“数字”格式类型创建值集,用户只能在此集合中输入 0 和 100 之间的值。或者,您可能要以“日期”格式类型创建值集,用户则只能在此集合中输入本年度的日期(例如,在 01-1-93 至 31-12-93 范围内)。例如,如果格式类型为“字符”,则 1000 小于 110;如果格式类型是“数字”,则 110 小于 1000。范围内的最小和最大可能值也与操作系统相关。如果您使用大多数平台(ASCII 平台)的“字符”格式类型,则数字字符将“小于”字母字符(也就是说,9 小于 A),但对于某些平台(EBCDIC 平台)来说,数字字符则“大于”字母字符(也就是说,Z 小于 0)。如果您为平台指定了一个大于最大值的最小值,则窗口出现一则错误信息。

如下所述,您可以在规则中使用空白段值,以方便规则的定义和维护。空白段值表示您要包括或排除“达到目的的方法”范围(最小或最大)。

建议:您可以使用空白段值来指定某个范围的最小或最大可能值,以避免定义与操作系统相关的规则。

使用空白段值

规则中的空白段值使规则易于定义和维护。空白段值表示您要包括或排除“达到目的的方法”范围(最小或最大)。

如果您将下限段留空,则“包括”或“排除”范围内的最小值将自动成为段的值集中的最小可能值。例如,如果值集最大长度为 3,并将“右对齐填零数字”设置为“是”,则最小值为“000”。但是,如果值集最大长度为 3,并将“字母字符”设置为“否”,并将“右对齐填零数字”设置为“否”,则最小值为 0。

如果您将上限段留空,则“包括”或“排除”范围内的最大值将自动成为段的值集中的最大可能值。例如,如果值集最大长度为 3,并将“字母字符”设置为“否”,则最大值为 999。但是,如果值集最大长度为 5,并将“字母字符”设置为“否”,则最大值为 99999。

请注意空白段值(空值)可能被视为在一个或两个结束段指定为空白的范围内。但是,如果每段均需要一个值,则不能创建含空段的组合。

您也许要使用最小或最大空白段值,以创建能测试空白段(已不再需要值)的交叉验证规则。例如,如果允许最后一个可选段而不是倒数第二个可选段为空值,则对于最后一段,您要使用最小或最大空白值,但对于倒数第二个可选段,则要填入最小值和最大值(如 000 或 999)。

使用范围内的空白值

您也许要为弹性域结构创建交叉验证规则,在此结构中,允许用户将某些段留空(也就是说,在此处您可以使用“定义键弹性域段”窗口,将弹性域结构中的一个或多个段的“要求”字段设置为“否”)。您也可以为弹性域结构创建交叉验证规则,在此结构中,不允许用户将任何段留空。

您经常要控制一个或两个段中的值,以及剩余段中也许要使用的任何有效段值。例如,如果您具有表单 00-000-0000-000-000-0000 的六段“会计弹性域”,则也许要允许(包括)所有可能组合,在此组合中的第一段包括 01,第二段包括 200 和299 之间的值(包括 200 和 299)。您可以按照下表说明来指定每段的最小值和最大值(假定这些段仅允许数字字符):

包括: 01-200-0000-000-000-0000
  01-299-9999-999-999-9999

或者,您可以将空白值作为每个未限制段(最后四段)的最小值和最大值。

包括: 01-200-____-___-___-____
  01-299-____-___-___-____

由于空白值明确表示了范围的末端,因此您会发现使用它们比明确指定范围结束值要方便得多。当然,如果范围有一个固定值,您始终只能在某个范围内仅指定一个空白值:

包括: 01-200-2000-___-___-____
  01-299-____-___-299-____

定义多规则

您应使用多个简单验证规则而不应使用一个复杂的规则。简单验证规则允许您提供更特定的错误信息,并将光标返回至最适当的键弹性域段。简单规则也易于进行超时维护。

例如,如果您使用的是“会计弹性域”,则可能要用户输入仅用于余额段值 01 的部门 100 至 199 和资产帐户 2000 至 2999。虽然您采用一个复杂规则即可达到此目标,但此时您将发现这会更加麻烦。

包括: 00-000-0000-000-000-0000
  99-999-9999-999-999-9999
排除: 02-100-2000-000-000-0000
  99-199-2999-999-999-9999

错误信息:具有此余额段值的部门或帐户不正确。

错误段:是否为部门?是否为帐户?

下面将说明如何使用两个规则更清晰地表示您的控制目标:

规则 #1

包括: 00-000-0000-000-000-0000
  99-999-9999-999-999-9999
排除: 02-100-0000-000-000-0000
  99-199-9999-999-999-9999

错误信息:请使用仅含余额段值 01 的部门 100-199。

错误段:部门

规则 #2

包括: 00-000-0000-000-000-0000
  99-999-9999-999-999-9999
排除: 02-000-2000-000-000-0000
  99-999-2999-999-999-9999

错误信息:请使用仅含余额段值 01 的帐户 2000-2999。

错误段:帐户

另请参阅

交叉验证规则

维护交叉验证规则和有效组合

报表

交叉验证规则窗口

定义交叉验证规则

定义交叉验证规则要素


         上一页  下一页          目录  索引  定位  词汇表  程序库