【发布时间】:2021-06-02 10:11:45
【问题描述】:
我正在使用 ms-access,并且我有一个表格,其中列出了子表格中的成分,以及产品中成分的百分比(以小数形式,例如 0.4、0.6,其中 1 表示 100%)。我有一个绑定的文本框,显示“百分比”列的总和 (=Sum[Percentage]),这个文本框的名称是 Sum1。 我想要的是主窗体不允许您继续,直到绑定的文本框等于 1。我发现子窗体事件 onExit(在主窗体中访问)就足够了。例如,当您在主窗体中并单击子窗体时,在该文本框等于 1 的总和之前,您应该无法在子窗体外部单击。 我无法弄清楚它的vba代码。如果我这样写代码:
Option Compare Database
Private Sub I_O_Subform_Exit(Cancel As Integer)
If Sum1 <> 1 Then
Cancel = True
MsgBox "Total Percentage must equal to 1"
End If
End Sub
-然后一旦我进入子表单,我根本无法退出,即使文本框等于 1。 我试过这样做:
Private Sub I_O_Subform_Exit(Cancel As Integer)
If Forms!Outputs.I_O_Subform.Sum1 <> 1 Then
Cancel = True
MsgBox "Total Percentage must equal to 1"
End If
End Sub
但我只是收到错误“438”:对象不支持此主体或方法。 如果我这样做了
Private Sub I_O_Subform_Exit(Cancel As Integer)
If I_O_Subform.Sum1 <> 1 Then
Cancel = True
MsgBox "Total Percentage must equal to 1"
End If
End Sub
那么它也不明白。 谁能帮忙? 谢谢
【问题讨论】: