设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 判断子窗体有记录时事件的代码问题求助(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-10 11:54:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gzkrmch 于 2012-5-10 15:40 编辑

在一个主窗体里在多个子窗体,每个子窗体都有一个是/否控件选择框,锁定记录用,在主窗体里做了一个按钮,执行时,会锁住子窗体记录.

主窗体名称"主窗体"
子窗体名称"子窗体1"
子窗体名称"子窗体2"

Private Sub 保存_Click()
ME.子窗体1.Form.锁定 = -1
ME.子窗体2.Form.锁定 = -1

Me.Form.Requery
End Sub

但现在有个问题,当其中一个子窗体记录是空的话,也会自动生成一个空的记录,锁定里打上勾,我想写个代码判断当子窗体有数据时,锁定才等于-1,这样就不会自动生成一条空记录

Private Sub 保存_Click()

  If 子窗体1.Form.字段1 = Not Null Then
  ME.子窗体1.Form.锁定 = -1
  End If
  Me.Form.Requery
End Sub

这样写,是判断子窗体"字段1"里面有数时"锁定"=-1 但这样不行,锁定里是空的

求助一下,正确代码应该怎么写
谢谢了{:soso_e113:}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-5-10 13:25:30 | 只看该作者
if me.子窗体1.form.NewRecord=false then
        ME.子窗体1.Form.锁定 = -1
end if

或者

if me.子窗体.form.RecordsetClone.RecordCount >0 then
        ME.子窗体1.Form.锁定 = -1
end if
3#
发表于 2012-5-10 13:28:37 | 只看该作者
     Me.子窗体.Form.AllowAdditions = False    '不允许添加
    Me.子窗体.Form.AllowDeletions = False    '不允许删除
    Me.子窗体.Form.AllowEdits = False    '不允许编辑
4#
 楼主| 发表于 2012-5-10 15:33:08 | 只看该作者
todaynew 发表于 2012-5-10 13:25
if me.子窗体1.form.NewRecord=false then
        ME.子窗体1.Form.锁定 = -1
end if

谢谢todaynew老师了,解决了
5#
 楼主| 发表于 2012-5-10 15:35:48 | 只看该作者
xie62 发表于 2012-5-10 13:28
Me.子窗体.Form.AllowAdditions = False    '不允许添加
    Me.子窗体.Form.AllowDeletions = False ...

也谢谢xie62 ,但你这种方法会把所有的子窗体都锁定的,从主窗体建新记录时,子窗体的数据也无法编辑,非常感谢大家的帮助
6#
发表于 2012-5-10 20:22:40 | 只看该作者
gzkrmch 发表于 2012-5-10 17:29
这个方法我一直以来试了好多次,都没有达到想要的结果,今天头绪理了理,终于弄明白了,这个代码是放在窗 ...

你这是自以为清楚和明白了。
要想真明白,推荐你看以下文章:http://www.office-cn.net/forum.p ... hlight=%CB%F8%B6%A8
7#
 楼主| 发表于 2012-5-10 17:29:24 | 只看该作者
xie62 发表于 2012-5-10 13:28
Me.子窗体.Form.AllowAdditions = False    '不允许添加
    Me.子窗体.Form.AllowDeletions = False ...

这个方法我一直以来试了好多次,都没有达到想要的结果,今天头绪理了理,终于弄明白了,这个代码是放在窗体声明里的,
Private Sub AllED()
If Me.锁定.Value = "-1" Then
Me.子窗体.Form.AllowAdditions = False    '不允许添加
Me.子窗体.Form.AllowDeletions = False
End If
End Sub

这是我觉得最好的方法了
8#
 楼主| 发表于 2012-5-11 08:53:51 | 只看该作者
todaynew 发表于 2012-5-10 20:22
你这是自以为清楚和明白了。
要想真明白,推荐你看以下文章:http://www.office-cn.net/forum.php? ...

再次谢谢todaynew 老师的好例子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-23 00:27 , Processed in 0.116628 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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