大規模なリレーショナル Access 2010 データベースがあります。これは正規化されており、非常に遅いユニオン クエリが含まれています。したがって、キャッシュされたフィールドをいくつか作成することで、処理を高速化できると考えました。たとえば、tblOrder では CustomerName フィールドを作成します。このキャッシュされたフィールドを維持するために、tblCustomer から顧客の会社名を dLookup する変更前データ マクロを作成しました。それはうまくいきました。次に、ユーザーが会社名を変更すると、すべての子レコードが自動的に更新されるように、tblCustomer で After Update データ マクロを作成しました。これは機能しましたが、Before Change データ マクロが起動し、dLookup が古い会社名を返しました。どんな助けでも大歓迎です。
Northwing Database を使用して問題のサンプルを作成しました。http://www.thetechmentors.com/freestuff/exerciseFiles/msAccess/DlookupDatamacroProblem.zipからコピーをダウンロードできます。