Foxtable(狐表)用户栏目专家坐堂 → 控制生产累计数不允许大于计划生产数


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

主题:控制生产累计数不允许大于计划生产数

美女呀,离线,留言给我吧!
意悠心轻
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
控制生产累计数不允许大于计划生产数  发帖心情 Post By:2016/11/21 21:42:00 [只看该作者]

密码:111222333

    当生产计划表的订单号、型号相同时不允许重复输入,我看使用说明和视频教程,安使用说明的程序做,依然能重复输入。另想控制冲压车间工资表的同一产品名称、生产工序、订单号对应的数量累计不允许超过生产计划表同一产品名称、订单号对应的数量,如果大于生产计划数则不允许输入,请教如何做?


[此贴子已经被作者于2016/11/27 22:22:16编辑过]

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


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

生产计划表,DataColChanging事件

Select Case e.DataCol.name
    Case "订单号"
        Dim dr As DataRow = e.DataRow
        If e.NewValue > "" AndAlso dr.IsNull("型号") = False Then
            If e.DataTable.Find("订单号 = '" & e.NewValue & "' And 型号 = '" & dr("型号") & "'") IsNot Nothing Then
                MessageBox.Show("已经存在相同产品名称和订单号的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel = True
            End If
        End If
    Case "型号"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("订单号") = False AndAlso e.NewValue > "" Then
            If e.DataTable.Find("订单号 = '" & dr("订单号") & "' And 型号 = '" & e.NewValue & "'") IsNot Nothing  Then
                MessageBox.Show("已经存在相同产品名称和订单号的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Cancel = True
            End If
        End If
End Select

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


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

由于生产计划表没有生产工序,所以无法获取同一产品名称、生产工序、订单号对应的计划数量,大致代码可以参考:

冲压车间工资表,DataColChanging事件
Select Case e.DataCol.name
    Case "数量"
        If e.NewValue > 0 Then
            Dim dr As DataRow = DataTables("生产计划").Find("订单号='" & e.DataRow("订单号") & "' And 型号= '" & e.DataRow("产品名称") & "'")
            If dr IsNot Nothing Then
                Dim sum As Double = e.DataTable.Compute("Sum(数量)","[_Identify] <> " & e.DataRow("_Identify"))
                If sum + e.NewValue > dr("数量") Then
                    msgbox("数量超出!")
                    e.Cancel = True
                End If
            End If
        End If
End Select

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/11/21 22:54:00 [只看该作者]

我在窗口管理中设计了一个安订单号统计实际生产窗口,原意点冲压车间工资表数量单元格,弹出在这个窗口,窗口里把与冲压车间工资表数量行对应的产品名称、生产工序、订单号、生产计划数、累计已完成生产数,未完工数(生产计划数-累计已完工数)显示出来,本次录入数分列显示出来,这样就可以看着数据录入,并且知道这张单完工未,还有多少未完工,累计已完成生产数+本次录入数>生产计划数不允许录入,这效果如何做?我看过SELECT语句及一些基本格式,都不相乎,自己动手做过一下,由于在窗口的table控件属性select语句里没有注标功能,没法保存我编的语句,弄一下就放下了。 默认生产计划数每个生产工序的数量相等。
[此贴子已经被作者于2016/11/21 23:01:34编辑过]

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/11/21 23:06:00 [只看该作者]

把冲压车间工资表的订单数量列名改为生产计划数。

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


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

没看懂你的数据流转模式,多表组合统计可以参考:


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/11/21 23:17:00 [只看该作者]

本次录入数是要带入冲压车间工资表中的单元格的,累计已完成生产数+本次录入数>生产计划数不允许录入
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161121231503.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/11/21 23:19:00 [只看该作者]

本次录入数要手工输入去。

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


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

按6楼的方式,用分组统计

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/11/21 23:29:00 [只看该作者]

你那个是统计表,不能输入数据啊。


 回到顶部
总数 137 1 2 3 4 5 6 7 8 9 10 下一页 ..14