利用ACCESS数据库报表功能批量制作谜笺

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用ACCESS数据库报表功能批量制作谜笺

赵轲

(郑州华信学院信息工程系,河南新郑451150)

作者简介:赵轲(1979-),男,河南西华人,郑州华信学院教师,硕士,研究方向:办公自动化、数据库。

摘要:猜灯谜作为中国传统娱乐项目之一,深受大家欢迎。逢年过节之际,举办联谊活动之时,猜谜也常常被用来活跃气氛、拉近距离。然而,制作灯谜条幅却是比较辛苦和繁琐的事,通常是用毛笔书写,费时费力。通过ACCESS数据库报表功能可以批量制作谜笺,提高工作效率。

关键:ACCESS数据库报表灯谜谜笺

中图分类号:P315.69 文献标识码:B

古人把令人费猜的灯谜称作“灯虎”、“文虎”,意为灯谜像老虎一样难以打中。谜笺是灯谜的载体,也是历史的缩影、时代的印记、艺术的表现。竞猜灯谜有乐趣,小谜笺,大世界。通常一张完整的谜笺包括序号、谜面、谜目三部分,由此构成一条灯谜。谜文包罗万象,谜目无所不有。有美轮美奂的唐诗宋词、启迪人生的警句格言、耳熟能详的成语俗话、涉猎百科的名词术语、古今中外的书名及人名……谜笺堪称一种另类的微型文学、一帧袖珍的书法作品。

猜灯谜作为中国传统娱乐项目之一,深受大家欢迎。逢年过节之际,举办联谊活动之时,猜谜也常常被用来活跃气氛、拉近距离。然而,制作灯谜笺却是比较辛苦和繁琐的事,通常是用毛笔书写,费时费力。通过ACCESS数据库报表功能可以批量制作谜笺,提高工作效率,对于大型的灯谜群众展猜活动非常方便。Access是把数据库引擎的图形用户界面和软件开发工具结合在一起的一个小型数据库管理系统,是目前使用最广的简易数据库处理软件,它有强大的数据处理、统计分析能力。用此方法制作谜笺可以让使用者一劳永逸。

制作谜笺也可使用Word或Excel等办公软件,事先做好模板,按谜面谜目要求逐项填写内容,其优点是直观,便于修改。但Word或Excel无法将表格中的数据自动生成其它报表,更无法关联不同表格中的相关数据域,在统计或制作不同格式的报表时需重复录入数据;要制作打印成百上千份谜笺时,录入数据工作量大、不易查找、易出错。选用Access制作报表,可充分发挥Access数据库查询可变性强的优势,有效解决上述问题。MicrosoftAccess 是MicrosoftOffice的组件之一,是一个具有较强管理和开发功能的小型关系型数据库工具,它的最大优势在于不必编程就可以完成其它数据库系统必须编程才能完成的功能,并且能满足一般用户的需要,比较适合非计算机专业人员应用。报表是数据库的主要对象,对数据信息按需求格式进行打印拷贝。Access提供的报表向导只能生成较简单的报表,对较复杂的、尤其是网格状的中文报表,可在“设计”视图中手动创建报表,文中用创建谜笺为例,介绍如何在Access数据库中制作较复杂的中文报表。

一、创建灯谜数据库

Access数据库简单易学、实用性强、维护方便,作为一名自行使用和维护数据库的

用户来说,主要的工作是导人数据、通过查询建立报表,因此,可以不用花太多的精力在

创建窗体和宏上。在实际工作中使用较多和较有效的方法是:用Excel先录入数据并进行

处理后,再将其转化为Access文件,表中的字段要设计合理,尽量保持其长久性,不要

轻易修改,否则查询或报表会找不到数据源;通过查询建立各种报表,确保数据的准确性

和数据管理的灵活性。最后根据空白表的格式,用前面讲述的制表方法,手动创建表格式

的中文报表。

通常一张完整的谜笺包括序号、谜面、谜目三部分,谜底全部打印后在工作人员处,有些谜笺上还可能会署上作者姓名,灯谜数据库并不复杂,只需要一个“灯谜”数据表即可,考虑到多方面因素,“灯谜”数据表结构如图1所示:

图1 灯谜数据表结构

确定好表的结构后,要输入表记录。灯谜的数据来源要严格按照所设计的表的结构进行输入,也可以先在Excel表中做好后再统计粘贴过来。为防止出现重复灯谜,在表中将“谜面+谜底”设为主键,当输入数据时会自动屏蔽掉重复值。

在将原始的灯谜导入时,经常需要规范化灯谜格式,灯谜常用格式为“序号.谜面(谜目)谜底”,如“1.离思如草长波涌(成语)苦口婆心”,有时可能还会有作者备注出现,这种谜语格式不统一,在将其导入Access时,可以先在Word中使用替换工具,将“.()”等符号替换为制表符,这样可以直接粘贴到Access中。在替换时要注意,有时序号后为顿号,谜底中也会有顿号,这就要人工更改,以得到正确的原始数据。

二、对原始数据进行筛选分类

谜笺因其大小限制,一般谜面和谜目的字数不能过多,比如让谜面字数不多于16字,谜目字数不多于12字,在表的结构中,将谜面、谜目两字段的“字段大小”属性设置为所需长度,在输入灯谜时会屏蔽掉不符合条件的灯谜。

在谜笺打印时,为尽可能使谜笺空间分布合理,可以将灯谜按谜面字数来进行分类,以谜面长度为限制条件,长度小于等于8的分为一类,长度大于8的再分一类,可以通过查询,使用Len()函数来进行实现,如图2所示:

图2 谜面长度小于等于8的灯谜查询

在谜面长度大于8的查询中,先将谜面中前8字取出,再将谜面中后面的字符取出,方便后面报表中调用。取出前8个字符使用的表达式为:面前8: Left([谜面],8),取出剩余字符的表达式为:面后8: Mid([谜面],9,8),因面长度在表的输入时就已限制为最多16位,故此处取后8位即可。

三、创建谜笺报表

创建新的报表,将其宽度设置为所需打印纸的一半,根据谜面长度的分类,建立两个不同的报表,数据来源根据面长度分别设置为两个不同的查询,在数据来源为谜面长度小于等于8的报表里,只需要一列就可以容纳下谜面,在数据来源为谜面长度大于8的报表里,需要两列才可以容纳下谜面。在报表中增加三个文本框,分别以“序号”、“谜面”、“谜目”为数据源,在数据来源为谜面长度大于8的报表里,谜面由两部分组成,整个报表共需要四个文本框。谜底报表以灯谜数据表为来源,将序号和谜底列出。

在【页面设置】中,将【列】选项卡中的【网格设置】里的【列数】设为所需列数,一般A4纸2列,A3纸3列,这样可以实现一页上打印多份谜笺的效果。打印好的效果如图3所示:

图3 A3纸上的谜笺

相关文档
最新文档