




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章打印基本报表和邮件标签本章要点 理解窗体和报表之间的关系 向报表添加计算控件 Access 报表类型的分类 对齐和格式化控件并调整行间距 用报表向导创建分组报表 传统报表的边距调整和打印 使用A c c e s s的报表窗口 防止出现孤立的记录 使用自动套用格式和自定义报表样式 将多列报表作为邮件标签打印 修改基本的报表向导报表 疑难解答 删除、重新部署和编辑现有的控件 现实世界虚拟的无纸办公室14.1 理解窗体和报表之间的关系大多数数据库应用的最终结果都是产生一些报表。A c c e s s可以将表、查询甚至窗体中的数据结合起来生成可以打印的报表,并且可以将它们分发给需要它们或者请求它们的人们。有些报表只有单一的一页,例如订单确认、发票、图形或者图表。多页Access 报表,以目录、常规底账和财政综述为代表比单页报表更为常见。许多多页报表和进行了打印优化的连续窗体相似。在第1 2章“创建和使用窗体”和第1 3章“设计自定义多表窗体”中学到的许多创建A c c e s s窗体的方法同样也适用于报表。下面几段对报表和窗体之间的主要差别进行了详细总结: 与窗体不同,报表就是为了打印,而窗体是设计来在窗口中显示的。当在打印预览下浏览一个8 1/2- * 11 -英寸的报表时,其内容不是那么清晰易读。在放大(整页)视图中,打印预览窗口只能显示报表的一部分。 报表的后台数据值不能像窗体中那样用工具箱中的控件对象进行修改。在报表中,A c c e s s将不处理用户通过组合框、选项按钮、复选框等等控件所进行的输入。但是可以使用这些控件来显示查找的值并且用多选项列表中导出的值指示Ye s / N o选项按钮、复选框和字段的状态。 报表不提供“数据表”视图。只有“打印预览”和“报表设计”视图可用。 也可以创建不链接到数据源上的未绑定报表。未绑定报表可以作为绑定到不相关数据源的各个子报表的容器。 “页面设置”对话框控制着报表打印的左右和上下边距。如果一个报表小于可打印页宽度,则报表的设计将决定右边距。通过将打印字段向显示的左边距右边摆放,便可以增加左边距的默认设置。 在多列报表中,列数和列宽以及列间距都是由“页面设置”所决定的,与在“设计”模式设置的属性或者添加的控件没有直接关系。A c c e s s报表和窗体具有许多共同特征,包括: 报表向导可以创建三类基本的报表:单列,分组/总计和邮件标签。可以根据需要修改“报表向导”创建的报表。报表向导的功能和第1 2章中讨论的“窗体向导”相似。334 第三部分设计窗体和报表 包含报表页眉和页脚的节只在报表的开头和结尾处出现一次,而页面页眉和页脚在所打印的每一页的顶部和底部都会出现。报表页脚常常用来打印重要的总计。报表节和窗体的节在名称上对应,用法上相似。 报表的分组节作为一个整体是由窗体“主体”节的等价物构成的。分组常常称为带(b a n d s),处理分组的过程叫做分带。可以添加包含每个组的组标题的分组页眉,分组页脚可用于打印每个组的组总计。可以在页眉和页脚节放置静态(未绑定) 图形,在组的节中放置绑定的图形。 从A c c e s s工具箱将控件添加到报表之上,然后通过其句柄进行移动和缩放。 子报表可以被集成到报表中,就像往主窗体添加子窗体控件那样。14.2 Access 报表类型的分类A c c e s s创建的报表可以分为六种基本的类型,也叫做布局,下面对它们进行详细描述: 单列报表在很长的一列文本框列表中列出了表或者查询中每个记录的每个字段值。字段的名字用标签指示,而值则用标签右边的文本框提供。单击工具栏上的“自动报表”按钮,Access 2000的“自动报表”功能便会创建一个单列报表。单列报表很少用到,因为这种格式太浪费纸张。 表格式报表为表或者查询的每个字段都提供了一列,并且在列标题下将每个记录的所有字段值都打印在一行上面。如果列数太多,一页放不下,将使用额外的页依次进行打印,直到所有的列被打印为止;然后再打印下一组记录。 多列报表由桌面印刷和字处理应用的“报纸”或者“迂回”列阻止方法从单列报表中创建而成。在第一列中放不下的信息转到第二列,依次类推。多列表的格式较为节约纸张,但是其使用也很受限,因为列对齐有时并非与期望相吻合。 分组/总计是最常见的一类报表。A c c e s s的分组/总计报表对记录组进行合计,然后在报表的末尾添加重要的总计。 邮件标签是一种特殊的多列报表,它以组的形式打印地址和名字(或者其他多字段数据)。每个字段组构成网格中的一个单元。为打印而设计的常备胶粘标签决定了在一页上打印多少行和列。 未绑定报表中包含基于不相关数据源(例如表或者查询)的子报表。前五种报表类型使用表或者查询作为数据源,就像窗体一样。这些种类的报表称为绑定到数据源。未绑定报表的主报表没有链接到作为数据源的表或者查询。但是,未绑定报表包含的子报表必须绑定到数据源上。未绑定报表允许集成绑定到独立表或者查询的子报表。14.3 用“报表向导”创建分组报表本节将演示如何使用“报表向导”创建一个基于Northwind Traders 示例数据库P r o d u c t s和S u p p l i e r s表中数据的分组报表(与窗体向导相似,报表向导也允许创建的报表中包含多个表中的数据,而无需事先创建查询)。这个报表显示发货清单中每个专业食品产品的数量,显示时按产品的类别进行分组。要创建发货清单报表,可以修改由“报表向导”创建的基本报表。“报表向导”创建基本报表的过程和第1 2章中用来创建窗体的过程相似。使用“报表向导”介绍设计A c c e s s报表的过程的优越之处在于这个过程与从默认的空白报表开始设计时所采用的步骤是相同的。第1 5章“高级报表”中将解释如何从一个空白报表开始创建更为复杂的报表。在创建Products on Hand by Category 报表时,可遵循如下步骤:1) 单击数据库窗口的“报表”快捷方式,然后单击“新建”按钮。A c c e s s将显示“新建”报表对话框(见图1 4 - 1 )。2) 与窗体相似,报表也需要一个数据源,这个数据源可以是表或者查询。在“新建报表”对话框的下拉列表所提供的选项中选择P r o d u c t s表(参见图1 4 - 1 )。在该对话框右边的列表中选择“报表向导”并单击“确定”。“报表向导”将显示其打开对话框。3) 选择显示的字段代表报表的行。可以希望报表能打印出产品名和厂商,这样用户便无需参考另一个报表来对应编号和名字。在这个报表中需要从P r o d u c t s表中选取的字段有C a t e g o r y I D、P r o d u c t I D、P r o d u c t N a m e、S u p p l i e r I D和U n i t s I n S t o c k。使用按钮,从“可用字段”列表中依次选取这些字段。在向“选定字段”列表中添加字段的时候, A c c e s s便会将相应的字段名从可用字段列表中删除。或者,双击可用字段列表中的字段名也可以将字段名称从可用字段列表中移到选定字段列表中。按照字段在选定字段列表中的从上到下的次序,这些字段将从左到右依次显示在报表中。4) 为了说明向导如何处理绑定到多个表的报表,我们将S u p p l i e r s表的C o m p a n y N a m e字段也添加进来。打开“表/查询”下拉列表并选择表:Suppliers (见图1 4 - 2 )。提示在上一步按钮处于激活状态时,单击这个按钮便可以返回到以前的步骤中,通常需要更正在前面步骤中犯下的错误时才会这么做。单击“完成”按钮时将导致接受所有的默认值,并跳到向导的最后一步,所以在熟悉报表的默认选择之前,不要使用这个按钮。5) 不要将厂商的名字作为报表的最后一个字段,应该将报表的CompanyName 列放在S u p p l i e r I D报表列之后。从“选定字段”列表中选择S u p p l i e r I D字段。现在,从“可用字段”列表中选择C o m p a n y N a m e字段并单击按钮。A c c e s s将会把C o m p a n y N a m e字段从“可用字段”列表插入到“选定字段”列表中,放在S u p p l i e r I D字段之后,U n i t s I n S t o c k字段之前(参见图1 4 - 2 )。单击“下一步”继续报表向导的后续步骤(见图1 4 - 3 )。注意添加Suppliers表CompanyName字段的目的在于说明向导如何基于多个表设计报表。如果不添加C o m p a n y N a m e字段,下面步骤6中的向导对话框便不会出现。P r o d u c t s表的S u p p l i e r I D字段是一个查找字段,所以CompanyName将代替数字SupplierID 值。在本章后面修改报表的时候,便会将这个重复的字段删除。6) “报表向导”问将如何浏览报表中的数据。注意在向导对话框中间靠左的位置的“显示第14章打印基本报表和邮件标签335图14-1 在“新建报表”对话框中选择报表类型和数据源图14-2 在报表向导的打开对话框中从一个或者多个表或者查询中选择报表的字段更多信息”按钮。单击这个按钮,显示“报表向导”的一系列提示对话框中的第一个对话框。如果单击“显示范例”选项, A c c e s s将显示另外的提示屏幕。这些屏幕借助使用Sales Reps、C u s t o m e r s和O r d e r s表的例子演示“报表向导”可以自动向报表添加的不同分组。重复单击“关闭”按钮直到返回到如图1 4 - 3所示的“报表向导”对话框。7) 对于这个报表,选择自己的分组。在列表中选择“通过P r o d u c t s”,单击“下一步”,继续“报表向导”。8) “报表向导”问是否想向报表添加任何分组级别。在列表中选择C a t e g o r y I D字段并单击按钮,建立按产品类别划分的分组。“报表向导”对话框现在如图1 4 - 4所示。9) 单击“分组选项”按钮。“报表向导”将显示如图1 4 - 5所示的“分组间隔”对话框。通过改变分组间隔,可以对A c c e s s如何对报表中的数据进行分组施加影响。对于数字字段,可以通过1 0 s,5 0 s,1 0 0 s等等来分组各项。对于文本字段,可以基于第一个字母、前三个字母等等来分组各项。提示如果应用使用了文本-编码方案,例如用B E VA表示alcoholic beverages(含酒精的饮料),B E V N表示nonalcoholic beverages(不含酒精的饮料),便可以通过从分组间隔列表中选择前三个字符,将所有的饮料分到一组中。Access 2000为数字字段和文本数据类型的字段提供了这个选项。10) 这个报表不需要任何特殊的分组间隔,所以从“分组间隔”列表中选择“普通”,并单击“确定”,返回“报表向导” (参见图1 4 - 4 )。单击“下一步”继续“报表向导”的后续步骤。11) 可以通过所选择的任何字段对组中的记录进行排序(见图1 4 - 6 ),最多可以有四个不同的排序字段。该对话框并没有将C a t e g o r y I D提供为选择,因为记录已经基于这个组字段进行了分组,而分组所基于的字段将自动根据表的主键进行排序。在第一个下拉列表中选择P r o d u c t I D。在默认情况下,排序次序为升序;如果想使用降序排序次序,可以单击下拉列表右边的按钮(这个按钮是一个切换控件,再次单击它将返回为升序排序)。12) 单击“汇总选项”按钮,显示“汇总选项”对话框(见图1 4 - 7 )。如果想向报表列添加汇总信息,便可以在这个对话框中为该列设置选项。“报表向导”将列出报表上的除“自动编号”336 第三部分设计窗体和报表图14-3 选择如何浏览你的数据图14-4 为报表选择分组级别图14-5 为报表选择分组间隔字段外的所有数字字段并提供对该报表列的“总计”、“平均”、“最小值”和“最大值”复选框供你选择。取决于选择的复选框,报表向导将在报表的尾部添加这些汇总字段。“显示”选项组让你选择该报表是只显示汇总字段,还是显示在报表的尾部和每个分组的结尾都添加汇总字段的完整报表。对于这个报表,所做的选择是“总计”和“平均”复选框,“明细和汇总”选项以及“计算汇总百分比”复选框(计算汇总百分比复选框显示单个组的总计占整个总计的百分数)。单击“确定”,返回“报表向导”对话框。13) 单击“下一步”,继续“报表向导”。如图1 4 - 8所示,向导将让你选择报表的布局方式。在左边的窗口中显示的是选择的布局方式的预览。对于这个报表,在“布局”选项组中选择“递阶”。14) 在默认情况下,“报表向导” 选择调整字段宽度使所有字段都能显示在一页复选框中。原则上应该选择这个选项来保存文件,使报表更为清晰。在“方向”选项组中,可选择报表的打印方向。确保选择了默认“纵向”选项。单击“下一步”继续“报表向导”。提示当你限制字段宽度使所有字段都在一页上时,具有较长的文本行的字段常常在最终的报表中被截断。可以在报表设计视图中调整字段的宽度以接纳较长的文本行或者改变为多行文本框。15) 为报表选择一个预定义的报表样式。左边的窗口显示所选定的样式的预览(见图1 4 - 9 )(也可以自定义或者创建自己的样式供“报表向导”使用。这方面的内容留到本章后面的“使第14章打印基本报表和邮件标签337图14-6 为组内的字段选择排序次序图14-7 在“报表向导”的“汇总选项”对话框中选择想包含在报表中的汇总数据图14-8 为报表选择布局方式图14-9 为报表选择一个样式用自动套用格式和自定义报表样式”一节中进行讨论)。选择“紧凑”样式,然后单击“下一步”,显示“报表向导”的最后一个对话框。16) 键入Products on Hand by Category作为新报表的标题,“报表向导”将使用这个标题作为它所创建的报表在保存时使用的名字(见图1 4 - 1 0 )。选择“预览报表”选项,单击“完成”,结束对报表的说明。“报表向导”将创建该报表并将它在打印预览模式下进行显示(为了获取报表的帮助信息,单击“显示有关使用报表的帮助”复选框)。图1 4 - 11所示为“报表向导”创建的基本报表。使用垂直和水平滚动条将预览显示为图中所示的样子。当预览完Products on Handby Category 报表之后,将之关闭。图14-11 在最大化窗口中显示的由“报表向导”创建的基本报表提示与A c c e s s的记录导航文本框不同,打印预览的“页”文本框只显示当前的报表页。为了获取页数,Access报表引擎必须将报表标上页数;对于大的报表,标上页数可能会花费大量的时间。为了显示“页”文本框中的报表页的数量,可以单击“打印预览”窗口底部的“最后一页”按钮(箭头和条线)。在进行一些简单的修改之后,便可以获得一个完成后的报表,并从中获取分析N o r t h w i n d当前发货清单所需的信息了。这些修改更正了由向导设计的报表所具有的明显缺点,例如CategoryID 列的宽度过大,而Product Names列却将名字进行截断处理,另外在S u p p l i e r和Company Name 列上存在重复,Units in Stock标题也被截断。所有这些改变在本章后面的“修改基本的报表向导”一节中都有阐述。14.4 使用Access的报表窗口用来设计和运行A c c e s s报表的窗口比用于其他基本A c c e s s功能的窗口更为容易使用。为了打开一个现有的Access 报表,例如刚刚创建和关闭的Products on Hand by Category报表,单击338 第三部分设计窗体和报表图14-10 为报表提供一个文件名字和标题并选择如何浏览完成后的报表“数据库”窗口中的“报表”快捷方式,然后从“数据库”窗口中选择报表名字。如果单击“设计”按钮或者“新建”按钮来创建一个新的报表,则在“设计模式”工具栏上将出现表1 4 -1中所列出的那些按钮。表14-1 在报表设计模式下的特定A c c e s s工具栏按钮按钮功能菜单选择选择打印预览,显示当报表被打印时的样式。也可以视图、打印预览从打印预览格式打印报表(其效果和打印预览按钮相同)打印报表,但是不显示打印对话框。A c c e s s将使用当前不适用的打印机设置打印报表选择打印预览显示报表在打印时的样式。可以在打印文件、打印预览预览窗口中打印报表启动拼写检查器检查选定标签控件的拼写工具、拼写插入一个超级链接控件或者允许编辑一个现有的超级链接控件插入、超级链接显示作为主报表数据源的表或者查询的字段列表视图、字段列表显示或者关闭工具箱视图、工具箱显示排序与分组对话框,在该对话框中可以建立报表视图、排序和分组的结构和报表显示数据时使用的次序应用从几个预定义好的报表格式中所做的选择,包括格式、自动套用格式文本字体和颜色设置等格式打开V B A编辑器窗口,在这个窗口中可以编辑事件处理代码视图、代码显示整个报表的属性窗口;或者当你单击节分隔条时视图、属性显示节的属性窗口;当控件被选时,显示控件的属性显示选定控件的生成器向导或者报表控件的属性。只有不适用在A c c e s s具有选定项的生成器时,该按钮才是可选的显示数据库窗口窗口、1数据库创建一个新的对象。单击该按钮右边的箭头,将显示文件、新建一个可以创建的对象的列表显示Microsoft Off i c e助手,由它来显示与执行的操作帮助、Microsoft Access帮助相关的帮助文本表1 4 - 1列出的许多按钮在窗体和报表上的用途相同。例如,在“窗体设计”模式下,“格式”工具栏按钮只有在一个包含文本的控件对象被选定的时候才是有用的。在报表中的格式工具栏与窗体中的工具栏相同。关于格式图标及用法的列表,请参见“格式化工具栏”一节中的表12-2 。如果双击一个现有报表的名字或者单击“数据库”窗口中的“预览”按钮,报表显示在“打印预览”模式,它是报表的“运行”模式。表1 4 - 2列出了“打印预览”模式下的工具栏的按钮。表14-2 报表打印预览模式下的标准工具栏按钮按钮功能菜单选择打印报表,但是不显示打印对话框。使用当前的打印机不可用设置打印报表第14章打印基本报表和邮件标签339(续)按钮功能菜单选择在整页和报表的完全大小(1 0 0 %)之间进行切换。当鼠标视图、显示比例指针出现在放大镜符号之上时,单击鼠标也会产生同样的效果显示一整页视图、页数,单页显示两整页视图、页数,双页显示一个选项板,通过它可以选择几个报表的多页视图在2 0 0 %到1 0 %的范围内选择报表视图的大小或者选择适当视图、显示比例大小的报表显示一个Microsoft Of f i c e链接的快捷命令下拉列表:用MS Wo r d 工具、O ff i c e链接合并,用MS Wo r d发布,用M S E x c e l分析打开数据库窗口窗口、1数据库创建一个新的对象。单击该按钮右边的箭头,将显示一个不可用可以创建的对象的下拉列表。这个图标通常显示为新对象:表图标,但是它将切换为上次使用该图标所创建的对象第2 1章“与Microsoft Wo r d和邮件合并一起使用A c c e s s”中将讨论使用“O ff i c e链接”按钮来以RT F文件格式打印报表。第2 0章“与Microsoft Excel一起使用A c c e s s”中将讨论以E x c e lB I F F格式打印文件。14.5 使用自动套用格式和自定义报表样式“自动套用格式”工具栏按钮的工作在报表中和在窗体中相同。第1 2章包含一个详细的关于如何使用Access 2000的自动套用格式按钮和如何自定义预定义自动套用格式样式或者创建自己的自动套用格式样式的解释。参见第1 2章“使用自动套用格式”一节中的指导,向报表应用一个自动套用格式样式或者定义一个自定义的报表自动套用格式样式。提示A c c e s s对于报表和窗体的样式是分别存储的,所以必须为报表创建独立的自动套用格式样式。就像在窗体中那样,为了为自定义报表创建一个自动套用格式样式,首先必须创建一个包含为新样式格式化的控件的报表。单击工具栏上的“自动套用格式”按钮,然后单击“自动套用格式”对话框中的“自定义”按钮,定义自己的格式样式。为报表“自动套用格式”样式选择一个名称,例如rptSales或者rptCustomers。14.6 修改基本的“报表向导”报表“报表向导”试图在第一遍就创建出最优的最终报表。通常向导创建的报表离最终的报表相差不大,从默认的空白模板创建最终的报表和从向导创建的基本报表出发创建最终的产品相比,后者更能节约时间。在下面的几节中,我们将使用A c c e s s的报表设计功能使报表变得更加吸引人和易于阅读。14.6.1 删除、重新部署和编辑现有的控件修改向导报表的第一步是修改报表上的现有控件。在最初的修改过程中,不需要精确对齐标签和文本框。本章后面的“垂直和水平对齐控件”一节中将专门讨论控件对齐。要在报表上为额外的控件创建空间,可遵循如下步骤:340 第三部分设计窗体和报表1) 如果需要,在“报表设计”模式打开Products on Hand by Category。由“报表向导”创建的Products on Hand by Category 报表看上去如图1 4 - 1 2所示。图14-12 设计模式下的基本报表2) 在报表中S u p p l i e r I D和C o m p a n y N a m e字段是多余的,因为S u p p l i e r I D字段是一个查找字段。在“页面页眉”节选择Company Name 标签,按下S h i f t键不放,单击主体节的C o m p a n y N a m e字段。按下D e l e t e将该字段和标签从报表中删除(先不考虑字段和标签的对齐问题)。3) 如果在发货清单和单价数上加上美元符,该报表将变得更为有用。为了容纳一个或者两个额外的列,必须压缩字段的宽度。C a t e g o r y I D占据了一列,但是可以在C a t e g o r y I D页脚或者页眉中显示该列的内容,而无需使用额外的列空间。从“页面页眉”节选择并删除C a t e g o r y I D标签;在C a t e g o r y I D页眉节对C a t e g o r y I D文本框做同样的处理。对于这个报表,将把C a t e g o r y I D名字放在组的页脚节,所以将主体节条向上拖,消除由C a t e g o r y I D页眉占据的空间。此时的报表看上去如图1 4 - 1 3所示。图14-13 删除了CompanyName和CategoryID 标签以及文本框并减少了CategoryID页眉空间之后的基本报表第14章打印基本报表和邮件标签3414) 所有C a t e g o r y I D页脚和“报表页脚”节的“页面页眉”标签,“主体”文本框和“总计”文本框必须以组的形式向左移动。单击Product ID 标签将之选定,然后按下S h i f t不放。单击其余的“页面页眉”标签,每个“主体”文本框, C a t e g o r y I D页脚节中的三个汇总字段文本框和报表页脚节的总计文本框。现在释放S h i f t(选择所有标签和文本框时,可能需要向右或者向下滚动报表)。5) 将鼠标指针放在Product ID 标签之上,调整位置使指针变为一个手状的图形。按下鼠标的左按钮,将选定字段拖放到左边缘。这时的报表看上去将如图1 4 - 1 4所示。图14-14 将选定的标签和文本框移到报表的左边边缘6) 如果将它们进行左对齐,便更为容易编辑和摆放这些标签。单击报表上的空白区域,取消对组的选定,选择所有的“页面页眉”标签,并单击工具栏上的“左对齐”按钮。7) 编辑Product ID 标签为I D;编辑Units In Stock 标签为U n i t s。选择“页面页眉”中的所有标签并选择“格式”,“大小”,“正好容纳”。重新定义“主体”节中的P r o d u c t I D ,S u p p l i e r I D和U n i t s I n S t o c k文本框的宽度使它们和“页面页眉”中的标签相匹配。重新部署标签,为Product Name和Supplier 列提供更多的空间,使报表的右侧空出额外的一些空间,如图1 4 - 1 5所示。8) 在默认情况下,“报表向导”将向C a t e g o r y I D页脚添加一个计算字段(在图1 4 - 1 3中可以看到)。该计算字段显示的是组的字段名字( C a t e g o r y I D )和值,用以帮助标识组页脚的汇总字段。例如,对于CategoryID 1,该计算字段在打印预览模式下将显示如下内容:“汇总C a t e g o r y I D= 1 (12个明细记录)”对于这个报表,用户希望对产品类别进行更为清楚的描述而不仅仅是提供C a t e g o r y I D编码。现在,将Category ID页脚中的以“汇总”开头的计算字段删除;在下面几步中将对它进行替换。提示不是报表中使用的每一个表都具有查找字段,也并非所有的数字编码字段(例如CategoryID和S u p p l i e r I D )都需要创建查找字段。如果想显示某个不是查找字段的字段查找值,可以使用A c c e s s的域汇总函数,D L o o k U p ( ),从与报表中某个字段值相应的另一个表中查找值。例如,为了在Products on Hand by Category 报表的CategoryID显示实际的CategoryID编码和CategoryName,342 第三部分设计窗体和报表可以使用DLookUp() 函数从C a t e g o r i e s表显示C a t e g o r y N a m e字段文本,用一个绑定文本字段从Products表显示CategoryID编码。使用的表达式如下:=DLookUp(CategoryNameCategoriesCategoryID = Report!CategoryID) & Category C a t e g o r y N a m e 是想返回到文本框中的值。C a t e g o r i e s是包含C a t e g o r y N a m e字段的表。CategoryID = Report!CategoryID是一个选择准则,用于从C a t e g o r i e s表选择CategoryID 值和报表C a t e g o r y I D文本框值相等的记录。R e p o r t前缀用于区分C a t e g o r i e s表的C a t e g o r y I D字段和具有相同名字的控件对象(在这个例子中R e p o r t是必须的,因为A c c e s s自动地将报表的C a t e g o r y I D文本框控件命名为C a t e g o r y I D)。图14-15 重新编辑、重新部署和重新定义了现有控件之后的Producs on Hand by Category报表参照如下做法,在C a t e g o r y I D页脚添加一个新的计算字段显示C a t e g o r y N a m e字段以完成报表的重新设计:1) 现在必须在C a t e g o r y I D页脚节添加一个绑定的文本框来标识小计。单击工具栏上的“字段列表”按钮。从“字段列表”窗口的列表中选择C a t e g o r y I D。2) 单击并拖动字段符号鼠标指针,将它放在C a t e g o r y I D页脚左边删除的文本框所在的位置。因为C a t e g o r y I D字段是一个查找字段,它为字段框显示一个下拉列表按钮。当在打印或者在“打印预览”模式下显示时,这个字段将显示C a t e g o r y I D名字而不是显示数字的编号。单击工具栏上的“字段列表”按钮,关闭“字段列表”窗口。3) 选择刚刚放置的C a t e g o r y I D字段的标签,然后使用“格式”工具栏上的“格式”和“大小”下拉列表将标签的字体设置为A r i a l,标签的大小设为8点。接下来选择C a t e g o r y I D文本框,单击工具栏上的“粗体”按钮为C a t e g o r y I D文本框添加“粗体”属性并选择大小为8的A r i a l字体。图1 4 - 1 6所示为位于在步骤8中删除的计算字段所在位置的新绑定的C a t e g o r y I D字段。4) 将“页面页脚”节的两个计算字段( = N o w和=“P a g e . .”)拖到距离“页面页脚”节顶部只有一个网格标记的地方。将“报表页脚”向上拖动,减少“页面页脚”的高度。第14章打印基本报表和邮件标签343图14-16 在CategoryID页脚节添加了CategoryID 查找字段之后的Products on Hand by Category报表5) 对于这个报表,不需要Av g字段,将它和它的标签删除,然后对字段和标签进行重新安排。单击=Sum(UnitsInStock)/UnitsInStock Grand Total Sum文本框并将之从现在的位置拖到( = S u m ( U n i t s I n S t o c k )文本框下面) C a t e g o r y I D页脚的顶部,靠近页面的右边缘。将= S u m ( U n i t s I n S t o c k )字段拖到C a t e g o r y I D页脚条的底部,靠近页面的中央。将“页面页脚”分隔条向上拖动,减少页脚的高度。提示为了区分只显示了表达式中前几个字符的计算字段文本框,可临时增加它们的宽度。S h i f t + F 2不会打开报表文本框的显示比例窗口,在文本框的上下文菜单中根本没有显示比例选项。6) 选择“报表页脚”节的“总计”标签和文本框,添加“粗体”属性。最终的报表设计将如图1 4 - 1 7所示。图14-17 在“设计”模式下修改之后的Products on Hand by Category报表如果在打印或者预览一个报表的时候,在每页的后面都存在一个空白页,请参见本章最后“疑难解答”部分中“消除空白页”一节中给出的建议。为了检查工作的进展,可以定时地单击工具栏的“打印预览”按钮,在打印之前显示该报表。图1 4 - 1 8所示为“打印预览”模式下的Products on Hand by Category报表。344 第三部分设计窗体和报表图14-18 Products on Hand by Category 报表预览14.6.2 向报表添加计算控件计算控件在报表中是相当有用的。可以使用计算控件来确定扩展值,例如数量乘以单位价格或者数量乘以价格。现在,在报表的右边有足够的空间可以添加两个列:一列用于U n i t P r i c e字段,一列用与显示扩展的发货清单值,即用U n i t P r i c e乘以U n i t s I n S t o c k。下面将解释如何添加这些控件。1. 改变报表的记录源在“报表向导”中,我们直接从P r o d u c t s和S u p p l i e r s表选择字段,创建了Products on Handby Category报表。因此,报表的整体记录源属性是选择最初在“报表向导”中选定的字段的S Q L语句。尽管可以通过创建未绑定文本框控件和使用表达式生成器创建一个检索特定值的表达式的方法向报表添加字段,但是更为容易的方法是创建一个查询来选择需要的字段,然后用这个新的查询作为报表的数据源。在查询中还可以指定记录选择准则。遵循如下步骤,创建一个Products on Hand by Category 报表使用的查询:1) 在“设计”视图中创建一个新的查询。2) 双击“显示表”对话框中的P r o d u c t s表,然后关闭该对话框。3) 从字段列表中将*拖放到查询的第一列。4) 将D i s c o n t i n u e d字段拖放到查询网格的第二列。5) 清空D i s c o n t i n u e d字段的显示复选框,然后在D i s c o n t i n u e d字段的第一个准则行键入F a l s e (见图1 4 - 1 9 )。6) 运行查询,进行简单的测试,第14章打印基本报表和邮件标签345图14-19 在该查询中包含Products表的所有字段,并排除了废弃的产品然后关闭“查询”窗口,将所做的改变保存为q r y P r o d u c t s O n H a n d。刚才创建的这个查询包含P r o d u c t s表的所有字段并从记录集合中排除了废弃的产品(换句话说,在该查询的结果中只包含其D i s c o n t i n u e d字段包含F a l s e或者No 值的记录)。遵循如下步骤,改变报表的记录源属性:1) 在“设计”模式打开Products on Hand by Category报表。按下C t r l + R,选择整个报表。2) 单击工具栏的“属性”按钮,打开报表的“属性”窗口。然后单击“数据”标签,显示报表的数据属性。3) 单击“记录源”文本框,然后使用下拉列表选择q r y P r o d u c t s O n H a n d查询作为报表的新“记录源”属性。4) 在“打印预览”模式查看该报表,然后将改变保存到报表中。2. 添加计算字段现在已经改变了报表的记录源,访问向报表添加计算字段时需要用到的U n i t P r i c e字段就变得容易多了。遵循如下步骤,向报表添加U n i t P r i c e字段和计算字段Va l u e:1) 如果需要,在“设计”模式中显示Products on Hand by Category报表。然后单击工具栏的“工具箱”按钮,显示A c c e s s工具箱(如果它没有被显示的话)。2) 单击工具箱的“标签”工具,将该标签放在“页面页眉”节的Units 标签右边。键入P r i c e作为其标题。3) 在P r i c e的右边再添加一个标签,键入Va l u e。4) 选定这两个标签,将其字体改变为H a t t e n s c h w e i l e r,大小改变为1 4点。5) 单击工具栏的“字段列表”按钮,显示“字段列表”窗口。选择U n i t P r i c e,将字段符号拖到“主体”节Price 标签的下面位置。丢下该文本框,然后删除报表的“主体”节中U n i t P r i c e字段的标签。6) 单击工具箱中的“文本框”按钮,在Unit Price文本框的右边添加文本框,创建Va l u e计算文本框,。提示输入复杂表达式的一种较好的方式便是显示“属性”窗口,将表达式作为控件来源属性值输入,用Shift+F2打开放大窗口,以便可以在输入的时候看到整个表达式。7) 打开新Va l u e文本框的“属性”页。单击“控件来源”属性,按下S h i f t + F 2,打开“放大”框。键入= U n i t s I n S t o c k * U n i t P r i c e 作为表达式。删除该文本框在“主体”节中的字段标签。8) 将Percent 标签和文本框向左拖动,将标签标题改变为Percent Cat.Units。9) 重复步骤5和6, 在C a t e g o r y I D页脚节添加一个计算文本框, 但是键入= S u m ( U n i t s I n S t o c k * U n i t P r i c e )作为小计表达式。单击工具栏上的“粗体”按钮,将字体粗细属性设置为“粗体”。在“属性”窗口中,单击“其他”选项卡,然后将该文本框的名称属性设为t x t C a t Va l u e。键入Va l u e作为标签的名字,将字体改为8点大小的A r i a l粗体。10) 重复步骤8,在报表页脚节用表达式= S u m ( U n i t s I n S t o c k * U n i t P r i c e )创建总计值框。在“属性”窗口的“其他”页上,将文本框的“名称”属性设为t x t To t a l Va l u e。将标签的标题改变为Va l u e。11) 在C a t e g o r y I D页脚节Percent Units 文本框右边添加另一个未绑定文本框。键入= t x t C a t Va l u e / t x t To t a l Va l u e 作为控件来源属性的值,并将“格式”属性的值设为P e r c e n t(百分比),字体粗细设为“粗体”。将标签的标题改变为Va l u e,使其字体和其他保持一致。此时的报表设计看上去如图1 4 - 2 0所示。346 第三部分设计窗体和报表如果在“预览模式”测试报表时,出现一个参数对话框,请参加本章后面的“疑难解答”一节中的“非预期的参数对话框”主题。图14-20 在报表上添加Price、Value、Cat(egory) Value、(Category) Value百分比和Grand Total Value字段12) 单击工具栏上的“报表视图”按钮,检查一下所做添加的最终效果。如果需要,使用垂直滚动条显示类别小计。下一节将描述如何调整在“主体”节中没有正确对齐和间距不合适的任何值。13) 单击“报表底部”页面选定器按钮显示报表的总计(见图1 4 - 2 1 )。当在“打印预览”模式显示报表时,记录选定器按钮将变为页面选定器按钮。图14-21 报表的最后一页显示有Units和Value的总计值14.6.3 对齐和格式化控件并调整行间距在报表上进行标签和文本框控件的精确对齐比之在窗体上要来的重要,因为在打印出来的报表上,对不对齐可以一目了然的看出来。对控件进行格式化可以进一步提高报表的外观和可读性。报表“主体”节的行间距是由该节的高度或者深度决定的。同样,通过调整页眉和页脚节的高度以及各节中的控件的垂直位置,便可以控制这些节上下的空白空间。为了创建一个专业第14章打印基本报表和邮件标签347化的报表,必须调整控件的对齐和格式化,以及节中行间距。1. 控件的垂直和水平对齐对齐控件时,首先要选择对齐行,然后再选择对齐列。Access 提供了几个控件缩放和对齐选项,使的这个过程变得更为容易。为了改变创建的控件的大小和对之进行对齐处理,可遵循如下步骤:1) 单击“打印预览”工具栏的“关闭”按钮,返回“设计”模式。2) 可以同时调整所有文本框的高度使之适合其内容的字体。选择“编辑”,“全部选定”,选择报表中的所有控件。3) 选择“格式”,“大小”,“正好容纳”,调整所选定的控件的高度。A c c e s s将调整所有控件到合适的高度。单击报表中的空白区,取消对所有控件的选定。4) 选择“页面页眉”节的所有标签。选择“格式”,“对齐”,“靠上”。这个过程将把所选定的每个标签的顶部和选定标签中最为靠上的那个标签的顶部对齐。单击报表的空白区域,取消对标签的选定。5) 选择“主体”节中的所有文本框,在这些文本框上重复步骤4。6) 选择C a t e g o r y I D页脚和“报表页脚”节中的标签和文本框,重复步骤4。7) 选择Units 列的所有控件。选择“格式”,“对齐”,“靠右”,使A c c e s s将该列和该列中最右边的文本框的右边缘对齐。接下来,单击工具栏的“右对齐”按钮,将标签和文本框的内容进行右对齐(该步骤首先将把控件本身和最右边的控件对齐,然后便把选定控件显示的文本或者数据进行右对齐)。8) 选择Price 列的所有控件,重复步骤7。9) 选择Va l u e列的所有控件(页面页脚节中的文本框除外),重复步骤7。10) 单击工具栏的“报表视图”按钮,显示改进了行列对齐后的报表。2. 控件的格式化正如在图1 4 - 2 1中看到的那样,必须修订几个控件的格式。尽管ProductID 值是右对齐的,但是对于用作编码而不是用于总计数字的值,使用居中或者左对齐更为适当。在Unit Price字段重复出现的美元符减少了报表的可读性。遵循如下步骤,改变这些字段的格式属性:1) 单击工具栏的“关闭”按钮,返回“设计”模式。2) 双击U n i t P r i c e文本框,打开其“属性”窗口,然后单击属性窗口的格式标签。3) 在格式文本框中,选择“标准”。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职高考对口升学(理论考试)真题卷【生物与化工大类】模拟练习
- IMGN388-Antibody-生命科学试剂-MCE
- Human-TNFSF8-mRNA-生命科学试剂-MCE
- 2025年芜湖安徽工程大学高层次人才招聘60人模拟试卷及一套答案详解
- Golgi-laurdan-生命科学试剂-MCE
- 广平县安全培训课件
- 2025春季海南五指山市校园招聘教师15人模拟试卷附答案详解(模拟题)
- 2025年南京鼓楼医院集团安庆市石化医院招聘19人模拟试卷及答案详解(考点梳理)
- 2025内蒙古自治区农牧业科学院招聘48人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年中心供应室项目发展计划
- 电动车骑行安全培训课件
- 2025-2026学年北师大版(2024)小学数学三年级上册《综合实践:校园里的八个方向》教学设计
- GB/T 46238-2025淡水水下搜救机器人通用技术条件
- 创造性思维训练题库及答案
- 2025版施工合同主体变更与工程竣工结算协议
- 2025年医院麻醉科服务优化计划
- 选矿技术基础知识培训课件
- 校车安全管理操作规范
- 2025-2026学年苏科版(2024)初中物理九年级上册教学计划及进度表
- 劳技鉴别织物课件
- 2025年北京市天文知识竞赛(小学组)历年参考题库含答案详解(5卷)
评论
0/150
提交评论