
あるデータ入力アプリを作っています。
親フォーム(Form0)で番号を決め、子フォーム(Form1,Form2,Form3,Form4) でデータ入力し、それぞれの子フォームを出るとき(Unload Me) に、変数にsaveしています。それを親フォーム(Form0)で登録を選択したとき、入力データをチェックしてDBに格納しています。
すでにDB格納済のデータの場合、親フォームでDBから変数に読み込み、子フォームのForm_Loadで展開しています。
そこで困っているのは、親と子のフォームを行き来するときにデータの表示で前のが残っていたり、消えてしまったりします。
Form_LoadとForm_Activateを通過するタイミングが、ちゃんと理解できていないためコードの記述位置が不適切なのだと思います。
Form_Load と Form_Activate の実行タイミングについて、お教えください。
No.2ベストアンサー
- 回答日時:
Form_Loadは、フォームがロードされたときです。
ロードされる条件は、
1.フォームがスタートアップに指定されているとき、アプリが実行された直後。
2.Show メソッドが呼ばれたとき
3.Loadメソッドが呼ばれたとき
4.フォームに貼り付けられたコントロールのプロパティが参照されたとき
5.フォームに貼り付けられたコントロールのメソッドが呼ばれたとき
です。
ただし、一度ロードされると、Unloadされるまで呼ばれません。
Form_Activateは、フォームがアクティブになったとき、つまり、キャプション(ウィンドウのタイトルバー)の色が変わったときです。
ありがとうございます。お礼が遅くなりました。
taka_tetsu さんのご回答を、見逃していて今日拝見しました。
でも、ご説明が明快で、はっきり分かりました。
いろいろやってみて、なんとなくしか分かりませんでしたので。
これで、すっきりプログラミングができます。
No.1
- 回答日時:
Debug.Printを埋め込んで実行してみましょう
Private Sub Form_Load()
Debug.Print Time, Me.Name, "Form_Load"
End Sub
Private Sub Form_Activate()
Debug.Print Time, Me.Name, "Form_Activate"
End Sub
この回答への補足
早速お答えいただき、ありがとうございます。
Debug を使いながら、大体の動きのタイミングは分かっています。
しかし、Form_Load と Form_Activate の定義として、どういう動きをするように設計されているのか知りたいと思うのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
DoEventsがやはり分からない
Visual Basic(VBA)
-
frxファイルの役目
Visual Basic(VBA)
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
6
アクセスVBAのMe!と[ ]
Access(アクセス)
-
7
VBの「As String * 128」とは?
Visual Basic(VBA)
-
8
VBの画面サイズについて
Visual Basic(VBA)
-
9
Access サブフォームでの選択行の取得
その他(データベース)
-
10
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
11
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
12
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
13
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
14
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
15
メモリ不足
Visual Basic(VBA)
-
16
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
17
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
18
VB6 配列を初期化したい
Visual Basic(VBA)
-
19
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
20
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
Form_Load と Form_Activate の...
-
5
モーダルフォームとモードレス...
-
6
ユーザーフォームのコピー?
-
7
現在開いている全てのフォーム...
-
8
VBAでユーザーフォームを再表示...
-
9
ユーザーフォームのテキストボ...
-
10
Access VBA コントロールの参照...
-
11
C#で3つのプログラムができま...
-
12
Accessで、一つのフォーム画面...
-
13
VBA(エクセル)のユーザー...
-
14
Hideについて(.NET)
-
15
MSGBOXのフォント大きさ変更
-
16
フォームウィンドウを最前面に...
-
17
Vba Userformを前面に出すについて
-
18
ブックをCloseまたはQuitで閉じ...
-
19
ExcelVBAのユーザーフォームの...
-
20
アクセス2013 フォームが...
おすすめ情報
公式facebook
公式twitter