以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何在单元格中做数值判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39177)

--  作者:tfn2000
--  发布时间:2013/8/17 15:28:00
--  [求助]如何在单元格中做数值判断

我刚刚开始学习Foxtable

     自己弄了一个表,有三个列,第一列为起始时间,第二列为结束时间,需要判断前后时间跨度是否超过30天,如果超过30天则在第三列单元格中显示“是”,否则显示“否”,查阅了很多资料,学会了怎么计算两个日期间隔天数,但是不会用表达式进行判断,用execl公式很简单,但是用Foxtable弄不了,请各位大神教教我 谢谢!

[此贴子已经被作者于2013-8-17 15:29:20编辑过]

--  作者:Bin
--  发布时间:2013/8/17 15:30:00
--  
这个需要使用代码实现,表达式不能做到.
--  作者:tfn2000
--  发布时间:2013/8/17 15:47:00
--  
又要在

DataColChanged中编辑代码才可以吗


--  作者:Bin
--  发布时间:2013/8/17 15:50:00
--  
是的
--  作者:tfn2000
--  发布时间:2013/8/17 15:58:00
--  
那在原来进行日期计算式下方接新的计算式会不会出错,我加了内容会出问题
--  作者:Bin
--  发布时间:2013/8/17 16:00:00
--  
上例子.
--  作者:tfn2000
--  发布时间:2013/8/17 16:09:00
--  

Dim d1 As Date = CurrentTable.Current("第1列")
Dim d2 As Date = CurrentTable.Current("第2列")
Dim ts As TimeSpan = d2 - d1
Dim sy As Byte = "是"
Dim sn As Byte = "否"

If e.DataCol.Name = "第1列" OrElse e.DataCol.Name = "第2列"
    If e.DataRow.IsNull("第1列") = False And e.DataRow.IsNull("第2列") = False
        e.DataRow("第3列") = ts.days
    End If
End If


If e.DataCol.Name <> "第3列" AndAlso e.DataCol.IsNumeric
 e.DataRow("是否超过30天") = sy
  Else e.DataRow("是否超过30天") = sn
    End IF

 

出错提示是在更新了日期后出现:

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2013.7.12.1
错误所在事件:
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:Bin
--  发布时间:2013/8/17 16:11:00
--  
请上例子.
--  作者:tfn2000
--  发布时间:2013/8/17 16:12:00
--  
少了判断句……  我再试试
--  作者:tfn2000
--  发布时间:2013/8/17 16:23:00
--  

不会上例子  怎么弄