设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 这两段代码有什么区别,为什么会出错

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-30 22:50:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码1:
    If Screen.ActiveForm.Name = "frm1" Then
        Me.txtYe = 9
    End If

代码2:
    If IsLoaded("frm1") = True Then
        Me.txtYe = 9
    End If

我的本意是,如果当前打开的窗体,或者说活动的窗体是frm1,那么就让me.txtye的值为9。

在窗体的加载中,如果用代码1,就会出现错误提示,内容是“你输入的表达式要求一个激活的窗体”,点击调试,错误行就在代码1上。

如果我用代码2,则就没有错误提示,加载顺利。

我就觉得奇怪,这两段代码有什么区别,有什么要求,为什么在加载事件中代码1出错,代码2就不出错呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-3-30 23:03:58 | 只看该作者
窗体在打开事件过程中还没有激活,在代码中引用激活的窗体,自然就出错了
3#
 楼主| 发表于 2010-3-31 07:37:41 | 只看该作者
加载发生在打开事件之前,那我这代码应该如何修改,才能避免窗体在打开事件中还没有被激活呢。
4#
发表于 2010-3-31 12:36:14 | 只看该作者
你需要从外部窗体判断别的窗体的打开或激活情况?
5#
 楼主| 发表于 2010-3-31 17:53:26 | 只看该作者
折腾了一下午,都没有找到原因,最后让窗体都选择代码2,反正只要能达到我的要求就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 04:18 , Processed in 0.087734 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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