ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 66920|回复: 172

[原创] Excell VBA+Access的应用:关于局域网内多用户数据收集的应用

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-2-16 04:54 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:Access协同
本帖最后由 Will.li 于 2012-7-15 15:51 编辑

分享一个Excell VBA+Access的应用。主要用于在局域网内收集数据的。
背景
工作中经常需要很多人在共享文件夹上同时编辑一份Excel文件,遇到的问题有:
1、用Vlookup,Sumif等公式时不小心覆盖了别人的数据
2、用公式引用完数据后,在选择性粘贴时由于手误造成数据粘贴错行,导致数据混乱
3、多人同时编辑时,Excel文件变得比较大,打开、保存速度缓慢、且容易进入“假死”状态,甚至导致Excel程序崩溃
4、用公式引用完数据后,忘记使用选择性粘贴取消公式,导致数据汇总者打开文件时显示错误值
基于此,编制此表格、程序来解决以上问题。  
方法
使用Excel+Access的处理方式,Access数据库放到共享文件夹上,每个人使用客户端从数据库导出原始数据,编辑完成后再通过程序保存到数据库。
共设计两个文件,Master Client和User Client。Master  Client用于数据收集者创建数据库、数据表;User Client用于数据提供者导出数据并编辑、更新到数据库,同时数据收集者可以用来向数据库输入原始数据。  
环境
Excel 2003 (Excel2007或Excel2010没测试过,欢迎测试)
流程
1、数据收集者通过Master Client创建数据库文件,然后创建数据表并指定数据所有者和索引字段
2、数据收集者将创建的数据库文件完成路径、数据表名称、加密后的密码字符串(注意不是原始密码)填到User Client表中,点击"导出数据"按钮,此时数据库中没有任何数据,只会生成标题行(第10行)。
3、数据收集者输入原始数据,点击“保存到数据库”按钮,这时原始数据就被保存到数据库,然后点“清除当前数据”,则当前显示的数据就被清除(只删除Excel文件中的数据,不删除数据库中的数据)
4、数据收集者将User Client表发给需要更新数据的人(以下称为User)
5、User收到表后,在Controller栏输入名字或代号(即创建数据库时的数据所有者(Controller),在输入原始数据时需要指定数据所有者名字或代号),点击导出数据,即可将属于自己的数据全部导出。可以指定多个导出数据的查询条件,如果每个字段对应多个值,可以用“|”分开。
6、User编辑完成后,点击“保存到数据库按钮”,即可完成。
7、所有人都保存完成后,在Master Client表中设置导出的工作表名称、单元格地址、查询条件(其中多个查找值可以用“|”分开)等可以导出所有数据。
其他操作及说明
见附件的Manual.xls

欢迎坛子里的前辈们下载测试并提出改进意见。在VBA方面,我只是个green hand...没有特别地看过VBA,EH的译著《Excel.2007.VBA参考大全》只看了开头十几页...但是我之前上学时学过VB,对VB代码还比较熟悉,还懂点SQL方面的知识,不会的问题就在网上或者EH里搜索,所以就有了这个东东。。。有时间要好好学习下VBA。
所以,欢迎各位提出改进、优化意见。

附件: Manual.rar (158.53 KB, 下载次数: 4642) Master Client 0.5.rar (88.57 KB, 下载次数: 3847) [attach] User Client 0.1.rar (64.22 KB, 下载次数: 2168)


工程密码和工作表保护密码:Will.li@ExcelHome.net
更新附件User Client 0.2, User Client 0.2.zip (105.26 KB, 下载次数: 2752)

0.2版增加了点小功能,在删除数据时弹出对话框提问1到10的两个随机数相加的结果,验证正确则继续删除,否则就退出。(这个可有可无,不喜欢可以删掉)
另外一点是,在删除数据前将旧数据复制另存到新表,这样即使误删除了数据也可以从删除存档中找回(个人觉得这个比较有用,因为在使用的时候发生过多次误删除数据的情况,要做权限设置与分配又比较麻烦,毕竟这只是个工具而已)。参考Update表中的更新记录。



评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-2-16 08:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢楼主分享

TA的精华主题

TA的得分主题

发表于 2012-2-16 08:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-16 08:54 | 显示全部楼层
本帖最后由 gun44 于 2012-2-16 08:57 编辑

感谢楼主的分享。我现在也是像你这样操作的。
但是如果Master Client和User Client程序有更新的话,需要向所有用户分发新的程序,有点麻烦。
楼主不妨做成ASP+Access。
其实ASP代码跟VBA差不了多少。代码有更新直接修改服务器端程序即可。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-16 10:36 | 显示全部楼层
gun44 发表于 2012-2-16 08:54
感谢楼主的分享。我现在也是像你这样操作的。
但是如果Master Client和User Client程序有更新的话,需要向 ...

good idea...
其实我以前用ASP做过整站程序的...是一个物品交易类的网站~呵呵
但是就我工作的情况下,用Excel更好一些,用Excel在编辑数据、使用公式方面很方便,大家都习惯用Excel。
而且数据通常有几千行,用asp的话可能得上传附件、程序后台处理合并的方式来操作,我觉得倒不如这样好。
程序分发的问题我觉得倒是小事情,只要发User Client就可以了。
如果方便的话,把你的作品传上来交流下吧。

TA的精华主题

TA的得分主题

发表于 2012-2-16 10:54 | 显示全部楼层
Will.li 发表于 2012-2-16 10:36
good idea...
其实我以前用ASP做过整站程序的...是一个物品交易类的网站~呵呵
但是就我工作的情况下,用 ...

其实以前我也编过ASP,但是已经有6-7年没有碰过。
现在基本忘记了,现在主要用VBA。
我有ASP不懂的问题可以请教您吗?我们可以多多交流一下。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-16 11:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gun44 发表于 2012-2-16 10:54
其实以前我也编过ASP,但是已经有6-7年没有碰过。
现在基本忘记了,现在主要用VBA。
我有ASP不懂的问题 ...

额...话说我的asp是老黄历上的事情了,但只要我知道的,知无不言~
现在学习Excel,在公司内工作之余做内训~~多交流下Excel吧,呵呵~

TA的精华主题

TA的得分主题

发表于 2012-2-16 13:41 | 显示全部楼层
Will.li 发表于 2012-2-16 11:58
额...话说我的asp是老黄历上的事情了,但只要我知道的,知无不言~
现在学习Excel,在公司内工作之余做内 ...

好的,以后多交流一下,加您为好友了。

TA的精华主题

TA的得分主题

发表于 2012-2-16 16:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-16 16:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gun44 发表于 2012-2-16 16:22
可否分享一下工程密码?

在帖子里加上了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-23 18:30 , Processed in 0.047959 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表