在MS Access中传递表单之间的参数

use*_*263 16 forms parameters ms-access vba

我创建了一个名为login的登录表单,其中用户名被输入到txtEmployee文本框中,我需要在MS Access中以另一种形式在第二页中显示相同的内容.

Hei*_*nzi 27

DoCmd.OpenForm允许您传递任意值作为最后一个参数.可以在新表单中访问此值,如下所示Me.OpenArgs:

' Invoked by some Button on the first form '
Sub GoToSecondPage()
    DoCmd.OpenForm "MySecondPage", acNormal, , , , , txtEmployee.Value
End Sub

' Second form '
Sub Form_Open(Cancel As Integer)
    If Not IsNull(Me.OpenArgs) Then
        lblShowEmployeeName.Value = Me.OpenArgs
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

(代码示例未经测试.)


Lan*_*rts 7

您可以将分隔的字符串作为OpenArgs参数传递:

DoCmd.OpenForm FormName:="miscForm", OpenArgs:=paramstring
Run Code Online (Sandbox Code Playgroud)

这是一个处理以管道分隔的字符串作为参数传递给DoCmd.OpenForm的例程:

Dim Pstring As Variant

If Len(Me.OpenArgs) > 0 Then
   Pstring = Split(Me.OpenArgs, "|")
   var1 = Pstring(0)
   <etc..>
End If
Run Code Online (Sandbox Code Playgroud)