破坏的VBA控制逻辑

时间:2017-08-04 22:19:47

标签: vba logic

我有一个查看Access控件的VBA模块,只选择acTextBox或acCheckBox控件。但是,我在我的If语句中遇到一个逻辑故障,它应该只允许acTextBox = 109和acCheckBox = 106控制,但它现在让标签通过,控制值为100,就像在即时窗口中看到的那样。什么事情发生了?我难倒......如果我删除“或acCheckBox”,它可以工作,但是当我包含它时允许标签通过,即使标签不是复选框。

这是一个问题,因为它稍后会给我一个错误。

干杯

Code

 For Each ctl In frm.Controls   Debug.Print ctl.Name
    With ctl
    Debug.Print ctl.ControlType
    'Avoid labels and other controls with Value property.
    If .ControlType = acTextBox Or acCheckBox Then
      If .Value <> .OldValue Then

1 个答案:

答案 0 :(得分:4)

替换你的行

If .ControlType = acTextBox OR acCheckBox Then

用这个

If (.ControlType = acTextBox) OR (.ControlType = acCheckBox) Then