以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47289)
|
-- 作者:happly145
-- 发布时间:2014/3/7 16:30:00
-- 求助
产品信息表中数据式要计算的此主题相关图片如下:2.jpg 在工时核算表中:
选择人员后,数据直接计算出来。 此主题相关图片如下:1.jpg
问题是:
当选择第二个工序时,第一列工序的值发生了变化,和第二列一样 此主题相关图片如下:5.jpg 一次类推
|
-- 作者:happly145
-- 发布时间:2014/3/7 16:31:00
--
此主题相关图片如下:3.jpg
[此贴子已经被作者于2014-3-7 16:31:16编辑过]
|
-- 作者:Bin
-- 发布时间:2014/3/7 16:34:00
--
全部统一变3了这个意思是吧?
[此贴子已经被作者于2014-3-7 16:34:19编辑过]
|
-- 作者:happly145
-- 发布时间:2014/3/7 18:55:00
--
这也是我想问的?3是数量乘以除油工序后等到的值,应该只附给杨明,李军峰和石耀辉不应该变化呀
|
-- 作者:happly145
-- 发布时间:2014/3/7 18:59:00
--
我的问题是,我要统计每个人的工时(数量乘以工时标准)
[此贴子已经被作者于2014-3-7 19:07:05编辑过]
|
-- 作者:happly145
-- 发布时间:2014/3/7 19:08:00
--
例子
|
-- 作者:有点甜
-- 发布时间:2014/3/7 20:54:00
--
代码改一下
If e.DataCol.Name.StartsWith("工序") Then Dim filter As String = "产品名称 = \'" & e.DataRow("产品名称") & "\'" Dim fdr As DataRow = DataTables("产品信息").Find(filter) If fdr IsNot Nothing Then Dim fdr2 As DataRow = DataTables("工时统计").Find(filter & " and 单号 = \'" & e.DataRow("单号") & "\'") If fdr2 Is Nothing Then fdr2 = DataTables("工时统计").AddNew fdr2("产品名称") = e.DataRow("产品名称") fdr2("日期") = e.DataRow("日期") fdr2("单号") = e.DataRow("单号") fdr2("数量") = e.DataRow("数量") Else For Each dc As DataCol In DataTables("工时统计").DataCols If dc.Name <> "日期" AndAlso dc.name <> "产品名称" AndAlso dc.name <> "单号" AndAlso dc.Name <> "数量" Then fdr2(dc.name) = Nothing End If Next End If For Each dc As DataCol In DataTables("工时统计").DataCols If dc.Name.StartsWith("工序") Then fdr2(dc.Name) = Nothing End If Next For Each dc As DataCol In e.DataTable.DataCols If dc.Name.StartsWith("工序") AndAlso e.DataRow(dc.name) > "" Then Dim names() As String = e.DataRow(dc.name).split(",") For Each name As String In names Dim sum As Double = e.DataTable.Compute("sum(数量)", filter & " and 单号 = \'" & e.DataRow("单号") & "\' and " & dc.Name & " like \'*" & name & "*\'") sum = sum * fdr(dc.Name) If DataTables("工时统计").DataCols.Contains(name) Then fdr2(name) += sum End If Next End If Next Else msgbox("没有找到【产品信息】对应的数据!") End If End If
|