问题标签 [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.
ms-access - 在新创建的记录中插入修改字段后访问 2016 表宏
使用自定义表单,操作员在新创建的记录上更新字段。创建新记录时,该新创建记录中的字段将根据另一个字段中的值进行更新。
例如,字段 CustID 基于主键“PK”进行更新,如下所示:CustID="NW"&Format([PK],"000000")
.
我可以使用更新查询执行此更新,但是,我希望此更新在创建新记录后立即自动发生。
我知道我可以编写 VBA 代码,但我不想这样做。我应该能够在插入后使用事件驱动的表宏来做到这一点。出于某种原因,我无法让它工作,现在在有人问宏在信任中心启用之前。如果我可以让它工作,我还有其他字段将根据操作员输入的值进行更新。
我已将表宏设置如下:
我觉得这应该可行,但没有任何反应。我大胆假设编辑记录编辑新创建的记录,这是正确的。我找不到有关如何成功使用 After Insert 修改新创建记录中的字段的任何信息和/或示例。
问题1:可以这样做吗?
2:如果是这样,怎么办?
ms-access - MS-ACCESS - 在插入之前/之后插入/更新触发器需要
我有一个包含PercentOwnership字段的PropertyOwnership表。请注意,任何财产都可以有多个所有者,因此我们需要每个所有者的所有权百分比。
在向 PropertyOwnership 表中添加记录时,我想插入一个触发器,以确保添加正确的百分比值,即当我们添加属性的所有百分比所有权时,它不应大于 100。
我尝试为插入/更新触发器后创建一个事件驱动的数据宏,如下所示:
宏名称:InvalidOwnership
我在 After insert and update 触发器(表事件宏)中使用了上述数据宏,但它似乎不起作用。
请协助 :)
ms-access - 在 Access 中创建自定义 ID
当记录附加到该表中时,我想在 Access 2013 表(表名称 =poledata)中创建格式为“SACYear-Sequential Number”的自定义 ID。
例如。SAC18-1(18 表示 2018)
我研究并找到了如下代码。按照建议,我必须在表中添加 2 个新字段,alternate_id_seq 和alternate_id。但是,以下行会显示错误。
表达式 = "SAC" & Year(Date()) Mod 100 & "-"
查找记录
他们怎么了?
ms-access - 访问数据宏从查询中获取值(自动编号)
我决定生成自己的号码,而不是在 Access 中使用自动号码(有时会产生重复)。
我正在使用数据宏Before Change
,但我不确定如何运行查询SELECT MAX(ID)+1 FROM MyTable
并将其插入到每个Insert
.
我已经搞砸了 SetField、SetLocalVar、LookUpRecord 操作,但到目前为止还没有运气。
编辑:我已经尝试在表达式中使用 DMAX,例如:https ://www.599cd.com/tips/access/incrementing-your-own-counter/ 。这在我手动添加一行时有效。但是,我从 Excel VBA 添加行,此时此方法停止工作,产生错误,the function is not valid for expressions used in data macros
sql - MS Access 中的数据宏不适用于来自 JAVA 的 SQL 查询
我用 JavaFX 创建了一个数据库(MS Access)和一个前端。
在一个表中,我实现了一个数据宏,它在不同的列(CurrentUser()-Function)中触发 INSERT 事件。我以不同的方式测试了数据宏(直接在 MS Access 中创建了一行,使用 SQL-Insert-Query 创建了一个 VBA 代码),并且任何时候我的触发器都可以工作。
我的 Java 前端也做得很好(SQL INSERT 到 MS Access)。但问题是:数据宏不能以这种方式工作。
我想,MS Access 的后端更新与数据宏之间存在相关性,因为每当我使用 JavaFX-Frontend 执行 SQL-Insert-Command 时,MS Access 都没有向我显示表中的新行(刷新表格无法解决此问题)。我需要先关闭 MS Access 才能看到我的新表格插入(当然没有触发器插入 :-))。
有没有可能解决这个问题?
我将不胜感激任何帮助!谢谢
ms-access-2010 - MS Access,如何检测触发器宏中的新插入与更新?
MS Office 265 专业增强版,访问 2007 - 2016
在表上定义“更新前”宏(?)时,我希望能够检测到这是对现有记录的更新还是插入新记录。
我知道并在其他情况下使用了“旧”上下文标记/前缀。在这种情况下,如果这是插入,我猜“旧”将不存在或未定义。有没有办法检测到呢?还有其他方法吗?
谢谢你的帮助。
ms-access-2007 - 拆分数据库后找不到Datamacro
我有一个 access 2007 数据库,表中有数据宏。拆分数据库后,因为我希望多个用户在其中工作,所以找不到他们。我该如何解决?
ms-access - 在 AfterInsert DataMaco 中使用 VBA 调用时引用刚刚添加的记录
Access 2016,带有 AfterInsert 数据宏的表。
Albert D. Kallal (user:10527) 在对我找不到的上一个问题的评论中指出,如果使用 Set LocalVar 方法在 vba 中调用用户定义的函数,则该 vba“会话”看不到新插入的记录。
即使传入新添加记录的标识,任何引用刚刚添加记录的表的查询都不会看到新插入的记录。
有没有人开发了一种解决方法,例如在构建一个闭包表时,新添加的记录是可见的或可以使用的?
这与 Alberta Kallal 很好地共享了使用“更新后”方法复制现有记录的解决方案的问题非常相似,以解决无法在 for each 循环中创建记录的问题。但是,在这种情况下,我想使用查询结果作为复制/插入的基础,而不仅仅是复制现有行或“硬编码”业务逻辑以修改数据宏(因此很容易如果 vba 方法可以看到刚刚添加的行,请执行此操作)。
具体用例是尝试创建一种在会计应用程序中插入“诱导”记录的方法。一个人赚了一些没有扣除税款的钱,所以很高兴创建一个自动日记帐分录,显示未来有义务缴纳税款。换句话说,表中记录的存在应该自动生成附加记录——这些附加记录的业务逻辑是通过查询定义的。
更具体地说,给定一个包含字段 RegisterID、AccountID、Amount、TrDate 的“事务”表和一个“诱导事务查询”表,该表指定查询以提供具有字段 AutoNumberId、QueryThatDefinesAdditionalTransactions 的诱导事务(以及多行,例如“查询增加自我”,“增加税收责任的查询”,“计算销售税部分的查询”),
数据宏如何基于迭代“Induced Transaction Queries”表并将查询结果插入应用于原始“事务表”中新添加行的每一行中的“Transactions For Analysis”表中创建行
谢谢
excel - 访问数据库中的Excel函数
如何在access db中使用excel函数?我们有一个保单号码 我想知道保单号码是否重复返回 0 否则 1
在 excel 中:=IF(A2=A1),1,0
如何在访问中编写此公式?
请感谢您的帮助。
谢谢。
vba - “更新后”数据宏运行 VBA,但该 VBA 中的 SQL SELECT 返回更新前行
我通过 SetLocalVar 从“更新后”数据宏运行 VBA 函数。此 VBA 函数查询刚刚更新的行(使用表名和唯一 ID 进行选择)。但是,我得到的行是更新前的行。
所以就好像我的函数在更新之前运行,即使它是一个“更新后”数据宏。
为什么在我的 VBA 函数选择它时该行没有更新?
这是我的查询: