Foxtable(狐表)用户栏目专家坐堂 → 数据表列名被更改


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

主题:数据表列名被更改

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


加好友 发短信
等级:六尾狐 帖子:1497 积分:9706 威望:0 精华:0 注册:2014/12/18 16:12:00
数据表列名被更改  发帖心情 Post By:2020/11/14 9:09:00 [只看该作者]

If e.Book.TempLate = "出入库流水账" Then  'TempLate是指模板文件的名称
    If CurrentTable.name = "出入库" 
        If user.group = "财务" OrElse user.group = "行政" OrElse user.name = "开发者" Then
        For r As Integer = 1 To Tables("出入库").rows.count
           Dim dr As Row = Tables("出入库").Rows(r)
           dr("自然顺序号") = r
        Next
        End If
    End If
End If

以上代码放在报表事件的beforebuild里面,执行之后,连"自然顺序号"这个列名都被改为最大的那个r值了。请问是哪里的问题呢?

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


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

For r As Integer = 0 To Tables("出入库").rows.count - 1
           Dim dr As Row = Tables("出入库").Rows(r)
           dr("自然顺序号") = r+1
        Next
或者
dim idx as integer = 1
        For r As Row in Tables("出入库").rows
           r("自然顺序号") = r
idx+=1
        Next

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


加好友 发短信
等级:六尾狐 帖子:1497 积分:9706 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2020/11/14 13:57:00 [只看该作者]

谢谢。

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


加好友 发短信
等级:六尾狐 帖子:1497 积分:9706 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2021/10/23 19:41:00 [只看该作者]

2楼第1个方案的代码有时还是会发生自燃顺序号标题被改动的情况。
而用第2个方案就会出现警告:

dim idx as integer = 1
        For r As Row in Tables("出入库").rows
           r("自然顺序号") = r
idx+=1
        Next

上面这段代码会出现警告:
编译错误: "For" 循环控制变量的类型不能试 “Row”,因为该类型不支持所需的运算符。
错误代码:For r As Row in Tables("出入库").rows

请问是为什么呢?


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


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/24 20:27:00 [只看该作者]

dim idx as integer = 1
        For r As Row in Tables("出入库").rows
           r("自然顺序号") = idx
idx+=1
        Next

 回到顶部