Access父子窗体相互引用的语法

首先要明白,子窗体控件 是一个容器,它里面包含着一个 另一个窗体(通过在源对象属性 来设置 里面包含着哪个窗体)。

假如主窗体为 frm订单,它里面有一个子窗体控件,这个子窗体控件名称叫做 sfmSubform, 它的源对象属性设置为 frm订单明细,frm订单明细这个窗体里有一个数量控件。

如果我们在主窗体里想引用子窗体控件,可以使用me.sfmSubform,这个就指向子窗体控件。

但我们要明白"数量" 控件并不是放在子窗体控件里,而是在frm订单明细这个窗体里,那们要引用“数量”这个控件,应该如何引用呢?

正确的方法是先找到这个frm订单明细这个窗体,如果直接用frm订单明细.数量是不行的,因为frm订单明细这个窗体这是单独打开的。它是放在主窗体frm订单里面。

所以要这样引用,先找开这个窗体:me.sfmSubform.form,这样就对应到这个子窗体控件里面的窗体了(也是frm订单明细这个子窗体)了。

然后,再加上控件名: me.sfmSubform.form. 数量

如果在子窗体里数量控件的相关事件里如果引用父窗体呢(如父窗体里有一个订单号),则需要这样引用:me.parent.订单号 或me.parent.form.订单号都可以。

更多有关父子窗体的语法解释,可参考下面的详细教程

例子:

Mainform 是 主窗体

Subform1 是主窗体里面的子窗体的名称

Subform2 是Subform1子窗体里面的子窗体

     
  如果你在主窗体 如果你在子窗体1
要参照一个窗体属性,例如:RecordSource    
在主窗体 Me.RecordSource Me.Parent.RecordSource
在子窗体1 Me!Subform1.Form.RecordSource Me.RecordSource
在子窗体2 Me!Subform1.Form!Subform2.Form.

RecordSource

Me!Subform2.Form.RecordSource
在照控件    
在主窗体 Me!ControlName Me.Parent!ControlName
在子窗体1 Me!Subform1.Form!ControlName Me!ControlName
在子窗体2 Me!Subform1.Form!Subform2.Form!

ControlName

Me!Subform2.Form!ControlName
要参照一个控件属性,例如: Enabled    
在主窗体 Me!ControlName.Enabled Me.Parent!ControlName.Enabled
在子窗体1 Me!Subform1.Form!ControlName.Enabled Me!ControlName.Enabled
在子窗体2 Me!Subform1.Form!Subform2.Form!

ControlName.Enabled

Me!Subform2.Form!ControlName.Enabled
要参照一个子窗体控件属性, 例如SourceObject    
在主窗体 N/A N/A
在子窗体1 Me!Subform1.SourceObject N/A
在子窗体2 Me!Subform1.Form!Subform2.SourceObject Me!Subform2.SourceObject
     
     
  如果你在子窗体2 不在窗体里
要参照一个窗体属性,例如:RecordSource    
在主窗体 Me.Parent.Parent.RecordSource Forms!Mainform.RecordSource
在子窗体1 Me.Parent.RecordSource Forms!Mainform!Subform1.Form.RecordSource
在子窗体2 Me.RecordSource Forms!Mainform!Subform1.Form!Subform2.

Form.RecordSource

要参照一个控件    
在主窗体 Me.Parent.Parent!ControlName Forms!Mainform!ControlName
在子窗体1 Me.Parent!ControlName Forms!Mainform!Subform1.Form!ControlName
在子窗体2 Me!ControlName Forms!Mainform!Subform1.Form!Subform2.

Form!ControlName

要参照一个控件属性,例如: Enabled    
在主窗体 Me.Parent.Parent!ControlName.Enabled Forms!Mainform!ControlName.Enabled
在子窗体1 Me.Parent!ControlName.Enabled Forms!Mainform!Subform1.Form!ControlName.Enabled
在子窗体2 Me!ControlName.Enabled Forms!Mainform!Subform1.Form!Subform2.

Form!ControlName.Enabled

要参照一个子窗体控件属性:SourceObject    
在主窗体 N/A N/A
在子窗体1 N/A Forms!Mainform!Subform1.SourceObject
在子窗体2 N/A Forms!Mainform!Subform1.Form!Subform2.

SourceObject

 

 

摘自 http://www.office-cn.net/access-interface/136.html

版权声明:
作者:水东柳
链接:https://shuidl.com/1532.html
来源:水东柳博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>