![](/img/trans.png)
[英]Crystal Reports combine fields in string formula, one field no data
[英]Crystal Reports 13. Formula to extract part of string
我正在使用水晶报表 13。
我的数据中有一个字段,其中包含一个包含不同时间的字符串。
示例:0010800; 0011000; 0011200; 0011400; 0011600; 0011800; 0011900 0010000; 0010600; 0011200; 0011409; 0011415; 0011415; 0011415; 0011800; 00110000; 00110000; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011800》;
提取“;”前四位数字的最佳方法是什么? 对于第一行,我需要看到这样的内容:
“08:00、10:00、12:00、14:00、16:00、18:00 和 19:00”
谢谢伊恩
Local Stringvar inString = {Table.FieldName};
Local Stringvar arr := Split(inString, ";");
For i := 1 To Count (arr)
(
arr[i] := MID(arr[i],4,5) + ":" + MID(arr[i],6,7);
)
我相信上面的方法应该起作用,将变量inString
设置为包含数据的字段的值。 将其拆分为一个数组,并在每个数组上拆分;
。
然后遍历该数组,将每个条目复制回原处,仅保留最后四个字符,并在中间插入:
。 然后,您可以随意对阵列进行任何操作。
Local stringVar i;
Local Stringvar inString = {Table.FieldName};
Local stringVar array arr := Split(inString, ";");
for i := 1 to Count (arr) do
(
arr[i] := Mid(arr[i],4,5) + ":" + Mid(arr[i],6,7);
)
我知道这是一个非常古老的话题,但因为代码对我有帮助,所以我想发布这个解决方案。 我不得不做一些小的调整才能让它发挥作用。 以防其他人像我一样偶然发现这个话题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.