以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态合成表达式问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115190)

--  作者:13861676007
--  发布时间:2018/3/2 14:16:00
--  动态合成表达式问题
请教老师:我在表datacolchanged 中
If e.DataCol.Name = "余额" Then
    Dim dma,dmb As String
    Dim sda As Integer
    Dim jea As Double
    Dim dra As DataRow
    For Each dr As Row In Tables("科目初始数据表").Rows
        If dr("编辑") = False Then
            dma = dr("科目代码")
           sda = dma.Length
           dmb = dma.SubString(0,sda-3)
            Do While sda>4
               \'计算上一级科目的合计数
                jea = Tables("科目初始数据表").Compute("sum(余额)","len(科目代码)=" & sda And "substring(科目代码,1,sda-3) = \'" & dmb & "\'")
               \'找上一级代码
               dra = DataTables("科目初始数据表").Find("科目代码 = \'" & dmb & "\'")
               If dra IsNot Nothing Then
                  dra("余额") = jea
               End If 
               sda = sda -3
               dmb = dmb.SubString(0,sda-3)
            Loop
        End If
   Next
End If
   运行中:jea = Tables("科目初始数据表").Compute("sum(余额)","len(科目代码)=" & sda And "substring(科目代码,1,sda-3) = \'" & dmb & "\'")这行代码
出现:详细错误信息:
调用的目标发生了异常。
从字符串“len(科目代码)=7”到类型“Long”的转换无效。
输入字符串的格式不正确。
请教代码如何修改?


--  作者:有点甜
--  发布时间:2018/3/2 14:28:00
--  
            jea = Tables("科目初始数据表").Compute("sum(余额)","len(科目代码)=" & sda & " And substring(科目代码,1," & sda-3 & ") = \'" & dmb & "\'")
--  作者:13861676007
--  发布时间:2018/3/2 14:45:00
--  
好了,谢谢老师,能否解析一下?
--  作者:有点甜
--  发布时间:2018/3/2 17:21:00
--  
以下是引用13861676007在2018/3/2 14:45:00的发言:
好了,谢谢老师,能否解析一下?

 

参考

 

http://www.foxtable.com/webhelp/scr/1284.htm