6

すべてのフォームがモーダルである MS Access アプリケーションを構築しています。ただし、フォームのデータを変更した後、このフォームの親フォームを新しいデータで更新したいと考えています。それを行う方法はありますか。さらに詳しく説明するには:

フォーム A とフォーム B の 2 つのフォームがあるとします。どちらもモーダル フォームです。フォーム A からフォーム B を開始すると、フォーム B にユーザーの注意が向けられます。しかし、フォーム B の終了時にフォーム A を更新したいのですが、それを行う方法はありますか?

4

5 に答える 5

9

再描画および/または再クエリを実行できます:

フォーム B の終了イベント:

Forms!FormA.Requery

これはあなたが意味するものですか?

于 2008-10-17T14:10:45.843 に答える
7

いや、できればForm AのForm_Loadを実行したいようなものです。

-- ヴァルン・マハジャン

これを行う通常の方法は、関連するコードを、両方のフォームで呼び出すことができるプロシージャに入れることです。コードを標準モジュールに配置するのが最善ですが、フォーム a に配置することもできます。

フォーム B:

Sub RunFormALoad()
   Forms!FormA.ToDoOnLoad
End Sub

フォーム A:

Public Sub Form_Load()
    ToDoOnLoad
End Sub    

Sub ToDoOnLoad()
    txtText = "Hi"
End Sub
于 2008-10-17T14:51:41.597 に答える
1

REQUERYデータを変更した特定のコンボ ボックスを使用し、Cmd.Closeステートメントの後にそれを行うことをお勧めします。そうすれば、データを入力していた場合、そのデータも再クエリされます。

DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery

最近変更された値を指すこともできます

Dim id As Integer
id = Me.[Index_Field]
DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery
Forms![Form_Name]![Combo_Box_Name] = id

この例では、2 次テーブルにデータを入力するためにフォームを開いたと想定しています。

School_Index と School_Name を School テーブルに保存し、それを Student テーブル (School_Index フィールドのみを含む) で参照するとします。生徒を編集しているときに、School テーブルにない学校に生徒を関連付ける必要があります。

于 2013-03-22T13:03:26.223 に答える
1

「再クエリ」は実際に実行したいことですが、フォーム A の「On Got Focus」イベントで実行できます。Form_Load にコードがある場合は、おそらくそれを Form_Got_Focus に移動できます。

于 2008-10-17T14:55:03.463 に答える
-2

入力する必要があるフォームを更新する には、クリック時のボタンイベントでme.refresh

于 2016-09-06T13:54:27.193 に答える