Access数据库技术与应用教程课件第6章 报表_第1页
Access数据库技术与应用教程课件第6章 报表_第2页
Access数据库技术与应用教程课件第6章 报表_第3页
Access数据库技术与应用教程课件第6章 报表_第4页
Access数据库技术与应用教程课件第6章 报表_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章报表报表是Access数据库对象之一,主要用来实现数据库数据的打印。在数据处理过程中,数据表、查询或SQL语句是主要的数据源,窗体是重要的数据输入信息格式,而报表则是数据输出处理的有效方式。本章节目录6.1报表的概述6.2

报表的创建6.3

报表的使用6.4

报表的打印输出6.1

报表的概述Access2003系统提供的报表主要有4种类型,分别是纵栏式报表、表格式报表、图表报表和标签报表。1.纵栏式报表显示方式类似于窗体的格式,在报表的界面上以垂直方式显示记录,数据表的字段名和字段内容一起显示在报表的主体节内。2.表格式报表显示方式类似于数据表的格式,主要以行、列的形式显示记录,一页可以显示多条记录,适合输出记录较多的数据表,便于阅览。

3.图表报表数据以图表方式显示,类似Excel中的图表,以便更加直观的显示数据之间的关系。4.标签报表一种特殊类型的报表,将数据做成标签形式,一页中显示许多标签。

6.1.1报表的类型6.1.2报表的结构1.报表的7个节

(a)默认设置报表结构(b)增加报表页眉/页脚(c)报表完整结构报表的内容以“节”划分,每个节都有特定用途,输出时按一定顺序显示各节的信息。在设计视图中,完整的报表对象结构包含以下7个节:(1)报表页眉节在报表的开始处,用来显示报表标题或说明性文字,只在报表的第一页打印一次。一般用来设计报表的标题。(2)页面页眉节在报表的每一页的顶部,一般用来显示数据列标题或记录的分组标题。一个页面只能有一个页面页眉。(3)组页眉节是输出分组的有关信息,一般用来设计分组的标题或提示信息。(4)主体节是报表显示数据的主要区域,一般用来处理每条记录,按照指定字段显示一条或多条记录。(5)组页脚节组页脚节也是输出分组的有关信息,一般用来设计每组需要输出的信息,如分组的一些小计\平均值等。(6)页面页脚节页面页脚在报表每页的底部,用来显示本页的页码信息。一个页面只能有一个页面页脚。(7)报表页脚节报表页脚节在报表的结束处,用来显示整个报表的汇总结果及报表的生成时间,在报表数据结束处打印。说明:单击“视图”→“报表页眉、页脚”菜单项,才能显示报表页眉节和报表页脚节。单击“视图”→“排序与分组”菜单项,才能显示组页眉节和组页脚节。2.节的“格式”属性

(1)高度“高度”属性用来设置节的高度。对于没有控件的节,将节的“高度”属性设置为0,该节被隐藏。对于有控件的节,如果控件高度不为0,节的高度就无法设置为0。节的高度可以拖动鼠标调整。(2)可见性“可见性”属性用来设置节的内容是否显示。如果将节的“可见性”属性设置为“否”,该节区域不可见。(3)背景色“背景色”属性用来设置节的背景色。整个报表没有“背景色”属性,只能在每个节中单独设置。(4)特殊效果“特殊效果”属性用来设置节的特殊效果。节的特殊效果有3种:平面、凸起、凹陷。说明:节没有“宽度”属性,报表有“宽度”属性,在任何一个节中拖动鼠标改变宽度,都是改变整个报表的宽度。

6.1.3报表的视图在报表的设计与显示中经常要用到报表的视图方式,因为在不同的视图方式下可完成不同的操作。报表的视图方式只要有三种:设计视图、打印预览和版面预览。(1)设计视图,用于创建和编辑报表结构。在设计视图添加各种控件,设置数据来源,定义和调整报表布局。(2)打印预览视图,用于查看报表的页面输出形态。在设计视图建立的报表,主要用打印预览视图查看效果。(3)版面预览视图,用于查看报表的版面设置。在该视图中,报表只显示几个记录作为示例。说明:在不同视图之间进行切换通常用2种方法:方法1:单击窗口左上角的“视图”按钮,选择一种视图。方法2:“视图”菜单→选择一种视图。

