以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  这段代码怎么会将录入的数据变为0呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136558)

--  作者:nxhylczh
--  发布时间:2019/6/15 21:45:00
--  这段代码怎么会将录入的数据变为0呢?
Select Case e.D a t a C o l.Name
    Case "合同金额"
    Dim bmgs As String="422"
    Dim bm As String = e.D a ta Row("项目编码") 
    Dim idx As Integer = 0
    For i As Integer = 0 To bmgs.length-1
        idx += val(bmgs(i))
        If b m .length >= i d x Then
            Dim s As String = b m .S u b String(0, i d x)
            Dim f d r As D a t a R o w = e.D a t a T a b l e.find("项目编码 = \'" & s & "\'")
            If f d r I s Not Nothing
                Dim je As Decimal=e.DataTable.Compute("sum("& e.dataCol.name  & ")", "项目编码 Like \'" & s & "%\' and 项目编码 <> \'" & s & "\'")
                fdr(e.DataCol.name) =je
\'                fdr.Save
            End If
        End If
    Next
\'End If
End S  e  l e ct
录入结束后按回来数据会变为零

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


[此贴子已经被作者于2019/6/16 13:06:33编辑过]

--  作者:有点蓝
--  发布时间:2019/6/17 9:07:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,跟踪下面的提示框都显示什么内容

Select Case e.D a t a C o l.Name
    Case "合同金额"
    Dim bmgs As String="422"
    Dim bm As String = e.D a ta Row("项目编码") 
msgbox("bm=" & bm)
    Dim idx As Integer = 0
    For i As Integer = 0 To bmgs.length-1
        idx += val(bmgs(i))
msgbox("idx=" & idx)
        If b m .length >= i d x Then
            Dim s As String = b m .S u b String(0, i d x)
msgbox("s=" & s)
            Dim f d r As D a t a R o w = e.D a t a T a b l e.find("项目编码 = \'" & s & "\'")
msgbox(fdr Is Not Nothing)
            If f d r I s Not Nothing
                Dim je As Decimal=e.DataTable.Compute("sum("& e.dataCol.name  & ")", "项目编码 Like \'" & s & "%\' and 项目编码 <> \'" & s & "\'")
msgbox("je=" & je)
                fdr(e.DataCol.name) =je
\'                fdr.Save
            End If
        End If
    Next
\'End If
End S  e  l e ct