【发布时间】:2011-09-15 23:40:41
【问题描述】:
我的程序不会处理超过此语句:
Dim valid as Boolean
If MyComboBox.Value Is Not Null Then valid = true
为什么不呢?
如果我尝试使用停止点单步执行,程序不会继续执行下一步,但表单会继续运行,就好像没有运行任何 vba 代码一样。这很烦人,因为这意味着表单仍然可以使用,就好像没有任何问题但没有发生预期的行为。
【问题讨论】:
-
欢迎来到 StackOverflow。你期望它做什么?
Valid是一个Boolean变量,只有在错误的测试满足一个条件时才设置它,然后在发布的代码中对Valid不执行任何操作。 (更好的测试应该更像If MyComboBox.Text <> "",或者Valid = MyComboBox.Text <> "",然后根据Valid是真还是假来做一些事情。) -
只有当控件具有焦点时,在 Access 中测试
MyComboBox.Text才会起作用。检查控件是否为 Null 是最好的解决方案 (If IsNull(Me!MyComboBox))),假设它绑定到的数据字段不允许零长度字符串(它们应该如此,但不幸的是,这不再是 Access 表设计器中的默认值)。