图6-6单击“视图”按钮图6-7单击“视图”菜单6.2报表的创建在报表的创建过程中,使用最多的就是“使用向导创建报表”,它对于报表的设计非常重要。报表设计具有数据量多、布局要求高等特点,如果完全依靠设计视图中手工设定每一项,将会十分复杂。使用向导,输入自己的设计思想,依靠系统自动完成报表设计,并且在设计视图中加以修饰,这样不仅可以简化复杂的手工布局过程,而且还可以使设计出来的报表更加合理、更加美观。6.2.1使用“自动创建报表”创建报表使用“自动创建报表”可以选择数据源、纵栏式版面或表格版面,但不能选择报表的格式,也无法选择出现报表中的字段,所创建的报表包含了数据源的所有字段和记录。

6.2.2使用各类报表向导创建报表1.使用“报表向导”创建报表2.使用“图表向导”创建报表3.使用“标签向导”创建报表6.2.3使用设计视图创建报表使用“自动创建报表”与“向导”的方法创建报表,操作简单,容易掌握,但是模式固定而又缺少变化,报表的格式不能随心所欲,所以,还要学习使用“设计视图”创建报表。6.2.4几种创建报表方法的对比创建报表方法优点与特点不足自动创建报表:纵栏式操作最简单每页显示记录比较少自动创建报表:表格式操作简单,且每页可以显示较多记录——报表向导操作简单,可以根据系统提示,完成设计分组字段、排序字段等操作操作步骤比较多图表向导操作简单,只能使用此方法设计该类报表——标签向导操作简单,只能使用此方法设计该类报表——设计视图能创建不同风格的报表,能使用系统提供的所有工具。可以在此视图中修改前几种方法创建的报表。需要熟练掌握工具箱的使用6.3报表的使用1.报表的常用属性(1)记录源定义了报表的数据源,将报表与某个数据表或查询绑定。属性框中也可以输入SQL语句。(2)筛选用来定义筛选条件,在属性框中输入条件表达式,使报表只输出符合条件的记录。(3)打开筛选用来定义筛选条件是否生效,如果选“否”,即使有筛选条件也不起作用,如果选“是”,报表将按筛选条件的要求显示记录。

说明:“筛选”属性要与“打开筛选”属性联合使用。6.3.1报表的常用属性及工具箱的使用

(4)排序依据用来定义记录的排序条件,通常指定字段作为排序依据。(5)启动排序用来定义排序条件是否生效,如果选“是”,报表按排序条件将记录排序显示。(6)标题用来定义显示在报表标题栏中的字符,如果不设置“标题”属性,标题栏默认显示报表保存在数据库中的名称。报表本身没有“名称”属性。

2.报表工具箱的使用

一般系统会在报表设计视图中自动弹出工具箱,若没有弹出,可以选择Access的“视图”菜单下的“工具箱”命令,就可以弹出报表的工具箱。要熟练使用报表工具箱中的工具,就必须了解各种工具的用途。

