更新 - setfocus vba



VBA:毎回コントロールするためにフォーカスを設定する必要があるのはなぜですか? (1)

代わりに.Valueを使用してください。フォーカスを最初に設定する必要はありません。 ドキュメントから、例えばTextBoxコントロール (emphasis mine)の場合:

コントロールにフォーカスがある間、Textプロパティには現在コントロール内のテキストデータが含まれています。 Valueプロパティには、コントロールの最後に保存されたデータが格納されます。 フォーカスを別のコントロールに移動すると、コントロールのデータが更新され、Valueプロパティがこの新しい値に設定されます。 コントロールがフォーカスを再び取得するまで、Textプロパティ設定は次に使用できません。

https://src-bin.com

私は、Access 2007データベースを使用して個人用のライブラリインベントリシステムを作成しています。 コードでは、フォームコントロールの.Textプロパティを参照するたびに、値を変更しているのか、単にIFステートメントの値をチェックするのかによって、 Run-time error '2185': You can't reference a property or method for a control unless the control has the focusされRun-time error '2185': You can't reference a property or method for a control unless the control has the focus

どうしてこれなの?

.Text設定するには.Textことではありませんが、IF文で値をチェックしているときに、複数の条件をチェックしているときにフォーカスを設定することはできません。





access-vba