Foxtable(狐表)用户栏目专家坐堂 → [求助]根据条件获取最大计数(已解决)


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

主题:[求助]根据条件获取最大计数(已解决)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 14:01:00 [显示全部帖子]

Case "日期"

 

改成

 

Case "日期", "作业ID", "工位机ID"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 14:47:00 [显示全部帖子]

Select Case e.DataCol.Name
    '序号和计数
    Case "日期", "作业ID", "工位机ID"
        If e.DataCol.Name = "日期" Then
            If e.DataRow.IsNull("日期") Then
                e.DataRow("序号") = Nothing
            Else
                Dim max,max1 As String '最大序号
                Dim idx As Integer
                max = e.DataTable.Compute("Max(序号)","[_Identify] <> " & e.DataRow("_Identify")) '取得最大序号
                If max > "" Then '如果存在最大序号
                    idx = CInt(max) + 1 '获得最大序号,并加1
                Else
                    idx = 1 '否则序号等于1
                End If
                e.DataRow("序号") = idx
                Dim rq As String = e.DataRow("日期")
                Dim gwjid As String = e.DataRow("工位机ID")
                Dim zyid As String = e.DataRow("作业ID")
                'max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
                max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [作业ID] = '"& zyid &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
                If max1 > "" Then '如果存在最大计数
                    idx = CInt(max1) + 1 '获得最大计数,并加1
                Else
                    idx = 1 '否则计数等于1
                End If
                e.DataRow("计数") = idx
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 14:54:00 [显示全部帖子]

 看楼上

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 15:02:00 [显示全部帖子]

肯定会变化啊

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 15:02:00 [显示全部帖子]

只要填入了对应的值就有变化啊

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 15:06:00 [显示全部帖子]

Select Case e.DataCol.Name
    '序号和计数
    Case "日期", "作业ID", "工位机ID"
        If e.DataRow.IsNull("日期") Then
            e.DataRow("序号") = Nothing
        Else
            Dim max,max1 As String '最大序号
            Dim idx As Integer
            max = e.DataTable.Compute("Max(序号)","[_Identify] <> " & e.DataRow("_Identify")) '取得最大序号
            If max > "" Then '如果存在最大序号
                idx = CInt(max) + 1 '获得最大序号,并加1
            Else
                idx = 1 '否则序号等于1
            End If
            e.DataRow("序号") = idx
            Dim rq As String = e.DataRow("日期")
            Dim gwjid As String = e.DataRow("工位机ID")
            Dim zyid As String = e.DataRow("作业ID")
            'max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
            max1 = e.DataTable.Compute("Max(计数)","[日期] = '"& rq &"' And [作业ID] = '"& zyid &"' And [工位机ID] = '"& gwjid &"' And [_Identify] <> " & e.DataRow("_Identify")) '取得最大计数
            If max1 > "" Then '如果存在最大计数
                idx = CInt(max1) + 1 '获得最大计数,并加1
            Else
                idx = 1 '否则计数等于1
            End If
            e.DataRow("计数") = idx
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/3 15:12:00 [显示全部帖子]

 你加了列名判断,同时也对序号进行了判断

 回到顶部