既然是数字,所以这样的是不行的:
"'" & tables("出货单").current("出货金额") & "' "
你这样就是 '1‘,是字符1,而不是数字1.
Dim r As Row = Tables("出货单").currentDataTables("回款明细").SQLReplaceFor("提成产生", "(IIF(实收金额 IS NULL, 0, 实收金额)+IIF(短缺金额 IS NULL, 0, 短缺金额)) * " & r("提成产生") & " / " & r("出货金额") , "出货单号 = '" & r("出货单号") &"'",True)
好好看看表达式的合成:
http://www.foxtable.com/help/topics/1284.htm
http://www.foxtable.com/help/topics/2919.htm
Messagebox.show("(IIF(实收金额 IS NULL, 0, 实收金额)+IIF(短缺金额 IS NULL, 0, 短缺金额)) * " & r("提成产生") & " / " & r("出货金额") )
看看合成的表达式是什么。
学会调试分析:
http://www.foxtable.com/help/topics/1485.htm