office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access父子窗體引用的詳細(xì)教程

2017-07-20 20:57:00
zstmtony
原創(chuàng)
18646

Access父子窗體相互引用的語法解釋



Access初學(xué)者除了對字符串連接容易困惑之外,另一個比較容易暈菜的問題,就是父子窗體對象或控件的引用

Access入門者常常弄不清子窗體控件與子窗體之間的區(qū)別,所以常常在主窗體,不知道如何引用Access子窗體里的對象

或在Access子窗體中,不知道如何引用父窗體里的對象


首先,我們先要明白,子窗體控件 是一個容器,它里面包含著一個 另一個窗體(通過在源對象屬性 來設(shè)置 里面包含著哪個窗體)

假如主窗體為 frm訂單,它里面有一個子窗體控件,  這個子窗體控件名稱叫做 sfmSubform, 它的源對象屬性 設(shè)置為 frm訂單明細(xì), frm訂單明細(xì)這個窗體里 有一個 數(shù)量 控件

如果我們在主窗體里 想引用 子窗體控件,可以使用 me.sfmSubform   ,這個就指向子窗體控件

但我們要明白 數(shù)量 控件 并不是放在子窗體控件里,而是在  frm訂單明細(xì) 這個窗體里

那們要引用  “數(shù)量”這個控件,應(yīng)該如何引用呢?

正確的方法是先找到 這個frm訂單明細(xì) 這個窗體,如果直接用 frm訂單明細(xì).數(shù)量  是不行的,因為 frm訂單明細(xì)這個窗體 這是單獨打開的。它是放在 主窗體  frm訂單里面

所以要這樣引用 ,先找開 這個窗體:me.sfmSubform.form   這樣就對應(yīng)到  這個子窗體控件 里面的窗體 了(也是frm訂單明細(xì)這個子窗體)了

然后,再加上控件名: me.sfmSubform.form. 數(shù)量


如果在 子窗體 里 數(shù)量 控件的相關(guān)事件里 如果引用父窗體呢(如父窗體里有一個訂單號)

則需要這樣引用: me.parent.訂單號   或me.parent.form.訂單號  都可以


更多有關(guān)父子窗體的語法解釋,可參考下面的詳細(xì)教程


例子:

Mainform 是 主窗體

Subform1 是主窗體里面的子窗體的名稱

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


正 文:

父子窗體的語法介紹 From Keri Hardwick

例子:

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


摘自O(shè)ffice交流網(wǎng) 最早期的網(wǎng)站 輕魂源碼(www.zstmcomputer.com)

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動訪問