- ベストアンサー
accessの文法
access2000です。 フォーム更新後に フォーム上のテキスト34に、クエリ3のフィールド「年」を代入して表示させるとき こうでいいのでしょうか? Private Sub テキスト34_AfterUpdate() Me.テキスト34 = [クエリ3]![年] End Sub
- みんなの回答 (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
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
回答No.1
AfterUpdateは、データの移動後に発生します。そのタイミングでいいならあってます。 テキスト34に入力直後に表示の場合はChangeイベントなので Private Sub テキスト34_Change() となります。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。