以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  增加列出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32424)

--  作者:hbaijia
--  发布时间:2013/5/2 10:04:00
--  增加列出错

             For Each dc As DataCol In DataTables("统计表").DataCols
                If dc.Name = "来源" Then
                Else
                    DataTables("统计表").DataCols.Add("来源", Gettype(String))
                End If
            Next

           
            \'Tables("管理_Table2").Filter = ""
            Dim dt As DataRow
           
            For Each dr As Row In Tables("管理_Table2").Rows
                dt = DataTables("登记表").Find("编号 = \'" & dr("编号") & "\'")
                dr("来源") = dt("来源")
            Next
上述代码很奇怪,我想在一个表中加入临时列,如果只用蓝色的部分,可以实现,但每次都要提醒已有“来源”这个列了,我想加上一个判断如果有了这一列名,就不用加了,提示到是没了,但运行时发出错误的警告,“集合已修改,可能无法执行玫举操作!”就是下面的部分不执行了,而且还报错,是什么问题?


--  作者:Bin
--  发布时间:2013/5/2 10:09:00
--  
因为,你这样判断是错的.你这样岂不是每列判断一下不是来源就去新增一次来源列?

If DataTables("表A").DataCols.Contains("来源") Then
Else
    DataTables("表A").DataCols.Add("来源", Gettype(String))
End If


--  作者:XYT
--  发布时间:2013/5/2 10:11:00
--  

  For Each dc As Col In Tables("表A").Cols

 


--  作者:hbaijia
--  发布时间:2013/5/2 10:24:00
--  
可我在进行查询时,又出现第一次按要求找到相关项,但再次查找时,第一没查找到的部分,新增加列里的内容被清空了,所以再也找不到别的了,只执行一次正确结果。
--  作者:Bin
--  发布时间:2013/5/2 10:26:00
--  
把你例子发出来看看.