Foxtable(狐表)用户栏目专家坐堂 → 以下代码再加上筛选范围


  共有1828人关注过本帖树形打印复制链接

主题:以下代码再加上筛选范围

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


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
以下代码再加上筛选范围  发帖心情 Post By:2017/11/20 20:51:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/20 20:57:00 [只看该作者]

类似这段代码,到“生产排产表”查询,然后同样循环判断

Dim drs = dt.Select("设备编码 = '" & pr("使用设备") & "'") '这里改为从“生产排产表”查询
        For Each dr1 As DataRow In drs
            Dim d1 As Date = dr1("异常日期")
            Dim d2 As Date = dr1("计划结束日期")
            Dim d3 As Date = d
            Dim d4 As Date = nr("预计结束日期")
            If d3 <= d1
                If d4 >= d2 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                ElseIf d4 >= d1 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                End If
            ElseIf d3 <= d2 Then
                If d4 <= d2 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                ElseIf d4 >= d2 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                End If
            End If
        Next

 回到顶部
帅哥哟,离线,有人找我吗?
nuoyan88
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2017/11/20 21:22:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
nuoyan88
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2017/11/20 21:27:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/20 21:58:00 [只看该作者]

测试看效果

 回到顶部
帅哥哟,离线,有人找我吗?
nuoyan88
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2017/11/20 22:32:00 [只看该作者]

用户已被锁定

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
nuoyan88
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2159 积分:14971 威望:0 精华:0 注册:2017/10/12 13:00:00
  发帖心情 Post By:2017/11/21 11:42:00 [只看该作者]

用户已被锁定

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


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

If e.Sender.Checked Then
    Dim dt As DataTable = DataTables("设备维保记录")
    Dim dt2 As DataTable = DataTables("生产排产表")
   
    Dim t1 As Table = e.Form.Controls("生产排产分配表").Table
    Dim filter As String = "成品编码 = '" & e.Form.Controls("成品编码1").text & "'"
    Tables("产品工艺路线").Filter = filter
    Tables("产品工艺路线").Sort = "加工顺序"
    For Each dr As Row In e.Form.Controls("生产在制").Table.Rows
        Dim pr As Row = Tables("产品工艺路线").Rows(0)
        Dim jhsl As Integer = dr("计划数量")
       
        Dim t As Table = e.Form.Controls("生产排产分配表").Table
        Dim nr As Row = t.AddNew
        nr("线别") = e.Form.Controls("线别").text
        nr("使用设备") = pr("使用设备")
        nr("成品编码") = pr("成品编码")
        nr("设备类型") = pr("设备类型")
        nr("成品描述") = pr("成品描述")
        nr("加工工序") = pr("加工工序")
        nr("加工内容") = pr("加工内容")
        nr("设备名称") = pr("设备名称")
        nr("循环时间") = pr("循环时间")
        nr("加工顺序") = pr("加工顺序")
        nr("计划数量") = jhsl
        Dim d As Date = dr("计划开始日期")
        Dim fdr = dt2.Find("使用设备 = '" & pr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
        If fdr IsNot Nothing Then d = fdr("预计结束日期")
        nr("开始日期") = d
        nr("预计结束日期") = d.AddMinutes(nr("循环时间")*jhsl)
        Dim drs = dt.Select("设备编码 = '" & pr("使用设备") & "'")
        For Each dr1 As DataRow In drs
            Dim d1 As Date = dr1("异常日期")
            Dim d2 As Date = dr1("计划结束日期")
            Dim d3 As Date = d
            Dim d4 As Date = nr("预计结束日期")
            If d3 <= d1
                If d4 >= d2 Then
                    nr("预计结束日期") = d1.AddMinutes(-1)
                ElseIf d4 >= d1 Then
                    nr("预计结束日期") = d1.AddMinutes(-1)
                End If
            ElseIf d3 <= d2 Then
                If d4 <= d2 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                ElseIf d4 >= d2 Then
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                End If
            End If
        Next
        Dim tnr = nr
        For i As Integer = 1 To Tables("产品工艺路线").Rows.Count - 1
            pr = Tables("产品工艺路线").Rows(i)
            If tnr("加工工序") = pr("加工工序") AndAlso pr("设备类型") = "B"
                Continue For
            End If
           
            nr = t.AddNew
            nr("线别") = dr("线别")
            nr("使用设备") = pr("使用设备")
            nr("成品编码") = pr("成品编码")
            nr("设备类型") = pr("设备类型")
            nr("成品描述") = pr("成品描述")
            nr("加工工序") = pr("加工工序")
            nr("加工内容") = pr("加工内容")
            nr("设备名称") = pr("设备名称")
            nr("循环时间") = pr("循环时间")
            nr("加工顺序") = pr("加工顺序")
            nr("计划数量") = jhsl
           
            fdr = dt2.Find("使用设备 = '" & nr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
            If fdr IsNot Nothing Then
                Dim fdr2 As DataRow = t.DataTable.Find("使用设备 = '" & nr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
                If fdr2 Is Nothing Then
                    d = fdr("预计结束日期")
                Else
                    d = iif(fdr("预计结束日期")>fdr2("预计结束日期"),fdr("预计结束日期"),fdr2("预计结束日期"))
                   
                End If
            Else
                If tnr("使用设备") = nr("使用设备") Then
                    d = tnr("预计结束日期")
                Else
                    d  = tnr("开始日期")
                    d = d.AddDays(1)
                End If
            End If
           
            nr("开始日期") = d
            nr("预计结束日期") = d.AddMinutes(nr("循环时间")*jhsl)
           
            drs = dt.Select("设备编码 = '" & pr("使用设备") & "'")
            For Each dr1 As DataRow In drs
                Dim d1 As Date = dr1("异常日期")
                Dim d2 As Date = dr1("计划结束日期")
                Dim d3 As Date = d
                Dim d4 As Date = nr("预计结束日期")
                Dim fj As Boolean = False
                If d3 <= d1
                    If d4 >= d2 Then
                        fj = True
                        nr("预计结束日期") = d1.AddMinutes(-1)
                    ElseIf d4 >= d1 Then
                        fj = True
                        nr("预计结束日期") = d1.AddMinutes(-1)
                    End If
                ElseIf d3 <= d2 Then
                    If d4 <= d2 Then
                        nr("开始日期") = d2
                        nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                    ElseIf d4 >= d2 Then
                        nr("开始日期") = d2
                        nr("预计结束日期") = d2.AddMinutes(nr("循环时间")*jhsl)
                    End If
                   
                End If
                If fj  =  True Then
                    nr = t.AddNew
                    nr("线别") = dr("线别")
                    nr("使用设备") = pr("使用设备")
                    nr("成品编码") = pr("成品编码")
                    nr("设备类型") = pr("设备类型")
                    nr("成品描述") = pr("成品描述")
                    nr("加工工序") = pr("加工工序")
                    nr("加工内容") = pr("加工内容")
                    nr("设备名称") = pr("设备名称")
                    nr("循环时间") = pr("循环时间")
                    nr("加工顺序") = pr("加工顺序")
                    nr("计划数量") = jhsl
                    nr("开始日期") = d2
                    nr("预计结束日期") = d2.AddMinutes((d4-d1).TotalMinutes)
                End If
            Next
            tnr = nr
        Next
    Next
End If

 回到顶部