0

寻求您的帮助。我正在尝试按降序对日期数组进行排序,但无济于事。

这是我的代码片段:

Dim sortValue as Variant

Dim sortValueResult as Variant

Dim r1 as String

SortValue = entry.Columnvalues(1)

' The values are (0) 19/5/2018 and (1) 26/5/2018

r1 = Join(sortValue, ";")

sortValueResult = Evaluate ( {@Sort("} & r1 & {";[DESCENDING])}) `

我得到了 2018 年 19 月 5 日;2018 年 5 月 26 日

2018 年 5 月 26 日必须在 2018 年 5 月 19 日之前出现。

有谁能够帮我?

谢谢你。

4

1 回答 1

2

@Sort可以在日期列表上工作,但您没有传入列表。您正在传递一个字符串。

在 Notes 公式语言语法中,列表由以“:”字符分隔的元素表示;带有“;”的字符串表示 characters 实际上不是一个列表。@Explode您可以使用and在字符串和列表格式之间来回切换@Implode,但输出@Explode始终是文本列表,而不是日期列表。你可以用 来处理这个问题@TextToTime,但你真的不如直接创建列表符号来避免这种情况。您需要用方括号将每个数据字符串括起来以将其转换为日期常量,并用冒号分隔它们 - 将它们全部放在 LotusScript 字符串中。

在进行 Evaluate 调用之前,这样的东西(未经测试)应该将其放入正确的列表符号中:

forall r in r1
  r = "[" + r + "]"         ' [19/5/2018] is proper date constant notation
end forall
r1 = Join(sortValue, ":")   ' colon is list separator
' result here should be r1 = "[9/5/2018] : [26/5/2018]"
于 2018-05-22T12:25:27.373 回答