Foxtable(狐表)用户栏目专家坐堂 → 序时账的代码


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

主题:序时账的代码

帅哥哟,离线,有人找我吗?
爱相随
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
序时账的代码  发帖心情 Post By:2020/12/27 14:02:00 [只看该作者]

下面是借助序时账代码改造的,提示错误在MessageBox.Show(0)和MessageBox.Show(1)之间,哪位高手能指点一下错误的原因吗??拜谢啦!!

提示错误如下:
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.6.12.1
错误所在事件:表,科目汇总表, DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

Select Case e.DataCol.Name
    Case "科目编码","借方合计","贷方合计"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And 科目编码 = '" & mr("科目编码") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
 MessageBox.Show(0)           
            If dr("方向") = "借" Then
                If dr("方向2") = "借" Then
                    If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    End If
                    
                Else
                    If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计")
                        dr("方向1") = "借"
                    End If
                    
                End If
MessageBox.Show(1)
            ElseIf dr("方向") = "贷" Then
                If dr("方向2") = "贷" Then
                    If dr("期初金额1") - dr("借方合计") + dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    End If
                    
                Else
                    If dr("期初金额1") - dr("贷方合计") + dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") + mr("贷方合计") - mr("借方合计")
                        dr("方向1") = "贷"
                    End If
                    dr = mr
                End If
            Else
                If dr("方向2") = "借" Then
                    If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    End If
                    
                Else
                    If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计")
                        dr("方向1") = "借"
                    End If
                    dr = mr
                End If
            End If
         End If   
            drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And 科目编码 = '" & dr("科目编码") & "'", "[_SortKey]")
            For i As Integer = 1 To drs.Count - 1
                drs(i)("期初金额1") = drs(i-1)("期末金额")
                drs(i)("方向2") = drs(i-1)("方向1")
            Next
            MessageBox.Show(2)
            If e.DataCol.Name = "科目编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
                dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And 科目编码 = '" & e.OldValue & "'", "[_SortKey] Desc")
                If dr Is Nothing Then
                    dr = e.DataTable.Find("科目编码 = '" & e.OldValue & "'", "[_SortKey]")
                    MessageBox.Show(3)
                    If dr IsNot Nothing Then
                        If dr("方向") = "借" Then
                If dr("方向2") = "借" Then
                    If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    End If
                    
                Else
                    If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计")
                        dr("方向1") = "借"
                    End If
                    dr = mr
                End If
            ElseIf dr("方向") = "贷" Then
                If dr("方向2") = "贷" Then
                    If dr("期初金额1") - dr("借方合计") + dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    End If
                    
                Else
                    If dr("期初金额1") - dr("贷方合计") + dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") + mr("贷方合计") - mr("借方合计")
                        dr("方向1") = "贷"
                    End If
                    dr = mr
                End If
            Else
                If dr("方向2") = "借" Then
                    If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计")
                        dr("方向1") = "借"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    End If
                    
                Else
                    If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then
                        mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计")
                        dr("方向1") = "贷"
                    Else
                        mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计")
                        dr("方向1") = "借"
                    End If
                    dr = mr
                End If
            End If
         End If  
      End If 
                MessageBox.Show(4)
                If dr IsNot Nothing Then
                    drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And 科目编码 = '" & dr("科目编码") & "'", "[_SortKey]")
                    For i As Integer = 1 To drs.Count - 1
                        drs(i)("期初金额1") = drs(i-1)("期末金额")
                    Next
                End If
            End If
    End Select

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/27 21:25:00 [只看该作者]

       If dr Is Nothing Then ---dr Is Nothing说明dr是空值,dr不存在任何数据
dr=mr
 MessageBox.Show(0)           
            If dr("方向") = "借" Then
                If dr("方向2") = "借" Then

 回到顶部