查询的建立

VFP的查询设计器可以帮助用户快速的建立查询，检索出用户所需要的数据。并可以对得到的数据进行排序、分组，建立报表、视图、图形等。基于单表创建的查询称为单表查询，基于多表创建的查询称为多表查询。

1．单表查询的建立

①单击“文件”，选择“新建”，在“新建”对话框中选择“查询”，单击“新建文件”。

|

②弹出“添加表或视图”对话框(如图14.1)。

|

选择所需建立查询的数据库及表，选好后按添加按钮，将需要的表添加到查询的数据环境中，根据需要可以添加多个表。如果是自由表，可以通过按“其它”来添加，添加后可在查询的数据环境中看见该表。添加完后按“关闭”。弹出“查询设计器”窗口(如图14.2)。

“查询设计器”上共有六个选项卡：

1)“字段”选项卡：指定查询的组成字段。

2)“联接”选项卡：指定联接表达式，用它来匹配多个表或视图中的记录。

3)“筛选”选项卡：指定选择记录的条件，比如在字段内指定值或在表之间定义临时关系的连接条件。

4)“排序依据”选项卡：指定排序依据。

5)“分组依据”选项卡：指定字段，SUM 或 COUNT 之类的合计函数，或用于把有相同字段值的记录合并为一组的其它表达式。

6) “杂项”选项卡：指定是否要对重复记录进行检索，同时是否对记录(返回记录的最大数目或最大百分比)做限制。

“更新条件”选项卡：指定更新视图的条件(仅适用于“视图设计器”)。

|

③在“字段”选项卡中选择查询所需要的字段，按“添加”，结果如图14.3。

|

④在“筛选”选项卡中选择筛选的条件(性别为男，结果如图14.4)。

⑤根据需要对“排序依据”、“分组依据”进行设置。

⑥完成了简单的查询设计，在查询上单击右键，弹出快捷菜单，选择“运行查询”，便可看到查询的结果。

⑦如果满足实际需要，单击“保存”，进行文件保存(取文件名为学生查询)，最后单击“关闭”。

建立的查询实际上是一个程序，它被存储在“学生查询.QPR”文件中，该文件实际上与“学生查询.PRG”文件是一样的格式，可在程序中用“DO 学生查询.QPR”来调用它。

为了满足实际的应用需要，我们还可以进行另外一些设置，诸如：

1)排序设置：选择查询的结果按那个或那些字段排序，只需在“排序依据”中选择相应字段即可。

2)无重复记录设置：如果希望在查询结果中没有重复的记录，可在“杂项”中选择“无重复记录”。

3)显示排在前面的若干记录设置：一般情况下我们要求显示符合筛选条件的所有记录，但有时我们可能会只需要查看排在前面的n个记录，比如找出分数最高的前3名。按分数先排序，然后在“杂项”中将“全部”的钩去掉，在“记录个数”输入3。

在一般情况下，查询结果是以一个临时表的方式来存放，并用BROWSE显示出来。当然也可以通过单击右键，选择“输出设置”，选择其它方式来存放查询结果。

2．建立多表查询

①打开查询设计器。

②将“学生情况”表和“学习成绩”表添加到查询设计器中(如图14.5)。

③建立连接条件：单击“联接”选项卡，连接类型选择“inner join”，左边“字段名”下拉框选择“学生情况.XH”,右边“值”下拉框选择“学习成绩.XH”(如图14.6)。

|

④选择字段。单击“字段”选项卡，添加所需要的字段：学生情况.XH、学生情况.XM、学生情况.XB、学习成绩.KM、学习成绩.CJ(如图14.7)。

|

⑤运行、保存查询。单击“查询”，选择“运行查询”(结果如图14.8)。保存查询

|

14.1.3输出查询结果

①在“查询设计器”工具栏上选择“查询去向”。

|

②弹出“查询去向”对话框(如图14.9)，选择输出去向，并填写所需的其他选项。

各输出方向的含义：

1)浏览：在“浏览”窗口中显示查询结果。

2)临时表：将查询结果存贮在一个命名的临时只读表中。

3)表：将查询结果保存为一个命名的表。

4)图形：使查询结果可用于 Microsoft Graph(Graph 是包含在 Visual FoxPro 中的一个独立的应用程序)。

5)屏幕：在 Visual FoxPro 主窗口或当前活动输出窗口中显示查询结果。

6)报表：将输出送到一个报表文件(.FRX)。

7)标签：将输出送到一个标签文件(.LBX)。