0

まとめ:

名前付きデータ マクロを DSUM と共に使用して、親レコードの子レコードの合計を維持しようとしています。子レコードを編集すると、データ マクロは親レコードを変更しますが、結果は現在のレコードの古い値に基づいているようです。

詳細:

Microsoft の Northwind Database に似たデータベースがあります。コピーはhttp://www.thetechmentors.com/freestuff/exerciseFiles/msAccess/DlookupDatamacroProblem2.zipにあります。

tblOrder と tblOrderDetail があります。tblOrder には、tblOrderDetail の After Update データ マクロで呼び出される名前付きデータ マクロがあります。名前付きデータ マクロは、DSUM("Ext Price","tblOrderDetail", "Order ID" & @OrderID) を使用します。データ マクロは実行されますが、結果は子レコードの古い値に基づいているようです。

回避策を発見しました。DSUM を使用する代わりに、ローカル変数と「For Each Record In」ループを使用して正しい合計を計算しました。

私の回避策は機能しますが、DSUM アプローチが機能しなかった理由を知りたいです。あなたが提供できるどんな助けも大歓迎です。

4

0 に答える 0