Foxtable(狐表)用户栏目专家坐堂 → [求助]改列名后重新代码加载会报错!


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

主题:[求助]改列名后重新代码加载会报错!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/28 15:43:00 [显示全部帖子]

 删除列的时候,要unload表,然后再load表。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/28 16:25:00 [显示全部帖子]

Dim Builder As New ADOXBuilder
Dim dc As Col
Dim NewName As String
Dim OLDname As String
Builder.Open()
For Each dc  In Tables("表A").Cols
    If dc.DataCol.Expression = "" Then
        NewName =  "pii"+dc.name
        OLDname = dc.name
        Builder.Tables("表A").RenameColumn(OLDname,NewName)
    End If
Next
Builder.Close()


If DataTables.Contains("表A")  Then '如果表已经加载
    DataTables.Unload("表A") '卸载表
End If

If (DataTables.Contains("表A") = False)  Then '如果未加载
    DataTables.load("表A") '加载表
End If

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/28 16:40:00 [显示全部帖子]

 没有办法,暂时无法判断是否为表达式列

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/28 16:42:00 [显示全部帖子]

Dim Builder As New ADOXBuilder
Dim dc As Col
Dim NewName As String
Dim OLDname As String
Builder.Open()
For Each dc  In Tables("表A").Cols
    If dc.DataCol.Expression = "" Then
        NewName =  "pii"+dc.name
        OLDname = dc.name
        try
            Builder.Tables("表A").RenameColumn(OLDname,NewName)
        catch ex As exception
            msgbox(ex.message)
            msgbox(dc.Name & "是表达式")
        End try
    End If
Next
Builder.Close()


If DataTables.Contains("表A")  Then '如果表已经加载
    DataTables.Unload("表A") '卸载表
End If

If (DataTables.Contains("表A") = False)  Then '如果未加载
    DataTables.load("表A") '加载表
End If


 


 回到顶部