Excel Server Home

6

6.3 用表间公式提取数据

在上一节,我们对订单模板上的客户名称字段设定了填写规范,填报时可以从下拉列表中选择,但地址、电话等依然还需要手工输入。设想一下填写订单的过程:

填好客户名称“甲公司”

--à地址在哪里?去翻一下客户登记表找到了!

--à把找到的地址“抄写”到收货地址处

--à接着填

这个过程中的“翻查”和“抄写”既耽误时间又容易出错。实际上,因为所有客户的信息都已经通过《客户登记表》模板录入计算机了,所以“翻查/抄写”的工作完全可以由计算机完成,只需要告诉计算机:

按照“我所选定的客户名称”到客户表中查一下地址,填充到“地址”栏。

这句话实际上表达了四个方面的含义:

1. 从哪里找数据?----到“客户登记表”中。

2.  找符合什么条件的数据?----按照“我所选定的客户名称”

3.  找什么数据?----地址    

4.  找到数据做什么用?----填充到“地址”栏

这就是表间公式的最原始表达。用稍微规范一些的方式描述一下,教给计算机,就是这样:

6.3.1 定义表间公式

1.  打开《订单》模板,进入设计状态

2.  选择菜单“模板à定义表间公式”,弹出“表间公式”对话框

3.  按【新增】按钮,弹出如下图所示的对话框,选中第一个单选按钮,按【确定】

69 选择表间公式类型

4.弹出定义表间公式对话框,在公式名称处输入“查询客户信息”,应用方式选择“筛选条件改变后自动执行”如下图。

610 输入表间公式名称

5.按【来源数据】,弹出如下对话框。所谓“数据源”指的是现有模板上那些已创建的数据表。因为我们输入的所有信息都存储在这些数据表中。对话框左上部的列表中列出了所有已创建的数据表的名称。在左侧列表中选中“客户表”,点击【 > 】,客户表移到右侧列表,按【确定】

611 选择表间公式数据源

6.回到“定义表间公式”对话框,点击【筛选条件】按钮

612

7.  弹出“输入表达式”对话框,做以下操作:

a)         单击左侧分类列表中的“<客户表>”,右侧选项列表中出现客户表中的左右字段

b)        双击选项列表中的“客户表.客户名称”,使之出现于下方的表达式文本框

c)        单击常用操作符中的【=

d)        单击分类列表中的“<本报表>

e)         双击选项列表中的“本报表.Sheet:客户名称”

构造好的表达式为“客户表.客户名称=本报表.Sheet1:客户名称”,如下图

613 输入表达式

614 输入表达式

  表间公式在模板的设计状态下定义,在填报时实际起作用。其中的“本报表.Sheet1:客户名称”指的是“当前正在填报的这张表

单上所输入的客户名称”。它是一个变量,只有在填报的时刻才能确定取值。

8.按【确定】回到定义表间公式对话框,点击【填充方式】按钮。

615 准备输入填充方式

9.出现“定义填充方式”对话框,填充数据表选择“订单_主表”,双击“地址”所在行的第一列

616 双击输入填充方式

10.再次弹出“输入表达式”对话框,参照前述方法输入表达式内容为“客户登记表.地址”,按【确定】。

617 输入填充表达式

11.回到“定义填充方式”窗口,结果如图。

618

12.继续输入“客户编号”和“电话”的填充方式。

13.按【确定】。回到“定义表间公式”窗口,显示完整的表间公式如下:

620 定义好的表间公式

14.  按【确定】回到最初的“表间公式”窗口,按【返回】

   15.关闭模板。

6.3.2 应用表间公式

以小宋的账户登录,填写一份订单,您会发现两个现象:

1.  选择客户名称后,客户编号、地址和电话自动显示。

2.  输入焦点无法进入客户编号、地址和电话所在的单元格,也就是说,它们被锁定了!

前者意味着输入变得简便快捷,而后者意味着出错的可能性大大降低。