Office中国论坛/Access中国论坛

标题: 【版主请进】数据表视图的窗体如何引用/设置子窗体属性?【未解决】 [打印本页]

作者: aslxt    时间: 2011-2-16 10:38
标题: 【版主请进】数据表视图的窗体如何引用/设置子窗体属性?【未解决】
本帖最后由 aslxt 于 2011-2-16 13:37 编辑

如题,有一个【父窗体】,
其中有一个【子窗体】,为数据表视图,绑定到表”入库“,有一个“审核”、“id”控件....,还有一个【孙窗体】
【孙窗体】绑定到表“入库明细”,其中”入库id“与【子窗体】的“id”控件关联
我想在【子窗体】的“成为当前”事件中判断:
1、如果当前记录的“审核”值不为零时,当前记录可以编辑、删除,当前记录关联的【孙窗体】的记录可以编辑、删除、新增;
2、如果当前记录的“审核”值为零时,当前记录不可以编辑、删除,当前记录关联的【孙窗体】的记录不可以编辑、删除、新增。
Private Sub Form_Current()
  If Me.审核 <> 0 Then
    Me.AllowEdits = False
    Me.AllowDeletions = False
    Me.孙窗体.Form.AllowAdditions = False
    Me.孙窗体.Form.AllowEdits = False
    Me.孙窗体.Form.AllowDeletions = False
   Else
    Me.AllowEdits = True
    Me.AllowDeletions = True
    Me.孙窗体.Form.AllowAdditions = True
    Me.孙窗体.Form.AllowEdits = True
    Me.孙窗体.Form.AllowDeletions = True
  End If
End Sub
总是提示“....对form/report的引用无效”,请问如何解决?
[attach]44842[/attach]
注:如果【子窗体】单独打开,且为窗体视图,就没有问题


作者: todaynew    时间: 2011-2-16 11:28
aslxt 发表于 2011-2-16 10:38
如题,有一个【父窗体】,
其中有一个【子窗体】,为数据表视图,绑定到表”入库“,有一个“审核”、“id ...


[attach]44844[/attach]

[attach]44843[/attach]



作者: aslxt    时间: 2011-2-16 12:37
谢谢版主的回复,研究一下
作者: aslxt    时间: 2011-2-16 13:15
本帖最后由 aslxt 于 2011-2-16 13:38 编辑

问题部分解决,谢谢,又产生新的问题了
当【子窗体】的某条记录下的【孙窗体】没有记录时,无论【子窗体】的“审核”的值是否为true,均没有办法新增记录!
怎么办?

作者: todaynew    时间: 2011-2-16 17:15
aslxt 发表于 2011-2-16 13:15
问题部分解决,谢谢,又产生新的问题了
当【子窗体】的某条记录下的【孙窗体】没有记录时,无论【子窗体】 ...

那就还是用孙窗体的成为当前事件吧,把孙窗体的其他事件都删除,加成为当前事件:
Private Sub Form_Current()
Dim ctls As Controls
Set ctls = Me.Parent.Form.Controls
  If ctls("审核").Value = True Then
    Me.AllowEdits = False
    Me.AllowEdits = False
    Me.AllowAdditions = False
  Else
    Me.AllowEdits = True
    Me.AllowEdits = True
    Me.AllowAdditions = True
  End If
End Sub

作者: aslxt    时间: 2011-2-16 18:00
本帖最后由 aslxt 于 2011-2-16 18:04 编辑

也不行:
比方说,如果上一次成为当前时ctls("审核").Value = True ,在这一次成为当前的时候,如果【孙窗体】原有记录条数为零,还是有问题。
因为上一次成为当前时ctls("审核").Value = True ,已经设置【孙窗体】的只读属性,本次成为当前(如果【孙窗体】原有记录条数为零)之前仍然是只读属性,这样【孙窗体】就没有记录,不能够成为当前,是这个意思吧?

作者: todaynew    时间: 2011-2-16 19:06
本帖最后由 todaynew 于 2011-2-16 19:35 编辑
aslxt 发表于 2011-2-16 18:00
也不行:
比方说,如果上一次成为当前时ctls("审核").Value = True ,在这一次成为当前的时候,如果【孙窗 ...


加一个孙窗体的双击事件即可:

[attach]44850[/attach]

[attach]44851[/attach]





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