【问题标题】:Form A not updating values in Form B表格 A 未更新表格 B 中的值
【发布时间】:2015-03-08 19:36:03
【问题描述】:

我有 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

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    因为你有这行:

    [Form_Client Info].Modal = False
    

    听起来您的表单已保存为模态。

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-09
      • 2011-09-28
      • 2013-10-01
      • 2021-03-16
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 2021-06-06
      相关资源
      最近更新 更多