以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  查询表可以用代码将为0的单元格设置为Nothing,希望表达式列也可以  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10756)

--  作者:reachtone
--  发布时间:2011/6/22 8:48:00
--  查询表可以用代码将为0的单元格设置为Nothing,希望表达式列也可以

如题。这样在写addcol时,就可以简化表达式代码了。


--  作者:mr725
--  发布时间:2011/6/22 8:56:00
--  
Null 好像可以呀 , http://www.datasoft.com.cn/dispbbs.asp?boardid=2&Id=10752 3楼的代码就是根据你“关于专业统计工具的问题”一贴中10楼代码改写的,即生成统计表时,数量、金额变为空值。
[此贴子已经被作者于2011-6-22 9:51:36编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/6/22 9:02:00
--  
是的,可以的
--  作者:reachtone
--  发布时间:2011/6/22 10:59:00
--  

用事实说话:

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


--  作者:狐狸爸爸
--  发布时间:2011/6/22 11:28:00
--  
Dim t As Table = Tables("表A")
t.DataTable.DataCols.Add("测试列",Gettype(Double), "IIf([工资]/444-1 = 0 ,Null,[工资]/444-1 = 0)")

--  作者:reachtone
--  发布时间:2011/6/22 11:35:00
--  

我知道这样,我就是想简化代码的。请看看我一楼的发帖意思。。

用了Combine组合统计结果,后面添加了一堆的addcol,再加上判断,看着一堆重复的代码都烦


--  作者:狐狸爸爸
--  发布时间:2011/6/22 12:15:00
--  
呵呵,这个简化不了的
--  作者:mr725
--  发布时间:2011/6/22 12:29:00
--  

t.Current("测试列") = Nothing  改为:

 

t.DataTable.dataCols("测试列").Expression = ""
t.DataTable.dataCols("测试列").Expression = Nothing     \'  或 "Null"


--  作者:reachtone
--  发布时间:2011/6/22 13:10:00
--  
以下是引用mr725在2011-6-22 12:29:00的发言:

t.Current("测试列") = Nothing  改为:

 

t.DataTable.dataCols("测试列").Expression = ""
t.DataTable.dataCols("测试列").Expression = Nothing     \'  或 "Null"

 

这样一搞,表达式列的数据就全没了。我只是想将0设置为空。

 

现在只能在表达式列增加判断了。

看看Combine后的扫尾工作,不但要增加表达式列,还要调整列位置,还要隐藏不需要的列,看着这堆没有任何技术含量的代码都很烦:

 


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

--  作者:hhbb
--  发布时间:2011/6/22 13:28:00
--  
哈哈,同烦!
不过应该可以简化点:利用数组及For ...Next
[此贴子已经被作者于2011-6-22 13:30:22编辑过]