以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158703)

--  作者:爱相随
--  发布时间:2020/11/30 9:12:00
--  代码
下面是一张表的表属性代码。
没有加上红色区域部分代码时没有什么问题,加上红色区域代码后提示如下错误(他们都包含有代码:Dim filter1 As String = "zwbm = \'" & e.DataRow("zwbm")  & "\',为什么前面的不提示错误,后面加上的就要提示错误??):
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.6.12.1
错误所在事件:表,融资贷款1年内到期统计表, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“zwbm = \'D520199-9152011573095676”到类型“Long”的转换无效。
输入字符串的格式不正确。
表属性代码为:
Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "rq" OrElse dc.Name = "时间长度" Then
    If dr.IsNull("rq") OrElse dr.IsNull("时间长度") Then
        dr("一年后日期") = Nothing
    Else
        dr("一年后日期") = dr("rq").AddYears(dr("时间长度"))
    End If
End If
If e.DataCol.Name = "zwbm" Then
    Dim filter1 As String = "zwbm = \'" & e.DataRow("zwbm")  & "\'And rq <= \'" & e.DataRow("rq") & "\'"
    e.DataRow("本月余额") = DataTables("xzfkmxb").Compute("sum(币种金额)",filter1) - DataTables("hbmxb").Compute("sum(币种金额)",filter1 )
End If

If e.DataCol.Name = "zwbm" Then
    Dim filter2 As String = "zwbm = \'" & e.DataRow("zwbm")  & "\' And nd = \'" & e.DataRow("nd") & "\'And yf = \'" & e.DataRow("yf") & "\'"
    e.DataRow("本月增加") = DataTables("xzfkmxb").Compute("sum(币种金额)",filter2 )
    e.DataRow("本月减少") = DataTables("hbmxb").Compute("sum(币种金额)",filter2 )
    
End If

If e.DataCol.Name = "zwbm" Then
    Dim filter3 As String = "zwbm = \'" & e.DataRow("zwbm")  & "\'"
    e.DataRow("一年内") = DataTables("hbfxjhb").Compute("sum(人民币金额2)",filter3 And "rq > \'" & e.DataRow("rq") & "\'and rq <= \'" & e.DataRow("一年后") & "\'")
    
End If

If e.DataCol.Name = "zwbm" Then
    Dim filter4 As String = "zwbm = \'" & e.DataRow("zwbm")  & "\'"
    e.DataRow("一年后") = DataTables("hbfxjhb").Compute("sum(人民币金额2)",filter4 And "rq > \'" & e.DataRow("rq") & "\'")
End If

--  作者:有点蓝
--  发布时间:2020/11/30 9:19:00
--  

e.DataRow("一年内") = DataTables("hbfxjhb").Compute("sum(人民币金额2)",filter3 & " And rq > \'" & e.DataRow("rq") & "\' and rq <= \'" & e.DataRow("一年后") & "\'")