以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]副本表删除列问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70910)

--  作者:307587760
--  发布时间:2015/7/1 11:17:00
--  [求助]副本表删除列问题
请问老师:我在窗口的Table中添加了一张临时表然后作为了副本
现在我需要删除副本表中的某一列,当我用以下代码的时候
if DataTables.DataCols.Contains("删除列") then
DataTables.DataCols.Delete("删除列")
end if
系统提示:只能删除用代码添加的列
我想问问,还能通过什么方式删除我副本表里面的列呢?


--  作者:大红袍
--  发布时间:2015/7/1 11:22:00
--  

 为什么一定要删除?隐藏不行?

 

If Tables("表A").Cols.Contains("第一列") Then
    Tables("表A").DataTable.DataCols.Delete("第一列")
    Tables("表A").cols("第一列").Visible = False
End If


--  作者:307587760
--  发布时间:2015/7/1 11:25:00
--  
因为同事做了个全局判断:
如果包含这一列,就不让修改这张表的数据,而且不让改全局代码,
说的可以删除列,隐藏的话,还是不能修改数据,
因为DataTable中还是有这一列的么

--  作者:307587760
--  发布时间:2015/7/1 11:27:00
--  
老师,我窗口里的表绑定了临时表,然后作为副本了,像我这种情况,是否只能直接删除临时表中的列了呢?
--  作者:大红袍
--  发布时间:2015/7/1 11:31:00
--  
 你说的临时表,是指动态生成的表么?动态的就可以删除,看2楼代码。
--  作者:307587760
--  发布时间:2015/7/1 11:55:00
--  
是用SQL拼接出来的,应该叫临时表呢,还是叫查询表?
代码我用了,提示只能删除用代码添加的列

--  作者:y2287958
--  发布时间:2015/7/1 12:04:00
--  
上个例子吧
--  作者:大红袍
--  发布时间:2015/7/1 12:05:00
--  
以下是引用307587760在2015/7/1 11:55:00的发言:
是用SQL拼接出来的,应该叫临时表呢,还是叫查询表?
代码我用了,提示只能删除用代码添加的列

 

如果提示,就是不能删除,只能隐藏。你同事判断是否存在的代码改一下,改成判断是否隐藏即可

 

If Tables("表A").Cols.Contains("第一列") AndAlso Tables("表A").Cols("第一列").Visible = False Then

 

End If


--  作者:307587760
--  发布时间:2015/7/1 18:59:00
--  
同事的代码不让改,最终结果是直接把原表中存在的做判断的列删除了
结贴!

--  作者:大红袍
--  发布时间:2015/7/1 19:12:00
--  
 呃,表结构,是不应该乱删除的,特别是数据列。