标题: 在窗体间传递参数的几种常用办法
问天
元帅
Rank: 1


元帅勋章 终身成就勋章
UID 11493
精华 187
积分 34199
帖子 33353
威望 91
金币 13148
热心 2617
阅读权限 100
注册 2006-4-7
状态 离线
在窗体间传递参数的几种常用办法

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

   
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你可以获取调用窗体上所有控件及相关的值,并且不需要事先知道原来窗体的名称,具有比较强的通用性。     
应该还有更多更好的参数传递方法,不一一举例,也希望大家共同讨论这个话题,相关回复请发表评论。  

网友 问天 签名 - 网友社区 请您回个帖。谢谢
PR查询 免费域名 免费空间
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-7 12:48
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP