Office中国论坛/Access中国论坛

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

作者: gzkrmch    时间: 2012-5-10 11:54
标题: 判断子窗体有记录时事件的代码问题求助(已解决)
本帖最后由 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:}
作者: todaynew    时间: 2012-5-10 13:25
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

作者: xie62    时间: 2012-5-10 13:28
     Me.子窗体.Form.AllowAdditions = False    '不允许添加
    Me.子窗体.Form.AllowDeletions = False    '不允许删除
    Me.子窗体.Form.AllowEdits = False    '不允许编辑
作者: gzkrmch    时间: 2012-5-10 15:33
todaynew 发表于 2012-5-10 13:25
if me.子窗体1.form.NewRecord=false then
        ME.子窗体1.Form.锁定 = -1
end if

谢谢todaynew老师了,解决了
作者: gzkrmch    时间: 2012-5-10 15:35
xie62 发表于 2012-5-10 13:28
Me.子窗体.Form.AllowAdditions = False    '不允许添加
    Me.子窗体.Form.AllowDeletions = False ...

也谢谢xie62 ,但你这种方法会把所有的子窗体都锁定的,从主窗体建新记录时,子窗体的数据也无法编辑,非常感谢大家的帮助
作者: gzkrmch    时间: 2012-5-10 17:29
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

这是我觉得最好的方法了

作者: todaynew    时间: 2012-5-10 20:22
gzkrmch 发表于 2012-5-10 17:29
这个方法我一直以来试了好多次,都没有达到想要的结果,今天头绪理了理,终于弄明白了,这个代码是放在窗 ...

你这是自以为清楚和明白了。
要想真明白,推荐你看以下文章:http://www.office-cn.net/forum.p ... hlight=%CB%F8%B6%A8
作者: gzkrmch    时间: 2012-5-11 08:53
todaynew 发表于 2012-5-10 20:22
你这是自以为清楚和明白了。
要想真明白,推荐你看以下文章:http://www.office-cn.net/forum.php? ...

再次谢谢todaynew 老师的好例子




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