Office中国论坛/Access中国论坛

标题: 同样一个Requery,为什么不一样? [打印本页]

作者: ALUZER    时间: 2012-11-19 09:10
标题: 同样一个Requery,为什么不一样?
If IsFormLoaded("综合查询") = True Then Forms!综合查询!产品发货.Requery
DoCmd.Close acForm, "产品发货"
上面的IsFormLoaded是判断窗体是否打开。
在窗体【综合查询】的子窗体【查询结果】中的数据源是【货款查询】,点击某一条记录就会把相应的【产品发货】打开,然后修改的【产品发货】,关闭【产品发货】时要刷新【货款查询】,就用上面的代码。
Forms!综合查询!产品发货.Requery 在有的窗体执行后光标仍旧在点击的记录上,而有的则跳到了子窗体的记录的第一条上,为什么呢?
另:Forms!综合查询!产品发货.Requery 改成 Forms!综合查询!产品发货.Recalc 不能使用
而 Forms.产品发货.Recalc 这样可以使用,就因为不是子窗体?
想解决的问题是:关闭了【产品发货】,刷新了【货款查询】后,光标仍旧停留在点击的记录上!


作者: Agent    时间: 2012-11-19 09:14
刷新后.再获取焦点行不?
作者: ALUZER    时间: 2012-11-19 09:20
谢谢回复。因为我的子窗体的数据源是根据代码更换的,有的打开窗体的条件是【收发编号】而有的是【买电编号】,最好是直接重新获得焦点,如要用代码获得焦点的话,要怎么写呢,也要根据【收发编号】来获得焦点了啊?
作者: ALUZER    时间: 2012-11-19 09:21
说的明白点:【货款查询】的记录中,如何根据【产品发货】的【收发编号】来获得焦点!
作者: ALUZER    时间: 2012-11-19 09:30
问题找到了,子窗体的数据源如果是经过刷选的,刷新后光标到第一条记录,而没有经过刷选的就停留在原来的记录上!
作者: Agent    时间: 2012-11-19 09:55
是的.是这样的




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