2012-12-26 56 views
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 
+0

Froms是你实际代码中的拼写错误吗?如果是这样,它应该是'Forms'(围绕'o'和'r'切换)。 – mellamokb

+0

对不起,这是一个错字 – user1902540

+0

是我得到的错误如下\t A到B \t对象该属性或方法不支持 \t \t B到A \t表达您输入referes一个对象,它是封闭的犯规存在 – user1902540

回答

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()中,然后您可以将所需的窗体拉出来。

相关问题