Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

如何在窗体间传递参数

时 间:2013-06-24 21:00:07
作 者:一杯绿茶   ID:36  城市:遂宁
摘 要:最简单的方法是使用全局变量传递,简单明了,无需复杂代码,但多窗体情况下无法确定回传对象。
正 文:

最简单的方法是使用全局变量传递,简单明了,无需复杂代码,但多窗体情况下无法确定回传对象。

例:有三个窗体

FormA; FormB;FormC,都会调用窗体FormD,

FormD在计算出值后无法确定回传给哪个窗体。无需复杂代码,使用

Docmd.OpenForm 的 OpenArgs参数来传递参数,就可很好的解决。

发送窗体

FormA; FormB; FormC 

Dim sParameter as String 

sParameter = Me.Name & ";" & ActiveControl.Name & ";" 

DoCmd.OpenForm "FormD", acForm, , , , , sParameter 

接收窗体

FormD - 接收

Private Sub Form_Load() 

Dim sParameterA() As String 

sParameterA = Split(Me.OpenArgs, ";") 

ControlName.Value = Forms(sParameterA(0)).Controls(sParameterA(1)).Value 

End Sub 

接收窗体

FormD - 回传

Private Sub Form_Close() 

Dim sParameterA() As String 

sParameterA = Split(Me.OpenArgs, ";") 

Forms(sParameterA(0)).Controls(sParameterA(1)).Value = ControlName.Value

End Sub 

该方法代码简单、回传明确、便于窗体的重复调用。




Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助