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


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

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

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 23:37:00 [显示全部帖子]

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:冲压车间工资表.zip


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 9:15:00 [显示全部帖子]

 我测试,没,问,题。请认真测试。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 10:23:00 [显示全部帖子]

 我测试,没你说的问题,请在原例子那里测试。

 

 你的那些都是基础问题,请自己好好看一遍帮助文档,回头处理。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/26 10:42:00 [显示全部帖子]

改成这样

 

Dim tbl As Table = Tables("窗口5_Table1")
If tbl.Current.IsNull("本次录入数") = False Then
   
    Dim tb2 As Table = Tables("冲压车间工资表")
    Dim sum1 As Double = DataTables("生产计划表").Compute("Sum(数量)","订单号='" & tbl.current("订单号") & "' And 产品名称= '" & tbl.current("产品名称") & "'")
    Dim sum As Double = tb2.DataTable.Compute("Sum(数量)","订单号='" &  tbl.current("订单号") & "' And 产品名称='" & tbl.current("产品名称") & "' and 生产工序='" & tbl.current("生产工序") & "' and [_Identify] <> " & tb2.current("_Identify"))
    If sum + tbl.current("本次录入数")> sum1 Then
        msgbox("超出")
        e.Form.DropDownBox.Value = Nothing
    Else
        e.Form.DropDownBox.Value = tbl.Current("订单号")
        Tables("冲压车间工资表").Current("订单号") = tbl.Current("订单号")
        Tables("冲压车间工资表").Current("数量")  = tbl.Current("本次录入数")
    End If
   
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 14:32:00 [显示全部帖子]

 不要用 AutoSizeRows,那个是调整全部行的。
 
http://www.foxtable.com/webhelp/scr/1564.htm


 
 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 9:37:00 [显示全部帖子]

 你至少要说一下, 在哪个地方,怎么测试,怎么不行。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 10:08:00 [显示全部帖子]

1、你半成品表没有工序列,只是按照 订单号、产品名称 统计;

 

2、统计代码没问题,请核对 产品名称和订单号 比较


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 10:57:00 [显示全部帖子]

看106楼,代码没问题啊,查询出来的数据没有问题。

 

你输入 本次录入数 以后,才能带回来数据


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 11:14:00 [显示全部帖子]

 你数据有问题。生产进度对比表 所有数据,都是从 生产计划表 里面取数据的,如果你生产计划表里面没有,自然不会统计你半成品表的数据。

 

 或者你修改代码

 

Dim t As Table = e.Form.DropTable
Dim Filter As String = "1=1"
Dim Filter2 As String = "1=1"
If t.Current.IsNull("产品名称") = False Then
    filter &= " and [产品名称] = '" & t.Current("产品名称") & "'"
    filter2 &= " and [产品名称] = '" & t.Current("产品名称") & "'"
End If
If t.Current.IsNull("生产工序") = False Then
    filter &= " And 生产工序='" & t.current("生产工序") & "'"
End If
If t.Current.IsNull("订单号") = False Then
    filter &= " And 订单号='" & t.current("订单号") & "'"
    filter2 &= " And 订单号='" & t.current("订单号") & "'"
End If

DataTables("生产进度对比表").StopRedraw
DataTables("生产进度对比表").DataRows.Clear
Dim Arys As List(Of String())
Arys = DataTables("冲压车间工资表").GetValues("产品名称|生产工序|订单号", filter)
For Each Ary As String() In Arys
    Dim dr As DataRow = DataTables("生产进度对比表").AddNew()
    dr("产品名称") = Ary(0)
    dr("生产工序") = Ary(1)
    dr("订单号") = Ary(2)
Next
For Each ary As String() In DataTables("生产计划表").GetValues("产品名称|订单号", filter2)
    Dim fdr As DataRow = DataTables("生产进度对比表").Find("[产品名称] = '" & Ary(0) & "' and 订单号='" & Ary(1) & "'")
    If fdr Is Nothing Then
        Dim dr As DataRow = DataTables("生产进度对比表").AddNew()
        dr("产品名称") = Ary(0)
        dr("订单号") = Ary(1)
    End If
Next
For Each ary As String() In DataTables("半成品完工进仓表").GetValues("产品名称|订单号", filter2)
    Dim fdr As DataRow = DataTables("生产进度对比表").Find("[产品名称] = '" & Ary(0) & "' and 订单号='" & Ary(1) & "'")
    If fdr Is Nothing Then
        Dim dr As DataRow = DataTables("生产进度对比表").AddNew()
        dr("产品名称") = Ary(0)
        dr("订单号") = Ary(1)
    End If
Next
For Each dr As DataRow In DataTables("生产进度对比表").DataRows
    dr("实际生产数") = DataTables("冲压车间工资表").Compute("sum(数量)","[产品名称] = '" & dr("产品名称") & "' and 生产工序='" & dr("生产工序") & "' and 订单号='" & dr("订单号") & "'")
    dr("半成品进仓数") = DataTables("半成品完工进仓表").Compute("sum(数量)","[产品名称] = '" & dr("产品名称") & "' and 订单号='" & dr("订单号") & "'")
    dr("生产计划数") = DataTables("生产计划表").Compute("sum(数量)","[产品名称] = '" & dr("产品名称") & "' and 订单号='" & dr("订单号") & "'")
Next

DataTables("生产进度对比表").ResumeRedraw

e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框

 

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/11 14:17:00 [显示全部帖子]

请认认真真看完112楼代码。

 

代码没问题,如果没有数据,就是因为没有匹配的数据。


 回到顶部
总数 29 上一页 1 2 3 下一页