首页 > 解决方案 > MS Access - 分组/子数据查询结果在表单中

问题描述

我在 Access 中为一位同事创建了我的第一个数据库,该数据库的目的是让我的同事能够搜索在三个关键领域(专业领域、行业覆盖范围和地理覆盖范围)具有技能/覆盖范围的个人。该数据库包含以下5个表

  1. 关键个人 (KP) 表
  2. 组织表
  3. 专业领域
  4. 地理覆盖表
  5. 行业覆盖

这三个表(专业领域、地理覆盖范围和行业覆盖范围)具有相同的数据结构,使用地理覆盖范围的示例如下所示:

ID - KPID - AreaName  - GeoCoverage
1  - 1    - Melbourne - Yes
2  - 1    - Sydney    - No
3  - 1    - Hobart    - Yes
4  - 1    - Brisbane  - Yes

然后对每个关键个人重复此操作

关键个人表具有以下结构:

KPID - KPName - OrgID
1    - John   - 1
2    - James  - 1
3    - Molly  - 2

组织表具有以下结构

OrgID - OrgName
1     - Business 1
2     - Company 1

表之间的关系如下所示:

在此处输入图像描述

我创建了一个表单,让我的同事根据三个条件进行过滤,结果随后显示在子表单中,示例如下图所示: 在此处输入图像描述

我的问题是是否有办法按 KPID 对结果进行分组,例如在上面的示例中,我有 12 行 KP7 行,因为它们具有跨多个领域的专业领域(并且尚未过滤专业领域)。仅当未定义所有 3 个标准时,这才是一个问题。

我设想这看起来像 KPID、名称和组织将是顶级行,然后您可以展开(使用 + 符号)以查看个人的各个专业领域。

由于这是我第一次使用 MS Access 并创建数据库,因此我将不胜感激任何其他关于我的数据库和数据结构的评论/反馈。

标签: ms-access

解决方案


当 Access 中的两个表具有一个或多个共同字段时,您可以将一个表中的数据表嵌入到另一个表中。这称为子数据表。这个子数据表最多可以嵌套八层。使用它,您可以获得组织、专业领域、地理覆盖范围和行业覆盖范围的子数据表。有关创建子数据表的方法,请参阅以下链接


推荐阅读