先上代码:
bncSql = "UPDATE mrTool " & _
" SET mrTool.Action = 'Y', mrTool.TQA = FALSE," & _
" mrTool.OPID = 'SYS', mrTool.ReasonCode = 'AOK'," & _
" mrTool.History = 'AOK'" & _
" WHERE (Nz(CCur([Amount]),0) + Nz(CCur([SFS]),0) <= 0" & _
" AND mrTool.Action Is Null);"
DoCmd.RunSQL bncSql
mrTool.Action 被定义为 Text(1) (即单个字符),这是我假设的位置。“Is Null”似乎在其他任何地方都有效 - 当我用“=''”(零长度字符串)替换它时,认为可能是因为它是 Text 而不是 Variant,它完全停止工作。
我应该补充一点,我在其他地方有相同的格式,它似乎工作正常 - 在我使用它之前,它不会在其他 23 个地方给我一个运行时错误。因此,我认为这可能是 SFS 和 Amount 中的错误,因此是 Nz(),但这无济于事 - 仍然出现错误。
我很茫然...