下标必须介于1和影响Date转换的数组大小之间

时间:2014-05-28 14:05:53

标签: arrays crystal-reports subscript

我有一个公式,它采用的数组输出的数字就像这个05/28/14,需要将其格式化为日期。我正在使用此代码,它告诉我“下标必须介于1和数组的大小之间。”。我认为问题出在我的月份字段中,但我不确定。

stringvar array dates;
numbervar d;  
numbervar m;  
numbervar y;  
dates := split({custinvd.cid-sparedate},",");  
d := val(right(dates[1],2));  
m := tonumber(dates[2]);
y := val(left(dates[3],4));  
cdate(d,m,y);

1 个答案:

答案 0 :(得分:0)

假设{custinvd.cid-sparedate}的格式始终为" 04/14/2014;?;?; ??;?"然后你可以通过简单地剥离问号和分号分隔符并使用CR中的date()函数将其转换为日期:

date(split({custinvd.cid-sparedate},";")[1])

或者,如果你总是有前导零,你甚至可以使用

date(left({custinvd.cid-sparedate},10))