最初のコード:
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)(つまり、単一の文字)として定義されます。これは、私が想定している場所です。「IsNull」は他のすべての場所で機能するようです。「=」(長さゼロの文字列)に置き換えると、バリアントではなくテキストであるためか、完全に機能しなくなります。
他の場所でも同じ形式であり、正常に機能しているようです。これより前に使用した他の23か所でランタイムエラーが発生することはありません。そのため、SFSとAmountのエラー、つまりNz()のエラーだと思いましたが、それでも何の役にも立ちません。それでもエラーが発生します。
私は途方に暮れています...