以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82580)

--  作者:李连山
--  发布时间:2016/3/21 9:38:00
--  [求助]
请问老师:怎么能生成表结构表?
--  作者:wyz20130512
--  发布时间:2016/3/21 9:58:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160321095646.png
图片点击可在新窗口打开查看

是这个窗口吗?

--  作者:李连山
--  发布时间:2016/3/21 10:10:00
--  

不是查看表结构,将表结构生成一个内部表,我在程序中可调用这个表。我查了帮助没有相关内容。


--  作者:wyz20130512
--  发布时间:2016/3/21 10:26:00
--  
可以用代码生成这个表.
--  作者:大红袍
--  发布时间:2016/3/21 10:35:00
--  

参考

 

For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        output.show(dt.name & " " & dc.Name & " " & dc.Caption & " " & dc.datatype.Name & dc.MaxLength)
    Next
Next

 

 


--  作者:李连山
--  发布时间:2016/3/21 10:58:00
--  

特别感谢大红袍老师


--  作者:wyz20130512
--  发布时间:2016/3/21 12:43:00
--  
对5楼的整理

\'生成表结构表"Table("表结构")"--------------------------------
Dim Builder As New ADOXBuilder
Dim tbl As ADOXTable
Builder.Open()
If DataTables.Contains("表结构") Then
    Builder.DeleteTable("表结构")
    Syscmd.Project.Open(ProjectFile)
Else
    tbl = Builder.NewTable("表结构") \'创建表
    With tbl
        .AddColumn("列名" ,ADOXType.String, 20)
        .AddColumn("类型" ,ADOXType.String, 15)
        .AddColumn("长度" ,ADOXType.Integer)
        .AddColumn("标题" ,ADOXType.String, 20)
        .AddColumn("表达式" ,ADOXType.String, 200)
    End With
    Builder.AddTable(tbl) \'增加表
    Builder.Close()
    Syscmd.Project.Open(ProjectFile)
End If
\'----------------------------------------------------------------

\'将主表的表结构数据写入"Table("表结构")"中------------------------
With MainTable
    Dim t As Table = Tables("表结构")
    For Each c As Col In .Cols
        Dim r As Row = t.AddNew()
        r("列名") = c.Name
        r("类型") = c.DataCol.DataType.Name
        r("长度") = c.DataCol.MaxLength
        r("标题") = c.Caption
        r("表达式") = c.DataCol.Expression
    Next
End With
\'------------------------------------------------------------------
[此贴子已经被作者于2016/3/21 12:56:46编辑过]