以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字符转换为数值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21042)

--  作者:chnfo
--  发布时间:2012/6/28 11:50:00
--  字符转换为数值
第一列是日期。
我想在第二列设表达式,取第一列的年份+1.
例如第一列日期为2012-12-25,我想一次性在第二列中计算为2013

本来加一个辅助列,把这一列设为整数,然后用 SubString(Convert([日期],\'System.String\'),1,4) 取年,然后在第三列中再设表达式=第二列+1
这样也可以实现,但是我要执行的判断比较复杂,如果要完整地判断要增加好多个辅助列。


后来想了想,能不能用convert(取年公式,\'system.int32\')+1作为表达式呢,结果是提示:
表达式错误,如果 确定表达式无语法错误,且参与运算的各列的名称准确无误,那么请检查各列的数据类型是否正确,例如只有数值列才能参与加减乘除等数学运算.

请教这个问题如何解决.

另外还想问一个全局变量的使用问题.
例如我假定每个月开始的日期是某一个值,比如15号,这个变量是全局共用的,也就是2-16号要算到3月份,而2-14是算到2月份.
要在所有的地方都要用到这个变量该如何设置,以及如何引用它?

--  作者:程兴刚
--  发布时间:2012/6/28 12:19:00
--  
用数据列,利用代码实现,一个辅助列也不需要!
--  作者:chnfo
--  发布时间:2012/6/28 13:06:00
--  
这不是为了简单快捷嘛,大佬.
本打算能用表达式搞定的,就不用麻烦用代码了………………

--  作者:程兴刚
--  发布时间:2012/6/28 13:34:00
--  
认为简单,系统多了累赘,得不偿失的事尽量少干!
--  作者:狐狸爸爸
--  发布时间:2012/6/28 14:50:00
--  
关于全局变量,代码可以在任何地方引用,表达式是不能引用全局变量的
--  作者:chnfo
--  发布时间:2012/7/31 14:45:00
--  
其实使用数据列在很多地方优于表达式。
整个地看完帮助,感觉如果要做一个稍复杂的软件,尽可能利用数据列要更好一点。
谢谢。