10.3 回写公式练习
在《出库单》模板上,我们对“订单号”字段设置了数据规范,那里是一个下拉列表,包含所有订单号。这里有一个问题,假设我们针对订单号“001”已经填写了出库单,再次填写下一张出库单时,“001”还是会出现在订单号下拉列表中,这就有可能导致重复,一份订单做了两次出库。如果能做到每填一张出库单,订单号下拉列表中自动就能减少一项,也就是说,让订单号下拉列表中只包含未填过出库单的订单信息,就可以解决这个问题。
本节我们以此问题为例,复习回写公式的应用
订单模板增加“状态”字段
打开订单模板,进入设计状态,在表样上增加“状态”,如图,按以下步骤操作:

图 10‑13 订单模板增加“状态”字段
- 选中 C14 单元格,点击鼠标右键,选择菜单【单一数据项】
- 弹出“定义单一数据项”窗口,点击【左侧单元命名】,点击【下一步】
- 选中“添加到本模板上的以下数据表”,下拉选择“订单 _ 主表”,如图,点击【下一步】

图 10‑14
- 选择“状态”的数据类型为“文字 (20 字以内 ) ”,点击【完成】

图 10‑15
用回写公式动态刷新订单状态
下面请读者自行练习,在出库单模板上增加两条回写公式:保存出库单时把订单的状态改为“已发货”;删除出库单时把订单的状态置为空白。

图 10‑16

图 10‑17
![]() |
用表间公式构造下拉列表
我们在“出库单”模板上通过一个数据规范构造了订单号的下拉列表,填写出库单的时候,可以选择需要的订单号。这里存在一个问题,假如针对一份订单,例如001号,已经开具了出库单,那么继续开具出库单的时候,就不能再选择001号订单了,否则发生了重复出库,所以,确切地说,我们需要的不是“订单号”的下拉列表,而是“未发货的订单号”的下拉列表。
现在,我们来学习另一种构造下拉列表的方式----通过表间公式来构造下拉列表
- 在出库单模板上定义表间公式,数据源选择“订单 _ 主表”,筛选条件输入:订单 _ 主表 . 状态 <> ’ 已发货 ’ 。
- 构造填充方式如下,注意“操作”要选成“构造下拉选项”

图 10‑18
- 完整定义的表间公式如下,注意我们选择的应用时机是“新建打开时”

图 10‑19
- 关闭模板
请读者自行练习,连续填两张出库单,注意观察订单号下拉列表中内容的变化
![]() |
思考题
假如我们让销售员来填写订单,我们希望“客户名称”下拉列表中出现的都是销售员本人负责的客户,不出现他人的客户,该如何改进订单模板?