6.3.2.报表控件的使用报表是容器对象,创建报表的主要内容就是在报表中添加各种控件。报表关于控件的操作步骤与窗体很相似。报表最常使用的控件是绑定文本框和计算文本框。其中,计算文本框在报表中的主要用途有:显示报表页码、显示当前日期或时间、生成计算字段、显示统计结果。1.报表中使用计算文本框(1)显示页码、日期和时间报表通常有许多页,显示当前页码和总页数是必要操作,页码的计算用计算文本框控件实现。用表达式[page]计算当前页,用表达式[pages]计算总页数。表达式显示格式示例="第"&[page]&"页"第n页第2页=[page]&"/"&[pages]n/m2/10="第"&[page]&"页,总"&[pages]&"页"第n页,总m页第2页,总10页表6-3页码的常用显示格式表达式功能=#2010-9-6#显示指定日期2010年9月6日=date()显示计算机系统当前日期=time()显示计算机系统当前时间=now()显示计算机系统当前日期和时间表6-4日期和时间的主要显示格式【例6-1】显示页码、日期、时间要求:以“学生信息”表为数据源建立报表,报表页脚显示页码及系统日期时间。操作步骤:①打开“成绩管理.mdb”数据库。②单击报表对象→单击“新建”按钮→选“设计视图”→数据源为:学生信息→以“页码日期时间”为名保存报表。③页面页眉节建立标签→标签标题为:学生信息。④向主体节拖入4个字段:姓名、性别、年龄、照片→设置照片的“高度”属性和“宽度”属性都是2.5cm→在字段下方画直线→布局控件。⑤页面页脚节建立未绑定文本框→输入表达式:=“第”&[page]&“页/总”&[pages]&“页”→删除附加标签。⑥页面页脚节建立未绑定文本框→输入表达式:=now()→删除附加标签。如图6-29所示。⑦转到打印预览视图,页面页脚显示结果如图6-30所示。图6-29控件布局图6-30在报表中显示页码及日期时间【例6-2】建立计算字段要求:以“工资”表为数据源建立报表,建立“扣除”和“实发工资”字段,其中,“扣除”字段的值是“实发工资”字段值的10%。操作步骤:①打开“工资管理.mdb”数据库→以“工资”表为数据源建立报表→以“实发工资”为名保存报表。②将“教师编号”、“基本工资”、“奖金”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③建立未绑定文本框→将附加标签剪切到页面页眉节→标签标题为:扣除→定义文本框的名称为:t1→文本框输入表达式:=[基本工资]*0.1。④建立未绑定文本框→将附加标签剪切到页面页眉节→标签标题为:实发工资→文本框输入表达式:=[基本工资]+[奖金]-t1。⑤按住Shift键在页面页眉节标签控件下方画一条直线。⑥拖动鼠标选中所有“数字”型字段→“文本对齐”属性:左→“格式”属性:固定→“小数位数”属性:2。⑦布局控件,如图6-31所示。⑧转到打印预览视图。显示结果如图6-32所示。图6-31建立计算字段图6-32显示“实发工资”报表【例6-3】显示统计数据要求:以“学生信息”表为数据源建立报表,显示学生人数和平均年龄。操作步骤:①打开“成绩管理.mdb”数据库→用设计视图新建报表→以“学生人数”为名保存报表。②将“学号”、“姓名”、“性别”、“年龄”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③“视图”菜单→“报表页眉/页脚”,显示报表页眉节与报表页脚节。④在报表页脚节建立未绑定文本框→文本框输入表达式:=count([学号])→附加标签标题为:学生人数。⑤在报表页脚节建立未绑定文本框→输入表达式:=avg([年龄])→附加标签标题为:平均年龄→文本框“格式”属性:固定→“小数位数”属性:2。如图6-33所示。⑥转到版面预览视图。报表页脚显示结果如图6-34所示。图6-33报表页脚建立计算文本框图6-34计算文本框显示统计数据【例6-4】使用条件格式要求:将“实发工资”报表中基本工资低于2000元的值加粗倾斜下划线显示。操作步骤:①打开“工资管理.mdb”数据库→用设计视图打开“实发工资”报表。②单击“基本工资”文本框→“格式”菜单→“条件格式”→在条件的3个输入框中分别设置:字段值为、小于、2000→单击加粗、倾斜、下划线按钮,如图6-35所示。③转到打印预览视图。显示结果如图6-36所示。图6-35定义条件格式图6-36满足条件的值加粗倾斜下划线显示

