以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  执行下面代码报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174503)

--  作者:lgz518
--  发布时间:2022/1/18 16:16:00
--  执行下面代码报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.10.2
错误所在事件:表,库存表,DataColChanged
详细错误信息:
调用的目标发生了异常。
语法错误:“ZJ”运算符后缺少操作数。

执行下面代码报错,提示上面信息,系统关不掉:
Select Case e.DataCol.Name
    Case  "产品编号"
        Dim Filter As String  = "产品编号 = " & e.DataRow("产品编号")
       
        e.DataRow("入库_数量") = DataTables("入库明细").Compute("Sum(数量)", Filter)
        e.DataRow("入库_金额") = DataTables("入库明细").Compute("Sum(金额)", Filter)
        
        e.DataRow("出库_数量") = DataTables("出库明细").Compute("Sum(数量)", Filter)
        e.DataRow("出库_金额") = DataTables("出库明细").Compute("Sum(金额)", Filter)
        
            
        e.DataRow("库存_数量") = e.DataRow("期初_数量")+ e.DataRow("入库_数量") - e.DataRow("出库_数量")
        e.DataRow("库存_金额") = e.DataRow("期初_金额")+ e.DataRow("入库_金额") - e.DataRow("出库_金额")
               
End Select

--  作者:有点蓝
--  发布时间:2022/1/18 16:30:00
--  
"产品编号"是字符列?
Dim Filter As String  = "产品编号 = \'" & e.DataRow("产品编号") & "\'"

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = \'PD01\'"  \'字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  \'日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  \'数值直接使用


--  作者:lgz518
--  发布时间:2022/1/18 17:06:00
--  
 pr = DataTables("物料明细").Find("[产品编号] = \'" & e.DataRow("产品编号")"\'" )  

上面报错,如何改,谢谢

--  作者:狐狸爸爸
--  发布时间:2022/1/18 17:15:00
--  
 pr = DataTables("物料明细").Find("[产品编号] = \'" & e.DataRow("产品编号") & "\'" )