以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 数据分析并用颜色管理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136805)

--  作者:sanny
--  发布时间:2019/6/21 20:20:00
--  [求助] 数据分析并用颜色管理


[此贴子已经被作者于2019/10/7 12:57:38编辑过]

--  作者:有点蓝
--  发布时间:2019/6/21 22:38:00
--  
参考:http://www.foxtable.com/webhelp/topics/1452.htm

把color列改为整数型,色彩扩展列(http://www.foxtable.com/webhelp/topics/0083.htm
OrderList 表datacolchanged事件

If e.DataCol.Name = "PartNo" Then
    If e.NewValue > "" Then
        Dim dr As DataRow = DataTables("库存表").Find("Part=\'" & e.NewValue & "\' and Qty > 0")
        If dr IsNot Nothing Then
            e.DataRow("Color") = Color.red.ToARGB
            e.DataRow("缺料程度百分比") = "0%"
        Else
            e.DataRow("Color") = Nothing
            e.DataRow("缺料程度百分比") = Nothing
        End If
    End If
End If

--  作者:sanny
--  发布时间:2019/6/22 9:21:00
--  

版主,

 

这个有点不对。这个只是找到成品,如果没有成品,可以根据BOM展开找子物料状态吗?

 

另外想把这个加到窗口的按钮中。


--  作者:有点蓝
--  发布时间:2019/6/22 10:06:00
--  
同样的方法使用Find函数查询即可,用法都差不多的,看懂下面代码自行扩展

DDim r As Row = Tables("OrderList").Current
If r IsNot Nothing AndAlso r.IsNull("PartNo") = False Then
    Dim dr As DataRow = DataTables("库存表").Find("Part=\'" & r("PartNo") & "\' and Qty > 0")
    If dr IsNot Nothing Then
        r("Color") = Color.green.ToARGB
        r("缺料程度百分比") = "0%"
    Else
        Dim str As String = DataTables("BOM").GetComboListString("FNumber=\'" & r("PartNo") & "\'")
        dr As DataRow = DataTables("待检产品").Find("Part in (\'" & str.Replace("|","\',\'") & "\') and Qty > 0")
        If dr IsNot Nothing Then
            r("Color") = Color.blue.ToARGB
            r("缺料程度百分比") = "0%"
        Else
            r("Color") = Color.red.ToARGB
            r("缺料程度百分比") = Nothing
        End If
    End If
End If
[此贴子已经被作者于2019/6/22 10:39:58编辑过]

--  作者:sanny
--  发布时间:2019/6/22 10:25:00
--  
谢谢版主,出现如下错误了。
图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/6/22 10:40:00
--  
Dim r As Row = Tables("OrderList").Current
If r IsNot Nothing AndAlso r.IsNull("PartNo") = False Then
    Dim dr As DataRow = DataTables("库存表").Find("Part=\'" & r("PartNo") & "\' and Qty > 0")
    If dr IsNot Nothing Then
        r("Color") = Color.green.ToARGB
        r("缺料程度百分比") = "0%"
    Else
        Dim str As String = DataTables("BOM").GetComboListString("FNumber=\'" & r("PartNo") & "\'")
        dr As DataRow = DataTables("待检产品").Find("Part in (\'" & str.Replace("|","\',\'") & "\') and Qty > 0")
        If dr IsNot Nothing Then
            r("Color") = Color.blue.ToARGB
            r("缺料程度百分比") = "0%"
        Else
            r("Color") = Color.red.ToARGB
            r("缺料程度百分比") = Nothing
        End If
    End If
End If

--  作者:sanny
--  发布时间:2019/6/22 12:07:00
--  

版主,有不对,请查看。


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/6/22 13:27:00
--  
dr = DataTables("待检产品").Find("Part in (\'" & str.Replace("|","\',\'") & "\') and Qty > 0")
--  作者:sanny
--  发布时间:2019/6/22 13:35:00
--  

 

 

 


--  作者:sanny
--  发布时间:2019/6/22 13:35:00
--  

已经纠正,可以这个结果是不对的

 

Dim r As Row = Tables("OrderList").Current
If r IsNot Nothing AndAlso r.IsNull("PartNo") = False Then
    Dim dr As DataRow = DataTables("库存表").Find("Part=\'" & r("PartNo") & "\' and Qty > 0")
    If dr IsNot Nothing Then
        r("Color") = Color.green.ToARGB
        r("缺料程度百分比") = "0%"
    Else
        Dim str As String = DataTables("BOM").GetComboListString("FNumber=\'" & r("PartNo") & "\'")
        Dim drr As DataRow = DataTables("待检产品").Find("Part in (\'" & str.Replace("|","\',\'") & "\') and Qty > 0")
        If drr IsNot Nothing Then
            r("Color") = Color.blue.ToARGB
            r("缺料程度百分比") = "0%"
        Else
            r("Color") = Color.red.ToARGB
            r("缺料程度百分比") = Nothing
        End If
    End If
End If