【例6-5】使用条件函数要求:将“学生信息”表中有唱歌爱好的人录取到合唱团中,录取信息用文本显示。操作步骤:①打开“成绩管理.mdb”数据库→以“学生信息”表为数据源建立报表→以“合唱团”为名保存报表。②将“学号”、“姓名”、“性别”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③建立未绑定文本框→将附加标签剪切到页面页眉节→标签标题为:合唱团→文本框中输入表达式:=iif(instr([备注],"唱歌")<>0,"录取","不录取")。④在页面页眉节的标签控件下方加一条直线→布局报表中各控件。⑤转到打印预览视图。显示结果如图6-37所示。图6-37录取信息用文本显示

2.报表中使用复选框复选框控件用来显示“是/否”型数据,当值为“真”时复选框中显示对勾,当值为“假”时复选框中空白。(1)用复选框显示“是/否”型字段在报表中将复选框控件与“是/否”型字段绑定,就可以用复选框显示该字段的值。(2)用复选框显示计算结果用复选框控件显示计算结果,要借助条件函数iif,如果条件成立,函数返回“真”,否则,函数返回“假”。

【例6-6】用复选框显示“是/否”型字段的值要求:用复选框显示“学生信息”表中的“团员否”字段。操作步骤:①打开“成绩管理.mdb”数据库→以“学生信息”表为数据源建立报表→以“团员否”为名保存报表。②将“学号”、“姓名”、“性别”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③在主体节建立复选框控件→将附加标签剪切到页面页眉节→标签标题为:团员否。④在页面页眉节的标签控件下方加一条直线。⑤单击复选框→“控件来源”属性选:团员否。⑥转到打印预览视图。显示结果如图6-38所示。图6-38用复选框显示“团员否”字段

【例6-7】用复选框显示计算结果要求:将“学生信息”表中有唱歌爱好的人录取到合唱团,录取信息用复选框显示。操作步骤:①打开“成绩管理.mdb”数据库→以“学生信息”表为数据源建立报表→以“合唱团录取”为名保存报表。②将“学号”、“姓名”、“性别”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③主体节建立复选框→将附加标签剪切到页面页眉节→标签标题为:录取否。④在页面页眉节的标签控件下方加一条直线。⑤单击复选框→“控件来源”属性输入:=iif(instr([备注],"唱歌")<>0,true,false)。⑥转到打印预览视图。显示结果如图6-39所示。图6-39录取信息用复选框显示3.使用聚合函数显示非记录源数据无论窗体还是报表,如果计算表达式中的字段都来自当前数据源,显然具有一定的局限性。为此,Access专门提供了一些函数,用来计算外部数据源的数据,这样的函数称为聚合函数。

