少し手直しをして。
挿入先テーブルの全レコードをID降順で選択しているが、レコードの参照(LookUpRecord)で複数レコードが対象となるがカレントレコードは先頭なのでMax(ID)言い換えると、挿入時点で最新レコードを参照できる。
クエリ:SELECT * FROM t3 WHERE ID=(SELECT Max([ID]) FROM t3);を参照がいいんじゃないかと。
<?xml version="1.0" encoding="utf-8"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Event="BeforeChange">
<Statements>
<ConditionalBlock>
<If>
<Condition>[IsInsert]</Condition>
<Statements>
<LookUpRecord>
<Data Alias="t3_0">
<Query>
<References>
<Reference Source="t3" />
</References>
<Results>
<Property Source="t3" Name="f_sum" />
</Results>
<Ordering>
<Order Direction="Descending" Source="t3" Name="ID" />
</Ordering>
</Query>
</Data>
<Statements>
<Action Name="SetField">
<Argument Name="Field">t3.f_sum</Argument>
<Argument Name="Value">[t3_0].[f_sum]+[t3].[f_num]</Argument>
</Action>
</Statements>
</LookUpRecord>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>
0 件のコメント:
コメントを投稿