若要选择报表数据的来源,请在“布局”视图中打开报表,然后按 Alt + Enter 打开属性表。 单击“报表对象”选项卡正下方的方块选择整个报表,然后在属性表的“数据”选项卡上单击“记录源”以选择该属性。 然后,通过从列表中选择项目或单击“生成”按钮 打开查询设计视图来设置记录源;在该视图中,可以构建任何查询的记录源。
报表的记录源确定数据库中的哪些字段可在报表上显示。 在关系数据库中,相关数据通常分布在多个表中。 例如,有关客户的信息存储在一个表中,有关订单的信息存储在另一个表中。 报表提供了一种灵活的方式来重新组合数据并按所需方式显示,并可进行打印优化。 有关报表记录源的详细信息,请参阅本文其余部分。 有关报表的概述,请参阅 Access 中报表简介一文。
注意: 本文不适用于 Access Web 应用 - 使用 Access 设计并联机发布的数据库。 有关详细信息,请参阅创建 Access 应用。
本文内容
不同类型的记录源
表格
如果所需的所有字段都在一个表中,则可使用该表作为报表的记录源。 如果所需的字段在两个或更多个表中,则需要确保这些表可基于某种共同值进行逻辑联接,然后创建一个要用作记录源的命名查询或嵌入式查询。
命名查询
命名查询:即通常所称的查询,是一种保存为数据库对象的查询。 可以使用命名查询作为多个窗体或报表的记录源。 但是,对查询设计的更改将影响使用其作为记录源的所有窗体和报表。 此外,删除命名查询相对较容易,从而容易破坏使用命名查询的窗体或报表。
嵌入式查询
嵌入式查询是存储在其他对象的“记录源”属性中的查询。 因为嵌入式查询不是独立对象,因此不太可能由于意外删除或修改报表的查询而破坏报表。 如果希望查询成为报表的专用查询(即不希望与其他任何对象共享查询),则推荐创建嵌入式查询。
使用“报表设计”、“空报表”或“标签”工具,将默认创建嵌入式查询(下一节中有介绍)。 如果从多个表选择报表数据,则报表向导也会创建嵌入式查询。 如果仅从一个表选择数据,则报表向导会将报表直接绑定到该表。
也可以从 SQL 视图中打开的命名查询复制 SQL 语句,然后将 SQL 语句粘贴到报表的“记录源”属性中,以此创建嵌入式查询。 在 SQL 视图中打开命名查询:
-
在导航窗格中右键单击查询,然后单击“设计视图”。
-
在“设计”选项卡上的“结果”组中,单击“视图”,然后单击“SQL 视图”。
报表工具如何创建记录源
若要在 Access 中创建报表,请单击“创建”选项卡上“报表”组中的工具之一。 根据工具的使用方式,每个工具会创建上一节中所述的三种记录源类型之一。
下表描述了每个报表工具的作用及其创建的默认记录源类型。
工具 |
说明 |
默认记录源类型 |
---|---|---|
报表 |
创建包含数据源中所有字段的简单表格式报表。 |
在单击工具前必须在“导航窗格”中选择的表或命名查询。 |
报表设计 |
在设计视图中打开一个空报表,您可在该报表中只添加所需的字段和控件。 |
嵌入式查询(将字段从“字段列表”任务窗格拖到报表中时)。 也可以从“属性表”中的“记录源”下拉列表中选择表或命名查询。 |
空报表 |
在布局视图中打开一个空报表,并显示出字段列表任务窗格。 当您将字段从字段列表拖到报表中时,Access 将创建一个嵌入式查询并将其存储在报表的记录源属性中。 |
嵌入式查询(将字段从“字段列表”任务窗格拖到报表中时)。 也可以从“属性表”中的“记录源”下拉列表中选择表或命名查询。 |
报表向导 |
显示一个多步骤向导,允许您指定字段、分组/排序级别和布局选项。 该向导将基于您所做的选择创建报表。 |
嵌入式查询(从多个表选择字段时)。 如果仅选择一个表中的字段,Access 将使用该表作为记录源。 |
标签 |
显示一个向导,允许您选择标准或自定义的标签大小、您要显示哪些字段以及希望这些字段采用的排序方式。 该向导将基于您所做的选择创建报表。 |
在单击工具前必须选择表或命名查询。 |
注意: “报表设计”、“报表向导”和“标签”工具创建的都是与 Web 数据库不兼容的“客户端”报表。 有关 Web 数据库的详细信息,请参阅在 SharePoint 上编辑或发布 Web 数据库网站。
使用记录源
将记录源转换为嵌入式查询
可以修改绑定到表或命名查询的任何报表,使其绑定到嵌入式查询。 如前所述,这样可增强报表的独立性,减少对其他对象的依赖,从而使数据库更容易维护。 根据当前的记录源类型,可使用以下方法之一将记录源转换为嵌入式查询:
方法 1:单击“生成”按钮
如果“记录源”属性为表名称,则可通过单击“记录源”属性框中的“生成”按钮,快速创建嵌入式查询。
-
在导航窗格中,右键单击要修改的报表,然后单击“布局视图”。
-
右键单击报表上的任意位置,然后单击“报表属性”。
-
在“ 全部 ”选项卡上,单击“ 记录源 ”属性框,然后单击“生成”按钮 。
-
Access 将询问是否要创建基于表的查询。 单击“是”继续。
Access 将打开查询生成器,并添加最初位于“控件源”属性中的表。 -
通过双击要添加到报表上的每个字段名称,将字段添加到查询网格中。 必须为要在报表上显示的所有字段执行此操作。
-
若要添加相关表或查询中的字段,请执行以下操作:
-
在“ 设计 ”选项卡上的“ 查询设置” 组中,单击“ 添加表 (在 Access) 中 显示表 ”。
-
选择要添加的表或查询。
-
确保添加的表和查询以逻辑方式联接。 例如,“客户”表的“ID”字段可能会有一条联接线,将其连接到“订单”表的“客户 ID”字段。 可以通过将一个表或查询中的字段名称拖到另一个表或查询中的字段名称来创建联接线。文章查询简介。
有关创建查询的详细信息,请参阅 -
通过双击要添加到报表上的每个字段名称,将字段添加到查询网格中。 必须为要在报表上显示的所有字段执行此操作。
-
-
若要测试您的查询,请执行以下操作:
-
在“设计”选项卡上的“结果”组中,单击“视图”,然后单击“数据表视图”。
-
若要返回到“设计”视图,请在“设计”选项卡上的“结果”组中单击“视图”,然后单击“设计视图”。
-
-
如果查询返回的数据是您希望出现在报表上的数据,请在“设计”选项卡上的“关闭”组中单击“关闭”。
-
单击“是”保存对 SQL 语句所做的更改并更新属性。
注意: 如果新查询不包含报表上使用的所有字段,Access 将提示您输入每个缺少字段的参数值。 可以删除对报表上字段的引用,也可以使用编辑嵌入式查询下的过程将缺少的字段添加到查询中。
方法 2:使用字段列表添加相关表中的字段
-
在导航窗格中,右键单击要修改的报表,然后单击“布局视图”。
-
如果尚未显示“字段列表”窗格,请在“设计”选项卡上的“工具”组中单击“添加现有字段”。
-
如果在字段列表顶部显示了“显示所有表”,则单击它可显示相关表和其他表中的字段。
-
在“相关表中的可用字段”下展开表,然后将它的一个字段拖到报表中。编辑嵌入式查询中的过程编辑嵌入式查询。
Access 会将记录源更改为包含已添加字段的嵌入式查询。 您可以继续以这种方式添加字段,也可以使用
方法 3:复制并粘贴命名查询中的 SQL
-
在导航窗格中,右键单击包含要复制的 SQL 语句的查询,然后单击“设计视图”。
-
在“开始”选项卡上的“视图”组中,单击“视图”,然后单击“SQL 视图”。
-
复制 SQL 窗格中的文本,然后关闭查询但不保存。
-
在导航窗格中,右键单击要在其中添加嵌入式查询的报表,然后单击“布局视图”。
-
如果尚未显示属性表,请按 F4 显示该表。
-
在“全部”选项卡上,选择“记录源”属性中的文本,然后按 Ctrl+P 将 SQL 粘贴到属性框中。
注意: 如果新查询不包含报表上使用的所有字段,Access 将提示您输入每个缺少字段的参数值。 可以删除对报表上字段的引用,也可以使用编辑嵌入式查询下的过程将缺少的字段添加到查询中。
方法 4:复制并粘贴其他窗体或报表的 SQL
可以直接将嵌入式查询从一个对象的“记录源”属性复制到另一个对象的“记录源”属性。 这样一来,如果另一个窗体或报表包含可返回所需数据的嵌入式查询,则可轻松地在当前处理的报表上重复使用该查询。
-
在导航窗格中,右键单击包含要复制的嵌入式 SQL 语句的窗体或报表,然后单击“布局视图”。
-
右键单击窗体或报表上的任意位置,然后单击“窗体属性”或“报表属性”。
-
在“全部”选项卡上,选择“记录源”属性框中的整个 SQL 语句文本,然后按 Ctrl+C 复制该文本。
-
关闭窗体或报表但不保存。
-
在导航窗格中,右键单击要在其中添加嵌入式查询的报表,然后单击“布局视图”。
-
右键单击报表上的任意位置,然后单击“报表属性”。
-
在“全部”选项卡上,选择“记录源”属性中的文本,然后按 Ctrl+P 将 SQL 粘贴到属性中。
注意: 如果新查询不包含报表上使用的所有字段,Access 将提示您输入每个缺少字段的参数值。 可以删除对报表上字段的引用,也可以使用以下过程(编辑嵌入式查询)将缺少的字段添加到查询中。
编辑嵌入式查询
随着数据库的增长,可能需要修改报表的记录源,例如向报表中添加更多字段。 使用此过程可在查询生成器中打开记录源:
-
在导航窗格中,右键单击包含要编辑的嵌入式查询的报表,然后单击“布局视图”。
-
右键单击报表上的任意位置,然后单击“报表属性”。
-
在“ 全部 ”选项卡上,单击“ 记录源 ”属性框,然后单击“ 生成 ”按钮 。
Access 在查询生成器中打开查询。 -
根据需要编辑查询,然后在“设计”选项卡上的“关闭”组中单击“关闭”。
-
单击“是”保存所做的更改并更新属性。
Access 将关闭查询生成器。 在查询生成器中所做的任何更改都将反映在“记录源”属性中的 SQL 语句中。
有关创建查询的详细信息,请参阅查询简介一文。
将嵌入式查询另存为命名查询
您可能会认为用作某个报表的记录源的嵌入式查询可能也对其他一些用途有用。 在这种情况下,可将其另存为命名查询供其他对象使用。
-
在导航窗格中,右键单击包含嵌入式查询的报表,然后单击“布局视图”。
-
右键单击报表上的任意位置,然后单击“报表属性”。
-
在“ 全部 ”选项卡上,单击“ 记录源 ”属性框,然后单击“ 生成 ”按钮 。
Access 在查询生成器中打开查询。 -
在“设计”选项卡上的“关闭”组中,单击“另存为”。
-
在“另存为”对话框中,在上面的框中键入查询名称,然后单击“确定”。
Access 将查询保存为导航窗格中的命名查询。
-
在“设计”选项卡上的“关闭”组中,单击“关闭”。
Access 会询问你是否要保存对嵌入查询所做的更改,即使你未进行任何更改。 大多数情况下,应单击“否”以关闭查询生成器。 但是,如果确实进行了需要反映在报表的嵌入式查询中的更改,请单击“是”。