以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  一个外部表,有一金额字段,类型为双精度,用代码如何改成高精度?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169586)

--  作者:jswjyjf
--  发布时间:2021/6/22 7:19:00
--  一个外部表,有一金额字段,类型为双精度,用代码如何改成高精度?
一个外部表,有一金额字段,类型为双精度,用代码如何改成高精度?
--  作者:有点蓝
--  发布时间:2021/6/22 8:41:00
--  
参考:http://www.foxtable.com/webhelp/topics/2122.htm

删除这个列,重新添加一个

--  作者:flashman
--  发布时间:2021/6/22 8:47:00
--  
动态修改表结构
http://www.foxtable.com/webhelp/index.htm?page=2122.htm

好像不能直接修改表结构,不过可以曲线救国,但因为修改了表结构,所以期间要重启项目。

\'1,增加列
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表A")
    .AddColumn("数量1" ,ADOXType.Decimal)
End With
Builder.Close() \'关闭ADOXBuilder

\'2,重新打开项目,复制数据
For Each dr As DataRow In DataTables("表A").DataRows
    dr("数量1") = dr("数量")
Next
DataTables("表A").Save()

\'3,删除列 和 重命名列
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表A")
    .DeleteColumn("数量")
    .RenameColumn("数量1","数量")
End With
Builder.Close() \'关闭ADOXBuilder

\'4,重新打开项目