Foxtable(狐表)用户栏目专家坐堂 → 定义了过多字段


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

主题:定义了过多字段

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


加好友 发短信
等级:婴狐 帖子:75 积分:523 威望:0 精华:0 注册:2016/12/29 8:29:00
定义了过多字段  发帖心情 Post By:2017/1/3 10:39:00 [只看该作者]

我一个表当中有215列,保存时提示“定义了过多字段”,怎么办

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 10:41:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:75 积分:523 威望:0 精华:0 注册:2016/12/29 8:29:00
  发帖心情 Post By:2017/1/3 10:43:00 [只看该作者]

压缩之后还是一样的提示,我的列名为“庆012346”“庆012345“....运行错误:定义了过多字段

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


加好友 发短信
等级:婴狐 帖子:75 积分:523 威望:0 精华:0 注册:2016/12/29 8:29:00
  发帖心情 Post By:2017/1/3 10:44:00 [只看该作者]

因为我的代码中要用到列名If e.DataCol.name = "一" OrElse e.DataCol.name = "二" OrElse e.DataCol.name = "三" Then
    For Each dc As DataCol In e.DataTable.DataCols
        If dc.Name.StartsWith("庆") AndAlso dc.name.Length = 7 Then
            Dim str As String = dc.Name.Replace("庆", "")
            Dim idx As Integer = 1
output.show(str)
            For Each r As Row In Tables("庆前").rows
                If str.IndexOf(r("一")) >= 0 AndAlso str.IndexOf(r("二")) >= 0 AndAlso str.IndexOf(r("三")) >= 0 Then
                    r(dc.name) = "√"
                Else
                    r(dc.name) = idx
                    idx = idx + 1
                End If
            Next
        End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 10:45:00 [只看该作者]

 那些列不要定义成备注列。

 

 同时,肯定超过了253列,才会有这样的提示。


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


加好友 发短信
等级:婴狐 帖子:75 积分:523 威望:0 精华:0 注册:2016/12/29 8:29:00
  发帖心情 Post By:2017/1/3 10:48:00 [只看该作者]

列数没有超过253列,但是表datacolchanged事件中
If e.DataCol.name = "一" OrElse e.DataCol.name = "二" OrElse e.DataCol.name = "三" Then
    For Each dc As DataCol In e.DataTable.DataCols
        If dc.Name.StartsWith("庆") AndAlso dc.name.Length = 7 Then
            Dim str As String = dc.Name.Replace("庆", "")
            Dim idx As Integer = 1
output.show(str)
            For Each r As Row In Tables("庆前").rows
                If str.IndexOf(r("一")) >= 0 AndAlso str.IndexOf(r("二")) >= 0 AndAlso str.IndexOf(r("三")) >= 0 Then
                    r(dc.name) = "√"
                Else
                    r(dc.name) = idx
                    idx = idx + 1
                End If
            Next
        End If
要用到列名,我的列名怎样设呢

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 10:50:00 [只看该作者]

 错误和代码无关。

 

 按照原来的格式设置列名。

 

 那你就不要设置太多列。


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


加好友 发短信
等级:婴狐 帖子:75 积分:523 威望:0 精华:0 注册:2016/12/29 8:29:00
  发帖心情 Post By:2017/1/3 10:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170103105119.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 10:52:00 [只看该作者]

看7楼

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2017/1/3 10:59:00 [只看该作者]

注意设置列类型,不要太多的备注列,字符列的长度也不要太大
[此贴子已经被作者于2017/1/3 10:59:25编辑过]

 回到顶部