基于两个组合框对比计算字段值的VBA代码问题排查
组合框对比赋值逻辑修正
- 原代码核心问题:第二个不等判断嵌套在第一个相等判断的分支内部,此时两个组合框的值必然相等,导致这个分支永远无法触发,第二部分逻辑完全失效。
- 同时存在语法问题:
[Rate / 1000]写法错误,Access会将其当作字段名解析,正确的运算写法应为[Rate] / 1000。
修正后的代码:
Private Sub Convert_Rate_Unit_AfterUpdate() If [Convert_Rate_Unit] = [Rate_Per_Unit] Then [ConvertRate] = [Rate] Else [ConvertRate] = [Rate] / 1000 End If End Sub
修正后逻辑:当两个组合框值相等时,直接将Rate赋值给ConvertRate;值不等时,将Rate除以1000后赋值,两种场景均能正常触发。
内容的提问来源于stack exchange,提问作者Ruchir Sheth
相关产品推荐
相关产品推荐

