MS Access VBA,仅在所有必需的文本框包含有效数据后才启用按钮的有效方法

时间:2019-02-26 18:23:56

标签: ms-access access-vba ms-access-2016

我的代码正在运行,但是我只想知道是否有更有效的方法来达到相同的效果。

我的表单布局如下:

Form Layout

为了使记录创建过程万无一失,我希望仅在“注释”文本框/组合框包含一些有效数据之后才启用“保存和清除字段”按钮。

文本/组合框称为txtBatteryID,cmbModelNumber,cmbChemistryType,txtSpecVoltage,txtSpecCapacity。

我的代码如下

Private Sub EnableSaveBtnCheck()
'this checks if the required fields contains valid data, if so, enables the save button.
    If Me.btnSaveAndCLear.Enabled = False Then
        If IsNull(txtBatteryID) = False And IsNull(cmbModelNumber) = False And IsNull(cmbChemistryType) = False And IsNull(txtSpecVoltage) = False And IsNull(txtSpecCapacity) = False Then
            Me.btnSaveAndCLear.Enabled = True
        End If
    End If
End Sub

如您所见,我做了最简单的方法,使用AND组合IF语句中的所有必备条件。在每个文本/组合框的After_Update()事件中调用此子项。像这样:

Private Sub cmbChemistryType_AfterUpdate()
    Call EnableSaveBtnCheck
End Sub

最后,我的问题是:是否有一种更有效的方法来设置条件“所有文本/组合框都需要包含有效的内容”?还有没有更复杂的方法来检查条件是否得到满足(类似于表单本身上的事件)?

1 个答案:

答案 0 :(得分:0)

添加这5个字段的值。如果其中任何一个为Null,则总和为Null。因此,您只需拨打一次IsNull()

If IsNull(txtBatteryID + cmbModelNumber + cmbChemistryType + txtSpecVoltage + txtSpecCapacity) = False Then