| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2127 人关注过本帖
标题:【至急】关于父窗体刷新子窗体的问题
只看楼主 加入收藏
baggio790507
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
【至急】关于父窗体刷新子窗体的问题
本人是Access新手,现在在开发一个AccessVBA小工具。
工具的主要功能就是检索数据,导入数据,导出数据等更能。
现在在检索数据时遇到了一个非常奇怪的问题,希望论坛里的高人帮忙指点一下。

父窗体上布局了一些检索条件和检索按钮,根据检索条件检索出来的数据插入到
一个中间表上,由另一个子窗体将这个中间表的数据内容显示出来。
注:中间表的数据结构和检索时参照的业务表的结构完全一致,在这里建立中间表的
原因是因为客户希望在子窗体可以进行数据修改,但是修改的内容不立刻更新业务表,
通过点击保存按钮的时点才将修改的内容提交到数据库。所以当时就建立了这样一个
中间表(说白了其实就是一个临时表),作为窗体和业务表之间的纽带。

我的程序处理(检索按钮Click事件的程序逻辑)大概是这样的。
1.首先将中间表的数据进行逻辑删除
  在中间表和业务表的表定义里追加了个字段【删除标志】
  这一步骤上将中间表中的数据的【删除标志】置为【1:已删除】
  注:因为这一部分是上回检索出来的检索数据,所以已经不需要了。
2.将1的修改内容进行事务提交
3.根据新的检索条件检索出来的数据插入到那个中间表里
  插入是通过INSERT INTO 中间表 SELECT * FROM 业务表 WHERE 检索条件的形式完成的。
4.将3的修改内容进行事务提交
5.通过ADODB的Recordset.open将中间表的数据查询出来看了一下,结果是正确的。
6.将第5步骤的查询语句赋给子窗体的RecordSource属性,并用Me.子窗体空间名.Requery将子窗体的数据刷新了一下,
但是结果不是我想要的那种结果,只有点击F5或者Shift+F9或者再重新点击检索按钮子窗体上才会反映出正确的结果。

我感觉有可能是因为我进行了两次事务提交的缘故,但是怎么去解决还没有什么好的方法,希望论坛里的高人帮忙指点一下,在这里表示感谢啦!








[ 本帖最后由 baggio790507 于 2012-11-25 19:01 编辑 ]
搜索更多相关主题的帖子: 开发 
2012-11-25 18:50
shepdog
Rank: 2
等 级:论坛游民
帖 子:3
专家分:54
注 册:2012-11-26
收藏
得分:14 
楼主是否应该把代码放上来看看?需要保密吗?
2012-11-27 09:18
baggio790507
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-25
收藏
得分:0 
回复 2楼 shepdog
问题的原因已经查出来啦!
因为Access进行数据插入和删除的时候有延迟,强制刷新一下数据库文件就解决啦!
2012-12-02 22:15
qomolangmaer
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-22
收藏
得分:0 
学习le
感谢分享
2013-03-22 16:53
快速回复:【至急】关于父窗体刷新子窗体的问题
数据加载中...
 
   



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

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