考场预约案例

1. 简介

1.1 场景简介

考场预约时,有多个考场,每个考场都有最多人数限制,报名时,如第一考场没报满,则必须选第一考场;如第一个考场的人数满了后,如果第二考场还有空位,可以选第二考场,以此类推。

1.2 解决方法

通过聚合表计算每个考场的剩余座位,将剩余位置通过数据联动调用到预约表中,通过子表序号,显示出最小序号对应的考点。

1.3 预期效果

每次提交报名表时,剩余位置都会对应减少,当本考场剩余位置小于等于 0 时,则自动预约到下一考场。(子表单在实际应用中可以设置为不可见)


2. 操作步骤

2.1 配置基础表单

注:基础表单部分可以直接安装 考场预约案例 模板,模板包含了基础表单的字段配置,安装后可直接从【2.2 聚合表设置】的步骤进行设置。

1)首先创建一个「考场基础表」,表单中录入考场名称及其最大容纳人数信息,其中最大容纳人数字段选用 数字字段

2)创建「预约报名表」,预约报名人数选用 数字字段,设置默认值为 1。

3)「预约报名表」中添加一个子表单,设置默认值,从小到大记录序号和考场名称。

注:剩余字段配置完聚合表再设置。

2.2 配置聚合表

1)新建一个 聚合表,数据来源选择多表关联,关联表选择「考场基础表」和「预约报名表」,关联字段设置为(预约)考场。

2)聚合表的行表头选择考场,指标为剩余可报名人数:最大容纳人数-预约报名人数

2.3 表单关联设置

1)对「考试预约报名表」中子表单的剩余位置设置 数据联动,联动表单为聚合表,当聚合表的考场等于子表单的考场时,剩余位置联动出聚合表中的剩余可报名人数。

2)子表单中的序号辅助字段设置公式为:

IF(子表单.剩余位置>0,子表单.序号,"")

表示当剩余位置的数字大于 0 时,则该字段显示对应考场的序号,否则为空。

3)「考试预约报名表」中的最小考场序号设置公式为:

MIN(子表单.序号辅助)

表示最小考场序号的值为序号辅助的最小值。

4)对子表单中的最小考场字段设置公式为:

IF(AND(子表单.序号辅助==最小考场序号,ISEMPTY(子表单.考场)==0),子表单.考场,"")

表示只有当本行序号辅助字段的值等于最小考场序号,且子表单的考场名称不为空时,最小考场的显示为当前行的考场名称,否则为空。

5)「考试预约报名表」中的预约考场字段设置公式为:

CONCATENATE(子表单.最小考场)

显示计算出的最小考场。

最后将子表单和最小考场序号字段设置为不可见,即可完成报名表的设置。

3. 效果演示

如第一考场最多容纳 10 人,前 10 人提交报名表的预约考场都为第一考场,当 10 个人提交报名表后,第 11 个人提交报名表则显示预约考场为第二考场




Useful?
 Yes
 No
Have these problems ?
When you need help immediately, please Contact support