- 締切済み
Accessの更新前処理について。DoCmd.GoToRecordが動かないのはなぜ?
Accessの更新前処理について知っている方いらっしゃればお願い致します。 Accessでformを作り、ある項目Aに対して入力後に更新前処理(A_BeforeUpdate)のプロシジャーを実行させ、その中にDoCmd.GoToRecord acDataFormを記述したところ、指定したレコードに移動できません(実行時エラー2105)が出てしまします。 1日悩んで何気なしに更新後処理(A_AfterUpdate)に変えたらすんなりと動いてしまいました、A_Clickや他のアクションでも正常に動きます。 更新前処理が特殊なのだと思いますが、どうも納得が行かないのでご存知の方いらっしゃれば宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yoisho
- ベストアンサー率64% (331/516)
回答No.1
テーブル(やクエリー)と連結されたテキストボックスなどのコントロールの値が変更されていた場合、レコードの移動によって(元になるテーブルのレコードの)値の更新が行われます。 従って、更新前イベントでレコードの移動を行おうとすると、更新の前に更新を行うという矛盾が生じ、エラーが発生(結局移動ができない)します。
お礼
有り難う御座います。 なんとなく理解できたような気がします。