以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]下面代码错在哪?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7318)

--  作者:抽烟男人
--  发布时间:2010/6/7 12:29:00
--  [求助]下面代码错在哪?

dim mindate as date = DataTables("出货总表").Compute("Min(日期)", "日期 is not null and 品名 <> \'以前余额\' ")
Output.Show(mindate)

 

此代码在命令窗口中可以执行,

但出来的都是0:00:00

在按钮中就提示出错,为什么呢

 


--  作者:狐狸爸爸
--  发布时间:2010/6/7 12:33:00
--  

可能条件不成立吧。

 

我随便建立一个表,测试正常的:

 

Dim mindate as date = DataTables("表A").Compute("Min(日期)", "日期 is not null and 第二列 <> \'b\' ")
Output.Show(mindate)


--  作者:czy
--  发布时间:2010/6/7 12:36:00
--  

没看出问题。

 

其实日期 is not null 是多余的,日期的最小值本来就不包括空值。


--  作者:抽烟男人
--  发布时间:2010/6/7 15:44:00
--  

上传文件,不知道错在哪,

运行代码

dim mindate as date = DataTables("出货总表").Compute("Min(日期)", "日期 is not null and 品名 <> \'以前余额\' ")
Output.Show(mindate)

 

结果还是0:00:00

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


--  作者:狐狸爸爸
--  发布时间:2010/6/7 15:59:00
--  

要考虑没有输入品名的情况:

 

dim mindate as date = DataTables("出货总表").Compute("Min([日期])","品名 <> \'以前余额\' Or 品名 Is Null")
Output.Show(mindate)
 

[此贴子已经被作者于2010-6-7 15:59:36编辑过]

--  作者:抽烟男人
--  发布时间:2010/6/7 16:07:00
--  

品名为空时,也应该<>\'以前余额\'

 

改过来后可以用了,但有点迷糊

如果加上条件

类型不等于\'n\'

要如何写


--  作者:狐狸爸爸
--  发布时间:2010/6/7 16:27:00
--  

空值不参与比较,只能用 IS NUll判断

 

我也认为这非常不合理,不过微软就是这么设计了,我也没有办法。

[此贴子已经被作者于2010-6-7 16:53:55编辑过]