函数功能DCount返回指定记录集的记录个数DAvg返回指定记录集中某个字段列数据的平均值DSum返回指定记录集中某个数字型字段列数据的和DMax返回指定记录集中某个字段列数据的最大值DMin返回指定记录集中某个字段列数据的最小值DLookup返回指定记录集中某个字段的值DCount函数:返回指定记录集中的记录个数。格式:Dcount("字段","记录集","条件表达式")说明:(1)记录集可以是表名或查询名,字段必须是记录集中的字段。(2)条件表达式部分可以省略。如果指定条件,函数返回满足条件的记录个数,如果省略条件,函数返回记录集全体记录个数。(3)函数中的各部分要用引号括起来。举例如下:(1)计算“教师”表中女教师的人数。DCount("教师编号","教师","性别='女'")(2)计算“学生信息”表的记录个数。DCount("学号","学生信息")DAvg函数:返回指定记录集中某个字段列数据的平均值。格式:DAvg("字段","记录集","条件表达式")说明:如果指定条件,对字段满足条件的数据求平均值,如果省略条件,对字段全体数据求平均值。举例如下:(1)计算“教师”表中女教师的平均年龄。DAvg("年龄","教师","性别='女'")(2)计算“学生信息”表的平均年龄。DAvg("年龄","学生信息")DSum函数:返回指定记录集中某个字段列数据的和。格式:DSum("字段","记录集","条件表达式")说明:如果指定条件,对字段满足条件的值求和,如果省略条件,对字段全部值求和。举例如下:(1)计算“工资”表中基本工资在2000元以上(含2000元)的奖金总额。DSum("奖金","工资","基本工资>=2000")(2)计算“工资”表的奖金总额。DSum("奖金","工资")DMax函数:返回指定记录集中某个字段列数据的最大值。格式:DMax("字段","记录集","条件表达式")说明:如果指定条件,对字段满足条件的数据求最大值,如果省略条件,对字段全体数据求最大值。举例如下:(1)计算“工资”表中基本工资在2000元以上(含2000元)的最高奖金。DMax("奖金","工资","基本工资>=2000")(2)计算“工资”表的最高奖金。DMax(“奖金”,“工资”)DMin函数:返回指定记录集中某个字段列数据的最小值。格式:DMin("字段","记录集","条件表达式")说明:如果指定条件,对字段满足条件的数据求最小值,如果省略条件,对字段全体数据求最小值。举例如下:(1)计算“工资”表中基本工资在2000元以上(含2000元)的最低奖金。DMin("奖金","工资","基本工资>=2000")(2)计算“工资”表的最低奖金。DMin("奖金","工资")DLookup函数返回指定记录集中某个字段列的值。使用DLookup函数,外部表与当前表在条件表达式中以相关字段建立联系。格式:DLookup("外部字段","外部表","条件表达式")说明:如果字段有多个值符合条件,DLookup函数只返回第一个字段值。举例如下:显示“部门”表中“名称”字段的值,其中,“部门”表是外部表,“名称”和“部门编号”是外部表的字段,“所属部门”是当前表的字段。DLookup("名称","部门","部门编号='"&所属部门&"'")【例6-8】用DLookup函数显示外部字段的值要求:报表的数据源是“员工”表,使用DLookup函数显示“部门”表中“名称”字段的值。“员工”表如图6-40所示。“部门”表如图6-41所示。

