问题标签 [ms-access-data-macro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4704 浏览

ms-access - 使用 MS Access 触发器和/或查询来插入或更新记录

我有一个将记录插入 MS Access 数据库(.accdb 文件扩展名,而不是 SQL 数据库的前端)的第 3 方软件(Pro-face Pro-Server EX)。在 Pro-Server EX 软件端配置该过程的方式是,它仅将数据作为插入发送到数据库(无法将其配置为搜索现有记录以执行更新)。我们有一个客户,他的数据库包含预先存在的数据(带有作为主键的 ID 字段),他想要做的就是根据 ID 更新现有记录。我知道一种在 SQL 中执行此操作的方法,我将在其中配置类似于以下内容的触发器:

但是,我对 MS Access 查询和/或触发器没有太多经验。当我尝试将此代码复制到 MS Access 查询的 SQL 视图中时,我遇到了几个错误,因此这似乎不是 MS Access 的真正选择。

我从未使用过 MS Access 中可用的触发器,但似乎可以使用的最接近的触发器是“更改前”,它被描述为“创建在保存记录之前运行以验证更改的逻辑,并且然后决定允许新值、更改值或显示错误以停止更改。使用 [IsInsert] 属性确定事件是插入还是更新。” 这个描述告诉我这个触发器只会在数据已经写入数据库时​​触发,但不会被保存,所以它真的不能用来确定是否已经存在匹配的 ID 来执行更新,如果不存在,然后执行插入。我是否正确解释了这一点?

有没有办法做我在 MS Access 中寻找的东西?

0 投票
1 回答
251 浏览

ms-access - 访问数据宏功能“更新”失败并出现组合框

运行 Microsoft Office 365、Windows 7 企业版。

在数据表视图中使用测试表时,数据宏不会检测到“状态”字段何时更改。只要“允许多个值”属性设置为 NO,数据宏就可以正常工作。但是,当“允许多个值”属性设置为“是”时,“更新”功能不会检测到字段值更改。

我尝试了以下技术,但它也没有检测到具有多个值的“状态”字段的变化。

任何帮助,将不胜感激。

在此处输入图像描述

0 投票
2 回答
582 浏览

database - 从 Access 事件驱动数据宏调用 C# 代码?

是否可以从 MS Access 数据库文件(不是 Access 应用程序)以某种方式调用 C# 代码?

我的场景是当某个表中发生某些事情时,我必须调用 C# 代码(例如 Web 服务)。

我读到 MS Access 不支持触​​发器,但它有过程或称为数据宏的东西。

我还不知道 Access 版本。

0 投票
0 回答
94 浏览

ms-access - 访问 Web 应用程序 - 基于另一个字段填充字段的宏

我正在使用 Access 2016 构建我的第一个 Access Web 应用程序。我正在寻找有关如何根据在另一个字段中选择的值填充两个字段的指导。这就是我所拥有的。源数据为:

参考这个数据是:

我希望 [GC Insurance].[ProducerPhone] 和 [GC Insurance].[ProducerEmail] 中的值根据 [GC Insurance].[Producers] 中选择的值自动填充。

任何帮助都将不胜感激!

谢谢,

斯泰西

0 投票
1 回答
2465 浏览

ms-access - 插入数据宏未运行后

我有一个定义tblEmpAfter Insert数据宏的表。但是,该事件不起作用。我在这里想念什么?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
282 浏览

ms-access - Ms Access 数据宏返回记录集

Data Macro在插入事件后使用我的一个 Access 表。在这个数据宏中,我SetLocalVar用来调用我用 vba 编写的函数之一,将相同的插入记录集插入到我的 SQL 数据库中。这就是ExpressioninSetLocalVar当前的样子;

现在,不是将每一列作为单独的变量返回,我不能返回记录集或集合或数组等吗?

基本上我正在寻找这样的东西(用 C# 语言编写);

或者任何看起来像的表达方式;

0 投票
1 回答
765 浏览

c# - Ms Access 数据宏调用 VBA 函数开箱即用

我正在Data Macro为我的访问表After Insert事件之一使用 a。在这个数据宏中,我SetLocalVar用来调用我用 vba 编写的函数之一,将相同的插入记录集插入到我的 SQL 数据库中。

当我在 Access 中输入数据时它可以工作,但是如果我从我的一个基于 C# 的应用程序中插入一条记录,则插入后的事件不会调用我的 Access 函数,因为我没有打开我的 Access 应用程序的实例。

可能有一种方法,After Insert即使记录是从 Access 外部插入的,这个事件也能以某种方式触发我的 vba 函数?

0 投票
2 回答
1201 浏览

ms-access - 如何使用 .AfterUpdate 数据宏更新同一个表中的多条记录,而不会出现“数据宏资源限制被命中”错误。

我有一个包含库存项目列表的表 tblItems。该表有许多列来描述这些项目,包括 SupplierName、SupplierOrderNumber 和 PredictedArrivalDate 列。

如果我从供应商处订购了几件新商品,我将在表格中分别记录每件商品,并使用相同的供应商名称、订单号和预计到达日期。

我想添加一个数据宏,这样如果我更新一条记录的 PredictedArrivalDate,该值将被复制到具有相同供应商名称和供应商订单编号的其他记录/项目的 PredictedArrivalDate 列。

我得到的最接近的是:

但是,当我运行这个时,只有 5 条记录更新,并且错误日志报告错误 -20341:

“达到数据宏资源限制。这可能是由递归调用自身的数据宏引起的。Updated() 函数可用于检测记录中的哪个字段已更新,以帮助防止递归调用。”

我怎样才能得到这个工作?

0 投票
1 回答
45 浏览

ms-access - 我的审计跟踪不起作用

我在启动审计跟踪时遇到问题。如果我更改 tbl_MBRSummary 上的“项目编号”,则应在 tbl_AuditChanges_Tables 上进行记录。这没有发生,我不知道为什么。我按照ScottGem的指示前往 T ......这个设置有问题吗?

当前DataMacro的截图

0 投票
1 回答
1108 浏览

ms-access - MS Access AfterInsert 宏更新记录

我对 MS Access 的了解非常有限,但我正在尝试创建一个 AfterInsert 事件。

这是表 (myTable) 上下文——该表将是不同部门的目标列表,并且有一个 Active 列。这将允许部门通过创建新记录来更改其#1 目标,将其设置为目标 = 1,然后将目标 = 1 的旧记录更新为活动 = 假。我们想要目标和优先级(目标编号)的运行历史。

现在,我想添加一条新记录,因为我们更改了目标一。

添加这条新记录后应该做的是设置旧目标1 Active = False。

我一直在尝试调整这种 AfterInsert 格式

这是我的改编:

这是否有意义/这是在做我希望的事情吗?