以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 定义了过多字段 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94819) |
-- 作者:chen1029 -- 发布时间:2017/1/3 10:39:00 -- 定义了过多字段 我一个表当中有215列,保存时提示“定义了过多字段”,怎么办 |
-- 作者:有点色 -- 发布时间:2017/1/3 10:41:00 -- 压缩项目
http://www.foxtable.com/webhelp/scr/0006.htm
|
-- 作者:chen1029 -- 发布时间:2017/1/3 10:43:00 -- 压缩之后还是一样的提示,我的列名为“庆012346”“庆012345“....运行错误:定义了过多字段 |
-- 作者:chen1029 -- 发布时间: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 |
-- 作者:有点色 -- 发布时间:2017/1/3 10:45:00 -- 那些列不要定义成备注列。
同时,肯定超过了253列,才会有这样的提示。 |
-- 作者:chen1029 -- 发布时间: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 要用到列名,我的列名怎样设呢
|
-- 作者:有点色 -- 发布时间:2017/1/3 10:50:00 -- 错误和代码无关。
按照原来的格式设置列名。
那你就不要设置太多列。 |
-- 作者:chen1029 -- 发布时间:2017/1/3 10:51:00 -- 此主题相关图片如下:qq图片20170103105119.png |
-- 作者:有点色 -- 发布时间:2017/1/3 10:52:00 -- 看7楼 |
-- 作者:狐狸爸爸 -- 发布时间:2017/1/3 10:59:00 -- 注意设置列类型,不要太多的备注列,字符列的长度也不要太大 [此贴子已经被作者于2017/1/3 10:59:25编辑过]
|