在vba访问中更改另一个drodown值后清除下拉值?

时间:2017-09-20 13:13:26

标签: vba ms-access combobox access-vba

我的VBA访问表单中有三个组合框控件(MFG,Code和GrpID)。一旦用户从第一个组合框(MFG)中选择一个选项,其余的组合框就会为我提供可用选项。但我需要做一些验证,即如果用户决定更改第一个组合框的值,该怎么办?应清除rest组合框的值。我需要做的就是一旦第一个组合框被更改,第二个和第三个组合框需要被清除或至少设置为专注于它们,以便用户意识到他们不能使用旧值作为第一个值在第一个组合框中清除。我为第一个组合框添加了一个代码块“AfterUpdate”,如下所示:

Private Sub MFG_AfterUpdate()
   Code.Value = " "
   GrpID.Value = 0    
End Sub

编写上述代码后的问题是:在点击它们(Code和GrpID)之前,它们不会变空。换句话说,每次更改MFG的值时,我都需要单击它们来清空它们。任何人都可以指导我如何清除它们或者至少关注它们?

1 个答案:

答案 0 :(得分:0)

将组合设置为null以擦除其中的任何显示值;

Me.Code = Null
Me.GrpID = Null

这假设您的组合控件被调用与您的字段名称相同。

为了清晰起见编辑:包括我。确保您正在更改表单控件值。如果您的字段名称与控件相同,那么Access将更改基础字段值,并且正如您在表单上发现的那样,在您单击该字段绑定控件之前,这些值不会被反映。