Foxtable(狐表)用户栏目专家坐堂 → 代替人工,点选列项目首项


  共有2841人关注过本帖平板打印复制链接

主题:代替人工,点选列项目首项

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/5 15:55:00 [只看该作者]

做个按钮

 

Dim t As Table = Tables("加工排产")
For Each rr As Row In t.Rows
    For Each cc As Col In t.Cols
        If cc.name Like "*调度设备*" Then
            Dim str As String = ""
            Dim filter As String = "部品ID = '" & rr("部品ID") & "'"
            Dim idx As String = cc.Name.Replace("第", "").Replace("序_调度设备", "")
            Dim fdr As DataRow = DataTables("工程和工时").Find(filter & " and 工序序号 = '" & idx & "'")
            If fdr IsNot Nothing Then
                For Each dc As DataCol In DataTables("工程和工时").DataCols
                    If dc.name.StartsWith("使用机器") AndAlso fdr.IsNull(dc.name) = False Then
                        str &= fdr(dc.name) & "|"
                    End If
                Next
            End If
            cc.ComboList = str
            Dim ary = str.split("|")
            If ary.length > 0 Then
                rr(cc.name) = ary(0)
            End If
        End If
        If cc.name Like "*调度设备*" Then
            Dim str As String = ""
            Dim filter As String = "部品ID = '" & rr("部品ID") & "'"
            Dim idx As String = cc.Name.Replace("第", "").Replace("序_调度设备", "")
            Dim fdr As DataRow = DataTables("工程和工时").Find(filter & " and 工序序号 = '" & idx & "'")
            If fdr IsNot Nothing Then
                For Each dc As DataCol In DataTables("工程和工时").DataCols
                    If dc.name.StartsWith("使用机器") AndAlso fdr.IsNull(dc.name) = False Then
                        Dim flag As Boolean = True
                        For Each c As Col In t.Cols
                            If c.name Like "*调度设备*" Then
                                Dim i As Integer = c.Name.Replace("第", "").Replace("序_调度设备", "")
                                For Each dr As DataRow In t.DataTable.Select(c.name & " = '" & fdr(dc.name) & "'")
                                    If dr("第" & i & "序_开始日") < rr("第" & i & "序_开始日") Then
                                        If dr("第" & i & "序_结束日") >= rr("第" & i & "序_开始日") Then
                                            flag = False
                                        End If
                                    ElseIf dr("第" & i & "序_开始日") >= rr("第" & i & "序_开始日") Then
                                        If dr("第" & i & "序_开始日") <= rr("第" & i & "序_结束日") Then
                                            flag = False
                                        End If
                                    End If
                                Next
                                If flag = False Then Exit For
                            End If
                        Next
                        If flag = True Then
                            str &= fdr(dc.name) & "|"
                        End If
                    End If
                Next
            End If
            cc.ComboList = str
            Dim ary = str.split("|")
            If ary.length > 0 Then
                rr(cc.name) = ary(0)
            End If
        End If
    Next
Next


 回到顶部
总数 20 1 2 下一页