以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 动态增加列时出现问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59107) |
-- 作者:sky-18 -- 发布时间:2014/10/29 18:57:00 -- 动态增加列时出现问题 Dim Builder As New
ADOXBuilder Builder.Close() 通过以上代码增加列时出现这个错误提示。
求老师解答 |
-- 作者:有点甜 -- 发布时间:2014/10/29 19:03:00 -- 如果重复添加,就会报错
Dim Builder As New ADOXBuilder |
-- 作者:sky-18 -- 发布时间:2014/10/29 22:20:00 -- 没有重复增加 没有重复增加,而且重复增加的报错不是这样的。 奇怪的是在我的项目里只要通过代码动态增加列就会出现这个错误。 甜老师能不能通过错误提示看出来时什么问题?
|
-- 作者:有点甜 -- 发布时间:2014/10/29 22:22:00 -- 你用的是不是最新版了?旧版可能有bug
我测试没有问题。 |
-- 作者:sky-18 -- 发布时间:2014/10/29 22:46:00 -- 甜老师再看看 Dim resta As Integer = 0 Dim 生产备注 As Boolean = True Dim 算价 As Boolean = True For Each dd As Col In Tables("订单").Cols If dd.Name = "生产备注" Then 生产备注 = False End If Next For Each ddsj As Col In Tables("订单数据").Cols If ddsj.Name = "算价" Then 算价 = False End If Next If 生产备注 = True Then Dim Builder As New ADOXBuilder Builder.Open() Builder.Tables("订单").AddColumn("生产备注" ,ADOXType.text) Builder.Close() resta = resta + 1 End If If 算价 = True Then Dim Builder As New ADOXBuilder Builder.Open() Builder.Tables("订单数据").AddColumn("生产备注" ,ADOXType.text) Builder.Close() resta = resta + 1 End If If resta > 0 Then MessageBox.Show("为了迎合新功能,数据库已经自动升级,需要重新打开软件.请在软件自动关闭后再手动打开.") Syscmd.Project.Exit(True) End If 我的代码其实是这样的,但是在运行到:Builder.Tables("订单").AddColumn("生产备注" ,ADOXType.text) 这条代码时就出现了前面说的错误。甜老师看看怎么回事
|
-- 作者:有点甜 -- 发布时间:2014/10/29 22:53:00 -- 1、先升级到最新版;
2、http://www.foxtable.com/help/topics/2715.htm
|
-- 作者:sky-18 -- 发布时间:2014/10/29 22:59:00 -- 甜老师,我用的是win7. 而且我通过系统菜单能增加列。 现在发现只是在通过代码动态添加列会出现错误。 Dim Builder As New ADOXBuilder Builder.Open() \'打开ADOXBuilder Builder.Tables("库存").AddColumn("算价" ,ADOXType.text) \'增加日期型列 Builder.Close() \'关闭ADOXBuilder 就像上面这个简单的代码也会出现错误,无法增加列
|
-- 作者:有点甜 -- 发布时间:2014/10/29 23:00:00 -- 先升级到最新版 |
-- 作者:sky-18 -- 发布时间:2014/10/29 23:03:00 -- 已经是最新版本了。 |
-- 作者:有点甜 -- 发布时间:2014/10/29 23:06:00 -- 测试了一下,你的表名写错了。没有对应的表就会报这个错。 |