hatena
hatena
2021/09/06 (月) 15:17:59
再送ファイルを見てみました。
「F_受注_メイン」フォームのことだと思いましたので、そのフォームを開いて試してみました。
開いた直後は、取引先コードは未入力なので、サブフォームは操作できません。
取引先コードにコードを手入力したら、サブフォームは操作できるようになりました。
コードを削除したら、サブフォームは操作できなくなります。
メインでレコード移動して、移動先が取引先コードが未入力ならサブフォームは操作できない、入力済みなら操作できます。
問題ない動作のようです。
ただし、取引先コードの横にコマンドボタンがあり、そこから別フォームを開いて、取引コードを選択して入力できるようになっていますが、それで入力した場合、サブフォームは操作できるようになりません。
このようにVBAでテキストボックスの値を更新した場合、更新後処理は発生しないためです。
下記のように別フォームを開いた後で、更新後処理を呼び出せば、別フォームで入力したときも正常に動作するようになります。
Private Sub コマンド_取引先検索_Click()
DoCmd.OpenForm "F_取引先マスタ_抽出_受注", , , , , acDialog
Call 取引先コード_AfterUpdate
End Sub
通報 ...
【解決】
hatena様
ありがとうございます!
おっしゃっている通りの動作が再現出来ました!
「VBAで値を更新した場合・・・」そうなのですね!?
大変勉強になりました。
今回も本当にありがとうございました!