子报表是插在其他报表中的报表,即报表中既有主报表,又有子报表。主报表可以是绑定的,也可以是未绑定的,即子报表可以基于表、查询或SQL语句,也可以不基于上述数据源。主报表可以包含子报表,也可以包含子窗体,并可以包含多个子报表或子窗体。
在子报表和子窗体中,同样可以包含多个子报表和子窗体。
主报表和子报表可以基于完全不同的记录源,此种状况主、子报表间没有真正的关系。例如,主报表为“院系表”,而子报表为“课程表”,这两个报表就不存在直接的关系。
主、子报表也可以基于相同的或相关的记录源。例如“学生表”和“成绩表”,主报表是“一对多”关系中的“学生表”,子报表为“成绩表”。
主、子报表还可以以链接的形式存在,但在创建子报表前应确保已与基础记录源表、查询或SQL语句建立了关联。
创建子报表的方法有两种,下面分别举例说明。
1.在已有报表中创建子报表
例6-8 创建“例6-8班级学生主子报表”,主报表为班级信息,子报表为“学生信息子报表”。
操作步骤:
(1)创建班级信息主报表,班级信息主报表设计视图如图6-52所示[具体步骤参考例6-6步骤(1)~(4)]。
图6-52 班级信息主报表设计结果
(2)在“报表设计工具”中激活“使用控件向导”,即单击“使用控件向导”。
(3)调整主体节的位置,让其有足够的空间存放子报表。
(4)在“报表设计工具”中单击“”子窗体/子报表,在主体节拖动鼠标,拖出子报表的大小,释放鼠标。弹出确定“子报表向导”之一——选择窗体或报表的数据源,如图6-53所示,在此选择“使用现有的表和查询”。
图6-53 选择窗体或报表的数据源
(5)单击“下一步”,进入“子报表向导”之二——确定具体的数据源和报表中显示的字段,如图6-54所示,在此我们选择“表:学生表”作为数据源,将“学生表”中的“学号”“姓名”“性别”“出生日期”和“政治面貌”设置为选定字段。
图6-54 确定数据源和显示字段
(6)单击“下一步”,进入“子报表向导”之三——确定主/子表的链接字段。如图6-55所示,在此我们选择“从列表中选择”(如果两张表创建了一对多的关系,此链接字段通常为公共字段),当然也可以自定义链接字段。
图6-55 确定主/子表的链接字段
(7)单击“下一步”,进入“子报表向导”之四——确定子窗体/子报表的名称,在此我们键入“学生信息子报表”,如图6-56所示。
图6-56 确定子报表的名称(www.xing528.com)
(8)单击“完成”,查看报表的设计结果,在此可以调整窗口的布局,如图6-57所示。
图6-57 主/子报表设计结果
注:要调整子报表的位置,在子报表任意位置单击,当周围出现黄色框线时,即可拖动鼠标调整大小或位置。
(9)切换到报表视图查看结果,部分结果如图6-58所示。
图6-58 主/子报表部分结果
(10)单击“保存”按钮,输入报表的名称“例6-8班级学生主/子报表”。
2.将已有报表作为子报表拖入主表中
例6-9 创建“例6-9学生成绩主/子报表”,主表为学生表报表,显示学生的“学号”和“姓名”,子表为“例6-6学生成绩报表”;报表页眉添加“学生表主报表”标题,黑体,20号字。
操作步骤:
(1)创建学生表主报表[具体步骤参考例6-6步骤(1)~(4)],在报表任意位置单击鼠标右键,在弹出的快捷菜单中单击“报表页眉”,即在报表设计视图中添加了报表页眉节。单击“报表设计工具”→“设计”→“控件”→“”标签,在标签中输入“学生表主报表”,单击选中该标签,在“开始”选项卡→“文本格式”中,设置字体格式为“黑体”,字号为“20”,设计界面如图6-59所示。
(2)打开“学生表主报表”的设计视图,适当调整主体节的宽度。
(3)拖动“例6-6学生成绩报表”到“学生表主报表”的主体节,并适当调整其位置,界面如图6-60所示。
图6-59 学生表主报表界面
图6-60 学生成绩主/子报表界面
(4)在报表设计视图中,将子报表标题“例6-6学生成绩报表:”更改为“学生成绩子报表”。
(5)切换到报表视图查看结果,部分结果如图6-61所示。
图6-61 学生成绩主/子报表部分结果
(6)保存报表为“例6-9学生成绩主/子报表”。
注:此题的第二种做法,即在主/子报表均创建好后,激活控件向导,利用子报表向导插入子报表,在例6-8的第(4)步,图6-53中选择“使用现有的报表和窗体”,选择“例6-6学生成绩报表”,其他步骤同例6-8。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。