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”表中创建行
谢谢