2

最初のコード:

    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()のエラーだと思いましたが、それでも何の役にも立ちません。それでもエラーが発生します。

私は途方に暮れています...

4

1 に答える 1

2

多分?

WHERE (CCur(Nz([Amount],0)) + CCur(Nz([SFS],0)) <=  0
于 2012-04-16T16:12:30.943 に答える