会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 模块函数VBA > 正文

Access窗体间变量的传值方法汇总

时间:2013-09-04 15:43 来源:Office中国 作者:tmtony 阅读:
很多朋友都不知道怎么传递Access窗体之间的参数,下面用6种方法说明一下:

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

(责任编辑:admin)

顶一下
(2)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: