以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  有的电脑的计算不生效  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137913)

--  作者:fubblyc
--  发布时间:2019/7/18 10:57:00
--  有的电脑的计算不生效
老师,为什么有的电脑的计算不生效呢?
同样的代码有的电脑有,有的电脑没有生效计算
要怎么处理吗~~


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190717113551.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190717114819.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/7/18 10:58:12编辑过]

--  作者:有点蓝
--  发布时间:2019/7/18 11:28:00
--  
连接了错误的数据源?

数据没有加载?

--  作者:fubblyc
--  发布时间:2019/7/18 16:57:00
--  
数据源不会,就只有一个数据源。

相同的程序,在不同的电脑的结果。

这个是用 DataColChanged事件写的计算,不存在加载的问题。

就是有的电脑会这样,很奇怪。。。

--  作者:有点蓝
--  发布时间:2019/7/18 17:37:00
--  
代码发上来看看
--  作者:fubblyc
--  发布时间:2019/7/19 8:33:00
--  
If e.DataCol.Name = "项目" Then
    If e.NewValue Is Nothing Then
        e.DataRow("上日余额") = Nothing
        
    Else
        Dim dr As DataRow
        dr = DataTables("用友账户表").Find("[科目名称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            e.DataRow("上日余额") = dr("昨日余额")
        End If
    End If
    
    If e.DataRow("项目") = "银行账户小计" And e.DataRow("类型") = "A00" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'A00\' and 区分 = \'银行账户\'")
    End If
    
    If e.DataRow("项目") = "线上账户小计" And e.DataRow("类型") = "A00" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'A00\' and 区分 = \'线上账户\'")
    End If
    
    
    If e.DataRow("项目") = "银行账户小计" And e.DataRow("类型") = "C00" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'C00\' and 区分 = \'银行账户\'")
    End If
    
    If e.DataRow("项目") = "线上账户小计" And e.DataRow("类型") = "C00" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'C00\' and 区分 = \'线上账户\'")
    End If
    
    
    If e.DataRow("项目") = "A00合计"  Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'A00\' and (区分 = \'银行账户\' or 区分 = \'线上账户\' or 项目 = \'A00库存现金\') ")
    End If
    
    
    If e.DataRow("项目") = "C00合计" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "类型 = \'C00\' and (区分 = \'银行账户\' or 区分 = \'线上账户\' or 项目 = \'C00库存现金\') ")
    End If
    
    If e.DataRow("项目") = "总计" Then
        e.DataRow("上日余额") = e.DataTable.Compute("sum(上日余额)", "区分 = \'银行账户\' or 区分 = \'线上账户\' or 项目 = \'A00库存现金\' or 项目 = \'C00库存现金\'  ")
    End If
    
End If

--  作者:有点蓝
--  发布时间:2019/7/19 9:14:00
--  
都是使用同一个用户登录测试的吗?

不同用户有没有做数据权限?看看表格数据有没有加载完整,符合这些条件的数据有没有加载?