以文本方式查看主题

-  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
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table