使用Access两个月的应用心得
- 2017-09-02 11:16:00
- 尾巴AR
- 转贴:
- 博客园
- 6911
根据自己的工作业务逻辑,建立了一个Access数据库系统,主要是储存储存历史月度数据,避免每次从公司数据库下载数据的麻烦,节省数据拉取时间。
1)客户信息,包括
由业务人员手工更新汇总的数据,如客户所在区域,商业信息等。
由机器抓取的客户信息,如客户账号状态,专属业务人员信息等等。
上述数据按照每月定期更新,以及每周更新,存储在不同的表里。
2)客户交易信息,计划包括:
汇总月度信息,如月成交额,交易量等;
分多个维度的表格,如周信息,交易类型,交易来源等,该数据刷新时间段不一样,且根据业务需求,会有不同的维度需求。
另外,为了方便,把数据库里常见的“Jan-2014”细分为"Year"和"Month"两个变量,这样以后数据导入输出时,不用再费心数据格式问题,在excel里,直接用date(year,month,day)即可快速合成日期。
通过搭建多个表格,就把曾经整合在excel里的数据拆分成了多个表格,且各个表格之间刷新频率不一样,减少了我们用excel vlookup匹配的时间。
同时我新建了两个查询
1、整合客户基本信息,包括业务人员使用的信息,以及由机器抓取的信息。(这里以账户唯一识别码作为关联标识,并修改了连接属性,即所谓的左连接右连接)
2、把汇总的月度信息与客户基本信息结合起来,汇总成一张大表。该大表之后将直接导入excel中,作为数据透视表的一部分。
另外,关于操作,目前摸索出:
1)删除查询:可以删除不符合我要求的数据(如每个月导入数据时,把当前月数据删除,避免数据重复)
2)追加查询:主要用于客户交易信息,定期追加月度/季度数据。
现在需要解决的问题包括:
1)如何在导入新的账户信息后,快速找到需要追加的客户信息,并且追加(计划查找不匹配项)
2)如何在删除已经不合格的数据,以及表之间的联合,以及决定后续数据导入的工作。(相信代码可以实现,但目前还未探索)
3)关于搭建一个友好的访问界面,或者撰写文档存稿
总结:
access在我们数据处理初期并不常用。但是随着数据量的扩大,我们自然而然的要用到多个数据库。
从access起步,个人觉得还比较容易。
以及,积极主动,代表着,要努力学习。自己折腾,在熟知业务的基础上,也勉强能完成一个符合大致需求的数据库。未来还需要多加尝试,并规范化模板。
再以及,比一年前为了某个TEAM搭建CRM系统时对ACCESS的一窍不通,这一次经过多番思考,很顺利就完成了框架的搭建。
基本完成access数据库的搭建,并且尝试了查重,不匹配项目查找,以及上传新数据等功能,表现良好。
记录一下目前研究出来的sql语句:
1)去除重复项
Select Distinct [字段]
2)选择重复项
GROUP BY 字段,字段
HAVING (( (字段))>1)AND ((Count(POST.[PostNumber]))>1) );
注意这里括号的应用
Having( () and ())
同时如果在access里使用,会自动带count(字段)
3)access里字段的命名规则
表.[字段名]
4)关于access里面的左连接右连接
个人感觉,access里面的关系菜单操作做的比较好。。比手写代码要好多了
反正就是一个
Left join
Right join的区别啦。。
自从有了这个数据库后,输出数据效率有了极大的提高。原本一个地区可能要29M的大小,现在4个地区加起来,excel原始数据只要9M。。
科技的力量是伟大的。
要提高工作效率,先提高技术及思想是更好的捷径。
在搭了一个数据库后,买了一本《让excel飞》,里面有提及access
经过研究之后,发现access+excel的结合确实能解决我的大部分难题,并且可以做得更好。
比较好的方法是,
access连接数据库,或者会定期刷新的表格,然后创建好查询,定期导出到excel中,生成图表透视表等
另外,有言access的学习和使用可以精简流程,优化工作流程。。并且是数据库入门最好的方法
现在遇到数据匹配查询,都可以建一个access存放数据,慢慢习惯这个access的思维方式
这次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)编写说明
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. |
总结一下,在这两个月里,通过自己摸索,成功搭建了一个可以取代所有复制粘贴/VLOOKUP查找,以及方便数据管理的数据库集。并从零到有学会了SQL,所谓的Access是SQL入门最好的方法,前辈诚不欺我也。从效率来说,首先,我们公司错综复杂的系统人名得到了有效的统一管理,并整合了由业务人员输入的一些不会被公司数据库保存的数据(譬如客户实际行业,客户真实信息等等),然后结合了那个BI自助系统的特性,编了一个导入导出的宏。
现在,基本框架已经搭建起来,我发现接下来的工作更加繁琐了
简单来说,现在主要的问题是数据库逻辑不清,需要理清并维护关系文档
由于数据库里大部分操作都是自动化的,设计该自动化流程。当时设计各个数据库时,基本上是,有什么需求,就建什么表。导致现在多个数据库之间逻辑不清晰。迫切需要维护一个文档,记录该数据库是怎样操作的。
现在我尝试用office自带的visio来厘清流程,但这个基本只能厘清数据间的关系,以及操作顺序。不能记录这个数据库是如何表间查询的,如果时间久了,这些逻辑又会不清晰了。不知道市面上的数据库维护,是用什么方法来维护的呢?
另外,由于我不喜欢整理文本上的操作,目前这些细致的活让我有些烦闷,每天都在修修补补而不是在创建新东西的感觉,真心压抑,而且容易走神。有什么办法可以更好的管控时间,让我focus在最重要的事情上?
正是因为时间管理遇到问题,然后被大量的文本整理占据精力,我越来越觉得,做数据库维护以及报表开发,可能报表开发仅仅只是一次性的操作,如何让开发出来的结果容易理解,并且易于让人根据业务需求进行修改,是我接下来需要做的事情。
但愿我在找到方法之前,不会因为烦躁,而失去了进一步学习的机会。
另外,关于R语言,我目前正式放弃阅读R语言实战,转为看数据挖掘与R语言。R语言实战前半部分作为数据处理,确实很实用。但后续由于没有较完整的案例,并不适合一一研读。反而是前阵子京东凑单买的数据挖掘与R语言给了我极大的惊喜(实验数据被作者直接创了个R包,相当良心!!)
- office课程播放地址及课程明细
- Excel Word PPT Access VBA等Office技巧学习平台
- 将( .accdb) 文件格式数据库转换为早期版本(.mdb)的文件格式
- 将早期的数据库文件格式(.mdb)转换为 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 数据库引擎和访问连接引擎以阻止对远程数据库的访问(remote table)
- Access 365 /Access 2019 数据库中哪些函数功能和属性被沙箱模式阻止(如未启动宏时)
- Access Runtime(运行时)最全的下载(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些电脑无法正常注册的解决办法(regsvr32注册时卡住)
- office使用部分控件时提示“您没有使用该ActiveX控件许可的问题”的解决方法
- RTF文件(富文本格式)的一些解析
- Access树控件(treeview) 64位Office下出现横向滚动条不会自动定位的解决办法
- Access中国树控件 在win10电脑 节点行间距太小的解决办法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 树控件 ListView列表等64位MSCOMMCTL.OCX控件下载
- VBA或VB6调用WebService(直接Post方式)并解析返回的XML
- 早期PB程序连接Sqlserver出现错误
- MMC 不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版
- sql server连接不了的解决办法
- localhost与127.0.0.1区别
- Roych的浅谈数据库开发系列(Sql Server)
- sqlserver 自动备份对备份目录没有存取权限的解决办法
- 安装Sql server 2005 express 和SQLServer2005 Express版企业管理器 SQLServer2005_SSMSEE
联系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |