以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DON老师,再帮我精简一段代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34313) |
-- 作者:zerov -- 发布时间:2013/6/5 9:42:00 -- DON老师,再帮我精简一段代码 意思是,月份数值有变动时,则自动求和(不想用表达式,不能导出,特别是我把表放到另一个系统时不方便迁移) Select Case e.DataCol.Name Case "TX2013年01月","TX2013年02月","TX2013年03月","TX2013年04月","TX2013年05月","TX2013年06月","TX2013年07月","TX2013年08月","TX2013年09月","TX2013年10月","TX2013年11月","TX2013年12月","TX2014年01月","TX2014年02月","TX2014年03月","TX2014年04月","TX2014年05月","TX2014年06月","TX2014年07月","TX2014年08月","TX2014年09月","TX2014年10月","TX2014年11月","TX2014年12月" Dim er As DataRow = e.DataRow If e.NewValue<>e.OldValue Then er("TX2013年合计")=er("TX2013年01月")+er("TX2013年02月")+er("TX2013年03月")+er("TX2013年04月")+er("TX2013年05月")+er("TX2013年06月")+er("TX2013年07月")+er("TX2013年08月")+er("TX2013年09月")+er("TX2013年10月")+er("TX2013年11月")+er("TX2013年12月") er("TX2014年合计")=er("TX2014年01月")+er("TX2014年02月")+er("TX2014年03月")+er("TX2014年04月")+er("TX2014年05月")+er("TX2014年06月")+er("TX2014年07月")+er("TX2014年08月")+er("TX2014年09月")+er("TX2014年10月")+er("TX2014年11月")+er("TX2014年12月") End If End Select |
-- 作者:lsy -- 发布时间:2013/6/5 9:59:00 -- 列名好奇怪呀:有具体的日期,那就要经常变动列名,这项目只能自己用了,发布后很快作废。 |
-- 作者:狐狸爸爸 -- 发布时间:2013/6/5 9:59:00 -- 简单的相加,你用表达式,不简单很多吗? |
-- 作者:jspta -- 发布时间:2013/6/5 9:59:00 -- 你这个列名有点问题哦,以后再增长怎么办?
Dim yy As String = e.DataCol.name.SubString(2,4) |
-- 作者:don -- 发布时间:2013/6/5 10:30:00 -- 楼主大概用Excel久了,建议加强数据库的认识 |
-- 作者:泡泡 -- 发布时间:2013/6/5 10:54:00 -- 楼上两位好热心,到处有足迹 |
-- 作者:zerov -- 发布时间:2013/6/5 13:37:00 -- 回复:(lsy)列名好奇怪呀:有具体的日期,那就要经常... 谢谢LSY,像这种不能自动加列的摊销表,涉及到列变动,如何做才好?
或者设置为:一个月份ComBox按钮,一个表,有期初金额,本月摊销金额,累计摊销金额,本月摊销=合同金额/月份数,当选择某个月份时,自动列出这个月份的摊销金额及期初、累计金额,这样行不? |
-- 作者:zerov -- 发布时间:2013/6/5 14:17:00 -- 谢谢狐爸、DON、jspta老师 |
-- 作者:don -- 发布时间:2013/6/5 14:22:00 -- 这种情况应该报表解决就行了,不应该出现在数据库中. |
-- 作者:lihe60 -- 发布时间:2013/6/5 15:09:00 -- 以下是引用zerov在2013-6-5 9:42:00的发言:
意思是,月份数值有变动时,则自动求和(不想用表达式,不能导出,特别是我把表放到另一个系统时不方便迁移) Select Case e.DataCol.Name
Case "TX2013年01月","TX2013年02月","TX2013年03月","TX2013年04月","TX2013年05月","TX2013年06月","TX2013年07月","TX2013年08月","TX2013年09月","TX2013年10月","TX2013年11月","TX2013年12月","TX2014年01月","TX2014年02月","TX2014年03月","TX2014年04月","TX2014年05月","TX2014年06月","TX2014年07月","TX2014年08月","TX2014年09月","TX2014年10月","TX2014年11月","TX2014年12月"
Dim er As DataRow = e.DataRow
If e.NewValue<>e.OldValue Then
er("TX2013年合计")=er("TX2013年01月")+er("TX2013年02月")+er("TX2013年03月")+er("TX2013年04月")+er("TX2013年05月")+er("TX2013年06月")+er("TX2013年07月")+er("TX2013年08月")+er("TX2013年09月")+er("TX2013年10月")+er("TX2013年11月")+er("TX2013年12月")
er("TX2014年合计")=er("TX2014年01月")+er("TX2014年02月")+er("TX2014年03月")+er("TX2014年04月")+er("TX2014年05月")+er("TX2014年06月")+er("TX2014年07月")+er("TX2014年08月")+er("TX2014年09月")+er("TX2014年10月")+er("TX2014年11月")+er("TX2014年12月")
End If
End Select 不明白为什么要这么长? |