【问题标题】:What's an alternative to triggers when using a Jet tables in an Access Database (mdb file)?在 Access 数据库(mdb 文件)中使用 Jet 表时,触发器的替代方法是什么?
【发布时间】:2015-05-23 06:35:29
【问题描述】:

我有这个项目需要用户通过指纹读取器ZK SF200 签入/签出。

我正在构建的系统需要获取添加到这台机器数据库中的新数据,不幸的是这是一个 MS Access mdb 文件。 在我有限的 MS Access 数据库经验中,我设法将此文件链接到我的 MySql 数据库表,这允许我从 MS Access 手动执行插入操作。 我现在要做的就是创建某种形式的触发器,当新行插入 MS Access 表时,它会将数据添加到我的 MySql 数据库中。

如果文件类型是 .accdb,这个问题本来可以解决,因为我们可以使用 After Insert 事件,但它是 mbd 类型,因此不支持。

有什么办法可以解决这个问题吗?

最后一点:如果 MySql 是这里的障碍,我愿意更改 DBMS。是否可以通过 mssql 2008 r2 创建链接服务器或进行 sql server 复制?

编辑:我需要将数据插入 MySql 表,因为我在那里实现了一个触发器,它对数据进行逻辑操作(例如:增加客户的访问次数,检查如果客户订阅已过期,并相应地更新客户状态)

谢谢。

【问题讨论】:

  • 为什么不在 Access 表单上使用 VBA 或宏将数据附加到链接的 MySQL 表?您很可能将 Access 用作前端,因此请使用其用户界面功能。表单配备了 AfterInsert、OnOpen、BeforeChange、按钮 OnClick 和许多其他控件/触发事件。

标签: mysql sql-server database ms-access triggers


【解决方案1】:

将 MS-Access 中的表链接到 ODBC 源可能是您的答案。 MS-Access 中的表将更像是源表上的视图。任何 DML 操作(INSERT、UPDATE、DELETE)都将立即与源数据库同步。您将不需要任何触发器,这在 MS-Access 中不可用(除非某些 VBA 专家知道解决方案)。

链接表技术默认可用于 SQL 服务器,但由于它使用 ODBC,我想你也可以将它与 MySQL 一起使用。

【讨论】:

  • 嗨 Martijn,感谢您提供有关 MySql 的信息,我会查找它。我确实需要补充一点,我必须将数据插入到我自己的表中,因为我已经准备好一个触发器,它将对数据进行一些逻辑修改,正如我的帖子中所更新的那样。
  • 如果是链接表,您可以在 MySQL 服务器的链接表中实现触发器。
  • Martijn 这是个好主意!感谢解决我问题的人。由于指纹读取器将数据插入到名为 checkinout 的特定表中。我所做的是我在 MySQL 中创建了一个具有相同名称和数据类型的表,然后我删除了 MS Access DB 中的原始表,并通过在 MS Access 中链接它,将其替换为我在 MySQL 中创建的表。
  • 现在我所要做的只是在 MySQL 端实现一个触发器,它将在插入时进行逻辑处理。这有点像欺骗系统,我很惊讶它真的起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 2016-09-22
相关资源
最近更新 更多