我有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
答案 0 :(得分:0)
如你所知:
[Form_Client Info].Modal = False
听起来你的表单被保存为模态。
尝试在打开时指定非模态状态:
Call DoCmd.OpenForm("Client Info", , , , , acWindowNormal)