Foxtable(狐表)用户栏目专家坐堂 → 商务合同管理-自动编号和求和


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

主题:商务合同管理-自动编号和求和

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


加好友 发短信
等级:幼狐 帖子:75 积分:496 威望:0 精华:0 注册:2020/3/6 9:06:00
  发帖心情 Post By:2020/3/23 11:51:00 [只看该作者]

辛苦了,但是还是有点问题,我标框里的计算不会出来
图片点击可在新窗口打开查看此主题相关图片如下:qq图片7.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/3/23 11:51:31编辑过]

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


加好友 发短信
等级:超级版主 帖子:105932 积分:538729 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/23 13:35:00 [只看该作者]

Select Case e.DataCol.Name
    Case "工程数量"
        Dim dr As DataRow
        If e.DataRow("级别") = 2 Then
            dr = e.DataTable.Find("章节 = " & e.DataRow("章节") & " and 级别=" & (e.DataRow("级别") -1 ))
        Else
            dr = e.DataTable.Find("章节 = " & e.DataRow("章节") & " and 级别=" & (e.DataRow("级别") -1 ) & " and '" & e.DataRow("子目号") & "' like 子目号 + '%'")
        End If
        If dr IsNot Nothing Then
            If  dr("级别") > 1
                dr("工程数量") = e.DataTable.Compute("sum(工程数量)","章节 = " & e.DataRow("章节") & " and 级别 = " & e.DataRow("级别") & " and 子目号 Like '" & dr("子目号") & "-%'")
            Else
                
                dr("工程数量") = e.DataTable.Compute("sum(工程数量)","章节 = " & e.DataRow("章节") & " and 级别 = " & e.DataRow("级别"))
            End If
        End If
        Dim dr2 As DataRow = e.DataTable.Find("子目号 = '全部'")
        If dr2 IsNot Nothing Then
            dr2("工程数量") = e.DataTable.Compute("sum(工程数量)","级别 = 1")
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:75 积分:496 威望:0 精华:0 注册:2020/3/6 9:06:00
  发帖心情 Post By:2020/3/23 15:03:00 [只看该作者]

谢谢版主,这个问题再次解决了。

刚刚的级别是人为的录入,若这个数据有上万行的话,是不是很容易录入错了,可否写个代码来自行识别:”全部“为0级,“第100章”为1级,“101”为2级,“101-1”为3级,“101-1-a”为4级,“101-1-a-1”为5级,其它章节就可以类似的,您说呢,


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


加好友 发短信
等级:幼狐 帖子:75 积分:496 威望:0 精华:0 注册:2020/3/6 9:06:00
  发帖心情 Post By:2020/3/23 15:06:00 [只看该作者]

我感觉是有规律的,全部这个直接可以定义,为0级,第100章可以定义包含“第”,为1级“101”是没有“-”,为2级,101-1是有一个“-”,为3级,101-1-a是有二个“-”,为4级,101-1-a-1是有三个“-”,为5级,

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


加好友 发短信
等级:超级版主 帖子:105932 积分:538729 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/23 15:32:00 [只看该作者]

这种规律自己找找。或者强制使用自己认为方便处理的目录编号方法

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


加好友 发短信
等级:幼狐 帖子:75 积分:496 威望:0 精华:0 注册:2020/3/6 9:06:00
  发帖心情 Post By:2020/3/24 0:22:00 [只看该作者]

If e.Col.Name = "子目号" Then
    If e.Row("子目号").Contains("-") = "false" AndAlso e.Row("子目号").Contains("全部")="false"  AndAlso e.Row("子目号").Contains("第") = "false"  AndAlso e.Row("子目号").Length= "3" Then
        e.Row("级别") = "2"
    Else
        e.Row("级别") = "无级"
       
    End If
    If e.Row("子目号").Contains("-") Then
        e.Row("级别") = e.Row("子目号").Split("-").Length +1
    End If
    If e.Row("子目号").contains("第") Then
        e.Row("级别") = e.Row("子目号").Split("-").Length
    End If
    If    e.Row("子目号").contains("全部")
        e.Row("级别") = e.Row("子目号").Split("-").Length -1
    End If
End If

 回到顶部
总数 36 上一页 1 2 3 4