以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 跨年结转 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194787) |
-- 作者:g1j2h3 -- 发布时间:2025/1/14 14:28:00 -- 跨年结转 我想从2024年12月份的结存转成2025年的上年结转,结果出现了错误,恳求大师指导 |
-- 作者:有点蓝 -- 发布时间:2025/1/14 14:39:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错 |
-- 作者:g1j2h3 -- 发布时间:2025/1/14 14:42:00 -- 在加载2025年数据时,下边这段代码出错,不知是什么原因 Dim lst As New List(Of String) For i As Integer = DataTables("库存信息_Table8").DataCols.Count - 1 To 8 Step - 2 Dim ss() As String = DataTables("库存信息_Table8").DataCols(i).Caption.Split("_") Dim aa() As String = DataTables("库存信息_Table8").DataCols(i).Name.Split("_") If aa(1) = "1" Then DataTables("库存信息_Table8").DataCols.Add(ss(0) & "_" & ss(1) & "_结存", GetType(Integer), "IsNull([上年结转],0) + IsNull([入库数量_" & aa(1) & "],0) - ISNULL([出库数量_" & aa(1) & "],0)") Else lst.Add(ss(0) & "_" & ss(1) & "_结存") DataTables("库存信息_Table8").DataCols.Add(ss(0) & "_" & ss(1) & "_结存", GetType(Integer), "IsNull([上年结转],0) + IsNull([入库数量_" & aa(1) & "],0) - ISNULL([出库数量_" & aa(1) & "],0)") End If Tables("库存信息_Table8").Cols(ss(0) & "_" & ss(1) & "_结存").Move(i + 1) Next |
-- 作者:有点蓝 -- 发布时间:2025/1/14 14:48:00 -- 调试 Dim lst As New List(Of String) msgbox(1) For i As Integer = DataTables("库存信息_Table8").DataCols.Count - 1 To 8 Step - 2 msgbox(i) msgbox(DataTables("库存信息_Table8").DataCols(i).Name) msgbox(DataTables("库存信息_Table8").DataCols(i).Caption) Dim ss() As String = DataTables("库存信息_Table8").DataCols(i).Caption.Split("_") Dim aa() As String = DataTables("库存信息_Table8").DataCols(i).Name.Split("_") If aa(1) = "1" Then DataTables("库存信息_Table8").DataCols.Add(ss(0) & "_" & ss(1) & "_结存", GetType(Integer), "IsNull([上年结转],0) + IsNull([入库数量_" & aa(1) & "],0) - ISNULL([出库数量_" & aa(1) & "],0)") Else lst.Add(ss(0) & "_" & ss(1) & "_结存") DataTables("库存信息_Table8").DataCols.Add(ss(0) & "_" & ss(1) & "_结存", GetType(Integer), "IsNull([上年结转],0) + IsNull([入库数量_" & aa(1) & "],0) - ISNULL([出库数量_" & aa(1) & "],0)") End If msgbox(ss(0) & "_" & ss(1) & "_结存") Tables("库存信息_Table8").Cols(ss(0) & "_" & ss(1) & "_结存").Move(i + 1) Next |
-- 作者:g1j2h3 -- 发布时间:2025/1/14 15:11:00 -- 调试后, msgbox(1)显示1 msgbox(i)显示9 msgbox(DataTables("库存信息_Table8").DataCols(i).Name)显示是上年结转 msgbox(DataTables("库存信息_Table8").DataCols(i).Caption)显示是空白 随后就出现了错误提示 |
-- 作者:有点蓝 -- 发布时间:2025/1/14 15:20:00 -- 不理解代码就是这样的了,别人给的只会抄,如果要添加功能就会乱了。 把下面代码放到最后 DataTables("库存信息_Table8").DataCols.Add("上年结转", GetType(Integer), "") Tables("库存信息_Table8").Cols("上年结转").Move(7) |
-- 作者:g1j2h3 -- 发布时间:2025/1/14 15:47:00 -- 以下是引用有点蓝在2025/1/14 15:20:00的发言:
不理解代码就是这样的了,别人给的只会抄,如果要添加功能就会乱了。 把下面代码放到最后 DataTables("库存信息_Table8").DataCols.Add("上年结转", GetType(Integer), "") Tables("库存信息_Table8").Cols("上年结转").Move(7) 放到最后,就提示找不到上年结转列 |
-- 作者:有点蓝 -- 发布时间:2025/1/14 16:01:00 -- 那就改这里 |
-- 作者:g1j2h3 -- 发布时间:2025/1/14 16:08:00 -- 改这里也出错,我试了 |
-- 作者:有点蓝 -- 发布时间:2025/1/14 16:19:00 -- 那就调试啊,出什么错,调试是什么结果,说啊。 |