以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  报表中 时间 列格式的处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75514)

--  作者:lake163
--  发布时间:2015/10/9 20:09:00
--  报表中 时间 列格式的处理
在报表中,对于时间列的格式作如下处理:
   <iif([出生时间]="","",Format([出生时间],"yyMM"))>

对于年份第三位数为0的年份,会现出 yMM的情况,如2001年6日,生成的是106,而不能象在表中显示的“0106”
在EXCEL报表中,将单元格格式设定为文本,也不能解决这一问题。

请问如何办?

--  作者:大红袍
--  发布时间:2015/10/9 20:28:00
--  
不会 msgbox(format(cdate("2001-1-1"),"yyMM"))
--  作者:大红袍
--  发布时间:2015/10/9 20:34:00
--  

测试了一下,excel报表会,变通一下

 

<right(format([日期],"yyyyMM"),4)>


--  作者:lake163
--  发布时间:2015/10/9 20:45:00
--  
老师啊!我没看明白呀。

我指的是生成 Excel或Word 报表 时,对于日期类内容 生成 YYMM 或 YY-MM 格式,前面的0不能省略,如06-11等,

在TABLE中,使用DRAWcell 事件,和  Format([出生时间],"yyMM") 能达到这种要求

但不论是WORD,还是EXCEL报表中;不论是YYMM,还是YY-MM都不行;
将EXCEL单元格设置为文本 或 YY-MM格式也不行

都会自动省略掉前面的 0



--  作者:大红袍
--  发布时间:2015/10/9 20:51:00
--  

<iif([出生时间]="","",right(format([出生时间],"yyyyMM"),4))>


--  作者:lake163
--  发布时间:2015/10/9 22:42:00
--  
太聪明了!