在窗体间传递参数的几种常用办法

     在实际开发应用中,常常需要在窗体间传递参数。常用的几种参数传递方法有如下几种: 
           1。使用openargs
                  在调用的窗体使用如下语句:
                  docmd.openform "被调用的窗体", , , , , , "参数值"
                  在被调用的窗体使用me.openargs即可获取传递过来的参数 
           2。使用全局变量
                  先设置一个全局变量,例如:gstrPara,
                  Public gstrPara as string
                  在调用之前传递参数值给这个全局变量
                  gstrPara="参数值"
                  docmd.openform "被调用的窗体"
                  在被调用的窗体里使用gstrPara即可获取传递过来的参数 
          3。使用tag标记
                  将要传递的参数放置在调用窗体的tag标记里
                  在被调用的窗体里通过调用 forms("调用的窗体").tag 来获取参数值 
          4。使用模块变量
                  在调用窗体设置一个公共的模块变量 mstrPara
                  将要传递的参数放置在调用窗体的mstrPara变量里
                  在被调用的窗体里通过调用 forms("调用的窗体").mstrPara 来获取参数值 
         5。直接获取
                  如果参数来自调用窗体的控件,也可直接调用
                  在被调用的窗体里直接引用调用窗体的控件的值 如:forms("调用的窗体").控件名.value 
         6。多个参数传递
                  如果需要传递多个参数,可将参数合并到一个变量里传送(使用指定符号隔开),然后在被调用窗体再拆分这些变量,以达到多个参数传递的效果。

       不过,因为一般传递两个参数的时候,多数一个是变量,一个是窗体本身,  所以我常用的方法也是比较实用的方法是:
                  在调用窗体使用如下语句:
                  docmd.openform "被调用的窗体", , , , , , "参数值"
                  而在被调用的窗体里设置一个模块变量 mfrmSrc
                  在被调用的窗体的open或load事件中设置
                  set mfrmSrc= screen.activeform
                  这时mfrmSrc就指向原来的调用窗体(因为在窗体未完全加载好前,屏幕上激活的窗体是原来的窗体) , 使用mfrmSrc你可以获取调用窗体上所有控件及相关的值,并且不需要事先知道原来窗体的名称,具有比较强的通用性。 
        应该还有更多更好的参数传递方法,不一一举例,也希望大家共同讨论这个话题,相关回复请发表评论。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值