我有一个查看Access控件的VBA模块,只选择acTextBox或acCheckBox控件。但是,我在我的If语句中遇到一个逻辑故障,它应该只允许acTextBox = 109和acCheckBox = 106控制,但它现在让标签通过,控制值为100,就像在即时窗口中看到的那样。什么事情发生了?我难倒......如果我删除“或acCheckBox”,它可以工作,但是当我包含它时允许标签通过,即使标签不是复选框。
这是一个问题,因为它稍后会给我一个错误。
干杯
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
答案 0 :(得分:4)
替换你的行
If .ControlType = acTextBox OR acCheckBox Then
用这个
If (.ControlType = acTextBox) OR (.ControlType = acCheckBox) Then