在 Access 中将值从一种形式传递到另一种形式

Passing values from one form to another in Access

我有一个带有组合框的弹出窗体,可让您 select 来自我的一个表的主键的值。

在我 select 一个值之后,我希望关闭弹出窗体并打开另一个窗体,我 select 在第一个窗体中输入的观察填充第二个窗体。

除了关闭第一个弹出窗体之外,这段代码完成了我想要的一切:

Private sub ID_AfterUpdate()
Dim id as String
id=Me.ComboBox
DoCmd.OpenForm "Part II",,,,,,id
end sub

除了不关闭弹出窗体之外,此代码可以满足我的要求,所以我尝试了:

Private sub ID_AfterUpdate()
Dim id as String
id=Me.ComboBox
DoCmd.Close
DoCmd.OpenForm "Part II",,,,,,id
end sub

但是现在完全不行了。我只是得到 "Object doesn't support this property or method"。 我也试过:

Private sub ID_AfterUpdate()
Dim id as String
id=Me.ComboBox
DoCmd.OpenForm "Part II",,,,,,id
DoCmd.Close    
end sub

但这根本不起作用,不会打开第二个窗体或关闭第一个窗体。

OpenForm 之后,执行 DoCmd.Close acForm, Me.Name 关闭当前表单 --- 其代码模块包含您的 ID_AfterUpdate 过程的表单。

Private Sub ID_AfterUpdate()
    Dim id As String
    id = Me.ComboBox
    DoCmd.OpenForm "Part II", , , , , , id
    DoCmd.Close acForm, Me.Name
End Sub