将变量从一种形式传递到另一种形式

问题描述 投票:0回答:1

我试图通过单击按钮将组合框中的名称从一种表单传递到另一种表单,但我似乎无法让它工作。我不习惯使用 MS Access,我确信这是一个简单的答案。这是我到目前为止所拥有的:

表格A:

Private Sub Command104_Click()
On Error GoTo Err_Command104_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Vol_Hrs"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Forms.Vol_Hours.Search.Value = Me.Combo94.Column(0)

Exit_Command104_Click:
    Exit Sub

Err_Command104_Click:
    MsgBox Err.Description
    Resume Exit_Command104_Click

End Sub

B 表格:

Private Sub cmdAddNew_Click()
On Error GoTo Err_cmdAddNew_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    DoCmd.Close

    stDocName = "frmLookupScreen"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Forms.frmLookupScreen.Combo94.Value = Me.Search.Column(0)

Exit_cmdAddNew_Click:
    Exit Sub

Err_cmdAddNew_Click:
    MsgBox Err.Description
    Resume Exit_cmdAddNew_Click

End Sub
variables ms-access
1个回答
0
投票

引用对象(即文本框)时使用此。

Forms!FormName!ObjectName.ObjectProperty = "Testing"

访问方法时使用它。

Forms!FormName.Form.Method.

话虽如此。当我使用表单之间的信息来提取调用表单名称时,我发现它要容易得多。然后我就可以访问呼叫表单上的几乎所有信息。如果需要更新组合框或列表框、更改文本、重新查询等,我还可以将数据推送回调用表单。

Private Sub Form_Load()

    Set frmPrevious = Screen.ActiveForm

    Me.tbText.value = frmPrevious.cbPassTest.value

End Sub

将该代码放入您正在调用的表单的 LOAD() 中,然后您就可以取出您需要的内容。

© www.soinside.com 2019 - 2024. All rights reserved.