设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1555|回复: 8
打印 上一主题 下一主题

[窗体] 如何在主窗体操控子窗体(数据修改和保存)

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-20 22:35:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现用:
Me.配方子窗体.Form.[药品ID] = Me.药品ID
Me.Recalc

窗体会闪,改成如下,一样会闪
Me.配方子窗体.Form.[药品ID] = Me.药品ID
Me.配方子窗体.SetFocus
DoCmd.RunCommand acCmdSaveRecord
Me.剂量.SetFocus

想用子窗体记录集,但无法控制指针,不是溢出就是eof,并不是子窗体记录选择器指向的记录。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-2-20 23:12:23 | 只看该作者
Me.Recalc
替换为
Me.配方子窗体.Requery

但无法控制指针,不是溢出就是eof
这里不太明白,因为没看见实例
3#
 楼主| 发表于 2009-2-20 23:33:28 | 只看该作者
本帖最后由 tz-chf 于 2009-2-20 23:35 编辑

requery肯定也会闪(我在其它的软件里用过),我是直接改控件的值,不是改数据源,还没试requery这样能不能行。

指针的事情是:记录选择器指向的一条记录,但引用的子窗体记录集(Dao)的指针好象并不指向这条,eof或溢出,这个我倒有点怀疑,自己再试试。

我无法解决的是:子窗体不必得到焦点,就能保存修改后的数据,使窗体不闪。

顺便问一下,如何用Ado引用子窗体的记录集?

点击这里给我发消息

4#
发表于 2009-2-21 05:51:28 | 只看该作者

Me.配方子窗体.Form.[药品ID] = Me.药品ID
Me.配方子窗体.Requery
是不会闪的,


Me.配方子窗体.Form.[药品ID] = Me.药品ID
Me.配方子窗体.SetFocus
也不应该闪,
闪可能是因为移动焦点的控件开启了输入法.
5#
 楼主| 发表于 2009-2-21 10:48:11 | 只看该作者
我说的闪是指子窗体会抖动,有时看不出,有时很明显。试过requery、refresh、recalc、用子窗体记录、移动焦点用docmd保存,都一样会闪。

也和输入法无关。

而且用子窗体记录操作时,addnew完成之后,当前记录的指针就没有了,无法再做其它的操作(如剂量)。
6#
 楼主| 发表于 2009-2-21 12:25:03 | 只看该作者
我写了几种方法,测一下子窗体闪的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

7#
发表于 2009-2-21 14:01:43 | 只看该作者
是偶尔有一点点闪,不像老兄说得那么厉害
可能避免不了的吧...
8#
发表于 2009-2-21 14:22:28 | 只看该作者
可以接受了,一点都不闪就不太可能了,重新指定数据源可能会好点
9#
 楼主| 发表于 2009-2-21 16:09:31 | 只看该作者
再加两种:重新指定子窗体记录源,调用子窗体过程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-7-8 00:15 , Processed in 0.109442 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表