首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多对多(一张桌子)的设计

多对多(一张桌子)的设计
EN

Stack Overflow用户
提问于 2019-09-28 10:00:08
回答 1查看 48关注 0票数 2

我想知道是否有人帮助设计这个表单,因为我有困难概念化它。它只是用来存储一个关系词的数据库。

正如标题所示,它是一个只涉及表的M2M:

  • tbl_elements (ID,element)
  • tblJ_elements (IDJ,J_elements1,J_elements2)
  • frm_elements )(基于tbl_elements -拆分表单左边,子表单在right)
  • frm_elements_subform上(基于tblJ_elements)

))

-

这就是我想要发生的事情,举个例子(使用frm_elements):

datasheet)

  • navigate

  • 导航到火山口(在左边的数据表列表中),

  • 将熔岩输入到右边的入口字段( elements2;elements1是隐藏的,并将默认值设置为在熔岩中选择的当前记录-参见火山列表

)。

-

当然,这是不工作的,因为当您导航到熔岩时,没有记录,因为在elements1 = lava中没有关联表记录。我需要基于元素2字段的拆分列表,但是这显然是同一个问题。

我不能像我想的那样把头绕在这上面

tbl_elements

  • select

  • 有一个分隔形式的数据表列表,列出每个记录的frm

  • ‘火山口’,并在右边的

  • 上看到子表单输入一个相关的单词,‘熔岩’

  • ,然后能够导航到数据表列表中的熔岩,并看到‘火山口’进入那里以及

我希望这是有意义的,我只是错过了一些显而易见的东西。我不想两次进入连接-去火山,添加熔岩-然后去熔岩和增加火山。

亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-28 17:50:13

我想说,您需要一个UNION查询作为子表单的记录源,以涵盖两个方向。

例如。

代码语言:javascript
复制
SELECT e.ID, e.element
FROM tbl_elements e INNER JOIN tblJ_elements j ON e.ID = j.J_elements1
WHERE j.J_elements2 = Forms!frm_elements!element_ID

UNION ALL

SELECT e.ID, e.element
FROM tbl_elements e INNER JOIN tblJ_elements j ON e.ID = j.J_elements2
WHERE j.J_elements1 = Forms!frm_elements!element_ID

ORDER BY element

frm_elements!element_ID是您在左侧选择的元素。

联合查询总是只读的,因此您的子表单将是只读的。您需要使用VBA处理右侧的添加和删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58145215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档