以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 程序正常执行,但显示代码执行出错(集合已修改,可能无法执行枚举操作) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184729) |
-- 作者:onlinech -- 发布时间:2022/12/27 6:16:00 -- 程序正常执行,但显示代码执行出错(集合已修改,可能无法执行枚举操作) 程序可以正常执行,但是在命令窗口下显示代码执行出错,集合已修改,可能无法执行枚举操作 代码如下: Dim g As New CrossTableBuilder("统计表1", DataTables("d"), "[更新时间] >= \'12-31-2022\'") g.HGroups.AddDef("更新时间", DateGroupEnum.Hour, "时") g.VGroups.AddDef("更新时间", DateGroupEnum.Year) g.VGroups.AddDef("更新时间") g.VGroups.AddDef("更新时间", DateGroupEnum.Day) g.Totals.AddDef("净重", "净重") g.Filter = "[更新时间] >= \'12-31-2022\'" g.FromServer = True g.Build() MainTable = Tables("统计表1") Dim sr, s As String Dim dt As Date For Each dc As DataCol In DataTables("统计表1").DataCols \'遍历所有列 If dc.Caption <> "时" Then sr = dc.Caption s = sr.Replace("_", "/") \'将123替换为789 If IsDate(s) Then dt = CDate(s) If dt = Date.Today.AddDays( - 3) Then DataTables("统计表1").DataCols.Add("3日前", GetType(Double), dc.name) \'增加名为“吨”的列 Output.Show("正确,3日前 " & dc.Name & " ---- " & dc.Caption & " ... " & dt) End If End If End If Next 应该是上面标颜色的代码有问题 |
-- 作者:有点蓝 -- 发布时间:2022/12/27 9:07:00 -- For Each循环列的时候又有代码增加了列,也就是被循环的集合发生了变化就会有这个提示。这种情况改为【For i As Integer = 1】这种循环即可 Dim sr, s As String Dim dt As Date For i as integer = 0 to DataTables("统计表1").DataCols.count - 1 \'遍历所有列 dim dc as datacol = DataTables("统计表1").DataCols(i) If dc.Caption <> "时" Then |