Office中国论坛/Access中国论坛
标题: 还是请教关于窗体同步的问题!请给个意见 [打印本页]
作者: petrelai 时间: 2004-3-4 03:14
标题: 还是请教关于窗体同步的问题!请给个意见
在一个主窗体中有两个子窗体,这两个子窗的数据源是同一个表,只不过一个是单窗体形式,一个是数据表的形式,我想请教一下,如何才能让两个子窗体同步,同时,当一个主窗体记录前后变化时,它们相对地跟着变化。
作者: zhongliping 时间: 2004-3-4 17:53
我也碰到了同样的问题,不知如何解决,只好将数据表的那个窗体,设为每秒钟刷新一次,这样虽然是同步了,但是由于刷新屏幕有闪动现象。不知哪位高手有高招,指教一下。
作者: petrelai 时间: 2004-3-4 18:24
对呀,各位高手,有什么好的办法没有?请指教一下吆
作者: petrelai 时间: 2004-3-4 18:43
现在我的做法是:我在主窗体的加载事件中加入:Set Me.单个窗体形式.Form.Recordset = Me.数据表形式.Form.Recordset。这样做,当一运行窗体时,可以达到同步的效果,但当我按后一条记录按钮时,就不行了!怎么办,烦死了!
作者: zhongliping 时间: 2004-3-5 00:36
你的代码写反了,应该这样写:
Private Sub Form_Load()
Set Me.数据表子窗体.Form.Recordset = Me.单一视图窗体.Form.Recordset
End Sub
作者: petrelai 时间: 2004-3-5 20:07
那改过来了,是不是就行了呢?你在线上吗?
作者: zhongliping 时间: 2004-3-5 20:17
我的是可以了。
作者: petrelai 时间: 2004-3-5 20:56
怎么我改过来了,还是不行呢?
当我按后一条记录时,单一窗体形式的记录还是不会跟着主窗体和数据表窗体变的!
可以给你的一个窗体给我看看吗?我想看看我是错在哪了,行吗?
[此贴子已经被作者于2004-3-5 12:59:35编辑过]
作者: zhongliping 时间: 2004-3-6 17:35
哦,我说错了,你的代码是对的,做了一个实例上来,不知是不是你要求的。[attach]3788[/attach]
作者: petrelai 时间: 2004-3-7 03:58
zhongliping,你好!你做的实例我看过了,还是不行,你可以再试一试,当你把鼠标放到主窗体中时,你再按主窗体的记录选定器时,你就会发现子窗体A会随着主窗体变,但子窗体B就不会的了。我的也是这样,请问有什么方法可以解决得掉的吗?
请各位同道者也帮一帮,好吗?谢谢!
作者: 我同意 时间: 2004-3-7 15:13
共同关注,本人虽未涉及这样的同步效果,以后肯定会有用到的时候的。
学问这东西,学是一方面,善于问是另一方面。
善于问可不是容易的,问题提得好,不仅自己提高得快,对其他人也有广泛参考价值。这方面petrelei同志表现是比较突出的,短短数月,水平已然迅猛提高。有感而发。
[此贴子已经被作者于2004-3-7 7:15:32编辑过]
作者: qqqq 时间: 2004-3-7 22:22
成为当前事件中
on error resume next
dim rst as recordset
set rst=me.recordsetclone
me.子窗体名.form.bookmark=me.bookmark
rst.close
这时主窗体移动记录,子窗体同步移动。
但这会有一问题,主窗体新增记录时,子窗体不会同步新增更新。继续求助!
[此贴子已经被作者于2004-3-7 14:28:19编辑过]
作者: petrelai 时间: 2004-3-7 22:48
谢谢大家的帮忙!
作者: qqqq 时间: 2004-3-8 01:56
以下是引用petrelai在2004-3-7 14:47:31的发言:
谢谢大家的帮忙!
不知你最终是如何解决的啊...能否把代码公布出来啊?
作者: zhongliping 时间: 2004-3-8 17:26
明白你的意思了,改成这样呢?[attach]3805[/attach]
作者: petrelai 时间: 2004-3-8 18:49
哈…………………………………………………………………………
太谢谢你了!Zhongliping !“啵”!先吻一个,哈………………………………………………………………
第十五楼的先生,我的原码其实早就放上去啦。好像在4楼,5楼,在Zhongliping的两个附件也可以看得到呀。
[此贴子已经被作者于2004-3-8 10:51:56编辑过]
作者: petrelai 时间: 2004-3-8 19:39
zhongliping同志!你好!我想问一下:你用
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
是什么意思呀?
作者: zhongliping 时间: 2004-3-8 20:56
这个代码表示刷新
作者: petrelai 时间: 2004-3-8 21:06
呵呵……………………我还真笨呀!
哦,那有:我把这条代码加上去后,运行时发现“数据表窗体”的第一条记录的第一个字段被选中了,当我按一按它后,没选中了,但当我标鼠放到这个子窗体以外的任一地方,鼠标在这个子窗体中的最后停留的字段又被选中了,所以有两个地方获得了焦点,当我按“窗体设计”时,就出现“无当记录”提示,按帮忙,没有。当你按这个提示的确定按钮时,就回到设计状态。请问是怎么一回事呢?
作者: qqqq 时间: 2004-3-8 22:46
成为当前事件中
on error resume next
dim rst as recordset
set rst=me.recordsetclone
me.子窗体名.form.bookmark=me.bookmark
rst.close
在窗体更新事件中
dim rst as recordset
set rst=me.recordsetclone
me.子窗体.form.requre
rst.movelast
me.子窗体.form.bookmark=rst.bookmark
rst.close
作者: petrelai 时间: 2004-3-9 04:03
qqqq,你好!谢谢你的帮忙!你这个是另一种方法吧?这个“子窗体”是不是“单一窗体”子窗体?zhongliping的方法也可行,我用了几个窗体都行,就是这个窗体出现了上上楼的问题。
作者: qqqq 时间: 2004-3-9 22:07
呵呵,附件里面的内 容我是看不到啦
主窗体为单一窗体,下面 有子窗体。其实 它俩个数 据源是同一个表。。
意思就是在主窗体新增记录或是浏览记录时子窗 体里面 的记录可同步更新 变化。
作者: petrelai 时间: 2004-3-9 23:40
QQQQ!我当初想要的目的就是这个呀?有什么不对吗?你是想要我窗体的代码吗?
很烂的耶?不准笑的呀!还有请给点意见,如果你有话
[attach]3826[/attach]
[此贴子已经被作者于2004-3-9 15:48:14编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |