2

我正在尝试通过单击按钮将 ComboBox 中的名称从一种形式传递到另一种形式,但我似乎无法使其正常工作。我不习惯使用 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
4

1 回答 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() 中,然后您就可以提取您需要的内容。

于 2013-02-11T15:40:47.367 回答