Office中国论坛/Access中国论坛

标题: 刷新后如何令光标保持在原来地方。不跳回第一条记录! [打印本页]

作者: pwj2009    时间: 2011-2-20 11:18
标题: 刷新后如何令光标保持在原来地方。不跳回第一条记录!
光标选中ID4的记录。点刷新后,光标自动跑回第一条记录,如何控制刷新后,光标还保持在ID4不变??
作者: roych    时间: 2011-2-20 11:41
莫非刷新前先记住所选记录的RecordCount,刷新后再返回这条记录?这样会不会太累了?
作者: todaynew    时间: 2011-2-20 12:07
pwj2009 发表于 2011-2-20 11:18
光标选中ID4的记录。点刷新后,光标自动跑回第一条记录,如何控制刷新后,光标还保持在ID4不变??

换成me.Recalc试试
作者: pwj2009    时间: 2011-2-20 14:31
roych 发表于 2011-2-20 11:41
莫非刷新前先记住所选记录的RecordCount,刷新后再返回这条记录?这样会不会太累了?

因为。主窗体下面有子窗体。都是记录数据。我另外做了一个修改窗体。我在字窗体选中某条记录。点修改弹出登记窗体(里面就是我选中那条记录的数据)里输入好修改数据。保存后刷新,。一刷新光标就跑到第一条记录,而我刚修改的那条记录又不知道飞去哪里了。我想修改保存后刷新,光标依然停留在那条记录,我就可以清晰地查看修改后还有没有错误。,...me..Recalc 我要刷新的是主窗体的子窗体数据。用这个直接报错了。
作者: roych    时间: 2011-2-20 15:02
你可以考虑加一个修改日期(常规日期,有日期和时分秒的那种)字段,每次修改保存后把时间追加上去,按子窗体按修改日期排序之后,刚修改完的永远都在第一条了。。。
作者: 红尘如烟    时间: 2011-2-20 15:47
本帖最后由 红尘如烟 于 2011-2-20 15:55 编辑

Refresh 方法刷新对数据的修改,刷新后光标位置会在原来的那行记录上,不会改变,直接刷新窗体不会显示他人添加或删除的记录(不过实际上可以通过把数据放在子窗体,然后调用主窗体的Refresh方法来,来实现刷新后显示他人添加、删除、修改的良记录,但光标位置不变的效果)
Refresh方法的限制:如果在窗体中如果通过菜单等对数据进行了重新排序,用Refresh方法刷新后,光标位置会移到第一行),另外如果使用了多个绑定了记录源的子窗体,或者子窗体层数在2层及以上,会导致Access程序崩溃。
Recalc 方法是刷新表达式的(即控件来源以=号开头的)。
Requery 方法是重新加载数据。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3