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

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

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

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

时间: 2024-09-10 17:06:09

在窗体间传递参数的几种常用办法的相关文章

页面之间传递参数的几种方法

Asp.net页面之间传递参数的几种方法 第一种方法:通过URL链接地址传递     send.aspx:      protected void Button1_Click(object sender, EventArgs e)     {              Request.Redirect("Default2.aspx?username=honge");    }    receive.aspx:    string username = Request.QueryStri

javascript向jsp传递参数的一种手段:使用xmlhttp对象

javascript|js|xml|对象 xmlhttp对象可以用来在不刷新页面的情况下传递参数,可作为一种javascript向jsp传递参数的一种方法. 下面就是一个javascript向jsp传递参数的例子: xmlhttp.jsp <%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*" import="jav

ASP.NET页面之间传递参数的几种方法

  Asp.net页面之间传递参数的几种方法 第一种方法:通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: string username = Request.QueryString["username"]; 这样可以得到参

Shell脚本传递参数的3种方法比较

  这篇文章主要介绍了Shell脚本传递参数的3种方法比较,本文直接给出代码示例,在代码中包含详细注解,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

在不同窗体间传递数据

问题描述 想在不同窗体间传递数据,已经试过构造函数了,还想试一下用属性传递,但是我在第一个窗体中查看该属性的值是有变化的,但在第二个窗体中,却无法得到该值,该属性值为空,请问为什么? 解决方案 解决方案二:那你在第一个窗体调用第二个窗体的时候中有没有把属性值传给第二个窗体呢?解决方案三:引用1楼jsnjlhb的回复: 那你在第一个窗体调用第二个窗体的时候中有没有把属性值传给第二个窗体呢? 构造方法?重载构造方法是可以的我是说,单独建立一个类用于接收和传递属性值,在第二个窗体中初始化第一个窗体对象

不同窗体间传递数据集问题

问题描述 我有两个窗体,其中form1中有DataGrid控件,我向让form2中输入信息后点击查询按钮之后,我想让form1中的DataGrid控件立即显示出查询结果来.代码怎么写.我发现传值是个问题!解决一下 解决方案 解决方案二:form1.cs点击{Formform2=newForm2(this);form2.showd...();}publicvoid过滤(参数){}form2.csForm1parentForm;publicForm2(Form1frm){parentForm=frm

一起谈.NET技术,在ASP.NET网页间传递数据的五种方法

重点总结 目前为止在ASP.NET网页中传递数据的方式至少有5种: 1.通过查询字符串传递数据. 2.通过HTTP POST传递数据. 3.通过会话状态传递数据. 4.通过源页的公共属性传递数据. 5.通过源页中的控件值传递数据. 到底使用哪种方式来进行数据的传递,这可能受到两方面的影响: 1.页面重定向的方式. 2.源页和目标页是否位于相同的ASP.NET应用程序中. 如果源页和目标页位于不同的ASP.NET应用程序中则只能通过查询字符串和HTTP POST传递数据. 而如果源页和目标页位于相

在ASP.NET网页间传递数据的五种方法

重点总结 目前为止在ASP.NET网页中传递数据的方式至少有5种: 1.通过查询字符串传递数据. 2.通过HTTP POST传递数据. 3.通过会话状态传递数据. 4.通过源页的公共属性传递数据. 5.通过源页中的控件值传递数据. 到底使用哪种方式来进行数据的传递,这可能受到两方面的影响: 1.页面重定向的方式. 2.源页和目标页是否位于相同的ASP.NET应用程序中. 如果源页和目标页位于不同的ASP.NET应用程序中则只能通过查询字符串和HTTP POST传递数据. 而如果源页和目标页位于相

Android开发之Fragment传递参数的几种方法

Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持.Fragment的推出让我们编写和管理用户界面更快捷更方便了. 但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bundle)这种方式来传递参数,而不推荐通过构造方法直接来传递参数呢?为了弄清这个问题,我们可以做一个测试,分别测试下这两种方式的不同 首先,我们来测试下通过构造方法传递参数的情况 public class FramentT