设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2918|回复: 10
打印 上一主题 下一主题

[窗体] 判定鼠标点中子窗体记录A,记录A的字段B为空值的代码怎样写??

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-18 09:26:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pwj2009 于 2011-2-18 09:34 编辑

判定。我选中子窗体记录A(点左边的记录选择器)。如果记录A的某字段B=空值and 字段C不为空的时候,我再点击命令按钮才生效否则提示错误。if Forms!主窗体!子窗体.字段B = "" and c is not null Then这样错在哪里?代码应该怎样写!!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-2-18 10:00:27 | 只看该作者
本帖最后由 todaynew 于 2011-2-18 10:01 编辑

c的父对象不明确。可以写为如下:

dim ctls as controlls
set ctls=me.子窗体.form.controls
if isnull(ctls("B").value)=true and isnull(ctls("c").value)=false then
........
........
end if
3#
发表于 2011-2-18 10:39:48 | 只看该作者
我也想学习!我对父、子对象有关知识不明白,请教版主,为什么1楼的情况就要考虑父对象?
4#
 楼主| 发表于 2011-2-18 13:53:56 | 只看该作者
本帖最后由 pwj2009 于 2011-2-18 13:59 编辑

dim ctls as controlls 应该是controls

还有这段代码无效。。直接跳去了第2个条件。
5#
发表于 2011-2-18 11:37:24 | 只看该作者
回复 ycxchen 的帖子

按我的理解,子窗体在主窗体中只是视为控件而已。因此,如果需要指定子窗体的某个控件,必须引用Controls。
6#
发表于 2011-2-18 14:11:15 | 只看该作者
pwj2009 发表于 2011-2-18 13:53
dim ctls as controlls 应该是controls

还有这段代码无效。。直接跳去了第2个条件。

7#
发表于 2011-2-18 14:35:43 | 只看该作者
本帖最后由 todaynew 于 2011-2-18 14:45 编辑
ycxchen 发表于 2011-2-18 10:39
我也想学习!我对父、子对象有关知识不明白,请教版主,为什么1楼的情况就要考虑父对象?


1、主窗体调用子窗体控件值:
me.合计.value=me.子窗体.form.controls("合计").value
2、主窗体调用孙窗体控件值:
me.合计.value=me.子窗体.form.controls("孙窗体").form.controls("合计").value
总共涉及到6个对象:
(1)me--代表主窗体,也可以是forms("主窗体");
(2)子窗体---实际上是指子窗体控件,其名称可以与子窗体名称一致也可以不一致;
(3)第一个form---指装载与子窗体控件中的窗体;
(4)controls("孙窗体")---实际上是指子窗体中的子窗体控件,与2含义相同;
(5)第二个form---指装载与子窗体控件中的窗体,与3含义相同;
(6)controls("合计")---指孙窗体上的控件
其中为了简化以上代码中也可以省略form
3、子窗体调用主窗体控件值:
me.ID.DefaultValue=Me.Parent.Form.Controls("ID").value
Parent--指父对象
4、孙窗体调主窗体控件值:
me.ID.DefaultValue=Me.Parent.Parent.Form.Controls("ID").value

以上代码可以将部分.运算父改为!运算符,具体规律自行摸索。



8#
发表于 2011-2-18 14:38:33 | 只看该作者
B、C同为子窗体的字段,为什么2楼只说c的父对象不明确?
9#
发表于 2011-2-18 14:48:53 | 只看该作者
ycxchen 发表于 2011-2-18 14:38
B、C同为子窗体的字段,为什么2楼只说c的父对象不明确?

if nz(Forms!主窗体!子窗体.字段B,"") = "" and isnull(Forms!主窗体!子窗体.字段c)=false Then
这样可以。
And运算符,不负责对对象的从属关系进行运算。
10#
发表于 2011-2-18 15:12:48 | 只看该作者
十分感谢todaynew及yoych两位的指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 19:52 , Processed in 0.104431 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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