| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4772 人关注过本帖
标题:求助:VBA实现各表单之间更改数据的拷贝问题
只看楼主 加入收藏
jxshaoyongan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-6-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助:VBA实现各表单之间更改数据的拷贝问题
我是VBA小白,想用VBA实现各个部门需要协调的
各部门问题汇总.rar (45.76 KB)
问题汇总和更新,部分功能已实现,由于在VBA方面确实不懂,深入一点的就不会了,特请大神帮忙,详细要求和参考表单见附件,拜谢!
搜索更多相关主题的帖子: 表单 VBA 数据 拷贝 更改 
2021-06-21 18:42
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:995
专家分:4966
注 册:2013-2-16
收藏
得分:20 
帮你改了一下,由于时间紧,只改了总表,
总表_改.zip (16.58 KB)

代码写得很臭,没时间仔细做优化,主要缺点是:
1,部门表 反复打开,占用I/O
2,字典反复获取,这些都是需要优化的地方.
工作忙,优化的事情,就留给更有能力的人了.
......
如果部门表也要写类似的代码,有一个问题务必注意:
总表在关闭前,向部门表写入改动后的数据,此时部门表的某些记录,由于有写入动作,
改动标志会=1,写入后,部门表关闭,但是,部门表关闭前,由于存在改动标志=1的记录,
又要向总表反写,此时总表的改动标志会=1,总表关闭前,由于存在改动标志=1的记录,又要向部门表反写......
你这个逻辑,容易引发无限循环......
这一点务必注意.

解决的办法,我大致设想了一下,可否这样:
部门表,仍用Workbook_BeforeClose() 来决定要不要向总表改写数据.代码可以仿照我的示例来写.
总表,可以添加一个可视按钮,把原来写在总表Workbook_BeforeClose中的代码移植到按钮Click事件中来,
由按钮的点击,人为的控制要不要向部门表中写数据.
我想,这样,大概可以避免无限循环,具体如何? 我没时间试验了,靠你自己了.


2021-06-23 17:35
jxshaoyongan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-6-21
收藏
得分:0 
回复 2楼 厨师王德榜
让您见笑了,见识了什么是VBA小白,空白的白,非常感谢大神的解答!
2021-06-25 10:48
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:995
专家分:4966
注 册:2013-2-16
收藏
得分:0 
今天抽时间完善了总表和三个部门表的代码。反复打开部门表、反复采集字典的问题已解决。
见附件。
部门表与总表互写的解决方案.rar (71.96 KB)

还有一个问题可能需要考虑,假如某笔记录需要删除,你的模型似乎没有考虑这个需求?
如果需要考虑这个需求,那么就要考虑权限问题了,部门表有没有权限去直接删除总表的记录?
建议:总表如果删除了某笔记录,可以去同步删除部门表的记录,但是部门表最好不要去直接删除总表的记录。
2021-06-25 14:07
快速回复:求助:VBA实现各表单之间更改数据的拷贝问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017584 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved