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

504次阅读
没有评论

共计 2271 个字符,预计需要花费 6 分钟才能阅读完成。

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

假如主窗体为 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

正文完
 0
水东柳
版权声明:本站原创文章,由 水东柳 2019-01-29发表,共计2271字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)