Vba 表A未更新表B中的值

Vba 表A未更新表B中的值,vba,ms-access,Vba,Ms Access,我有两张表格。让我们称之为FormA和FormB。当按下FormA中的按钮时,我从FormA打开FormA。然后我调用FormB中的一个函数,该函数应该更新文本字段。当我这样做时,没有一个文本框被值填充,即使值被分配给它们(我可以在调试模式下看到) 但是,当我将相同的代码放入表单加载事件处理程序时,它可以正常工作。有什么想法吗 这是FormAs代码: Private Sub btnNew_Click() [Form_Client Info].Modal = False Call DoCmd.Op

我有两张表格。让我们称之为FormA和FormB。当按下FormA中的按钮时,我从FormA打开FormA。然后我调用FormB中的一个函数,该函数应该更新文本字段。当我这样做时,没有一个文本框被值填充,即使值被分配给它们(我可以在调试模式下看到)

但是,当我将相同的代码放入表单加载事件处理程序时,它可以正常工作。有什么想法吗

这是FormAs代码:

Private Sub btnNew_Click()
[Form_Client Info].Modal = False
Call DoCmd.OpenForm("Client Info")
Call [Form_Client Info].SetValues(lstClients.Column(0, intIndex))
End Sub
这是FormBs:

Public Sub SetValues(ByVal intID As Long)
Dim arrFields(0 To 8) As Variant
Dim arrValues(0 To 8) As Variant

For i = 1 To 9
    arrFields(i - 1) = General.GetField(i, "Clients")
Next i
Call General.GetRecord2(arrFields, arrValues, "Clients")

txtPOBOX.Value = 3434 'arrValues(0)
txtFirstName.Value = arrValues(1)
txtLastName.Value = arrValues(2)
txtPhoneNumber.Value = arrValues(3)
txtStartDate.Value = arrValues(4)
txtEndDate.Value = arrValues(5)
cmbPlan.Value = arrValues(6)
cmbDuration.Value = arrValues(7)
txtPhoneBalance.Value = arrValues(8)

End Sub
正如你所说的:

[Form_Client Info].Modal = False
听起来您的表单被保存为模态

打开时尝试指定非模态状态:

Call DoCmd.OpenForm("Client Info", , , , , acWindowNormal)