我一直在自动化工作流程。 我使用Access数据库(2010),它的工作真的很棒。
对于我的问题,相关表格是:有序和例外 Inorder:此处的所有信息都包含在订单中,包括DeviceID和异常列 例外:所有异常都写在这里,我们需要在inorder表中使用DeviceID,Date和Exception(description)
当填充Inorder表时,更新查询会运行更新每个具有相关异常的Inorder.Exception列(工作完美,此处没有问题)。
我需要的是以下内容: 当用户在表中插入一行时,需要检查例外表,如果日期和例外表中的DeviceID存在异常,则必须填写Inorder.Exception列。
我搜索过的内容: 使用Datamacro,因为Access 2010中不存在触发器 MS Access trigger? http://msdn.microsoft.com/en-us/library/office/ff973807%28v=office.14%29.aspx Access, After Insert and the missing ID http://office.microsoft.com/en-us/access-help/video-create-a-data-macro-VA100305331.aspx 以及其他几个微软网站。
我尝试了多种设置,但它没有给我预期的结果。 我无法弄清楚如何从Exceptions表中获取相关数据到Inorder表。 我根本没有真正获得GUI ....有人可以帮助我吗?
答案 0 :(得分:0)
尝试将此信息放在Before Change
表格的Inorder
事件中。我有点猜测你的桌子结构,但是给它一个旋转。
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Event="BeforeChange">
<Statements>
<ConditionalBlock>
<If>
<Condition>DCount("ExceptionID","Exceptions","DeviceID =" & [Inorder].[DeviceID] & "Date =#" & [Inorder].[Date] & "#")>0</Condition>
<Statements><Action Name="SetField">
<Argument Name="Field">Inorder.Exception</Argument>
<Argument Name="Value">DLookUp("ExceptionID","Exceptions","DeviceID =" & [Inorder].[DeviceID] & "Date =#" & [Inorder].[Date] & "#")</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>