今天加班的时间段里,经理找到我,因为要群发邮件,要我帮他写个程序实现 3000 条信息的打印工作 ,数据都放在 excel 表格里,要求要打印成每张纸10个地址的格式,好让工作人员进行裁减 然后粘贴到我们公司专用的信封上 。
我略微思考了一下,可以实现,于是便欣然接受了这个工作。
接受工作以后对工作进行一个统计和工作量预估是一个很好的工作习惯,于是我随手打开经理转交的压缩文件,里面有几个excel文件,看来就是我这次要工作的内容了,双击打开excel文件,发现几个文件都是以基本相同的格式保存了邮编、地址、姓名3个项目。我对excel 不时很熟悉,决定先转换成access文件以后再做分析。
于是我打开access ,新建了一个文件,分别导入这几个excel表格为 数据表 表1 表2 .... 等;分别打开这几个表,发现字段完成一致,于是我就用简单地复制和粘贴的方式把所有的表copy到一个表里来了。得出即将打印的数据总数 2992 条。
现在就应该考虑该如何把这些数据按照目标要求打印成1页10条了。
我下意识的考虑到了以下几种方案:
一、手工操作... 不可行
二、利用VB编写一个程序,分别打印,这中间要涉及到利用到Office的某些OCX,我并不熟悉。
三、利用ASP编写一个程序,然后利用网页进行打印,分页和格式排版也是一个问题,最终还有可能需要将网页转换成DOC才能打印,比较麻烦。
四、利用Access的默认打印,不过能否实现我的需求未知。
看看时间,我决定把这个工作在今天内完成,已不影响明天的工作计划为上。
经过思考,我决定先尝试第四种方式,如果不可行再采取第三种方式进行处理,正好也已经打开了Access,就让我先尝试一下吧。
Access 作为 Microsoft 的成熟产品,应该有能够按照用户的需求进行数据打印的功能才是,而且我也看到过一些大牛弄出来的玄幻的操作,令人惊叹,看来我还是得发掘一下它那些不为人所熟悉的功能才是。
我逐一测试了Access的一些我不常用的功能,其中的感觉就像刘姥姥进大观园 , 大长见识阿 :)首先是查询功能,这个功能我觉得更象Sql的储存过程,不过没有那么强大罢了,但是更加实用。我在查询里面建立了一个名为ALL的查询,能把所有的目标数据搜索出来,感觉很方便。 在视图功能里面似乎能制作处类似管理界面的东西来,能代替比较简单地数据库管理软件。 在报表这个功能里面似乎能按照数据进行生成,最终进行打印。
注意,就是报表这个功能了。 初一看,我还真被这个东西的复杂结构给吓到了,不敢去乱调整它。 不过还好我还是练过的 , 我作了几次尝试 ,终于了解了该怎么把数据调出来了 。 离我的目标近一些了 。 既然能把数据调出来 , 那么其他的就简单了 。 我把我创建的无效报表删除, 然后依照向导模式进行最简单的方式生成 , 然后在各个项目上进行细节调整 。 最终达到了我的目标 。 打印预览成功 , 就等明天交付经理了。
报表这个东西其实还是蛮简单的嘛,如果你被它那面向对象的操作界面吓倒了,千万别忘记----向导模式 。 嘻嘻。
东西一下就弄完了 , 即有速度又有效率 , 看来有时候还是要多多挖掘这些应用软件的功能 , 往往你看起来的阳光大道 , 就是一条弯路哦 。
一定要勇于探索自己的未知领域。
=====================
写完文章发现,我真是个废话王子,不过这种小学生写作分的感觉好爽阿。
好爽好爽。