【问题标题】:Many-to-Many Checkbox fields that work in both MySQL and MS Access适用于 MySQL 和 MS Access 的多对多复选框字段
【发布时间】:2012-09-17 10:37:07
【问题描述】:

我的任务是创建一个 MySQL 数据库,该数据库将由 MS Access 通过 ODBC 连接。 MySQL 数据库将存储使用大约 10 个复选框字段的值。我无法想象 MS Access 如何让我有效地与这些字段交互。

数据必须能够通过 Access 前端表单以及 Web 界面进行编辑(不必太担心 Web 界面部分)。

以下是一些我遇到问题的字段示例:

> bloom_month (Checkboxes to select 1-many months of the year)
> bloom_color (Checkboxes to select 0-many colors from a separate table)

如果我只做网络应用程序,我处理这个问题的方式是使用链接表(又名:关联表)来创建基本的多对多关系。这也是处理静态“bloom_month”字段的最佳方式吗,因为月份永远不会改变(即我将设置一个只有 id - 月份对的表)?

也就是说,我的想法可能有点偏离,因为 Access 似乎更喜欢一个平面结构,每个可能的复选框都有一个 0/​​-1 tinyint 字段。这种方法对我来说似乎是错误的,并且它也不允许从单独的表中动态添加/删除颜色(即,如果删除/添加了bloom_color,则必须更改表结构)。

此外,任何有关如何使用复选框作为选择器同时将数据存储在 MySQL 中的 MS Access 多对多关系的帮助或指示将不胜感激。虽然我的 google-fu 确实很弱,但我似乎在这个主题上找不到太多东西。

【问题讨论】:

  • 坚持良好的规范化做法。然后通过 UI 工作

标签: mysql ms-access checkbox many-to-many normalization


【解决方案1】:

在 Access 中建立 ODBC 连接后,您可以像在 Access 中创建的任何表一样使用 MySQL 表。然后,您可以构建一个 Access 查询,它将您的多对多关系解析为 Access 似乎喜欢的平面文件格式。在 Access 中,查询作为持久对象呈现给用户,因此您可以根据这些查询制作表单。

【讨论】:

  • 太棒了。这是我一直在寻找的答案。非常感谢你的协助。我想我现在可以完成这项工作。我没有想过使用 Access 查询来模拟平表结构。
  • 如果这是您需要的答案,请检查它旁边的绿色箭头(这有助于建立我们的两个代表)。
猜你喜欢
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 2021-05-20
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多