在實(shí)際開(kāi)發(fā)應(yīng)用中,常常需要在窗體間傳遞參數(shù)。常用的幾種參數(shù)傳遞方法有如下幾種:
1。使用openargs
在調(diào)用的窗體使用如下語(yǔ)句:
docmd.openform "被調(diào)用的窗體", , , , , , "參數(shù)值"
在被調(diào)用的窗體使用me.openargs即可獲取傳遞過(guò)來(lái)的參數(shù)
2。使用全局變量
先設(shè)置一個(gè)全局變量,例如:gstrPara,
Public gstrPara as string
在調(diào)用之前傳遞參數(shù)值給這個(gè)全局變量
gstrPara="參數(shù)值"
docmd.openform "被調(diào)用的窗體"
在被調(diào)用的窗體里使用gstrPara即可獲取傳遞過(guò)來(lái)的參數(shù)
3。使用tag標(biāo)記
將要傳遞的參數(shù)放置在調(diào)用窗體的tag標(biāo)記里
在被調(diào)用的窗體里通過(guò)調(diào)用 forms("調(diào)用的窗體").tag 來(lái)獲取參數(shù)值
4。使用模塊變量
在調(diào)用窗體設(shè)置一個(gè)公共的模塊變量 mstrPara
將要傳遞的參數(shù)放置在調(diào)用窗體的mstrPara變量里
在被調(diào)用的窗體里通過(guò)調(diào)用 forms("調(diào)用的窗體").mstrPara 來(lái)獲取參數(shù)值
5。直接獲取
如果參數(shù)來(lái)自調(diào)用窗體的控件,也可直接調(diào)用
在被調(diào)用的窗體里直接引用調(diào)用窗體的控件的值 如:forms("調(diào)用的窗體").控件名.value
6。多個(gè)參數(shù)傳遞
如果需要傳遞多個(gè)參數(shù),可將參數(shù)合并到一個(gè)變量里傳送(使用指定符號(hào)隔開(kāi)),然后在被調(diào)用窗體再拆分這些變量,以達(dá)到多個(gè)參數(shù)傳遞的效果。
不過(guò),因?yàn)橐话銈鬟f兩個(gè)參數(shù)的時(shí)候,多數(shù)一個(gè)是變量,一個(gè)是窗體本身,
所以我常用的方法也是比較實(shí)用的方法是:
在調(diào)用窗體使用如下語(yǔ)句:
docmd.openform "被調(diào)用的窗體", , , , , , "參數(shù)值"
而在被調(diào)用的窗體里設(shè)置一個(gè)模塊變量 mfrmSrc
在被調(diào)用的窗體的open或load事件中設(shè)置
set mfrmSrc= screen.activeform
這時(shí)mfrmSrc就指向原來(lái)的調(diào)用窗體(因?yàn)樵诖绑w未完全加載好前,屏幕上激活的窗體是原來(lái)的窗體)
使用mfrmSrc你可以獲取調(diào)用窗體上所有控件及相關(guān)的值,并且不需要事先知道原來(lái)窗體的名稱(chēng),具有比較強(qiáng)的通用性。
應(yīng)該還有更多更好的參數(shù)傳遞方法,不一一舉例,也希望大家共同討論這個(gè)話(huà)題,相關(guān)回復(fù)請(qǐng)發(fā)表評(píng)論。
1。使用openargs
在調(diào)用的窗體使用如下語(yǔ)句:
docmd.openform "被調(diào)用的窗體", , , , , , "參數(shù)值"
在被調(diào)用的窗體使用me.openargs即可獲取傳遞過(guò)來(lái)的參數(shù)
2。使用全局變量
先設(shè)置一個(gè)全局變量,例如:gstrPara,
Public gstrPara as string
在調(diào)用之前傳遞參數(shù)值給這個(gè)全局變量
gstrPara="參數(shù)值"
docmd.openform "被調(diào)用的窗體"
在被調(diào)用的窗體里使用gstrPara即可獲取傳遞過(guò)來(lái)的參數(shù)
3。使用tag標(biāo)記
將要傳遞的參數(shù)放置在調(diào)用窗體的tag標(biāo)記里
在被調(diào)用的窗體里通過(guò)調(diào)用 forms("調(diào)用的窗體").tag 來(lái)獲取參數(shù)值
4。使用模塊變量
在調(diào)用窗體設(shè)置一個(gè)公共的模塊變量 mstrPara
將要傳遞的參數(shù)放置在調(diào)用窗體的mstrPara變量里
在被調(diào)用的窗體里通過(guò)調(diào)用 forms("調(diào)用的窗體").mstrPara 來(lái)獲取參數(shù)值
5。直接獲取
如果參數(shù)來(lái)自調(diào)用窗體的控件,也可直接調(diào)用
在被調(diào)用的窗體里直接引用調(diào)用窗體的控件的值 如:forms("調(diào)用的窗體").控件名.value
6。多個(gè)參數(shù)傳遞
如果需要傳遞多個(gè)參數(shù),可將參數(shù)合并到一個(gè)變量里傳送(使用指定符號(hào)隔開(kāi)),然后在被調(diào)用窗體再拆分這些變量,以達(dá)到多個(gè)參數(shù)傳遞的效果。
不過(guò),因?yàn)橐话銈鬟f兩個(gè)參數(shù)的時(shí)候,多數(shù)一個(gè)是變量,一個(gè)是窗體本身,
所以我常用的方法也是比較實(shí)用的方法是:
在調(diào)用窗體使用如下語(yǔ)句:
docmd.openform "被調(diào)用的窗體", , , , , , "參數(shù)值"
而在被調(diào)用的窗體里設(shè)置一個(gè)模塊變量 mfrmSrc
在被調(diào)用的窗體的open或load事件中設(shè)置
set mfrmSrc= screen.activeform
這時(shí)mfrmSrc就指向原來(lái)的調(diào)用窗體(因?yàn)樵诖绑w未完全加載好前,屏幕上激活的窗體是原來(lái)的窗體)
使用mfrmSrc你可以獲取調(diào)用窗體上所有控件及相關(guān)的值,并且不需要事先知道原來(lái)窗體的名稱(chēng),具有比較強(qiáng)的通用性。
應(yīng)該還有更多更好的參數(shù)傳遞方法,不一一舉例,也希望大家共同討論這個(gè)話(huà)題,相關(guān)回復(fù)請(qǐng)發(fā)表評(píng)論。