共13 条记录, 每页显示 10 条, 页签:
[1]
[2]
1楼
yyzlxc 发表于:2011/6/11 12:35:00
按年、月分组,因为每月25日为结转日,要求[月]列:月份不等于12,且日期大于25的月份为下个月,如何实现,恳请指教!
[此贴子已经被作者于2011-6-13 12:51:14编辑过]
2楼
ybil 发表于:2011/6/11 13:08:00
参考:
http://www.datasoft.com.cn/dispbbs.asp?boardid=2&id=1084&authorid=0&page=0&star=1
3楼
yyzlxc 发表于:2011/6/11 13:36:00
谢谢 ybil 的指教,其他月份都没有问题,就是十二月份的26-31号还是按12月分组,如何实现,再次请教!!
4楼
yyzlxc 发表于:2011/6/11 13:40:00
还有,1月份的1,最好用01来表示,这样在筛选树上比较美观!!
5楼
ybil 发表于:2011/6/11 14:55:00
IIF(Len(Convert(Convert(SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2)),'System.Int16')+IIF(SUBSTRING(Convert([日期],'System.String'),8,3) in ('-26','-27','-28','-29','-30','-31','26','27','28','29','30','31') and SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1) = '-',1,2))<>'12',1,0),'System.String')) = 1,'0', '')+Convert(Convert(SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2)),'System.Int16')+IIF(SUBSTRING(Convert([日期],'System.String'),8,3) in ('-26','-27','-28','-29','-30','-31','26','27','28','29','30','31') and SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1) = '-',1,2))<>'12',1,0),'System.String')
6楼
yyzlxc 发表于:2011/6/11 15:25:00
谢谢 ybil 的指教,表达式可以达到要求,需要消化一下,再次感谢 ybil !!
7楼
yyzlxc 发表于:2011/6/11 20:17:00
参考 ybil 版主的代码,对表达式进行简化如下:
iif(Convert(SUBSTRING(Convert([日期],'System.String'),6,2),'System.Int16')<>12,iif(Convert(SUBSTRING(Convert([日期],'System.String'),9,2),'System.Int16')>25,Convert(Convert(SUBSTRING(Convert([日期],'System.String'),6,2),'System.Int16')+1,'System.String'),SUBSTRING(Convert([日期],'System.String'),6,2)),SUBSTRING(Convert([日期],'System.String'),6,2))
这段代码已经基本符合要求,但是当日期大于25时,月份加1后,1-8月份只能显示一位数,而小于25时可以显示两位数。用字符格式化Format(X,"00") 出错,如何达到与 ybil 版主代码一样的效果,求指教!!
8楼
hhbb 发表于:2011/6/11 21:14:00
iif(Convert(SUBSTRING(Convert([日期],'System.String'),6,2),'System.Int16') < 12,
iif(Convert(SUBSTRING(Convert([日期],'System.String'),9,2),'System.Int16')>25,
'0'+Convert(Convert(SUBSTRING(Convert([日期],'System.String'),6,2),'System.Int16')+1,'System.String')
,SUBSTRING(Convert([日期],'System.String'),6,2)),
SUBSTRING(Convert([日期],'System.String'),6,2))
9楼
yyzlxc 发表于:2011/6/11 21:37:00
谢谢 hhbb ,完全达到理想的效果,通过这段代码,学到不少的知识,非常感谢foxtable论坛的热心人,帮助我树立学习foxtabie的信心!
10楼
hhbb 发表于:2011/6/11 22:35:00
8樓有點問題,修正一下:
IIF(SubString(Convert([日期],'System.String'),6,2) > '09' or SubString(Convert([日期],'System.String'),6,2) = '09' and SubString(Convert([日期],'System.String'),9,2) > '26','','0')+(IIF(SubString(Convert([日期],'System.String'),6,2) = '12' or SubString(Convert([日期],'System.String'),9,2) < '26',0,1)+Convert(SubString(Convert([日期],'System.String'),6,2),'System.Int16'))
或:
IIF(IIF(SubString(Convert([日期],'System.String'),6,2) = '12' or SubString(Convert([日期],'System.String'),9,2) < '26',0,1)+Convert(SubString(Convert([日期],'System.String'),6,2),'System.Int16') > 9,'','0')+(IIF(SubString(Convert([日期],'System.String'),6,2) = '12' or SubString(Convert([日期],'System.String'),9,2) < '26',0,1)+Convert(SubString(Convert([日期],'System.String'),6,2),'System.Int16'))
共13 条记录, 每页显示 10 条, 页签:
[1]
[2]