Foxtable(狐表)用户栏目专家坐堂 → 排产求助


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

主题:排产求助

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/10 18:00:00 [显示全部帖子]

 请举例说明吧,你写的东西太空泛,别人不知道你要做什么。

 

 以后提问这样写:哪个窗口,哪个控件,做了什么操作(比如填入某个值),对应的其它控件就、其它表格要生成什么样的数据。

 

 你这样写别人才能理解你的逻辑。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/12 20:10:00 [显示全部帖子]

1、你日期按钮的valuechanged事件去掉

 

Dim r As Row = Tables("生产在制品").Current
r("计划开始日期") = Date.Today()

 

2、你25楼什么意思?具体的实例发上来,说明操作步骤和你需要达到的效果。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 9:39:00 [显示全部帖子]

改成

 

nr2("预计结束日期") = d.AddMinutes(nr2("循环时间")*jhsl)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 10:22:00 [显示全部帖子]

以下是引用nuoyan88在2017/11/13 10:17:00的发言:
谢谢您,老师!电子表格函数怎么操作没有问题,涉及代码真是不懂,帮助文件看了好几遍,也只能依葫芦画瓢,复杂点的就不知道怎么弄了?平日给老师带来的打扰还请谅解,非常谢谢!

 

把视频教程看一遍就好了 https://pan.baidu.com/s/1bpkXfND#list/path=%2F

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 15:35:00 [显示全部帖子]

1、具体例子发上来。

 

2、具体说明一个例子,在你发上来的项目里,举例说明执行代码后,最终的结果是什么。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 20:05:00 [显示全部帖子]

If e.Sender.Checked Then
    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 = t.DataTable.Find("使用设备 = '" & pr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
        If fdr IsNot Nothing Then d = fdr("预计结束日期")
        nr("开始日期") = d
        nr("预计结束日期") = d.AddMinutes(nr("循环时间")*jhsl)
       
        Dim pr2 As Row
        Dim nr2 As Row
        For i As Integer = 1 To Tables("产品工艺路线").Rows.Count - 1
            pr2 = Tables("产品工艺路线").Rows(i)
            If pr2("加工工序") = pr("加工工序") AndAlso pr2("设备类型") = "B"
                pr = pr2
                Continue For
            End If
            nr2 = t.AddNew
            nr2("线别") = dr("线别")
            nr2("使用设备") = pr2("使用设备")
            nr2("成品编码") = pr2("成品编码")
            nr2("设备类型") = pr2("设备类型")
            nr2("成品描述") = pr2("成品描述")
            nr2("加工工序") = pr2("加工工序")
            nr2("加工内容") = pr2("加工内容")
            nr2("设备名称") = pr2("设备名称")
            nr2("循环时间") = pr2("循环时间")
            nr2("加工顺序") = pr2("加工顺序")
            nr2("计划数量") = jhsl
            If pr2("使用设备") = pr("使用设备") Then
                d  = nr("预计结束日期")
            Else
                fdr = t.DataTable.Find("使用设备 = '" & pr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
               
                If fdr IsNot Nothing Then
                    d = fdr("预计结束日期")
                Else
                    d  = nr("开始日期")
                    d = d.AddDays(1)
                End If
            End If
            nr2("开始日期") = d
            nr2("预计结束日期") = d.AddMinutes(nr2("循环时间")*jhsl)
            nr = nr2
            pr = pr2
        Next
    Next
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 23:06:00 [显示全部帖子]

If e.Sender.Checked Then
    Dim dt 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 = t.DataTable.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
                    Dim sp As TimeSpan = d2-d1
                    nr("预计结束日期") = d4.AddMinutes(sp.TotalMinutes)
                ElseIf d4 >= d1 Then
                    Dim sp As TimeSpan = d4-d1
                    nr("预计结束日期") = d2.AddMinutes(sp.TotalMinutes)
                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)
            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 = t.DataTable.Find("使用设备 = '" & pr("使用设备") & "' and 预计结束日期 is not null", "预计结束日期 desc")
           
            If fdr IsNot Nothing Then
                d = fdr("预计结束日期")
            Else
                d = tnr("预计结束日期")
            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("预计结束日期")
                If d3 <= d1
                    If d4 >= d2 Then
                        Dim sp As TimeSpan = d2-d1
                        nr("预计结束日期") = d4.AddMinutes(sp.TotalMinutes)
                    ElseIf d4 >= d1 Then
                        Dim sp As TimeSpan = d4-d1
                        nr("预计结束日期") = d2.AddMinutes(sp.TotalMinutes)
                    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
            tnr = nr
        Next
    Next
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/14 12:57:00 [显示全部帖子]

1、你生产排产表的数据没有保存下来?

 

2、你应该做一个临时生产排产表,得到数据后,填充到总的生成排产表去。

 

3、不会变动,如果需要变动,那你就必须重新生成重新计算。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/14 15:01:00 [显示全部帖子]

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/14 17:06:00 [显示全部帖子]

 ZK-A-01开始日期不是你说的那些。在维修之前,有一些可以生产完成的啊,设备维修期间没有生产东西啊。

 

 比如,开始日期分别是  2017-11-20、2017-11-23,那为什么要等到维修后啊。

 

 根据具体42楼实例,说明哪里开始错,正确的是什么值。

 

 


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