Foxtable(狐表)用户栏目专家坐堂 → 列名作为表达式


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

主题:列名作为表达式

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
列名作为表达式  发帖心情 Post By:2021/12/21 14:57:00 [只看该作者]

DataColChanged代码:

Dim dt As DataTable = DataTables("中继表")
Select Case e.DataCol.name
    Case "N1"
        Dim m As String=e.DataCol.Name
        Dim z1 As Double = dt.Compute("Count(N1)","N1='1' or N1='1/休'")

        Dim dr1 As DataRow = DataTables("班次标记").Find("表头='一班人数'")
        If dr1 IsNot Nothing Then
            dr1("N1") =z1
        End If
其中红色字体的代码能不能换成:        Dim z1 As Double =dt.Compute("Count(m &)","m &='1' or m &='1/休'");           dr1(m &) =z1

实现的功能:在中继表中统计N1列出现“1”和“1/休”的个数,之后把这个个数填到班次标记表中一班人数对应的N1列。由于列有N1、N2、..............N31(即日期1到31日)每列都是差不多的代码,所以想简化一下。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

……
Select Case e.DataCol.name
    Case "N1","N2",....
        Dim m As String=e.DataCol.Name
        Dim z1 As Double = dt.Compute("Count(" & m & ")",m & "='1' or " & m & "='1/休'")
        Dim dr1 As DataRow = DataTables("班次标记").Find("表头='一班人数'")
        If dr1 IsNot Nothing Then
            dr1(m) =z1
        End If

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2021/12/21 20:21:00 [只看该作者]

 Dim z1 As Double = dt.Compute("Count(" & m & ")",m & "='1' or " & m & "='1/休'")  如果加入列名为“勾选”(逻辑型)作为条件,这条语句是不是: Dim z1 As Double = dt.Compute("Count(" & m & ")",”勾选=true and m & "='1' or " & m & "='1/休'") 

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Dim z1 As Double = dt.Compute("Count(" & m & ")",m & "='1' or " & m & "='1/休' and 勾选=true")

 回到顶部