回写公式练习
在《出库单》模板上,我们对“订单号”字段设置了数据规范,那里是一个下拉列表,包含所有订单号。这里有一个问题,假设我们针对订单号“001”已经填写了出库单,再次填写下一张出库单时,“001”还是会出现在订单号下拉列表中,这就有可能导致重复,一份订单做了两次出库。如果能做到每填一张出库单,订单号下拉列表中自动就能减少一项,也就是说,让订单号下拉列表中只包含未填过出库单的订单信息,就可以解决这个问题。
本节我们以此问题为例,复习回写公式的应用
订单模板增加“状态”字段
打开订单模板,进入设计状态,在表样上增加“状态”,如图,按以下步骤操作:
- 选中C14单元格,点击鼠标右键,选择菜单【单一数据项】
- 弹出“定义单一数据项”窗口,点击【左侧单元命名】,点击【下一步】
- 选中“添加到本模板上的以下数据表”,下拉选择“订单_主表”,如图,点击【下一步】
4.选择“状态”的数据类型为“文字(20字以内)”,点击【完成】
用回写公式动态刷新订单状态
下面请读者自行练习,在出库单模板上增加两条回写公式:保存出库单时把订单的状态改为“已发货”;删除出库单时把订单的状态置为空白。
用表间公式构造下拉列表
我们在“出库单”模板上通过一个数据规范构造了订单号的下拉列表,填写出库单的时候,可以选择需要的订单号。这里存在一个问题,假如针对一份订单,例如001号,已经开具了出库单,那么继续开具出库单的时候,就不能再选择001号订单了,否则发生了重复出库,所以,确切地说,我们需要的不是“订单号”的下拉列表,而是“未发货的订单号”的下拉列表。
现在,我们来学习另一种构造下拉列表的方式----通过表间公式来构造下拉列表
- 在出库单模板上定义表间公式,数据源选择“订单_主表”,筛选条件输入:订单_主表.状态<>’已发货’。
- 构造填充方式如下,注意“操作”要选成“构造下拉选项”
3.下拉列表中各项的排序,可在"排序"栏选择“升序”或“降序”。假如想按照表间公式来源数据表中的其它字段对下拉选项排序,则可切换到“自定义排序”选项卡,选择用来排序的字段,例如,下面的设置,使得下拉中的订单编号,按照其对应订单上的合计金额按降序排列。当两种排序方式都设置时【自定义排序】中的设置生效。
4.完整定义的表间公式如下,注意我们选择的应用时机是“新建打开时”
5.关闭模板
请读者自行练习,连续填两张出库单,注意观察订单号下拉列表中内容的变化
思考题
假如我们让销售员来填写订单,我们希望“客户名称”下拉列表中出现的都是销售员本人负责的客户,不出现他人的客户,该如何改进订单模板?