以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  修改列标题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75070)

--  作者:kaituozhe
--  发布时间:2015/9/25 18:41:00
--  修改列标题

Dim cls() As String = {"ghyw","人口","面积","语言","宗教","洲"} \'指定要显示的各列
Dim wds() As Integer = {100,100,130,80,80,80} \'定义列宽
For i As Integer = 0 To  cls.Length - 1
DataTables("资产表").DataCols(i).Caption = cls(i)
\'DataTables("资产表").DataCols(i).Name = cls(i)
DataTables("资产表").BuildHeader()
Next

 

参考例子写了上述代码,实现怎么修改列,经调试还有三个目的没有实现:1、只能修改标题不能修改列名称;2、不能指定列的数据类型及宽度;3、想设一个项目表专门存放列项目,通过代码在项目表提取项目作为指定表的名称及标题,甚至数据及宽度,但是我目前所知道的提取项目表中值是通过select提取,要提取全部数据怎么办。


--  作者:y2287958
--  发布时间:2015/9/26 22:38:00
--  
http://www.foxtable.com/help/topics/2122.htm
--  作者:sloyy
--  发布时间:2015/9/28 2:01:00
--  
maintable=tables("资产表")
Syscmd.Table.ModiStructure()
[此贴子已经被作者于2015/9/28 2:01:44编辑过]

--  作者:大红袍
--  发布时间:2015/9/28 10:28:00
--  
foxtable本来就不希望你能用代码改,自然不支持。
--  作者:大红袍
--  发布时间:2015/9/28 10:36:00
--  

内部表不能改,外部表还可以

 

Dim cn As new ADODB.Connection()
Dim ca As new ADOX.Catalog

cn.Open(Connections("test").ConnectionString , Nothing, Nothing, -1)
Ca.ActiveConnection = cn

Dim tbl = ca.Tables("test")

 

\'修改表结构和列名

Cn.Execute("alter table test alter column 第二列 varchar(100)")
tbl.Columns("第二列").name = "xxxxx"

 

cn.Close()
ca = Nothing