...

在窗體間傳遞參數的幾種(zhǒng)常用辦法

2022-01-25


在實際開(kāi)發(fā)應用中,常常需要在窗體間傳遞參數。常用的幾種(zhǒng)參數傳遞方法有如下幾種(zhǒng):


1、使用openargs

在調用的窗體使用如下語句:

docmd.openform "被(bèi)調用的窗體", , , , , , "參數值"

在被(bèi)調用的窗體使用me.openargs即可獲取傳遞過(guò)來的參數


2、使用全局變量

先設置一個全局變量,例如:gstrPara,

Public gstrPara as string

在調用之前傳遞參數值給這(zhè)個全局變量

gstrPara="參數值"

docmd.openform "被(bèi)調用的窗體"

在被(bèi)調用的窗體裡(lǐ)使用gstrPara即可獲取傳遞過(guò)來的參數


3、使用tag标記

將(jiāng)要傳遞的參數放置在調用窗體的tag标記裡(lǐ)

在被(bèi)調用的窗體裡(lǐ)通過(guò)調用 forms("調用的窗體").tag 來獲取參數值


4、使用模塊變量

在調用窗體設置一個公共的模塊變量 mstrPara

將(jiāng)要傳遞的參數放置在調用窗體的mstrPara變量裡(lǐ)

在被(bèi)調用的窗體裡(lǐ)通過(guò)調用 forms("調用的窗體").mstrPara 來獲取參數值


5、直接獲取

如果參數來自調用窗體的控件,也可直接調用

在被(bèi)調用的窗體裡(lǐ)直接引用調用窗體的控件的值 如:forms("調用的窗體").控件名.value


6、多個參數傳遞

如果需要傳遞多個參數,可將(jiāng)參數合并到一個變量裡(lǐ)傳送(使用指定符号隔開(kāi)),然後(hòu)在被(bèi)調用窗體再拆分這(zhè)些變量,以達到多個參數傳遞的效果。

不過(guò),因爲一般傳遞兩(liǎng)個參數的時(shí)候,多數一個是變量,一個是窗體本身,

所以我常用的方法也是比較實用的方法是:

在調用窗體使用如下語句:

docmd.openform "被(bèi)調用的窗體", , , , , , "參數值"

而在被(bèi)調用的窗體裡(lǐ)設置一個模塊變量 mfrmSrc

在被(bèi)調用的窗體的open或load事(shì)件中設置

set mfrmSrc= screen.activeform

這(zhè)時(shí)mfrmSrc就(jiù)指向(xiàng)原來的調用窗體(因爲在窗體未完全加載好(hǎo)前,屏幕上激活的窗體是原來的窗體)

使用mfrmSrc你可以獲取調用窗體上所有控件及相關的值,并且不需要事(shì)先知道(dào)原來窗體的名稱,具有比較強的通用性。

來源:51cto