mysql - 将 MySQL 数据库链接到 MS Access 时如何包含关系?

标签 mysql ms-access odbc relationship

我有一个 MySQL 数据库,大约有 40 个表,其中大多数表之间都有关系。我正在尝试使用用于 CRUD 操作的表单在 MS Access 中构建前端。当我使用 ODBC 连接器将 MySQL 连接到 Access 时,它成功链接数据库并允许更新从 Access 反射(reflect)到 MySQL Workbench,反之亦然,但在 Access 的表关系 View 中,这些关系没有反射(reflect)。

由于我认为拥有此类关系是个好主意,因此我如何将这些关系包含在链接过程中?这样的事情可能吗?还是我必须在 Access 的关系管理器中手动重新添加这些关系?

最佳答案

这样的图表确实相当于漂亮的图画。当您放弃对数据库使用 Access 时,所有关系等内容现在都由实际的数据库系统管理。因此, Access 中的图表和关系设置不仅被忽略,而且实际上并不重要或改变 MySQL 的运行方式。

我的意思是,如果您有 3 个 Access 前端(应用程序)全部连接到同一个 MySQL 系统,会发生什么情况?您现在是否拥有 3 组不同的关系,并且它们的运作方式都不同?现在谁将成为老板并制定和执行这些规则?

因此,您所有的表设计、规则和关系都将由 MySQL 定义、创建和管理。这种设置中的 Access 只能消耗数据,但它的发言权为零,与 MySQL 或 Oracle、SQL Server 或任何使用 Access 消耗数据的系统的方式无关。

因为Access只是数据的消费者,所以它没有比你在亚马逊上浏览书籍时更多的相关性。您浏览书籍或使用此类系统中的数据这一事实并不意味着您现在要突然在亚马逊上强制执行关系和规则。

完全相同的概念也适用于 Access。当您采用不同的数据库时,Access 对表设计、关系以及特定品牌“x”数据库系统如何工作的任何其他内容的控制权为零。

因此,任何关系设置等都 100% 由服务器系统处理。此时 Access 只能使用数据,而在关系等方面没有发言权。事实上,Access 甚至不知道发送到 MySQL 或 Oracle 或任何系统的具体命令和如何构建和设置此类系统关系。

因此,Access 只能为 Access 设置关系。但是,您可以自由构建表单、报告,甚至构建新的查询。查询构建器允许您在多个表之间构建并建立关系,但是构建这样的查询永远不会改变或告诉实际的数据库系统它将如何处理关系,甚至也不会告诉实际的数据库系统如何设置它们。

因此,Access 作为此类系统的客户端将 100% 尊重此类数据库中的关系设置,并且通过尝试在 Access 中设置关系窗口,您获得的 yield 为零。你确实得到了一张漂亮的照片,但仅此而已。因此,请使用给定数据库附带的工具和图表工具 - Access 在这件事上根本没有发言权。

关于mysql - 将 MySQL 数据库链接到 MS Access 时如何包含关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808456/

相关文章:

带有 MS SQL 的 Python - 截断的输出

mysql - 在单个 SQL 语句中插入多个非 "pre-known"的值

java - 奇怪的 SQL 浪费我的资源

php 查询没有检索到任何数据?

ms-access - 如何在 Microsoft Access Reports 中动态获取超链接?

vba - 如何仅在复选框上触发 BeforeUpdate 事件?

sql - Access VBA SQL 字符串太长

php - 如何从 PDO 对象获取连接资源?

mysql - 在 MySQL 中为子行选择父行单元格值

mysql - 我想在我的员工页面上显示 'hidden ranks'