Foxtable(狐表)用户栏目专家坐堂 → 这段代码错在哪


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

主题:这段代码错在哪

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
这段代码错在哪  发帖心情 Post By:2014/4/20 18:53:00 [显示全部帖子]

这段代码在以前的项目中可以正常运行,移植到新项目后有问题,分析了半天还是没搞定。

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("[日] < " & mr("日") & " And [物料] = '" & mr("物料") & "'", "[日]")
        If dr Is Nothing Then
            mr("库存_数量") = mr("入仓_数量") - mr("出仓_数量")
            'mr("库存_金额") = mr("入仓_金额") - mr("出仓_金额")

            dr = mr
        End If
        drs = e.DataTable.Select("[日] >= " & dr("日") & " And [物料] = '" & dr("物料") & "'", "[日]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("库存_数量") = drs(i-1)("库存_数量") + drs(i)("入仓_数量") - drs(i)("出仓_数量")
            'drs(i)("库存_金额") = drs(i-1)("库存_金额") + drs(i)("入仓_金额") - drs(i)("出仓_金额")

        Next
        If e.DataCol.Name = "物料" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[日] < " & mr("日") & " And [物料] = '" & e.OldValue & "'", "[日]")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[物料] = '" & e.OldValue & "'", "[日]")
                If dr IsNot Nothing Then
                    dr("库存_数量") = dr("入仓_数量") - dr("出仓_数量")
                    'dr("库存_金额") = dr("入仓_金额") - dr("出仓_金额")

                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[日] >= " & dr("日") & " And [物料] = '" & dr("物料") & "'", "[日]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("库存_数量") = drs(i-1)("库存_数量") + drs(i)("入仓_数量") - drs(i)("出仓_数量")
                    'drs(i)("库存_金额") = drs(i-1)("库存_金额") + drs(i)("入仓_金额") - drs(i)("出仓_金额")

                Next
            End If
        End If
End Select
图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/4/20 19:36:00 [显示全部帖子]

以下是引用有点甜在2014-4-20 19:12:00的发言:

 是不是这个 mr("日")  是空值?

 

 自己调试 http://www.foxtable.com/help/topics/1485.htm

 

调试过,错误可能在红色代码处,mr("日")不是空值


 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/4/20 19:48:00 [显示全部帖子]

[日]是字符型

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

 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/4/20 20:05:00 [显示全部帖子]

加了单引号正常了,疑惑的是,相同的代码(没加单引号)在其它一个项目却能正常运行
谢了

 回到顶部