以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 日期列 直接引用 出现 到类型“Long”的转换无效 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80390)
|
-- 作者:celchentao
-- 发布时间:2016/1/21 18:20:00
-- 日期列 直接引用 出现 到类型“Long”的转换无效
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”的转换无效。 输入字符串的格式不正确。
求专家指点
|
-- 作者:大红袍
-- 发布时间:2016/1/21 18:21:00
--
dr("敏福_发货数量") = fh.Compute("Sum(发货数量)","发货日期 = \'" & rq & "\' And 发货单位 = \'敏福\'")
|
-- 作者:celchentao
-- 发布时间:2016/1/21 18:24:00
-- 非常感谢 原来是引号的问题
非常感谢 原来是引号的问题
|
-- 作者:celchentao
-- 发布时间:2016/1/21 18:36:00
--
如果条件 日期 或者 发货单位 在记录表中不存在 此结果为空 如何返回 0
|
-- 作者:大红袍
-- 发布时间: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
-- 发布时间:2016/1/21 19:07:00
--
此主题相关图片如下:实例.jpg
像这样的 后边还有几十列 每一列都判断的 有没有简便的方法 空的单元格全部 填充成0
|
-- 作者:大红袍
-- 发布时间: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
|
-- 作者:大红袍
-- 发布时间: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
|