Foxtable(狐表)用户栏目专家坐堂 → [求助]代码出错,到类型"double"的转换无效(已解决)


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

主题:[求助]代码出错,到类型"double"的转换无效(已解决)

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 8:04:00 [显示全部帖子]

问题在这行:

 

dr("绩效奖_累计已兑") = " '" & dr("绩效奖_累计兑现") & "' And 单位 = '" & dr("单位") & "'And 日期 =# '" & syd & "'#"

dr("绩效奖_累计已兑")应该只接受数值的,可以你现在是将一个字符串赋值给他,当然出错的。

 

应该用Compute计算一个值再赋值:

 

http://www.foxtable.com/help/topics/0393.htm

 

 


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 22:49:00 [显示全部帖子]

规则是什么?

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 23:06:00 [显示全部帖子]

为什么不会呢? 不就是find出符合条件的行吗?

 

Select Case e.DataCol.Name
    Case "日期","单位"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("日期") OrElse dr.IsNull("单位") OrElse dr("绩效奖_累计兑现") = 0 Then
            dr("绩效奖_累计已兑") = 0
        Else
            Dim mydate As Date = dr("日期")
            If mydate.month = 1 Then
                dr("绩效奖_累计已兑")  = 0
            Else
                mydate= mydate.AddMonths(-1)
                mydate = New Date(mydate.year,mydate.month,Date.DaysInMonth(mydate.Year,mydate.month))
                Dim dr1 As DataRow = e.DataTable.Find("单位 = '" & dr("单位") & "'And 日期 =# '" & mydate & "'#")
                If dr1 IsNot Nothing Then
                    dr("绩效奖_累计已兑") = dr1("绩效奖_累计兑现")
                Else
                    dr("绩效奖_累计已兑")  = 0
                End If
            End If
        End If
End Select


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 23:15:00 [显示全部帖子]

将这行:

 

Dim dr1 As DataRow = e.DataTable.Find("单位 = '" & dr("单位") & "'And 日期 =# '" & mydate & "'#")


改为:

 

 Dim dr1 As DataRow = e.DataTable.Find("单位 = '" & dr("单位") & "' And 日期 = #" & mydate & "#")

[此贴子已经被作者于2011-10-21 23:16:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 23:26:00 [显示全部帖子]

设置完成之后,对于已经有的数据,要重置日期或单位列一次,才会生效。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/10/21 23:29:00 [显示全部帖子]

磨刀不误砍柴工,建议你暂停开发,重看开发指南中《foxtable编程》这一章两遍。

通过这个帖子,可以看出你一些基本的概念和方法没有掌握,不宜进行下一步的开发。

[此贴子已经被作者于2011-10-21 23:30:32编辑过]

 回到顶部