从另一个表单访问VBA 2016打开一个表单以查看特定记录

时间:2019-02-01 19:11:53

标签: ms-access access-vba

我正在尝试在Access 2016中使用VBA从另一个表单打开表单到特定记录的表单。我正在使用DoCmd.openForm进行此操作,但我不知道为什么它不起作用。是因为Access 2016还是我缺少什么?

这是我的示例代码:

Docmd.openForm "Add_contacts",,,"frmEntryContacID=" & Me.contac_ID

如图所示,它将打开Add_Contacts表单,但不显示有关该联系人的任何详细信息。

我要单击contac_ID字段并打开第二个表单,该表单将为我提供有关该联系人的更多详细信息。因此,基本上,代码位于contac_ID的click事件之后。我希望这不会造成问题。

请帮忙。

2 个答案:

答案 0 :(得分:0)

“ frmEntryContactID”是您的字段名称吗? Me.contact_ID也是数字值吗?

答案 1 :(得分:0)

您有两个选择,可以使用Docmd.OpenForm

打开具有特定记录的表单

1。 DoCmd.OpenForm "Add_contacts", , , "Contac_ID=" & Me.Contac_ID,@ Erik已经提到过。
确保将 Add_contacts 表单绑定到Contacs表,并且 Allow Filters 属性设置为“是”。

2。。使用 OpenArgs 属性将参数值传递给新表单。

     DoCmd.OpenForm "Add_contacts", , ,, , , Me.Contac_ID

然后将以下代码添加到Add_Contacts表单中

Private Sub Form_Current()
    If Not IsNull(Me.OpenArgs) Then
         Me.RecordSource = "select * from Contacs Where Contac_ID=" & Me.OpenArgs
    End If
End Sub