Foxtable(狐表)用户栏目专家坐堂 → [求助]代码不执行


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

主题:[求助]代码不执行

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/24 20:41:00 [显示全部帖子]

如果是DataColChanged事件,只有重置,或者日期列单元格的值改变才会执行

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/24 20:42:00 [显示全部帖子]

判断是否为空尽量使用isnull

If  e.DataRow.isnull("日期") = falseThen



 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/24 21:24:00 [显示全部帖子]

1、日期没有变
2、没有符合粘贴的日期的数据

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/24 21:36:00 [显示全部帖子]

上例子测试。

用isnull判断就不会出现这个错误提示了

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/24 22:29:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "姓名"
        If  e.NewValue > "" Then
            Dim dr, dr1 As DataRow
            dr1 = DataTables("分摊目录").Find("[百度禁止分摊] = '" & e.DataRow("姓名") & "'")
            If dr1 IsNot Nothing Then
                e.DataRow("费用") = 1
            Else
                e.DataRow("费用") = Nothing
            End If
            If  e.DataRow.IsNull("日期") = False Then
                dr = DataTables("分摊目录").Find("[姓名] = '" & e.DataRow("姓名") & "' and [日期]=#" & e.DataRow("日期") & "#")
                If dr IsNot Nothing Then
                    e.DataRow("离四") =1
                Else
                    e.DataRow("离四") = Nothing
                End If
            End If
        Else
            e.DataRow("费用") = Nothing
        End If
    Case "日期"
        If  e.DataRow.IsNull("日期") = False Then
            Dim dr, dr1 As DataRow
            dr = DataTables("分摊目录").Find("[姓名] = '" & e.DataRow("姓名") & "' and [日期]=#" & e.DataRow("日期") & "#")
            If dr IsNot Nothing Then
                e.DataRow("离四") =1
            Else
                e.DataRow("离四") = Nothing
            End If
            
            Dim gd,gd1,gd2,gd3,gd4,gd5,gd6 As Double
            gd = DataTables("商务通参与邀请").Compute("Sum(费用)","[日期] = '" & e.NewValue & "'" )
            gd1 = DataTables("商务通参与邀请").Compute("Sum(离四)","[日期] = '" & e.NewValue & "'" )
            gd2 = DataTables("网站消费").Compute("Sum(点击)","[日期] = '" & e.NewValue & "'")
            gd3 = DataTables("网站消费").Compute("Sum(消费)","[日期] = '" & e.NewValue & "'")
            gd4 = DataTables("离线宝").Compute("Sum(非重复数量)","[开始时间] = '" & e.NewValue & "'")
            gd5 = DataTables("四零零").Compute("Sum(非重复数量)","[开始时间] = '" & e.NewValue & "'")
            If e.DataRow.Isnull("费用") Then
                e.DataRow("点击") = Nothing
                e.DataRow("消费") = Nothing
            Else
                e.DataRow("点击") = gd2/gd
                e.DataRow("消费") = gd3/gd
            End If
            
            If e.DataRow.Isnull("离四") Then
                e.DataRow("离线宝") = Nothing
                e.DataRow("电话400") = Nothing
            Else
                e.DataRow("离线宝") = gd4/gd1
                e.DataRow("电话400") = gd5/gd1
                
            End If
        Else
            e.DataRow("离线宝") =Nothing
            e.DataRow("电话400")= Nothing
            e.DataRow("点击")= Nothing
            e.DataRow("消费")= Nothing
            e.DataRow("费用")= Nothing
            e.DataRow("离四")= Nothing
        End If
End Select


Dim idx As Integer = Tables("商务通参与邀请").FindRow(e.DataRow)
If idx = Tables("商务通参与邀请").rows.count-1 Then
    DataTables("商务通参与邀请").addnew
End If
[此贴子已经被作者于2017/2/24 22:29:13编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/25 14:16:00 [显示全部帖子]

我测试没有问题,确认你代码改对了

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/25 15:24:00 [显示全部帖子]

在测试了一下没有问题。确认有符合条件的数据

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109705 积分:558235 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/25 15:31:00 [显示全部帖子]

粘贴的顺序是按照单元格从左到右触发的。把姓名列放到日期列前面

 回到顶部