Foxtable(狐表)用户栏目专家坐堂 → 日期列 直接引用 出现 到类型“Long”的转换无效


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

主题:日期列 直接引用 出现 到类型“Long”的转换无效

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


加好友 发短信
等级:幼狐 帖子:115 积分:1014 威望:0 精华:0 注册:2014/11/3 20:24:00
日期列 直接引用 出现 到类型“Long”的转换无效  发帖心情 Post By:2016/1/21 18:20:00 [只看该作者]

If e.DataCol.Name = "日期" Then
Dim rq As Date = dr("日期")

 dr("敏福_发货数量") = fh.Compute("Sum(发货数量)","发货日期 = '" & rq & "'"  And "发货单位 = '敏福 '")

.NET Framework 版本:2.0.50727.5483
Foxtable 版本:2015.12.22.1
错误所在事件:表,销售日报,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“发货日期 = '2016-01-19'”到类型“Long”的转换无效。
输入字符串的格式不正确。

求专家指点

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 18:21:00 [只看该作者]

dr("敏福_发货数量") = fh.Compute("Sum(发货数量)","发货日期 = '" & rq & "' And 发货单位 = '敏福'")

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


加好友 发短信
等级:幼狐 帖子:115 积分:1014 威望:0 精华:0 注册:2014/11/3 20:24:00
非常感谢 原来是引号的问题  发帖心情 Post By:2016/1/21 18:24:00 [只看该作者]

非常感谢 原来是引号的问题

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


加好友 发短信
等级:幼狐 帖子:115 积分:1014 威望:0 精华:0 注册:2014/11/3 20:24:00
  发帖心情 Post By:2016/1/21 18:36:00 [只看该作者]

如果条件  日期   或者 发货单位 在记录表中不存在   此结果为空 如何返回 0

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 18:43:00 [只看该作者]

dim d As Double = fh.Compute("Sum(发货数量)","发货日期 = #" & rq & "# And 发货单位 = '敏福'")

If d = nothing Then

    dr("敏福_发货数量") = 0

Else

    dr("敏福_发货数量") = d

End If


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


加好友 发短信
等级:幼狐 帖子:115 积分:1014 威望:0 精华:0 注册:2014/11/3 20:24:00
  发帖心情 Post By:2016/1/21 19:07:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:实例.jpg
图片点击可在新窗口打开查看
像这样的 后边还有几十列  每一列都判断的   有没有简便的方法 空的单元格全部 填充成0

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 20:40:00 [只看该作者]

写成循环的方式

 

Dim cs1() As String = {"发货数量", "其它列名"}
Dim cs2() As String = {"敏福", "其它列名"}

For i As Integer = 0 To cs1.Length - 1
    Dim d As Double = fh.Compute("Sum(" & cs1(i) & ")","发货日期 = #" & rq & "# And 发货单位 = '" & cs2(i) & "'")
   
    If d = Nothing Then
        dr(cs1(i) & "_" & cs2(i)) = 0
    Else
        dr(cs1(i) & "_" & cs2(i)) = 0
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/21 20:42:00 [只看该作者]

你也可以这样写

 

Dim cs1() As String = {"发货数量", "其它列名"}

For Each c As String In cs1
    If e.DataRow.Isnull(c) ten
        e.DataRow(c) = 0
    End If
Next


 回到顶部