如果你希望在表单 A 的数据可以去改变表单 B 的数据,例如一张订单确认出货之后,可以扣该商品的库存,这一类需求就可以利用更新别张表单字段值单击钮。以下将用扣库存来演示这个功能,假设有两张表单,左边是“销售订单”,右边是“商品数据”。
由于是要从“销售订单”的数据去影响“商品数据”中的库存,因此要在“销售订单”中设置单击钮。进入表单页设计模式后,选择 表单工具,并在 自订单击钮下找到更新别张表单的字段值
在窗口中设置要更新的表单,接着设置怎么更新以及在什么情况下更新。
将销售订单的“数量”字段
更新到:“-”(因为是要扣库存,所以选择“减”;若是设置入库则选择“加”)
商品表单的“总数量”字段
如果要一次更新多个字段的话,可以单击“+”来新增,更新字段值的顺序是由上往下运行的。
当销售订单的字段:商品编号
“等于”
商品数据的字段:商品编号
如果有多个条件的话,可以单击“+”来新增条件。设置多组条件的话,会在全部条件都满足的情况下才可以运行单击钮。假设条件有误会无法保存单击钮设置,可以参阅这篇来看常见的错误设置。
完成后,单击创建更新别张表单字段值动作单击钮,并命名单击钮。该单击钮就会被新增在表单设置下的动作单击钮中。每笔数据的表单页中右下角也可以看到该单击钮。
离开前记得保存设计!
新增此单击钮的同时,系统会帮你新增了一个日期时间字段,这个字段用来自动纪录动作单击钮运行的日期及时间。更新别张表单字段值动作单击钮会需要此字段作为依据,因此请勿删除这个字段!
如果是 2017/06/01 之后新增或修改此动作单击钮的话,建议将此日期时间字段设成只读,避免用户手动修改动作单击钮运行结果的判断日期。
如果是 2023/03/21 之后创建此单击钮所自动生成的记录运行时间字段会有不可删除的属性,要先删除单击钮之后才能删除此字段。
在“销售订单”中可以看到,选择“单人座扶手椅”这个商品时,列表中显示目前该商品的库存为 35,而数据中的出库数量为 15。
新增并保存了这张订单后,单击右下方的“扣库存”单击钮。
系统会退出信息告诉你数据已经更新,并在系统创建的日期时间字段自动填上运行动作的日期及时间。
该商品库存已经被扣减 15,变为 20。
要复原“扣库存”的话,可以单击下“复原扣库存”动作单击钮(有勾选“创建复原单击钮”的话,才会看到“复原扣库存”单击钮)。单击完之后,会发现系统创建的日期时间字段值被清空了,代表目前是没有运行过更新别张表单字段值(扣库存)的动作。
(如果你是2017/06/01以前新增此动作单击钮,并且没有在此之后修改该动作单击钮设置的话,请参阅这篇说明来运行复原动作。)
运行完成后,该商品的库存数量就会复原到扣减前。
旧的更新别张表单字段值单击钮设计要运行复原动作,需先手动将系统的日期时间字段值清空,再单击“复原扣库存”动作单击钮。
以下为复原单击钮在新旧(新旧分界为 2017/06/01)设计上的差异:
旧版:检查最后修改日期是否为空,若是则运行并更新最后修改日期。无防止连续运行复原之机制,只要判断的日期时间字段为空即可单击复原动作单击钮,可能运行多次复原。
新版:直接运行,并自动清空最后修改日期时间。若最后修改日期为空,则不运行复原,并回传运行成功(视为没有更新过,可避免连续运行复原)。
参阅下表进阶设置说明:
进阶设置 | 默认值 | 功能 |
---|---|---|
重新计算表单中的公式 | 关闭 | 运行更新字段值时,重新计算目标表单上的公式。如果目标表单有包含参照到更新字段的公式字段,请记得勾选此选项。 |
创建复原单击钮 | 打开 | 默认为打开,单击下更新单击钮后,会创建一个复原动作单击钮。详情请参阅考此章节。 |
保存时自动运行 | 关闭 | 每次保存数据时,自动运行复原单击钮及此动作单击钮以保持目标字段的值有被同步更新。但每张表单只能有一个被设置为自动运行的动作单击钮。 |
保存时检查目的表单访问权限 | 关闭 | 检查运行单击钮的用户是否有目标表单的访问权限。 |
检查目标表单中的"必填"字段 | 关闭 | 运行更新时,若将目标表单上的必填字段更新为空值时,会显示无法更新。 |
检查目标表单中字段的"输入检查" | 关闭 | 运行更新时,若更新的字段值不符合输入检查,会显示无法更新。 |
找不到任何符合更新条件的数据时,视为运行失败 | 关闭 | 运行更新时,如果没有字段符合更新条件,会显示运行失败。 |
找不到任何符合更新条件的数据时,显示警告信息 | 打开 | 默认为打开,如果不希望显示警告信息,请记得撤销勾选此设置。 |
加载目标表单上的字段默认值 | 关闭 | 如果希望在运行此动作单击钮时将默认值填入目标表单,可以勾选此选项。 |
加载这张表单上的字段默认值 | 关闭 | 如果希望在运行此动作单击钮时将默认值填入此表单,可以勾选此选项。 |
套用子表格筛选条件 | 关闭 | 参阅以下套用子表格筛选条件说明。 |
显示运行成功时的提示信息 | 打开 | 若撤销勾选(不显示运行成功信息),运行时间较长时,较难掌握是否及何时运行成功,因此建议保留此项勾选。 |
自订运行成功时的提示信息 | 关闭 | 勾选后下方会出现信息输入字段可以输入想要自订的提示信息,并请留意字数限制。 |
当更新别张表单字段值有包含子表格字段时,可以套用筛选条件来只更新符合条件的子表格数据。例如在“出库单”要透过单击钮扣库时,或许最后只出货了其中两项商品,而你的子表格中有字段记录“确定出货”的话,就可以搭配套用筛选条件。
以下图为例,“出库单”中原本有三个项目,但最后只出其中两项,子表格中也有字段记录是哪两个项目:
在进阶设置中选择套用子表格筛选条件。
根据设置的条件,运行单击钮后就只会扣除有“确定出货”的子表格项目数量。
默认情况下,每一笔数据中一个更新别张表单字段值动作单击钮只能运行一次,系统会透过检查运行时间字段是否有值来避免重复运行。而需要重复运行的使用情境通常有两种:
此类重复运行通常更新方式为“+ 加、- 减”,若直接再次运行会造成重复加减的问题,因此会需要先运行复原动作单击钮,调整好数据后再重新运行。举例来说,如果有一张“出库单”中的子表格原本有两列品项,且已经运行过扣库存动作单击钮,而你希望新增第三列品项并且运行出库,操作步骤应为:
步骤ㄧ:运行复原动作单击钮
为复原既有两列品项的库存,以避免后续重复扣库存。运行复原动作单击钮时,系统会以现有的数据逆向运行,例如若原本减去 3 个库存,那么会以现有的数据再加回 3 个库存,并同时清空运行时间字段的字段值。
步骤二:于子表格中新增第三列品项,完成后再次运行扣库存动作单击钮。
此类重复运行通常更新方式为“= 等于”。举例来说,来源表单和目的表单直接没有链接关系,但你希望 A 表单的字段值每一次变更都可以随时更新到 B 表单上,可以参阅以下设置:
步骤一:创建更新别张表单字段值动作单击钮时,在进阶设置中勾选“保存时自动运行”。
步骤二:在系统创建的运行时间字段套用公式“" "”,代表自动填入空值,以便下次再次运行。
1. 要做加减运算,更新别张表单字段值所依据的来源字段及被更新的目的字段都必须是数字字段;而填入字符串的话请用“=”。
2. 需设置至少一组的更新条件。
3. 设置不同组条件时,目标条件字段不能被重复设置。
4. 设置更新别张表单字段值动作单击钮时系统所帮你新增的日期时间字段不能移除,否则此动作单击钮会无效。但你可以重新命名此字段或是隐藏。
5. 旧版不能在记录动作日期时间字段已经值的情况下,再单击一次更新别张表单字段值的动作单击钮或是复原动作单击钮,如果要双击动作单击钮的话,要先把记录日期时间字段的值清空。
6. 有多个更新别张表单字段值的动作时,只能针对其中一个来设置保存时自动运行。
关于移除动作单击钮可以参阅这篇。
或是要针对动作单击钮做附加设置的话,例如限制使用使用动作单击钮的权限等,可以参阅这篇说明。