办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 73|回复: 0

Access窗体间传递参数的6种常用办法

[复制链接]

2

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-13 17:51:47 | 显示全部楼层 |阅读模式
Access在窗体间传递参数的几种常用办法
在Office Access 实际开发应用中,常常需要在窗体间传递参数。把我10多年为企业开发Access管理系统过程中的一些经验总结了一下。
常用的几种参数传递方法有如下几种(摘自Office交流网):
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你可以获取调用窗体上所有控件及相关的值,并且不需要事先知道原来窗体的名称,具有比较强的通用性。

觉得好就帮忙点个赞及关注一下我。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-4-3 05:23 , Processed in 0.082914 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

快速回复 返回顶部 返回列表