以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享] 动态创建表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7936)

--  作者:czy
--  发布时间:2010/8/20 22:30:00
--  [分享] 动态创建表

刚学做的,供大家参考。

 

“列类型”列采用了数据字典,有兴趣可以一看。

 

本示例暂时不支持“高精度小数型”。

 

 


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态创建表.table

 

做了一个示例,发现了诸多问题,哈,很值。

[此贴子已经被作者于2010-8-21 0:38:58编辑过]

--  作者:donaldwc
--  发布时间:2010/8/20 22:41:00
--  

看一下


--  作者:kylin
--  发布时间:2010/8/21 8:01:00
--  

订单表好像顺序乱掉

还有高精度的会出错

 

这个测试确实很值的


--  作者:czy
--  发布时间:2010/8/21 12:25:00
--  
以下是引用kylin在2010-8-21 8:01:00的发言:

订单表好像顺序乱掉

 

 

这个简单的,改成这样就可以了。

 

Dim Name As String = e.Form.Controls("ComboBox1").Value
If Name = "" Then
    MessageBox.Show("表名称不能为空!")
    Return
End If
For Each dt As datatable In DataTables
    If dt.Name.Contains(Name) Then
        MessageBox.Show(Name & " 表已经存在,不能创建!")
        Return
    End If
Next
If DataTables("基础设置").GetComboListString("列类型").Contains("10") Then
    MessageBox.Show("sorry 高精度小数型暂时不可用!")
    Return
End If
DataTables("基础设置").Save
Dim Builder As New ADOXBuilder
Builder.Open()
Dim tbl As ADOXTable = Builder.NewTable(Name)
For Each dr As DataRow In DataTables("基础设置").DataRows
    If dr("表名") = Name Then
        If dr("列类型") = 0 Then
            tbl.AddColumn(dr("列名"),dr("列类型"),dr("字符长度"))
        Else
            tbl.AddColumn(dr("列名"),dr("列类型"))
        End If
    End If
Next
Builder.AddTable(tbl)
Builder.Close()
syscmd.Project.Open(ProjectFile)
MainTable = Tables(Name)

[此贴子已经被作者于2010-8-21 12:27:10编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/8/21 14:26:00
--  
谢c版,问题收到。
--  作者:xl
--  发布时间:2010/8/21 19:23:00
--  
若有“列标题”,不知代码该如何修改?
--  作者:czy
--  发布时间:2010/8/21 20:28:00
--  
以下是引用xl在2010-8-21 19:23:00的发言:
若有“列标题”,不知代码该如何修改?

 

好象没有这样的方法。


--  作者:cxabc123
--  发布时间:2010/8/23 8:37:00
--  
C版,作一个能够增加表、增加列、增加临时表和列的例子,供大家学习学习,我门自己做起来实在是太费事了。
--  作者:狐狸爸爸
--  发布时间:2010/8/23 8:43:00
--  
增加临时表和列,帮助有说明,也有例子,你可以看看。
[此贴子已经被作者于2010-8-23 8:43:00编辑过]

--  作者:cxabc123
--  发布时间:2010/8/23 8:49:00
--  
作临时表和列的,我也做出来了,那天看了你给我作的增加表的代码,我感觉我作的增加临时列表的方法挺复杂的