2009-07-01 11 views
0

親フォームにいくつかのコントロールがサブフォームと共にあります。ユーザーはサブフォームにデータを入力します。次に、サブフォームをクリックすると、そのデータを検証するコードがあります。しかし、無限の知恵のMSは、ユーザーが親フォームの代わりに(親フォームの代わりに)別のコントロールをクリックするまで、サブフォームを離れないようにしました。これはユーザーにとって非常に迷惑です。親フォームがクリックされたときにVBAサブフォームイベントにアクセスできない

基本的には、サブフォームのデータを検証してから、ユーザーが親フォーム自体をクリックしても、次のコントロールを続けることができます。これは可能ですか?

答えて

0

私はあなたがメインフォームにForm_Clickイベントをフックし、それを使って何かをしなければならないと思います。メインフォームのフィールドにフォーカスを設定すると、サブフォームが検証コードを持つイベントを発生させる可能性があります。

問題が解決しない場合は、このようなメインフォームののForm_Clickに手動でサブフォーム上の検証コードを発射:

Call Forms!MainForm!Subform.Form.Validate 

私のアクセスVBは少しさび、YMMVであるので、それはしばらくしています。

1

おそらく、使用したサブフォームコントロールの "OnExit"イベントでこれを行うことができます。

"OnExit"イベントは、通常、サブフォームのコントロールが親フォームのコントロールのフォーカスを失うと発生します。サブフォーム自体には存在しませんが、サブフォームを含むコントロールの唯一の2つのイベントの1つです。

希望に役立ちます。

関連する問題