以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]计算日期最小值问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135113)

--  作者:81538475
--  发布时间:2019/5/17 10:30:00
--  [求助]计算日期最小值问题

我现在希望计算不同列的日期最小值,这个如何处理呢下面的方式好像不行。

 

    Dim StartDate As Date = tbl.Compute("MIN(Math.min(min(计划开始),min(实际开始)))", "开始时间 IS NOT NULL")


--  作者:y2287958
--  发布时间:2019/5/17 10:56:00
--  
同一行不同列?
--  作者:81538475
--  发布时间:2019/5/17 11:25:00
--  

嗯。是。

我后来改成这样,

但是在生成甘特图的时候会卡住

Dim Sd1 As Date = tbl.Compute("Min(计划开始)", "计划开始 IS NOT NULL")
Dim Sd2 As Date = tbl.Compute("Min(实际开始)", "实际开始 IS NOT NULL")
Dim SD3 As Date = tbl.Compute("Max(计划结束)","计划结束 IS NOT NULL")
Dim SD4 As Date = tbl.Compute("Max(实际结束)","实际结束 IS NOT NULL")
Dim StartDate As Date
Dim EndDate As Date
If sd1 <= SD2 Then
    StartDate= SD1
Else
    StartDate = SD2
End If


If sd3 >= SD4 Then
    EndDate= sd3
Else
    EndDate = sd4
End If

[此贴子已经被作者于2019/5/17 11:27:36编辑过]

--  作者:y2287958
--  发布时间:2019/5/17 11:47:00
--  
如果是同一行的不同列,为何用到Compute,不明白,最好上实例
--  作者:有点甜
--  发布时间:2019/5/17 12:05:00
--  

 

做一个例子发上来测试。尽量不要在drawcell写太耗时代码,不然会影响效率。