DB查询
DB查询允许您对Authentic视图中显示的表格的记录进行查询。查询是针对单个表格的,并且对每个表格只能进行一次查询。您可以在编辑期间随时进行查询,如果在提交查询时,您的Authentic视图文档中有未保存的更改,系统会询问您是希望保存对文档所做的所有更改,还是丢弃所有更改。请注意,即使在其他表格中所做的更改也将被保存/丢弃。在提交查询后,将使用查询条件重新加载表格。
提示: | 如果您收到一条消息说打开的表格太多,您可以通过使用查询过滤掉一些表格来减少打开的表格数量。 |
要创建并提交查询,请执行以下操作:
1.单击所需表格的“查询”按钮以打开“编辑数据库查询”对话框(参见截图)。该按钮通常出现在每个数据库表格的顶部或下方。如果表格中没有“查询”按钮,则StyleVision Power Stylesheet的设计者尚未为该表格启用DB查询功能。
2.单击追加AND或追加OR按钮。这将为查询追加一个空条件(如下所示)。
3.为该条件输入表达式。表达式包括:(i) 一个字段名称(来自关联的组合框);(ii) 一个运算符(来自关联的组合框);以及(iii) 一个值(需要直接输入)。有关如何构建表达式的详细信息,请参见条件中的表达式部分。
4.如果您希望添加另一个条件,请根据您希望使用哪个逻辑运算符(AND或OR)来连接两个条件来单击追加AND或追加OR按钮。然后,添加新条件。有关逻辑运算符的详细信息,请参见DB查询中的重新排序条件部分。
条件中的表达式
DB查询条件中的表达式由一个字段名称、一个运算符和一个值组成。可用字段名称是选定的顶级数据表格的子元素;这些字段的名称都列在了一个组合框中(参见上方截图)。下方列出了您可以使用的运算符:
= | 等于 |
<> | 不等于 |
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
LIKE | 语音相同 |
NOT LIKE | 语音不相同 |
IS NULL | 为空 |
NOT NULL | 不为空 |
如果选择了IS NULL或NOT NULL,则“值”字段将被禁用。输入的值必须不带引号(或任何其他分隔符)。值还必须具有与对应的DB字段相同的格式;否则表达式将被评估为FALSE。例如,如果MS Access DB中的date数据类型字段的条件有一个表达式StartDate=25/05/2004,则该表达式将被评估为FALSE,因为MS Access DB中的date数据类型的格式是YYYY-MM-DD。
创建DB查询时使用参数
您可以在创建DB查询时输入参数的名称作为表达式的值。参数是可以用来代替查询中的字面值的变量。当您在表达式中输入它时,将会在表达式中使用其值。可用的参数已由SPS设计者在SPS中定义,并且可以在“查看参数”对话框中查看(参见下方截图)。参数已在SPS中被分配了一个默认值,可以通过命令行将值传递给参数来覆盖该默认值(如果输出文档是通过命令行编译的)。
要查看为SPS定义的参数,请单击“编辑数据库查询”对话框中的参数按钮。这将打开查看参数对话框(参见截图)。
“查看参数”对话框包含在SPS中为样式表定义的所有参数,并必须在样式表设计中编辑参数。
DB查询中重新排序条件
DB查询的逻辑结构和任何两个条件或条件组之间的关系用图形方式表示。逻辑结构的每一级都用方括号表示。两个相邻的条件或条件组表示AND运算符,然而如果两个条件由OR词分开,则表示OR运算符。您也可以适当地对条件进行缩进,以便能更清楚地查看DB查询的逻辑结构。
上方截图中显示的DB查询可以用文本表示为:
State=CA AND (City=Los Angeles OR City=San Diego OR (City=San Francisco AND CustomerNr=25))
您可以通过将条件或条件组相对于DB查询中的其他条件向上或向下移动来对DB查询进行重新排序。要移动条件或条件组,请执行以下操作:
1.通过单击选择条件,或通过单击代表该级别的括号来选择整个级别。
2.单击对话框中的向上和向下箭头按钮。
请注意以下几点:
•如果移动方向上的相邻条件处于同一级别,则这两个条件会交换位置。
•条件组(即括号内的条件)会在同一级别中更换位置;但不会更改级别。
•单个条件在同一级别上更改位置。如果相邻的条件进一步向外/向内(即不在同一级别),则选定的条件将向外/向内移动,一次一个级别。
要删除DB查询中的条件,请选择条件并单击删除。
修改DB查询
要修改DB查询,请执行以下操作:
1.单击“查询”按钮。这将打开“编辑数据库查询”对话框。您现在可以在DB查询中编辑任何列出的条件中的表达式、添加新条件、重新排序条件或删除条件。
2.单击确定。数据库中的数据会自动重新加载到Authentic视图以反映对DB查询的修改。