表格A未更新表格B中的值

时间:2015-03-08 09:57:29

标签: vba ms-access

我有2个表格。让我们致电FormA和FormB。在FormA中按下按钮时,我从FormA打开formB。然后我在FormB中调用一个应该更新文本字段的函数。当我这样做时,没有任何文本框都填充了值,即使正在为它们分配值(我可以在调试模式下看到这一点)。

但是当我在form_load事件处理程序中放入相同的代码时,它可以正常工作。有什么想法吗?

这是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

1 个答案:

答案 0 :(得分:0)

如你所知:

[Form_Client Info].Modal = False

听起来你的表单被保存为模态。

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

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