Excel服务器2010教程
  • 1.1 Excel服务器是信息系统工具
  • 1.2 用Excel服务器构建信息系统
  • 1.3 基于Excel服务器的信息系统架构
  • 1.4 如何学习使用Excel服务器
  • 2.1 安装概述
  • 2.2 服务端安装
  • 2.3 客户端安装
  • 2.4 Excel服务器的组成模块
上一节 下一节

8.1 设计纯查询模板

通过我的工作台只能完成比较简单的数据查询,更多的时候,我们需要设计查询模板,通过表间公式来完成数据的查询工作。

看这样一个例子,假设您是销售部的统计员,月底您要制作一张本月(2010年5月)销售情况的汇总表,如下图所示:

HyperSnapClipImage

图 8‑1销售台账表样

设想一下您手工制作这张表格时的情形:您把本月发生的订单都拿到手边来,拿过一张《订单》,把上面的订单日期抄写到B4,订单编号抄写到C4,客户名称抄写到D4,…,录入人抄写到I4,然后把这张《订单》放到一边;再拿过一张《订单》,订单日期抄写到B5,订单编号抄写到C5,客户名称抄写到D5,…,录入人抄写到I5,…,最后,每一张《订单》上的信息都已抄到台帐上,2010年5月的《销售台账》就做完了。当然,所谓的“抄写”也可以是“拷贝/粘贴”。

把上面的制作台账的过程用一句话叙述一下,就是:

找来2010年5月1日至2010年5月31日之间登记的所有的《订单》,把其中的信息“抄写/拷贝粘贴”到台账的对应栏目中,每一张《订单》登记台帐中的一行。

注意到我们已经建立了《订单》模板,所有的订单信息都已经输入计算机了,所以这种“抄写/拷贝粘贴”过程完全可以定义成一条表间公式,由计算机自动完成。

8.1.1 建立销售台帐模板

下面我们尝试用另一种方法建立模板----“用已有的Excel文件格式作为表样”。

  1. 按上图表样建立一个 Excel 文件,命名为“销售台帐 .xls ”
  2. 用 Admin 帐户登录
  3. 选择菜单“设计  新建模板”, 弹出“新建模板”窗口

图 8‑2把一个普通的Excel文件另存为模板

  1. 输入模板的编号、名称,注意要选中“用以下 Excel 文件的格式作为表样”,点击旁边的【 … 】按钮,选择“销售台帐 .xls ”,点击【确定】。

图 8‑3

  1. 在销售台帐模板上定义两个数据表:“销售台帐 _ 主表”和“销售台帐 _ 明细”

销售台帐_主表:

主键

区域

字段名

数据类型

必填

填写规范

其它

 

C2

起始日期

日期

 

 

 

 

E2:F2

截止日期

日期

 

当前日期

 

销售台帐_明细:

主键

区域

字段名

数据类型

必填

填写规范

其它

 

B4:B10

订单日期

日期

 

 

 

 

C4:C10

订单号

文字 (20 字以内 )

 

 

 

 

D4:D10

客户名称

名称或地址

 

 

 

 

E4:E10

产品名称

名称或地址

 

 

 

 

F4:F10

规格型号

文字 (100 字以内 )

 

 

 

 

G4:G10

订货数量

小数

 

 

 

 

H4:H10

订货金额

金额

 

 

 

 

I4:I10

销售员

文字 (20 字以内 )

 

 

 

8.1.2 设置本模板为纯查询报表

点击工具栏按钮“模板属性”,弹出如下对话框,在“基本信息”选项卡下,选择“本模板只用做查询,不保存数据”。

图 8‑4

8.1.3 按时间查询订单信息

表间公式的来源数据是两个数据表

在销售台帐模板上定义这样一条表间公式:

图 8‑5表间公式的来源数据是两个表

注意它们和我们以前定义的表间公式相比有了两点不同:1)来源数据是两个表;2)填充方式中有的字段从订单_主表中取值,有的从订单_明细中取值。

手动应用表间公式

  1. 新填一张《销售台账》,输入起始日期和结束日期
  2. 单击工具栏上的“应用公式”按钮。

图 8‑6手工应用表间公式

  1. 弹出应用公式对话框,选中“简单查询”左侧的复选框,按【应用】,如图:

图 8‑7选择要应用的表间公式

  1. 对话框关闭,订单信息自动填充到台账上。

light bulb2
顾名思义,“纯查询”模板只是用来查看数据,不能保存。若填报《销售台帐》时点击
HyperSnapClipImage
,系统没有任何响应。

8.1.4 控制表间公式结果的排序

我们可以设置表间公式结果的排序方式。假设我们希望归集到销售台帐中的订单信息按订单日期由早到晚排序,同一天的订单按客户名称排序,可以这样做:

  1. 打开《销售台帐》模板,进入设计状态。
  2. 选择菜单“模板  表间公式”。
  3. 弹出“表间公式窗口”,选中“简单查询”,点击【修改】按钮。

图 8‑8修改表间公式

  1. 弹出“定义表间公式”窗口,点击【填充方式】,弹出“填充方式”窗口。
  2. 选择“订单日期”的排序方式为“升序”,选择“客户名称”的排序方式为升序。如图。点击【确定】

图 8‑9设置表间公式结果的排序

  1. 回到“定义表间公式”窗口,公式内容显示如图,在填充方式的“订单日期”和“客户名称”后面加上了排序方式。

图 8‑10

  1. 点击【保存】,回到“表间公式”窗口,点击【关闭】
  2. 关闭模板。

好了,现在再去填报一下《销售台帐》,应用“简单查询”表间公式,观察一下排序的效果。

light bulb2
假如我们希望的排序顺序是:先按照客户名称排,客户名称相同的再按订单日期排,那么不仅需要设置“订单日期”和“客户名称”的排序方式,还需要点击“填充方式”窗口上的【上移】或【下移】按钮,把“客户名称”移到“订单日期”之上。

8.1.5 表间关联

下面我们来对《销售台帐》模板做一下改进:我们希望同时看到每份订单的销售是由哪个大区实现的。

向数据表中增加字段

  1. 修改一下《销售台帐》的表样,在右方增加一列:大区

Snap32

图 8‑11在《销售台帐》的表样中增加一列

  1. 选中区域 J4:J10 ,然后右键选择“重复数据项”
  2. 出现“定义重复数据项窗口”,选择【按行】,上方标题行数 1 ,选中“数据区域可向下扩展”,点击【下一步】
  3. 在下一步出现的窗口中,选择“添加到本模板上的以下数据表”,表名选择“销售台帐 _ 明细”,点击【下一步】

图 8‑12新数据项添加到数据表

  1. 设置“大区”的数据类型,然后点【完成】

图 8‑13设置新数据项的数据类型

为什么要做表间关联

现在来分析一下问题。

我们看到,除了“大区”以外,销售台帐上的其它内容都可以从“订单”得到。但是“订单”上偏偏没有大区的信息。

怎么办呢?订单上虽然没有大区的信息,但是有客户的信息,根据客户的信息找到对应的“客户登记表”,就可以查到该客户所属的大区。请看图7-13的示意:

销售台帐的数据来自两个不同的模板----“订单”和“客户登记表”,这两个模板上有共同的数据项“客户编号”,通过这个共同的数据项,我们说两个模板之间有了一种“关联”,同一个客户的“订单”和“客户登记表”的数据可以组合起来,形成销售台帐中的一条信息。

图 8‑14表间关联的示意

定义带表间关联的表间公式

  1. 在《销售台帐》模板上新建表间公式,输入公式名称“表间关联查询”,应用方式选择“手动执行”。
  2. 点击【来源数据】,弹出“选择数据表”窗口。
  3. 选择三个数据表“订单 _ 主表”、“订单 _ 明细”和“客户登记表”,在窗口下半部分的表格中选择输入表间关联条件

图 8‑15输入表间关联条件

  1. 点击【确定】,回到“定义表间公式”窗口。
  2. 继续数据筛选条件和填充方式,最后完成的表间公式如下:

图 8‑16带表间关联条件的表间公式

8.1.6 组合条件查询

现在进一步改进《销售台账》模板,在表头再增加两个条件:产品名称和客户名称,

我们希望对四个条件做组合查询:起止时间必须给定,如果给出了产品名称,则查询起止时间段内该产品的订单,否则查询起止时间段内全部产品的订单;客户名称条件也是一样,若给出客户名称,则查该客户的,否则,查全部客户的。下面我们仅用一条表间公式,来涵盖所有可能的组合情况。

  1. 如下图所示,在“销售台账 _ 主表”中增加两个字段:品名、客户名

图 8‑17表头增加条件字段

  1. 把已经定义的表间公式“表间关联查询”另存为一条新公式“组合条件查询”。
  2. 修改“组合条件查询”表间公式,更改其筛选条件,最终结果为:

图 8‑18组合条件查询表间公式

下面解释一下修改后的筛选条件。我们在筛选条件中增加了两项,首先是:

本报表.销售台账_主表.品名=’’ 或者 订单_明细.产品名称=本报表.销售台账_主表.品名

假设全部订单中包含有p1和p2两个品名,我们看看这个条件会得到什么结果,如果我们不输入品名条件,则无论订单的品名是p1还是p2,上述条件均满足(因为此时,本报表.销售台账_主表.品名=’’,“或者”的前半部分满足),所以能查出所有品名的订单;当我们输入品名条件,比如p1,此时本报表.销售台账_主表.品名≠’’,“或者”的前半部分不满足,对于品名为p1的订单,“或者”的后半部分满足,所以只能查询出品名为p1的订单。

增加的第二个条件,关于客户名的筛选,原理是一样的,只是其中用到了“形如”比较运算符。“形如”是一个字符串比较运算符,我们说A形如B,意思是A包含了B的内容,例如:

“中国北京”形如“北京”,这是成立的,因为“中国北京”中包含了“北京”二字,但是“中国北京”形如“京都”,就不成立了。

利用“形如”比较,用户可以不必记得客户的完整名称,只记得几个字,比如,“客户名”条件处输入“山东”,则可以查询处所有“客户名称”中包含“山东”字样的客户的订单信息。

8.1.7 链接到相关表单

我们在“销售台帐”模板上,通过定义表间公式,可以查询出符合条件的订单列表,但是如果要了解每份订单的完整信息,还需要到我的工作台中具体找到这张订单,打开它,才能看到。下面我们学习一种在查询模板上,方便地查看具体订单的方法:我们在销售台帐上的每个订单号下面加一个超级链接,点击这个链接,直接就可以打开这份订单。如图:

图 8‑19

为了达到上述目的,我们需要对“销售台帐_明细”中的“订单号”字段进行设置,指定在该字段上构造一个超级链接,链接到对应的订单。

按以下步骤操作:

  1. 打开“销售台帐”模板,进入设计状态
  2. 打开“管理数据表”窗口,选择“销售台帐 _ 明细”表,点击【字段】
  3. 选中“订单号”字段,点击“链接”下的【 … 】按钮,弹出字段属性 - 超级链接窗口。

图 8‑20

  1. 勾选“包含一个超链”,选择链接模板为“订单”,“打开模板上的字段”为“订单 _ 主表 . 订单编号”,如图:

图 8‑21

  1. 点击【保存】,回到上一级窗口,再次点击【保存】,关闭管理控制台窗口。
  2. 关闭模板。
上一节 下一节