• ベストアンサー

accessの文法

access2000です。 フォーム更新後に フォーム上のテキスト34に、クエリ3のフィールド「年」を代入して表示させるとき こうでいいのでしょうか? Private Sub テキスト34_AfterUpdate() Me.テキスト34 = [クエリ3]![年] End Sub

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

クエリ3 がフォームのレコードソースに含まれているならそれでいいですが、 そうでないなら、DLookup関数で参照したください。 Private Sub テキスト34_AfterUpdate()   Me.テキスト34 = DLookup("年","クエリ3") End Sub タイミングがテキストボックスの入力確定後なら、現状のテキストボックスの AfterUpdate でOKです。 入力確定は、テキストボックスで入力した後、Enterキーを押すとか次のコントロールへ移動したときです。 「フォーム更新後」というのがレコード全体を入力し終わってレコード保存されたときという意味なら、 フォームの更新前処理がいいでしょう。 Private Sub Form_BeforeUpdate(Cancel As Integer)   Me.テキスト34 = DLookup("年","クエリ3") End Sub

yuukiyuuki
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

AfterUpdateは、データの移動後に発生します。そのタイミングでいいならあってます。 テキスト34に入力直後に表示の場合はChangeイベントなので Private Sub テキスト34_Change() となります。

yuukiyuuki
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう