以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用FIND写入不了表达式列的内容 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170519) |
||||
-- 作者:ganlan -- 发布时间:2021/7/29 11:46:00 -- 用FIND写入不了表达式列的内容 事件代码 If e.DataCol.Name = "主订单号" Then If e.NewValue Is Nothing Then e.DataRow("重出") = Nothing Else Dim cc As DataRow cc = DataTables("订单").Find("[主订单号] = \'" & e.NewValue & "\'") If cc IsNot Nothing Then e.DataRow("重出") = cc("重出票") Else e.DataRow("重出") = "无记录" End If End If End If 如果订单表中重出票列是通过表达式达到的结果,这里的结果是空白的,请问有办法解决这个问题吗
|
||||
-- 作者:有点蓝 -- 发布时间:2021/7/29 11:58:00 -- 这个列的表达式发上来看看 |
||||
-- 作者:ganlan -- 发布时间:2021/7/29 21:38:00 -- IIF([主次] = \'次\', Null ,IIF(IIF([订单状态] = \'已取消\', 0 ,IIF([折算数] is Null ,0,[折算数])) - IIF([直出数] is Null ,0,[直出数]) -IIF([分出数] is Null ,0,[分出数]) >= 0, Null ,\'重\' )) 判断有没有重复发货
[此贴子已经被作者于2021/7/29 21:42:25编辑过]
|
||||
-- 作者:ganlan -- 发布时间:2021/7/29 21:38:00 -- 如果有重复发货,填重字 |
||||
-- 作者:有点蓝 -- 发布时间:2021/7/29 21:56:00 -- 把表达式改为使用代码计算 Dim cc As DataRow cc = DataTables("订单").Find("[主订单号] = \'" & e.NewValue & "\'") If cc IsNot Nothing Then If cc("主次") = "次" e.DataRow("重出") = Nothing Else Dim s As Double If cc("订单状态") = "已取消" OrElse cc.isnull("折算数") s = 0 Else s = cc("折算数") End If If cc.isnull("直出数") = False s = s - cc("直出数") End If If cc.isnull("分出数") = False s = s - cc("分出数") End If If s >= 0 e.DataRow("重出") = Nothing Else e.DataRow("重出") = "重" End If Else e.DataRow("重出") = "无记录" End If …… |
||||
-- 作者:ganlan -- 发布时间:2021/7/30 9:13:00 -- 重置主订单号的时候提示这个 此主题相关图片如下:360截图20210730091336164.jpg |
||||
-- 作者:有点蓝 -- 发布时间:2021/7/30 9:46:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错 |
||||
-- 作者:ganlan -- 发布时间:2021/7/30 9:52:00 -- 我是想这样的,因为我们的订单,是主订单和出货单是同一个表的, 用表达式判断是否重出单,只能判断主订单,出货单是不会有重出的。 这样我搜索重字时候,只会出现主订单,这样不方便我查看原因,我想搜索把重根据主订单来标志,这样如果重出单的订单,主订单和次订单都可以搜索出来
[此贴子已经被作者于2021/7/30 10:05:01编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/7/30 10:00:00 -- 请上传实例说明 |
||||
-- 作者:ganlan -- 发布时间:2021/7/30 10:19:00 --
|