以文本方式查看主题

-  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=151585)

--  作者:jackyfashion
--  发布时间:2020/6/28 17:52:00
--  求助 动态修改表结构
老师:
您好!
以下是动态修改表结构   增加列的代码

Dim Builder As New ADOXBuilder
Builder.Open()
\'打开ADOXBuilder
With
Builder.Tables("表A")
    .AddColumn(
"日期" ,ADOXType.DateTime) \'增加日期型列
    .AddColumn(
"产品" ,ADOXType.String, 12) \'增加字符型列,长度指定为12
    .AddColumn(
"客户" ,ADOXType.String, 20) \'增加字符列,长度为20
    .AddColumn(
"数量" ,ADOXType.Integer) \'增加整数型列
    .AddColumn(
"备注" ,ADOXType.Text) \'增加备注列
End
With
Builder.Close() 

我建个表A ,有两列 分别是 "列名称"  "数据类型"

然后搞个窗口,确定按钮的代码是:

Dim t As Row = Tables("A").Current  

    Dim l As String = t("列名")

    Dim k As String = t("数据类型")

    Dim Builder As New ADOXBuilder(nwnd”)

Builder.Open()

    With Builder.Tables(B)

        .AddColumn(l ,ADOXType.& k, 64)

   End With

    Builder.Close() \'关闭ADOXBuilder

问题出在兰色字这里,请老师指教!!!

谢谢!!!


--  作者:linyunu
--  发布时间:2020/6/28 18:29:00
--  
Dim t As Row = Tables("表A").Current
Dim l As String = t("列名")
Dim k As String = t("数据类型")
Dim Builder As New ADOXBuilder("nwnd")
Builder.Open()
With Builder.Tables("表B")
    Select Case k
        Case "String"
            .AddColumn(l,ADOXType.String, 64)
        Case "Integer"
            .AddColumn(l,ADOXType.Integer)
        Case "Boolean"
            .AddColumn(l,ADOXType.Boolean)
        Case "Double"
            .AddColumn(l,ADOXType.Double)
        Case "DateTime"
            .AddColumn(l,ADOXType.DateTime)
        Case "Single"
            .AddColumn(l,ADOXType.Single)
    End Select
End With
Builder.Close() \'关闭ADOXBuilder

--  作者:jackyfashion
--  发布时间:2020/6/28 19:33:00
--  
谢谢老师!!!
谢谢!!!
[此贴子已经被作者于2020/6/28 19:37:30编辑过]