以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]已解决,谢谢!请教高手这个按钮代码哪里错了? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28941)
|
-- 作者:YDS
-- 发布时间:2013/2/23 10:41:00
-- [求助]已解决,谢谢!请教高手这个按钮代码哪里错了?
此主题相关图片如下:130223.jpg
按钮代码如下:
DataTables("生产进度").load() DataTables("生产进度").DataCols("产品编号").RaiseDataColChanged() DataTables("生产进度").DataCols("领取数量").RaiseDataColChanged() Dim dt_jc As DataTable = DataTables("生产进度") Dim dt_tj As DataTable = DataTables("统计表") dt_tj.DataRows.Clear For Each name As String In dt_jc.GetUniqueValues("完成数量 > 0", "员工") Dim dr As DataRow = DataTables("生产进度").Find("员工 = \'" & name & "\'") Dim ndr As DataRow = dt_tj.AddNew ndr("部门") = dr("部门") ndr("员工") = name Dim filter As String = "员工 = \'" & name & "\'" ndr("支数") = dt_jc.Compute("Sum(完成数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("点数") = dt_jc.Compute("Sum(大桨点数)", filter & " And 日期 = #" & Date.Today & "#") ndr("返工") = dt_jc.Compute("Sum(返工数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("废品") = dt_jc.Compute("Sum(废品数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("累计点值") = dt_jc.Compute("Sum(大桨点数)", filter) Next Tables("统计表").Sort = "部门,员工" Tables("统计表").AutoSizeCols() Tables("统计表").Cols("部门").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("员工").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("支数").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("点数").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("返工").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("废品").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("累计点值").TextAlign = TextAlignEnum.Center Tables("统计表").SaveExcel("d:\\JXF\\" & Format(Date.Now, "yyyyMMddHHmmss") & ".xls","统计表") MainTable = Tables("统计表")
[此贴子已经被作者于2013-2-25 15:27:51编辑过]
|
-- 作者:程兴刚
-- 发布时间:2013/2/23 10:48:00
--
逻辑问题,生产进度表被您清空,Find没有找到行,更不存在引用字段的值!
|
-- 作者:YDS
-- 发布时间:2013/2/23 11:00:00
--
生产进度表里面有数据啊,没有清空啊!
|
-- 作者:程兴刚
-- 发布时间:2013/2/23 11:32:00
--
哦,看错变量了,那就判段dr不为空,执行后面的代码!
|
-- 作者:lin_hailun
-- 发布时间:2013/2/23 12:06:00
--
代码看着没什么错吧?
DataTables("生产进度").DataCols("产品编号").RaiseDataColChanged() DataTables("生产进度").DataCols("领取数量").RaiseDataColChanged()
看看是否对应的表属性的事件datacolchanged事件写错了。
-------------------
解决不了就上传你的数据表。
|
-- 作者:程兴刚
-- 发布时间:2013/2/23 17:09:00
--
DataTables("生产进度").load() DataTables("生产进度").DataCols("产品编号").RaiseDataColChanged() DataTables("生产进度").DataCols("领取数量").RaiseDataColChanged() Dim dt_jc As DataTable = DataTables("生产进度") Dim dt_tj As DataTable = DataTables("统计表") dt_tj.DataRows.Clear For Each name As String In dt_jc.GetUniqueValues("完成数量 > 0", "员工") Dim dr As DataRow = DataTables("生产进度").Find("员工 = \'" & name & "\'") \'这里不能避免员工同名的问题,要注意,建议用员工ID或身份证号码 Dim ndr As DataRow = dt_tj.AddNew If dr IsNotnothing ndr("部门") = dr("部门") End If ndr("员工") = name Dim filter As String = "员工 = \'" & name & "\'" ndr("支数") = dt_jc.Compute("Sum(完成数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("点数") = dt_jc.Compute("Sum(大桨点数)", filter & " And 日期 = #" & Date.Today & "#") ndr("返工") = dt_jc.Compute("Sum(返工数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("废品") = dt_jc.Compute("Sum(废品数量)", filter & " And 日期 = #" & Date.Today & "#") ndr("累计点值") = dt_jc.Compute("Sum(大桨点数)", filter) Next Tables("统计表").Sort = "部门,员工" Tables("统计表").AutoSizeCols() Tables("统计表").Cols("部门").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("员工").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("支数").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("点数").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("返工").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("废品").TextAlign = TextAlignEnum.Center Tables("统计表").Cols("累计点值").TextAlign = TextAlignEnum.Center Tables("统计表").SaveExcel("d:\\JXF\\" & Format(Date.Now, "yyyyMMddHHmmss") & ".xls","统计表") MainTable = Tables("统计表")
|
-- 作者:YDS
-- 发布时间:2013/2/25 15:26:00
--
谢谢,已经解决了!
|