以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问下 这段代码可以简化不 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173307) |
-- 作者:忆似水流年 -- 发布时间:2021/11/23 17:15:00 -- 请问下 这段代码可以简化不 有好多列 请问下需要这样罗列出来么 如果有200列都要这样写上去么=。= 不知道有没有简化的方法或者可以提高速度的方法(数据多了以后会卡)先谢谢啦 Select Case e.DataCol.Name
Case "岗位工资","综合补贴","考核工资","计件工资","补贴","房贴","加班费","国定假加班费","值班费","托底","津贴","高温费","奖金","饭贴","劳防用品","补发本年度","补发上年度","其他","半年奖","年终奖","上年年终奖","特别奖励","工伤","垫付","离职补偿","病假扣款","事假扣款","转正入离职扣款","产假停发" If e.DataRow.IsNull("身份证") Then e.DataRow("应发合计") = Nothing Else e.DataRow("应发合计") = e.DataRow("岗位工资")+e.DataRow("综合补贴")+e.DataRow("考核工资")+e.DataRow("计件工资")+e.DataRow("补贴")+e.DataRow("房贴")+e.DataRow("加班费")+e.DataRow("国定假加班费")+e.DataRow("值班费")+e.DataRow("托底")+e.DataRow("津贴")+e.DataRow("高温费")+e.DataRow("奖金")+e.DataRow("饭贴")+e.DataRow("劳防用品")+e.DataRow("补发本年度")+e.DataRow("补发上年度")+e.DataRow("其他")+e.DataRow("半年奖")+e.DataRow("年终奖")+e.DataRow("上年年终奖")+e.DataRow("特别奖励")+e.DataRow("工伤")+e.DataRow("垫付")+e.DataRow("离职补偿")-e.DataRow("病假扣款")-e.DataRow("事假扣款")-e.DataRow("转正入离职扣款")-e.DataRow("产假停发") End If Dim dr2 As DataRow = e.DataTable.Find("[_SortKey] < " & dr("_SortKey") & " And [单位] = \'" & dr("单位") & "\' And [身份证] = \'" & dr("身份证") & "\' And [日期] = #" & dr("日期") & "# ", "[_SortKey] Desc") If e.DataRow.IsNull("身份证") Then e.DataRow("累计应发工资") = Nothing dr2 = e.DataRow ElseIf dr2 IsNot Nothing Then dr("累计应发工资") = e.DataTable.Compute("Sum(应发合计)"," [单位] = \'" & dr("单位") & "\' And [身份证] = \'" & dr("身份证") & "\' and [日期] <= #" & dr("日期") & "# ") dr2 = e.DataRow Else dr("累计应发工资") = e.DataTable.Compute("Sum(应发合计)"," [单位] = \'" & dr("单位") & "\' And [身份证] = \'" & dr("身份证") & "\' and [日期] <= #" & dr("日期") & "# ") dr2 = e.DataRow End If End Select [此贴子已经被作者于2021/11/23 17:16:54编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/11/23 17:30:00 -- 数据多了干啥都卡,和这个代码基本没有什么关系。 要优化,有很多方式 比如给列标题统一一个前缀,然后遍历所有列,判断是这种前缀就合计 比如把需要合计的列放到数组里,然后遍历数组进行合计
|
-- 作者:忆似水流年 -- 发布时间:2021/11/23 18:02:00 -- 蓝大 再问下这个 遍历列判断前缀合计 和 遍历数组合计 在文档里有类似的例子不 谢谢您啦 |