Foxtable(狐表)用户栏目专家坐堂 → 这个错误是哪里而来?


  共有2431人关注过本帖树形打印复制链接

主题:这个错误是哪里而来?

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
这个错误是哪里而来?  发帖心情 Post By:2020/11/19 11:23:00 [只看该作者]

Dim dr As DataRow
If Vars("GUID") <> "" Then
    dr = DataTables("实体表").Find("GUID='" & Vars("GUID") & "'")
    If dr IsNot Nothing Then
        Dim Builder As New ADOXBuilder("服务器")
        Builder.Open() '打开ADOXBuilder
        With Builder.Tables(dr("表名"))
            .DeleteColumn(dr("列名"))
        End With
        Builder.Close() '关闭ADOXBuilder
        dr.Delete()
    End If
End If
If  DataTables("实体表").HasChanges Then
    DataTables("实体表").Save()
    MessageBox.Show("已经删除该列")
End If
Syscmd.Project.Open(ProjectFile)



我用动态修改表结构的方法,来删除和新增列, 执行成功,但是每次Syscmd.Project.Open(ProjectFile)后 报了一个错误:

此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

这个是怎么回事呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/19 11:40:00 [只看该作者]

代码在按钮里?

加一句
……
End If
e.cancel = true
Syscmd.Project.Open(ProjectFile)

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 11:40:00 [只看该作者]

奇怪了,重启项目就报错,但是关闭后打开是不会有任何问题

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/19 11:52:00 [只看该作者]

foxtable更新到最新版,如果还有问题上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12123 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2020/11/19 12:16:00 [只看该作者]

重启前加个Syscmd.Project.Save()试试

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2020/11/19 12:29:00 [只看该作者]

啥都不好使,算了,就用关闭手工打开的方法吧

 回到顶部