距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程
基于公司数据保密原则,样板就不放到网上来了,简单说一下背景:
这次access实现的功能包括:
1)为部门整体搭建了一个员工基本资料数据库,里面包括从各个系统里获得的员工信息,如Zhang San,一个系统里叫San Zhang,一个系统叫sazhang,一个系统叫sun Zhang。这些信息汇总后,存在部门共享盘里,包括此次的Access,都是直接链接到这个总access表里,这样,有新员工来的时候,只需要更新一个access,其余所有数据都能实现自动链接更新。
2)利用saved import,保存固化数据导入功能,同时编写VBA/Marco进行数据自动更新:
*删除源数据:两个方法,编写Marco,自动运行已经编写好的删除查询,或直接用Marco删除记录。
*导入数据:用RunSavedImportExport(SavedImportExportName)可以执行数据导入;
3)在查询方面,主要设定两个
*删除查询
*选择查询
里面涉及两个自定义项语句,如IIF(判断,truepart,falsepart),而对于多重选择,用switch比用iif嵌套要简单得多,如switch(判断1,输出,判断2,输出)。不过switch不能直接用else语句,因此如果判断均不成立,会输出空白值,这点需要注意。
运用IIF和switch后,再加上查询实现的lookup功能,至此,access基本能完成excel做数据报表里要用的大部分数据处理。基本上80%-90%的数据处理就可以在这里来完成了^^
4)本次操作简介:
1)下载源数据,放到相应的位置,替换原有的数据源
注:这里也可以外链。但是根据实践,当数据量比较大的时候,用删除查询删除数据,然后再导入数据,速度远远大于外链。并且上述操作均可以用程序来运行。
2)打开access,运行Marco,删除相关的数据,并更新数据
3)运行经过一系列查询后的最终查询,导出到excel后,导入已经写好公式的excel里,刷新即可。
写得比较简练。仅作为学习笔记。
后续:
1)窗体制作,宏及VBA编写,提高自动化程度
2)编写说明
另外DoCmd
http://msdn.microsoft.com/zh-tw/library/office/ff192740(v=office.14).aspx
具体可参考与此
Name | Description |
---|---|
The AddMenu method carries out the AddMenu action in Visual Basic. | |
The ApplyFilter method carries out the ApplyFilter action in Visual Basic. | |
The Beep method carries out the Beep action in Visual Basic. | |
The BrowseTo method performs the BrowseTo action in Visual Basic. | |
The CancelEvent method carries out the CancelEvent action in Visual Basic. |