链接与加载的运作方式与公式和默认值相同,只在输入时于输入位置触发。
举例来说:如果在“订单”表单上设计了链接与加载,并将订单表单的“客户编号”字段链接至“客户”表单的“客户编号”字段,则订单表单中的“客户姓名”、“客户电话”和“客户地址”字段将从对应的“客户”表单中加载相同名称的字段数据。
在设计保存后,“订单”表单与“客户”表单就创建了链接与加载的关系。但这并不代表着在创建订单时,客户数据会自动显示在订单上,因为系统无法自行判断目前下订单的是哪位客户。必须透过“手动点选或输入客户编号”来告知系统下订单的客户是哪一位,系统才能根据该“客户编号”,自动带入对应的客户姓名、电话和地址信息。而这个“手动点选或输入客户编号”的动作,正是“触发”链接与加载的方式。
链接与加载只会在输入时触发,这表示在数据录入后,即使链接的来源表单数据发生变更,系统也不会自动将变更同步至已加载的该张表单字段。
以上述“订单”表单与“客户”表单为例:
假设在 2019/09/08 创建了一张订单,订购客户为编号 001,姓名 Emily,地址“台北市罗斯福路一段一号”。订单成功出货并送达客户地址。到了 2020 年,Emily 搬家,于“客户”表单中将地址更新为“南昌路二段二号”。然而,此次更新不应该影响 2019 年的订单,因为当时 Emily 的地址确实为旧地址“台北市罗斯福路一段一号”。
因此,当发现明明已设计了链接与加载,加载字段(如地址)与来源表单的内容却不一致时,可以检查链接与加载触发时的来源表单加载字段的字段值,可能会找到原因。(可以透过数据修改纪录来查看线索)
以上述范例来说明:
1. 发现订单上显示客户地址为“罗斯福路一段一号”,但“客户”表单中,这位客户的地址为“南昌路二段二号”。
2. 查询数据修改纪录后发现:
订单创建时间是 2019/09/08 上午 10:00,当时在客户编号填入 001,地址自动加载为“罗斯福路一段一号”。
而在客户表单中,该客户的数据在 2020/09/08 时,客户地址从“罗斯福路一段一号”修改为“南昌路二段二号”。
便可确认 在 2020/09/08 数据修改前,也就是链接与加载触发的当下,客户地址确实是“罗斯福路一段一号”。
“空值”是较常见的误解之一。举例来说,假设 2019/09/08 上午 10:00 创建订单时,“客户”表单中的“地址”字段为空,则“订单”表单中的“地址”字段也会是空的。
若 2020 年才补上客户地址后,就可能出现以下情况:
1. “客户”表单中的地址字段已有值。
2. “订单”表单的地址字段仍然为空,看似数据未成功加载。
其实这状况和上面的范例相同,但因为字段是空值,比较容易误解为“没有带出数据”。
若需要在变更 A 表单时,自动同步变更以 A 为链接加载来源的 B 表单,可透过以下方式设置:
1. 进入设计模式 > 表单工具 > 链接与加载 > 点击齿轮图符。
2. 勾选随时同步加载字段值,让系统在来源变更时同步更新加载字段。或是点击 “将这组(或所有)链接与加载的字段同步为最新纪录”,手动重新触发链接与加载。
注意:
勾选“随时同步加载字段值”代表“当来源表单数据变更时,对应的加载字段也会同步更新”,但这并不表示加载字段的值始终与来源一模一样,两者会有些微差别,因为“随时同步加载字段值”的运作方式是当来源表单(例如“客户”表单)被编辑时,系统会触发链接与加载,确保目的表单(例如“订单”表单)的加载字段与“客户”表单一致。
但是若直接在“订单”表单(目的表单)中修改客户地址为“中坜市大享街 1 号”,系统不会逆向将“客户”表单(来源表单)的地址也修改为“中坜市大享街1号”,因为链接与加载的机制是从来源表单同步到目的表单,而非可以从目的表单逆向修改来源表单内容。