考场预约案例

楼主
我是社区第352185位番薯,欢迎点我头像关注我哦~

1. 简介

1.1 场景简介

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

 

1.2 解决方法

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

 

1.3 预期效果

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

 

 

 

2. 操作步骤

2.1 配置「考场基础表」

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

 

 

2.2 配置「考试预约报名表」

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

 

 

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

 

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

 

 

2.3 配置聚合表

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

 

 

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

 

 

2.4 表单关联设置

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

 

 

2)子表单中添加一个序号辅助字段,设置公式为:

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

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

 

 

3)「考试预约报名表」中添加一个 数字字段 为最小考场序号,设置公式为:

MIN(子表单.序号辅助)

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

 

 

4)子表单中添加最小考场字段,设置公式为:

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

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

 

 

5)预约考场字段设置公式为:

CONCATENATE(子表单.最小考场)

显示计算出的最小考场。

 

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

 

 

 

3. 效果演示

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

编辑于 2021-8-9 14:04
分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 3301浏览人数
最后回复于:2021-8-9 11:56

返回顶部 返回列表