根据实际时间INFOPATH设置默认值

时间:2015-03-03 13:30:21

标签: datetime infopath dropdownbox

我尝试根据当前时间在DropDown框中设置默认值。 (substring-after(now()," T"))

更具体地说,我希望我的DropDown框具有默认值

  • " AM"如果当前时间在06:00:01到12:00:00之间。
  • " PM"如果当前时间在12:00:01和18:00:00之间。
  • " NIGHT"如果当前时间在18:00:01和06:00:00之间。

我试过"规则"和"设置默认值"但无法找到解决方案。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

获取小时和秒数并将其放入字段。

A - 小时 B - 秒

  • A> = 6且B> 0 OR A =< 12和B = 0 --->的 AM
  • 如果A> = 12且B> 0 OR A =< 18和B = 0 --->的 PM
  • 如果A> = 18且B> 0 OR A =< 6和B = 0 --->的 NIGHT

答案 1 :(得分:0)

我找到了一种方法,我在一个字段中放了几个小时(我觉得这不是绝对必要的,但后面的公式更清楚了)然后我将DropDown Box公式的默认值设置为:

concat(substring("AM", 1, (field4 < 12) * string-length("AM")), substring("PM", 1, (not(field4 < 12)) * string-length("PM")))

field4是当我使用该公式提取当天的当前小时时的字段:

substring-before((substring-after(now(), "T")), ":")

您可以在此处找到有关此应用的有用提示: http://blogs.msdn.com/b/infopath/archive/2006/11/27/conditional-default-values.aspx