图6-40“员工”表图6-41“部门”表操作步骤:①打开“工资管理.mdb”数据库→以“员工”表为数据源建立报表→以“员工报表”为名保存报表。②将“编号”、“姓名”、“性别”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。③主体节建立未绑定型文本框→将附加标签剪切到页面页眉节→标签标题为:部门。④在页面页眉节的标签控件下方加一条直线。⑤单击文本框→输入表达式:=dlookup("名称","部门","部门编号='"&所属部门&"'")。⑥转到打印预览视图。显示结果如图6-42所示。图6-42显示外部表字段值说明:相同的引号不能连在一起使用,所以单引号与双引号交叉使用,条件表达式“所属部门”后面的引号是两个双引号夹着中间的一个单引号。另外,条件表达式中先写外部表的字段,当前表的字段写在等号右边。【例6-9】使用DCount、DSum、DAvg、DMax函数要求:建立报表,显示教师人数、平均年龄、工资总额、最高奖金。操作步骤:①打开“工资管理.mdb”数据库→用设计视图建立无数据源报表→以“聚合函数”为名保存报表。②在主体节建立4个未绑定型文本框→附加标签的标题分别为:教师人数、平均年龄、工资总额、最高奖金→文本框的名称分别为:t1、t2、t3、t4。③单击文本框t1→输入表达式:=dcount("教师编号","教师")④单击文本框t2→输入表达式:=davg("年龄","教师")→“格式”属性:固定→“小数位数”属性:2。⑤单击文本框t3→输入表达式:=dsum("基本工资","工资")→“格式”属性:固定→“小数位数”属性:2。⑥单击文本框t4→输入表达式:=dmax("奖金","工资")→“格式”属性:固定→“小数位数”属性:2。⑦选取全体文本框→“文本对齐”属性:左。⑧转到打印预览视图。显示结果如图6-43所示。图6-43使用聚合函数6.3.3.数据排序与分组数据排序是指按照某个指定顺序排列记录的操作。默认情况下,数据按输入的先后顺序显示。数据分组是按照某个字段值相同与否将记录划分成组的操作,分组以后可以对组内的数据进行统计。1.数据排序数据排序的核心是定义排序顺序,指定报表中一个或几个字段作为排序字段,按排序字段的值升序或降序显示记录。按排序以后的顺序显示记录,方便对数据的了解和查询。如果排序字段有多个,系统首先按第一个排序字段进行排序,当第一个字段的值相同时,再按第二个排序字段进行排序,…。定义排序字段和排序方式用“视图”菜单中的“排序与分组”命令。2.数据分组如果报表中某个字段有相同的值,就可以将字段值相同的记录划分成一组,然后对同组数据做统计操作。分组统计得到的数据放在组页脚中。定义分组字段用“视图”菜单中的“排序与分组”命令。【例6-10】数据排序要求:按报表中“性别”和“年龄”字段排序,其中,“性别”字段为升序排序,“年龄”字段为降序排序。操作步骤:(1)打开“成绩管理.mdb”数据库→以“学生信息”表为数据源建立报表→以“排序”为名保存报表。(2)将“学号”、“姓名”、“性别”、“年龄”字段拖入主体节→将附加标签剪切到页面页眉节→将文本框排成一行→将标签排成一行。(3)在页面页眉节的标签控件下方加一条直线。(4)“视图”菜单→“排序与分组”→在左边列中选“性别”和“年龄”字段→在右边列中分别选“升序”和“降序”。如图6-44所示。(5)转到打印预览视图。显示结果如图6-45所示。图6-44定义排序字段和排序方式图6-45按“性别”和“年龄”字段排序【例6-11】数据分组要求:按报表中“性别”字段分组,统计各组人数和平均年龄。操作步骤:(1)打开“成绩管理.mdb”数据库→以“学生信息”表为数据源建立报表→以“分组”为名保存报表。(2)“视图”菜单→“排序与分组”→分组字段选:性别→组页眉选:是→组页脚选:是→排序选:降序。如图6-46所示。(3)将“性别”字段拖入组页眉节→将附加标签剪切到页面页眉节。(4)将“学号”、“姓名”、“年龄”字段拖入主体节→将附加标签剪切到页面页眉节。(5)将页面页眉节的标签排成一行→在标签下方加一条直线。(6)在组页脚节建立未绑定型文本框控件→附加标签的标题为:人数→文本框中输入表达式:=count([学号])→“文本对齐”属性:左→“字体粗细”属性:加粗。(7)在组页脚节建立未绑定型文本框控件→附加标签的标题为:平均年龄→文本框中输入表达式:=avg([年龄])→“格式”属性:固定→“小数位数”属性:2→“文本对齐”属性:左→“字体粗细”属性:加粗。报表布局如图6-47所示。(8)转到打印预览视图。显示结果如图6-48所示。图6-46定义分组字段图6-47分组统计报表布局图6-48分组统计6.3.4.优化报表1.设置报表格式为了使报表美观、实用,系统设计了6种报表格式。在创建报表的过程中或报表设计完成之后,打开报表的设计视图方式,选择Access的“格式”菜单下的“自动套用格式”命令,弹出对话框,有6种报表格式供用户选择,并且可以在打印预览视图中查看报表设计效果。

2.添加报表背景图案为了使报表更加美观,可以给报表添加背景图案。在创建报表的过程中或报表设计完成之后,打开报表的设计视图方式,鼠标右击报表标题栏,从弹出的快捷菜单中选择“属性”命令,则弹出“报表”属性对话框。在“报表”属性对话框中单击“图片”栏,弹出“插入图片”对话框,单击“图片”栏右侧的“…”按钮,弹出“查找图片”对话框,从指定位置、图片名称,可将指定图片添加到报表中,还可以设置图片类型。关闭该对话框后,再选择“视图”菜单下的“打印预览”命令,就可以看到报表的设计效果。3.添加分页符分页符控件可以使报表强制分页,使分页符后面的内容另起一页显示。分页符以短虚线标记显示在报表的左边。选中分页符后用Delete键即可删除。4.创建子报表如果一个报表显示在其他报表中,称该报表为子报表。如果一个报表中嵌入了其他报表,称该报表为主报表。主报表既可以包含子报表,也可以包含子窗体。子报表可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论