3

常に開いているメインメニューとしてナビゲーションフォームを利用して、クライアント情報を追跡するプログラムを開発しています。サブフォームの多くには、データの入力/変更時に再クエリする必要のあるリストボックスがあります。または、ユーザーはレコードセットを変更していないと考える傾向があり、データが重複することになります。更新を実行する前に、ナビゲーションフォームの特定のサブフォームが開いているかどうかを確認する方法がわかりません...それらはすべて「NavigationSubform」として参照されています。したがって、たとえば、クライアントに新しいジョブプレースメントを追加する場合は、「onclose」イベントでこのリストボックスの再クエリを実行して、クライアントが最新の情報を持っていることを確認します。私はそれを行うことができます...Forms!navMain!NavigationSubform.Form.lstEmployment.Requery ...しかし、ユーザーがフォームを閉じる前にナビゲーションフォームのペインを変更すると、爆弾が発生します。これはよく起こります:たとえば、あなたが仕事の配置情報を入力しているときにクライアントが割り込んで、あなたが停止してカウンセリングノートを入力してから戻って、メインメニューを「臨床」ディレクトリに置いたままにします。特定のサブフォームがNavigationSubformオブジェクト内にロードされているかどうかを確認する方法はありますか?これが理にかなっている場合に備えて、スクリーンショットを添付しました。

提案をよろしくお願いします!!

雇用画面

4

2 に答える 2

1

しばらく経ちましたが、isLoadedメソッドを使用して、サブフォームがロードされているかどうかを判断できると思います

http://msdn.microsoft.com/en-us/library/office/ff194656.aspx

これがお役に立てば幸い、ブレント

于 2013-01-08T14:52:25.567 に答える
0

次のように、ソースオブジェクトプロパティを使用してサブフォームコントロールの内容を確認できます。

forms!mainform.asubformcontrol.sourceobject

フォームオブジェクトからフォームの名前を取得することもできます。

forms!mainform.asubformcontrol.form.name
于 2013-01-08T14:54:49.887 に答える