Foxtable(狐表)用户栏目专家坐堂 → 物料需求统计


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

主题:物料需求统计

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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
物料需求统计  发帖心情 Post By:2014/3/9 16:17:00 [显示全部帖子]

开发指南中的“物料需求统计”做了所附示例,想要实现以下目的:

 

1. 生成的统计表中增加库存数量列。

2.生产计划是按周排产,但是算料要看未来3周,即本周是WK11, 要算WK11, WK12, W13计划所需的材料,到下周要算WK12, W13, WK14计划所需的材料。现在的办法是手工汇总,要是用代码能实现就太好了。

 

谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物料需求计划.foxdb


图片点击可在新窗口打开查看此主题相关图片如下:统计.bmp
图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/9 19:26:00 [显示全部帖子]

谢谢啦,但是文件打不开,开发版是2013版的,没敢现在升级。下载了2104试用版,但还是打不开,要输入激活码,到哪弄激活码呀?


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/9 19:50:00 [显示全部帖子]

只能明天再弄了,所有的版本都要激活码,连2103版都打不开来,明天和官方联系。本来想今晚搞出来明天试用的,看来只能休息了。


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/10 21:38:00 [显示全部帖子]

Hi Isy,

 

太强了,正是我想要的。但是密码太深奥了,看不懂。我在尝试修改代码用到我的项目中,我的项目用的是外部数据源(Access),生产计划来自数据源A,零件用量来自数据源B,零件库存连接数据源C. 请问代码需要修改吗?如何该?


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/11 15:36:00 [显示全部帖子]

项目是逐个做的,所以数据源也是分开的,我先做个单个数据源的示例测试一下。


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/13 17:58:00 [显示全部帖子]

以下是引用lsy在2014-3-11 7:50:00的发言:

为什么是多数据源?管理难度会增大。

如果没什么避讳,把项目和数据源传来,测试一下,用什么方法。

凭空猜,没把握。

把项目简化后合并了数据源,附上项目和数据源,将代码套入后不行,一是“基本用量”列为表达式,如何解决?

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

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


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/14 14:51:00 [显示全部帖子]

谢谢, Isy. 要是能把材料库存表中的物料名称带到窗体中生成的表就更好了。


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/14 17:21:00 [显示全部帖子]

材料名称改成物料名称,运行好,再次感谢!


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/16 13:36:00 [显示全部帖子]

Dim dlg As New SaveFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.Ok Then '如  
 Dim ex As New Exporter
    ex.SourceTableName = "材料计划_Table1" 
    ex.filepath = dlg.FileName 
    ex.Export()
End If

 

用以上代码倒出的Excel表,打开后是乱码,什么原因哪?


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2014/3/16 17:55:00 [显示全部帖子]

“材料库存”用数据表时使用如下代码可计算,现将“材料库存”用统计分组的方式生产临时表“统计表1”替代,代码如何该?谢谢!

 

cmd.C
cmd.CommandText = "Select '' As 材料编码,'' As 材料名称,'' As 三周需求M2,''As 四周需求M2,''As 三周后库存M2,''As 四周后库存M2"
e.Form.Controls("Table1").Table.DataSource = cmd.ExecuteReader()
e.Form.Controls("Table1").Table.DataTable.DataRows.Clear()
Dim Int As Integer = DataTables("工作周设置").DataRows(0)("工作周起始")
Dim weeknum As Integer = DatePart("ww" , Date.Today.AddDays(- Int))
cmd.CommandText = "Select * From {DemandTable}"  '这里获取所有数据,根据工作实际,只需提取必要的数据.
Dim dt1 As DataTable = cmd.ExecuteReader()
cmd.CommandText = "Select * From {BOMTable}"
Dim dt2 As DataTable = cmd.ExecuteReader()
cmd.CommandText = "Select * From {材料库存}"
Dim dt3 As DataTable = cmd.ExecuteReader()
Dim cpvals As List(Of String) = dt1.GetValues("StokvisPN","StokvisPN Is Not Null")
Dim ljvals As List(Of String) = dt2.GetValues("材料编码","材料编码 Is Not Null")
For Each ljval As String In ljvals
    Dim nr As Row = e.Form.Controls("Table1").Table.AddNew()
    nr("材料编码") = ljval
    Dim sum As Double = 0
    For Each cpval As String In cpvals
        Dim fdr As DataRow = dt2.Find("StokvisPN = '" & cpval & "' And 材料编码 = '" & ljval & "'")
        If fdr IsNot Nothing Then
            sum + = math.round(((dt1.Compute("Sum(W" & weeknum & ")","StokvisPN = '" & cpval & "'") + _
            dt1.Compute("Sum(W" & weeknum + 1 & ")","StokvisPN = '" & cpval & "'") + _
            dt1.Compute("Sum(W" & weeknum + 2 & ")","StokvisPN = '" & cpval & "'")) * (fdr("标准宽mm")*fdr("标准长M")/1000*(1+fdr("材料损耗率")/100)+fdr("调机损耗M")*fdr("标准宽mm")/1000/125000*1000 )*1.05),1)
        End If
               Next
              Dim sum1 As Double = 0
    For Each cpval As String In cpvals
        Dim fdr1 As DataRow = dt2.Find("StokvisPN = '" & cpval & "' And 材料编码 = '" & ljval & "'")
        If fdr1 IsNot Nothing Then
            sum1 + = math.round(((dt1.Compute("Sum(W" & weeknum & ")","StokvisPN = '" & cpval & "'") + _
            dt1.Compute("Sum(W" & weeknum + 1 & ")","StokvisPN = '" & cpval & "'") + _
                        dt1.Compute("Sum(W" & weeknum + 2 & ")","StokvisPN = '" & cpval & "'") + _
            dt1.Compute("Sum(W" & weeknum + 3 & ")","StokvisPN = '" & cpval & "'")) * (fdr1("标准宽mm")*fdr1("标准长M")/1000*(1+fdr1("材料损耗率")/100)+fdr1("调机损耗M")*fdr1("标准宽mm")/1000/125000*1000 )*1.05),1)
        End If
    Next
                nr("三周需求M2") = sum
        nr("四周需求M2") = sum1
    Dim kcdr As DataRow = dt3.Find("材料编码 = '" & ljval & "'")
    If kcdr IsNot Nothing Then
        nr("三周后库存M2") = math.round((kcdr("库存数量M2") - sum),1)
                 nr("四周后库存M2") = math.round((kcdr("库存数量M2") - sum1),1)
        nr("材料名称") = kcdr("物料名称")
    End If   
Next


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