设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

1970-1-1 08:00| 发布者: tmtony『文章』| 查看: 7684| 评论: 0

在实际开发应用中,常常需要在窗体间传递参数。常用的几种参数传递方法有如下几种:

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你可以获取调用窗体上所有控件及相关的值,并且不需要事先知道原来窗体的名称,具有比较强的通用性。

应该还有更多更好的参数传递方法,不一一举例,也希望大家共同讨论这个话题,相关回复请发表评论。

 

  

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-6 20:30 , Processed in 0.100241 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部